]> code.delx.au - gnu-emacs/commitdiff
Merge branch 'emacs-24'.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 29 Nov 2014 06:55:31 +0000 (22:55 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 29 Nov 2014 07:07:16 +0000 (23:07 -0800)
38 files changed:
1  2 
.gitignore
ChangeLog
admin/ChangeLog
admin/notes/copyright
admin/notes/repo
autogen.sh
doc/emacs/ChangeLog
doc/emacs/maintaining.texi
doc/lispref/ChangeLog
etc/ChangeLog
etc/PROBLEMS
lisp/ChangeLog
lisp/ChangeLog.12
lisp/ChangeLog.14
lisp/ChangeLog.15
lisp/ChangeLog.16
lisp/ChangeLog.7
lisp/calendar/diary-lib.el
lisp/erc/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/ChangeLog.2
lisp/gnus/auth-source.el
lisp/mh-e/ChangeLog
lisp/net/tramp-sh.el
lisp/org/ChangeLog
lisp/progmodes/python.el
lisp/vc/vc-bzr.el
lisp/vc/vc-git.el
lisp/vc/vc-hg.el
lisp/vc/vc.el
nt/ChangeLog
src/ChangeLog
src/Makefile.in
src/keyboard.c
src/w32fns.c
src/xdisp.c
test/ChangeLog
test/automated/python-tests.el

diff --combined .gitignore
index b5eda4364be73eea47a38f82c12369623ba75617,989bbb021228bd51395d12ad6679fe3f14637b00..8e8a032ef5fc917a59b62189a83a6c2374b9dd9a
@@@ -1,48 -1,52 +1,52 @@@
- **/Makefile
- **/makefile
- configure
- aclocal.m4
- compile
- config.guess
- config.sub
- depcomp
- install-sh
- missing
+ # Files that Git should ignore in the Emacs source directory.
+ # Copyright 2009-2014 Free Software Foundation, Inc.
+ # This file is part of GNU Emacs.
+ # GNU Emacs is free software: you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation, either version 3 of the License, or
+ # (at your option) any later version.
+ # GNU Emacs is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ # You should have received a copy of the GNU General Public License
+ # along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+ # Built by 'autogen.sh'.
+ /aclocal.m4
+ /configure
+ build-aux/compile
+ build-aux/config.guess
+ build-aux/config.sub
+ build-aux/depcomp
+ build-aux/install-sh
+ build-aux/missing
  lib/Makefile.in
  src/config.in
- autom4te.cache
- TAGS
- *~
- .#*
- /README.W32
  
- /bin/
- /site-lisp/
- /leim/ja-dic/
- etc/refcards/*.aux
- etc/refcards/*.log
- info/dir
- info/*.info
- test/biditest.txt
+ # Built by 'configure'.
+ Info.plist
+ InfoPlist.strings
+ Makefile
+ !admin/charsets/Makefile
+ !etc/refcards/Makefile
+ !test/automated/flymake/warnpred/Makefile
+ !test/indent/Makefile
+ makefile
+ /*.cache
+ /confdefs.h
+ /config.status
+ /configure.lineno
+ src/config.h
+ src/epaths.h
  
- config.log
- config.status
- config.cache
- lib-src/blessmail
- lib-src/ctags
- lib-src/ebrowse
- lib-src/emacsclient
- lib-src/etags
- lib-src/hexl
- lib-src/make-docfile
- lib-src/movemail
- lib-src/profile
- lib-src/test-distrib
- lib-src/update-game-score
- *.o
- *.exe
- *.res
+ # C-level sources built by 'make'.
  lib/alloca.h
  lib/arg-nonnull.h
  lib/byteswap.h
@@@ -55,66 -59,199 +59,202 @@@ lib/getopt.
  lib/inttypes.h
  lib/libgnu.a
  lib/signal.h
+ lib/stdalign.h
+ lib/stdint.h
  lib/stdio.h
  lib/stdlib.h
- lib/stdalign.h
  lib/string.h
  lib/sys/
  lib/time.h
  lib/unistd.h
  lib/warn-on-use.h
 -# Created by MS-DOS builds
 -src/_gdbinit
+ src/buildobj.h
+ src/globals.h
+ # Lisp-level sources built by 'make'.
+ leim/changed.misc
+ leim/changed.tit
+ lisp/**/*cus-load.el
+ lisp/**/*loaddefs.el
+ lisp/cedet/semantic/bovine/c-by.el
+ lisp/cedet/semantic/bovine/make-by.el
+ lisp/cedet/semantic/bovine/scm-by.el
+ lisp/cedet/semantic/wisent/javat-wy.el
+ lisp/cedet/semantic/wisent/js-wy.el
+ lisp/cedet/semantic/wisent/python-wy.el
+ lisp/cedet/srecode/srt-wy.el
+ lisp/eshell/esh-groups.el
+ lisp/finder-inf.el
+ lisp/leim/ja-dic/
+ lisp/leim/leim-list.el
+ lisp/leim/quail/4Corner.el
+ lisp/leim/quail/ARRAY30.el
+ lisp/leim/quail/CCDOSPY.el
+ lisp/leim/quail/CTLau.el
+ lisp/leim/quail/CTLau-b5.el
+ lisp/leim/quail/ECDICT.el
+ lisp/leim/quail/ETZY.el
+ lisp/leim/quail/PY-b5.el
+ lisp/leim/quail/PY.el
+ lisp/leim/quail/Punct.el
+ lisp/leim/quail/Punct-b5.el
+ lisp/leim/quail/QJ.el
+ lisp/leim/quail/QJ-b5.el
+ lisp/leim/quail/SW.el
+ lisp/leim/quail/TONEPY.el
+ lisp/leim/quail/ZIRANMA.el
+ lisp/leim/quail/ZOZY.el
+ lisp/leim/quail/quick-b5.el
+ lisp/leim/quail/quick-cns.el
+ lisp/leim/quail/tsang-b5.el
+ lisp/leim/quail/tsang-cns.el
+ lisp/subdirs.el
+ # Dependencies.
+ .deps/
+ deps/
+ # Logs and temporaries.
+ *.log
+ *.tmp
+ # Time stamps.
+ stamp_BLD
+ src/gl-stamp
+ src/stamp-h.in
+ src/stamp-h1
+ # Object files and debugging.
+ *.a
+ *.dSYM/
+ *.core
+ *.elc
+ *.o
+ *.res
+ [0-9]*.core
+ core
+ core.*[0-9]
+ oo/
+ oo-spd/
+ src/*.map
+ # Tests.
+ test/indent/*.new
+ # ctags, etags.
+ TAGS
+ # GNU global.
+ GPATH
+ GSYMS
+ GRTAGS
+ GTAGS
+ # GNU idutils.
+ ID
+ # Executables.
+ *.exe
+ a.out
+ lib-src/blessmail
+ lib-src/ctags
+ lib-src/ebrowse
+ lib-src/emacsclient
+ lib-src/etags
+ lib-src/hexl
+ lib-src/make-docfile
+ lib-src/movemail
+ lib-src/profile
+ lib-src/test-distrib
+ lib-src/update-game-score
+ nextstep/Cocoa/Emacs.base/Contents/Info.plist
+ nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj
+ nextstep/Emacs.app/
+ nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
+ nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
  src/bootstrap-emacs
- src/deps/
  src/emacs
  src/emacs-[0-9]*
- src/gl-stamp
- src/globals.h
- src/stamp-h1
  src/temacs
- src/temacs.map
- src/temacs.tmp
- doc/*/*.aux
- doc/*/*.cm
- doc/*/*.cms
- doc/*/*.cp
- doc/*/*.cps
- doc/*/*.dvi
- doc/*/*.fn
- doc/*/*.fns
- doc/*/*.html
- doc/*/*.ky
- doc/*/*.kys
- doc/*/*.log
- doc/*/*.op
- doc/*/*.ops
- doc/*/*.pdf
- doc/*/*.pg
- doc/*/*.pgs
- doc/*/*.pj
- doc/*/*.pjs
- doc/*/*.ps
- doc/*/*.sc
- doc/*/*.scs
- doc/*/*.tg
- doc/*/*.tgs
- doc/*/*.tmp
- doc/*/*.toc
- doc/*/*.tp
- doc/*/*.tps
- doc/*/*.vr
- doc/*/*.vrs
- doc/*/texput.log
- doc/misc/cc-mode.ss
- lib/.deps/
- lisp/international/uni-brackets.el
- lwlib/deps/
- lwlib/liblw.a
- leim/changed.misc
- leim/changed.tit
- nt/emacs.rc
- nt/emacsclient.rc
  
- # Auto-generated from the corresponding *.in file.
+ # Character-set info.
+ admin/charsets/*.el
+ admin/charsets/*.map
+ admin/charsets/jisx2131-filter
+ admin/unidata/unidata.txt
+ lisp/international/charprop.el
+ lisp/international/uni-*.el
+ # Documentation.
+ *.aux
+ *.cm
+ *.cms
+ *.cp
+ *.cps
+ *.dvi
+ *.fn
+ *.fns
+ *.html
+ *.info
+ *.ky
+ *.kys
+ *.op
+ *.ops
+ *.pdf
+ !doc/lispintro/cons-*.pdf
+ !doc/lispintro/drawers.pdf
+ !doc/lispintro/lambda-*.pdf
+ !etc/refcards/gnus-logo.pdf
+ *.pg
+ *.pgs
+ *.pj
+ *.pjs
+ *.ps
+ *.sc
+ *.scs
+ *.tg
+ *.tgs
+ *.toc
+ *.tp
+ *.tps
+ *.vr
+ *.vrs
 +doc/emacs/emacsver.texi
 +doc/man/emacs.1
+ doc/misc/cc-mode.ss
+ etc/DOC
 +etc/refcards/emacsver.tex
+ info/dir
+ # Version control and locks.
+ *.orig
+ *.rej
+ *~
+ .#*
+ [0-9]*.patch
+ # Built by 'make install'.
+ etc/emacs.tmpdesktop
+ # Distribution directories.
+ /emacs-[1-9]*/
+ # Microsoft-related builds and installations.
+ *.in-h
+ _*
+ !build-aux/snippet/_Noreturn.h
+ /bin/
+ /BIN/
+ /data/
+ etc/icons/
+ lib/cxxdefs.h
+ lib/SYS/
+ /libexec/
+ /lock/
+ /README.W32
+ /share/
+ /site-lisp/
++nt/emacs.rc
++nt/emacsclient.rc
+ src/gdb.ini
+ /var/
diff --combined ChangeLog
index 9eae9e0a51173cb2046fbdbbbd4f5b9f89565ebc,dba1ff35f06d5176d2d19337a187de9f20e09824..4ab7aac4becc6af0247bea74e523a7d01c9d94f5
+++ b/ChangeLog
@@@ -1,11 -1,70 +1,78 @@@
 -2014-11-21  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Add more of the old .bzrignore to .gitignore.
+       Plus a few more .gitignore improvements.
+       * .gitignore: Add copyright notice, since it's big enough.
+       Put exceptions immediately after the patterns they're exceptions
+       to, to make them easier to follow.
+       Give four exceptions for the Makefile pattern.
+       Ignore /confdefs.h, test/indent/*.new, TAGS, GPATH, GSYMS, GRTAGS,
+       GTAGS, ID, *.exe, some nextstep-related files,
+       jisx2131-filter, *.orig, *.rej, etc/emacs.tmpdesktop, *.in-h
+       _* (except for build-aux/snippet/_Noreturn.h), /bin/, /BIN/,
+       /data/, etc/icons/, lib/cxxdefs.h, lib/SYS/, /libexec/, /lock/,
+       /README.W32, /share/, /site-lisp/, src/gdb.ini, /var/.
+       Ignore /configure.lineno, since POSIX requires
+       LINENO only with the User Portability Utilities option.
+       Ignore *cust-load.el and *loaddefs.el only under lisp.
+       Ignore core files of various flavors.
+       Do not ignore etc/refcards/gnus-logo.pdf.
 -2014-11-21  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * .gitignore: Add back src/_gdbinit, which is a temporary file
+       created by the MS-DOS build.
 -2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Add a.out to .gitignore.
+       Suggested by Lee Duhem in:
+       http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg01665.html
+       * .gitignore: Add a.out.
+       Move *.log next to *.tmp, since it's generic.
+       Put *.exe before non-generics.
 -2014-11-19  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * .gitignore: Resurrect Windows-specific ignorables lost in last
+       changes.
 -2014-11-19  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       * .gitignore: Add /emacs-[1-9]*/, and sort better.
 -2014-11-18  Ivan Andrus  <darthandrus@gmail.com>
++2014-11-29  Ivan Andrus  <darthandrus@gmail.com>
+       * .gitignore: Add some nextstep/mac ignorables.
 -2014-11-18  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       .gitignore cleanup.
+       * .gitignore: Merge contents of subsidiary files and organize the
+       result so as to avoid duplication.  Remove no-longer needed entries.
+       * admin/charsets/.gitignore, admin/unidata/.gitignore:
+       * doc/lispintro/.gitignore, etc/.gitignore, leim/.gitignore:
+       * leim/ja-dic/.gitignore, lib-src/.gitignore, lisp/.gitignore:
+       * lisp/calc/.gitignore, lisp/calendar/.gitignore:
+       * lisp/cedet/.gitignore, lisp/emulation/.gitignore:
+       * lisp/erc/.gitignore, lisp/eshell/.gitignore, lisp/gnus/.gitignore:
+       * lisp/international/.gitignore, lisp/language/.gitignore:
+       * lisp/leim/.gitignore, lisp/leim/quail/.gitignore:
+       * lisp/mail/.gitignore, lisp/mh-e/.gitignore, lisp/net/.gitignore:
+       * lisp/nxml/.gitignore, lisp/obsolete/.gitignore:
+       * lisp/play/.gitignore, lisp/progmodes/.gitignore:
+       * lisp/term/.gitignore, lisp/textmodes/.gitignore:
+       * lisp/url/.gitignore, nt/.gitignore, src/.gitignore:
+       Remove; no longer needed.
 +2014-11-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Simplify gnutls tests.
 +
 +2014-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * .gitignore: Add entries for emacsvers files.
 +
  2014-11-17  Paul Eggert  <eggert@cs.ucla.edu>
  
        Restore 'Bug#' -> 'debbugs:' rewrite in log-edit-mode.
        Remove, as these .gitignore files are no longer needed.
        * doc/lispintro/.gitignore: Replace with list of exceptional PDF files.
  
 -2014-11-15  Christoph Scholtes  <cschol2112@gmail.com>
 +2014-11-26  Dani Moncayo  <dmoncayo@gmail.com>
 +
 +      * configure.ac [MINGW]: Fix the way of getting the right host
 +      platform.
 +
 +2014-11-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Fix yesterday's use of uninitialised $version.
 +
 +2014-11-25  Oscar Fuentes  <ofv@wanadoo.es>
 +
 +      * configure.ac [MINGW]: Set $canonical default value as per the
 +      compiler's target.
 +
 +2014-11-24  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac [HAVE_W32]: Generate nt/*.rc files when HAVE_W32,
 +      not just when using mingw32.
 +
 +2014-11-22  Glenn Morris  <rgm@gnu.org>
 +
 +      Further reduce number of versioned files storing Emacs version number.
 +      * configure.ac (comma_version, comma_space_version) [mingw32]:
 +      New output variables.
 +      (nt/emacs.rc, nt/emacsclient.rc) [mingw32]: New output files.
 +      * make-dist: Update nt/ for *.rc -> *.rc.in changes.
 +
 +2014-11-19  Dani Moncayo  <dmoncayo@gmail.com>
 +
 +      * build-aux/msys-to-w32: Simplify implementation and docstring;
 +      Paths starting with '%emacs_dir%' are just considered relative.
 +
 +2014-11-16  Christoph Scholtes  <cschol2112@gmail.com>
  
        * .gitignore: Ignore generated file lib/stdalign.h.
  
 -2014-11-13  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-11-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        Backport fix for minor Bazaar leftovers.
        * .dir-locals.el: Remove reference to bzr commit --fixes debbugs.
  
 -2014-11-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-16  Eli Zaretskii  <eliz@gnu.org>
  
        * .gitignore: Add more ignorables.
  
 +2014-11-14  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * Makefile.in (config.status): Don't depend on
 +      ${srcdir}/lisp/version.el.
 +
 +2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib.
 +      2014-11-14 extern-inline: update commentary about GCC bugs
 +      2014-11-06 unistd: port to iOS
 +      2014-11-04 update from texinfo
 +      * doc/misc/texinfo.tex, lib/unistd.in.h, m4/extern-inline.m4:
 +      Update from gnulib.
 +
 +      build: port to GCC 4.6.4 + glibc 2.5
 +      On platforms this old, building with _FORTIFY_SOURCE equal to 2
 +      results in duplicate definitions of standard library functions.
 +      Problem reported by Nelson H. F. Beebe.
 +      * configure.ac (_FORTIFY_SOURCE): Sort after GNULIB_PORTCHECK.
 +      By default, do not enable this unless GNULIB_PORTCHECK is defined.
 +      This better matches the original intent, which as I recall was to
 +      enable these extra checks only with --enable-gcc-warnings.
 +
 +2014-11-14  David Reitter  <david.reitter@gmail.com>
 +
 +      * Makefile.in (install-arch-indep): Compress publicsuffix.txt file.
 +
  2014-11-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * .gitignore: Copy over sufficient ignorable files from the old
 -      .bzrignore that a simple build doesn't list lots of unregistered
 -      files.
 +      .bzrignore that a simple build doesn't list lots of unregistered files.
  
  2014-11-11  Eric S. Raymond  <esr@thyrsus.com>
  
        corresponding commit comments.
  
        (The first .cvsignore commit was 1999-09-30T14:07:54Z!fx@gnu.org.
-       The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.)
+       The last CVS commit was 2009-12-27T08:11:12Z!cyd@stupidchicken.com.)
  
        Committer/author email addresses are generally correct for the
 -      transition day, not necessarily when the comit was originally
 -      made.
 +      transition day, not necessarily when the commit was originally made.
 +
 +2014-11-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac (doc/man/emacs.1): Generate it.
 +      * Makefile.in (top_bootclean): Remove doc/man/emacs.1.
 +      * make-dist: Do not distribute doc/man/emacs.1.
 +
 +      * configure.ac (etc/refcards/emacsver.tex): Generate it.
 +      * Makefile.in (etc-emacsver): New PHONY rule.
 +      (bootstrap-clean): Delete etc/refcards/emacsver.tex.
 +
 +      * configure.ac (doc/emacs/emacsver.texi): Generate it.
 +      * make-dist (doc/emacs/emacsver.texi) [update]: No longer check it.
 +
 +2014-11-08  Dani Moncayo  <dmoncayo@gmail.com>
 +
 +      * build-aux/msys-to-w32: Simplify the initial over-engineered
 +      interface, and the implementation.
 +      * Makefile.in (epaths-force-w32): Update for the above.  Also
 +      simplify, assuming that the shell is bash (which is the case in MSYS).
 +      (msys_w32prefix_subst, msys_sed_sh_escape): Remove (no longer used).
  
  2014-11-05  Glenn Morris  <rgm@gnu.org>
  
 -      * Makefile.in (install-info, uninstall): Restore pre-2012-12-13
 -      solution.  (Bug#18908)
 +      * Makefile.in (QUIET_SUBMAKE): Remove.
 +      (install-info, uninstall): Use --no-print-directory.  (Bug#18908)
  
 -2014-10-31  Eric S. Raymond  <esr@thyrsus.com>
 +2014-10-25  Eric S. Raymond  <esr@thyrsus.com>
  
        * autogen.sh: Neutralize language specific to a repository type.
  
  2014-10-23  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * Makefile.in (${srcdir}/info/dir): Make sure info directory exists.
 -
 -2014-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * Makefile.in (ACLOCAL_INPUTS): Omit unnecessary use of 'wildcard'.
  
 -      * configure.ac: Bump version to 24.4.51 to avoid ambiguity with the old
 -      trunk's 24.4.50.
 +      Fix race in 'make info/dir', and speed it up.
 +      * Makefile.in (AWK, srcdir_doc_info_dir_inputs, info_dir_inputs):
 +      New macros.
 +      (clean): Remove info-dir.*.
 +      (info_dir_deps): Depend on make-info-dir too.
 +      (${srcdir}/info/dir): Make sure info directory exists.
 +      Don't call pwd; just redirect make-info-dir's stdout to temp file.
 +      * build-aux/make-info-dir: Send output to stdout.
 +      Take input file names from args.
 +      Fix a "FIXME inefficient looping" by using awk's associative arrays.
 +      Basically, this rewrites the script from scratch, and speeds up
 +      'make info/dir' from 2.6s to 0.07s on my platform.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-10-18 readlinkat: port to AIX 7.1
 +      2014-10-07 fcntl: fix error reporting by dupfd
 +      * lib/fcntl.c, lib/readlinkat.c, lib/unistd.in.h, m4/readlinkat.m4:
 +      * m4/unistd_h.m4: Update from gnulib.
 +      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
 +
 +2014-10-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Simplify OS X $canonical tests.
 +
 +2014-10-15  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2014-10-11  Ken Brown  <kbrown@cornell.edu>
 +      * configure.ac: Move the OSX 10.6 test.
 +
 +2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * .bzrignore: Add uni-brackets.el.
 +
 +2014-10-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * configure.ac: apple-darwin powerpc is unported.
 +      Require OSX >= 10.6 even if --with-ns is not given.
 +
 +2014-10-12  Ken Brown  <kbrown@cornell.edu>
  
        * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [CYGWIN]: Set stack size
        to 8 MB.  (Bug#18438)
  
 -2014-10-02  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-10-12  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * configure.ac: Require OSX 10.6.  Remove NSInteger test,
 +      use nsfont for Gnustep, macfont for OSX.
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix putenv race conditions that can crash Emacs (Bug#8705).
 +      * configure.ac (LOCALTIME_CACHE): Remove.
 +      We needn't worry about SunOS 4 any more; Sun dropped support in 2003.
 +      All uses of LOCALTIME_CACHE removed.  This simplifies the fix.
 +      (tzalloc): Add check for this function.
 +
 +2014-10-06  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * configure.ac: Add -Wno-string-plus-int for clang.
 +
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Silence warning with some old Xrandr.h.  (Bug#18465)
 +
 +2014-10-03  Paul Eggert  <eggert@cs.ucla.edu>
  
        * configure.ac: Port to strict POSIX shells on non-MinGW (Bug#18612).
  
 -2014-09-21  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * README: Bump version to 25.0.50.
 +
 +      * configure.ac (AC_INIT): Bump version to 25.0.50.
 +
 +2014-09-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac (HAVE_STATEMENT_EXPRESSIONS): Remove.
 +      For USE_STACK_LISP_OBJECTS, we always assume __GNUC__.
 +
 +2014-09-27  Ken Brown  <kbrown@cornell.edu>
 +
 +      * configure.ac [CYGWIN]: Enable sound support.
 +
 +2014-09-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac (MAKEINFO): Allow 'makeinfo' to be called 'texi2any'.
 +
 +2014-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-09-11 fcntl-h: fix compilation with Intel C++ compiler
 +      2014-09-04 pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
 +
 +2014-09-22  Jan Djärv  <jan.h.d@swipnet.se>
  
        * configure.ac: Increase headerpad_extra to 1000, update the comment
        about load commands (Bug#18505).
  
 -2014-09-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
  
        * configure.ac (HAVE_SOUND): Check for mmsystem.h header that
        defines the sound stuff on MS-Windows.  (Bug#18463)
  
 -2014-08-22  Ken Brown  <kbrown@cornell.edu>
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve the experimental local and scoped allocation.
 +      * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED)
 +      (HAVE_STATEMENT_EXPRESSIONS): New configure-time checks.
 +
 +2014-09-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Expand @AM_DEFAULT_VERBOSITY@ even if Automake is old (Bug#18415).
 +      * configure.ac: Assume verbose output for older Automake.
 +
 +2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac (MAKEINFO): Clean up some configuration bitrot.
 +      MAKEINFO is already set before we get here, so no need to call AC_PATH_PROG.
 +      Bypass $am_missing_run.  Simplify version-number checking.
 +
 +2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-09-02 gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
 +      2014-09-01 manywarnings: add GCC 4.9 warnings
 +      * m4/gnulib-common.m4, m4/manywarnings.m4: Update from gnulib.
 +
 +2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      --enable-silent-rules now suppresses more chatter.
 +      * INSTALL: Document this.
 +
 +      Clean up extern decls a bit.
 +      * configure.ac (WERROR_CFLAGS): Don't disable -Wnested-externs.
 +      While we're at it, don't disable -Wlogical-op either.
 +
 +2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac (MAKE): Export it, for config.status.
 +      Needed on AIX when 'configure' infers MAKE=gmake.
 +      (__restrict_arr): Remove; no longer used.
 +
 +2014-08-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Vector-sorting fixes (Bug#18361).
 +      * configure.ac (qsort_r): Remove, as we no longer use qsort-like
 +      functions.
 +      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
 +      * lib/vla.h, m4/vararrays.m4: New files, copied from gnulib.
 +      * lib/stdlib.in.h, m4/stdlib_h.m4: Sync from gnulib, incorporating:
 +      2014-08-29 qsort_r: new module, for GNU-style qsort_r
 +      The previous two files' changes are boilerplate generated by
 +      admin/merge-gnulib, and should not affect Emacs.
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac (AC_CHECK_FUNCS): Check for qsort_r.
 +
 +2014-08-28  Ken Brown  <kbrown@cornell.edu>
 +
 +      * configure.ac (HYBRID_MALLOC): New macro; define to use gmalloc
 +      before dumping and the system malloc after dumping.  Define on
 +      Cygwin.  (Bug#18222)
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (appdatadir): New variable.
 +      (install-etc, uninstall, clean): Handle etc/emacs.appdata.xml.
 +
 +2014-08-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve robustness of new string-collation code (Bug#18051).
 +      * configure.ac (newlocale): Check for this, not for uselocale.
 +
 +2014-08-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Detect features needed to handle C stack overflows.
 +      * configure.ac: Check for sigaltstack and related sigaction
 +      support.  Unconditionally check for sigsetjmp and siglongjmp.
 +      (HAVE_STACK_OVERFLOW_HANDLING): Define if we can support it.
 +
 +      (HAVE_LINUX_SYSINFO): Avoid false positive on Solaris.
 +
 +2014-08-25  Ken Brown  <kbrown@cornell.edu>
 +
 +      * configure.ac (G_SLICE_ALWAYS_MALLOC): Remove obsolete macro.
 +
 +2014-08-25  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * INSTALL.REPO: Remove reference to obsolete configure scripts
 +      on non-Posix platforms (Bug#18323).
 +
 +2014-08-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * configure.ac: Check also for the uselocale function.  (Bug#18051)
 +
 +2014-08-23  Karol Ostrovsky  <karol.ostrovsky@gmail.com>  (tiny change)
 +
 +      * configure.ac: Accept "*-mingw*", not just "*-mingw32", as
 +      canonical name of a MinGW build, because using MSYS2 'uname'
 +      produces "MINGW64".
 +
 +2014-08-21  Ken Brown  <kbrown@cornell.edu>
  
        * configure.ac (HAVE_XPM): Explain the use of CPPFLAGS in the
        Cygwin-w32 build.  (Bug#18302)
  
 -2014-08-10  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-08-11  Paul Eggert  <eggert@cs.ucla.edu>
  
        Don't prevent random file systems from being unmounted (Bug#18232).
        This fix relies on having the 'fchdir' function, and on having
        allocates memory, since that can cause problems in Emacs.
        * lib/save-cwd.h: Copy from gnulib.
  
 -2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-08-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * config.bat: Fix some confusing wording.
 +
 +2014-08-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * config.bat: Fix EOL format in lines modified by last commit.
 +
 +2014-08-09  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * make-dist (files): Remove msdos/is_exec.c and sigaction.c.
 +      * config.bat: Require DJGPP 2.02 or later.
 +
 +2014-08-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-08-07 getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
 +      2014-08-05 sys_select: fix FD_ZERO problem on Solaris 10
 +      * lib/getdtablesize.c, lib/sys_select.in.h: Update from gnulib.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * README: ``MSDOG'' becomes ``MS-DOS''.
 +
 +2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-08-04 extern-inline: port to FreeBSD, DragonFly
 +      * lib/gnulib.mk: Regenerate (comment change only).
 +      * m4/extern-inline.m4: Update from gnulib.
 +
 +2014-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac (HAVE_TIMERFD): Also check for TFD_NONBLOCK,
 +      since the code is using TFD_NONBLOCK now.
 +
 +2014-07-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify timerfd configuration and fix some minor glitches.
 +      * configure.ac (HAVE_TIMERFD): Define only if TFD_CLOEXEC works,
 +      since the code leaked file descriptors to children when !TFD_CLOEXEC.
 +      (HAVE_TIMERFD_CLOEXEC): Remove; no longer used.
 +      * m4/clock_time.m4 (gl_CLOCK_TIME): Don't check for clock_getres.
 +      This reverts the previous change to this file, so it matches
 +      gnulib again.
 +
 +2014-07-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac (toplevel): Check whether GNU/Linux-specific
 +      timerfd functions and macros are available.
 +      * m4/clock_time.m4 (gl_CLOCK_TIME): Check for clock_getres as well.
 +
 +2014-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve behavior of 'bzr up; cd src; make -k'.
 +      * Makefile.in (ACLOCAL_INPUTS): Add all m4/*.m4 files.
 +
 +2014-07-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-06-27 mktime: merge #if/#ifdef usage from glibc
 +      * lib/mktime.c: Update from gnulib.
  
        * Makefile.in (install-arch-indep): Avoid readdir race (Bug#17971).
  
 -2014-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac: Check whether sys/sysinfo.h provides
 +      Linux 'sysinfo' function and 'struct sysinfo' type.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac (lwlib_deps_frag, oldxmenu_deps_frag): New output files.
 +      * make-dist (lwlib, oldXMenu): Distribute *.mk.
 +
 +2014-06-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (src): No more need to pass BOOTSTRAPEMACS.
 +
 +      * make-dist: Exclude test/automated/*.log.
 +
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (mostlyclean, clean): Maybe clean test/automated.
 +
 +2014-06-21  Paul Eggert  <eggert@cs.ucla.edu>
  
        * configure.ac: Warn about --enable-link-time-optimization's issues
        in --help message (Bug#17806).
        use -ffat-lto-objects if supported; otherwise Emacs won't
        build with GCC 4.9.0.
  
 -2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Diagnose failures due to colons in directory names (Bug#17278).
 +      * Makefile.in (epaths-force): Don't allow ':' in directories whose
 +      names go into a colon-separated path.
 +      * configure.ac: Fail if submake fails.
 +
 +2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Omit redundant extern decls.
 +      Most of this patch is from Dmitry Antipov, in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
 +      * configure.ac (WERROR_CFLAGS): Add -Wredundant-decls.
 +
 +      Merge from gnulib, incorporating:
 +      2014-06-17 acl: port to gcc -Wredundant-decls
 +      2014-06-01 gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
 +      * lib/acl.h, m4/gnulib-common.m4: Update from gnulib.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Use `make -C' rather than `cd && make' throughout.
 +
 +      * Makefile.in: Parallelize clean rules using GNU make features.
 +      (submake_template): New definition.
 +      (mostlyclean_dirs, clean_dirs, distclean_dirs, maintainer_clean_dirs):
 +      New variables.
 +      (mostlyclean, clean, distclean, bootstrap-clean, maintainer-clean)
 +      (extraclean): Define using each subdirectory as a prequisite.
 +      * lib/Makefile.am (bootstrap-clean): New.
 +
 +2014-06-15  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port part of the AIX fix to Solaris (Bug#17598).
        * configure.ac (_REENTRANT): Define on Solaris if HAVE_PTHREAD.
        for the same reason that _THREAD_SAFE is needed on AIX, e.g., to
        make sure that each thread has its own 'errno'.
  
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (CC, CFLAGS, LDFLAGS, CPPFLAGS, abs_top_srcdir):
 +      Remove, no longer used.
 +      (lib, lib-src, lisp, nt, src, blessmail, install-arch-dep)
 +      (install-nt, install-strip, uninstall, uninstall-nt)
 +      (mostlyclean, clean, distclean, bootstrap-clean)
 +      (maintainer-clean, extraclean, TAGS, tags, check, $(DOCS)):
 +      ($(INSTALL_DOC), $(UNINSTALL_DOC), info, bootstrap, check-declare):
 +      GNU make automatically passes command-line arguments to sub-makes.
 +
  2014-06-11  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Backport fcntl.h AIX fix from the trunk (Bug#17598).
 -      This fixes a bug with the shell freezing.  See:
 -      http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17598#185
 -      Merge from gnulib, incorporating:
 -      2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
 -      * lib/fcntl.in.h, m4/dup2.m4, m4/fcntl.m4:
 -      Update from gnulib.
 +      Use a shell function in configure.ac to cut down on code duplication.
 +      * configure.ac (emacs_check_gnu_make): New shell function.
 +      Use it to avoid duplication when checking for GNU Make.
 +      It's OK for 'configure' to use shell functions these days,
 +      as long as we follow the advice in the 'Shell Functions'
 +      section of the Autoconf manual.
 +
 +2014-06-11  Glenn Morris  <rgm@gnu.org>
  
 -2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
 +      * configure.ac: Require at least version 3.81 of GNU make.
 +
 +2014-06-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Rely on AC_CANONICAL_HOST to detect whether we're using mingw.
 +      See the thread containing:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00206.html
 +      * configure.ac (AC_CANONICAL_HOST): Invoke this as early as we
 +      can, which is just after AM_INIT_AUTOMAKE.  Then check for mingw
 +      just after that.
 +
 +2014-06-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL):
 +      New, set by configure.  Use throughout where appropriate.
 +
 +      * Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
 +      * configure.ac (INFO_EXT, INFO_OPTS): Remove output variables.
 +
 +2014-06-08  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port better to AIX (Bug#17598).
        * configure.ac (with_xpm_set): New shell var.
        (LIBXPM): Append -lXpm if -lXaw is also used, as the latter
        requires the former on AIX.
  
 -2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Try harder to find GNU Make when configuring.
 +      * configure.ac (AC_PROG_MAKE_SET): Define a dummy.
 +      (MAKE): Set it to GNU Make, if one can be found.
 +      Search PATH for 'make', 'gmake', 'gnumake'.
 +      This works better on platforms like AIX, where GNU Make
 +      might be in /opt/freeware/bin/make, and reside
 +      behind /usr/bin/make in the PATH.
 +
 +2014-06-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
 +      * INSTALL: Mention SVG image support.
 +
 +2014-06-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac: --without-all now implies --without-xft, --disable-acl.
 +      * INSTALL: Remove apparently unmaintained documentation about what
 +      --without-all exactly means.
 +
 +2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * configure.ac (C_HEAP_SWITCH): Remove.
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to 32-bit AIX with xlc (Bug#17598).
        This doesn't fix Bug#17598, but it does fix a regression since Emacs
        2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
        * lib/ftoastr.c: Update from gnulib.
  
 -2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-06-02 acl: apply pure attribute to two functions
 +      2014-06-01 gnulib-common.m4: add _GL_UNUSED_LABEL
 +      2014-05-31 dup2, fcntl, fcntl-h: port to AIX 7.1
 +      2014-05-30 ftoastr: work around compiler bug in IBM xlc 12.1
 +      * lib/acl-internal.h, lib/fcntl.in.h, lib/ftoastr.h:
 +      * m4/dup2.m4, m4/fcntl.m4, m4/gnulib-common.m4:
 +      Update from gnulib.
 +
 +2014-06-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * configure.ac (C_HEAP_SWITCH): Raise HEAPSIZE value for 32-bit
 +      builds on Windows.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac (pthread_sigmask): Look in LIB_PTHREAD too (Bug#17561).
 +      Fixes configuration glitch found in <http://bugs.gnu.org/17561#59>.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * configure.ac (ADDSECTION, TEMACS_POST_LINK): Don't compute,
 +      unused.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't substitute sigprocmask for pthread_sigmask (Bug#17561).
 +      sigprocmask isn't portable in a multithreaded process.
 +      * configure.ac (gl_THREADLIB): Remove dummy.
 +      Merge from gnulib, incorporating:
 +      2014-05-28 pthread_sigmask, timer-time: use gl_THREADLIB only if needed
 +      * m4/pthread_sigmask.m4, m4/timer_time.m4: Update from gnulib.
 +
 +2014-05-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Explicitly drop some ancient Solaris versions.
 +
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      * configure.ac (C_HEAP_SWITCH): Define for different values of
 +      dumped heap size depending on 32/64bits arch on Windows.
 +      Don't check for pthreads.h on MinGW32/64, it gets in the way.
 +      Use mmap(2) for buffers and system malloc for MinGW32/64.
 +      (EMACS_HEAPSIZE): Remove.
 +
 +2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2014-05-21 fchdir: port 'open' and 'close' redefinitions to AIX 7.1
 +      * lib/openat-proc.c: Update from gnulib.
 +
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to 32-bit AIX (Bug#17540).
        * configure.ac (opsys): On Power Architecture, treat release 7 of
        AIX like releases 5 and 6.
  
 +2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove dependencies on getdelim and getline.
 +      * configure.ac (getdelim, getline): Remove.
 +
  2014-05-18  Glenn Morris  <rgm@gnu.org>
  
 -      * configure.ac (INSTALL_INFO):
 -      Revert to just checking for "install-info".
 +      * configure.ac: Do not bother testing for png in non-graphical builds.
  
 -2014-05-17  Glenn Morris  <rgm@gnu.org>
 +2014-05-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * configure.ac (INSTALL_INFO): Try the identical-but-quieter-on-Debian
 -      "ginstall-info" before "install-info".
 +      Port ctags+etags build to Sun C 5.12.
 +      * .bzrignore: Remove lib-src/ctags.c.
  
 -2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>
 +      Port recent libpng changes to hosts with missing png.h.
 +      * configure.ac (HAVE_PNG): Port to platforms where libpng-config
 +      succeeds but png.h is absent, by testing libpng-config's output
 +      rather than trusting it.  I ran into this problem when building
 +      Emacs trunk on a Solaris 10 host.
  
 -      Revert recent libpng changes (Bug#17339).
 -      They fix only bugs that aren't being reported, so it may be better
 -      to do them on the trunk.
 -      * configure.ac (PNG_CFLAGS): Remove.  All uses removed.
 -      (LIBPNG): Don't be consistent about -lpng16 versus -lpng.
 -      Ignore libpng-config's exit status.  Always append -lz -lm.
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * configure.ac (LIBPNG): Add -lz -lm on platforms where they're needed
 -      but libpng-config --libs omits them.  Problem reported by Glenn
 -      Morris.
 +      Assume C99 or later (Bug#17487).
 +      * lib/stdarg.in.h, lib/stdbool.in.h, m4/stdarg.m4, m4/stdbool.m4:
 +      Remove.
 +      * configure.ac (_AC_PROG_CC_C89): Define a dummy, to keep 'configure'
 +      smaller.
 +      (gl_PROG_CC_C99): Use this to get C99 or later.
 +      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
  
 -2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't require pkg-config when building from repository.
 +      * INSTALL: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
 +      * INSTALL.REPO: pkg-config is no longer required to build from
 +      the repository.
 +      * autogen.sh: Don't check for pkg-config.
 +      (progs): Remove pkg-config.
 +      (pkg_config_min, AUTORECONF_ENV, env_space, ACLOCAL_PATH):
 +      Remove.  All uses removed.
 +      * m4/pkg.m4: New file, built by admin/merge-pkg-config.
 +      * configure.ac: Remove unnecessary m4_pattern_forbid of ^PKG_ and
 +      an AC_ARG_VAR of PKG_CONFIG_PATH.  pkg.m4 does that for us.
 +      (EMACS_CHECK_MODULES): Remove workaround for old pkg-config bug,
 +      as we use pkg.m4 from a newer pkg-config.
 +
 +2014-05-15  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * configure.ac (LIBPNG): Do not test for libpng if NS_IMPL_COCOA.
 +
 +2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * configure.ac (HAVE_XFIXES): Define if available.
 +      (XFIXES_CFLAGS, XFIXES_LIBS): New AC_SUBSTs.
 +      (--enable-link-time-optimization): Add clang support.
 +      * INSTALL: Mention it.
 +
 +2014-05-12  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * configure.ac (EMACS_CHECK_MODULES): Fix typo in previous change.
 +
 +2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Work around bug in pkg-config before 0.26 (Bug#17438).
 +      * configure.ac (EMACS_CHECK_MODULES): Check for failed exit status
 +      of pkg-config, on older pkg-config versions that don't do it
 +      properly.
 +
 +2014-05-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * autogen.sh: Check for failing aclocal.
 +
 +2014-05-05  Glenn Morris  <rgm@gnu.org>
 +
 +      * autogen.sh: Check any pre-existing ACLOCAL_PATH.
 +
 +2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Consult libpng-config more consistently (Bug#17339).
 +      This is mainly for simplicity, but it should also avoid
 +      some future problems like the ones we recently had with NetBSD.
 +      * configure.ac (LIBPNG): Configure after LIBZ.  Use libpng-config
 +      for cflags, too.  Append -lz if we're not already doing that with
 +      LIBZ.  Do not bother appending -lm, since we always append that.
 +      Coalesce some duplicate code.
 +
 +      * autogen.sh: Use ‘"’ to quote a message that often contains ‘'’.
  
        Require ImageMagick >= 6.3.5, due to PixelSetMagickColor (Bug#17339).
        * configure.ac (IMAGEMAGICK_MODULE): Bump prereq from 6.2.8 to 6.3.5.
        A more-complicated fix would be to remove uses of PixelSetMagickColor,
        introduced in ImageMagick 6.3.5 (Sept. 2007).
  
 -2014-05-02  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Consult libpng-config more consistently (Bug#17339).
 -      * configure.ac (edit_cflags): Move this up and to the top level,
 -      so that PNG_CFLAGS can use it too.
 -      (PNG_CFLAGS): New var.
 -      (png_longjmp): Use PNG_CFLAGS when checking.
 -      (LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
 -      in some places and -lpng in others.  Test libpng-config's exit
 -      status.  If it succeeds, use its output rather than appending -lz -lm.
 -
 -2014-05-01  Glenn Morris  <rgm@gnu.org>
 +2014-05-04  Glenn Morris  <rgm@gnu.org>
  
        * configure.ac (LIBPNG): Consult libpng-config for the precise
        form of "-lpng" to use.  (Bug#17339)
  
 -2014-04-29  Glenn Morris  <rgm@gnu.org>
 +2014-05-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * autogen.sh: If all else fails, try using pkg-config to find pkg.m4.
 +
 +2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Get --enable-gcc-warnings to work after touching configure.ac.
 +      Preserve ACLOCAL_PATH in later builds, so that by default it has
 +      the same value as it did in the first build after initial checkout.
 +      * Makefile.in (ACLOCAL_PATH): New macro.
 +      ($(srcdir)/aclocal.m4): Use it.
 +      * configure.ac (ACLOCAL_PATH): AC_SUBST it.
 +      * autogen.sh (env_space): New var.
 +      Tell user what variables, if any, to pass to 'configure'.
 +
 +      Get --enable-gcc-warnings working again.
 +      The recent changes to configure.ac removed the transliteration of
 +      -I to -isystem in CFLAGS, which is needed for --enable-gcc-warnings.
 +      Bring this back while keeping the spirit of the recent changes.
 +      * configure.ac (edit_cflags): Restore this shell var, and put it
 +      at the top level, where it'll be useful when emacs-24 is next merged.
 +      (EMACS_CHECK_MODULES): New macro.  All uses of PKG_CHECK_MODULES
 +      changed to use it.
 +
 +      Make it easier on maintainers who use their own Automake.
 +      * autogen.sh (ACLOCAL_PATH, AUTORECONF_ENV): New vars.
 +      Set them to avoid problems when maintainers prepend their own
 +      Automake installations to their PATH.  Report an error if pkg.m4
 +      can't be found.
 +
 +2014-05-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac (PKG_CONFIG_PATH): Declare with AC_ARG_VAR.
 +
 +      * configure.ac (--with-pkg-config-prog): Remove.
 +      Use the PKG_CONFIG environment variable instead if you need it.
 +
 +      * configure.ac: Use pkg-config's pkg.m4, rather than reinventing it.
 +      Add explicit AC_SUBST's where needed.
 +      * autogen.sh (progs): Add pkg-config.
 +      (pkg_config_min): New variable.
 +
 +      * configure.ac (AC_CONFIG_MACRO_DIR): Use it.
 +
 +      * autogen.sh (get_version): Handle no leading whitespace.
 +      (check_version, main): Handle program names with hyphens.
 +
 +2014-04-30  Glenn Morris  <rgm@gnu.org>
  
        * configure.ac: Treat MirBSD as OpenBSD.  (Bug#17339)
  
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * .bzrignore: Add a.out to bzr ignore list (a test generates this
 +      file).
 +
 +2014-04-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Link to glib-using libraries when checking for glib (Bug#17289).
 +      * configure.ac (XGSELOBJ): Include GTK_LIBS, RSVG_LIBS, etc.
 +      when testing whether Glib is linked in.  Similarly for CFLAGS.
 +
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * GNUmakefile: Speed up 'make bootstrap' in fresh checkout.
 +      (ORDINARY_GOALS): New macro, which excludes 'bootstrap'.
 +      (bootstrap, .PHONY): New rules.
 +      * INSTALL.REPO: Document current procedure better.
 +      Move copyright notice to just before license notice.
 +
 +      * Makefile.in (FRC, force-info): Remove.
 +      All uses removed.  This hack is no longer needed here
 +      now that we can assume GNU Make's .PHONY feature works.
 +      (bootstrap): No need to make 'info', since 'all' now implies 'info'.
 +
  2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * config.bat: Update for Emacs 24.4.
  
 -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).
        This port requires IRIX cc, as I did not have time to get
        in an optional library that also contains getdelim, and causes
        a later 'configure' to incorrectly think getdelim is supported.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * configure.ac (LN_S_FILEONLY, LN_S): Use "/bin/ln" on MinGW, to
        ensure the MSYS ln.exe is invoked.
  
 +2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove DATA_SEG_BITS.
 +      * configure.ac (DATA_SEG_BITS): Remove.  All uses removed.
 +
 +2014-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * autogen.sh: Use autoreconf's -f option (Bug#17258).
 +
 +      Clean up configure-time library handling a bit.
 +      This patch was inspired by emacs-24 bzr 116961, which fixed
 +      a bug due to sloppy library handling in 'configure'.
 +      * configure.ac (LIB_MATH, LIB_PTHREAD, LIBXMU):
 +      Use AC_SEARCH_LIBS instead of AC_CHECK_LIB as per Autoconf manual.
 +      (LIB_MATH, LIB_PTHREAD, HAVE_X11, IMAGEMAGICK_LIBS, GTK_LIBS)
 +      (DBUS_LIBS, LIBXMU, XFT_LIBS, LIBXSM, LIBXML2_LIBS, LIBS_MAIL)
 +      (with_kerberos):
 +      Don't let the library choice infect $LIBS.
 +      (dnet_ntoa, cma_open): Remove obsolete tests.
 +      (emacs_pthread_function): Probe for pthread_kill, not pthread_self,
 +      as that's a bit more selective on GNU/Linux.
 +      (LIBXEXT): Remove.
 +      (touchlock): Test for existence when $LIBS_MAIL is in use.
 +      (AC_CHECK_FUNCS): Use only $LIB_MATH in addition to $LIBS
 +      when testing for typical functions like accept4, lrand48.
 +      (random, rint): Remove obsolete HP-UX 9 A.09.05 test.
 +
  2014-04-11  Glenn Morris  <rgm@gnu.org>
  
        * make-dist: Do not distribute generated admin/grammars/Makefile.
        Do distribute lib-src/update-game-score.exe.manifest.
  
 -2014-04-09  Ken Brown  <kbrown@cornell.edu>
 +2014-04-11  Ken Brown  <kbrown@cornell.edu>
  
        * configure.ac (EMACS_MANIFEST): Revert last change (but leave
        UPDATE_MANIFEST empty).
  
 -2014-04-03  Ken Brown  <kbrown@cornell.edu>
 +2014-04-07  Ken Brown  <kbrown@cornell.edu>
  
        * configure.ac (EMACS_MANIFEST, UPDATE_MANIFEST): Leave these
        variables empty on Cygwin.  (Bug#17176)
  
 -2014-03-31  Glenn Morris  <rgm@gnu.org>
 +2014-04-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * make-dist: Further update AC_INIT regexp.
 +
 +2014-04-02  Glenn Morris  <rgm@gnu.org>
  
        * configure.ac: Make the final "Does Emacs use Gsettings" message
        consistent with src/config.h.
  2014-03-31  Jan Djärv  <jan.h.d@swipnet.se>
  
        * configure.ac: Fix errors from previous checkin (GSettings check).
 -      Backport from trunk.
  
 -2014-03-30  Daniel Colascione  <dancol@dancol.org>
 +2014-03-29  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * configure.ac: Add check that GSettings is in libgio (Bug#17118).
  
 -      * configure.ac: Include GFILENOTIFY objects in glib check.  (Bug#17069)
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
  
 -2014-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 +      * configure.ac (AC_INIT): Add "GNU" in package, add bug address.
 +      (PACKAGE_BUGREPORT): Use it.
 +      (make-dist): Update AC_INIT regexp.
  
 -      * configure.ac: Add check that GSettings is in libgio (Bug#17118).
 -      Backport from trunk.
 +      * configure.ac (ACL_SUMMARY): Rename from acl_summary, for consistency.
 +      (EMACS_CONFIG_FEATURES): New define.
 +
 +2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac: Suggest './configure MAKE=gmake' in diagnostic.
 +      This tends to work better than 'MAKE=gmake ./configure' if later
 +      builds run config.status etc.
 +
 +2014-03-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac: Require GNU make.
 +      (HAVE_GNU_MAKE): Remove.
  
  2014-03-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        2014-03-26 strftime: wrap macros in "do {...} while(0)"
        * lib/strftime.c: Update from gnulib.
  
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * configure.ac (CLASH_DETECTION): Remove option.  Every platform
 +      supports it, and the runtime option `create-lockfiles' replaces it.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * configure.ac: (Bug#17069) Include GFILENOTIFY objects in glib check.
 +
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * make-dist: Do not distribute lib-src/testfile.
 +
 +2014-03-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * configure.ac: Bump version to 24.4.50.
 +
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (all): Depend on `info'.  (Bug#16626)
 +
  2014-03-07  Paul Eggert  <eggert@cs.ucla.edu>
  
        Merge from gnulib, incorporating:
  
  2013-07-29  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * INSTALL (DETAILED BUILDING AND INSTALLATION): Add
 -      --without-file-notification to --without-all.
 +      * INSTALL (DETAILED BUILDING AND INSTALLATION):
 +      Add --without-file-notification to --without-all.
  
  2013-07-29  Xue Fuqiao  <xfq.free@gmail.com>
  
        CONFIG_SITE for the MSYS build on MS-Windows.
        (Makefile): Use $(CFG).
  
 -      * .bzrignore: Ignore *.res, *.tmp, and *.map.  Remove
 -      src/emacs.res.
 +      * .bzrignore: Ignore *.res, *.tmp, and *.map.
 +      Remove src/emacs.res.
  
  2013-05-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        detail: -with-x... and --srcdir.
        (options, boolean_opts): Delete; we don't have enough options to
        make this worthwhile.
 -      (prefix, bindir, lisppath, datadir, libdir, lockdir): Deleted,
 +      (prefix, bindir, lisppath, datadir, libdir, lockdir): Delete,
        along with the code which supported them; these should be set as
        arguments to the top-level make.
        (config_h_opts): Since this no longer doubles as a list of option
diff --combined admin/ChangeLog
index 84aea47ae9e4c2f99437e0c259065afc02baf95c,82974dc846f36b2dceaf1f7e0aab1c2b4c4e263d..d894f768fcd7c1518548ecc1de4757a052256e3b
@@@ -1,72 -1,33 +1,82 @@@
 -2014-11-19  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Lessen focus on ChangeLog files, as opposed to change log entries.
+       This is in preparation for generating the former automatically
+       from the latter.
+       * notes/bugtracker, notes/copyright, notes/newfile:
+       ChangeLog -> change log
+       * notes/changelogs: Remove, merging old contents to ...
+       * notes/repo: ... here.
 +2014-11-27  David Engster  <deng@randomsample.de>
 +
 +      * gitmerge.el: New file.
 +      * notes/git-workflow: Add documentation for using it.
 +
  2014-11-17  Oscar Fuentes  <ofv@wanadoo.es>
  
        * admin/CPP-DEFINES: Mention MINGW_W64.
  
 -2014-11-15  Glenn Morris  <rgm@gnu.org>
 +2014-11-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * admin.el (set-version): No more need to update nt/*.rc.
 +      * authors.el (authors-renamed-files-alist): Add .rc.in files.
 +
 +2014-11-16  Glenn Morris  <rgm@gnu.org>
  
        * update_autogen: Auto-detect VCS in use.
        (vcs): New variable.
        (status, commit, main): Handle git.
  
 +2014-11-13  Andreas Schwab  <schwab@suse.de>
 +
 +      * make-tarball.txt: Make annotated tag and push it out.
 +
  2014-11-11  Eric S. Raymond  <esr@thyrsus.com>
  
        * make-tarball.txt, update-copyright, admin/notes/bugtracker,
        admin/notes/tags, admin/update-copyright, admin/update_autogen:
        admin/repo.notes: git transition.
  
 -2014-11-09  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * unidata/Makefile.in (${top_srcdir}/src/macuvs.h):
 +      Use unmsys--file-name.  (Bug#18955)
 +
 +2014-11-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * admin.el (set-version): No need to update doc/man/emacs.1.
 +
 +      * admin.el (set-version): No need to update etc/refcards/emacsver.tex.
 +      (set-copyright): Update etc/refcards/emacsver.tex.in.
 +
 +      * admin.el (set-version): No need to update doc/emacs/emacsver.texi.
 +      (make-manuals-dist-output-variables): Add top_srcdir.
 +      (make-manuals-dist--1): Handle @version@ specially.
  
 -      * unidata/Makefile.in (${top_srcdir}/src/macuvs.h): Use
 -      unmsys--file-name.  (Bug#18955)
 +2014-11-09  Eric Ludlam <zappo@gnu.org>
 +
 +      * grammars/c.by (template-type): Add :template-specifier and
 +      :typevar to capture extra details about the template.
 +      (opt-post-fcn-modifiers): Splice in the found symbol into the
 +      return value correctly.
 +      (QUESTION): New punctuation.
 +      (expression): Add ternary conditional support.
 +
 +      * grammars/scheme.by (MODULE): New token.
 +      (scheme): Handle expanding the MODULE tag.
 +      (scheme-list): Remove closeparen required match.
 +      (scheme-in-list): Remove extraneous matches for DEFINE.
 +      Add support for MODULE Simplify matching for code & make work.
 +      (name-args, name-arg-list, name-arg-expand): Make it work.
 +
 +2014-11-09  David Engster <dengste@eml.cc>
 +
 +      * grammars/c.by (opt-brackets-after-symbol): New.
 +      (multi-stage-dereference): Use it.  Add rules for explicit
 +      matching the last dereference.  We cannot just juse
 +      'namespace-symbol' as a single rule, since this would match too
 +      greedy and mess with parsing default values of variables.
  
  2014-11-09  Glenn Morris  <rgm@gnu.org>
  
        (make-manuals-dist--1, make-manuals-dist): New.
        Replaces doc/*/Makefile.in `dist' rules.
  
 -2014-10-31  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Spelling fixes; tweak explanation of commit messages.
 +      * notes/repo: Avoid "DVCS" acronym without first explaining it.
 +      Mention using the first line of a ChangeLog as the topic line,
 +      and that commit messages should use UTF-8.
 +
 +2014-11-01  Eli Zaretskii  <eliz@gnu.org>
  
        * notes/repo (Notes): Reword the stylistic guidance for commit log
        messages so that they are in line with Emacs development practices
        and style guidance.
  
 -2014-10-31  Eric S. Raymond  <esr@thyrsus.com>
 +2014-10-27  Eric S. Raymond  <esr@thyrsus.com>
  
 -      * notes/bzr: Renamed to notes/repo, reorganized to separate
 -      VCS-dependent from VCS-independent stuff.  Added guidance about
 +      * notes/bzr: Rename to notes/repo, reorganize to separate
 +      VCS-dependent from VCS-independent stuff.  Add guidance about
        commit-comment format under DVCSes.
  
        * notes/BRANCH: Merged into notes/repo.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * unidata/unidata-gen.el (unidata-prop-alist): New properties
 +      'paired-bracket' and 'bracket-type', in support of the UBA 6.3.
 +      (unidata-gen-table): Support PROP-IDX being a function.
 +      (unidata-describe-bidi-bracket-type, unidata-gen-brackets-list)
 +      (unidata-gen-bracket-type-list): New functions.
 +      (unidata-check): Support checking the 'bracket-type' attribute.
 +      (unidata-gen-files): Don't create backups for uni-*.el files.
 +
 +      * unidata/Makefile.in (${unidir}/charprop.el): Depend on
 +      BidiMirroring.txt and BidiBrackets.txt.
  
 -2014-09-03  Eli Zaretskii  <eliz@gnu.org>
 +      * unidata/BidiBrackets.txt: New file, from Unicode.
 +
 +2014-10-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * authors.el (authors-aliases, authors-fixed-case)
 +      (authors-obsolete-files-regexps): Additions.
 +      (authors-no-scan-regexps): New constant.
 +      (authors-no-scan-file-p): New function.
 +      (authors): Respect authors-no-scan-file-p.
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix putenv race conditions with undefined behavior (Bug#8705).
 +      * merge-gnulib (GNULIB_MODULES): Add time_r, since Emacs now
 +      calls localtime_r and gmtime_r directly.
 +
 +2014-10-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * unidata/Makefile.in: Check for deleted uni- files.  (Bug#18489)
 +      (all): Use unifiles rather than charprop.el.
 +      (FORCE): New variable and phony rule.
 +      (${unidir}/charprop.el): Respect FORCE.
 +      (unifiles): New rule.
 +
 +      * unidata/Makefile.in (unidir): Rename from DSTDIR.  Change all uses.
 +      (charprop.el, install): Remove rules.
 +      (clean): Simplify.
 +
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * authors.el (authors-renamed-files-alist): Add package-x-test.el
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * unidata/unidata-gen.el (unidata-gen-table-word-list): Use alist-get
 +      and cl-incf.
 +
 +2014-09-08  Eli Zaretskii  <eliz@gnu.org>
  
        * unidata/unidata-gen.el (unidata-check): Bring this function up
        to date with the currently supported methods of generating Unicode
        the check.  Update the copyright years in the reference to the
        Unicode data files we use.
  
 -2014-06-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Vector-sorting fixes (Bug#18361).
 +      * merge-gnulib (GNULIB_MODULES): Add vla.
 +
 +2014-08-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * authors.el (authors): Fix last change so it works for MS-Windows
 +      as well.
 +
 +2014-08-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * authors.el (authors): Use LOCALE argument of `string-collate-lessp'.
 +
 +2014-08-28  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * authors.el (authors-aliases): Addition.
 +
 +2014-08-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * authors.el (authors-ignored-files, authors-valid-file-names)
 +      (authors-renamed-files-alist): Additions.
 +      (authors-renamed-files-alist): Revert 2014-08-09 change.
 +      (authors): Sort authors in utf-8 order.  (Bug#2263)
 +
 +2014-08-09  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * notes/copyright: Remove mention of msdos/is_exec.c and
 +      sigaction.c.
 +      * authors.el (authors-renamed-files-alist): Remove is_exec.c.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * notes/exit-value: Remove specific discussion of VMS.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +
 +      * FOR-RELEASE: ``MS-DOG'', ``MSDOG'' and ``msdog'' become
 +      ``MS-DOS''.
 +      * MAINTAINERS: ditto.
 +
 +2014-07-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use binary-io module, O_BINARY, and "b" flag (Bug#18006).
 +      * merge-gnulib (GNULIB_MODULES): Add binary-io.  It was already
 +      present implicitly; this just makes the dependence explicit.
 +
 +2014-06-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * update_autogen: Find loaddefs targets rather than
 +      parsing lisp/Makefile.in
 +
 +2014-06-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * update_autogen: Remove need to cd into/out of lisp/.
 +
 +      * grammars/Makefile.in (bootstrap-clean): Don't delete Makefile,
 +      for sake of top-level maintainer-clean rule.
 +
 +2014-06-26  Eli Zaretskii  <eliz@gnu.org>
  
        * notes/unicode: Some notes about what to do when a new Unicode
        version is imported.
  
 -2014-06-24  Glenn Morris  <rgm@gnu.org>
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * authors.el: Move here from ../lisp/emacs-lisp.
 +
 +2014-06-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * grammars/Makefile.in (${bovinedir}/c-by.el, ${bovinedir}/make-by.el):
 +      (${wisentdir}/js-wy.el, ${wisentdir}/python-wy.el):
 +      Replace with pattern rules.
 +      (${bovinedir}/scm-by.el, ${wisentdir}/javat-wy.el)
 +      (${cedetdir}/srecode/srt-wy.el): Use $<.
 +
 +      * unidata/Makefile.in (${top_srcdir}/src/macuvs.h): Make and load .elc.
 +      (.el.elc): Replace with pattern rule.
 +      (%.elc): New.
 +      (unidata.txt): Use $<.
 +      (compile): Remove.
 +      (${DSTDIR}/charprop.el): Use order-only prereqs rather than a sub-make.
 +
 +      * unidata/uvs.el (uvs-print-table-ivd): Fix free variable typo.
 +
 +2014-06-21  Glenn Morris  <rgm@gnu.org>
  
        * unidata/BidiMirroring.txt: Update to 7.0.0 (only comment changes).
        * unidata/UnicodeData.txt: Update to 7.0.0.
        * unidata/IVD_Sequences.txt: Update to 2014-05-16 version.
  
 -2014-06-16  Stephen Berman  <Stephen.Berman@gmx.net>
 +2014-06-21  Stephen Berman  <Stephen.Berman@gmx.net>
  
        * notes/elpa: Use "git" instead of "bzr" in the name of machine to
        clone the repository from.
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * unidata/Makefile.in (${DSTDIR}/charprop.el):
 +      GNU make automatically passes command-line arguments to sub-makes.
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Include sources used to create macuvs.h.
        * unidata/IVD_Sequences.txt: New file.
        (uvs-print-table-ivd): Output a header in the form that
        unidata-gen.el generates.
  
 -2014-05-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-05-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * mac/uvs.el: New file.  Generates ../src/macuvs.h.
 +      * mac/uvs.el: New file from Mac port.  Generates src/macuvs.h.
  
 -2014-05-11  Glenn Morris  <rgm@gnu.org>
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * find-gc.el: Move here from ../lisp/emacs-lisp.
 +      Assume C99 or later (Bug#17487).
 +      * merge-gnulib (GNULIB_MODULES): Remove stdarg, stdbool.
 +      (GNULIB_TOOL_FLAGS): Avoid stdarg, stdbool.
 +
 +2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't require pkg-config when building from repository.
 +      * merge-pkg-config: New script.
 +      * notes/copyright: Update for m4/*.m4, in particular m4/pkg.m4.
 +
 +2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * merge-gnulib: Defer to autogen.sh for ACLOCAL_PATH computation.
 +
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
 -2014-05-10  Glenn Morris  <rgm@gnu.org>
 +      * find-gc.el: Move here from ../lisp/emacs-lisp.
  
        * admin.el (set-version-in-file): Don't set identical version.
        (set-version): Provide default version number.
        (set-version, set-copyright): Give start/end messages.
  
 -2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
  
        * notes/bzr: Update instructions for merging from gnulib.
        Remove obsolete note about tramp.el and tramp-sh.el.
        Change "emacs-23" to "emacs-24".
  
 +2014-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * grammars/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport.
 +
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * quick-install-emacs (AVOID): Remove testfile and test-distrib.
 +
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * update_autogen: Auto-detect VCS in use.
 +      (vcs): New variable.
 +      (status, commit, main): Handle git.
 +
  2014-03-07  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix oversight preventing lib/sys/types.h from being generated.
  
  2006-04-17  Ramprasad B  <ramprasad_i82@yahoo.com>
  
 -      * ./* (Copyright): Updated Copyright year(s).
 +      * ./* (Copyright): Update Copyright year(s).
  
  2006-02-24  Reiner Steib  <Reiner.Steib@gmx.de>
  
diff --combined admin/notes/copyright
index 109126a30625f4ccb35ef945d8632151df1dddbe,c5452c38037a6428fb80b4573605a9128029b458..f7565fe17215d85fcd7fdc496bf3b34cf34112f3
@@@ -22,7 -22,7 +22,7 @@@ author to make a non-trivial total. If 
  assignment. If adding a whole file adjust the copyright statements in
  the file.
  
- 2. When installing code written by someone else, the ChangeLog entry
+ 2. When installing code written by someone else, the commit
  should be in the name of the author of the code, not the person who
  installs it.  Also use commit's "--author" option.
  Do not install any of your own changes in the same commit.
@@@ -115,8 -115,8 +115,8 @@@ else it is possible the file should no
  report!).
  
  Note that it seems painfully clear that one cannot rely on commit logs,
- or even ChangeLogs, for older changes. People often installed changes
- from others, without recording the true authorship.
+ or even change log entries, for older changes. People often installed
changes from others, without recording the true authorship.
  
  [For reference, most of these points were established via email with
  rms, 2007/1, "Copyright years".
@@@ -137,10 -137,7 +137,10 @@@ GNUstep/Emacs.base/Resources/Info-gnust
  aclocal.m4
  configure
  m4/*.m4
 - - copyright FSF, with unlimited permission to copy, distribute and modify
 + - These files are copyright FSF, with unlimited permission to copy,
 +   distribute and modify, so long as the copyright notice is preserved.
 +   Exception: m4/pkg.m4 is copyright Scott James Remnant; it is
 +   distributed under the same terms as for the rest of Emacs.
  
  lib/Makefile.in
   - copyright FSF, with MIT-like license
@@@ -164,6 -161,13 +164,6 @@@ etc/letter.pbm,letter.xp
  etc/FTP, ORDERS
    - trivial (at time of writing), no license needed
  
 -etc/GNU, INTERVIEW, LINUX-GNU, MOTIVATION, SERVICE, THE-GNU-PROJECT,
 -WHY-FREE
 -  rms: "These are statements of opinion or testimony. Their licenses
 -  should permit verbatim copying only. Please don't change the
 -  licenses that they have. They are distributed with Emacs but they
 -  are not part of Emacs."
 -
  etc/HELLO
    standard notices. Just a note that although the file itself is not
    really copyrightable, in the wider context of it being part of
@@@ -316,6 -320,11 +316,6 @@@ licensing@fsf.org starting on Thu, 07 A
  "[gnu.org #58812] Changing license of MH-E manual"
  
  
 -msdos/is_exec.c, sigaction.c - these files are copyright DJ Delorie.
 -Leave the copyrights alone. Leave the Eli Zaretskii copyright in
 -is_exec.c alone. See the msdos/README file for the legal history of
 -these files.
 -
  msdos/sed*.inp - These files are copyright FSF and distributed under
  an MIT-like license.
  
@@@ -558,7 -567,8 +558,7 @@@ oldXMenu/insque.c (rms: "We wrote that 
  definitely relicense that.").
  
  2. The files that are copyright FSF and AIST, or AIST alone, should be
 -and were updated, ditto the oldXMenu files with FSF copyright, and
 -msdos/is_exec.c and sigaction.c.
 +and were updated, ditto the oldXMenu files with FSF copyright.
  
  3. lwlib/
  
diff --combined admin/notes/repo
index ded10324f63464f9f79bec7dba96de71ed9a17ab,46a9e08c69863af6d4b3f60f43ff4a8b7d80ea8e..97b4349ed6597893ad06ca0936d8bd471387145f
@@@ -1,9 -1,16 +1,16 @@@
  NOTES ON COMMITTING TO EMACS'S REPOSITORY    -*- outline -*-
  
- * Use DVCS commenting conventions
+ * Commit metainformation
  
- Commits should follow the conventions used in all modern distributed
- version-control systems. That is, they should consist of
+ ** Commit in the author's name
+ If installing changes written by someone else, commit them in their
+ name, not yours.
+ ** Commit message format
+ Commit messages should follow the conventions used in all modern
+ distributed version-control systems. That is, they should consist of
  
  - A self-contained topic line, preferably no more than 75 chars long.
  
    files, just copy the entries you made in them to the commit message
    after the blank line.)
  
+ - Preferred form for several entries with the same content:
+    * help.el (view-lossage):
+    * kmacro.el (kmacro-edit-lossage):
+    * edmacro.el (edit-kbd-macro): Fix docstring, lossage is now 300 keys.
+   (Rather than anything involving "ditto" and suchlike.)
++- Emacs generally follows the GNU coding standards when it comes to ChangeLogs:
++  http://www.gnu.org/prep/standards/html_node/Change-Logs.html
++  One exception is that we still sometimes quote `like-this' (as the
++  standards used to recommend) rather than 'like-this' (as they do now),
++  because `...' is so widely used elsewhere in Emacs.
++  http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00514.html
++
+ ** Unnecessary metainformation
+ There is no need to make separate change log entries for files such as
+ NEWS, MAINTAINERS, and FOR-RELEASE, or to indicate regeneration of
+ files such as 'configure'.  "There is no need" means you don't have
+ to, but you can if you want to.
  * Commit to the right branch
  
  Development normally takes places on the trunk.
@@@ -112,9 -134,9 +141,9 @@@ http://lists.gnu.org/archive/html/emacs
  
  [The section on git merge procedure has not yet been written]
  
- Inspect the ChangeLog entries (e.g. in case too many entries have been
+ Inspect the change log entries (e.g. in case too many entries have been
  included or whitespace between entries needs fixing). If someone made
- multiple ChangeLog entries on different days in the branch, you may
+ multiple change log entries on different days in the branch, you may
  wish to collapse them all to a single entry for that author in the
  trunk (because in the trunk they all appear under the same date).
  Obviously, if there are multiple changes to the same file by different
@@@ -166,4 -188,3 +195,3 @@@ again
  
  This is a semi-automated way to find the revision that introduced a bug.
  Browse `git help bisect' for technical instructions.
diff --combined autogen.sh
index 1945e8120b3142722f2b288a6a0e83c35d8feef0,69812cdcfe09cf5030bb137c58b85f165c9a85b1..614bdc71b61afbf9f8861da82335869312be29ae
@@@ -50,7 -50,7 +50,7 @@@ automake_min=`sed -n 's/^ *AM_INIT_AUTO
  get_version ()
  {
      ## Remove eg "./autogen.sh: line 50: autoconf: command not found".
 -    $1 --version 2>&1 | sed -e '/not found/d' -n -e '1 s/.* \([1-9][0-9\.]*\).*/\1/p'
 +    $1 --version 2>&1 | sed -e '/not found/d' -e 's/.* //' -n -e '1 s/\([0-9][0-9\.]*\).*/\1/p'
  }
  
  ## $1 = version string, eg "2.59"
@@@ -76,7 -76,7 +76,7 @@@ minor_version (
  check_version ()
  {
      ## Respect eg $AUTOMAKE if it is set, like autoreconf does.
 -    uprog=`echo $1 | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
 +    uprog=`echo $1 | sed -e 's/-/_/g' -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
  
      eval uprog=\$${uprog}
  
@@@ -114,9 -114,7 +114,9 @@@ missing
  
  for prog in $progs; do
  
 -    eval min=\$${prog}_min
 +    sprog=`echo "$prog" | sed 's/-/_/g'`
 +
 +    eval min=\$${sprog}_min
  
      echo "Checking for $prog (need at least version $min)..."
  
  
      if [ $retval -ne 0 ]; then
          missing="$missing $prog"
 -        eval ${prog}_why=\""$stat"\"
 +        eval ${sprog}_why=\""$stat"\"
      fi
  
  done
@@@ -149,9 -147,7 +149,9 @@@ Building Emacs from the repository requ
  EOF
  
      for prog in $progs; do
 -        eval min=\$${prog}_min
 +        sprog=`echo "$prog" | sed 's/-/_/g'`
 +
 +        eval min=\$${sprog}_min
  
          echo "$prog (minimum version $min)"
      done
@@@ -163,9 -159,7 +163,9 @@@ Your system seems to be missing the fol
  EOF
  
      for prog in $missing; do
 -        eval why=\$${prog}_why
 +        sprog=`echo "$prog" | sed 's/-/_/g'`
 +
 +        eval why=\$${sprog}_why
  
          echo "$prog ($why)"
      done
@@@ -194,7 -188,7 +194,7 @@@ this script
  If you know that the required versions are in your PATH, but this
  script has made an error, then you can simply run
  
 -autoreconf -i -I m4
 +autoreconf -fi -I m4
  
  instead of this script.
  
@@@ -204,19 -198,57 +204,59 @@@ EO
      exit 1
  fi
  
 -echo "Your system has the required tools, running autoreconf..."
 +echo 'Your system has the required tools.'
 +echo "Running 'autoreconf -fi -I m4' ..."
  
  
  ## Let autoreconf figure out what, if anything, needs doing.
 -autoreconf -i -I m4 || exit $?
 +## Use autoreconf's -f option in case autoreconf itself has changed.
 +autoreconf -fi -I m4 || exit $?
  
  ## Create a timestamp, so that './autogen.sh; make' doesn't
  ## cause 'make' to needlessly run 'autoheader'.
  echo timestamp > src/stamp-h.in || exit
  
 -echo "You can now run \`./configure'."
+ ## Install Git hooks, if using Git.
+ if test -d .git/hooks; then
+     tailored_hooks=
+     sample_hooks=
+     for hook in commit-msg pre-commit; do
+       cmp build-aux/git-hooks/$hook .git/hooks/$hook >/dev/null 2>&1 ||
+       tailored_hooks="$tailored_hooks $hook"
+     done
+     for hook in applypatch-msg pre-applypatch; do
+       cmp .git/hooks/$hook.sample .git/hooks/$hook >/dev/null 2>&1 ||
+       sample_hooks="$sample_hooks $hook"
+     done
+     if test -n "$tailored_hooks$sample_hooks"; then
+       echo "Installing git hooks..."
+       case `cp --help 2>/dev/null` in
+         *--backup*--verbose*)
+           cp_options='--backup=numbered --verbose';;
+         *)
+           cp_options='';;
+       esac
+       if test -n "$tailored_hooks"; then
+           for hook in $tailored_hooks; do
+               cp $cp_options build-aux/git-hooks/$hook .git/hooks || exit
+               chmod a-w .git/hooks/$hook || exit
+           done
+       fi
+       if test -n "$sample_hooks"; then
+           for hook in $sample_hooks; do
+               cp $cp_options .git/hooks/$hook.sample .git/hooks/$hook || exit
+               chmod a-w .git/hooks/$hook || exit
+           done
+       fi
+     fi
+ fi
 +echo "You can now run './configure'."
  
  exit 0
  
diff --combined doc/emacs/ChangeLog
index 1ce7aa15aeccf998174fe813a6987a48b709e240,e307ff3bd3a241472c71a878806f38aaee1b56f6..956f14b0bdb672b7a52ddff6b0f8d43fe4821683
@@@ -1,60 -1,32 +1,72 @@@
 -2014-11-19  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Lessen focus on ChangeLog files, as opposed to change log entries.
+       * maintaining.texi (Change Log): Mention that ChangeLog files may
+       be copied to or from a version control system.
+       * trouble.texi (Sending Patches): Point to the commit messages.
 -2014-11-19  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * maintaining.texi (Switching Branches): Mention "C-x v r".
+       Correct commands for switching branches in various VCSs.
  2014-11-16  Tassilo Horn  <tsdh@gnu.org>
  
        * misc.texi (DocView Slicing): Describe how to slice with the
        mouse.  Fix command mentioned by slice by BoundingBox paragraph.
        (Bug#18040)
  
 +2014-11-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * misc.texi (Network Security): Use "untrustworthy" instead of
 +      "unsafe".
 +
 +2014-11-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * misc.texi (Network Security): Improve wording and indexing of
 +      last change.
 +
 +2014-11-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * misc.texi (Gnus Summary Buffer): Move the Network Security
 +      Manager stuff here from the lispref manual.
 +
 +2014-11-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * maintaining.texi (Version Control Systems): Move "@end itemize"
 +      past the last @item.
 +
 +2014-11-21  H. Dieter Wilhelm  <dieter@duenenhof-wilhelm.de>
 +
 +      * maintaining.texi (Version Control Systems): Fix a typo.
 +
 +2014-11-20  Eric S. Raymond  <esr@snark.thyrsus.com>
 +
 +      * maintaining.texi: Document SRC support.
 +
 +2014-11-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (top_srcdir, version): New, set by configure.
 +      (doc-emacsver): New rule.
 +      (bootstrap-clean, maintainer-clean): Delete emacsver.texi.
 +      (emacsver.texi.in): Rename from emacsver.texi.
 +
 +2014-11-09  Juri Linkov  <juri@jurta.org>
 +
 +      * search.texi (Other Repeating Search): Add documentation for
 +      multi-isearch-files and multi-isearch-files-regexp.  (Bug#13592)
 +
  2014-11-09  Glenn Morris  <rgm@gnu.org>
  
        * Makefile.in (version): Remove variable.
        (clean): No longer delete dist tarfile.
        (dist): Remove rule; replace with code in admin.el.
  
 -2014-11-01  Glenn Morris  <rgm@gnu.org>
 +2014-11-03  Glenn Morris  <rgm@gnu.org>
  
        * programs.texi (Misc for Programs): Fix typo.
  
 -2014-10-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
  
        * frames.texi (Scroll Bars): Improve indexing of faces.
  
        * display.texi (Standard Faces, Text Display)
        (Useless Whitespace): Improve indexing of faces.
  
 -2014-10-23  Tassilo Horn  <tsdh@gnu.org>
 -
 -      * misc.texi (Document View): Adapt to latest doc-view changes wrt
 -      viewing the document's plain text contents.  [Backport]
 -
 -2014-10-23  Eli Zaretskii  <eliz@gnu.org>
 -
        * frames.texi (Frame Commands): Document and index
        'frame-resize-pixelwise'.
  
        * windows.texi (Split Window): Document and index
        'window-resize-pixelwise'.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +2014-10-22  Tassilo Horn  <tsdh@gnu.org>
  
 -      * ack.texi (Acknowledgments): Remove some obsolete items.
 -      * misc.texi (Emulation): Remove section.
 +      * misc.texi (Document View): Adapt to latest doc-view changes wrt
 +      viewing the document's plain text contents.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
  
  2014-10-13  Glenn Morris  <rgm@gnu.org>
  
        * Makefile.in (dist): Update for new output variables.
  
 -2014-10-06  Glenn Morris  <rgm@gnu.org>
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * macos.texi (Mac OS / GNUstep, Mac / GNUstep Basics)
 +      (Mac / GNUstep Customization): Mac OS X 10.6 or later now required.
 +
 +2014-10-09  Glenn Morris  <rgm@gnu.org>
  
        * package.texi (Package Menu): The package list was changed to not
        say "unsigned" any more.
  
 -2014-10-04  Glenn Morris  <rgm@gnu.org>
 +2014-10-05  Glenn Morris  <rgm@gnu.org>
  
        * misc.texi (Sorting):
        * search.texi (Query Replace): Markup fixes.
  
 +2014-10-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frames.texi (Scroll Bars): Describe use of horizontal scroll bars.
 +
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
        * cmdargs.texi (Misc X):
        * display.texi (Optional Mode Line):
        * misc.texi (emacsclient Options):
  
        * frames.texi (Frame Commands):
        * cmdargs.texi (Window Size X): Mention the use of
 -      `frame-resize-pixelwise' to make frames truly fullscreen or
 -      maximized.
 +      `frame-resize-pixelwise' to make frames truly fullscreen or maximized.
  
 -2014-10-01  Glenn Morris  <rgm@gnu.org>
 +2014-10-02  Glenn Morris  <rgm@gnu.org>
  
        * package.texi (Package Installation): Mention etc/package-keyring.gpg.
  
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * emacsver.texi (EMACSVER): Bump to 20.0.50.
 +
 +2014-09-15  Daniel Colascione  <dancol@dancol.org>
 +
 +      * regs.texi (Text Registers): Update end-user documentation
 +      to reflect `insert-register' interface change.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * programs.texi (Program Modes): Don't advertise VMS DCL support
 +      any more.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +
 +      * Makefile.in (EMACSSOURCES): ``MS-DOG'', ``MSDOG'' and ``msdog''
 +      become ``MS-DOS''; ``msdog'' in filenames becomes ``msdos''.
 +      * emacs-xtra.texi: ditto.
 +      * emacs.texi: ditto.
 +      * makefile.w32-in: ditto.
 +      * msdog-xtra.texi: ditto, and rename file.
 +      * msdog.texi: ditto, and rename file.
 +
  2014-07-21  Glenn Morris  <rgm@gnu.org>
  
        * emacs.texi (Intro): Workaround makeinfo 4 @acronym bug.  (Bug#18040)
  
 -2014-07-03  Juri Linkov  <juri@jurta.org>
 +2014-07-09  Juri Linkov  <juri@jurta.org>
  
        * search.texi (Regexp Search): Update lax space matching that is
        not active in regexp search by default now.  (Bug#17901)
  
 -2014-06-29  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * help.texi (Misc Help):
        * trouble.texi (Checklist): "Online" help doesn't mean what it
        used to any more.
  
 +2014-06-23  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (%.texi): Disable implicit rules.
 +      (mkinfodir): Remove.
 +      (.dvi.ps): Replace with pattern rule.
 +      (${buildinfodir}): New rule.
 +      ($(buildinfodir)/emacs.info): Use order-only prereq for output dir.
 +      Use $<.
 +      (emacs.dvi, emacs.pdf, emacs.html, emacs-xtra.dvi, emacs-xtra.pdf):
 +      Use $<.
 +      (%.ps): New rule.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (bootstrap-clean): New.
 +
 +2014-06-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
 +      (INFO_OPTS): Set directly rather than with configure.
 +
  2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * entering.texi (Entering Emacs): Small fix re initial-buffer-choice.
        * ack.texi (Acknowledgments):
        * emacs.texi (Acknowledgments): Updates.
  
 -2014-06-07  Glenn Morris  <rgm@gnu.org>
 +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)
  
  2014-03-13  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * mule.texi (International, Language Environments): Update
 -      the list of language environments to what Emacs currently
 +      * mule.texi (International, Language Environments):
 +      Update the list of language environments to what Emacs currently
        supports.  Add the full list to the index.  Suggest C-h L for
        details rather than trying to give very brief details here.
  
  
        * indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'.
  
 -      * frames.texi (Scroll Bars): Document
 -      `scroll-bar-adjust-thumb-portion'.
 +      * frames.texi (Scroll Bars):
 +      Document `scroll-bar-adjust-thumb-portion'.
  
  2013-12-21  Chong Yidong  <cyd@gnu.org>
  
  
        * entering.texi: Document `initial-buffer-choice' changes.
  
 -      * misc.texi (emacsclient Options): Document
 -      `initial-buffer-choice' changes.
 +      * misc.texi (emacsclient Options):
 +      Document `initial-buffer-choice' changes.
  
        * help.texi: Document that `?' now also shows subcommands of
        prefix keys.
  
        * misc.texi (Terminal emulator): Document Term mode faces.
  
 -      * mini.texi (Basic Minibuffer): New node.  Document
 -      minibuffer-electric-default-mode.
 +      * mini.texi (Basic Minibuffer): New node.
 +      Document minibuffer-electric-default-mode.
  
        * display.texi (Visual Line Mode): Fix index entry.
  
  
        * Makefile.in (MAKEINFO): Now controlled by `configure'.
        (MAKEINFO_OPTS): New variable.  Use it where appropriate.
 -      (ENVADD): Updated.
 +      (ENVADD): Update.
  
  2011-01-18  Glenn Morris  <rgm@gnu.org>
  
  
        * text.texi (Format Faces): Replace old M-g key prefix with M-o.
  
 -      * emacs.texi (Acknowledgments): Updated.
 +      * emacs.texi (Acknowledgments): Update.
  
        * anti.texi: Total rewrite.
  
  
        * frames.texi (Dialog Boxes): Add use-file-dialog.
  
 -2003-11-22  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2003-11-22  Martin Stjernholm  <mast@lysator.liu.se>
  
        * ack.texi: Note that Alan Mackenzie contributed the AWK support
        in CC Mode.
index ea6d60d5e65b490ae1eeac2d223bea1fd2972148,dd1c826909609a120300c1b076f938758dcc8106..8a06439ddde31d32d2346a31896c9fa055bafa72
@@@ -191,18 -191,6 +191,18 @@@ exception of repository sync operations
  Bazaar (bzr) is a decentralized version control system that supports
  both repository-based and decentralized versioning.  VC supports most
  basic editing operations under Bazaar.
 +
 +@cindex SRC
 +@cindex src
 +@item
 +SRC (src) is RCS, reloaded - a specialized version-control system
 +designed for single-file projects worked on by only one person. It
 +allows multiple files with independent version-control histories to
 +exist in one directory, and is thus particularly well suited for
 +maintaining small documents, scripts, and dotfiles.  While it uses RCS
 +for revision storage, it presents a modern user interface featuring
 +lockless operation and integer sequential version numbers.  VC
 +supports almost all SRC operations.
  @end itemize
  
  @node VCS Concepts
@@@ -1329,11 -1317,18 +1329,18 @@@ implemented, and these differences cann
    On some decentralized version control systems, including Bazaar and
  Mercurial in its normal mode of operation, each branch has its own
  working directory tree, so switching between branches just involves
- switching directories.  On Git, switching between branches is done
- using the @command{git branch} command, which changes the contents of
- the working tree itself.
-   On centralized version control systems, you can switch between
+ switching directories.  On Git, branches are normally @dfn{co-located}
+ in the same directory, and switching between branches is done using
+ the @command{git checkout} command, which changes the contents of the
+ working tree to match the branch you switch to.  Bazaar also supports
+ co-located branches, in which case the @command{bzr switch} command
+ will switch branches in the current directory.  With Subversion, you
+ switch to another branch using the @command{svn switch} command.
+   The VC command to switch to another branch in the current directory
+ is @kbd{C-x v r @var{branch-name} @key{RET}} (@code{vc-retrieve-tag}).
+   On centralized version control systems, you can also switch between
  branches by typing @kbd{C-u C-x v v} in an up-to-date work file
  (@pxref{Advanced C-x v v}), and entering the revision ID for a
  revision on another branch.  On CVS, for instance, revisions on the
@@@ -1479,9 -1474,11 +1486,11 @@@ different revision with @kbd{C-u C-x v 
  @cindex change log
    Many software projects keep a @dfn{change log}.  This is a file,
  normally named @file{ChangeLog}, containing a chronological record of
- when and how the program was changed.  Sometimes, there are several
- change log files, each recording the changes in one directory or
- directory tree.
+ when and how the program was changed.  Sometimes, these files are
+ automatically generated from the change log entries stored in version
+ control systems, or are used to generate these change log entries.
+ Sometimes, there are several change log files, each recording the
+ changes in one directory or directory tree.
  
  @menu
  * Change Log Commands:: Commands for editing change log files.
diff --combined doc/lispref/ChangeLog
index 74966431a45d99b325d7bddc7adfe20d93ccf204,9f8461c154a08ac3e37f27bfdcf4e85c2c0e08bf..31a9cbf04e4f95640b14c12d5ec4bc27e9c8ee3d
 -2014-11-19  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Lessen focus on ChangeLog files, as opposed to change log entries.
+       * intro.texi (Acknowledgments): ChangeLog file -> change log entries.
+       * tips.texi (Library Headers): Emacs uses a version control system.
 +2014-11-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * text.texi (Document Object Model): Mention `dom-pp'.
 +
 +2014-11-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * text.texi (Document Object Model): New node to document dom.el.
 +
 +2014-11-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * processes.texi (Network Security): Made into its own section and
 +      fleshed out.
 +      (Network Security): Mention more NSM variables.
 +      (Processes): Moved the Network Security Manager stuff to the Emacs
 +      manual.
 +
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * processes.texi (Network): Mention the new :warn-unless-encrypted
 +      parameter to `open-network-stream'.
 +      (Network): Mention the Network Security Manager.
 +
 +2014-11-21  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * text.texi (Parsing HTML/XML): Document new optional parameter
 +      'discard-comments' of 'libxml-parse(html|xml)-region'.
 +
 +2014-11-18  Leo Liu  <sdl.web@gmail.com>
 +
 +      * functions.texi (Advising Named Functions): Document
 +      define-advice.
 +
 +2014-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve time stamp handling, and be more consistent about it.
 +      * os.texi (Time of Day, Time Conversion, Time Parsing)
 +      (Processor Run Time, Time Calculations):
 +      Document the new behavior, plus be clearer about the old behavior.
 +      (Idle Timers): Take advantage of new functionality.
 +
 +2014-11-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * text.texi (Special Properties): Mention `inhibit-read-only'.
 +
 +2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * os.texi (Time of Day):
 +      Use leading zero with 24-hour times less than 10:00.
 +
  2014-11-09  Glenn Morris  <rgm@gnu.org>
  
        * Makefile.in (version): Remove variable.
        (clean): No longer delete dist tarfile.
        (dist): Remove rule; replace with code in admin.el.
  
 +2014-11-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frames.texi (Size and Position): Rewrite description of
 +      `frame-inhibit-implied-resize'.
 +
 +2014-10-22  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frames.texi (Size Parameters): Replace "frame contents" by
 +      "frame's text area".  Add reference to Size and Position
 +      section.
 +      (Size and Position): Major rewrite.  Add explanations for
 +      frame's default font, text and display areas.  Add descriptions
 +      for `set-frame-font', `frame-text-height', `frame-text-width'
 +      and `frame-inhibit-implied-resize'.
 +
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-20  Tom Tromey  <tom@tromey.com>
 +
 +      * objects.texi (Type Predicates): Don't mention display-table-p.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * nonascii.texi (Character Properties): Document the new
 +      properties 'bracket-type' and 'paired-bracket'.
 +
 +      * display.texi (Bidirectional Display): Update the version of the
 +      UBA to which we are conforming.
  
  2014-10-13  Glenn Morris  <rgm@gnu.org>
  
        * Makefile.in (dist): Update for new output variables.
  
 -2014-10-09  Glenn Morris  <rgm@gnu.org>
 +2014-10-12  Glenn Morris  <rgm@gnu.org>
  
        * elisp.texi (DATE): Bump to October 2014.
  
 +2014-10-09  Glenn Morris  <rgm@gnu.org>
 +
        * frames.texi (Multiple Terminals): Copyedits.
  
 -2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-09  Eli Zaretskii  <eliz@gnu.org>
  
        * frames.texi (Multiple Terminals): Improve the description of X
        display names.  Add index entries.
        frame might be positioned differently than specified by the frame
        parameters alist.
  
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * streams.texi (Output Functions): Document new argument ENSURE to
 +      terpri.  (Bug#18652)
 +
 +2014-10-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * display.texi (Scroll Bars): Add description of horizontal scroll
 +      bars and associated functions.
 +      * frames.texi (Layout Parameters): Add horizontal scroll bar
 +      entries.  Remove paragraph on "combined fringe widths".
 +      * windows.texi (Window Sizes): Describe affects of horizontal
 +      scroll bars on window layout and sizes.  Fix description of
 +      window-full-height-p.
 +      (Resizing Windows): Mention horizontal scroll bar.
 +
  2014-10-04  Glenn Morris  <rgm@gnu.org>
  
        * commands.texi (Generic Commands): Copyedits.
  2014-10-03  Martin Rudalics  <rudalics@gmx.at>
  
        * frames.texi (Size Parameters, Size and Position): Mention that
 -      with some window managers you have to set
 -      `frame-resize-pixelwise' in order make a frame truly fullscreen
 -      or maximized.
 +      with some window managers you have to set `frame-resize-pixelwise'
 +      in order make a frame truly fullscreen or maximized.
 +
 +2014-10-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve doc for use of 'int', and discuss 'ssize_t'.
 +      * internals.texi (C Integer Types): Mention 'int' for other
 +      randomish values that lie in 'int' range.  Mention 'ssize_t'.  See:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00019.html
 +
 +      Use AUTO_CONS instead of SCOPED_CONS, etc.
 +      * internals.texi (Stack-allocated Objects):
 +      Adjust to match the revised, less error-prone macros.
 +
 +2014-09-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * internals.texi (Stack-allocated Objects): Further improvements.
 +      Give an example of misuse.
 +
 +2014-09-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * internals.texi (Stack-allocated Objects): Minor improvements of
 +      the wording and the indexing.
  
 -2014-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-09-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * internals.texi (Stack-allocated Objects): Describe this feature.
 +
 +2014-09-15  Daniel Colascione  <dancol@dancol.org>
 +
 +      * text.texi (Registers): Make `insert-register' documentation
 +      reflect interface change.
 +
 +2014-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * functions.texi (Core Advising Primitives): Add a note about the
        confusing treatment of `interactive' for :filter-args (bug#18399).
  
 -2014-08-19  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-07  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * strings.texi (Text Comparison): Describe `string-collate-equalp'
 +      and `string-collate-lessp'.
 +
 +2014-09-06  Leo Liu  <sdl.web@gmail.com>
 +
 +      * control.texi (Pattern matching case statement): Document vector
 +      qpattern.  (Bug#18327)
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lists.texi (Functions that Rearrange Lists): Remove
 +      description of sort ...
 +      * sequences.texi (Sequence Functions): ... and generalize
 +      it for sequences.  Add an example.
 +
 +2014-08-28  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Bidirectional Display): Update the Emacs's class
        of bidirectional conformance.
  
 -2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * eval.texi (Eval): Mention possible recovery from stack overflow.
 +
 +2014-07-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * internals.texi (Garbage Collection): Fix last change.
 +
 +2014-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * internals.texi (Garbage Collection): Mention memory-info.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * minibuf.texi (Intro to Minibuffers, Reading a Password):
 +      Password hiding is available in batch mode, do not mention it in
 +      the exclusion list.  Mention `read-hide-char'.  (Bug#17839)
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * debugging.texi (Function Debugging, Debugger Commands):
        Update debug-on-entry w.r.t behavior after redefinitions (bug#17902).
  
 -2014-06-29  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * help.texi (Help Functions): "Online" help doesn't mean what it
        used to any more.
  
 -2014-06-26  Glenn Morris  <rgm@gnu.org>
 +2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keymaps.texi (Key Lookup): Remove mention of indirect entries.
 +      (Scanning Keymaps): Reword the `noindirect' argument.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * minibuf.texi (Intro to Minibuffers): Batch mode is basic.
        (Reading a Password): Mention batch mode.  (Bug#17839)
  
 +2014-06-23  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (%.texi): Disable implicit rules.
 +      (mkinfodir): Remove.
 +      (.dvi.ps): Replace with explicit rule.
 +      (html): Declare as PHONY.
 +      (${buildinfodir}): New rule.
 +      ($(buildinfodir)/elisp.info): Use order-only prereq for output dir.
 +      Use $<.
 +      (elisp.dvi, elisp.html, elisp.pdf): Use $<.
 +      (elisp.ps): New rule.
 +
  2014-06-21  Eli Zaretskii  <eliz@gnu.org>
  
        * positions.texi (Screen Lines): Clarify how columns are counted
        by vertical-motion.
  
 -2014-06-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (bootstrap-clean): New.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
  
        * commands.texi (Accessing Mouse): Improve the wording of the
        posn-col-row documentation.  (Bug#17768)
  
 +2014-06-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (INFO_EXT): Remove and replace by ".info" throughout.
 +      (INFO_OPTS): Set directly rather than with configure.
 +
 +2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Say (accept-process-output P)'s result pertains to P if P is non-nil.
 +      * processes.texi (Accepting Output): Mention that if PROCESS is non-nil,
 +      the return value is about PROCESS, not about other processes.
 +
  2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * os.texi (Startup Summary): Small fix for initial-buffer-choice.
  
        * numbers.texi (Comparison of Numbers): Copyedits.
  
 -2014-06-06  Glenn Morris  <rgm@gnu.org>
 +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>
 +
 +      * errors.texi (Standard Errors): Document required error
 +      parameters for `scan-error'.
  
 -2014-04-04  Glenn Morris  <rgm@gnu.org>
 +      * 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.
        (texinputdir, $(infodir)/elisp): Use $(MAKEINFO_OPTS).
  
  2011-01-25  Chong Yidong  <cyd@stupidchicken.com>
-             Richard Kim  <emacs18@gmail.com>
+           Richard Kim  <emacs18@gmail.com>
  
        * loading.texi (Library Search): Document list-load-path-shadows
        (Bug#7757).
diff --combined etc/ChangeLog
index a23524af11f88308acc49de9b401d04cafe884f9,a416c86cb8734687f66b355d29a5537976020e93..09dfd7f2e3597e176a17b4d72144a21d7287877b
@@@ -1,31 -1,12 +1,37 @@@
 -2014-11-19  Paul Eggert  <eggert@cs.ucla.edu>
++2014-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       Lessen focus on ChangeLog files, as opposed to change log entries.
+       * CONTRIBUTE: Give advice about git commit messages and how
+       to generate proposed patches containing them.
 +2014-11-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention dom.el.
 +
 +2014-11-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention NSM.
 +
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention `url-request-noninteractive'.
 +
 +2014-11-19  Leo Liu  <sdl.web@gmail.com>
 +
 +      * NEWS: Mention new macro define-advice.
 +
 +2014-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve time stamp handling, and be more consistent about it.
 +      * NEWS: Document the changes.
 +
 +2014-11-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention the new `M-s M-s' keystroke.
 +
  2014-11-13  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Backport fix for minor Bazaar leftovers.
 +      Fix minor Bazaar leftovers.
        Reported by Perry E. Metzger in:
        http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00745.html
        * CONTRIBUTE: More git transition.
  
        * CONTRIBUTE: git transition.
  
 +2014-11-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention that you can have several eww buffers (bug#16211).
 +
 +2014-11-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * refcards/emacsver.tex.in: Rename from emacsver.tex.
 +
 +2014-11-09  Eric Ludlam <zappo@gnu.org>
 +
 +      * srecode/doc-cpp.srt (mode): Set to c mode so this works with
 +      both C and C++.
 +
 +2014-11-05  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * NEWS: Mention `url-user-agent'.  (Bug#16498)
 +
 +2014-09-13  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * NEWS: Mention prefix argument of `quick-calc'.
 +
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * NEWS: Teroffs and detachable tool bar for Gtk+ is gone.
 +
 +2014-10-19  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * images/newsticker/rss-feed.png: New.
 +
 +      * images/newsticker/rss-feed.svg: New.
 +
 +      * images/newsticker/README: Add rss-feed.png, rss-feed.svg.
 +
 +2014-10-18  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * NEWS: Mention new whitespace-mode option: big-indent.
 +
 +2014-10-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * NEWS: Mention multipart/related.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * NEWS: Mention the UBA implementation update.
 +
 +      * HELLO: Remove now unneeded directional control characters.
 +
 +2014-10-13  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * NEWS: Move and clarify OSX >= 10.6.
 +
 +2014-10-12  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * NEWS: OSX required is 10.6 or newer.
 +
 +2014-10-09  Leo Liu  <sdl.web@gmail.com>
 +
 +      * NEWS: Mention optional arg to terpri and new cl-lib functions.
 +
 +2014-10-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * NEWS: Mention ns-use-fullscreen-animation.
  
- 2014-09-30  Bill Wohler        <wohler@newt.com>
+ 2014-09-30  Bill Wohler  <wohler@newt.com>
  
        Release MH-E version 8.6
  
        * NEWS, MH-E-NEWS: Update for MH-E release 8.6.
  
 -2014-09-29  Fabrice Niessen  <fniessen@pirilampo.org>
 +2014-09-30  Fabrice Niessen  <fniessen@pirilampo.org>
  
        * themes/leuven-theme.el: Updates.
  
 -2014-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * package-keyring.gpg: New file.
  
 +2014-09-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * TODO: Remove char/unsigned char, long long, IRIX unexelf.c.
 +      The first two are done, and IRIX support has been dropped.
 +
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * refcards/ru-refcard.tex: Bump version to 25.0.50.
 +
 +      * refcards/emacsver.tex: Bump version to 25.0.50.
 +
 +2014-09-14  Daniel Colascione  <dancol@dancol.org>
 +
 +      * NEWS: Mention changes to `insert-register'
 +
 +2014-09-13  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * NEWS: Mention nil `calendar-mode-line-format' will not modify
 +      the mode line of the calendar buffer.  (Bug#18467)
 +
 +2014-09-06  Leo Liu  <sdl.web@gmail.com>
 +
 +      * NEWS: Mention vector qpattern for pcase.  (Bug#18327).
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * NEWS: Mention that ls-lisp uses string-collate-lessp.
 +
 +2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      --enable-silent-rules now suppresses more chatter.
 +      * NEWS: Document this.
 +
 +2014-08-29  Leo Liu  <sdl.web@gmail.com>
 +
 +      * NEWS: Mention (:append FUN) to minibuffer-with-setup-hook.
 +
 +2014-08-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * NEWS: Mention w32-collate-ignore-punctuation.
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * NEWS: Mention that `sort' can handle vectors.
 +
  2014-08-28  Glenn Morris  <rgm@gnu.org>
  
        * emacs.appdata.xml: New file; description from Emacs's homepage.
  
 -2014-07-12  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * NEWS: Mention that string-collate-* functions are supported on
 +      MS-Windows as well.
  
 -      * PROBLEMS: Mention the problem from bug #17950.
 +2014-08-08  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -2014-07-04  Eli Zaretskii  <eliz@gnu.org>
 +      * compilation.txt (file): Add Guile backtrace example.
  
 -      * TODO: Remove items that were already done.  Rearrange a few
 -      items that are closely related.  Update a couple of items with new
 -      information.
 +2014-08-09  Reuben Thomas  <rrt@sc3d.org>
  
 -      * NEWS: Mention 'network-interface-list' and 'network-interface-info'
 -      being available on MS-Windows.
 +      * PROBLEMS: Remove msdos/is_exec.c and sigaction.c.
  
 -2014-06-29  Glenn Morris  <rgm@gnu.org>
 +2014-07-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * TODO: remove frame height remark.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * NEWS: Passwords in batch mode are hidden.
 +
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * refcards/calccard.tex (section{Getting Help}):
        Meaning of "on-line" has changed.
  
 -2014-06-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * publicsuffix.txt: Update from source.
  
 +2014-06-24  Eli Barzilay  <eli@barzilay.org>
 +
 +      * NEWS: calculator.el user-visible changes.
 +
 +2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * NEWS: New Tramp method "nc".
 +
  2014-06-08  Leo Liu  <sdl.web@gmail.com>
  
        * themes/deeper-blue-theme.el: Use another fix.  (Bug#17695)
  
 -2014-06-05  Juri Linkov  <juri@jurta.org>
 +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.
  
        * orgcard.tex (section{Motion}): Add the item navigation commands.
        (section{Publishing}): New section.
 -      (section{Links}): Documented elisp and shell links.
 +      (section{Links}): Document elisp and shell links.
  
  2006-05-20  Rodrigo Real  <rreal@ucpel.tche.br>
  
diff --combined etc/PROBLEMS
index 3401f4895e005531245f4370d8edb163d5ba70a6,771c9d9d69b620c7647f359a575aef4b0b0f0875..67a26b93b2a9c4a1270390c6ab3496a94090993a
@@@ -835,20 -835,6 +835,20 @@@ you want to use fcitx with Emacs, you h
  by another key (e.g. C-\) by modifying ~/.fcitx/config, or be
  accustomed to use C-@ for `set-mark-command'.
  
 +*** Link-time optimization with clang doesn't work on Fedora 20.
 +
 +As of May 2014, Fedora 20 has broken LLVMgold.so plugin support in clang
 +(tested with clang-3.4-6.fc20) - `clang --print-file-name=LLVMgold.so'
 +prints `LLVMgold.so' instead of full path to plugin shared library, and
 +`clang -flto' is unable to find the plugin with the following error:
 +
 +/bin/ld: error: /usr/bin/../lib/LLVMgold.so: could not load plugin library:
 +/usr/bin/../lib/LLVMgold.so: cannot open shared object file: No such file
 +or directory
 +
 +The only way to avoid this is to build your own clang from source code
 +repositories, as described at http://clang.llvm.org/get_started.html.
 +
  *** M-SPC seems to be ignored as input.
  
  See if your X server is set up to use this as a command
@@@ -1247,7 -1233,7 +1247,7 @@@ https://bugzilla.xfce.org/show_bug.cgi?
  
  When you start Emacs you may see something like this:
  
 -(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion 
 +(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion
  `GTK_IS_MENU_SHELL(menu)' failed
  
  This happens if the Emacs binary has been renamed.  The cause is the Ubuntu
@@@ -1962,11 -1948,11 +1962,11 @@@ accessible by right-clicking "My Comput
  ** Emacs crashes when exiting the Emacs session
  
  This was reported to happen when some optional DLLs, such as those
- used for displaying images or the GnuTLS library, which are loaded
- on-demand, have a runtime dependency on the libgcc DLL,
- libgcc_s_dw2-1.dll.  The reason seems to be a bug in libgcc which
- rears its ugly head whenever the libgcc DLL is loaded after Emacs has
- started.
+ used for displaying images or the GnuTLS library or zlib compression
+ library, which are loaded on-demand, have a runtime dependency on the
+ libgcc DLL, libgcc_s_dw2-1.dll.  The reason seems to be a bug in
+ libgcc which rears its ugly head whenever the libgcc DLL is loaded
after Emacs has started.
  
  One solution for this problem is to find an alternative build of the
  same optional library that does not depend on the libgcc DLL.
  
  (The -R option disables address space randomization.)
  
 -*** test-distrib says that the distribution has been clobbered.
 -*** or, temacs prints "Command key out of range 0-127".
 -*** or, temacs runs and dumps emacs, but emacs totally fails to work.
 -*** or, temacs gets errors dumping emacs.
 -
 -This can be because the .elc files have been garbled.  Do not be
 -fooled by the fact that most of a .elc file is text: these are
 -binary files and can contain all 256 byte values.
 -
 -If you have a copy of Emacs whose .elc files have been damaged in this
 -way, you should be able to fix it by using:
 -
 - make bootstrap
 -
 -to regenerate all the .elc files.
 -
  *** temacs prints "Pure Lisp storage exhausted".
  
  This means that the Lisp code loaded from the .elc and .el files during
@@@ -2587,6 -2589,27 +2587,6 @@@ occurring with older versions of GCC (e
  This is due to a bug in the bcopy implementation in openSUSE 10.3.
  It is/will be fixed in an openSUSE update.
  
 -** Installation
 -
 -*** On Solaris, use GNU Make when installing an out-of-tree build
 -
 -The Emacs configuration process allows you to configure the
 -build environment so that you can build emacs in a directory
 -outside of the distribution tree.  When installing Emacs from an
 -out-of-tree build directory on Solaris, you may need to use GNU
 -make.  The make programs bundled with Solaris support the VPATH
 -macro but use it differently from the way the VPATH macro is
 -used by GNU make.  The differences will cause the "make install"
 -step to fail, leaving you with an incomplete emacs
 -installation.  GNU make is available in /usr/sfw/bin on Solaris
 -10 and can be installed as /opt/sfw/bin/gmake from the Solaris 9
 -Software Companion CDROM.
 -
 -The problems due to the VPATH processing differences affect only
 -out of tree builds so, if you are on a Solaris installation
 -without GNU make, you can install Emacs completely by installing
 -from a build environment using the original emacs distribution tree.
 -
  ** First execution
  
  *** Emacs binary is not in executable format, and cannot be run.
@@@ -2850,6 -2873,19 +2850,6 @@@ This is an unfortunate side-effect of t
  device names such as /dev/null in the DJGPP runtime library.  A
  work-around is to rename the problem directory to another name.
  
 -*** MS-DOS+DJGPP: Problems on MS-DOS if DJGPP v2.0 is used to compile Emacs.
 -
 -There are two DJGPP library bugs which cause problems:
 -
 -  * Running `shell-command' (or `compile', or `grep') you get
 -    `Searching for program: permission denied (EACCES), c:/command.com';
 -  * After you shell to DOS, Ctrl-Break kills Emacs.
 -
 -To work around these bugs, you can use two files in the msdos
 -subdirectory: `is_exec.c' and `sigaction.c'.  Compile them and link
 -them into the Emacs executable `temacs'; then they will replace the
 -incorrect library functions.
 -
  *** MS-DOS: Emacs compiled for MSDOS cannot find some Lisp files, or other
  run-time support files, when long filename support is enabled.
  
diff --combined lisp/ChangeLog
index 782481f8d0c90fe07f6d3dc1df90fa46791221ca,8c480190c179463b7b2380697a811c84875afedf..2a450a7acff34a40a7d6b7ef5aebb9065193ca92
 -2014-11-27  Stephen Berman  <stephen.berman@gmx.net>
++2014-11-29  Stephen Berman  <stephen.berman@gmx.net>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
+       * outline.el (outline-move-subtree-down): Make sure we can move
+       forward to find the end of the subtree and the insertion point
+       (bug#19102).
 -2014-11-27  Leonard Randall  <leonard.a.randall@gmail.com>
++2014-11-29  Leonard Randall  <leonard.a.randall@gmail.com>
+       * textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search
+       for comment lines non-greedy and stopping at newlines to fix stack
+       overflows with large files. [Backport]
 -2014-11-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
++2014-11-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+       * progmodes/python.el (python-shell-completion-setup-code): Use
+       __builtin__ module (or builtins in Python 3) and catch all errors
+       when importing readline and rlcompleter.
 -2014-11-26  Stephen Berman  <stephen.berman@gmx.net>
++2014-11-29  Stephen Berman  <stephen.berman@gmx.net>
+       * calendar/todo-mode.el: Handle calling revert-buffer (bug#19187).
+       (todo-revert-buffer): New function.
+       (todo-modes-set-1): Use it as the buffer-local value of
+       revert-buffer-function.
 -2014-11-26  Stephen Berman  <stephen.berman@gmx.net>
++2014-11-29  Stephen Berman  <stephen.berman@gmx.net>
+       * calendar/todo-mode.el (todo-mode): If called interactively, just
+       display a message saying to call todo-show to enter Todo mode
+       (Bug#19112).
 -2014-11-24  Dmitry Gutov  <dgutov@yandex.ru>
++2014-11-29  Dmitry Gutov  <dgutov@yandex.ru>
+       * vc/vc-hg.el (vc-hg-dir-status-files): Include ignored files.
+       (Bug#18579)
+       * vc/vc-bzr.el (vc-bzr-after-dir-status): Don't skip ignored
+       files.  (Bug#18579)
 -2014-11-23  Michael Albinus  <michael.albinus@gmx.de>
++2014-11-29  Michael Albinus  <michael.albinus@gmx.de>
+       * textmodes/makeinfo.el (makeinfo-buffer): Make it work also for
+       remote `buffer-file-name'.
 -2014-11-23  Leo Liu  <sdl.web@gmail.com>
++2014-11-29  Leo Liu  <sdl.web@gmail.com>
+       * calendar/diary-lib.el (calendar-mark-1): Fix thinko.
 -2014-11-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
++2014-11-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+       Set PYTHONUNBUFFERED on shell startup.
+       * progmodes/python.el (python-shell-unbuffered): New var.
+       (python-shell-calculate-process-environment): Use it.
 -2014-11-22  Michael Albinus  <michael.albinus@gmx.de>
++2014-11-29  Michael Albinus  <michael.albinus@gmx.de>
+       * net/tramp.el (tramp-action-password): Clean password on subsequent
+       attempts even if there was no wrong password indication.  (Bug#19047)
+       * net/tramp-sh.el (tramp-get-remote-locale): Return "LC_ALL=C" as
+       fallback.
+       (tramp-open-connection-setup-interactive-shell): No need to check
+       for nil as `tramp-get-remote-locale' return value.
 -2014-11-21  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * vc/vc-git.el (vc-git-command, vc-git--call): Bind
+       coding-system-for-read and coding-system-for-write to
+       vc-git-commits-coding-system.
+       (vc-git-previous-revision): Use "~1" instead of "^", since the
+       latter is a special character for MS-Windows system shells.
 -2014-11-20  Michael Albinus  <michael.albinus@gmx.de>
++2014-11-29  Michael Albinus  <michael.albinus@gmx.de>
+       Improve XEmacs compatibility.
+       * net/tramp.el (tramp-autoload-file-name-handler):
+       Wrap `temporary-file-directory' by `symbol-value', it doesn't
+       exist in XEmacs.
+       (tramp-read-passwd): Don't use `with-timeout-suspend' and
+       `with-timeout-unsuspend' if they don't exist, like in XEmacs.
+       (tramp-time-less-p, tramp-time-subtract): Remove functions.
+       (tramp-handle-file-newer-than-file-p, tramp-time-diff):
+       * net/tramp-adb.el (tramp-adb-ls-output-time-less-p):
+       * net/tramp-cache.el (tramp-get-file-property):
+       * net/tramp-smb.el (tramp-smb-handle-insert-directory):
+       Use `time-less-p' and `time-subtract, respectively.
+       * net/tramp-adb.el (top): Do not require time-date.el.
+       * net/tramp-compat.el (top): Require time-date.el for XEmacs.
+       * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
+       Check, whether `utf-8' is a valid coding system.
 -2014-11-19  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * vc/vc.el (vc-retrieve-tag): Doc fix.
 +2014-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (execute-extended-command--shorter): Fix the "M-p" case
 +      (bug#19152).
 +
 +2014-11-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      Fix two issues around help-window-select.  (Bug#11039) (Bug#19012)
 +      * help.el (help-window-old-frame): New variable.
 +      (help-window-select): Default to nil (Bug#11039).
 +      Rewrite doc-string.
 +      (help-window-setup): When the help window appears on another
 +      frame and `help-window-select' is non-nil, give that frame input
 +      focus too (Bug#19012).
 +      (with-help-window): Store selected frame in
 +      help-window-old-frame.
 +
 +2014-11-28  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-treeview.el (newsticker--treeview-load): Take care of
 +      nil value for `newsticker-groups-filename'.
 +
 +2014-11-28  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region)
 +      (epa-sign-region, epa-encrypt-region):
 +      Use `epg-context-set-{passphrase,progress}-callback', instead of
 +      `setf'.  This partially reverts commit 9e48a95c (bug#19150).
 +      Reported by José A. Romero L.
 +
 +2014-11-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-restore-history):
 +      Bind `inhibit-modification-hooks' instead of `after-change-functions'.
 +
 +2014-11-27  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-backend.el (newsticker--parse-atom-1.0):
 +      Handle embedded (x)html in summary node.
 +
 +2014-11-27  Sam Steingold  <sds@gnu.org>
 +
 +      * menu-bar.el (menu-bar-open): When everything else fails,
 +      use (mouse-menu-bar-map).
 +
 +2014-11-27  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-treeview.el (newsticker-groups-filename):
 +      Change default value to nil.  Point out that variable is obsolete in doc
 +      string.
 +      (newsticker--treeview-load): Change wording of the questions the
 +      user is asked when `newsticker-groups-filename' is found to be
 +      used and we offer to read and remove the groups file. (bug#19165)
 +
 +2014-11-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww): Record the new URL immediately, so that if the
 +      HTTP fetch fails, we have the right URL in the buffer.
 +      (eww-process-text-input): Don't shorten the input field if
 +      deleting at the last character (bug#19085).
 +      (eww-restore-history): Inhibit change functions while restoring
 +      the history.
 +      (eww-process-text-input): Fix deletion at the start of the field, too.
 +      (eww-mode): Revert mistanken removal of `buffer-disable-undo'.
 +      (eww-process-text-input): Try to keep track of the size more reliably.
 +
 +      * dom.el (dom-pp): New function.
 +
  2014-11-17  Eli Zaretskii  <eliz@gnu.org>
  
        * vc/vc-bzr.el (vc-bzr-print-log, vc-bzr-expanded-log-entry):
  
  2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -      * progmodes/python.el (python-eldoc--get-doc-at-point): Strip
 -      shell output before returning.  (bug#18794)
 +      * progmodes/python.el (python-eldoc--get-doc-at-point):
 +      Strip shell output before returning.  (bug#18794)
  
  2014-11-16  Dmitry Gutov  <dgutov@yandex.ru>
  
  
        * window.el (handle-select-window): Deactivate shift-region (bug#19003).
  
 -2014-11-15  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-11-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * version.el (emacs-repository-get-version): Use git rev-parse
 -      instead of git log.
 +      * net/nsm.el (nsm-new-fingerprint-ok-p): Display the certificate
 +      when querying about new certificates.
  
 -2014-11-15  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +      * net/shr.el (shr-make-table-1): dom.el changes for table rendering.
  
 -      * progmodes/python.el (python-indent-calculate-levels): Fix
 -      indentation behavior multiline dedenter statement.  (Bug#18432)
 +      * dom.el (dom-by-tag): Use `equal' for comparisons so that tags
 +      can be strings.
 +      (dom-elements): Protect against non-text nodes.
 +      (dom-non-text-children): New function.
  
 -2014-11-15  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +      * net/eww.el (eww-tag-title): Use `dom-text'.
  
 -      * progmodes/python.el (python-indent-region): Use
 -      python-indent-line and skip special cases.  (Bug#18843)
 +2014-11-26  Sam Steingold  <sds@gnu.org>
  
 -2014-11-15  Michael Albinus  <michael.albinus@gmx.de>
 +      * textmodes/sgml-mode.el (sgml-validate-command): Pass -utf8 to tidy.
  
 -      * vc/vc-hg.el (vc-hg-state): Disable pager.  (Bug#18940)
 +2014-11-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2014-10-28  Peder O. Klingenberg  <peder@klingenberg.no>  (tiny change)
 +      * net/eww.el (eww-highest-readability): More dom.el fixes.
  
 -      * mail/emacsbug.el (report-emacs-bug): Make a better guess at
 -        envelope-from when reporting through sendmail (bug#19054).
 +2014-11-26  Ulf Jasper  <ulf.jasper@web.de>
  
 -2014-11-14  Ivan Andrus  <darthandrus@gmail.com>
 +      * net/newst-backend.el (newsticker--parse-generic-items):
 +      Take care of UIDs when adding elements to cache.
  
 -      * progmodes/python.el (python-ffap-module-path): Use
 -      `derived-mode-p' instead of equality test on `major-mode'.
 +2014-11-26  Alan Mackenzie  <acm@muc.de>
  
 -2014-11-13  Ulrich Müller  <ulm@gentoo.org>
 +      Remove spurious reference to symbol category_properties.
 +      * progmodes/cc-engine.el (c-state-pp-to-literal): Fix here.
  
 -      * version.el (emacs-repository-get-version): Call `git log'
 -      command with proper format argument (bug#19049).
 +2014-11-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2014-11-10  Glenn Morris  <rgm@gnu.org>
 +      * net/eww.el: Use the new dom.el accessors throughout.
  
 -      * startup.el (command-line): Handle nil elements in load-path.
 +      * net/shr.el: Ditto.
  
 -2014-11-08  Glenn Morris  <rgm@gnu.org>
 +      * dom.el: New file.
  
 -      * emacs-lisp/bytecomp.el (byte-compile-report-error):
 -      Allow the argument to be a string.  Due to the vague doc,
 -      it was already being used this way.
 +2014-11-26  Glenn Morris  <rgm@gnu.org>
  
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
 +      * arc-mode.el (archive-visit-single-files): Add :version.
  
 -      * net/tramp.el (tramp-check-cached-permissions): Include hop in
 -      the constructed Tramp file name.  (Bug#18943)
 +2014-11-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2014-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * net/nsm.el (nsm-format-certificate): Don't bug out on missing
 +      elements.
 +      (nsm-warnings-ok-p): The new version of this function always
 +      returned nil when everything was OK.
  
 -      * emulation/cua-base.el (cua--select-keymaps): Use region-active-p
 -      (bug#18952).
 -      (cua-set-mark, cua--pre-command-handler-1,cua--post-command-handler-1):
 -      * emulation/cua-gmrk.el (cua-cancel-global-mark): Same.
 +2014-11-25  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
 +      * net/gnutls.el (gnutls): Set :group to 'comm so it's near NSM.
  
 -      * files.el (file-name-non-special): Wrap the call of
 -      `insert-file-contents' by `unwind-protect', in order to set the
 -      buffer's file name anyway.  (Bug#18891)
 +      * net/nsm.el (nsm-check-tls-connection, nsm-save-host)
 +      (nsm-warnings-ok-p): Use `gnutls-peer-status-warning-describe'.
  
 -2014-11-07  Daiki Ueno  <ueno@gnu.org>
 +2014-11-20  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
 -      * epg.el (epg--list-keys-1): Ignore fields after the 15th field
 -      (bug#18979).  Reported by Hideki Saito.
 +      * emacs-lisp/byte-run.el (function-put): Match argument names to
 +      docstring.
  
 -2014-10-18  Alan Mackenzie  <acm@muc.de>
 +2014-11-24  Sam Steingold  <sds@gnu.org>
  
 -      Check that a "macro" found near point-min isn't a ## operator.
 -      Fixes bug #18749.  Backported from trunk, 2014-11-05.
 -      * progmodes/cc-engine.el (c-macro-is-genuine-p): New function.
 -      (c-beginning-of-macro): Use the above new function.
 +      * vc/vc-hooks.el (vc-directory-exclusion-list):
 +      Fix a trivial typo (bug#19171).
  
 -2014-11-05  Alan Mackenzie  <acm@muc.de>
 +2014-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Fix wrong bound to c-font-lock-declarators.  Fixes bug #18948.
 -      * progmodes/cc-fonts.el (c-font-lock-declarations): Pass
 -      "(point-max)" as bound to c-font-lock-declarators, not "limit", as
 -      the buffer is sometimes narrowed to less than "limit" (e.g., in
 -      the presence of macros).
 +      * vc/vc-hooks.el (vc-state-base-face): Don't override
 +      mode-line-inactive.
  
 -2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/tramp.el (tramp-error-with-buffer): Show connection buffer
 -      only when message appeared in minibuffer.  (Bug#18891)
 +      * net/eww.el (eww-set-character-encoding): Use `read-coding-system'.
 +      (eww-process-text-input): Inhibit read only so that input fields
 +      don't get shortened (bug#19085).
  
 -      * net/tramp-adb.el (tramp-adb-handle-file-attributes):
 -      * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
 -      * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in
 -      case of errors.
 +2014-11-24  Leo Liu  <sdl.web@gmail.com>
  
 -2014-11-04  Eli Zaretskii  <eliz@gnu.org>
 +      * emacs-lisp/macroexp.el (macroexp-let2*): New macro.
  
 -      * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being
 -      returned by load-average.
 +      * window.el (with-temp-buffer-window)
 +      (with-current-buffer-window, with-displayed-buffer-window):
 +      * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin):
 +      * emacs-lisp/cl-lib.el (substring):
 +      * emacs-lisp/cl-extra.el (cl-getf): Use it.
  
 -2014-11-04  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-24  Eli Zaretskii  <eliz@gnu.org>
  
 -      * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use
 -      a local copy; setting `inhibit-file-name-handlers' proper might be
 -      more performant.  (Bug#18751)
 +      * isearch.el (isearch-update): Don't assume
 +      pos-visible-in-window-p will return nil when point is hscrolled
 +      out of view.  (Bug#19157)
  
 -2014-11-04  Glenn Morris  <rgm@gnu.org>
 +2014-11-20  Andrey Kotlarski  <m00naticus@gmail.com>
  
 -      * mail/emacsbug.el (report-emacs-bug): No longer include
 -      recent-keys in the report.  (Bug#18900)
 +      * net/eww.el (eww-browse-url): Optionally create new eww buffer.
 +      (eww-follow-link): Follow in new buffer in case of prefix
 +      argument, open externally with double prefix (bug#19130).
  
 -2014-11-03  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a
 -      local copy of FILENAME, when it is remote.  (Bug#18751)
 +      * net/eww.el (eww-display-html): Decode the document-defined charset.
 +      (eww): Pop to the *eww* buffer immediately after executing the
 +      `M-x eww' command to avoid having buffers pop up later.
 +      (eww-display-html): Don't pop the *eww* buffer.
 +      (eww-display-raw): Ditto.
 +      (eww-display-image): Ditto.
 +      (eww-follow-link): Make going to #targets in the page work again.
  
 -2014-11-02  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-23  Ivan Shmakov  <ivan@siamics.net>
  
 -      * net/tramp-adb.el (tramp-adb-handle-process-file): Do not raise
 -      an error when the command fails; the return code must indicate.
 -      (tramp-adb-send-command-and-check): Fix docstring.
 +      * net/eww.el (eww-suggest-uris): New variable.
 +      (eww-suggested-uris): New function.
 +      (eww): Default to URL under point.
 +      (eww-links-at-point): New function.
  
 -2014-11-01  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-20  Mark Oteiza  <mvoteiza@udel.edu>  (tiny change)
  
 -      * net/tramp-cache.el (tramp-get-file-property)
 -      (tramp-set-file-property): Check, that `tramp-cache-get-count-*'
 -      and `tramp-cache-set-count-*' are bound.  Otherwise, there might
 -      be compiler warnings.
 +      * net/eww.el (eww-add-bookmark): Fix bookmark titles.
  
 -      * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid):
 -      Return -1 respective "UNKNOWN", if uid or gid cannot be determined.
 +2014-11-17  Mark Oteiza  <mvoteiza@udel.edu>  (tiny change)
  
 -2014-11-01  Eli Zaretskii  <eliz@gnu.org>
 +      * net/eww.el (eww-mode-map): Bind backtab to shr-previous-link.
  
 -      * progmodes/compile.el (compilation-mode): Turn off deferred
 -      fontifications locally.  (Bug#18856)
 +2014-11-23  Kenjiro Nakayama  <nakayamakenjiro@gmail.com>
  
 -2014-11-01  Wolfgang Jenkner  <wjenkner@inode.at>
 +      * net/eww.el (eww-set-character-encoding): New command and keystroke.
 +      (eww-display-raw): Use it (bug#16225).
  
 -      * net/tramp-sh.el (tramp-send-command): Fix the case where the
 -      remote-echo connection property is non-nil (bug#18858).
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2014-11-01  Michael Albinus  <michael.albinus@gmx.de>
 +      * net/nsm.el (network-security-level): Rename from
 +      `nsm-security-level' and documented.
  
 -      Backport Tramp changes from trunk.
 +      * mail/smtpmail.el (smtpmail-via-smtp): Warn unless encrypted and
 +      we're sending a password.
  
 -      * net/tramp.el (tramp-methods): Tweak docstring.
 -      (tramp-file-name-handler): Apply `cons' where appropriate.
 -      (tramp-handle-file-accessible-directory-p): Check for
 -      `file-readable-p' instead of `file-executable-p'.
 -      (tramp-handle-shell-command): Use `display-buffer'.  (Bug#18326)
 -      (tramp-handle-unhandled-file-name-directory): Return "/".
 -      (tramp-check-cached-permissions):
 -      Use `tramp-compat-file-attributes'.
 -      (tramp-call-process): Add new argument VEC.  Adapt callees in all
 -      tramp*.el files.
 +      * net/nsm.el: New file that implements a Network Security Manager.
  
 -      * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'.
 -      (tramp-adb-handle-write-region): Improve messages.
 -      (tramp-adb-maybe-open-connection): Don't set
 -      `tramp-current-*' variables.
 +      * net/network-stream.el (open-network-stream): Add a new
 +      :warn-unless-encrypted parameter.
 +      (network-stream-open-plain): Allow warning unless encrypted.
 +      (network-stream-open-starttls): Call the Network Security Manager.
 +      (network-stream-open-tls): Ditto.
  
 -      * net/tramp-cache.el (tramp-flush-file-function): Simplify check.
 -      Suppress debug messages.
 +2014-11-23  Leo Liu  <sdl.web@gmail.com>
  
 -      * net/tramp-ftp.el (top): Remove special handling for URL syntax.
 -      (tramp-ftp-file-name-handler):
 +      * calendar/cal-china.el (calendar-chinese-from-absolute-for-diary)
 +      (calendar-chinese-to-absolute-for-diary)
 +      (calendar-chinese-mark-date-pattern, diary-chinese-anniversary):
 +      Handle leap months in Chinese calendar.  (Bug#18953)
  
 -      * net/tramp-gvfs.el (tramp-gvfs-methods) <sftp>: Add.
 -      (tramp-gvfs-methods-mounttracker)
 -      (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled'
 -      during initialization.  (Bug#18774)
 -      (tramp-gvfs-handle-delete-file): Flush file properties, not
 -      directory properties.
 -      (tramp-gvfs-handle-file-attributes): Use `string-to-number' when
 -      reading "unix::mode".
 -      (tramp-gvfs-handle-file-name-all-completions):
 -      Use "-h" option for "gvfs-ls".
 -      (tramp-gvfs-url-file-name): Apply `cons' where appropriate.
 -      `user' and `localname' could be nil.
 -      (tramp-gvfs-send-command): Simplify traces.
 +2014-11-22  Alan Mackenzie  <acm@muc.de>
  
 -      * net/tramp-sh.el (vc-handled-backends, vc-bzr-program)
 -      (vc-git-program, vc-hg-program): Declare.
 -      (tramp-methods) <sftp>: Remove.  It has never worked satisfactorily.
 -      (tramp-methods) <nc>: Add new method.
 -      (tramp-methods) <telnet>: Redirect stderr to "/dev/null".
 -      (tramp-methods) <plink, plinkx, pscp, psftp>: Improve
 -      `tramp-login-args'.
 -      (tramp-default-user-alist): Add "nc".
 -      (top): Remove completion function for "sftp".  Add completion
 -      functions for "nc" and "psftp".
 -      (tramp-sh-handle-set-visited-file-modtime):
 -      (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'.
 -      (tramp-do-copy-or-rename-file-out-of-band):
 -      Use cached "remote-copy-args" value, if available.  (Bug#18199)
 -      Tweak docstring.  Implement support for "nc" method.
 -      (tramp-sh-handle-expand-file-name, tramp-local-coding-commands)
 -      (tramp-remote-coding-commands, tramp-call-local-coding-command):
 -      Tweak docstring.
 -      (tramp-sh-handle-start-file-process): Expand `default-directory'.
 -      (tramp-sh-handle-write-region): Tweak error message.
 -      (tramp-sh-handle-vc-registered): Remove backends when the remote
 -      binary does not exist.
 -      (tramp-open-connection-setup-interactive-shell):
 -      Prefer utf-8 coding.  (Bug#17859)
 -      (tramp-find-inline-encoding): Do not raise an error.
 -      (tramp-make-copy-program-file-name): Tweak docstring.  Handle also
 -      the "nc" case.  Quote result also locally.
 -      (tramp-get-remote-id): Check also for "gid".
 -      (tramp-get-remote-python):
 +      Fix error with `mark-defun' and "protected:" in C++ Mode.
 +      Fixes: debbugs:19134.
  
 -      * net/tramp-smb.el (tramp-smb-handle-copy-directory)
 -      (tramp-smb-handle-set-file-acl): Use `start-process'.
 -      (tramp-smb-handle-insert-directory): Use progress reporter.
 -      (tramp-smb-handle-rename-file): Flush also file properties of
 -      FILENAME.
 +      * progmodes/cc-cmds.el (c-where-wrt-brace-construct): Handle a
 +      return code of (label) from c-beginning-of-decl-1.
  
 -      * net/trampver.el: Update release number.
 +2014-11-22  Ulf Jasper  <ulf.jasper@web.de>
  
 -2014-11-01  Reuben Thomas  <rrt@sc3d.org>
 +      * net/newst-backend.el (newsticker--sentinel-work):
 +      Tell `libxml-parse-xml-region' to discard comments. Fixes bug#18787.
  
 -      * net/tramp.el (tramp-handle-file-symlink-p):
 -      * net/tramp-ftp.el (tramp-ftp-file-name-handler): Remove a comment
 -      about VMS, which we no longer support.
 +2014-11-22  Michael Albinus  <michael.albinus@gmx.de>
  
 -2014-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +        * net/tramp-sh.el (tramp-sh-handle-start-file-process)
 +      (tramp-sh-handle-process-file): Propagate `process-environment'.
  
 -      * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
 -      the global vc-handled-backends (bug#18535).
 +      * vc/vc-hg.el (vc-hg-state): No special handling for remote files;
 +      Tramp propagates environment variables now.
  
 -2014-11-01  Jérémy Compostella  <jeremy.compostella@intel.com>
 -          Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-22  Eric S. Raymond  <esr@snark>
  
 -      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 -      Reduce the amount of set environment variable commands.
 +      * vc/vc-filewise.el: New file to isolate code used only by the
 +      file-oriented back ends (SCCS/RCS/CVS/SRC) which should not
 +      live in vc.el and certainly not in vc-hooks.el.
  
 -2014-11-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * vc/vc-hooks.el, vc-rcs.el, vc-sccs.el: vc-name  -> vc-master-name.
 +      This is preaparatory to isolating all the 'master' functions
 +      used only by the file-oriented back ends.  With this done first,
 +      the substantive diffs will be easier to read.
  
 -      * net/tramp-sh.el (tramp-get-remote-touch): Omit unnecessary call to
 -      current-time.
 +2014-11-21  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
  
 -2014-11-01  Emilio C. Lopes  <eclig@gmx.net>
 +      * play/morse.el (nato-alphabet): Mark URL in docstring in a way
 +      that is recognized by `help-mode'.
  
 -      * net/tramp-sh.el (tramp-get-remote-python): Also search for
 -      executables named "python2" or "python3".
 -      (tramp-get-remote-uid-with-python): Use parentheses around
 -      arguments to `print' to make it compatible with Python 3.
 -      (tramp-get-remote-gid-with-python): Ditto.  (Bug#18118)
 +2014-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * desktop.el (desktop-create-buffer): Use activate-mark to set
 +      `mark-active' (bug#19058).
  
 -      * simple.el (newline): Add assertions to try and help catch bug#18913.
 +2014-11-21  Eric S. Raymond  <esr@snark>
  
 -      * emulation/cua-base.el (cua-delete-region): Use delete-active-region
 -      (bug#18886).
 -      (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove.
 +      * vc/vc-src.el (vc-src-state): Fix bug that produced spurious
 +      nil state.
  
 -2014-10-31  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * Makefile.in (repo-update): Fix a typo and slightly reword
 -      commentary.
 +      * vc/vc.el (vc-deduce-fileset): Support invocation from
 +      *vc-change-log* buffer.  (Bug#19084)
  
 -2014-10-31  Eric S. Raymond  <esr@thyrsus.com>
 +2014-11-13  Matthew Leach  <matthew@mattleach.net>
  
 -      * Makefile.in: Change some production names so they're neutral
 -      about the repository type.
 +      * arc-mode.el (archive-visit-single-files): New.
 +      (archive-mode): Visit file if archive contains a single file.
 +      (Bug#1702)
  
 -2014-10-30  Kim F. Storm  <storm@cua.dk>
 +2014-11-21  Ulrich Müller  <ulm@gentoo.org>
  
 -      Restore cua-delete-copy-to-register-0 and M-v command (bug#18886).
 -      * delsel.el (delete-selection-save-to-register)
 -      (delsel--replace-text-or-position): New vars.
 -      (delete-active-region): Use them.
 -      (delete-selection-repeat-replace-region): New command, moved from
 -      cua-base.el.
 -      * emulation/cua-base.el (cua--repeat-replace-text): Remove var.
 -      (cua-repeat-replace-region): Move command to delsel.el.
 -      (cua--init-keymaps): Update binding accordingly.
 -      (cua-mode): Set delete-selection-save-to-register.
 +      * vc/vc.el: Fix a typo in the commentary.
  
 -2014-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-11-20  Eric S. Raymond  <esr@snark.thyrsus.com>
  
 -      * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845).
 -      (c-lang-defconst):
 -      * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it.
 +      * vc/vc-src.el, vc/vc.el: Added support for SRC.  Needs more
 +      testing and a real log-view mode.
  
 -2014-10-29  Eli Zaretskii  <eliz@gnu.org>
 +      * vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el, vc/vc-git.el,
 +      vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el, vc/vc-sccs.el,
 +      vc/vc-svn.el, vc/vc.el: Remove editable argument from the backend
 +      checkout methods; where it matters (which is only in SCCS and RCS)
 +      files are always checked out editable.  This may actually have
 +      been dynamically true already - it looks like the vc-next-action
 +      code evolved past visiting the other case.  Tested with RCS.
  
 -      * progmodes/compile.el (compilation-start):
 -      If compilation-scroll-output is non-nil, don't force window-start of
 -      the compilation buffer to be at beginning of buffer.  (Bug#18874)
 +      * vc/vc-arch.el, vc/vc-bzr.el, vc/vc-cvs.el, vc/vc-dav.el,
 +      vc/vc-git.el, vc/vc-hg.el, vc/vc-mtn.el, vc/vc-rcs.el,
 +      vc/vc-sccs.el, vc/vc-svn.el, vc/vc.el: Remove never-used rev
 +      argument from the backend checkin methods.  Only the RCS, SCCS,
 +      and CVS back ends tried to do anything with it, and that code was
 +      never exercised.  Chiseling away the cruft of decades...
  
 -2014-10-23  Tassilo Horn  <tsdh@gnu.org>
 +2014-11-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * doc-view.el (doc-view-open-text): View the document's plain text
 -      in the current buffer instead of a new one.
 -      (doc-view-toggle-display): Handle the case where the current
 -      buffer contains the plain text contents of the document.
 -      (doc-view-initiate-display): Don't switch to fallback mode if the
 -      user wants to view the doc's plain text.  [Backport]
 +      * net/eww.el (eww-render): Remove a no-op :title setting.
  
 -2014-10-23  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-19  Ivan Shmakov  <ivan@siamics.net>
  
 -      * startup.el (fancy-about-text): Read the entire tutorial, not
 -      just its first 256 bytes.  (Bug#18760)
 +      * net/eww.el (eww-history-limit): New variable.
 +      (eww-save-history): Use it (bug#19105).
 +      (eww-reload): Reload the page in the right buffer.
  
 -2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-11-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804).
 -      * emacs-lisp/cl-extra.el: Add missing provide.
 +      * net/eww.el (eww-desktop-misc-data): Use `cl-remove-duplicates'.
  
 -2014-10-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-11-19  Ivan Shmakov  <ivan@siamics.net>
  
 -      * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where
 -      all args are copyable (bug#18767).
 -      (=, <, >, <=, >=): Re-enable the optimization.
 +      * net/eww.el (eww-desktop-remove-duplicates)
 +      (eww-restore-desktop, eww-restore-reload-prompt): New variables.
 +      (eww-mode): Set up desktop mode (bug#18010).
 +      (eww-desktop-data-save, eww-desktop-data-1)
 +      (eww-desktop-history-duplicate, eww-desktop-misc-data)
 +      (eww-restore-desktop): New functions.
  
 -2014-10-20  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +2014-11-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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).
 +      * vc/vc.el (vc-log-internal-common): Turn on log-view-mode in the
 +      correct buffer.  (Bug#19101)
  
 -2014-10-20  Juri Linkov  <juri@jurta.org>
 +2014-11-19  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
  
 -      * vc/diff-mode.el (diff-refine-changed): Rename from
 -      `diff-refine-change' for consistency with `diff-changed'.
 -      (diff-refine-change): Add obsolete face alias.  (Bug#10181)
 +      Fix bug#19099.
 +      * vc/vc-git.el (vc-git-diff): Use "difftool -x diff" with
 +      `diff-switches' if `vc-git-diff-switches' is nil.
  
 -      * vc/smerge-mode.el (smerge-refined-changed): Rename from
 -      `smerge-refined-change'.
 -      (smerge-refined-change): Add obsolete face alias.
 +2014-11-18  Juri Linkov  <juri@linkov.net>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * simple.el (next-line-or-history-element): Wrap next-line
 +      in with-no-warnings.
 +      (previous-line-or-history-element): Wrap previous-line
 +      in with-no-warnings.
  
 -      * subr.el (call-process-shell-command, process-file-shell-command):
 -      Make the `args' obsolete (bug#18409).
 -      (start-process-shell-command, start-file-process-shell-command):
 -      Use `declare'.
 +2014-11-18  Juri Linkov  <juri@linkov.net>
  
 -2014-10-20  Juanma Barranquero  <lekktu@gmail.com>
 +      * progmodes/grep.el (grep-compute-defaults):
 +      Compute grep-highlight-matches before its use.
  
 -      * skeleton.el (skeleton-autowrap): Mark as obsolete.  Doc fix.
 +2014-11-18  Juri Linkov  <juri@linkov.net>
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * replace.el (query-replace-from-to-separator): Turn defvar into
 +      defcustom.  Wrap char-displayable-p in ignore-errors because an
 +      attempt to autoload char-displayable-p fails during pre-loading.
 +      Move (propertize "\0" ... 'separator t) out of customizable part
 +      to query-replace-read-from.
 +      (query-replace-read-from): Call custom-reevaluate-setting on
 +      query-replace-from-to-separator to reevaluate the separator
 +      depending on the return value of char-displayable-p.
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00466.html
  
 -      * 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.
 +2014-11-18  Juri Linkov  <juri@linkov.net>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * bindings.el (minibuffer-local-map): Rebind [down] from
 +      next-history-element to next-line-or-history-element, and [up]
 +      from previous-history-element to previous-line-or-history-element.
  
 -      * progmodes/python.el (inferior-python-mode): Use add-hook.
 +      * simple.el (next-line-or-history-element)
 +      (previous-line-or-history-element): New commands.
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00822.html
  
 -      * Makefile.in (AUTOGEN_VCS): Remove emulation/tpu-edt.el.
 +2014-11-18  Leo Liu  <sdl.web@gmail.com>
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * emacs-lisp/nadvice.el (define-advice): New macro.
 +      * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
 +      Add define-advice.
 +      (lisp-font-lock-keywords-1): Add define-advice.
 +
 +2014-11-18  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epg.el (epg-context): New slot EDIT-CALLBACK.
 +      (epg--process-filter): Call EDIT-CALLBACK when editing a key.
 +      (epg-reset): Reset EDIT-CALLBACK of the context.
 +      (epg-start-edit-key): New function.
 +      (epg-edit-key): New function.
 +
 +2014-11-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port new time stamp handling to Emacs 23.2.
 +      This fix is for Gnus.  Problem reported by Katsumi Yamaoka.
 +      * calendar/time-date.el (time-add, time-subtract, time-less-p):
 +      Use eval-and-compile, not eval-when-compile.
 +
 +2014-11-18  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epg.el (epg-context-set-passphrase-callback)
 +      (epg-context-set-progress-callback): Check if the CALLBACK
 +      argument is a function, instead of a cons.
 +
 +2014-11-18  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epa-file.el (epa-file-insert-file-contents)
 +      (epa-file-write-region): Remove redundant check of
 +      epa-pinentry-mode.
 +      * epa.el (epa-sign-file, epa-encrypt-file, epa-decrypt-region)
 +      (epa-sign-region, epa-encrypt-region): Remove redundant check of
 +      epa-pinentry-mode.
 +
 +2014-11-18  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epa-file.el (epa-file-insert-file-contents): Don't show
 +      "*Error*" buffer if input file does not exist.
 +      Reported by Herbert J. Skuhra.
 +
 +2014-11-18  Paul Pogonyshev  <pogonyshev@gmail.com>
 +          Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
 +
 +      Fix bug#13871 (an alternative version of the patch).
 +      * progmodes/cc-langs.el: Support some of the new keywords in
 +      C++11.
 +      (c-operators): Add "alignof".
 +      (c-primitive-type-kwds): Add "char16_t", "char32_t".
 +      (c-type-modifier-kwds): Add "constexpr", "noexcept".
 +      (c-modifier-kwds): Add "thread_local".
 +      (c-constant-kwds): Add "nullptr".
 +
 +2014-11-17  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify-pattern, tildify-space-string):
 +      New variables for specifying tildify pattern and representation of
 +      a hard space -- a no-break space by default -- respectively.
 +      Being buffer-local they are much easier to handle than
 +      `tildify-string-alist' and `tildify-pattern-alist' respectively
 +      that have been used so far.  They also works better with derived
 +      modes.
 +      (tildify-foreach-region-function): New variable specifying
 +      a function determining portions of buffer that should be
 +      tildified.  It allows major modes to create a filtering function
 +      more elaborate than a set of regular expressions.  Initialised to
 +      `tildify--deprecated-ignore-evironments' by default to handle now
 +      deprecated `tildify-ignored-environments-alist' variable.
 +      (tildify--foreach-region): A new function that takes
 +      `tildify-foreach-region-function' into account and calls callback
 +      for regions of the buffer that should be tildified.
 +      (tildify-foreach-ignore-environments): A new function which can be
 +      partially applied and used as `tildify-foreach-region-function'.
 +      (tildify-ignored-environments-alist, tildify-pattern)
 +      (tildify-string-alist, tildify--pick-alist-entry): Mark as obsolete.
 +      (tildify--find-env): Rename from `tildify-find-env' and mark as
 +      obsolete.
 +      (tildify--deprecated-ignore-evironments): New function,
 +      immediately marked as obsolete, used to handle deprecated
 +      `tildify-ignored-environments-alist'.
 +
 +      * textmodes/tex-mode.el (tex-common-initialization):
 +      Set `tildify-space-string' and `tildify-foreach-region-function'
 +      variables in all variants of TeX mode since `tildify-string-alist'
 +      and `tildify-ignored-environments-alist' are now empty by default.
 +
 +      * nxml/nxml-mode.el (nxml-mode): Ditto in `nxml-mode'.
 +      If encoding supports it use no-break space instead of character
 +      entity; this changes previous default which used a numeric
 +      reference.
 +
 +      * textmodes/sgml-mode.el (sgml-mode): ditto in `sgml-mode'.
 +      If encoding does not support no-break space, use numeric reference;
 +      this changes previous default which used named entity (“&nbsp;”)
 +      in HTML mode.
 +
 +2014-11-17  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      Fix bug#5433.
 +      * calendar/icalendar.el (icalendar-export-alarms):
 +      New customizable variable.
 +      (icalendar-export-region): Export alarms as specified in
 +      `icalendar-export-alarms'.
 +      (icalendar--create-ical-alarm, icalendar--do-create-ical-alarm):
 +      New functions for exporting alarms.
 +
 +2014-11-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * bindings.el (search-map): Move `eww-search-words' to `M-s M-w'.
 +
 +2014-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port new time stamp handling to old Emacs and to XEmacs.
 +      This is needed for Gnus, which copies time-date.el and which
 +      runs on older Emacs implementations.
 +      * calendar/time-date.el (with-decoded-time-value):
 +      Handle 'nil' and floating-point arg more compatibly with new Emacs.
 +      (encode-time-value, with-decoded-time-value):
 +      Obsolete only if new Emacs.
 +      (time-add, time-subtract, time-less-p): Define if not new Emacs.
 +
 +      Improve time stamp handling, and be more consistent about it.
 +      This implements a suggestion made in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html
 +      Among other things, this means timer.el no longer needs to
 +      autoload the time-date module.
 +      * allout-widgets.el (allout-elapsed-time-seconds): Doc fix.
 +      * arc-mode.el (archive-ar-summarize):
 +      * calendar/time-date.el (seconds-to-time, days-to-time, time-since):
 +      * emacs-lisp/timer.el (timer-relative-time, timer-event-handler)
 +      (run-at-time, with-timeout-suspend, with-timeout-unsuspend):
 +      * net/tramp.el (tramp-time-less-p, tramp-time-subtract):
 +      * proced.el (proced-time-lessp):
 +      * timezone.el (timezone-time-from-absolute):
 +      * type-break.el (type-break-schedule, type-break-time-sum):
 +      Simplify by using new functionality.
 +      * calendar/cal-dst.el (calendar-next-time-zone-transition):
 +      Do not return time values in obsolete and undocumented (HI . LO)
 +      format; use (HI LO) instead.
 +      * calendar/time-date.el (with-decoded-time-value):
 +      Treat 'nil' as current time.  This is mostly for XEmacs.
 +      (encode-time-value, with-decoded-time-value): Obsolete.
 +      (time-add, time-subtract, time-less-p): Use no-op autoloads, for
 +      XEmacs.  Define only if XEmacs, as they're now C builtins in Emacs.
 +      * ldefs-boot.el: Update to match new time-date.el
 +      * proced.el: Do not require time-date.
 +
 +2014-11-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-mode): Make the buffer read-only.
 +      (eww-form-text): Inhibit read-only-ness in text input fields
 +      (bug#16476).
  
 -      * 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/.  [Backport]
 +2014-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * simple.el (execute-extended-command--shorter): Cut search here.
 +      (execute-extended-command): Instead of here.
  
 -      * cus-start.el (history-length): Bump :version.  [Backport]
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/python.el (python-mode): Avoid use of set-local to
 +      keep Emacs 24.x compatibility.
  
 -      * obsolete/cc-compat.el: Make obsolete (bug#18561).
 +2014-11-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * epg-config.el (epg-gpg-program): Don't use absolute names by default.
 +      * net/shr.el (shr): Move to the new defgroup `web'.
  
 -      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 -      case (bug#18767).
 +      * net/eww.el (eww): Ditto.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +      * simple.el (execute-extended-command): Don't show the help
 +      message if the binding isn't significantly shorter than the
 +      M-x command the user typed (bug#19013).
  
 -      * Version 24.4 released.
 +2014-11-16  Ulf Jasper  <ulf.jasper@web.de>
  
 -2014-10-15  Alan Mackenzie  <acm@muc.de>
 +      * calendar/icalendar.el (icalendar--convert-tz-offset):
 +      Return complete cons when offsets of standard time and daylight saving
 +      time are equal.
 +      (icalendar-export-region): Fix unbound variable warning.
  
 -      * cus-edit.el (custom-command-apply): Specify the return value in
 -      the doc string.
 -      (Custom-reset-standard): Save custom-file (e.g. .emacs) only when
 -      custom-command-apply has returned non-nil.
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/python.el (run-python): Allow CMD to be optional and
 +      default it to a safe command, even for Windows.  (bug#18596)
  
 -      * emacs-lisp/lisp.el (lisp--local-variables-1): Handle `quote'.
 -      Backported (bug#18688).
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -2014-10-14  Eli Zaretskii  <eliz@gnu.org>
 +      * progmodes/python.el (python-shell-calculate-command):
 +      Rename from python-shell-parse-command.  Cleanup.
 +      (run-python, run-python-internal): Use it.
 +      (python-shell-calculate-pythonpath): Rename from
 +      python-new-pythonpath.
 +      (python-shell-calculate-process-environment): Use it.
 +      (python-shell-calculate-exec-path): Add comment.
  
 -      * emacs-lisp/tabulated-list.el (tabulated-list-mode):
 -      Force bidi-paragraph-direction to 'left-to-right'.  This fixes
 -      buffer-menu display when the first buffer happens to start with
 -      R2L letter.
 +2014-11-16  Thierry Banel <tbanelwebmin@free.fr>  (tiny change)
  
 -2014-10-13  Glenn Morris  <rgm@gnu.org>
 +      * calc/calc-arith.el (math-max-list, math-min-list): Fix bug
 +      for date handling.
  
 -      * emacs-lisp/authors.el (authors-aliases, authors-fixed-case)
 -      (authors-obsolete-files-regexps): Additions.
 -      (authors-no-scan-regexps): New constant.
 -      (authors-no-scan-file-p): New function.
 -      (authors): Respect authors-no-scan-file-p.
 +2014-11-16  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2014-10-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +      * version.el (emacs-repository-get-version): Use git rev-parse
 +      instead of git log.
  
 -      Fix import completion.  (Bug#18582)
 -      * progmodes/python.el (python-shell-completion-get-completions):
 -      Fix import case regexp.
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -2014-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/python.el (python-indent-calculate-levels):
 +      Fix indentation behavior multiline dedenter statement.  (Bug#18432)
  
 -      * progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo
 -      (bug#18622).  Reported by Arni Magnusson <arnima@hafro.is>.
 -      * progmodes/prolog.el (prolog-electric--underscore): Same.
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-indent-region):
 +      Use python-indent-line and skip special cases.  (Bug#18843)
 +
 +2014-11-16  Peder O. Klingenberg  <peder@klingenberg.no>
 +
 +      * mail/emacsbug.el (report-emacs-bug): Make a better guess at
 +        envelope-from when reporting through sendmail (bug#19054).
 +
 +2014-11-16  Oscar Fuentes <ofv@wanadoo.es>
 +
 +      Add faces for the VC modeline state indicator.
 +      * lisp/vc/vc-hooks.el:
 +      (vc-state-faces, vc-state-base-face)
 +      (vc-up-to-date-state, vc-needs-update-state)
 +      (vc-locked-state, vc-locally-added-state)
 +      (vc-conflict-state, vc-removed-state)
 +      (vc-missing-state, vc-edited-state):
 +      New faces.
 +      (vc-default-mode-line-string): Use them
 +
 +2014-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/backquote.el (backquote-process): Optimize away ",'".
 +
 +2014-11-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-search-words): Mention `eww-search-prefix'.
 +
 +2014-11-15  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-eldoc-setup-code): Enhance string
 +      type checks, simplify printing.  (Bug#18962)
 +
 +2014-11-14  Ivan Andrus  <darthandrus@gmail.com>
 +
 +      * progmodes/python.el (python-shell-font-lock-kill-buffer):
 +      (python-shell-font-lock-with-font-lock-buffer)
 +      (python-shell-get-buffer, python-ffap-module-path):
 +      Use `derived-mode-p' instead of equality test on `major-mode'.
 +
 +2014-11-14  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-shell-virtualenv-root): Rename from
 +      python-shell-virtualenv-path.
 +      (python-shell-internal-get-process-name)
 +      (python-shell-calculate-process-environment)
 +      (python-shell-calculate-exec-path): Use it.
 +
 +2014-11-14  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bindings.el (search-map): Fix last change: don't use 'kbd' in
 +      bindings.el, since it is not yet loaded when bindings.el is
 +      preloaded.
 +
 +2014-11-14  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-shell-completion-get-completions):
 +      Fix previous merge.
 +
 +2014-11-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-render): Don't set the title to the URL.
 +
 +2014-11-13  Ulrich Müller  <ulm@gentoo.org>
 +
 +      * version.el (emacs-repository-get-version): Call `git log'
 +      command with proper format argument (bug#19049).
 +
 +2014-11-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * bindings.el (search-map): Bind M-s M-s to `eww-search-words'.
 +
 +2014-11-14  Kenjiro NAKAYAMA  <nakayamakenjiro@gmail.com>
 +
 +      * net/eww.el (eww-search-words): New command (bug#16258).
 +
 +2014-11-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-inhibit-images): Add a doc string.
 +
 +      * net/eww.el (eww-after-render-hook): New variable.
 +      (eww-render): Use it.
 +
 +      * net/shr.el (shr-descend): Don't descend further than
 +      `max-specpdl-size' allows (bug#16587).
 +      (shr-depth): New variable.
 +      (shr-warning): New variable.
 +
 +2014-11-13  Ivan Shmakov  <ivan@siamics.net>
 +
 +      * net/shr.el (shr-parse-base): Handle <base href=""> correctly.
 +      (shr-expand-url): Expand absolute URLs correctly (bug#17958).
 +
 +2014-11-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww): Add comment to clarify.
 +
 +      * net/shr.el (shr-parse-image-data): Remove blocked bits from
 +      external SVG images.
 +      (shr-tag-object): Display images in <object> forms (bug#16244).
 +      (shr-tag-table): Also insert <objects> after the tables.
 +
 +2014-11-13  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * vc/vc-hg.el (vc-hg-state): Disable pager.  (Bug#18940)
 +
 +2014-11-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-form-file): Fix version number.
 +
 +2014-11-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-form-file): :type isn't a valid `defface' keyword.
 +
 +2014-11-10  Kenjiro NAKAYAMA  <nakayamakenjiro@gmail.com>
 +
 +      * net/eww.el(eww-form-file(defface)): New defface of file upload form.
 +      (eww-submit-file): New key map of file upload.
 +      (eww-form-file): New file upload button and file name context.
 +      (eww-select-file): Select file and display selected file name.
 +      (eww-tag-input): Handle input tag of file type.
 +      (eww-update-field): Add point offset.
 +      (eww-submit): Add submit with multipart/form-data.
 +
 +2014-11-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-render, eww-display-html, eww-setup-buffer):
 +      Allow taking a buffer to render data in.  This allows using several
 +      eww buffers (bug#16211).
 +
 +2014-11-10  Charles Rendleman  <carendle@gmail.com>  (tiny change)
 +
 +      * net/eww.el (eww-download-callback): Save only the file contents,
 +      not the headers.
 +
 +2014-11-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-data): New plist to store all the data relevant
 +      to a single page, used throughout the file instead of the
 +      variables `eww-current-url', `eww-current-dom',
 +      `eww-current-source', and `eww-current-title'.
 +      (eww-readable): Copy over pertinent data from the parent page.
 +      (eww-save-history): Don't let the history grow infinitely.
 +
 +      * net/eww.el: Remove `eww-next-url', `eww-previous-url',
 +      `eww-up-url', `eww-home-url', `eww-start-url' and
 +      `eww-contents-url' and put the data into the `eww-data' plist.
 +      This allow restoring these values after going back in the history.
 +
 +2014-11-10  Sylvain Chouleur  <sylvain.chouleur@gmail.com>  (tiny change)
 +
 +      Allow VTIMEZONE where daylight and standard time zones are equal.
 +      See: http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00494.html
 +      * calendar/icalendar.el (icalendar--convert-tz-offset):
 +      Support timezone without daylight saving time.
 +
 +2014-11-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * startup.el (command-line): Handle nil elements in load-path.
 +
 +2014-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * help.el (view-lossage): Include the actual commands run.
 +
 +2014-11-10  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * vc/vc-dir.el (vc-dir-hide-state): Also hide `ignored' items when
 +      no state is specified.  (Bug#18964)
 +
 +2014-11-09  Eric Ludlam  <zappo@gnu.org>
 +
 +      * emacs-lisp/eieio-custom.el (eieio-customize-object):
 +      Set eieio-cog (current group) to g, which is an improved form of input
 +      group.
 +
 +2014-11-09  Juri Linkov  <juri@jurta.org>
 +
 +      * isearch.el (isearch-message-prefix): Show "Multi-file" and
 +      "Multi-buffer" instead of "Multi".  (Bug#13592)
 +
 +      * misearch.el (multi-isearch-file-list):
 +      Autoload multi-isearch-buffer-list and multi-isearch-file-list.
 +      (multi-isearch-end): Reset multi-isearch-buffer-list and
 +      multi-isearch-file-list to nil.
 +
 +2014-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
 +      Don't call byte-compile-preprocess since the result will go through
 +      cconv.
 +      (byte-compile-output-docform): Handle uninterned `name' correctly.
 +      * emacs-lisp/cl-macs.el (cl-define-compiler-macro): Use interned name
 +      to circumvent byte-compiler bug.
 +
 +      * emacs-lisp/macroexp.el (macroexp--expand-all): Fix typo.
 +      (macroexp--compiler-macro): Remove left-over debug code.
 +
 +      * emacs-lisp/cl-extra.el (cl-get): Silence compiler warning.
 +
 +2014-11-08  Juri Linkov  <juri@jurta.org>
 +
 +      * simple.el (shell-command): Use buffer-name when output-buffer is
 +      a buffer.  (Bug#18096)
 +
 +2014-11-08  Juri Linkov  <juri@jurta.org>
 +
 +      * minibuffer.el (minibuffer-completion-help): Compare this-command
 +      with completion-at-point.  (Bug#17809)
 +
 +2014-11-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-report-error):
 +      Allow the argument to be a string.  Due to the vague doc,
 +      it was already being used this way.
 +
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-check-cached-permissions): Include hop in
 +      the constructed Tramp file name.  (Bug#18943)
 +
 +2014-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emulation/cua-base.el (cua--select-keymaps): Use region-active-p
 +      (bug#18952).
 +      (cua-set-mark, cua--post-command-handler-1):
 +      * emulation/cua-gmrk.el (cua-cancel-global-mark): Same.
 +
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * files.el (file-name-non-special): Wrap the call of
 +      `insert-file-contents' by `unwind-protect', in order to set the
 +      buffer's file name anyway.  (Bug#18891)
 +
 +2014-11-08  Alan Mackenzie  <acm@muc.de>
 +
 +      Fix wrong bound to c-font-lock-declarators.  Fixes bug #18948.
 +      * progmodes/cc-fonts.el (c-font-lock-declarations):
 +      Pass "(point-max)" as bound to c-font-lock-declarators, not "limit", as
 +      the buffer is sometimes narrowed to less than "limit" (e.g., in
 +      the presence of macros).
 +
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-error-with-buffer): Show connection buffer
 +      only when message appeared in minibuffer.  (Bug#18891)
 +
 +      * net/tramp-adb.el (tramp-adb-handle-file-attributes):
 +      * net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
 +      * net/tramp-sh.el (tramp-sh-handle-file-attributes): Return nil in
 +      case of errors.
 +
 +2014-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
 +      Don't compile before eval in `eval-and-compile'.
 +      (byte-compile-arglist-warn): Add check for defining macros after their
 +      first use.  Check call use even if the function is fboundp.
 +
 +2014-11-08  Richard Stallman  <rms@gnu.org>
 +
 +      * mail/rmail.el (rmail-epa-decrypt): Detect armor with line prefixes.
 +      Check more carefully for mime-part specified character set.
 +      Check for mime-part Content Transfer Encoding.
 +      Notify if no armor found.
 +
 +2014-11-08  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * faces.el (face-set-after-frame-default): Enable running
 +      `window-configuration-change-hook'.
 +
 +2014-11-07  Juri Linkov  <juri@jurta.org>
 +
 +      * replace.el: History for query replace pairs.
 +      (query-replace-defaults): Promote to a list of cons cell.  Doc fix.
 +      (query-replace-from-to-separator): New variable.
 +      (query-replace-read-from): Let-bind query-replace-from-to-history
 +      to a list of FROM-TO strings created from query-replace-defaults
 +      and separated by query-replace-from-to-separator.  Use it as
 +      the history while reading from the minibuffer.  Split the returned
 +      string by the separator to get FROM and TO parts, and add them
 +      to the history variables.
 +      (query-replace-read-to): Add FROM-TO pairs to query-replace-defaults.
 +      (query-replace-regexp-eval): Let-bind query-replace-defaults to nil.
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-11/msg00253.html
 +
 +      * isearch.el (isearch-text-char-description): Keep characters
 +      intact and put formatted strings with the `display' property.
 +
 +2014-11-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * cus-start.el (frame-resize-pixelwise): Fix group.
 +      (frame-inhibit-implied-resize): Add entry.
 +
 +2014-11-07  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epa.el (epa-pinentry-mode): New user option.
 +      (epa-sign-file, epa-encrypt-file, epa-decrypt-region)
 +      (epa-sign-region, epa-encrypt-region): Respect epa-pinentry-mode.
 +      * epa-file.el (epa-file-insert-file-contents)
 +      (epa-file-write-region): Respect epa-pinentry-mode.
 +
 +2014-11-07  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epg.el (epg--list-keys-1): Ignore fields after the 15th field
 +      (bug#18979).  Reported by Hideki Saito.
 +
 +2014-11-06  Daiki Ueno  <ueno@gnu.org>
 +
 +      * emacs-lisp/package.el (package--display-verify-error): New function.
 +      (package--check-signature): Use it to display output sent to stderr.
 +
 +2014-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (pop): Don't call the getter twice (bug#18968).
 +
 +      * emacs-lisp/macroexp.el (macroexp--expand-all): Optimize away trivial
 +      uses of `funcall'.
 +
 +2014-11-06  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epa.el (epa-error-buffer): New variable.
 +      (epa-display-error): New function.
 +      (epa-decrypt-file, epa-verify-file, epa-verify-region)
 +      (epa-delete-keys, epa-import-keys): Display output sent to stderr.
 +      (epa-sign-file, epa-sign-region, epa-encrypt-region)
 +      (epa-export-keys, epa-insert-keys): Display output sent to stderr.
 +      Use setf instead of epg-context-set-*.
 +      * epa-file.el (epa-file-insert-file-contents):
 +      Use epa-display-error instead of epa-display-info.  Mimic the behavior
 +      of jka-compr when decryption program is not found.
 +      (epa-file-write-region): Use epa-display-error instead of
 +      epa-display-info.
 +
 +2014-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * vc/vc.el (vc-region-history): New command.
 +      (vc-print-log-internal): Use cl-some.
 +
 +      * vc/vc-git.el (vc-git-region-history): New function.
 +      (vc-git-region-history-mode-map)
 +      (vc-git--log-view-long-font-lock-keywords)
 +      (vc-git-region-history-font-lock-keywords): New vars.
 +      (vc-git-region-history-font-lock): New function.
 +      (vc-git-region-history-mode): New major mode.
 +
 +2014-11-05  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * net/eww.el (subr-x): Require subr-x at compile-time because eww
 +      uses string-trim.
 +
 +2014-11-05  Daiki Ueno  <ueno@gnu.org>
 +
 +      * epg.el (epg-context): Add new slot ERROR-OUTPUT.
 +      (epg-error-output): New buffer-local variable.
 +      (epg--start): Initialize epg-error-output.
 +      (epg--process-filter): Record output lines sent to stderr, in
 +      epg-error-output.
 +      (epg-wait-for-completion): Copy epg-error-output to ERROR-OUTPUT
 +      slot of context.
 +      * epa-file.el (epa-file-insert-file-contents): On error, display
 +      output sent to stderr.
 +      (epa-file-write-region): Likewise.
 +
 +2014-11-05  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * jit-lock.el (jit-lock-stealth-fontify): Be tolerant to nil being
 +      returned by load-average.
 +
 +2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use
 +      a local copy; setting `inhibit-file-name-handlers' proper might be
 +      more performant.  (Bug#18751)
 +
 +2014-11-05  Glenn Morris  <rgm@gnu.org>
 +
 +      * mail/emacsbug.el (report-emacs-bug): No longer include
 +      recent-keys in the report.  (Bug#18900)
 +
 +2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * mouse.el (mouse-drag-line): Fix misspelling of "right-fringe".
 +
 +2014-11-04  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * net/eww.el (eww): Trim URL with `string-trim'.
 +      Suggested by Vibhav Pant <vibhavp@gmail.com>.
 +
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-score-readability): Don't count comments positively.
 +
 +      * net/shr.el (shr-retransform-dom): Typo fix.
 +
 +      * net/eww.el (eww-score-readability): Parse SVC images correctly.
 +      (eww-display-html): Don't leave point inside forms.
 +
 +      * net/shr.el: Ditto.
 +
 +2014-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/edebug.el (edebug-safe-prin1-to-string): Assume that
 +      edebug-prin1-to-string already handles circularity.
 +
 +      * emacs-lisp/byte-run.el (defun-declarations-alist): Fix compiler-macro
 +      autoloading when specified as a lambda.
 +
 +      * simple.el (execute-extended-command--last-typed): New var.
 +      (read-extended-command): Set it.
 +      Don't complete obsolete commands.
 +      (execute-extended-command--shorter-1)
 +      (execute-extended-command--shorter): New functions.
 +      (execute-extended-command): Use them to suggest shorter names.
 +      (indicate-copied-region, deactivate-mark): Use region-active-p.
 +
 +2014-11-03  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Use a
 +      local copy of FILENAME, when it is remote.  (Bug#18751)
 +
 +      * net/tramp-adb.el (tramp-adb-handle-process-file): Do not raise
 +      an error when the command fails; the return code must indicate.
 +      (tramp-adb-send-command-and-check): Fix docstring.
 +
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-retransform-dom): Don't ignore elements that
 +      have no children like <br />.
 +
 +      * net/eww.el (eww-display-html): Clear `url-queue'.
 +      (eww-display-pdf): New function.
 +      (eww-render): Display PDFs with `doc-view'.
 +      (url-queue): Require `url-queue' to avoid compilation warning.
 +      (eww-colorize-region): Remove duplicate function.
 +      (eww-tag-body): Use `shr-colorize-region'.
 +
 +2014-11-03  Yoni Rabkin <yrk@gnu.org>
 +
 +      * net/eww.el (eww-list-bookmarks): Autoload.
 +
 +2014-11-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-retransform-dom): Allow several text sub-nodes.
 +
 +      * net/eww.el (eww-display-html): The charset is called `utf-8',
 +      not `utf8'.
 +      (eww-readable): Decode the saved text correctly.
 +      (eww-readable): Save the history before displaying so that we can
 +      go back to the non-readable version.
 +      (eww-display-html): Don't try to decode the text if we've been
 +      passed in a pre-parsed DOM.
 +      (eww-tag-title): Remove newlines and extra whitespace from the
 +      displayed title.
 +
 +2014-11-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/eww.el (eww-readable): New command and keystroke.
 +
 +      * net/shr.el (shr-retransform-dom): New function.
 +
 +      * net/eww.el (eww-display-html): Set `eww-current-source' in the
 +      correct buffer.
 +      (eww-view-source): Use it.
 +
 +2014-11-02  Ivan Shmakov <ivan@siamics.net>
 +
 +      * net/eww.el (eww): Recognize colon-delimited IPv6 addresses.
 +      (Bug#18603).
 +
 +2014-11-02  Brian McKenna <brian@brianmckenna.org>  (tiny change)
 +
 +      * net/eww.el (eww-submit): Encode empty form values as "".  (Bug#17785).
 +
 +2014-11-02  Ivan Shmakov <ivan@siamics.net>
 +
 +      * net/eww.el (eww): Allow "file:/file/name" URLs.  (Bug#18825).
 +
 +2014-11-02  Ivan Shmakov <ivan@siamics.net>
 +
 +      * net/eww.el (eww-mode-map): Remove mentions of `eww-quit'.
 +      (Bug#18834).
 +
 +2014-11-02  Eric Abrahamsen  <eric@ericabrahamsen.net>
 +
 +      * emacs-lisp/eieio.el (eieio-edebug-prin1-to-string): Adjust for
 +      use as advice.
 +      (edebug-setup-hook): Advise `edebug-prin1-to-string'.  (Bug#18897)
 +
 +2014-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/pp.el (pp-macroexpand-expression): Use macroexpand-1
 +      (bug#18821).
 +      * progmodes/elisp-mode.el (emacs-lisp-macroexpand): Idem.
 +
 +2014-11-01  Michael R. Mauger  <michael@mauger.com>
 +
 +      * sql.el (sql-mode-oracle-font-lock-keywords): Correct regexp
 +      syntax, add new keywords, and parse longer keywords first.
 +      (sql-redirect-one): Protect against empty command.
 +      (sql-mode, sql-interactive-mode): Set `custom-mode-group' property
 +      to SQL.  (Bug#14759)
 +
 +2014-11-01  Michael R. Mauger  <michael@mauger.com>
 +
 +      * sql.el (sql-interactive-mode, sql-stop): Correct fix for
 +      Bug#16814 with let-bind of comint-input-ring variables around read
 +      and save functions.
 +
 +2014-11-01  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-get-file-property)
 +      (tramp-set-file-property): Check that `tramp-cache-get-count-*'
 +      and `tramp-cache-set-count-*' are bound.  Otherwise, there might
 +      be compiler warnings.
 +
 +      * net/tramp-sh.el (tramp-get-remote-uid, tramp-get-remote-gid):
 +      Return -1 respective "UNKNOWN", if uid or gid cannot be determined.
 +
 +2014-11-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * progmodes/compile.el (compilation-mode): Turn off deferred
 +      fontifications locally.  (Bug#18856)
 +
 +2014-11-01  Wolfgang Jenkner  <wjenkner@inode.at>
 +
 +      * net/tramp-sh.el (tramp-send-command): Fix the case where the
 +      remote-echo connection property is non-nil (bug#18858).
 +
 +2014-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (newline): Add assertions to try and help catch bug#18913.
 +
 +      * emulation/cua-base.el (cua-delete-region): Use delete-active-region
 +      (bug#18886).
 +      (cua--last-deleted-region-pos, cua--last-deleted-region-text): Remove.
 +
 +2014-11-01  Kim F. Storm  <storm@cua.dk>
 +
 +      Restore cua-delete-copy-to-register-0 and M-v command (bug#18886).
 +      * delsel.el (delete-selection-save-to-register)
 +      (delsel--replace-text-or-position): New vars.
 +      (delete-active-region): Use them.
 +      (delete-selection-repeat-replace-region): New command, moved from
 +      cua-base.el.
 +      * emulation/cua-base.el (cua--repeat-replace-text): Remove var.
 +      (cua-repeat-replace-region): Move command to delsel.el.
 +      (cua--init-keymaps): Update binding accordingly.
 +      (cua-mode): Set delete-selection-save-to-register.
 +
 +2014-11-01  Alan Mackenzie  <acm@muc.de>
 +
 +      Make blink-parens work with a closing template delimiter.
 +      * progmodes/cc-cmds.el (c-electric-lt-gt): Cause a redisplay
 +      before calling blink-paren-function, so as to apply syntax-table
 +      properties to the ">".
 +
 +2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * select.el (gui-get-selection): Comment: data-type ignored on NS.
 +
 +2014-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/macroexp.el (macroexpand-1): New function (bug#18821).
 +      (macroexp--expand-all): Unrelated tweaks.
 +
 +      * emacs-lisp/gv.el (gv-get): Use macroexpand-1.
 +
 +2014-10-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * startup.el (command-line): Remove pointless attempt to avoid
 +      statting the file-system (which expand-file-name doesn't do).
 +
 +2014-10-30  Daniel Colascione  <dancol@dancol.org>
 +
 +      Add "enum class" support to C++ mode.
 +      * progmodes/cc-langs.el (c-after-brace-list-decl-kwds)
 +      (c-after-brace-list-key): New language consts/variables.
 +      * progmodes/cc-engine.el (c-looking-at-decl-block):
 +      Exclude spurious match of "enum struct" from decl-block recognition.
 +      (c-backward-colon-prefixed-type): New function.
 +      (c-backward-over-enum-header): Call above function to extend
 +      recognition of enum structure.
 +
 +2014-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845).
 +      (c-lang-defconst):
 +      * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it.
 +
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * progmodes/compile.el (compilation-start):
 +      If compilation-scroll-output is non-nil, don't force window-start of
 +      the compilation buffer to be at beginning of buffer.  (Bug#18874)
 +
 +      * startup.el (fancy-about-text): Read the entire tutorial, not
 +      just its first 256 bytes.  (Bug#18760)
 +
 +2014-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804).
 +      * emacs-lisp/cl-extra.el: Add missing provide.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where
 +      all args are copyable (bug#18767).
 +      (=, <, >, <=, >=): Re-enable the optimization.
 +
 +2014-10-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * net/rcirc.el (rcirc-fill-column): Unbump :version.  Mark :risky.
 +
 +      * version.el (emacs-bzr-version, emacs-bzr-get-version):
 +      Revert 2014-10-26 change.
 +
 +2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify use of current-time and friends.
 +      * allout-widgets.el (allout-widgets-hook-error-handler):
 +      * calendar/appt.el (appt-display-message):
 +      * calendar/icalendar.el (icalendar--convert-float-to-ical):
 +      * calendar/timeclock.el (timeclock-in, timeclock-when-to-leave)
 +      (timeclock-last-period, timeclock-day-base):
 +      * eshell/em-ls.el (eshell-ls-file):
 +      * eshell/esh-util.el (eshell-parse-ange-ls):
 +      * generic-x.el (named-database-print-serial):
 +      * net/newst-backend.el (newsticker--get-news-by-url-callback)
 +      (newsticker-get-news, newsticker--sentinel-work)
 +      (newsticker--image-get, newsticker--image-sentinel):
 +      * net/tramp-sh.el (tramp-get-remote-touch):
 +      * progmodes/opascal.el (opascal-debug-log):
 +      * textmodes/remember.el (remember-mail-date)
 +      (remember-store-in-files):
 +      * vc/vc-annotate.el (vc-annotate-display-autoscale)
 +      (vc-default-annotate-current-time):
 +      * vc/vc-bzr.el (vc-bzr-shelve-snapshot):
 +      * vc/vc-cvs.el (vc-cvs-annotate-current-time):
 +      * vc/vc-rcs.el (vc-rcs-annotate-current-time):
 +      Omit unnecessary call to current-time.
 +      * calendar/time-date.el (time-to-seconds) [!float-time]:
 +      * vc/vc-annotate.el (vc-annotate-convert-time):
 +      Use current time if arg is nil, to be compatible with float-time.
 +      (time-date--day-in-year): New function, with most of the guts of
 +      the old time-to-day-in-year.
 +      (time-to-day-in-year): Use it.
 +      (time-to-days): Use it, to avoid decoding the same time stamp twice.
 +      * calendar/timeclock.el (timeclock-time-to-date):
 +      Arg is now optional, like current-time-string.
 +      (timeclock-update-mode-line):
 +      Don't call current-time twice to get the current time stamp,
 +      as this can lead to inconsistent results.
 +      * completion.el (cmpl-hours-since-origin):
 +      * ido.el (ido-time-stamp):
 +      * vc/vc-annotate.el (vc-annotate-convert-time):
 +      Simplify by using float-time.
 +      * completion.el (save-completions-to-file):
 +      Rename local var to avoid confusion.
 +      * net/rcirc.el (rcirc-float-time): Simplify to an alias because
 +      time-to-seconds now behaves like float-time with respect to nil arg.
 +      * subr.el (progress-reporter-do-update):
 +      Don't call float-time unless needed.
 +
 +2014-10-29  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-fill-column): Use function.
 +      (rcirc-markup-fill): Remove adjustment.
 +
 +2014-10-28  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * calc/calc.el (quick-calc):
 +      * calc/calc-aent.el (calc-do-quick-calc): New argument INSERT.
 +
 +2014-10-28  Sam Steingold  <sds@gnu.org>
 +
 +      * net/rcirc.el (rcirc-fill-column): Allow any symbolic value for
 +      the sake of `window-body-width' (in addition to `frame-width').
 +
 +2014-10-26  Eric S. Raymond  <esr@thyrsus.com>
 +
 +      * version.el: Fix some fallback values to conform to the actual
 +      release number.
 +
 +2014-10-25  Eric S. Raymond  <esr@thyrsus.com>
 +
 +      * Makefile.in: Change some production names so they're neutral
 +      about the repository type.
 +
 +2014-10-25  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-gvfs.el (tramp-gvfs-methods-mounttracker)
 +      (tramp-gvfs-mountlocation-signature): Check `tramp-gvfs-enabled'
 +      during initialization.  (Bug#18774)
 +
 +2014-10-25  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (macroexp): Add require for this package, so that
 +      function `ses--cell' gets macroexp-quote --- this change was
 +      supposed to be in my previous commit, but left out by mistake.
 +      (ses--cell): Do not make formula a macroexp-quote of value when
 +      value, not formula, is *skip*.
 +
 +2014-10-24  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (macroexp): Add require for this package, so that function
 +      `ses--cell gets macroexp-quote.
 +      (ses--cell): Makes formula a macroexp-quote of value when formula
 +      is nil. The rationale of this changr is to allow in the future
 +      shorter SES files, e.g. we could have only `(ses-cell A1 1.0)'
 +      instead of `(ses-cell A1 1.0 1.0 nil REFLIST)'. In such a case
 +      reference list REFLIST would be re-computed after load --- thus
 +      trading off load time against file size.
 +
 +      * emacs-lisp/package.el (package--alist-to-plist-args):
 +      Use macroexp-quote instead of a lambda expression which has the same
 +      content as macroexp-quote.
 +      (macroexp): Add require for this package, so that function
 +      `package--alist-to-plist-args' gets macroexp-quote.
 +
 +      * emacs-lisp/macroexp.el (macroexp-quote): New defun.
 +
 +2014-10-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * term/ns-win.el (ns-store-cut-buffer-internal)
 +      (ns-copy-including-secondary): Use gui-set-selection (bug#18816).
 +
 +2014-10-24  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * mouse.el (mouse-drag-line): Don't use mouse-pixel-position.
 +      Calculate increment from last position instead of window edge.
 +      Add right- and bottom-divider bindings to transient map.
 +
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl-defstruct): Define an internal predicate
 +      even if :predicate was nil, for the benefit of typep.
 +      Record the name of the predicate for typep's use.
 +      (cl--make-type-test): Use pcase.  Obey new
 +      cl-deftype-satisfies property.
 +
 +      * epg.el: Use cl-defstruct.
 +      (epg-make-data-from-file, epg-make-data-from-string, epg-data-file)
 +      (epg-data-string): Define via cl-defstruct.
 +      (epg--gv-nreverse): New macro.
 +      (epg-context--make): New constructor (provided vi cl-defstruct).
 +      (epg-make-context): Rewrite using it.
 +      (epg-context-protocol, epg-context-program)
 +      (epg-context-home-directory, epg-context-armor, epg-context-textmode)
 +      (epg-context-include-certs, epg-context-cipher-algorithm)
 +      (epg-context-digest-algorithm, epg-context-compress-algorithm)
 +      (epg-context-passphrase-callback, epg-context-progress-callback)
 +      (epg-context-signers, epg-context-sig-notations, epg-context-process)
 +      (epg-context-output-file, epg-context-result, epg-context-operation)
 +      (epg-context-pinentry-mode): Define using cl-defstruct.
 +      (epg-context-set-protocol, epg-context-set-program)
 +      (epg-context-set-include-certs, epg-context-set-cipher-algorithm)
 +      (epg-context-set-digest-algorithm)
 +      (epg-context-set-sig-notations, epg-context-set-process)
 +      (epg-context-set-output-file, epg-context-set-result)
 +      (epg-context-set-operation, epg-context-set-pinentry-mode)
 +      (epg-context-set-compress-algorithm): Remove.  Use setf instead.
 +      (epg-context-set-armor, epg-context-set-textmode)
 +      (epg-context-set-signers): Redefine using setf
 +      and declare as obsolete.
 +      (epg-context-set-passphrase-callback)
 +      (epg-context-set-progress-callback): Use setf.
 +      (epg-signature-notations): Rename from epg-sig-notations.
 +      (epg-make-signature, epg-signature-status, epg-signature-key-id)
 +      (epg-signature-validity, epg-signature-fingerprint)
 +      (epg-signature-creation-time, epg-signature-expiration-time)
 +      (epg-signature-pubkey-algorithm, epg-signature-digest-algorithm)
 +      (epg-signature-class, epg-signature-version): Define vi cl-defstruct.
 +      (epg-signature-set-status, epg-signature-set-key-id)
 +      (epg-signature-set-validity, epg-signature-set-fingerprint)
 +      (epg-signature-set-creation-time, epg-signature-set-expiration-time)
 +      (epg-signature-set-pubkey-algorithm)
 +      (epg-signature-set-digest-algorithm, epg-signature-set-class)
 +      (epg-signature-set-version, epg-signature-set-notations): Remove.
 +      Use setf instead.
 +      (epg-make-new-signature, epg-new-signature-type)
 +      (epg-new-signature-pubkey-algorithm)
 +      (epg-new-signature-digest-algorithm, epg-new-signature-class)
 +      (epg-new-signature-creation-time, epg-new-signature-fingerprint):
 +      Define using cl-defstruct.
 +      (epg-make-key, epg-key-owner-trust, epg-key-sub-key-list)
 +      (epg-key-user-id-list): Define using cl-defstruct.
 +      (epg-key-set-sub-key-list, epg-key-set-user-id-list): Remove.
 +      Use setf instead.
 +      (epg-make-sub-key, epg-sub-key-validity, epg-sub-key-capability)
 +      (epg-sub-key-secret-p, epg-sub-key-algorithm, epg-sub-key-length)
 +      (epg-sub-key-id, epg-sub-key-creation-time)
 +      (epg-sub-key-expiration-time, epg-sub-key-fingerprint): Define using
 +      cl-defstruct.
 +      (epg-sub-key-set-fingerprint): Remove.  Use setf instead.
 +      (epg-make-user-id, epg-user-id-validity, epg-user-id-string)
 +      (epg-user-id-signature-list): Define using cl-defstruct.
 +      (epg-user-id-set-signature-list): Remove.  Use setf instead.
 +      (epg-make-key-signature, epg-key-signature-validity)
 +      (epg-key-signature-pubkey-algorithm, epg-key-signature-key-id)
 +      (epg-key-signature-creation-time, epg-key-signature-expiration-time)
 +      (epg-key-signature-user-id, epg-key-signature-class)
 +      (epg-key-signature-exportable-p): Define using cl-defstruct.
 +      (epg-make-sig-notation, epg-sig-notation-name)
 +      (epg-sig-notation-value, epg-sig-notation-human-readable)
 +      (epg-sig-notation-critical): Define using cl-defstruct.
 +      (epg-sig-notation-set-value): Remove.  Use setf instead.
 +      (epg-make-import-status, epg-import-status-fingerprint)
 +      (epg-import-status-reason, epg-import-status-new)
 +      (epg-import-status-user-id, epg-import-status-signature)
 +      (epg-import-status-sub-key, epg-import-status-secret): Define using
 +      cl-defstruct.
 +      (epg-make-import-result, epg-import-result-considered)
 +      (epg-import-result-no-user-id, epg-import-result-imported)
 +      (epg-import-result-imported-rsa, epg-import-result-unchanged)
 +      (epg-import-result-new-user-ids, epg-import-result-new-sub-keys)
 +      (epg-import-result-new-signatures, epg-import-result-new-revocations)
 +      (epg-import-result-secret-read, epg-import-result-secret-imported)
 +      (epg-import-result-secret-unchanged, epg-import-result-not-imported)
 +      (epg-import-result-imports): Define using cl-defstruct.
 +
 +      * emacs-lisp/package.el: Require EPG during macroexpansion.
 +      (package--check-signature, package-import-keyring): Use setf instead of
 +      epg-context-set-home-directory.
 +
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile--use-old-handlers): Change default.
 +
 +2014-10-23  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/cfengine.el (cfengine3-defun-full-re): New var.
 +      (cfengine3-create-imenu-index): Use it and use ` ' for separation.
 +      (cfengine3-current-defun): New function.
 +      (cfengine3-mode): Set add-log-current-defun-function.
 +
 +2014-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * select.el: Use lexical-binding.
 +      (gui-set-selection): Provide an implementation for non-GUI frames
 +      (bug#18791).
 +      * term/x-win.el: Use lexical-binding.
 +      (x-clipboard-yank): Fix up missed renamings.
 +      * term/w32-win.el (libgif-version, libjpeg-version): Silence compiler.
 +      (w32--set-selection): Fix up var names.
 +      * term/pc-win.el: Use lexical-binding.
 +      (w16-selection-exists-p): Silence compiler warning.
 +      (w16-selection-owner-p): Fix up missed renamings.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug.
 +
 +      * frame.el (frame-notice-user-settings): Fix excessive quoting.
 +
 +2014-10-22  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * doc-view.el (doc-view-open-text): View the document's plain text
 +      in the current buffer instead of a new one.
 +      (doc-view-toggle-display): Handle the case where the current
 +      buffer contains the plain text contents of the document.
 +      (doc-view-initiate-display): Don't switch to fallback mode if the
 +      user wants to view the doc's plain text.
 +      (doc-view-set-doc-type): Use assoc-string instead of
 +      assoc-ignore-case.
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (read-key): Fix clicks on the mode-line.
 +      (set-transient-map): Return exit function.
 +
 +      * mouse.el (mouse-drag-line): Use set-transient-map (bug#18015).
 +      (mouse--down-1-maybe-follows-link): Remove unused var `this-event'.
 +      (mouse-yank-secondary): Use gui-get-selection.
 +      (mouse--down-1-maybe-follows-link): Use read-key.
 +
 +      * xt-mouse.el: Add `event-kind' property on the fly from
 +      xterm-mouse-translate-1 rather than statically at the outset.
 +
 +2014-10-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * vc/vc-dispatcher.el (vc-resynch-window): Tell view-mode not to
 +      change window configuration when we turn it off.
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Get rid of backend-dependent selection-handling functions for kill/yank
 +      and make it generic instead by relying on the lower-level selection
 +      management functions.
 +
 +      * select.el (select-enable-clipboard): Rename from
 +      gui-select-enable-clipboard.
 +      (select-enable-primary): Move from x-win.el and rename from
 +      x-select-enable-primary.
 +      (gui-last-selected-text): Remove.
 +      (gui--last-selected-text-clipboard, gui--last-selected-text-primary):
 +      New vars.
 +      (gui-select-text): Rewrite, based on x-win.el's old x-select-text.
 +      (gui-select-text-alist, gui-selection-value-alist): Remove.
 +      (x-select-request-type): Move from x-win.el.
 +      (gui--selection-value-internal): New function, taken from x-win's
 +      x-selection-value-internal.
 +      (gui-selection-value): Rewrite, based on x-win.el's old x-selection-value.
 +      (gui-set-selection-alist): Rename from gui-own-selection-alist and
 +      extend it to handle a nil value as a "disown" request.
 +      (gui-disown-selection-alist): Remove.
 +      (xselect-convert-to-delete): Adjust accordingly.
 +      (gui-set-selection): Simplify accordingly as well.  Use dotimes.
 +
 +      * term/x-win.el (x-last-selected-text-primary)
 +      (x-select-enable-primary): Remove (moved to select.el).
 +      (x-select-request-type): Move to select.el.
 +      (x-selection-value-internal, x--selection-value): Remove functions.
 +      (gui-selection-value, gui-select-text): Remove moethods.
 +      (gui-set-selection): Merge own and disown methods.
 +
 +      * term/w32-win.el (w32--select-text, w32--get-selection-value):
 +      Delete function (move functionality into w32--set-selection and
 +      w32--get-selection).
 +      (gui-select-text, gui-selection-value): Don't define methods.
 +      (w32--set-selection, w32--get-selection, w32--selection-owner-p):
 +      New functions.
 +      (gui-get-selection, gui-selection-owner-p, gui-selection-exists-p):
 +      Use them.
 +      (gui-selection-exists-p): Adjust to new name of C primitive.
 +
 +      * term/pc-win.el (w16-get-selection-value): Add dummy argument and drop
 +      test of gui-select-enable-clipboard, to make it usable as
 +      a gui-get-selection method.
 +      (gui-selection-exists-p): Adjust to new name of C primitive.
 +      (gui-set-selection): Merge own and disown methods.
 +      (gui-select-text, gui-selection-value): Delete methods.
 +      (w16--select-text): Delete function.
 +
 +      * term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard)
 +      (ns-selection-value): Remove functions.
 +      (gui-select-text, gui-selection-value): Don't define method any more.
 +      (gui-set-selection): Merge the old own and disown methods.
 +      (gui-selection-exists-p, gui-get-selection): Adjust to new name of
 +      underlying C primitive.
 +
 +      * startup.el (command-line): Adjust now that `gui-method' expects nil
 +      for ttys.
 +
 +      * frame.el (gui-method): Use window-system rather than framep.
 +      (gui-method-declare): The tty case is now nil rather than t.
 +      (make-frame): Adjust accordingly.
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * net/newst-reader.el (newsticker--image-read): Simplify.
 +      (newsticker--icon-read): Use dolist and fix free var error.
 +
 +      * imenu.el (imenu--menubar-keymap): New var.
 +      (imenu-add-to-menubar): Set it to remember the keymap we used.
 +      (imenu-update-menubar): Use it instead of asking lookup-key.
 +
 +      * obsolete/cc-compat.el: Make obsolete (bug#18561).
 +
 +      * epg-config.el (epg-gpg-program): Don't use absolute names by default.
 +
 +      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 +      case (bug#18767).
 +
 +2014-10-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * Merge in all changes up to version 24.4 release.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/bytecomp.el (=, <, >, <=, >=): Don't optimize multi-arg
 +      case (bug#18767).
 +
 +2014-10-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-20  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-backend.el
 +      (newsticker--image-download-by-url-callback): Make this function
 +      actually work: Check status properly, then save image.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el (mouse--down-1-maybe-follows-link): Remove unused var
 +      `this-event'.
 +      (mouse-drag-line): Unless there's no actual mouse, use the event's
 +      position info.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textmodes/css-mode.el (scss-mode): New major-mode.
 +      (css-mode-syntax-table): Use d style comment, to ease the scss case.
 +      (css-ident-re): Allow things like @-moz-keyframes.
 +      (scss--hash-re): New const.
 +      (css--font-lock-keywords): New function, extracted from
 +      css-font-lock-keywords.
 +
 +2014-10-19  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-backend.el: Require url-parse.
 +      (newsticker--get-news-by-wget): Store feed name as process property.
 +      (newsticker--sentinel): Read feed name from process property.
 +      (newsticker--sentinel-work): Rename argument name to feed-name.
 +      Rename variable imageurl to image-url.  Pick icon url from Atom
 +      1.0 data.  Launch download of feed icon.
 +      (newsticker--get-icon-url-atom-1.0): New.
 +      (newsticker--unxml)
 +      (newsticker--unxml-node)
 +      (newsticker--unxml-attribute): Documentation.
 +      (newsticker--icons-dir): New.
 +      (newsticker--image-get): New arguments FILENAME and DIRECTORY.
 +      Use `url-retrieve' if `newsticker-retrieval-method' is 'intern.
 +      (newsticker--image-download-by-wget): New.  Use process properties
 +      for storing informations.
 +      (newsticker--image-sentinel): Read informations from process properties.
 +      (newsticker--image-save)
 +      (newsticker--image-remove)
 +      (newsticker--image-download-by-url)
 +      (newsticker--image-download-by-url-callback): New.
 +      (newsticker-opml-export): Handle url list entries containing a
 +      function instead of an url string.
 +
 +      * net/newst-reader.el (newsticker-html-renderer): Whitespace.
 +      (newsticker--print-extra-elements)
 +      (newsticker--do-print-extra-element):
 +      Documentation (newsticker--image-read): Optionally limit image height.
 +      Use imagemagick if possible.
 +      (newsticker--icon-read): New.
 +
 +      * net/newst-treeview.el (newsticker--treeview-item-show): Limit height of feed logo.
 +      (newsticker--treeview-tree-expand): Use feed icons in treeview.
 +      (newsticker--tree-widget-icon-create): New.  Set the tree widget icon.
 +      (newsticker--tree-widget-leaf-icon): Use feed icon.
 +
 +2014-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/eieio-opt.el (eieio-lambda-arglist): Remove.
 +      Use help-function-arglist instead.
 +
 +      * emacs-lisp/eieio-core.el (eieio-compiled-function-arglist): Remove.
 +      (eieio--with-scoped-class): Use `declare'.
 +      (eieio-defclass): Remove compatibility code.
 +      (no-method-definition, no-next-method, inconsistent-class-hierarchy)
 +      (invalid-slot-type, unbound-slot, invalid-slot-name): Use define-error.
 +
 +2014-10-18  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (x-gtk-whole-detached-tool-bar): Remove.
 +
 +      * term/x-win.el (x-gtk-stock-map): Add icon names suggested as
 +      replacements to stock names before stock names in a list.
 +      Cdr may be a list, each name is tried in turn until one is found.
 +
 +2014-10-18  Alan Mackenzie  <acm@muc.de>
 +
 +      Check that a "macro" found near point-min isn't a ## operator.
 +      Fixes bug #18749.
 +      * progmodes/cc-engine.el (c-macro-is-genuine-p): New function.
 +      (c-beginning-of-macro): Use the above new function.
 +
 +2014-10-18  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * net/gnutls.el (gnutls-negotiate): Don't use cl-mapcan; pass
 +      correct data to `gnutls-boot' (Bug#18664).
 +      Reported by Toke Høiland-Jørgensen <toke@toke.dk>.
 +
 +2014-10-18  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * whitespace.el (whitespace-style, whitespace-big-indent)
 +      (whitespace-big-indent-regexp, whitespace-style-value-list)
 +      (whitespace-toggle-option-alist, whitespace-interactive-char)
 +      (whitespace-toggle-options)
 +      (global-whitespace-toggle-options, whitespace-help-text)
 +      (whitespace-style-face-p, whitespace-color-on): Add a 'big-indent
 +      style to `whitespace-mode' to indicate that the line indentation
 +      is too deep.  By default, 32 SPACEs or four TABs are considered
 +      too many but `whitespace-big-indent-regexp' can be configured.
 +
 +2014-10-17  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify--pick-alist-entry): Rename from
 +      tildify-mode-alist.
 +
 +2014-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/eieio.el: Use lexical-binding drop non-GV fallback.
 +      (defclass, defgeneric, defmethod): Add doc-string position.
 +      (with-slots): Require cl-lib.
 +
 +      * emacs-lisp/eieio-core.el: Use lexical-binding and cl-lib.
 +      (list-of): New type.
 +      (eieio--typep): Remove.
 +      (eieio-perform-slot-validation): Use cl-typep instead.
 +
 +      * emacs-lisp/eieio-base.el: Use lexical-binding and cl-lib.
 +
 +      * emacs-lisp/cl-macs.el (cl--make-type-test): Avoid ((lambda ..) ..).
 +
 +2014-10-16  Alan Mackenzie  <acm@muc.de>
 +
 +      Trigger showing when point is in the "periphery" of a line or just
 +      inside a paren.
 +      * paren.el (show-paren-style, show-paren-delay)
 +      (show-paren-priority, show-paren-ring-bell-on-mismatch):
 +      Remove superfluous :group specifications.
 +      (show-paren-when-point-inside-paren)
 +      (show-paren-when-point-in-periphery): New customizable variables.
 +      (show-paren-highlight-openparen): Make into a defcustom.
 +      (show-paren--unescaped-p, show-paren--categorize-paren)
 +      (show-paren--locate-near-paren): New defuns.
 +      (show-paren--default): Refaactor and trigger on more paren
 +      positions.
 +      (show-paren-function): Small consequential changes.
 +
 +2014-10-16  Tom Tromey  <tom@tromey.com>
 +
 +      * files.el (auto-mode-alist): Use javascript-mode for .jsm
 +      (bug #18719).
 +
 +2014-10-16  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * international/characters.el (bracket-type): Force pre-loading of
 +      uni-brackets.el.
 +
 +2014-10-16  Alan Mackenzie  <acm@muc.de>
 +
 +      * cus-edit.el (custom-command-apply): Specify the return value in
 +      the doc string.
 +      (Custom-reset-standard): Save custom-file (e.g. .emacs) only when
 +      custom-command-apply has returned non-nil.
 +
 +2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/eldoc.el (global-eldoc-mode): Enable by default.
 +      Remove incorrect handling of eldoc-print-after-edit.
 +      (eldoc-message-commands, eldoc-last-data): Use defvar.
 +      * loadup.el (emacs-lisp/eldoc): Load it.
 +
 +      * progmodes/m4-mode.el (m4-syntax-propertize): New var.
 +      (m4-mode): Use it.
 +      (m4--quoted-p): New function.
 +      (m4-font-lock-keywords): Don't handle #..\n comments any more.
 +      (m4-mode-syntax-table): Use punctuation syntax (according to m4 manual)
 +      for most special characters.
 +
 +      * progmodes/compile.el (compilation--previous-directory): Simplify.
 +      (compilation-next-error): Ensure the parse before we look at
 +      compilation-message property.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * simple.el (what-cursor-position):
 +      * descr-text.el (describe-char): Update to support the new bidi
 +      characters.
 +
 +      * emacs-lisp/tabulated-list.el (tabulated-list-mode):
 +      Force bidi-paragraph-direction to 'left-to-right'.  This fixes
 +      buffer-menu display when the first buffer happens to start with
 +      R2L letter.
 +
 +2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/elisp-mode.el (elisp--local-variables-1):
 +      Handle quoted expressions (bug#18688).
 +
 +2014-10-14  Jérémy Compostella  <jeremy.compostella@intel.com>
 +          Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 +      Reduce the amount of set environment variable commands.
 +
 +2014-10-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Fix import completion.  (Bug#18582)
 +      * progmodes/python.el (python-shell-completion-get-completions):
 +      Fix import case regexp.
 +
 +2014-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/bat-mode.el (bat-font-lock-keywords): Fix \\<_ typo
 +      (bug#18622).  Reported by Arni Magnusson <arnima@hafro.is>.
 +      * progmodes/prolog.el (prolog-electric--underscore): Same.
 +
 +2014-10-12  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-get-remote-id): Check also for "gid".
 +
 +2014-10-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (all): Add missing ns and boolean to
 +      ns-use-fullscreen-animation.
 +
 +2014-10-11  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/cfengine.el (cfengine3-defuns, cfengine3-vartypes):
 +      Use strings.
 +      (cfengine3-create-imenu-index): New function.
 +      (cfengine3-mode): Use it for `imenu-create-index-function'.
 +      (cfengine-auto-mode): Improve and prefer cfengine3-mode when
 +      buffer is empty.
 +
 +2014-10-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (all): Add ns-use-fullscreen-animation.
 +
 +2014-10-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/diary-lib.el (diary-display-function):
 +      Drop support for deprecated nil and list forms.
 +      (diary-list-entries): Update for the above.
 +      * calendar/cal-x.el (calendar-dedicate-diary): Simplify accordingly.
 +
 +2014-10-10  Leo Liu  <sdl.web@gmail.com>
 +
 +      * window.el (temp-buffer-window-show): Make BUFFER a required arg.
 +      (Bug#18656)
 +
 +2014-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * select.el (gui-selection-exists-p-alist): New method.
 +      * menu-bar.el (menu-bar-edit-menu, clipboard-yank):
 +      * simple.el (deactivate-mark): Use it.
 +      * term/x-win.el (gui-selection-exists-p):
 +      * term/w32-win.el (gui-selection-exists-p):
 +      * term/pc-win.el (gui-selection-exists-p):
 +      * term/ns-win.el (gui-selection-exists-p): Provide a backend instance.
 +
 +2014-10-10  Glenn Morris  <rgm@gnu.org>
 +
 +      * info.el (Info-fontify-maximum-menu-size): Bump to 400k.  (Bug#16227)
 +      Fix :type.  Allow t to mean no limit.
 +      (Info-fontify-node): Handle Info-fontify-maximum-menu-size = t.
  
  2014-10-09  Glenn Morris  <rgm@gnu.org>
  
        * frame.el (display-monitor-attributes-list): Doc tweaks.
  
 -2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-09  Eli Zaretskii  <eliz@gnu.org>
  
        * faces.el (display-grayscale-p): Mention in the doc string that
        the argument can be either a display name or a frame.
        be either a display name or a frame.  Improve the docs of the
        monitor attributes.  (Bug#18636)
  
 -2014-10-06  Martin Rudalics  <rudalics@gmx.at>
 +2014-10-09  Martin Rudalics  <rudalics@gmx.at>
  
        * term.el (term-window-width): Subtract 1 from the width when
        any fringe has zero width, not just the right fringe.  (Bug#18601)
  
 +2014-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * frame.el (make-frame): Use t rather than nil for `w' (bug#18653).
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-extra.el (cl-fresh-line): New function.
 +
 +2014-10-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/cal-x.el (calendar-dedicate-diary):
 +      Drop support for recently deleted aliases.
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/cfengine.el (cfengine3-make-syntax-cache):
 +      Always return a syntax.  Replace call-process-shell-command with
 +      process-file.  Ensure cfengine-mode-syntax-functions-regex is
 +      always set.  Ensure cache when cfengine-cf-promises fails.
 +      (Bug#18620)
 +
 +2014-10-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * font-lock.el (font-lock-fontify-buffer): Fix interactive-only markup.
 +
 +2014-10-07  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      Sync with upstream verilog-mode revision c075a492.
 +      * progmodes/verilog-mode.el (verilog-mode-version): Bump.
 +      (verilog-menu): Add AUTOINSERTLAST.
 +      (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
 +      is nil, fix indenting initial/final to match always statements, bug825.
 +      Reported by Tim Clapp.
 +      (verilog-extended-complete-re): Fix indentation of DPI-C imports,
 +      bug557.  Reported by ZeDong Mao and Jason Forkey.
 +      (verilog-read-decls): Fix parsing typed interfaces.
 +      Fix AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
 +      (verilog-auto-arg-ports): Fix verilog-auto-arg-format single.
 +      (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793.
 +      Reported by Pierre-David Pfister.
 +      (verilog-auto-insert-lisp): Doc fix.
 +      (verilog-auto-insert-last, verilog-auto): Add AUTOINSERTLAST to
 +      allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
 +      (verilog-sk-ovm-class, verilog-sk-uvm-object)
 +      (verilog-sk-uvm-component): Fix missing string keyword in class
 +      skeletons, bug824.  Reported by eldad faruhi.
 +
 +2014-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * term/w32-win.el: Move all code from 32-common-fns.el here.
 +      (gui-select-text, gui-selection-value): Use w32 handlers in the w32
 +      console as well (bug#18629).
 +      * w32-common-fns.el: Remove.
 +      * loadup.el: Don't load w32-common-fns.el.
 +      * w32-fns.elc: Don't require w32-common-fns.
 +
 +      * icomplete.el: Move Iswitchb autoload here.  Much simpler.
 +      * obsolete/iswitchb.el (iswitchb-mode): Use normal autoload cookie.
 +      Remove redundant obsolescence thingy.
 +      * loadup.el: Don't load obsolete/loaddefs.el.
 +      * Makefile.in (obsolete-autoloads): Remove.
 +      (AUTOGENEL): Remove obsolete/loaddefs.el.
 +
 +2014-10-06  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (obsolete-autoloads): Write to a separate file,
 +      to workaround autoloads bug.  (Bug#17407)
 +      (AUTOGENEL): Add obsolete/loaddefs.el.
 +      * loadup.el: Load obsolete/loaddefs.el if present.
 +      * subr.el (do-after-load-evaluation):
 +      Don't warn about obsolete/loaddefs.el.
 +
 +      * menu-bar.el (menu-bar-games-menu): Remove landmark.
 +      It has zero relationship to a game.
 +
 +2014-10-06  Leo Liu  <sdl.web@gmail.com>
 +
 +      * imenu.el (imenu): Re-write for clarity.
 +
 +2014-10-06  Glenn Morris  <rgm@gnu.org>
 +
 +      Remove calendar code obsolete since at least version 23.1.
 +      * calendar/cal-bahai.el (calendar-absolute-from-bahai)
 +      (calendar-print-bahai-date, calendar-bahai-prompt-for-date)
 +      (calendar-goto-bahai-date, list-bahai-diary-entries)
 +      (mark-bahai-calendar-date-pattern, mark-bahai-diary-entries)
 +      (insert-bahai-diary-entry, insert-monthly-bahai-diary-entry)
 +      (insert-yearly-bahai-diary-entry):
 +      * calendar/cal-china.el (chinese-calendar-time-zone)
 +      (chinese-calendar-location-name)
 +      (chinese-calendar-daylight-time-offset)
 +      (chinese-calendar-standard-time-zone-name)
 +      (chinese-calendar-daylight-time-zone-name)
 +      (chinese-calendar-daylight-savings-starts)
 +      (chinese-calendar-daylight-savings-ends)
 +      (chinese-calendar-daylight-savings-starts-time)
 +      (chinese-calendar-daylight-savings-ends-time)
 +      (chinese-calendar-celestial-stem)
 +      (chinese-calendar-terrestrial-branch)
 +      (calendar-absolute-from-chinese, calendar-print-chinese-date)
 +      (calendar-goto-chinese-date):
 +      * calendar/cal-coptic.el (calendar-absolute-from-coptic)
 +      (calendar-print-coptic-date, coptic-prompt-for-date)
 +      (calendar-goto-coptic-date, calendar-absolute-from-ethiopic)
 +      (calendar-print-ethiopic-date, calendar-goto-ethiopic-date):
 +      * calendar/cal-french.el (calendar-absolute-from-french)
 +      (calendar-print-french-date, calendar-goto-french-date):
 +      * calendar/cal-hebrew.el (diary-sabbath-candles-minutes)
 +      (calendar-absolute-from-hebrew, calendar-print-hebrew-date)
 +      (hebrew-calendar-yahrzeit, calendar-goto-hebrew-date)
 +      (holiday-rosh-hashanah-etc, holiday-hanukkah)
 +      (holiday-passover-etc, holiday-tisha-b-av-etc)
 +      (list-hebrew-diary-entries, mark-hebrew-calendar-date-pattern)
 +      (mark-hebrew-diary-entries, insert-hebrew-diary-entry)
 +      (insert-monthly-hebrew-diary-entry)
 +      (insert-yearly-hebrew-diary-entry, list-yahrzeit-dates)
 +      (diary-omer, diary-yahrzeit, diary-rosh-hodesh, diary-parasha)
 +      (diary-sabbath-candles):
 +      * calendar/cal-islam.el (calendar-absolute-from-islamic)
 +      (calendar-print-islamic-date, calendar-goto-islamic-date)
 +      (list-islamic-diary-entries, mark-islamic-calendar-date-pattern)
 +      (mark-islamic-diary-entries, insert-islamic-diary-entry)
 +      (insert-monthly-islamic-diary-entry)
 +      (insert-yearly-islamic-diary-entry):
 +      * calendar/cal-iso.el (calendar-absolute-from-iso)
 +      (calendar-print-iso-date, calendar-iso-read-args)
 +      (calendar-goto-iso-date, calendar-goto-iso-week):
 +      * calendar/cal-julian.el (calendar-absolute-from-julian)
 +      (calendar-print-julian-date, calendar-goto-julian-date)
 +      (calendar-absolute-from-astro, calendar-print-astro-day-number)
 +      (calendar-goto-astro-day-number):
 +      * calendar/cal-mayan.el (calendar-print-mayan-date)
 +      (calendar-next-haab-date, calendar-previous-haab-date)
 +      (calendar-next-tzolkin-date, calendar-previous-tzolkin-date)
 +      (calendar-next-calendar-round-date)
 +      (calendar-previous-calendar-round-date)
 +      (calendar-absolute-from-mayan-long-count)
 +      (calendar-goto-mayan-long-count-date):
 +      * calendar/cal-move.el (scroll-calendar-left)
 +      (scroll-calendar-right, scroll-calendar-left-three-months)
 +      (scroll-calendar-right-three-months):
 +      * calendar/cal-persia.el (calendar-absolute-from-persian)
 +      (calendar-print-persian-date, persian-prompt-for-date)
 +      (calendar-goto-persian-date):
 +      * calendar/cal-x.el (calendar-after-frame-setup-hooks):
 +      * calendar/calendar.el (view-diary-entries-initially)
 +      (mark-diary-entries-in-calendar, calendar-today-face)
 +      (diary-face, holiday-face, view-calendar-holidays-initially)
 +      (mark-holidays-in-calendar, initial-calendar-window-hook)
 +      (today-visible-calendar-hook, today-invisible-calendar-hook)
 +      (hebrew-diary-entry-symbol, islamic-diary-entry-symbol)
 +      (bahai-diary-entry-symbol, american-date-diary-pattern)
 +      (european-date-diary-pattern, european-calendar-display-form)
 +      (american-calendar-display-form, holidays-in-diary-buffer)
 +      (all-hebrew-calendar-holidays, all-christian-calendar-holidays)
 +      (all-islamic-calendar-holidays, all-bahai-calendar-holidays)
 +      (fancy-diary-buffer, increment-calendar-month)
 +      (extract-calendar-month, extract-calendar-day)
 +      (extract-calendar-year, exit-calendar, calendar-date-is-legal-p)
 +      (mark-visible-calendar-date, calendar-version):
 +      * calendar/diary-lib.el (diary-button-face, sexp-diary-entry-symbol)
 +      (diary-display-hook, list-diary-entries-hook)
 +      (mark-diary-entries-hook, nongregorian-diary-listing-hook)
 +      (nongregorian-diary-marking-hook, print-diary-entries-hook)
 +      (abbreviated-calendar-year, number-of-diary-entries)
 +      (view-other-diary-entries, add-to-diary-list)
 +      (include-other-diary-files, simple-diary-display)
 +      (fancy-diary-display, print-diary-entries, mark-diary-entries)
 +      (mark-sexp-diary-entries, mark-included-diary-files)
 +      (mark-calendar-days-named, mark-calendar-month)
 +      (mark-calendar-date-pattern, sort-diary-entries)
 +      (list-sexp-diary-entries, make-diary-entry, insert-diary-entry)
 +      (insert-weekly-diary-entry, insert-monthly-diary-entry)
 +      (insert-yearly-diary-entry, insert-anniversary-diary-entry)
 +      (insert-block-diary-entry, insert-cyclic-diary-entry)
 +      (fancy-diary-font-lock-keywords, fancy-diary-display-mode):
 +      * calendar/holidays.el (general-holidays, oriental-holidays)
 +      (local-holidays, other-holidays, hebrew-holidays)
 +      (christian-holidays, islamic-holidays, bahai-holidays)
 +      (solar-holidays, list-calendar-holidays)
 +      (check-calendar-holidays, mark-calendar-holidays)
 +      (filter-visible-calendar-holidays):
 +      * calendar/lunar.el (calendar-phases-of-moon, phases-of-moon)
 +      (diary-phases-of-moon): Remove obsolete aliases.
 +      * calendar/cal-menu.el (cal-menu-load-hook): Remove obsolete hook.
 +      * calendar/cal-x.el (calendar-one-frame-setup)
 +      (calendar-only-one-frame-setup, calendar-two-frame-setup):
 +      Remove obsolete functions.
 +      (cal-x-load-hook): Remove obsolete hook.
 +      * calendar/calendar.el (european-calendar-style):
 +      Remove obsolete variable.
 +      (calendar-date-style): No longer consult european-calendar-style.
 +      * calendar/calendar.el (european-calendar, american-calendar):
 +      Remove obsolete commands.
 +      * calendar/calendar.el (calendar-for-loop): Remove obsolete macro.
 +      * calendar/diary-lib.el (diary-face): Remove obsolete variable.
 +      (diary-font-lock-date-forms, diary-fancy-font-lock-keywords):
 +      Use the face `diary' instead of the variable `diary-face'.
 +      * calendar/holidays.el (hebrew-holidays-1, hebrew-holidays-2)
 +      (hebrew-holidays-3, hebrew-holidays-4): Remove obsolete variables.
 +      * calendar/icalendar.el (icalendar--date-style): Remove function.
 +      Replace all uses with calendar-date-style.
 +      * textmodes/remember.el (calendar-date-style): Declare.
 +      (remember-diary-convert-entry):
 +      No longer consult european-calendar-style.
 +
  2014-10-05  Leo Liu  <sdl.web@gmail.com>
  
        * imenu.el (imenu-default-goto-function): Fix typo.
  
 +2014-10-04  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
 +
 +      * net/ntlm.el (ntlm-build-auth-request):
 +      Add NTLM2 Session support.  (Bug#15603)
 +
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * apropos.el (apropos-symbols-internal):
 +      Avoid error with non-symbol properties.  (Bug#18337#16)
 +
 +      * startup.el (command-line):
 +      Handle altered user-emacs-directory in load-path warning.  (Bug#18512)
 +
 +2014-10-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window-full-height-p): Make it behave correctly for
 +      minibuffer window.
 +      (window-current-scroll-bars): Fix code.
 +      (fit-frame-to-buffer): Use window-scroll-bar-height instead of
 +      window-scroll-bars.
 +      * frame.el (frame-current-scroll-bars): Fix doc-string.
 +      * scroll-bar.el (toggle-horizontal-scroll-bar): New command.
 +
 +2014-10-04  Mark Oteiza  <mvoteiza@udel.edu>  (tiny change)
 +
 +      * files.el (auto-mode-alist): Use sh-mode for .zsh files.  (Bug#18488)
 +
  2014-10-04  Glenn Morris  <rgm@gnu.org>
  
        * frame.el (frame-monitor-attributes)
        (display-monitor-attributes-list): Doc fixes.
  
 +2014-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Merge trivially safe differences from standalone CC-mode.
 +      * progmodes/cc-mode.el (c-initialize-cc-mode): Don't quote a symbol
 +      just to then pass it to `symbol-value'.
 +      (prog-mode): Provide fallback definition, if needed.
 +      * progmodes/cc-langs.el: Always load `cl'.  Don't load `cl-lib'.
 +      Remove "cl-" prefix accordingly.
 +      * progmodes/cc-fonts.el (c-font-lock-invalid-string): Use integerp or
 +      characterp depending on the type of characters.
 +      (c-font-lock-enum-tail): Remove unused var `start'.
 +      * progmodes/cc-engine.el: Load CL at compile-time.
 +      (c-declare-lang-variables): Use mapcan.
 +      (c-append-to-state-cache): Remove unused var `ce+1'.
 +      (c-parse-state-state): Make buffer-local.
 +      (c-ssb-lit-begin): Remove unused var `pps-end-pos'.
 +      (c-just-after-func-arglist-p): Remove unused var `end'.
 +      * progmodes/cc-defs.el: Load cc-fix if delete-dups is undefined.
 +      (c-<-as-paren-syntax, c->-as-paren-syntax): Move definition earlier.
 +      (c-make-keywords-re): Use delete-dups.
 +      (c-get-current-file): Avoid file-name-base.
 +      * progmodes/cc-cmds.el (c-electric-lt-gt): Remove unused var
 +      `close-paren-inserted'.
 +      * progmodes/cc-awk.el (c-forward-sws): Remove unused declaration.
 +
 +      * progmodes/python.el: Avoid building unneeded markers.
 +      (python-font-lock-keywords, python-indent-dedent-line)
 +      (python-fill-paren, python-shell-completion-complete-or-indent):
 +      Prefer point over point-marker.
 +      (inferior-python-mode): Remove redundant completion settings.
 +
  2014-10-03  Dmitry Gutov  <dgutov@yandex.ru>
  
        * vc/vc-svn.el (vc-svn-ignore-completion-table): Implement.
        similarly to Rogers's 2010-06-16 change for the remote case
        (bug#18605).
  
 -2014-10-01  Glenn Morris  <rgm@gnu.org>
 +2014-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      New gui-selection-value consolidating x-selection-value.
 +      * select.el (gui-selection-value-alist): New method.
 +      (gui-selection-value): New function.
 +      (x-selection-value): Make it an obsolete alias.
 +      * simple.el (interprogram-paste-function): Default to
 +      gui-selection-value.
 +      * w32-common-fns.el (w32-get-selection-value): Simplify.
 +      (x-selection-value): Remove alias.
 +      (interprogram-paste-function): Don't set.
 +      (gui-selection-value): Define for w32.
 +      * term/x-win.el (gui-selection-value): Define for x.
 +      (x--selection-value): Rename from x--selection-value.
 +      (interprogram-paste-function): Don't set.
 +      * term/pc-win.el (w16-get-selection-value): Simplify.
 +      (msdos-initialize-window-system): Don't set
 +      interprogram-paste-function.
 +      (gui-selection-value): Define for pc.
 +      * term/ns-win.el (x-selection-value): Remove.
 +      (gui-selection-value): Define for ns, instead.
 +      * term/common-win.el (x-setup-function-keys): Don't set
 +      interprogram-paste-function.
 +      * obsolete/mouse-sel.el (mouse-sel-get-selection-function):
 +      Use gui-selection-value.
 +
 +2014-10-02  David Raynes  <rayners@gmail.com>  (tiny change)
 +
 +      * term/ns-win.el: Add functions to ns frame, not x frame (bug#18614).
 +
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * obsolete/lucid.el (read-number): Remove, redundant.
 +      * obsolete/cl-compat.el (cl-floor, cl-ceiling, cl-round, cl-truncate):
 +      Remove, broken.
 +
 +2014-10-02  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-import-keyring):
        Create gnupg directory private.  (Bug#17625#155)
  
 -2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/python.el (python-shell-completion-get-completions):
        Use python-shell--prompt-calculated-input-regexp from the
        process buffer (bug#18582).
        Don't assume that `line' comes from the process buffer.
  
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * frame.el: Use lexical-binding (bug#18598).
 +      (make-frame): Use t rather than nil for tty's window-system.
 +      * startup.el (command-line): Use gui-method.
 +
 +      Consolidate management/ownership of selections.
 +      * select.el (gui-get-selection-alist): New method.
 +      (gui-get-selection): Use it.  Rename from x-get-selection.
 +      (x-get-selection): Define as obsolete alias.
 +      (x-get-clipboard): Mark obsolete.
 +      (gui-get-primary-selection): New function.
 +      (x-get-selection-value): Mark obsolete.
 +      (gui-own-selection-alist, gui-disown-selection-alist)
 +      (gui-selection-owner-p-alist): New methods.
 +      (gui-set-selection): Use them.  Rename from x-set-selection.
 +      (x-set-selection): Define as obsolete alias.
 +      (gui--valid-simple-selection-p): Rename from
 +      x-valid-simple-selection-p.
 +      * w32-common-fns.el (gui-own-selection, gui-disown-selection)
 +      (gui-selection-owner-p, gui-get-selection): Define for w32.
 +      (w32-get-selection-value): Rename from x-get-selection-value.
 +      Use the new gui-last-selected-text.
 +      * term/x-win.el (x-get-selection-value): Remove.
 +      (x-clipboard-yank): Declare obsolete.
 +      (gui-own-selection, gui-disown-selection, gui-get-selection)
 +      (gui-selection-owner-p): Define for x.
 +      * term/w32-win.el (w32-win-suspend-error): Rename from
 +      x-win-suspend-error.
 +      * term/pc-win.el (w16-get-selection-value): Rename from
 +      x-get-selection-value.
 +      (w16-selection-owner-p): Rename from x-selection-owner-p.
 +      (gui-own-selection, gui-disown-selection, gui-get-selection)
 +      (gui-selection-owner-p): Define for pc.
 +      (w16--select-text): New function.
 +      * term/ns-win.el (gui-own-selection, gui-disown-selection)
 +      (gui-get-selection, gui-selection-owner-p): Define for ns.
 +      * term.el (term-mouse-paste):
 +      * mouse.el (mouse-yank-primary): Use gui-get-primary-selection.
 +
 +2014-10-02  H. Dieter Wilhelm  <dieter@duenenhof-wilhelm.de>
 +
 +      * calc/calc-help.el (calc-describe-thing): Quote strings
 +      which could look like regexps.
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Consolidate x-select-text.
 +      * frame.el (gui-method, gui-method-define, gui-method-declare)
 +      (gui-call): New macros.
 +      (gui-method--name): New function.
 +      (frame-creation-function-alist): Use gui-method-declare.
 +      (make-frame): Use gui-method.
 +      * select.el (gui-select-enable-clipboard): Rename from
 +      x-select-enable-clipboard and move here.
 +      (x-select-enable-clipboard): Define as obsolete alias.
 +      (gui-last-selected-text): New var, to replace x-last-selected-text.
 +      (gui-select-text): New GUI method.
 +      (gui-select-text): New function.
 +      (x-select-text): Define as obsolete alias.
 +      * term/common-win.el (x-select-enable-clipboard, x-select-text):
 +      Move to select.el.
 +      * simple.el (interprogram-cut-function): Change default to
 +      x-select-text.
 +      (interprogram-paste-function): Change default to `ignore'.
 +      * w32-common-fns.el (interprogram-cut-function): Don't modify.
 +      * term/x-win.el (interprogram-cut-function): Don't modify.
 +      (gui-select-text): Add method for x.
 +      * term/w32-win.el (gui-select-text): Add method for w32.
 +      * term/pc-win.el (x-last-selected-text): Remove, use
 +      gui-last-selected-text instead.
 +      (msdos-initialize-window-system): Don't set interprogram-cut-function.
 +      (gui-select-text): Add method for pc.
 +      * term/ns-win.el (ns-last-selected-text): Remove, use
 +      gui-last-selected-text instead.
 +      (gui-select-text): Add method for ns.
 +      (x-setup-function-keys): Don't change interprogram-cut-function.
 +      * loadup.el ("startup"): Load after "frame".
 +      * subr.el (package--builtin-versions, package--description-file):
 +      Move from startup.el.
 +      * startup.el (package--builtin-versions, package--description-file):
 +      Move to subr.el.
 +      (handle-args-function-alist, window-system-initialization-alist):
 +      Use gui-method-declare.
 +      (command-line): Use gui-method.
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (alist-get): New accessor.
 +      * emacs-lisp/gv.el (alist-get): Provide expander.
 +      * winner.el (winner-remember):
 +      * tempo.el (tempo-use-tag-list):
 +      * progmodes/gud.el (minor-mode-map-alist):
 +      * international/mule-cmds.el (define-char-code-property):
 +      * frameset.el (frameset-filter-params):
 +      * files.el (dir-locals-set-class-variables):
 +      * register.el (get-register, set-register):
 +      * calc/calc-yank.el (calc-set-register): Use it.
 +      * ps-print.el (ps-get, ps-put, ps-del): Mark as obsolete.
 +      * tooltip.el (tooltip-set-param): Mark as obsolete.
 +      (tooltip-show): Use alist-get instead.
 +      * ses.el (ses--alist-get): Remove.  Use alist-get instead.
 +
 +2014-10-01  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-backend.el: Remove Time-stamp.  Rename variable
 +      `newsticker--download-logos' to `newsticker-download-logos' and
 +      make it customizable.
 +      (newsticker--sentinel-work): Move xml-workarounds to function
 +      `newsticker--do-xml-workarounds', call unless libxml-parser is
 +      used.  Allow single quote in regexp for encoding.
 +      Use libxml-parser if available, else fall back to `xml-parse-region'.
 +      Take care of possibly missing namespace prefixes (like "RDF"
 +      instead of "rdf:RDF") when checking xml nodes and attributes (as
 +      libxml correctly removes the prefixes).  Always use Atom 1.0 as
 +      fallback feed type.  Rename `newsticker--download-logos' to
 +      `newsticker-download-logos'
 +      (newsticker--unxml, newsticker--unxml-node)
 +      (newsticker--unxml-attribute): New.
 +      (newsticker--parse-atom-1.0): Call `unxml' in case that embedded
 +      HTML code has become part of the xml parse tree.
 +      (newsticker--parse-rss-1.0, newsticker--parse-rss-2.0): Take care
 +      of possibly missing namespace prefixes.
 +      (newsticker--parse-generic-items): Code formatting. Typo.
 +      (newsticker--images-dir): Add trailing slash.
 +      (newsticker--image-get): Fix error message.
 +
 +      * net/newst-plainview.el: Remove Time-stamp.
 +
 +      * net/newst-reader.el: Remove Time-stamp.
 +      (newsticker-download-logos): Rename variable
 +      `newsticker--download-logos' to `newsticker-download-logos' and
 +      make it customizable.
 +      (newsticker--print-extra-elements): Add optional parameter
 +      'htmlish for using html markup.  Amend list of ignored elements.
 +      (newsticker--do-print-extra-element): Add parameter 'htmlish for
 +      using html markup.
 +
 +      * net/newst-ticker.el: Remove Time-stamp.
 +
 +      * net/newst-treeview.el (newsticker--treeview-item-show): Use html
 +      for formatting extra elements.
 +
 +      * net/newsticker.el:  Remove Time-stamp, Version.
 +      (newsticker-version): Make obsolete.
 +
  2014-09-30  Leonardo Nobrega  <leonobr@gmail.com>  (tiny change)
  
        * progmodes/python.el (python-fill-paren): Don't inf-loop at EOB
        (bug#18462).
  
 -2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-check-signature): Default to nil if
        GPG is not available.
        (package-refresh-contents): Don't mess with the keyring if we won't
        check the signatures anyway.
  
 -2014-09-18  Kan-Ru Chen  <kanru@kanru.info>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ses.el (ses--row, ses--col): New dyn-scoped vars, to replace row&col.
 +      (ses-center, ses-center-span): Use them.
 +      (ses-print-cell): Bind them while calling the printer.
 +      (row, col, maxrow, maxcol): Don't declare as dynamically scoped.
 +      (ses-dorange): Revert last change.
 +      (ses-calculate-cell): Don't bind row&col dynamically while evaluating
 +      the formula.
 +      (ses-set-cell): Avoid `eval'.
 +      (ses--time-check): Rename it from ses-time-check and turn it into
 +      a macro.
 +
 +      * ses.el (ses-setup): Don't assume modifying the iteration var of
 +      dotimes affects the iteration (bug#18191).
 +
 +2014-09-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (ses-calculate-cell): Bind row and col dynamically to
 +      their values with 'cl-progv'.
 +      (ses-dorange): Bind row, col, maxrow and maxcol dynamically to
 +      their values with 'cl-progv', also use non-interned symbols for
 +      row, minrow, maxrow, mincol and maxcol.
 +      (maxrow maxcol): New defvar, to make the compiler happy.
 +
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuffer.el (completion-at-point): Emit warning for ill-behaved
 +      completion functions.
 +
 +2014-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ses.el (ses--letref): Quote value before it gets re-evaluated.
 +
 +2014-09-28  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Font-lock `cl-flet*', too.
 +      * emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
 +      Add "flet*" to intermediate var `cl-lib-kw'.
 +
 +2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * epg-config.el (epg-gpg-program): Use the plain program names rather
 +      than their absolute file name.
 +
 +      * subr.el (track-mouse): New macro.
 +      * emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
 +      Remove track-mouse case.
 +      * emacs-lisp/bytecomp.el (byte-compile-track-mouse): Remove.
 +
 +2014-09-27  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar.
 +
 +      * emacs-lisp/eldoc.el (eldoc-mode): Fix thinko.
 +
 +2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match):
 +      Handle the case where `match' is :pcase--succeed or :pcase--fail
 +      (bug#18554).
 +
 +      Introduce global-eldoc-mode.  Move Elisp-specific code to elisp-mode.el.
 +      * emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
 +      (eldoc-schedule-timer): Obey it.
 +      (eldoc-documentation-function): Default to nil.
 +      (eldoc-mode): Don't enable if eldoc-documentation-function is not set.
 +      (eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
 +      (eldoc-highlight-function-argument, eldoc-get-var-docstring)
 +      (eldoc-last-data-store, eldoc-docstring-first-line)
 +      (eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
 +      (eldoc-beginning-of-sexp, eldoc-current-symbol)
 +      (eldoc-function-argstring): Move to elisp-mode.el.
 +      (eldoc-symbol-function): Remove, unused.
 +      * progmodes/elisp-mode.el: New file.  Rename all "eldoc-*" to "elisp--*".
 +      (elisp-completion-at-point): Rename from lisp-completion-at-point.
 +      (elisp--preceding-sexp): Rename from preceding-sexp.
 +      * loadup.el: Load new file progmodes/elisp-mode.
 +      * ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
 +      * emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
 +      (lisp--local-variables-completion-table, lisp--expect-function-p)
 +      (lisp--form-quoted-p, lisp--company-doc-buffer)
 +      (lisp--company-doc-string, lisp--company-location)
 +      (lisp-completion-at-point): Move to elisp-mode.el.
 +      * emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
 +      extracted from emacs-lisp-mode-syntax-table.
 +      (emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
 +      elisp-mode.el.
 +      (lisp-imenu-generic-expression): Add comments to document what comes
 +      from which Lisp dialect.
 +      (emacs-lisp-mode-map, emacs-lisp-byte-compile)
 +      (emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
 +      (emacs-lisp-mode, emacs-list-byte-code-comment-re)
 +      (emacs-lisp-byte-code-comment)
 +      (emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
 +      (lisp-interaction-mode-map, lisp-interaction-mode)
 +      (eval-print-last-sexp, last-sexp-setup-props)
 +      (last-sexp-toggle-display, prin1-char, preceding-sexp)
 +      (eval-last-sexp-1, eval-last-sexp-print-value)
 +      (eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
 +      (eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
 +
 +2014-09-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp.
 +      Do not match file names that end in '/', as they cannot be 'grep'
 +      hits nowadays.  This prevents confusion when 'grep -r' reports a
 +      match in a file whose basename is ':12345:'.  Conversely, do not
 +      require exactly the same sequence of spaces and tabs after both
 +      colons, and allow spaces or tabs before the second colon, as per
 +      the POSIX spec for 'grep' output.
 +
 +2014-09-26  Leo Liu  <sdl.web@gmail.com>
 +
 +      Add cl-parse-integer based on parse-integer (Bug#18557)
 +      * calendar/parse-time.el (parse-time-digits): Remove.
 +      (digit-char-p, parse-integer) Moved to cl-lib.el.
 +      (parse-time-tokenize, parse-time-rules, parse-time-string):
 +      Use cl-parse-integer.
 +
 +      * emacs-lisp/cl-extra.el (cl-parse-integer): New function.
 +
 +      * emacs-lisp/cl-lib.el (cl-digit-char-table): New var.
 +      (cl-digit-char-p): New function.
 +
 +2014-09-25  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/add-log.el (change-log-next-buffer): Don't create an empty
 +      buffer "ChangeLog" when the current buffer doesn't match ChangeLog.[0-9].
 +      Return the current buffer if no files match the default pattern
 +      ChangeLog.[0-9].  Signal "end of multi" when file is nil. (Bug#18547)
 +
 +2014-09-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * net/tramp-sh.el (tramp-sh-handle-vc-registered): Don't modify
 +      the global vc-handled-backends (bug#18535).
 +
 +2014-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * find-cmd.el (find-cmd): Use grep's `find-program' (bug#18518).
 +      Suggested by <lompik@voila.fr>.
 +
 +2014-09-24  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * net/newst-treeview.el (newsticker--treeview-do-get-node-by-id):
 +      Rename from `newsticker--treeview-do-get-node'.
 +      (newsticker--treeview-get-node-by-id):
 +      Rename from `newsticker--treeview-get-node'.
 +      (newsticker--treeview-buffer-init)
 +      (newsticker--treeview-buffer-init): Disable buffer undo.
 +      (newsticker--treeview-unfold-node): Adapt to modified
 +      `newsticker--group-find-parent-group'.
 +      (newsticker--group-do-find-group):
 +      Rename from `newsticker--group-do-find-group-for-feed'.
 +      Now works for both, groups and feeds.
 +      (newsticker--group-find-parent-group):
 +      Rename from `newsticker--group-find-group-for-feed'.
 +      Now works for both, groups and feeds.
 +      (newsticker--group-do-get-parent-group)
 +      (newsticker--group-get-parent-group): Remove.
 +      (newsticker-group-add-group): Change interactive prompts.
 +      (newsticker-group-add-group): Finally jump to added group.
 +      (newsticker-group-delete-group): Finally jump to current feed.
 +      (newsticker--group-do-rename-group, newsticker-group-rename-group)
 +      (newsticker--get-group-names, newsticker--group-names): New.
 +      (newsticker-group-move-feed): Finally jump to moved feed.
 +      (newsticker-group-shift-feed-down, newsticker-group-shift-feed-up)
 +      (newsticker-group-shift-group-down)
 +      (newsticker-group-shift-group-up, newsticker--group-shift): New.
 +      (newsticker-treeview-mode-map): New keybindings for new shift commands.
 +
 +      * net/newst-backend.el (newsticker--item-list)
 +      (newsticker--item-position, newsticker--prev-message)
 +      (newsticker--scrollable-text): Move to newst-ticker.el.
 +
 +      * net/newst-ticker.el (newsticker--item-list)
 +      (newsticker--item-position, newsticker--prev-message)
 +      (newsticker--scrollable-text): Move from newst-backend.el.
 +
 +2014-09-22  Kan-Ru Chen  <kanru@kanru.info>
  
        * window.el (fit-window-to-buffer): When counting buffer width,
        count the whole visible buffer.  Correctly convert the body-height
        to pixel size for window-text-pixel-size (Bug#18498).
  
 -2014-09-14  Glenn Morris  <rgm@gnu.org>
 +2014-09-22  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-product-alist): Improve the Vertica entry.
 +      (sql-execute): Use `special-mode'.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add pcase-defmacro, as well as `quote' and `app' patterns.
 +      * loadup.el: Increase max-lisp-eval-depth when macroexpanding macroexp.
 +      * emacs-lisp/pcase.el: Allow (F . ARGS) in `app' patterns.
 +      (pcase--funcall, pcase--eval): New functions.
 +      (pcase--u1): Use them for guard, pred, let, and app.
 +      (\`): Use the new feature to generate better code for vector patterns.
 +      * emacs-lisp/pcase.el: Use pcase-defmacro to handle backquote.
 +      (pcase--upat): Remove.
 +      (pcase--macroexpand): Don't hardcode handling of `.
 +      (pcase--split-consp, pcase--split-vector): Remove.
 +      (pcase--split-equal): Disregard ` since it's expanded away.
 +      (pcase--split-member): Optimize for quote rather than for `.
 +      (pcase--split-pred): Optimize for quote rather than for `.
 +      (pcase--u1): Remove handling of ` (and of `or' and `and').
 +      Quote non-selfquoting values when passing them to `eq'.
 +      Drop `app's let-binding if the variable is not used.
 +      (pcase--q1): Remove.
 +      (`): Define as a pattern macro.
 +      * emacs-lisp/pcase.el (pcase--match): New smart-constructor function.
 +      (pcase--expand pcase--q1, pcase--app-subst-match): Use it.
 +      (pcase--macroexpand): Handle self-quoting patterns here, expand them to
 +      quote patterns.
 +      (pcase--split-match): Don't hoist or/and here any more.
 +      (pcase--split-equal): Optimize quote patterns as well as ` patterns.
 +      (pcase--flip): New helper macro.
 +      (pcase--u1): Optimize the memq case directly.
 +      Don't handle neither self-quoting nor and/or patterns any more.
 +      * emacs-lisp/pcase.el (pcase-defmacro): New macro.
 +      (pcase--macroexpand): New function.
 +      (pcase--expand): Use it.
 +      * emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
 +      New optimization functions.
 +      (pcase--u1): Add support for `quote' and `app'.
 +      (pcase): Document them in the docstring.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Use lexical-bindin in Ibuffer.
 +      * ibuffer.el (ibuffer-do-toggle-read-only): `arg' is unused.
 +      (ibuffer-compile-format): Simplify.
 +      (ibuffer-clear-summary-columns): Simplify.
 +      * ibuf-ext.el (ibuffer-generate-filter-groups): Don't use the third
 +      elem of dotimes when we don't refer to the iteration var from it.
 +      (ibuffer-toggle-sorting-mode): Avoid add-to-list.
 +      * ibuf-macs.el (define-ibuffer-column, define-ibuffer-op):
 +      Silence byte-compiler.
 +
 +2014-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * font-lock.el (font-lock-compile-keyword): Don't confuse a lambda
 +      expression for a list.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-lambda): Don't add fundoc usage
 +      for functions with no arguments.
 +
 +      * mpc.el (mpc-data-directory): Use locate-user-emacs-file.
 +      (mpc-volume-refresh): Make sure the corresponding header-line is updated.
 +
 +2014-09-17  Tom Willemse  <tom@ryuslash.org>  (tiny change)
 +
 +      * simple.el (clone-indirect-buffer): Mention the return value
 +      (bug#18478).
 +
 +      * progmodes/prog-mode.el (prog-mode-hook): Replace reference to
 +      Text mode in docstring (bug#18464).
 +
 +2014-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/perl-mode.el (perl-syntax-propertize-function):
 +      Accept underscores in identifiers after "sub" (bug#18502).
 +
 +2014-09-21  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * textmodes/reftex-sel.el (reftex-select-label-mode)
 +      (reftex-select-bib-mode, reftex-insert-docstruct): Derive modes
 +      from special-mode (instead of fundamental-mode) and propertize
 +      with font-lock-face instead of just face. (Bug#18496)
 +
 +      * textmodes/reftex-toc.el (reftex-toc-mode, reftex-toc): Ditto.
 +
 +2014-09-19  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * emacs-lisp/lisp.el (lisp-completion-at-point): Only calculate
 +      `table-etc' when `end' is non-nil.
 +      (lisp-completion-at-point): Move `end' back if it's after quote.
 +      If in comment or string, only complete when after backquote.
 +      (Bug#18265)
 +      (lisp-completion-at-point): Don't use
 +      `lisp--local-variables-completion-table' in the
 +      `lisp--form-quoted-p' case.
 +
 +2014-09-19  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * emacs-lisp/lisp.el (lisp--expect-function-p)
 +      (lisp--form-quoted-p): New functions.
 +      (lisp-completion-at-point): Use them to see if we're completing a
 +      variable reference, a function name, or just any symbol.
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-02/msg00229.html
 +
 +2014-09-18  Ivan Kanis  <ivan@kanis.fr>
 +
 +      * net/shr.el, net/eww.el: Don't override `shr-width', but
 +      introduce a new variable `shr-internal-width'.  This allows users
 +      to specify a width themselves.
 +
 +2014-09-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * image-mode.el (image-toggle-display-image): If we have a
 +      `fit-width' or a `fit-height', don't limit the size of the image
 +      to the window size, because that doesn't preserve the aspect ratio.
 +      * image-mode.el: Move defvars earlier to avoid a byte-compilation
 +      warning.
 +
 +2014-09-17  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * progmodes/js.el: Add interpreter-mode-alist support for various
 +      JavaScript interpreters.
 +
 +2014-09-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't assume 'grep' supports GREP_OPTIONS.
 +      The GREP_OPTIONS environment variable is planned to be marked
 +      obsolescent in GNU grep, due to problems in its use, so stop
 +      relying on it.
 +      * progmodes/grep.el (grep-highlight-matches): Document this.
 +      (grep-process-setup): Do not set GREP_OPTIONS.
 +      (grep-compute-defaults): Use an explicit --color option if supported.
 +
 +2014-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * msb.el (msb--make-keymap-menu, msb-menu-bar-update-buffers):
 +      Don't add outdated key-shortcut cache (bug#18482).
 +
 +2014-09-15  Glenn Morris  <rgm@gnu.org>
  
        * image.el (image-multi-frame-p): Fix thinko - do not force
        a delay if none was specified.  (Bug#18334)
  
 -2014-09-12  Kan-Ru Chen  <kanru@kanru.info>
 +2014-09-15  Kan-Ru Chen  <kanru@kanru.info>
  
        * window.el (fit-window-to-buffer): Doc fix.
  
 -2014-09-10  Ivan Shmakov  <ivan@siamics.net>  (tiny change)
 +2014-09-15  Ivan Shmakov  <ivan@siamics.net>
  
        * desktop.el (desktop-create-buffer): Check that buffers are still live
        before burying them (bug#18373).
  
 -2014-09-09  Glenn Morris  <rgm@gnu.org>
 +2014-09-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/diary-lib.el (diary-list-entries):
 +      Restore 24.3 display behavior.  (Bug#18381)
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mouse.el (mouse-drag-line): On text-mode frames, count the mode
 +      line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 +      discrepancy between window-pixel-edges and mouse events, and
 +      avoids moving mode line up when the mouse click is on the modeline
 +      and no drag is attempted.
 +
 +2014-09-14  Daniel Colascione  <dancol@dancol.org>
 +
 +      * register.el (insert-register): Change default interactive
 +      insertion mode.
 +
 +2014-09-14  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Simplify check.
 +      Suppress debug messages.
 +
 +      * net/tramp.el (tramp-file-name-handler):
 +      * net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where
 +      appropriate.
 +
 +2014-09-13  Christopher Schmidt  <ch@ristopher.com>
 +
 +      * calendar/calendar.el (calendar-update-mode-line):
 +      Do not overwrite mode-line-format if calendar-mode-line-format is
 +      nil.  (Bug#18467)
 +
 +2014-09-13  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/pcase.el (pcase--dontwarn-upats): New var.
 +      (pcase--expand): Use it.
 +      (pcase-exhaustive): New macro.  (Bug#16567)
 +
 +      * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
 +      Add pcase-exhaustive.
 +
 +2014-09-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * mail/rmailmm.el (rmail-mime-insert-html): Decode the HTML part
 +      using the specified transfer-encoding, if any, or 'undecided'.
 +      (rmail-mime-render-html-shr): Bind shr-width to nil, so lines are
 +      broken at the window margin.
 +
 +2013-12-27  Ken Olum  <kdo@cosmos.phy.tufts.edu>
 +
 +      Support rendering of HTML parts in Rmail (bug#4258).
 +      * mail/rmailmm.el (rmail-mime-process): Handle text/html
 +      separately from other text/ types.  Suppress tagline for
 +      multipart body.
 +      (rmail-mime-parse): Don't change visibility of tagline here.
 +      (rmail-mime-set-bulk-data, rmail-mime-insert-bulk):
 +      Handle text/html specially.
 +      (rmail-mime-render-html-function,rmail-mime-prefer-html): New variables.
 +      (rmail-mime-insert-html, rmail-mime-render-html-shr)
 +      (rmail-mime-render-html-lynx): New functions.
 +      (rmail-mime-fix-inserted-faces): New function.
 +      (rmail-mime-process-multipart): Find the best part to show
 +      following rmail-mime-prefer-html if set.
 +      (rmail-mime-searching): New variable.
 +      (rmail-search-mime-message): Bind rmail-mime-searching to
 +      suppress rendering while searching.
 +
 +2014-09-12  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-product-alist): Add vertica.
 +      (sql-vertica-program, sql-vertica-options)
 +      (sql-vertica-login-params, sql-comint-vertica, sql-vertica):
 +      New functions and variables to support Vertica.
 +      Inspired by code by Roman Scherer <roman@burningswell.com>.
 +
 +2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * ses.el (ses-file-format-extend-parameter-list): Rename from
 +      ses-file-format-extend-paramter-list, to correct a misspelling.
 +      All uses changed.
 +
 +2014-09-10  Alan Mackenzie  <acm@muc.de>
 +
 +      CC Mode: revert recent changes and fix bug 17463 (cc-langs.elc
 +      gets loaded at run-time).
 +      * progmodes/cc-langs.el (c-no-parens-syntax-table): Rename the
 +      c-lang-const to c-make-no-parens-syntax-table and correct the
 +      logic.
 +      (c-no-parens-syntax-table): Correct the logic of the
 +      c-lang-defvar.
 +
 +2014-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      CC-mode: Set open-paren-in-column-0-is-defun-start to nil;
 +      plus misc cleanup.
 +      * progmodes/cc-mode.el (c-basic-common-init):
 +      Set open-paren-in-column-0-is-defun-start.
 +      (adaptive-fill-first-line-regexp, font-lock-syntactic-keywords):
 +      Remove declarations, unused.
 +      (run-mode-hooks): Remove declaration.
 +      (font-lock-defaults): Use plain `defvar' to declare.
 +      (c-run-mode-hooks): Test existence of run-mode-hooks with fboundp.
 +      * progmodes/cc-langs.el (c-filter-ops): Avoid `setq'.
 +      (c-make-mode-syntax-table): Don't micro-optimize.
 +      (c-keywords, c-keyword-member-alist): Simplify.
 +      (c-kwds-lang-consts): Don't eval at compile-time.
 +      (c-primary-expr-regexp): Comment out unused vars.
 +      * progmodes/cc-fonts.el (c-font-lock-context): Declare at top-level.
 +      (c-font-byte-compile): New var.
 +      (c--compile): New function.  Use it instead of `byte-compile'.
 +      (c-cpp-matchers): Quote the value returned by
 +      `c-make-syntactic-matcher' in case it's not self-evaluating.
 +      (c-basic-matchers-before): Avoid a plain MATCHER as keyword, wrap it in
 +      parentheses instead (in case MATCHER happens to be a list).
 +      (c-font-lock-enum-tail): Remove unused var `start'.
 +      (c-font-lock-objc-methods): Silence byte-compiler warnings.
 +      * progmodes/cc-engine.el (c-syntactic-re-search-forward): Sink an `if'
 +      test into an argument.
 +      * progmodes/cc-defs.el (c-point, c-major-mode-is, c-put-char-property)
 +      (c-get-char-property): Don't use `eval' just to unquote a constant.
 +      (c-use-extents): Remove.  Use (featurep 'xemacs), compiled
 +      more efficiently.
 +      (c-put-char-property-fun): Don't call `byte-compile' by hand.
 +      (c-clear-char-property, c-clear-char-properties): Check that `property'
 +      is a quoted constant.
 +      (c-emacs-features): Remove `infodock', `syntax-properties', and
 +      `pps-extended-state' (never used), `8-bit' and `1-bit' (use (featurep
 +      'xemacs) instead).  Use `with-temp-buffer' and let-bind vars after
 +      changing buffer, so we don't have to setq them again afterwards.
 +      (c-lang-const): Remove redundant symbolp assertions.
 +      (c-find-assignment-for-mode): Use `or'.
 +      * Makefile.in (compile-one-process): Remove cc-mode dependency.
 +
 +2014-09-09  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-default-directory): Fix type annotation.
 +
 +2014-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/cc-awk.el: Remove unneeded cc-bytecomp use.
 +      Change doc comments into docstrings.
 +      * Makefile.in: Remove cc-awk dependency.
 +
 +2014-09-08  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/sql.el (sql-send-line-and-next): New command,
 +      bound to C-c C-n.
 +      (sql-show-sqli-buffer): Display the buffer instead of its name and
 +      bind the command to C-c C-z.
 +      (sql-default-directory): New user option.
 +      (sql-product-interactive): Bind `default-directory' to it to
 +      enable remote connections using Tramp.
 +      (sql-set-sqli-buffer): Call `sql-product-interactive' when no
 +      suitable buffer is available.
 +
 +2014-09-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * calendar/calendar.el (calendar-basic-setup):
 +      Fix calendar-view-holidays-initially-flag and fancy display.
 +      * calendar/diary-lib.el (diary-live-p): Doc fix.
 +
 +      * calendar/calendar.el (calendar-basic-setup):
 +      Avoid clobbering calendar with diary.  (Bug#18381)
 +
 +2014-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
 +
 +2014-09-08  Lars Ljung  <lars@matholka.se>  (tiny change)
 +
 +      * isearch.el (isearch-yank-word-or-char): Obey superword-mode
 +      as well (bug#18400).
 +
 +2014-09-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-actual-col-row): Doc fix.  (Bug#18385)
 +
 +2014-09-06  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/pcase.el (pcase): Doc fix.
 +      (pcase--split-vector): New function.
 +      (pcase--q1): Support vector qpattern.  (Bug#18327)
 +
 +2014-09-05  Sam Steingold  <sds@gnu.org>
 +
 +      * textmodes/tex-mode.el (tex-print-file-extension): New user
 +      option.
 +      (tex-print): Use it instead of the hard-coded string.
 +
 +2014-09-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-sh-handle-start-file-process):
 +      Expand `default-directory'.
 +
 +2014-09-05  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * scroll-bar.el (horizontal-scroll-bars-available-p):
 +      New function.
 +      (horizontal-scroll-bar-mode): Rewrite using
 +      horizontal-scroll-bars-available-p.
 +      * menu-bar.el (menu-bar-showhide-scroll-bar-menu): Rewrite using
 +      horizontal-scroll-bars-available-p.
 +
 +2014-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (call-process-shell-command, process-file-shell-command):
 +      Make the `args' obsolete (bug#18409).
 +      (start-process-shell-command, start-file-process-shell-command):
 +      Use `declare'.
 +
 +2014-09-05  Jay Belanger  <jay.p.belanger@gmail.com>
 +
 +      * calc/calc-forms.el (math-normalize-hms): Do a better check for
 +      "negative" hms forms.
 +
 +2014-09-04  Rasmus Pank Roulund  <emacs@pank.eu>
 +
 +      * vc/vc-git.el (vc-git-conflicted-files): Fix bug when git status
 +      returns nil (bug#18391).
 +
 +2014-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/eldoc.el (eldoc-function-argstring): Don't strip
 +      terminating paren (bug#18352).
 +      (eldoc-last-data-store): Return cached data.
 +      (eldoc-get-var-docstring): Avoid setq.
 +      (eldoc-get-fnsym-args-string): Clarify data flow.
 +
 +2014-09-04  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Handle the
 +      case where we're currently providing part of the &rest arg after some
 +      &key args, as in define-ibuffer-op (bug#18048).
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/which-func.el (which-func-ff-hook): Obey pre-existing
 +      buffer-local setting of which-func-mode.
 +      (which-func-mode): Use defvar-local.
 +      (which-function-mode): Don't reset which-func-mode in each buffer since
 +      it might have been set by someone else.
 +      (which-func-update-ediff-windows): Check which-function-mode.
 +
 +2014-09-03  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.el (frame-initialize): Remove horizontal-scroll-bars
 +      from frame-initial-frame-alist.
 +      * scroll-bar.el (previous-horizontal-scroll-bar-mode)
 +      (horizontal-scroll-bar-mode-explicit)
 +      (set-horizontal-scroll-bar-mode, get-horizontal-scroll-bar-mode)
 +      (toggle-horizontal-scroll-bar): Remove.
 +      (horizontal-scroll-bar-mode): Remove defcustom.
 +      (horizontal-scroll-bar-mode): Fix doc-string.
 +      (scroll-bar-toolkit-scroll)
 +      (scroll-bar-toolkit-horizontal-scroll): Add doc-strings stubs.
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Properly quote the arguments (bug#18332).  Change second arg.
 +      (package--alist-to-plist-args): Rename from package--alist-to-plist and
 +      quote the elements.
 +      (package--make-autoloads-and-stuff): Fix the test for pre-existence of
 +      the *-pkg.el file.  Adjust to new calling convention of
 +      package-generate-description-file.
 +
 +      * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282).
 +      (gud-gdb-completions): Remove obsolete workaround.
 +
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-col-row): Revert the change from commit
 +      2010-11-13T21:07:58Z!eliz@gnu.org, which
 +      was inadvertently merged from emacs-23 release branch in 2010-11-18T03:54:14Z!monnier@iro.umontreal.ca
 +      monnier@iro.umontreal.ca-20101118035414-yvlg7k7dk4k4l3q, and
 +      introduced an off-by-one error in the reported row when there is a
 +      header line.  (Bug#18384)
 +
 +2014-09-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-indent-post-self-insert-function):
 +      Avoid electric colon at beginning-of-defun.  (Bug#18228)
 +
 +2014-09-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * tutorial.el (tutorial--display-changes):
 +      Fix 2014-08-01 change.  (Bug#18382)
 +
 +2014-09-03  Ken Brown  <kbrown@cornell.edu>
 +
 +      * startup.el (fancy-splash-frame): Extend the fix for Bug#16014 to
 +      the Cygwin-w32 build.  (Bug#18347)
 +
 +2014-09-03  Glenn Morris  <rgm@gnu.org>
 +
 +      * tar-mode.el (tar--extract, tar-extract):
 +      Avoid permanently disabling undo in extracted buffers.  (Bug#18344)
 +
 +2014-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-font-lock-quoted-subshell): Try to better
 +      handle multiline elements (bug#18380).
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * ls-lisp.el (ls-lisp-use-string-collate)
 +      (ls-lisp-UCA-like-collation): New defcustoms.
 +      (ls-lisp-string-lessp): Use them to control sorting by file
 +      names.  (Bug#18051)
 +      (ls-lisp-version-lessp): New function.
 +      (ls-lisp-handle-switches): Use it to implement the -v switch of
 +      GNU ls.
 +      (ls-lisp--insert-directory): Mention the -v switch in the doc string.
 +
 +2014-08-31  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * ibuffer.el: Replace mode-specific quit function with
 +      `quit-window' via `special-mode'.
 +      (ibuffer-mode-map): Use keybindings from special-mode-map instead
 +      of local overrides.
 +      (ibuffer): Don't store previous windows configuration.
 +      Let `quit-window' handle restoring.
 +      (ibuffer-quit): Remove function. Use `quit-window' instead.
 +      (ibuffer-restore-window-config-on-quit): Remove variable.
 +      (ibuffer-prev-window-config): Remove variable.
 +
 +2014-08-29  Michael Heerdegen  <michael_heerdegen@web.de>
 +
 +      * emacs-lisp/easy-mmode.el (define-minor-mode): Use mode function
 +      name instead of variable name in hook docstring.  (Bug#18349)
 +
 +2014-08-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (display-buffer-at-bottom): Prefer bottom-left
 +      window to other bottom windows.  Reuse a bottom window if it
 +      shows the buffer already.  Suggested by Juri Linkov
 +      <juri@jurta.org> in discussion of (Bug#18181).
 +
 +2014-08-29  Leo Liu  <sdl.web@gmail.com>
 +
 +      * files.el (minibuffer-with-setup-hook): Allow (:append FUN) to
 +      append to minibuffer-setup-hook.  (Bug#18341)
 +
 +2014-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/cc-defs.el: Expose c-lanf-defconst's expressions to the
 +      byte-compiler.
 +      (lookup-syntax-properties): Silence byte-compiler.
 +      (c-lang-defconst): Quote the code with `lambda' rather than with
 +      `quote'.
 +      (c-lang-const): Avoid unneeded setq.
 +      (c-lang-constants-under-evaluation): Add docstring.
 +      (c-lang--novalue): New constant.
 +      (c-find-assignment-for-mode): Use it instead of c-lang-constants.
 +      (c-get-lang-constant): Same here.
 +      Get the mode's value using `funcall' now that the code is quoted
 +      with `lambda'.
 +
 +2014-08-28  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-handle-shell-command): Use `display-buffer'.
 +      (Bug#18326)
 +
 +2014-08-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1): Handle new
 +      interpretation of `portion-whole'.
 +
 +2014-08-28  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-adb.el: Spell author name correctly.
 +
 +2014-08-28  João Távora  <joaotavora@gmail.com>
 +
 +      * net/shr.el (shr-expand-url): Plain expand-file-name is not enough;
 +      use url-expand-file-name.  (Bug#18310)
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * emulation/cua-rect.el (cua--highlight-rectangle):
 +      Avoid error at point-min.  (Bug#18309)
 +
 +2014-08-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/python.el (python-shell-prompt-detect): Remove redundant
 +      executable-find (bug#18244).
 +
 +      * simple.el (self-insert-uses-region-functions): Defvar.
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * subr.el (remq): Revert 2014-08-25 doc change (not always true).
 +
 +2014-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * startup.el (normal-top-level): Now use internal--top-level-message.
 +
 +2014-08-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * startup.el (normal-top-level): Use top-level-message.
 +
 +2014-08-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-copy-url): Encode copied URL to avoid getting
 +      URLs containing spaces and the like.
 +
 +2014-08-25  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * subr.el (remq): Fix docstring (Bug#18253).
 +
 +2014-08-25  Christoph Scholtes  <cschol2112@gmail.com>
 +
 +      * replace.el (query-replace): Fix typo in docstring (Bug#18320).
 +
 +2014-08-24  Alan Mackenzie  <acm@muc.de>
 +
 +      Handle C++11's "auto" and "decltype" constructions.
 +      * progmodes/cc-engine.el (c-forward-type): Enhance to recognise
 +      and return 'decltype.
 +      (c-forward-decl-or-cast-1): New let variables backup-kwd-sym,
 +      prev-kwd-sym, new-style-auto.  Enhance to handle the new "auto"
 +      keyword.
 +      * progmodes/cc-fonts.el (c-font-lock-declarations): Handle the
 +      "decltype" keyword.
 +      (c-font-lock-c++-new): Handle "decltype" constructions.
 +      * progmodes/cc-langs.el (c-auto-ops, c-auto-ops-re):
 +      New c-lang-defconsts/defvars.
 +      (c-haskell-op, c-haskell-op-re): New c-lang-defconsts/defvars.
 +      (c-typeof-kwds, c-typeof-key): New c-lang-defconsts/defvars.
 +      (c-typeless-decl-kwds): Append "auto" onto the C++ value.
 +      (c-not-decl-init-keywords): Also exclude c-typeof-kwds from value.
 +
 +      Make ">>" act as double template ender in C++ Mode.
 +      Fix bug#11386.
 +      * progmodes/cc-langs.el (c->-op-cont-tokens): New lang-const split
 +      off from c->-op-cont-re.
 +      (c->-op-cont-tokens): Change to use the above.
 +      (c->-op-without->-cont-regexp): New lang-const.
 +      * progmodes/cc-engine.el (c-forward-<>-arglist-recur):
 +      Use c->-op-without->-cont-regexp in place of c->-op-cont-tokens.
 +
 +
 +2014-08-23  Alan Mackenzie  <acm@muc.de>
 +
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Fix infinite
 +      loop, bug #18306.  The bug was introduced on 2014-08-02.
 +
 +2014-08-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * textmodes/texnfo-upd.el (texinfo-specific-section-type):
 +      Don't recognize a Top node if there are other sectioning commands
 +      earlier in the Texinfo file.  This fixes a bug in
 +      texinfo-make-menu and avoids inflooping in
 +      texinfo-all-menus-update when they are invoked on texinfo.texi.
 +
 +2014-08-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--side-window-p): New function.
 +      (split-window, window-splittable-p): Use window--side-window-p to
 +      determine whether WINDOW can be split (Bug#18304).
 +      * calendar/calendar.el (calendar-basic-setup): Fix one call of
 +      `window-splittable-p' and add another (Bug#18304).
 +
 +2014-08-20  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/python.el (python-new-pythonpath): Extract from
 +      `python-shell-calculate-process-environment'.
 +
 +2014-08-18  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-highlight-function-argument): Add support
 +      for &key args (bug#18048).
  
 -      * calendar/diary-lib.el (diary-list-entries):
 -      Restore 24.3 display behavior.  (Bug#18381)
 +2014-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 +      * emacs-lisp/eldoc.el (eldoc-argument-case): Obsolete and change default.
 +      (eldoc-function-argstring-format): Remove.
 +      (eldoc-function-argstring): Always return upcase args.
 +      Use help-make-usage.  Don't add parens.
 +      (eldoc-get-fnsym-args-string): Don't obey eldoc-argument-case since
 +      it's too late to do it right (bug#18048).
  
 -      * mouse.el (mouse-drag-line): On text-mode frames, count the mode
 -      line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 -      discrepancy between window-pixel-edges and mouse events, and
 -      avoids moving mode line up when the mouse click is on the modeline
 -      and no drag is attempted.
 +2014-08-18  Eli Zaretskii  <eliz@gnu.org>
  
 -2014-09-08  Glenn Morris  <rgm@gnu.org>
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1)
 +      (scroll-bar-toolkit-horizontal-scroll): When determining the
 +      paragraph direction, use the buffer of the window designated in
 +      the event.
  
 -      * calendar/calendar.el (calendar-basic-setup):
 -      Avoid clobbering calendar with diary.  (Bug#18381)
 +2014-08-16  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2014-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * vc/diff-mode.el (diff-fixup-modifs): Handle empty line in
 +      context of unified diff.
  
 -      * vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
 +2014-08-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2014-09-04  Lars Ljung  <lars@matholka.se>  (tiny change)
 +      Add dependencies to fix loaddefs race during parallel builds.
 +      Without this, for example, 'make -j bootstrap' can fail and report
 +      "Opening input file: no such file or directory,
 +      .../lisp/calendar/diary-loaddefs.el ... recipe for target
 +      'calendar/hol-loaddefs.el' failed", where the hol-loaddefs.el rule
 +      got confused because diary-loaddefs.el was being built in parallel.
 +      * Makefile.in ($(CAL_DIR)/diary-loaddefs.el):
 +      Depend on $(CAL_DIR)/cal-loaddefs.el.
 +      ($(CAL_DIR)/hol-loaddefs.el): Depend on $(CAL_DIR)/diary-loaddefs.el.
  
 -      * isearch.el (isearch-yank-word-or-char): Obey superword-mode
 -      as well (bug#18400).
 +2014-08-16  Martin Rudalics  <rudalics@gmx.at>
  
 -2014-09-04  Eli Zaretskii  <eliz@gnu.org>
 +      * scroll-bar.el (scroll-bar-horizontal-drag-1): Use cdr of
 +      portion-whole for scrolling right-to-left text.
  
 -      * subr.el (posn-actual-col-row): Doc fix.  (Bug#18385)
 +2014-08-15  Leo Liu  <sdl.web@gmail.com>
  
 -2014-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * speedbar.el (speedbar-generic-list-tag-p): Allow special
 +      elements from imenu.
  
 -      * emacs-lisp/package.el (package-generate-description-file):
 -      Properly quote the arguments (bug#18332).  Change second arg.
 -      (package--alist-to-plist-args): Rename from package--alist-to-plist and
 -      quote the elements.
 -      (package--make-autoloads-and-stuff): Fix the test for pre-existence of
 -      the *-pkg.el file.  Adjust to new calling convention of
 -      package-generate-description-file.
 +2014-08-15  Glenn Morris  <rgm@gnu.org>
  
 -      * progmodes/gud.el (gud-gdb-completion-at-point): Add hack (bug#18282).
 -      (gud-gdb-completions): Remove obsolete workaround.
 +      * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
  
 -2014-09-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -      * subr.el (posn-col-row): Revert the change from commit
 -      2010-11-13T21:07:58Z!eliz@gnu.org, which
 -      was inadvertently merged from emacs-23 release branch in 2010-11-18T03:54:14Z!monnier@iro.umontreal.ca
 -      monnier@iro.umontreal.ca-20101118035414-yvlg7k7dk4k4l3q, and
 -      introduced an off-by-one error in the reported row when there is a
 -      header line.  (Bug#18384)
 +      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 +      Add Guile regexpses.
  
 -2014-09-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -      * progmodes/python.el (python-indent-post-self-insert-function):
 -      Avoid electric colon at beginning-of-defun.  (Bug#18228)
 +      * progmodes/gud.el (guiler): New function.  Starts the Guile REPL;
 +      add Guile debugger support for GUD.
  
 -2014-09-01  Glenn Morris  <rgm@gnu.org>
 +2014-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * tutorial.el (tutorial--display-changes):
 -      Fix 2014-07-29 change.  (Bug#18382)
 +      * obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function.
 +      (mouse-sel--ignore): New function.
 +      (mouse-sel-has-been-enabled, mouse-sel-original-bindings)
 +      (mouse-sel-original-interprogram-cut-function)
 +      (mouse-sel-original-interprogram-paste-function): Remove.
  
 -2014-08-29  Ken Brown  <kbrown@cornell.edu>
 +2014-08-13  Eric S. Raymond  <esr@thyrsus.com>
  
 -      * startup.el (fancy-splash-frame): Extend the fix for Bug#16014 to
 -      the Cygwin-w32 build.  (Bug#18347)
 +      * vc/vc-git.el (vc-git-resolve-when-done): New function.
 +      Call "git add" when there are no longer conflict markers.
  
 -2014-08-28  Glenn Morris  <rgm@gnu.org>
 +2014-08-13  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
  
 -      * tar-mode.el (tar--extract, tar-extract):
 -      Avoid permanently disabling undo in extracted buffers.  (Bug#18344)
 +      * vc/vc-git.el (vc-git-find-file-hook): New function.
 +      Adds support for calling smerge (and resolve) on a conflicted file.
 +      (vc-git-conflicted-files): New function.
 +      Useful in itself and a step towards better smerge support.
  
 -2014-08-27  Michael Albinus  <michael.albinus@gmx.de>
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * emacs-lisp/authors.el (authors-aliases): Addition.
 +      * mpc.el (mpc-reorder): Don't bother splitting the "active" elements
 +      to the first part if they're the same as the selection.
  
 -      * net/tramp-adb.el: Spell author name correctly.
 +2014-08-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2014-08-27  João Távora  <joaotavora@gmail.com>
 +      * image-mode.el (image-transform-reset): New command and menu item.
 +      (image-mode-map): Rearrange the menu items to put presumably more
 +      obscure items at the end.
  
 -      * net/shr.el (shr-expand-url): Plain expand-file-name is not enough;
 -      use url-expand-file-name.  (Bug#18310)
 +2014-08-12  Juri Linkov  <juri@jurta.org>
  
 -2014-08-25  Glenn Morris  <rgm@gnu.org>
 +      * vc/vc-annotate.el (vc-annotate-background-mode):
 +      Use `with-demoted-errors' instead of `ignore-errors'.  (Bug#18189)
  
 -      * emulation/cua-rect.el (cua--highlight-rectangle):
 -      Avoid error at point-min.  (Bug#18309)
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-08-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * files.el (out-of-memory-warning-percentage): Turn it off by default.
  
 -      * progmodes/python.el (python-shell-prompt-detect): Remove redundant
 -      executable-find (bug#18244).
 +2014-08-11  Sam Steingold  <sds@gnu.org>
  
 -      * simple.el (self-insert-uses-region-functions): Defvar.
 +      * textmodes/sgml-mode.el (sgml-validate-command): Set depending on
 +      the presence of known validators (tidy, (o)nsgmls).
  
 -2014-08-13  Leo Liu  <sdl.web@gmail.com>
 +2014-08-11  Ulf Jasper  <ulf.jasper@web.de>
  
 -      * speedbar.el (speedbar-generic-list-tag-p): Allow special
 -      elements from imenu.
 +      Newsticker: introduce `newsticker-treeview-date-format'. (Bug#17227)
  
 -2014-08-11  Glenn Morris  <rgm@gnu.org>
 +      * net/newst-treeview.el (newsticker-treeview-date-format): New.
 +      (newsticker--treeview-list-add-item): Use `newsticker-treeview-date-format'.
  
 -      * subr.el (with-output-to-temp-buffer): Doc fix; from elisp manual.
 +2014-08-11  Glenn Morris  <rgm@gnu.org>
  
        * files.el (basic-save-buffer-2): Revert 2013-01-31 change, which
        chose coding system for writing before backing up, since it causes
        a more serious problem than the one it solves.  (Closes Bug#18141,
        reopens Bug#13522.)
  
 -2014-08-10  Martin Rudalics  <rudalics@gmx.at>
 +2014-08-11  Martin Rudalics  <rudalics@gmx.at>
  
 -      * window.el (window-total-size): Make doc-string more
 -      self-contained.
 -
 -2014-08-09  Martin Rudalics  <rudalics@gmx.at>
 +      * window.el (window-total-size): Make doc-string more self-contained.
  
        * window.el (display-buffer-below-selected): Restore original
        behavior if buffer is already displayed in the window below the
        selected one (Bug#18181).
  
 -2014-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse--down-1-maybe-follows-link): Don't convert the down
        event (bug#18212).
  
 -2014-08-08  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
  
        * info.el (info): Doc fix.
  
 -2014-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * info.el (Info-mode-map): Override a global down-mouse-2 binding
        (bug#18212).
  
 -2014-08-05  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (default-line-height): A floating-point value of
        line-spacing means a fraction of the default frame font's height,
        (window-screen-lines): Use window-inside-pixel-edges for
        determining the window height in pixels.  (Bug#18195)
  
 -2014-07-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * leim/quail/latin-post.el: Transform " __" into " _".  (Bug#18023)
 +
 +2014-08-10  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      Enumerate evaluated sexp diary entries (Bug#7911).
 +      * calendar/icalendar.el (icalendar-export-sexp-enumerate-all)
 +      (icalendar-export-sexp-enumeration-days): New.
 +      (icalendar-export-region): Now `icalendar--convert-to-ical'
 +      returns a cons cell or a list of cons cells.
 +      (icalendar--convert-to-ical): Take care of
 +      `icalendar-export-sexp-enumerate-all'.  Return (a list of) cons cells.
 +      (icalendar--convert-ordinary-to-ical)
 +      (icalendar--convert-weekly-to-ical, icalendar--convert-yearly-to-ical)
 +      (icalendar--convert-block-to-ical, icalendar--convert-block-to-ical)
 +      (icalendar--convert-float-to-ical, icalendar--convert-cyclic-to-ical)
 +      (icalendar--convert-anniversary-to-ical): Return cons cell.
 +      (icalendar--convert-sexp-to-ical): Enumerate evaluated sexp
 +      entries.  Return (list of) cons cells.
 +
 +2014-08-09  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/vc-annotate.el (vc-annotate-background-mode): Add :set
 +      to reevaluate `vc-annotate-color-map'.  (Bug#18189)
 +
 +2014-08-09  Alan Mackenzie  <acm@muc.de>
 +
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Remove check
 +      for top-level that can cause unacceptable slow-down in scrolling.
 +      See email Subject: Huge {...} blocks in C/C++ again, from Dmitry
 +      Antipov from 2013-10-14 in emacs-devel.
 +
 +2014-08-08  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * ibuffer.el (ibuffer-mode-map): Use toggle button for
 +      `ibuffer-auto-mode' menu entry.
 +      (ibuffer-mode-hook): Add `ibuffer-auto-mode' customization option.
 +
 +2014-08-08  Matthias Meulien  <orontee@gmail.com>
 +
 +      * progmodes/prog-mode.el (prog-mode-hook): Make customizable.
 +      (Bug#16394)
 +
 +2014-08-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--min-size-1): Explicitly set WINDOW arg in
 +      calls of window-min-pixel-height and window-min-pixel-width.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * progmodes/ada-mode.el:
 +      * net/tramp.el (tramp-handle-file-symlink-p):
 +      * net/tramp-ftp.el (tramp-ftp-file-name-handler): Remove a comment
 +      about VMS, which we no longer support.
 +      * progmodes/ada-xref.el (ada-xref-current): Remove mention of VMS,
 +      and fix a FIXME, using convert-standard-filename in place of
 +      removed ada-convert-file-name.
 +
 +2014-08-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * files.el (auto-mode-alist): Remove support for VMS from a pattern.
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +      * arc-mode.el, files.el, frame.el: ``MS-DOG'', ``MSDOG'' and
 +      ``msdog'' become ``MS-DOS''.
 +
 +2014-08-07  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
 +      Use cached "remote-copy-args" value, if available.  (Bug#18199)
 +
 +2014-08-07  Leo Liu  <sdl.web@gmail.com>
 +
 +      * help.el (temp-buffer-setup-hook,temp-buffer-show-hook):
 +      Revert change on 2014-03-22.
 +
 +2014-08-06  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * calendar/icalendar.el (icalendar--diarytime-to-isotime)
 +      (icalendar--convert-ordinary-to-ical): Allow for missing minutes
 +      (Bug#13750).
 +
 +
 +2014-08-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * image-mode.el (image-toggle-display-image): Always rescale images
 +      to not be bigger than the current window.
 +
 +2014-08-05  Eric Brown  <brown@fastmail.fm>  (tiny change)
 +
 +      * net/eww.el (eww-bookmarks-directory): New variable.
 +      (eww-write-bookmarks): Use it.
 +      (eww-read-bookmarks): Ditto.
 +
 +2014-08-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/shr.el (shr-copy-url): Also copy the image URL.
 +
 +2014-08-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Suppress function
 +      also for Tramp working buffers.
 +
 +2014-08-04  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el: Fix completions inside (i)pdb.
 +      (python-shell-completion-pdb-string-code): Make obsolete.
 +      (python-shell-completion-get-completions):
 +      Use python-shell-completion-string-code resending setup code
 +      continuously for (i)pdb.
 +
 +2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * rect.el (rectangle--default-line-number-format): Rename
 +      from misspelled rectange--default-line-number-format (Bug#18045).
 +      All uses changed.
 +
 +2014-08-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't mishandle year-9999 dates (Bug#18176).
 +      * calendar/parse-time.el (parse-time-rules):
 +      Allow years up to most-positive-fixnum.
 +      * calendar/time-date.el (date-to-time):
 +      Pass "Specified time is not representable" errors through.
 +
 +2014-08-02  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el: Completion code cleanups.
 +      (python-shell-completion-get-completions): Detect and send import
 +      statements directly to completion function.
 +      (python-shell-completion-at-point): Simplify prompt calculation
 +      and import vs input completion logic.
 +
 +2014-08-02  Alan Mackenzie  <acm@muc.de>
 +
 +      Fix confusion in C++ file caused by comma in "= {1,2},".
 +      Bug #17756.
 +      * progmodes/cc-engine.el (c-beginning-of-statement-1): In checking
 +      for a statement boundary marked by "}", check there's no "="
 +      before the "{".
 +      (c-guess-basic-syntax CASE 9B): Call c-beginning-of-statement with
 +      non-nil `comma-delim' argument.
 +      * progmodes/cc-fonts.el (c-font-lock-declarators): Parse an
 +      initializer expression more accurately.
 +
 +      Correct loop termination condition in c-syntactic-skip-backward.
 +      * progmodes/cc-engine.el (c-syntactic-skip-backward): Correct for
 +      the situation where, after moving back out of a literal,
 +      skip-chars-backward doesn't move further, yet checks have still to
 +      be done.
 +
 +2014-08-01  Eli Zaretskii  <eliz@gnu.org>
  
        * tutorial.el (tutorial--display-changes): Accept punctuation
        characters before the key binding.  (Bug#18146)
  
 -2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-31  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
 -      * doc-view.el (doc-view-open-text): Don't require that the
 -      document is saved in a file (e.g., email attachment).
 +      * progmodes/python.el: Shell output capture enhancements.
 +      (python-shell-accept-process-output): New function.
 +      (inferior-python-mode)
 +      (python-shell-send-setup-code): Use it.
  
 -2014-07-27  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-30  Christophe Deleuze  <christophe.deleuze@free.fr>  (tiny change)
 +
 +      * calendar/icalendar.el (icalendar--decode-isodatetime):
 +      Use actual current-time-zone when converting to local time. (Bug#15408)
 +
 +2014-07-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.el (window--state-put-2): Handle horizontal scroll
 +      bars, if present.
 +
 +2014-07-29  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * menu-bar.el (menu-bar-update-buffers): Update item list format
 +      in `buffers-menu' to confirm with changes to `get_keyelt'
 +      (r117463).  (Bug#18016)
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (inferior-python-mode): Make input prompts
 +      read-only.
 +
 +2014-07-28  Emilio C. Lopes  <eclig@gmx.net>
 +
 +      * net/tramp-sh.el (tramp-get-remote-python): Also search for
 +      executables named "python2" or "python3".
 +      (tramp-get-remote-uid-with-python): Use parentheses around
 +      arguments to `print' to make it compatible with Python 3.
 +      (tramp-get-remote-gid-with-python): Ditto.  (Bug#18118)
 +
 +2014-07-28  Eli Zaretskii  <eliz@gnu.org>
  
        * window.el (window--pixel-to-total): Use FRAME's root window, not
        that of the selected frame.  (Bug#18112, Bug#16674)
  
 -2014-07-27  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-07-28  Andreas Schwab  <schwab@linux-m68k.org>
  
        * textmodes/tex-mode.el (tex-font-lock-verb): Doc fix.
        (Bug#18117)
  
 -2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el (inferior-python-mode): Doc fix.
  
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-edit-item--next-key): If next key is
        not a character, ignore it instead of raising an error.
  
 -2014-07-25  Stephen Berman  <stephen.berman@gmx.net>
 -
        * calendar/todo-mode.el: Fix handling of marked items and make
        minor code improvements.
        (todo-edit-item): If there are marked items, ensure user can only
        (todo-edit-item--header, todo-edit-item--diary-inclusion)
        (todo-item-done): Use it.
  
 -2014-07-25  Glenn Morris  <rgm@gnu.org>
 +2014-07-28  Glenn Morris  <rgm@gnu.org>
  
        * files.el (toggle-read-only): Re-add basic doc-string.
        * vc/vc-hooks.el (vc-toggle-read-only): Tweak obsolescence mesage.
        Replace missing `switch-to-prolog' with `run-prolog'.
        (switch-to-prolog): Define as (obsolete) alias, as in 23.4.
  
 -2014-07-22  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-set-top-priorities): Fix overwriting
        of file-wide setting when changing category-wide setting.
  
 +2014-07-28  Stephen Berman  <stephen.berman@gmx.net>
 +
 +      * doc-view.el (doc-view-open-text): Don't require that the
 +      document is saved in a file (e.g., email attachment).
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Parse completion input in a iPython friendly way.  (Bug#18084)
 +      * progmodes/python.el
 +      (python-shell-completion-at-point): Rename from
 +      python-shell-completion-complete-at-point.
 +      (inferior-python-mode): Use it.
 +      (python-completion-at-point): Rename from
 +      python-completion-complete-at-point.  Parse input up to first
 +      backward occurrence of whitespace, open-paren, close-paren or
 +      string delimiter.
 +      (python-mode): Use it.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Prevent Python process shell buffer to pop twice.
 +      * progmodes/python.el (python-shell-switch-to-shell): Do not call
 +      pop-to-buffer.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el
 +      (python-shell-with-shell-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-with-font-lock-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-toggle): Use it.
 +      (python-shell-font-lock-turn-on)
 +      (python-shell-font-lock-turn-off): Use it.  Make command.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Grab all Python process output before inferior-python-mode hooks.
 +      * progmodes/python.el (inferior-python-mode):
 +      Call accept-process-output and sit-for to ensure all output for process
 +      has been received before running hooks.
 +      (python-shell-internal-get-or-create-process):
 +      Cleanup accept-process-output and sit-for calls.
 +
 +2014-07-28  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      More robust shell startup and code setup.
 +      * progmodes/python.el (python-shell-make-comint):
 +      Remove accept-process-output call.
 +      (python-shell-get-buffer): Return current buffer if major-mode is
 +      inferior-python-mode.
 +      (python-shell-get-or-create-process): Use it.
 +      (python-shell-send-setup-code): Send all setup code in one string,
 +      output success message and accept-process-output.
 +
 +2014-07-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * scroll-bar.el (scroll-bar-toolkit-horizontal-scroll):
 +      Add rudimentary support for bidirectional text.
 +
 +2014-07-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.el (frame-notice-user-settings): Rewrite using
 +      frame-initial-frame-tool-bar-height.
 +      * menu-bar.el (menu-bar-horizontal-scroll-bar)
 +      (menu-bar-no-horizontal-scroll-bar): New functions.
 +      (menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
 +      scroll bars.
 +      * scroll-bar.el (scroll-bar-lines)
 +      (set-horizontal-scroll-bar-mode)
 +      (get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
 +      (scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
 +      (scroll-bar-toolkit-horizontal-scroll): New functions.
 +      (horizontal-scroll-bar-mode)
 +      (previous-horizontal-scroll-bar-mode)
 +      (horizontal-scroll-bar-mode-explicit): New variables.
 +      (horizontal-scroll-bar-mode): New option.
 +      (toggle-horizontal-scroll-bar): Do something.
 +      (top-level): Bind horizontal-scroll-bar mouse-1.
 +      * startup.el (tool-bar-originally-present): Remove variable.
 +      (command-line): Don't set tool-bar-originally-present.
 +      * window.el (window-min-height): Update doc-string.
 +      (window--dump-frame): Dump horizontal scroll bar values.
 +      (window--min-size-1): Handle minibuffer window separately.
 +      Count in margins and horizontal scroll bar.  Return safe value
 +      iff IGNORE equals 'safe.
 +      (frame-windows-min-size): New function (used by frame resizing
 +      routines).
 +      (fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
 +      scroll bars.
 +      (window--sanitize-window-sizes): New function.
 +      (window-split-min-size): Remove.
 +      (split-window): Count divider-width.  Don't use
 +      `window-split-min-size' any more.  Reword error messages.
 +      Sanitize windows sizes after splitting.
 +
 +2014-07-27  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Use `defvar-local' more.
 +      * progmodes/hideshow.el
 +      (hs-c-start-regexp, hs-block-start-regexp)
 +      (hs-block-start-mdata-select, hs-block-end-regexp)
 +      (hs-forward-sexp-func, hs-adjust-block-beginning): ...here;
 +      remove corresponding `make-variable-buffer-local' top-level calls.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Cleanup error signals.  (Bug#18067)
 +      * progmodes/python.el
 +      (python-indent-shift-left): Use user-error instead.
 +      (python-shell-prompt-detect): Use lwarn with python group.
 +      (python-completion-complete-at-point)
 +      (python-eldoc--get-doc-at-point): Don't signal error.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Support for packages in Python shell.  (Bug#13570)
 +      * progmodes/python.el (python-shell--package-depth): New var.
 +      (python-shell-package-enable): New command.
 +      (python-util-list-directories, python-util-list-files)
 +      (python-util-list-packages): New functions.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Faster comint output.  (Bug#16875)
 +      * progmodes/python.el:
 +      (python-comint-output-filter-function): Make obsolete.
 +      (python-comint-postoutput-scroll-to-bottom): New function.
 +      (inferior-python-mode): Set comint-output-filter-functions to a
 +      minimum.
 +
 +2014-07-27  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * progmodes/python.el (python-shell-font-lock-post-command-hook):
 +      Safeguard current point and undo history.
 +
 +2014-07-26  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      Robust shell syntax highlighting.  (Bug#18084, Bug#16875)
 +      * progmodes/python.el:
 +      (python-shell-prompt-input-regexps): Add iPython block prompt.
 +      (python-shell-output-syntax-table): Delete var.
 +      (python-shell-font-lock-with-font-lock-buffer): New macro.
 +      (python-shell-font-lock-get-or-create-buffer)
 +      (python-shell-font-lock-kill-buffer)
 +      (python-shell-font-lock-cleanup-buffer)
 +      (python-shell-font-lock-post-command-hook)
 +      (python-shell-font-lock-turn-off): New functions.
 +      (python-shell-font-lock-turn-on): New function.
 +      (inferior-python-mode): Use it.
 +      (python-shell-font-lock-toggle): New command.
 +      (python-shell-font-lock-enable): Rename from
 +      python-shell-enable-font-lock.
 +      (run-python-internal): Use it.
 +      (python-shell-font-lock-comint-output-filter-function): New function.
 +      (python-shell-comint-end-of-output-p): New function.
 +      (python-shell-output-filter): Use it.
 +      (python-util-comint-last-prompt): New function.
 +      (python-util-text-properties-replace-name): New function.
 +
 +2014-07-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * vc/ediff-init.el (ediff-toggle-read-only-function):
 +      * vc/ediff-util.el (ediff-toggle-read-only):
 +      Replace obsolete toggle-read-only with read-only-mode.
 +
 +2014-07-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Wrap the code
 +      with `save-match-data'.  (Bug#18095)
 +
 +2014-07-21  Vincent Belaïche  <vincentb1@users.sourceforge.net>
 +
 +      * ses.el (ses-truncate-cell): Use cl-progv instead of eval in
 +      order to ensure that row and col are lexically bound inside the
 +      evaluated sexp.
 +
  2014-07-21  Glenn Morris  <rgm@gnu.org>
  
        * progmodes/hideif.el (hide-ifdef-mode-submap):
        * progmodes/hideif.el (hide-ifdef-toggle-outside-read-only):
        Doc fixes re toggle-read-only.
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el: Add comment about pipe buffering and
        solutions for missing/delayed output in inferior Python shells.
        (Bug#17304)
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        * progmodes/python.el (python-mode): Don't set
        mode-require-final-newline.  (Bug#17990)
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Make python.el work with IPython automatically.  (Bug#15510)
        * progmodes/python.el:
        (python-shell-completion-setup-code): New value supporting iPython.
        (python-shell-prompt-output-regexps): Add safeguard for ipdb.
        (python-shell-output-filter): Fix comment typo.
  
 -2014-07-19  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Fix Python shell prompts detection for remote hosts.
        * progmodes/python.el (python-shell-prompt-detect):
        Replace call-process with process-file and make it more robust.
  
 -2014-07-17  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        Autodetect Python shell prompts.  (Bug#17370)
        * progmodes/python.el:
        (python-shell-interpreter-interactive-arg)
        (python-shell-prompt-detect)
        (python-shell-prompt-validate-regexps): New functions.
        (python-shell-prompt-set-calculated-regexps): New function.
 -      (inferior-python-mode): Use it.  Also honor overridden
 +      (inferior-python-mode): Use it.  Also honor overriden
        python-shell-interpreter and python-shell-interpreter-args.
 -      (python-shell-make-comint): Honor overridden
 +      (python-shell-make-comint): Honor overriden
        python-shell-interpreter and python-shell-interpreter-args.
        (python-shell-get-or-create-process): Make it testable by allowing
        to call run-python non-interactively.
        (python-shell-prompt-output-regexp)
        (python-shell-prompt-pdb-regexp): Use it as defcustom :safe.
  
 +2014-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie-config--guess-1): Split from
 +      smie-config--guess.
 +      (smie-config--guess): Use it.
 +
 +      * emacs-lisp/edebug.el: Use nadvice.
 +      (edebug-original-read): Remove.
 +      (edebug--read): Rename from edebug-read and add `orig' arg.
 +      (edebug-uninstall-read-eval-functions)
 +      (edebug-install-read-eval-functions): Use nadvice.
 +      (edebug-read-sexp, edebug-read-storing-offsets, edebug-read-symbol)
 +      (edebug-read-and-maybe-wrap-form1, edebug-instrument-callee)
 +      (edebug-read-string, edebug-read-function): Use just `read'.
 +      (edebug-original-debug-on-entry): Remove.
 +      (edebug--debug-on-entry): Rename from edebug-debug-on-entry and add
 +      `orig' arg.
 +      (debug-on-entry): Override with nadvice.
 +
 +      * mouse.el (tear-off-window): Rename from mouse-tear-off-window since
 +      it also makes sense to bind it to a non-mouse event.
 +
 +      * vc/vc-bzr.el (vc-bzr-shelve): Make it operate on fileset.
 +
 +2014-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xt-mouse.el (xterm-mouse-event): Don't assume last-click is non-nil
 +      (bug#18015).
 +
 +      * rect.el (rectangle--string-preview): Don't assume there
 +      a non-nil default (bug#17984).
 +
  2014-07-16  Glenn Morris  <rgm@gnu.org>
  
        * desktop.el (after-init-hook): Disable startup frame restoration
        in non-graphical situations.  (Bug#17693)
  
 -2014-07-14  Glenn Morris  <rgm@gnu.org>
 -
        * vc/vc-dispatcher.el (vc-log-edit): Do set up the log buffer
        if it was "empty", or used for a different set of files.  (Bug#17884)
  
 -2014-07-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-16  Eli Zaretskii  <eliz@gnu.org>
  
        * bindings.el (mode-line-remote): If default-directory is not a
        string, don't call file-remote-p on it; instead state in the
        help-echo that it is nil.  (Bug#17986)
  
 +2014-07-14  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/cc-langs.el: Change comments from `cl-macroexpand-all'
 +      to `macroexpand-all'
 +
 +      * progmodes/cc-defs.el (c-lang-defconst-eval-immediately):
 +      Use `macroexpand-all' instead of `cl-macroexpand-all'.
 +
  2014-07-12  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix bug: C-x v v discarded existing log message (Bug#17884).
        * vc/vc-dispatcher.el (vc-log-edit):
        Don't clobber an already-existing log message.
  
 -2014-07-10  Glenn Morris  <rgm@gnu.org>
 +2014-07-12  Glenn Morris  <rgm@gnu.org>
  
        * vc/log-edit.el (log-edit-changelog-entries):
        Check for a visited-but-never-saved ChangeLog.
  
 -2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/log-edit.el (log-edit-changelog-entries): Don't both visiting
        a non-existing file (bug#17970).
        * faces.el (face-name): Undo last change.
        (x-resolve-font-name): Don't call face-name (bug#17956).
  
 -2014-07-09  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        Fix dedenters and electric colon handling. (Bug#15163)
 -
        * progmodes/python.el
        (python-rx-constituents): Add dedenter and block-ender.
        (python-indent-dedenters, python-indent-block-enders): Delete.
        (python-info-dedenter-opening-block-positions)
        (python-info-dedenter-statement-p): New functions.
  
 -2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (out-of-memory-warning-percentage): New defcustom.
 +      (warn-maybe-out-of-memory): Use it.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * subr.el (read-passwd): Use `read-hide-char' if non-nil.  Bind it
 +      when calling `read-string'.  (Bug#17839)
 +
 +2014-07-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * files.el (warn-maybe-out-of-memory): Fix the wording of the
 +      warning.
 +
 +2014-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (warn-maybe-out-of-memory): New function.
 +      (find-file-noselect): Use it.
 +
 +2014-07-09  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/cperl-mode.el (cperl-block-p): Treat the perl keyword
 +      `constant' like `bless', `return' &c
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * rect.el (apply-on-rectangle): Check forward-line really moved to the
 +      next line.
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/sh-script.el (sh-smie-sh-rules): Don't align with a && in
        the middle of a line (bug#17896).
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 +2014-07-09  Juri Linkov  <juri@jurta.org>
  
        * startup.el (command-line): Append displaying the warning about
        the errors in the init file to the end of `after-init-hook'.
        (Bug#17927)
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 -
 -      * faces.el (face-name): Return input arg `face' as is
 +      * faces.el (face-name): Return input arg `face' as-is
        when it's not a symbol.
        (x-resolve-font-name): Don't check if the face is a symbol.
        (Bug#17956)
  
 -2014-07-08  Juri Linkov  <juri@jurta.org>
 -
        * facemenu.el (list-colors-print): In help-echo format use %.2f
        instead of %d because now HSV values are floating-point components
        between 0.0 and 1.0.
  
 -2014-07-06  Glenn Morris  <rgm@gnu.org>
 +2014-07-09  Glenn Morris  <rgm@gnu.org>
  
        * emulation/cua-rect.el (cua--activate-rectangle):
        Avoid setting cua--rectangle to nil.  (Bug#17877)
  
 -2014-07-06  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-09  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Fix wrong-type-argument error when
        marking multiple consecutive items.
        (todo-mark-category): Don't try to mark the empty line between the
        todo and done items sections.
  
 -2014-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/edebug.el (edebug-eval-defun): Print result using
        proper Lisp quoting (bug#17934).
        * progmodes/ruby-mode.el (ruby-mode-variables): Don't meddle with
        require-final-newline since prog-mode already took care of it (bug#17947).
  
 -2014-07-04  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-09  Stephen Berman  <stephen.berman@gmx.net>
 +
 +      * calendar/todo-mode.el: Fix two bugs.  Shorten Commentary and
 +      refer to the Todo mode Info manual.  Update the comment on
 +      requiring cl-lib.
 +      (todo-find-filtered-items-file): Add todo-prefix overlays.
 +      (todo-filter-items): Reorder a let-bound variable to avoid a
 +      wrong-type-argument error on canceling the file choice dialog.
 +
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/octave.el (inferior-octave-mode):
 +      Set comint-input-ring-size to a number (bug#17912).
 +
 +2014-07-09  Juri Linkov  <juri@jurta.org>
 +
 +      * desktop.el (desktop-minor-mode-table): Add `defining-kbd-macro'
 +      and `isearch-mode' associated with nil.  (Bug#17849)
 +
 +2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * linum.el (linum--face-height): New function (bug#17813).
 +      (linum-update-window): Use it to adjust margin to linum's width.
 +
 +      * leim/quail/sisheng.el (sisheng-list): Don't bother with-case-table.
 +      * eshell/em-smart.el (eshell-smart-scroll-window):
 +      Use with-selected-window.
 +
 +      * xt-mouse.el (xterm-mouse-translate-1): Intern drag event (bug#17894).
 +      Remove also pointless window&mark manipulation.
 +
 +      * progmodes/perl-mode.el: Use syntax-ppss; fix one indentation case.
 +      (perl-indent-line): Use syntax-ppss to detect we're in a doc-section.
 +      (perl-continuation-line-p): Don't skip over anything else than labels.
 +      Return the previous char.
 +      (perl-calculate-indent): Use syntax-ppss instead of parse-start
 +      and update callers accordingly.  For continuation lines, check the
 +      the case of array hashes.
 +      (perl-backward-to-noncomment): Make it non-interactive.
 +      (perl-backward-to-start-of-continued-exp): Rewrite.
 +
 +2014-07-08  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/inf-lisp.el (lisp-eval-paragraph, lisp-eval-form-and-next):
 +      New user commands.
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/vc-annotate.el (vc-annotate-background-mode): New defcustom.
 +      (vc-annotate-color-map): Use less saturated colors (20%) for
 +      background-mode.
 +      (vc-annotate-very-old-color): Add default value for background-mode.
 +      (vc-annotate-background): Set default value to nil since now text on
 +      the default backgrounds should be legible in light and dark modes.
 +      (vc-annotate-lines): Use `vc-annotate-background-mode'.  Doc fix.
 +      (Bug#17808)
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * simple.el (transpose-chars): Don't move point into read-only area.
 +      (Bug#17829)
 +
 +2014-07-08  Juri Linkov  <juri@jurta.org>
 +
 +      * window.el (with-displayed-buffer-window): New macro.
 +      (with-temp-buffer-window, with-current-buffer-window):
 +      Use `macroexp-let2' to evaluate and bind variables
 +      in the same order as macro arguments.
 +      (display-buffer--action-function-custom-type):
 +      Add `display-buffer-below-selected' and `display-buffer-at-bottom'.
 +
 +      * minibuffer.el (minibuffer-completion-help): Replace
 +      `with-output-to-temp-buffer' with `with-displayed-buffer-window'
 +      with actions that display *Completions* at-bottom when called
 +      from the minibuffer, or below-selected in a normal buffer.
 +      Associate `window-height' with `fit-window-to-buffer'.
 +      Let-bind `pop-up-windows' to nil.
 +
 +      * dired.el (dired-mark-pop-up): Use `with-displayed-buffer-window'
 +      instead of `with-current-buffer-window'.  (Bug#17809)
 +
 +2014-07-07  Luke Lee  <luke.yx.lee@gmail.com>
 +
 +      * progmodes/hideif.el (hide-ifdef-env): Change to global.
 +      (hide-ifdef-env-backup): New variable.
 +      (hide-ifdef-expand-reinclusion-protection, hide-ifdef-header-regexp):
 +      New customizable variables.
 +      (hif-clear-all-ifdef-defined): New defun.
 +      (hif-merge-ifdef-region, hide-ifdef-region-internal, hide-ifdef-region)
 +      (hif-show-ifdef-region): Merge hidden regions to prevent continuous "...".
 +      (hif-tokenize): Fix for MS-DOS/Win EOL style.
 +      (hif-endif-to-ifdef, hif-make-range, hif-find-range, hif-possibly-hide):
 +      Fix bug to hide the correct #elif region(s).
 +      (hif-range-elif): New defun.
 +      (hif-recurse-level): New var.
 +      (hif-evaluate-region, hif-evaluate-macro): New defun.
 +      (hide-ifdef-guts): Prevent reinclusion protected C/C++ headers from
 +      fully hidden.
 +      (hide-ifdef-define, hide-ifdefs, hide-ifdef-block, show-ifdef-block):
 +      Better interaction.
 +
 +2014-07-04  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/dbus.el (dbus-peer-handler): New defun.
 +      (dbus-register-service): Register it.  (Bug#17858)
 +      (dbus-managed-objects-handler): Fix docstring.
 +
 +2014-07-04  Phil Sainty  <psainty@orcon.net.nz>
 +
 +      * emacs-lisp/lisp.el (narrow-to-defun-include-comments): New var.
 +      (narrow-to-defun): New arg include-comments, defaulting to it
 +      (bug#16328).
 +
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * rect.el (rectangle--highlight-for-redisplay): Don't pass `orig' with
 +      different calling convention to rectangle--unhighlight-for-redisplay.
  
 -      * calendar/todo-mode.el: Fix two bugs.  Shorten Commentary and
 -      refer to the Todo mode Info manual.  Update the comment on
 -      requiring cl-lib.
 -      (todo-find-filtered-items-file): Add todo-prefix overlays.
 -      (todo-filter-items): Reorder a let-bound variable to avoid a
 -      wrong-type-argument error on canceling the file choice dialog.
 +2014-07-03  Michael Albinus  <michael.albinus@gmx.de>
  
 -2014-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * net/tramp.el (tramp-call-process): Handle error strings.
  
 -      * progmodes/octave.el (inferior-octave-mode):
 -      Set comint-input-ring-size to a number (bug#17912).
 +      * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'.
  
 -2014-07-03  Juri Linkov  <juri@jurta.org>
 +      * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime)
 +      (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'.
  
 -      * desktop.el (desktop-minor-mode-table): Add `defining-kbd-macro'
 -      and `isearch-mode' associated with nil.  (Bug#17849)
 +      * net/trampver.el: Update release number.
  
 -2014-07-02  Juri Linkov  <juri@jurta.org>
 +2014-07-03  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-save): Rename arg `auto-save' to
        `only-if-changed'.  Doc fix.  (Bug#17873)
  
 -2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse-yank-primary, mouse-yank-secondary):
        Use insert-for-yank (bug#17271).
  
 -2014-07-02  Leo Liu  <sdl.web@gmail.com>
 +2014-07-03  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/pp.el (pp-eval-expression, pp-eval-last-sexp):
        Support lexical-binding.
  
 -2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/log-edit.el (log-edit-goto-eoh): New function.
        (log-edit--match-first-line): Use it (bug#17861).
  
 -2014-07-01  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * vc/log-edit.el (log-edit-hook): Add missing :version.
  
 -2014-07-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * progmodes/python.el (python-indent-post-self-insert-function):
        Enhancements to electric indentation behavior inside
        parens. (Bug#17658)
  
 -2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * ps-def.el (ps-generate-postscript-with-faces1): Don't mess with
        buffer-invisibility-spec (bug#17867).
  
 -2014-06-29  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-07-03  Andreas Schwab  <schwab@linux-m68k.org>
  
        * vc/vc-git.el (vc-git-checkin): When operating on the whole tree
        pass "-a".
  
 -2014-06-29  Glenn Morris  <rgm@gnu.org>
 +2014-07-03  Glenn Morris  <rgm@gnu.org>
  
        * cus-edit.el (help):
        * finder.el (finder-known-keywords):
        * progmodes/idlwave.el (idlwave): Update url-link for custom group.
        (idlwave-mode): Doc URL update.
  
 -2014-06-27  Stephen Berman  <stephen.berman@gmx.net>
 +2014-07-01  Juri Linkov  <juri@jurta.org>
 +
 +      * man.el: Display man pages immediately and use process-filter
 +      to format them asynchronously.
 +      (Man-width): Doc fix.
 +      (man): Doc fix.
 +      (Man-start-calling): Use `with-selected-window' to get
 +      `frame-width' and `window-width'.
 +      (Man-getpage-in-background): Call `Man-notify-when-ready'
 +      immediately after creating a new buffer.  Call `Man-mode' and set
 +      `mode-line-process' in the created buffer.  Set process-filter to
 +      `Man-bgproc-filter' in start-process branch.  In call-process branch
 +      call either `Man-fontify-manpage' or `Man-cleanup-manpage'.
 +      Use `Man-start-calling' inside `with-current-buffer'.
 +      (Man-fontify-manpage): Don't print messages.  Fix boundary condition.
 +      (Man-cleanup-manpage): Don't print messages.
 +      (Man-bgproc-filter): New function.
 +      (Man-bgproc-sentinel): Add `save-excursion' to keep point when
 +      user moved it during asynchronous formatting.  Move calls of
 +      `Man-fontify-manpage' and `Man-cleanup-manpage' to
 +      `Man-bgproc-filter'.  Move the call of `Man-mode' to
 +      `Man-getpage-in-background'.  Use `quit-restore-window'
 +      instead of `kill-buffer'.  Use `message' instead of `error'
 +      because errors are caught by process sentinel.
 +      (Man-mode): Move calls of `Man-build-page-list',
 +      `Man-strip-page-headers', `Man-unindent', `Man-goto-page' to
 +      `Man-bgproc-sentinel'.  Doc fix.  (Bug#2588, bug#5054, bug#9084, bug#17831)
 +
 +      * man.el (Man-bgproc-sentinel): Use `Man-page-from-arguments'
 +      for the message about the man page cleaned up.
 +
 +2014-07-01  Mario Lang  <mlang@delysid.org>
 +
 +      * net/gnutls.el (gnutls-negotiate): Prevent destructive modification of
 +      cosutomization option `gnutls-verify-error'.
 +
 +2014-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (deactivate-mark, set-mark-command, handle-shift-selection):
 +      Don't keep transient-mark-mode buffer-local when not needed (bug#6316).
 +
 +      * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
 +      (turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal
 +      is suspended (bug#17857).
 +
 +2014-07-01  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 +      Prefer utf-8 coding.  (Bug#17859)
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * emacs-lisp/subr-x.el (string-reverse): Define as obsolete alias
 +      for `reverse'.
 +
 +2014-06-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs-lisp/autoload.el (autoload-ensure-writable): New variable.
 +      (autoload-ensure-default-file): Maybe make existing output writable.
 +      * Makefile.in (AUTOGEN_VCS): Remove.
 +      (autoloads): Use autoload-ensure-writable rather than AUTOGEN_VCS.
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * emacs-lisp/subr-x.el (string-reverse): Use `reverse'.
 +
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      New if-let, when-let, thread-first and thread-last macros.
 +
 +      * emacs-lisp/subr-x.el
 +      (internal--listify, internal--check-binding)
 +      (internal--build-binding-value-form, internal--build-binding)
 +      (internal--build-bindings): New functions.
 +      (internal--thread-argument, thread-first, thread-last)
 +      (if-let, when-let): New macros.
 +
 +2014-06-30  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * net/rcirc.el (rcirc-buffer-process): Restore previous
 +      behaviour.  (Bug#17772)
 +
 +2014-06-29  Alan Mackenzie  <acm@muc.de>
 +
 +      Don't call c-parse-state when c++-template-syntax-table is active.
 +      * progmodes/cc-engine.el (c-guess-continued-construct CASE G)
 +      (c-guess-basic-syntax CASE 5D.3): Rearrange so that
 +      c-syntactic-skip-backwards isn't called with the pertinent syntax table.
 +
 +2014-06-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
        account for file-wide setting of todo-top-priorities-overrides.
        Make code a bit cleaner.
  
 -2014-06-27  Leo Liu  <sdl.web@gmail.com>
 -
 -      * calc/calc.el (math-bignum): Handle most-negative-fixnum.  (Bug#17556)
 -
 -2014-06-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * net/eww.el (eww-mode) <eww-current-title>: Make local.  (Bug#17860)
  
 -2014-06-26  Stephen Berman  <stephen.berman@gmx.net>
 +2014-06-28  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-prefix-overlays): If there is no
        category-wide setting of todo-top-priorities-overrides, check for
        a file-wide setting and fontify accordingly.
  
 -2014-06-26  Glenn Morris  <rgm@gnu.org>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
  
        * subr.el (read-passwd): Warn about batch mode.  (Bug#17839)
  
 +2014-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/hideif.el: Use lexical-binding.  Fix up cl-lib usage.
 +
 +2014-06-28  K. Handa  <handa@gnu.org>
 +
 +      Fix Bug#17739.
 +
 +      * composite.el: Setup composition-function-table for dotted circle.
 +      (compose-gstring-for-dotted-circle): New function.
 +
 +      * international/characters.el: Add category "^" to all
 +      non-spacing characters.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (doit): Remove force rule.
 +      (custom-deps, finder-data, autoloads, update-subdirs)
 +      (compile-one-process): PHONY targets do not need force rules.
 +
 +      * Makefile.in (compile-main, compile, compile-always):
 +      No need to explicitly pass variables to ourself in recursive calls.
 +
 +2014-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.
 +
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (update-authors): Update for moved authors.el.
 +
 +2014-06-26  Leo Liu  <sdl.web@gmail.com>
 +
 +      * skeleton.el (skeleton-end-hook): Default to nil and move the
 +      work to skeleton-insert.  (Bug#17850)
 +
 +2014-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * calc/calc-alg.el (math-beforep):
 +      * progmodes/cc-guess.el (c-guess-view-reorder-offsets-alist-in-style):
 +      Simplify because string-lessp can accept symbols as args.
 +
  2014-06-26  Daiki Ueno  <ueno@gnu.org>
  
        * emacs-lisp/package.el (package--check-signature):
        If package-check-signature is allow-unsigned, don't signal error when
        we can't verify signature because of missing public key
 -      (backport for bug#17625).
 +      (bug#17625).
  
  2014-06-26  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/authors.el (authors-valid-file-names)
        (authors-renamed-files-alist): Additions.
  
 -2014-06-25  Leo Liu  <sdl.web@gmail.com>
 +2014-06-26  Leo Liu  <sdl.web@gmail.com>
  
        * textmodes/picture.el (picture-set-tab-stops):
        * ruler-mode.el (ruler-mode-mouse-add-tab-stop)
  
        * indent.el (indent-accumulate-tab-stops): New function.
  
 -2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-list-unsigned): New var (bug#17625).
        (package-desc-status): Obey it.
  
 -2014-06-25  Stephen Berman  <stephen.berman@gmx.net>
 +2014-06-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Fix two bugs.
        (todo-insert-item--basic): If user cancels item insertion to
        (todo-set-item-priority): After selecting category, instead of
        moving point to top, which extends an active region, restore it.
  
 -2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * help-fns.el (describe-function-1): Check file-name is a string before
        calling help-fns--autoloaded-p (bug#17564).
  
 -2014-06-24  Juri Linkov  <juri@jurta.org>
 +2014-06-26  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-auto-save-enable)
        (desktop-auto-save-disable): New functions.
        (desktop-read): Disable the autosave before loading the desktop,
        and enable afterwards.  (Bug#17351)
  
 -2014-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Fix some indentation problem with \; and pipes (bug#17842).
        * progmodes/sh-script.el (sh-mode-syntax-table): Set syntax of ;|&.
        (sh-smie-rc-forward-token, sh-smie-rc-backward-token): Use them.
        (sh-smie-sh-rules): Fix indentation of a pipe at BOL.
  
 -2014-06-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
  
 -      * international/fontset.el (script-representative-chars):
 -      Add representative characters for scripts added in Unicode 7.0.
 -      (otf-script-alist): Synchronize with the latest registry of OTF
 -      script tags.
 +      * emacs-lisp/find-func.el (find-function-C-source-directory):
 +      Use file-accessible-directory-p.
 +
 +      * ps-samp.el: Make it slightly less awful.
 +      (ps-rmail-mode-hook, ps-gnus-article-prepare-hook, ps-vm-mode-hook):
 +      (ps-gnus-summary-setup, ps-info-mode-hook): Use [print] key.
 +      Only set local values.
 +      (ps-article-subject, ps-article-author): Use standard functions
 +      like mail-fetch-field.
 +      (ps-info-file, ps-info-node): Use match-string.
 +      (ps-jts-ps-setup, ps-jack-setup): Remove, merging into...
 +      (ps-samp-ps-setup): ... new function.
 +
 +      * progmodes/idlw-shell.el (idlwave-shell-make-temp-file):
 +      Optimize away code unneeded on any modern Emacs.
 +
 +      * emacs-lisp/authors.el: Move to ../admin.
 +
 +      * emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): New.
 +
 +2014-06-26  Luke Lee  <luke.yx.lee@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): Fix return value bug.
 +      (hif-simple-token-only, hif-tokenize): Comment in detail mainly for
 +      performance enhancements.
 +      (hif-parse-if-exp): Rename to `hif-parse-exp'.  Enhance for macro
 +      expansion.
 +      (hif-factor, hif-string-concatenation, intern-safe): Support string
 +      concatenation and argumented macro expansion.
 +      (hif-if-valid-identifier-p, hif-define-operator, hif-flatten)
 +      (hif-expand-token-list, hif-get-argument-list, hif-define-macro)
 +      (hif-delimit, hif-macro-supply-arguments, hif-invoke, hif-canonicalize)
 +      (hif-canonicalize-tokens, hif-place-macro-invocation)
 +      (hif-parse-macro-arglist): Mostly new functions for supporting
 +      argumented macro expansion.
 +      (hif-string-concatenation, hif-stringify, hif-token-concat)
 +      (hif-token-stringification, hif-token-concatenation):
 +      Stringification and concatenation.
 +      (hif-find-next-relevant): Fix comments.
 +      (hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
 +      some cases involving #elif.
 +      (hif-find-define, hif-add-new-defines): New functions for automatically
 +      scanning of defined symbols.
 +      (hide-ifdef-guts): Fix for defined symbol auto scanning.
 +      (hide-ifdef-undef): Fix behavior to match CPP.
 +
 +2014-06-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(lisp)/progmodes/cc-defs.elc)
 +      ($(lisp)/progmodes/cc-fonts.elc, $(lisp)/progmodes/cc-langs.elc)
 +      ($(lisp)/progmodes/cc-vars.elc): Drop hand-written deps on non-cc
 +      files.  They are not relevant to the original issue (bug#1004),
 +      and cause unnecessary recompilation (bug#2151).
  
 -      * international/characters.el (char-script-table): Update for
 -      scripts added and codepoint ranges changed in Unicode 7.0.
 +2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * play/landmark.el: Use lexical-binding and avoid `intangible'.
 +      (landmark--last-pos): New var.
 +      (landmark--intangible-chars): New const.
 +      (landmark--intangible): New function.
 +      (landmark-mode, landmark-move): Use it.
 +      (landmark-mode): Remove properties.
 +      (landmark-plot-square, landmark-point-square, landmark-goto-xy)
 +      (landmark-cross-qtuple):
 +      Don't worry about `intangible' any more.
 +      (landmark-click, landmark-point-y): Same; and don't assume point-min==1.
 +      (landmark-init-display): Don't set `intangible' and `point-entered'.
 +      (square): Remove.  Inline it instead.
 +      (landmark--distance): Rename from `distance'.
 +      (landmark-calc-distance-of-robot-from): Rename from
 +      calc-distance-of-robot-from.
 +      (landmark-calc-smell-internal): Rename from calc-smell-internal.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * files.el (dir-locals-find-file, file-relative-name):
 +      * info.el (Info-complete-menu-item):
 +      * minibuffer.el (completion-table-subvert): Prefer string-prefix-p
 +      to compare-strings to avoid out-of-range errors.
 +      * subr.el (string-prefix-p): Adjust to match strict range
 +      checking in compare-strings.
 +
 +2014-06-24  Leonard Randall  <leonard.a.randall@gmail.com>  (tiny change)
 +
 +      * textmodes/reftex-parse.el (reftex-using-biblatex-p): Make search
 +      for comment lines non-greedy and stopping at newlines to fix stack
 +      overflows with large files.
 +
 +2014-06-24  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-last-input): Drop 'ascii-character property
 +      lookup.
  
 -2014-06-23  Leo Liu  <sdl.web@gmail.com>
 +2014-06-24  Leo Liu  <sdl.web@gmail.com>
  
        * align.el (align-adjust-col-for-rule): Unbreak due to defaulting
        tab-stop-list to nil.  (Bug#16381)
        (indent-rigidly-right-to-tab-stop, tab-to-tab-stop)
        (move-to-tab-stop): Change callers.
  
 -2014-06-22  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-24  Eli Zaretskii  <eliz@gnu.org>
  
        * skeleton.el (skeleton-insert): Yet another fix of the doc string
        wrt behavior of \n as the first/last element of a skeleton.
  
 -2014-06-22  Michael Albinus  <michael.albinus@gmx.de>
 +2014-06-24  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-adb.el (tramp-adb-handle-process-file):
        * net/tramp-sh.el (tramp-sh-handle-process-file):
        * net/tramp-smb.el (tramp-smb-handle-process-file): Do not raise
        the output buffer when DISPLAY is non-nil.  (Bug#17815)
  
 -2014-06-21  Glenn Morris  <rgm@gnu.org>
 +2014-06-24  Glenn Morris  <rgm@gnu.org>
  
        * play/landmark.el (landmark-move-down, landmark-move-up):
        Fix 2007-10-20 change - preserve horizontal position.
  
 +2014-06-23  Sam Steingold  <sds@gnu.org>
 +
 +      * simple.el (kill-append): Remove undo boundary depending on ...
 +      (kill-append-merge-undo): New user option.
 +
 +2014-06-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (handle-shift-selection, exchange-point-and-mark)
 +      (activate-mark): Set transient-mark-mode buffer-locally (bug#6316).
 +      (transient-mark-mode): Use&set the global value.
 +      * mouse.el (mouse-set-region-1, mouse-drag-track): Idem.
 +      * emulation/edt.el (edt-emulation-off): Save&restore the global
 +      transient-mark-mode setting.
 +      * obsolete/pc-select.el (pc-selection-mode): Use the
 +      transient-mark-mode function.
 +
 +2014-06-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * international/fontset.el (script-representative-chars):
 +      Add representative characters for scripts added in Unicode 7.0.
 +      (otf-script-alist): Synchronize with the latest registry of OTF
 +      script tags.
 +
 +      * international/characters.el (char-script-table): Update for
 +      scripts added and codepoint ranges changed in Unicode 7.0.
 +
 +2014-06-23  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-standard-displayer): Fix bug in use of
 +      `calculator-groupize-number'.
 +      (calculator-funcall): Fix broken `cl-flet' use by moving it into the
 +      `eval' code, so it works in v24.3.1 too.
 +      (calculator-last-input): Comment to clarify purpose.
 +
 +2014-06-22  Mario Lang  <mlang@delysid.org>
 +
 +      * textmodes/rst.el (rst-comment-region): From from -> from.
 +
 +      * net/tramp-adb.el (tramp-adb-send-command-and-check): And and -> and.
 +
 +2013-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * electric.el (electric-layout-post-self-insert-function):
 +      * emacs-lisp/ert.el (ert--insert-infos):
 +      * obsolete/vi.el (vi-set-mark):
 +      * term.el (term-handle-scroll):
 +      * textmodes/bibtex.el (bibtex-fill-field, bibtex-fill-entry):
 +      * wid-edit.el (widget-editable-list-value-create):
 +      Prefer point-marker to copy-marker of point.
 +
  2014-06-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        Fix completion retrieval parsing (bug#17209).
  
        * skeleton.el (skeleton-insert): Doc fix.
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/smie.el (smie-config--guess): Fix typo.
        (smie-config-guess): Use smie-config-local so the rules are obeyed
        (bug#17818).
  
        * mouse.el (mouse-drag-line): Don't re-add to unread-comment-events,
-       since it's already done inside the loop (bug#17819).
+       since it's already done inside the loop (bug#17819).
  
 -2014-06-20  Martin Rudalics  <rudalics@gmx.at>
 +2014-06-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * mouse.el (mouse-drag-line): Re-remove code initially removed
 +      on 2013-03-09 and inadvertently reintroduced on 2013-11-30
 +      (Bug#17819).
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-smie-sh-rules): For { after &&, don't
 +      align with the surrounding parent (bug#17721).
 +
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline
 +      locally to nil.
 +      (texinfo-insert-block, texinfo-insert-@end)
 +      (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to
 +      local setting of skeleton-end-newline by adding an explicit \n to
 +      the skeletons where appropriate.  (Bug#17801)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie--hanging-eolp-function): New var.
 +      (smie-indent--hanging-p): Use it.
 +      * progmodes/sh-script.el (sh-set-shell): Set it (bug#17621).
 +
 +2014-06-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * simple.el (read-quoted-char): Don't let help chars pop up help
 +      buffer.  (Bug#16617)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/sh-script.el (sh-smie-sh-rules): Use same rule for && as
 +      for | (bug#17621).
 +
 +      * xt-mouse.el (xterm-mouse--read-event-sequence-1000):
 +      Drop unknown events instead of burping.
 +
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * term/w32-win.el (dynamic-library-alist): Support giflib 5.1.0
 +      and later.  (Bug#17790)
 +
 +2014-06-21  Juri Linkov  <juri@jurta.org>
 +
 +      * dired.el (dired-mark-pop-up): Let-bind display-buffer-mark-dedicated
 +      to `soft'.  (Bug#17554)
 +
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * delsel.el (electric-newline-and-maybe-indent): Mark it as well
 +      (bug#17737).
 +
 +2014-06-21  Dmitry Gutov  <dgutov@yandex.ru>
 +
 +      * progmodes/ruby-mode.el (ruby-font-lock-keywords): Don't fontify
 +      `!' in `!~' with `font-lock-negation-char-face'.  (Bug#17732)
 +
 +2014-06-21  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/dbus.el (dbus-call-method): Push only non D-Bus events into
 +      `unread-command-events'.
 +
 +2014-06-19  William Xu  <william.xwl@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): Don't return float for
 +      hex integer constants (bug#17807).
 +
 +2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * international/mule-util.el (truncate-string-ellipsis): New var.
 +      (truncate-string-to-width): Use it.
 +
 +2014-06-19  Robert Brown  <robert.brown@gmail.com>  (tiny change)
 +
 +      * emacs-lisp/lisp-mode.el (lisp-string-after-doc-keyword-p): New fun.
 +      (lisp-string-in-doc-position-p): New function, extracted from
 +      lisp-font-lock-syntactic-face-function.
 +      (lisp-font-lock-syntactic-face-function): Use them (bug#9130).
 +
 +2014-06-19  Grégoire Jadi  <daimrod@gmail.com>
 +
 +      * net/rcirc.el (rcirc-omit-mode): Fix recenter error.  (Bug#17769)
 +
 +2014-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * play/bubbles.el (bubbles--initialize, bubbles--show-scores)
 +      (bubbles--game-over): Don't add `intangible' properties since they
 +      didn't work anyway.
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/ediff-init.el (ediff-current-diff-Ancestor)
 +      (ediff-fine-diff-Ancestor, ediff-even-diff-A, ediff-even-diff-B)
 +      (ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A)
 +      (ediff-odd-diff-B, ediff-odd-diff-C, ediff-odd-diff-Ancestor):
 +      Add `min-colors 88' version with removed black/white foregrounds.
 +      (Bug#10181)
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/diff-mode.el (diff-changed): Empty face definition to use
 +      `diff-removed' and `diff-added' on tty as well.  (Bug#10181)
 +      (diff-context): Use darker color on light background and
 +      lighter color on dark background.
 +
 +2014-06-18  Juri Linkov  <juri@jurta.org>
 +
 +      * vc/diff-mode.el (diff-refine-changed): Rename from
 +      `diff-refine-change' for consistency with `diff-changed'.
 +      (diff-refine-change): Add obsolete face alias.  (Bug#10181)
 +
 +      * vc/smerge-mode.el (smerge-refined-changed): Rename from
 +      `smerge-refined-change'.
 +      (smerge-refined-change): Add obsolete face alias.
 +
 +2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * rect.el (rectangle-preview): New custom.
 +      (rectangle): New group.
 +      (rectangle--pos-cols): Add `window' argument.
 +      (rectangle--string-preview-state, rectangle--string-preview-window):
 +      New vars.
 +      (rectangle--string-flush-preview, rectangle--string-erase-preview)
 +      (rectangle--space-to, rectangle--string-preview): New functions.
 +      (string-rectangle): Use them.
 +      (rectangle--inhibit-region-highlight): New var.
 +      (rectangle--highlight-for-redisplay): Obey it.  Make sure
 +      `apply-on-region' uses the point-crutches of the right window.
 +      Use :align-to rather than multiple spaces.
 +
 +2014-06-16  Andrea Rossetti  <andrea.rossetti@gmail.com>  (tiny change)
 +
 +      * ruler-mode.el (ruler-mode-window-col)
 +      (ruler-mode-mouse-set-left-margin)
 +      (ruler-mode-mouse-set-right-margin): Fix calculation of column
 +      from mouse position (Bug#17768).
 +
 +2014-06-16  Ron Schnell  <ronnie@driver-aces.com>
 +
 +      * play/dunnet.el (dun-doassign): Fix bug where UNIX variable assignment
 +      without varname or rhs causes crash.
 +      (dun-ftp): Fix bug where blank ftp password is allowed, making it
 +      impossible to win endgame.
 +      (dun-unix-verbs): Add ssh as alias to rlogin, because nobody knows what
 +      rlogin is anymore.
 +      (dun-help): Bump version number; update contact info.
 +
 +2014-06-15  Eli Barzilay  <eli@barzilay.org>
 +
 +      * calculator.el (calculator-prompt, calculator-remove-zeros)
 +      (calculator-mode-hook, calculator-operators, calculator-stack)
 +      (calculator-mode): Tweak docstring.
 +      (calculator-user-operators): Tweak docstring, fix a bug in the last
 +      example.
 +      (calculator-displayer): `std' case has an optional boolean.
 +      (calculator-displayers): Use the new boolean to group in decimal mode.
 +      (calculator-mode-map, calculator, calculator-message)
 +      (calculator-op-arity, calculator-add-operators)
 +      (calculator-string-to-number, calculator-displayer-prev)
 +      (calculator-displayer-next, calculator-remove-zeros)
 +      (calculator-eng-display, calculator-number-to-string)
 +      (calculator-update-display, calculator-last-input)
 +      (calculator-clear-fragile, calculator-digit, calculator-decimal)
 +      (calculator-exp, calculator-saved-move, calculator-clear)
 +      (calculator-copy, calculator-put-value, calculator-help)
 +      (calculator-expt, calculator-truncate): Minor code improvements.
 +      (calculator-need-3-lines): New function pulling out code from
 +      `calculator'.
 +      (calculator-get-display): Rename from `calculator-get-prompt', and
 +      improved.
 +      (calculator-push-curnum): Rename from `calculator-curnum-value', and
 +      extended for all uses of it.  All callers changed.
 +      (calculator-groupize-number): New utility for splitting a number into
 +      groups.
 +      (calculator-standard-displayer): Improve code, new optional argument to
 +      use comma-split groups, make second argument optional too to use with
 +      'left/'right inputs.  All callers changed.
 +      (calculator-reduce-stack-once): New utility, doing the meat of what
 +      `calculator-reduce-stack' used to do, much improved (mostly using
 +      `pcase' for conciseness and clarity).
 +      (calculator-reduce-stack): Now doing just the reduction loop using
 +      `calculator-reduce-stack-once'.
 +      (calculator-funcall): Improve code, make it work in v24.3.1 too.
 +      (calculator-last-input): Improve code, remove some old cruft.
 +      (calculator-quit): Kill `calculator-buffer' in electric mode too.
 +      (calculator-integer-p): Remove.
 +      (calculator-fact): Improve code, make it work on non-integer values
 +      too (using truncated numbers).
 +
 +2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      Sync with Tramp 2.2.10.
 +
 +      * net/tramp.el (tramp-methods): Tweak docstring.
 +      (tramp-handle-file-accessible-directory-p): Check for
 +      `file-readable-p' instead of `file-executable-p'.
 +      (tramp-check-cached-permissions):
 +      Use `tramp-compat-file-attributes'.
 +      (tramp-call-process): Add new argument VEC.  Adapt callees in all
 +      tramp*.el files.
 +
 +      * net/tramp-adb.el (tramp-adb-handle-write-region): Improve messages.
 +      (tramp-adb-maybe-open-connection): Don't set
 +      `tramp-current-*' variables.
 +
 +      * net/tramp-cache.el (tramp-flush-file-function): Do not flush
 +      file properties of temporary buffers.
 +
 +      * net/tramp-ftp.el (top): Remove special handling for URL syntax.
 +
 +      * net/tramp-gvfs.el (tramp-gvfs-methods) <sftp>: Add.
 +      (tramp-gvfs-handle-delete-file): Flush file
 +      properties, not directory properties.
 +      (tramp-gvfs-handle-file-attributes): Use `string-to-number' when
 +      reading "unix::mode".
 +      (tramp-gvfs-handle-file-name-all-completions):
 +      Use "-h" option for "gvfs-ls".
 +      (tramp-gvfs-url-file-name): `user' and `localname' could be nil.
 +      (tramp-gvfs-send-command): Simplify traces.
 +
 +      * net/tramp-sh.el (vc-handled-backends, vc-bzr-program)
 +      (vc-git-program, vc-hg-program): Declare.
 +      (tramp-methods) <sftp>: Remove.  It has never worked satisfactorily.
 +      (tramp-methods) <nc>: Add new method.
 +      (tramp-methods) <telnet>: Redirect stderr to "/dev/null".
 +      (tramp-methods) <plink, plinkx, pscp, psftp>: Improve
 +      `tramp-login-args'.
 +      (tramp-default-user-alist): Add "nc".
 +      (top): Remove completion function for "sftp".  Add completion
 +      functions for "nc" and "psftp".
 +      (tramp-do-copy-or-rename-file-out-of-band): Tweak docstring.
 +      Implement support for "nc" method.
 +      (tramp-sh-handle-expand-file-name, tramp-local-coding-commands)
 +      (tramp-remote-coding-commands, tramp-call-local-coding-command):
 +      Tweak docstring.
 +      (tramp-sh-handle-write-region): Tweak error message.
 +      (tramp-sh-handle-vc-registered): Remove backends when the remote
 +      binary does not exist.
 +      (tramp-find-inline-encoding): Do not raise an error.
 +      (tramp-make-copy-program-file-name): Tweak docstring.  Handle also
 +      the "nc" case.  Quote result also locally.
 +
 +      * net/tramp-smb.el (tramp-smb-handle-copy-directory)
 +      (tramp-smb-handle-set-file-acl): Use `start-process'.
 +      (tramp-smb-handle-insert-directory): Use progress reporter.
 +      (tramp-smb-handle-rename-file): Flush also file properties of
 +      FILENAME.
 +
 +      * net/trampver.el: Update release number.
 +
 +2014-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * ses.el: Miscellaneous cleanups; use lexical-binding; avoid
 +      add-to-list.
 +      (ses-localvars): Remove ses--local-printer-list, unused.
 +      (ses--metaprogramming): New macro.  Use it to defvar variables.
 +      (ses-set-localvars): Simplify.
 +      (ses--locprn, ses-cell): Use defstruct.  Change ses-cell's
 +      property-list into an alist.
 +      (ses-locprn-get-compiled, ses-locprn-compiled-aset)
 +      (ses-locprn-get-def, ses-locprn-def-aset, ses-locprn-get-number):
 +      Remove; use defstruct accessors/setters instead.
 +      (ses-cell-formula-aset, ses-cell-printer-aset)
 +      (ses-cell-references-aset): Remove, use setf instead.
 +      (ses--alist-get): New function.
 +      (ses-cell-property): Rename from ses-cell-property-get and rewrite.
 +      Use an alist instead of a plist and don't do move-to-front since the
 +      list is always short.
 +      (ses-cell-property-get-fun, ses-cell-property-delq-fun)
 +      (ses-cell-property-set-fun, ses-cell-property-set)
 +      (ses-cell-property-pop-fun, ses-cell-property-get-handle)
 +      (ses-cell-property-handle-car, ses-cell-property-handle-setcar): Remove.
 +      (ses--letref): New macro.
 +      (ses-cell-property-pop): Rewrite.
 +      (ses--cell): Rename from ses-cell and make it into a function.
 +      Make `formula' fallback on `value' if nil.
 +      (ses--local-printer): Rename from ses-local-printer and make it into
 +      a function.
 +      (ses-set-cell): Turn it into a macro so finding the accessor from the
 +      field name is done at compile time.
 +      (ses-repair-cell-reference-all): Test presence of `sym' rather than
 +      `ref' before adding `sym' to :ses-repair-reference.
 +      (ses-calculate-cell): Use ses--letref rather than
 +      ses-cell-property-get-handle.
 +      (ses-write-cells): Use a single prin1-to-string.
 +      (ses-setter-with-undo): New function.
 +      (ses-aset-with-undo, ses-set-with-undo): Rewrite using it.
 +      (ses-unset-with-undo): Remove.
 +      (ses-load): Prefer apply' over `eval'.
 +      (ses-read-printer, ses-set-column-width): Use standard "(default
 +      foo)" format.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (leim, semantic): Use `make -C' rather than `cd && make'.
 +
 +      * progmodes/cc-langs.el: Require cl-lib.  (Bug#17463)
 +      Replace delete-duplicates and mapcan by cl- versions throughout.
 +      And cl-macroexpand-all by macroexpand-all.
 +      (delete-duplicates, mapcan, cl-macroexpand-all): No need to declare.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * subr.el (posn-col-row): Doc fix.  (Bug#17768)
 +
 +2014-06-15  Juri Linkov  <juri@jurta.org>
 +
 +      * bindings.el: Put `ascii-character' property on keypad keys
 +      mapped to characters.  (Bug#17759)
 +
 +2014-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/smie.el (smie-next-sexp): Fix up "other-end" info when
 +      bumping forward into a closing paren (bug#17761).
 +
 +      * term/xterm.el (xterm--version-handler): Work around for OSX
 +      Terminal.app (bug#17607).
  
 -      * mouse.el (mouse-drag-line): Re-remove code initially removed
 -      on 2013-03-09 and inadvertently reintroduced on 2013-11-30
 -      (Bug#17819).
 +2014-06-14  Ron Schnell  <ronnie@driver-aces.com>
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * play/dunnet.el (dun-describe-room, dun-mode):
 +      If a lamp is in the room, you won't be eaten by a grue.
  
 -      * progmodes/sh-script.el (sh-smie-sh-rules): For { after &&, don't
 -      align with the surrounding parent (bug#17721).
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
  
 -2014-06-20  Eli Zaretskii  <eliz@gnu.org>
 +      * Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el)
 +      (autoloads, $(lisp)/subdirs.el, compile-main, leim, semantic, compile)
 +      (compile-always): GNU make automatically passes
 +      command-line arguments to sub-makes.
  
 -      * textmodes/texinfo.el (texinfo-mode): Set skeleton-end-newline
 -      locally to nil.
 -      (texinfo-insert-block, texinfo-insert-@end)
 -      (texinfo-insert-@example, texinfo-insert-@quotation): Adjust to
 -      local setting of skeleton-end-newline by adding an explicit \n to
 -      the skeletons where appropriate.  (Bug#17801)
 +      * calendar/calendar.el (calendar-generate-window):
 +      Remove pointless call to font-lock-fontify-buffer.
  
 -2014-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-13  Matthias Meulien  <orontee@gmail.com>
  
 -      * emacs-lisp/smie.el (smie--hanging-eolp-function): New var.
 -      (smie-indent--hanging-p): Use it.
 -      * progmodes/sh-script.el (sh-set-shell): Set it (bug#17621).
 +      * simple.el (completion-list-mode-map): Navigate with tab and backtab
 +      (bug#17767).
  
 -2014-06-20  Leo Liu  <sdl.web@gmail.com>
 +2014-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * simple.el (read-quoted-char): Don't let help chars pop up help
 -      buffer.  (Bug#16617)
 +      * simple.el (set-mark-command): Simplify a bit.
  
 -2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
 -      * progmodes/sh-script.el (sh-smie-sh-rules): Use same rule for && as
 -      for | (bug#17621).
 +      * help.el (help--key-binding-keymap): New function.
 +      (help--binding-locus): New function.
 +      (describe-key): Mention the keymap in which the binding was
 +      found. (bug#13948)
  
 -2014-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xt-mouse.el (xterm-mouse-translate-1): Fix last change (bug#17776).
 -      (xterm-mouse--read-event-sequence-1000): Drop unknown events instead of
 -      burping.
 +      * hippie-exp.el (he--all-buffers): New function.
 +      (try-expand-line-all-buffers, try-expand-list-all-buffers)
 +      (try-expand-dabbrev-all-buffers): Use it.
  
 -2014-06-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-12  Emilio C. Lopes  <eclig@gmx.net>
  
 -      * term/w32-win.el (dynamic-library-alist): Support giflib 5.1.0
 -      and later.  (Bug#17790)
 +      * hippie-exp.el (try-expand-line-all-buffers)
 +      (try-expand-list-all-buffers, try-expand-dabbrev-all-buffers):
 +      Read hippie-expand-only-buffers and hippie-expand-ignore-buffers in the
 +      original buffer, in case they're buffer-local.
  
 -2014-06-18  Juri Linkov  <juri@jurta.org>
 +2014-06-12  Vincent Belaïche  <vincentb1@users.sourceforge.net>
  
 -      * dired.el (dired-mark-pop-up): Let-bind display-buffer-mark-dedicated
 -      to `soft'.  (Bug#17554)
 +      * ses.el (ses-initial-global-parameters-re): New defconst, a
 +      specific regexp is needed now that ses.el can handle both
 +      file-format 2 --- ie. no local printers --- and 3 --- i.e. may have
 +      local printers.
 +      (ses-localvars): Add local variables needed for local printer handling.
 +      (ses-set-localvars): Handle hashmap initialisation.
 +      (ses-paramlines-plist): Add param-line for number of local printers.
 +      (ses-paramfmt-plist): New defconst, needed for code factorization
 +      between functions `ses-set-parameter' and
 +      `ses-file-format-extend-paramter-list'
 +      (ses-make-local-printer-info): New defsubst.
 +      (ses-locprn-get-compiled, ses-locprn-compiled-aset)
 +      (ses-locprn-get-def, ses-locprn-def-aset, ses-locprn-get-number)
 +      (ses-cell-printer-aset): New defmacro.
 +      (ses-local-printer-compile): New defun.
 +      (ses-local-printer): New defmacro.
 +      (ses-printer-validate, ses-call-printer): Add support for local
 +      printer functions.
 +      (ses-file-format-extend-paramter-list): New defun.
 +      (ses-set-parameter): Use const `ses-paramfmt-plist' for code
 +      factorization.
 +      (ses-load): Add support for local printer functions.
 +      (ses-read-printer): Update docstring and add support for local printer
 +      functions.
 +      (ses-refresh-local-printer, ses-define-local-printer): New defun.
 +      (ses-safe-printer): Add support for local printer functions.
  
 -2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-12  Ivan Andrus  <darthandrus@gmail.com>
  
 -      * delsel.el (electric-newline-and-maybe-indent): Mark it as well
 -      (bug#17737).
 +      * ffap.el (ffap-lax-url): New var (bug#17723).
 +      (ffap-url-at-point): Use it.
 +      (ffap-file-at-point): Avoid returning just "/".
  
 -2014-06-16  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-06-12  Matthias Meulien  <orontee@gmail.com>
  
 -      * progmodes/ruby-mode.el (ruby-font-lock-keywords): Don't fontify
 -      `!' in `!~' with `font-lock-negation-char-face'.  (Bug#17732)
 +      * progmodes/python.el (import skeleton): New skeleton (bug#17672).
 +      (python-mode-map): Bind it.
  
 -2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +      * progmodes/python.el (class skeleton): Don't erase last char of class
 +      name (bug#17683).
  
 -      * net/dbus.el (dbus-call-method): Push only non D-Bus events into
 -      `unread-command-events'.
 +2014-06-12  Cameron Desautels  <camdez@gmail.com>  (tiny change)
  
 -2014-06-14  Glenn Morris  <rgm@gnu.org>
 +      * help.el (where-is): Use `default' arg of completing-read (bug#17705).
  
 -      * progmodes/cc-langs.el: Require cl-lib.  (Bug#17463)
 -      Replace delete-duplicates and mapcan by cl- versions throughout.
 -      And cl-macroexpand-all by macroexpand-all.
 -      (delete-duplicates, mapcan, cl-macroexpand-all): No need to declare.
 +2014-06-12  Kevin Ryde  <user42_kevin@yahoo.com.au>
  
 -2014-06-14  Eli Zaretskii  <eliz@gnu.org>
 +      * files.el (auto-mode-alist): Map .ad files to xdefaults-mode
 +      (bug#17745).
  
 -      * subr.el (posn-col-row): Doc fix.  (Bug#17768)
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2014-06-14  Juri Linkov  <juri@jurta.org>
 +      * international/mule-cmds.el: Use lexical-binding.
 +      (ucs-names): Simplify.
  
 -      * bindings.el: Put `ascii-character' property on keypad keys
 -      mapped to characters.  (Bug#17759)
 +2014-05-18  Eric Hanchrow  <eric.hanchrow@gmail.com>
  
 -2014-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/python.el (run-python): Use read-shell-command.
  
 -      * emacs-lisp/smie.el (smie-next-sexp): Fix up "other-end" info when
 -      bumping forward into a closing paren (bug#17761).
 +2014-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * term/xterm.el (xterm--version-handler): Work around for OSX
 -      Terminal.app (bug#17607).
 +      * rect.el: Make it possible to move bounds past EOL or into TABs.
 +      (operate-on-rectangle): Use apply-on-rectangle.
 +      (rectangle--mark-crutches): New var.
 +      (rectangle--pos-cols, rectangle--col-pos, rectangle--point-col)
 +      (rectangle--crutches, rectangle--reset-crutches): New functions.
 +      (apply-on-rectangle): Obey crutches.  Avoid setq.
 +      Fix missing final iteration if end is at EOB&BOL.
 +      (rectangle-mark-mode-map): Add remap bindings for
 +      exchange-point-and-mark and char/line movements.
 +      (rectangle--*-char): New function.
 +      (rectangle-exchange-point-and-mark, rectangle-right-char)
 +      (rectangle-left-char, rectangle-forward-char)
 +      (rectangle-backward-char, rectangle-next-line)
 +      (rectangle-previous-line): New commands.
 +      (rectangle--place-cursor): New function.
 +      (rectangle--highlight-for-redisplay): Use it.  Use apply-on-rectangle.
  
  2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * bookmark.el (bookmark-load):
        * uniquify.el (uniquify-buffer-name-style): Doc fixes.
  
 -2014-06-06  Juri Linkov  <juri@jurta.org>
 +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
 +      optimized 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):
 +      Optimize 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
 +      optimizes `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>
 +
 +      * 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>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * minibuffer.el (completion-pcm--merge-try): Merge trailing / with
        suffix (bug#15419).
        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.
  
  
        * 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.
        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>
  
 -      * mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
 +      * 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
 -      overridden by the defface spec which also fixes issues on win32 where
 +      overriden by the defface spec which also fixes issues on win32 where
        the toolbar coloring was wrong because it is set through X resources
 -      and was (wrongfully) overridden.  (Bug#16694)
 +      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--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-26  Glenn Morris  <rgm@gnu.org>
  
 -      * emacs-lisp/package.el (package-show-package-list): If the buffer
 -      is already displayed in another window, switch to that window.
 +      * obsolete/gulp.el: Move here from emacs-lisp/.
  
 -2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +      * files.el (lock-buffer, unlock-buffer, file-locked-p):
 +      Remove fallback aliases, since they are always defined now.
  
 -      * mail/emacsbug.el (report-emacs-bug): Include memory usage
 -      information in bug reports.
 +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): Copy 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>
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
  
 -      * battery.el (battery-linux-sysfs): Search for each field
 -      from the beginning of the buffer.
 +      * 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.
  2014-03-10  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
 -      Do not add `nil' to the environment, when there's no remote `locale'.
 +      Do not add nil to the environment, when there's no remote `locale'.
        (tramp-find-inline-encoding): Check, that the remote host has
        installed perl, before sending scripts.
  
        * help-at-pt.el (help-at-pt-string, help-at-pt-maybe-display):
        Also try to display local help from just before point.
  
 -2014-02-02  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2014-02-02  Alan Mackenzie  <acm@muc.de>
  
        c-parse-state.  Don't "append-lower-brace-pair" in certain
        circumstances.  Also fix an obscure bug where "\\s!" shouldn't be
        COMMAND-alternatives variable, assign COMMAND as its definition
        name so that `describe-variable' can relocate it.
  
 -2014-01-14  Matthew Leach  <matthew@mattleach.net>  (tiny change)
 +2014-01-14  Matthew Leach  <matthew@mattleach.net>
  
        * font-lock.el (font-lock-keywords): Fix typo in docstring
        (bug#16307).
        Add option to delete file when done.  (Bug#15647)
        (python-shell-send-string, python-shell-send-region): Use it.
  
 -2013-11-23  Ivan Shmakov  <ivan@siamics.net>  (tiny change)
 +2013-11-23  Ivan Shmakov  <ivan@siamics.net>
  
        * vc/diff-mode.el (diff-mode): Only allow diff-default-read-only
        to set buffer-read-only to t, never to nil.  (Bug#15938)
  
        * 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>
  
  2013-06-04  Alan Mackenzie  <acm@muc.de>
  
 -      Remove faulty optimisation from indentation calculation.
 +      Remove faulty optimization from indentation calculation.
        * progmodes/cc-engine.el (c-guess-basic-syntax): Don't calculate
        search limit based on 2000 characters back from indent-point.
  
        * 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/ChangeLog.12
index 5699c90cb80ab17d283527431bb36fe28964859e,8e2edb8b89dfd2c09048961bcce1ae6e0cf2565e..309fa14c02144e9041b637934057f9758d2d9f8d
  
        * international/quail.el (quail-setup-completion-buf): Make the
        completion buffer read-only.
 -      (quail-completion): Adjusted for the above change.  Leave the
 +      (quail-completion): Adjust for the above change.  Leave the
        modified flag nil.
  
  2007-03-20  David Kastrup  <dak@gnu.org>
  2007-01-27  Eli Zaretskii  <eliz@gnu.org>
  
        * ls-lisp.el (ls-lisp-use-localized-time-format): New defcustom.
 -      (ls-lisp-format-time-list): Doc fix.  Mention
 -      ls-lisp-use-localized-time-format.
 +      (ls-lisp-format-time-list): Doc fix.
 +      Mention ls-lisp-use-localized-time-format.
        (ls-lisp-format-time): Use ls-lisp-format-time-list if
        ls-lisp-use-localized-time-format is non-nil, even if a valid
        locale is defined.
  
        * wdired.el (wdired-change-to-wdired-mode, wdired-finish-edit)
        (wdired-search-and-rename): Simplify code.
 -      (wdired-preprocess-files, wdired-preprocess-perms): Make
 -      read-only property of preceding character rear-nonsticky to
 +      (wdired-preprocess-files, wdired-preprocess-perms):
 +      Make read-only property of preceding character rear-nonsticky to
        avoid that it can be modified.  Put old-name and old-link
        properties on character preceding name and replace
        put-text-property by add-text-properties.
  2006-12-04  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-methods): Add "ControlPath" and
 -      "ControlMaster" to scp, scp1 and scp2 methods.  Suggested by
 -      Andreas Schwab <schwab@suse.de>.
 +      "ControlMaster" to scp, scp1 and scp2 methods.
 +      Suggested by Andreas Schwab <schwab@suse.de>.
        (tramp-do-copy-or-rename-file-out-of-band)
        (tramp-open-connection-rsh): Compute format spec for ?t.
        (tramp-process-actions): Trace command parameters.
        * mail/feedmail.el (feedmail-buffer-to-sendmail): Look for
        sendmail in several common directories.
  
 -      * mail/sendmail.el (sendmail-program): Moved here from paths.el.
 +      * mail/sendmail.el (sendmail-program): Move here from paths.el.
  
 -      * paths.el (sendmail-program): Removed.
 +      * paths.el (sendmail-program): Remove.
  
  2006-09-04  Daiki Ueno  <ueno@unixuser.org>
  
  
        * net/rcirc.el (rcirc-keywords): New variable.
        (rcirc-bright-nicks, rcirc-dim-nicks): New variables.
 -      (rcirc-bright-nick-regexp, rcirc-dim-nick-regexp): Remove
 -      variables.
 +      (rcirc-bright-nick-regexp, rcirc-dim-nick-regexp):
 +      Remove variables.
        (rcirc-responses-no-activity): New function.
        (rcirc-handler-generic): Check for responses in above.
        (rcirc-process-command): Add ?: character to arguments of raw
  2006-08-31  Richard Stallman  <rms@gnu.org>
  
        * cus-edit.el (custom-save-variables): Slight cleanup.
 -      (Custom-no-edit): Renamed from custom-no-edit.
 -      (Custom-newline): Renamed from custom-newline.
 +      (Custom-no-edit): Rename from custom-no-edit.
 +      (Custom-newline): Rename from custom-newline.
        (custom-mode-map): Use new names.
  
        * emacs-lisp/easy-mmode.el (define-minor-mode): Reference manual
  
  2006-08-09  John Wiegley  <johnw@newartisans.com>
  
 -      * calendar/timeclock.el (timeclock-use-elapsed): Added a new
 +      * calendar/timeclock.el (timeclock-use-elapsed): Add a new
        variable, which causes timeclock to report elapsed time worked,
        instead of just work remaining.
  
        instead of retired `allout-resumptions'.  For hook functions, use
        `local' parameter so hook settings are created and removed as
        buffer-local settings.  Revise (resumptions) setting
 -      auto-fill-function so it is set only if already active.  The
 -      related fill-function settings are all made in either case, so
 +      auto-fill-function so it is set only if already active.
 +      The related fill-function settings are all made in either case, so
        that activating auto-fill-mode activity will have the custom
        allout-mode behaviors (hanging indent on topics, if configured for it).
        Remove all allout-exposure-category overlays on mode deactivation.
        * progmodes/idlw-shell.el (idlwave-shell-move-or-history):
        Remove spurious move to point-max (new comint behavior fixes).
  
 -      * progmodes/idlwave.el (idlwave-push-mark): Removed obsolete
 +      * progmodes/idlwave.el (idlwave-push-mark): Remove obsolete
        compatibility function (Emacs 18/19).
        (idlwave-is-continuation-line): Always return point at start of
        previous non-blank continuation line.
        `point'.
        (diff-hunk-text, diff-goto-source): Doc fix.
  
 -      * startup.el (fancy-splash-screens, normal-splash-screen): Use
 -      face `mode-line-buffer-id' for mode-line buffer face instead of
 +      * startup.el (fancy-splash-screens, normal-splash-screen):
 +      Use face `mode-line-buffer-id' for mode-line buffer face instead of
        hard-coded `(:weight bold)'.
  
 -      * arc-mode.el (archive-set-buffer-as-visiting-file): Bind
 -      buffer-undo-list to t (undo-ask is reproducible by visiting
 +      * arc-mode.el (archive-set-buffer-as-visiting-file):
 +      Bind buffer-undo-list to t (undo-ask is reproducible by visiting
        nested archives).
  
  2006-05-09  Kim F. Storm  <storm@cua.dk>
  
  2006-05-09  Masatake YAMATO  <jet@gyve.org>
  
 -      * font-lock.el (cpp-font-lock-keywords-source-directives): Added
 -      "warning" and "import".
 -      (cpp-font-lock-keywords): Added "warning".
 +      * font-lock.el (cpp-font-lock-keywords-source-directives):
 +      Add "warning" and "import".
 +      (cpp-font-lock-keywords): Add "warning".
  
  2006-05-08  Dan Nicolaescu  <dann@ics.uci.edu>
  
        * progmodes/etags.el (tags-completion-table): Do completion from
        all the tables in the current list, as documented in the manual.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * CC Mode Update to 5.31.3.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el (c-postprocess-file-styles):
        Bind inhibit-read-only to t, around the call to
        c-remove-any-local-eval-or-mode-variables, so that it works on a
        RO file.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-awk.el: Correct a typo.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el, progmodes/cc-mode.el: Rename c-hungry-backspace to
        c-hungry-delete-backwards, at the request of RMS.  Leave the old
        name as an alias.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el: Correct a typo.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-defs.el: Update the version number to 5.31.3.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el (c-electric-brace): Fix clean-up
        brace-else-brace (error due to mbeg, mend being undefined).
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el: File Local variables: Solve the problem
        where both `mode' and c-file-offsets are specified: `mode' will
        c-tentative-buffer-change, to splat `mode' and `eval' before the
        second hack-local-variables.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el:
        [Supersedes patch to cc-engine.el 2005-12-16T20:07:49Z!monnier@iro.umontreal.ca]
        with save-match-data.  It was being corrupted when Font Lock was
        not enabled.
  
 -2006-02-24  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2006-02-24  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-langs.el (c-mode-menu): Add menu items for Electric
        Mode and Subword Mode.
        * progmodes/cc-cmds.el (c-electric-brace, c-electric-semi&comma)
        (c-electric-colon): Correct doc-strings: "/ln" -> "/la".
  
 -2006-02-24  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2006-02-24  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Improve the
        error message when there's an evaluation error to show whether
        (Info-isearch-push-state): Add quote before Info-current-file and
        Info-current-node.
        (Info-isearch-pop-state): Use `equal' instead of `string='.
 -      (Info-extract-pointer, Info-following-node-name): Use
 -      `match-string-no-properties' instead of `match-string'.
 +      (Info-extract-pointer, Info-following-node-name):
 +      Use `match-string-no-properties' instead of `match-string'.
        (Info-up): Check `old-file' for `stringp'.
        (Info-history): Use `equal' instead of `string-equal'.
        Check `file' for `stringp'.
        (rcirc-get-buffer-create): Fix bug with setting the target.
        (rcirc-any-buffer): Rename from rcirc-get-any-buffer, and include
        test for rcirc-always-use-server-buffer-flag here.
 -      (rcirc-response-formats): Add %N, which is a facified nick.  %n
 -      uses the default face.  Change the ACTION format string.  If the
 +      (rcirc-response-formats): Add %N, which is a facified nick.
 +      %n uses the default face.  Change the ACTION format string.  If the
        "nick" is the server, don't print anything for that field.
        Comment fixes.
        (rcirc-target-buffer): Don't test
        (allout-version): Incremented, corrected, revised, and refined
        module commentary.
  
 -      (provide 'allout): Moved to the bottom, added a require of overlay.
 +      (provide 'allout): Move to the bottom, added a require of overlay.
  
        (allout-encrypt-unencrypted-on-saves): Defaults to t instead of
        `except-current'.
        Clarify provision for various write-file hook var names.
        Adjusted for invisible-text overlays instead of selective-display.
  
 -      (allout-depth): Really return 0 if not within any topic.  This
 -      rectifies `allout-beginning-of-level' and sequence numbering
 +      (allout-depth): Really return 0 if not within any topic.
 +      This rectifies `allout-beginning-of-level' and sequence numbering
        errors that occur when cutting and pasting numbered topics.
        Changed from a in-line subst to a regular function, as well.
  
 -      (allout-pre-next-prefix): Renamed from allout-pre-next-preface.
 +      (allout-pre-next-prefix): Rename from allout-pre-next-preface.
  
        (allout-end-of-subtree, allout-end-of-subtree)
        (allout-end-of-entry, allout-end-of-current-heading)
        (allout-next-visible-heading, allout-open-topic, allout-show-entry)
        (allout-show-children, allout-show-to-offshoot)
 -      (allout-hide-current-entry, allout-show-current-entry): Rectified
 -      handling of trailing blank lines between items.
 +      (allout-hide-current-entry, allout-show-current-entry):
 +      Rectified handling of trailing blank lines between items.
  
        (allout-line-boundary-regexp, set-allout-regexp, allout-depth)
        (allout-current-depth, allout-unprotected, allout-hidden-p)
        (allout-hide-region-body, allout-toggle-subtree-encryption)
        (allout-encrypt-string, allout-encrypted-key-info)
        (allout-next-topic-pending-encryption, allout-encrypt-decrypted)
 -      (allout-file-vars-section-data): Adjusted for use with
 +      (allout-file-vars-section-data): Adjust for use with
        invisible-text overlays instead of selective-display.
  
        (allout-kill-line, allout-kill-topic, allout-yank-processing):
 -      Reworked for use with invisible text overlays.
 +      Rework for use with invisible text overlays.
  
        (allout-current-topic-collapsed-p): New function.
  
  
        (allout-overlay-insert-in-front-handler)
        (allout-overlay-interior-modification-handler)
 -      (allout-before-change-handler, allout-isearch-end-handler): New
 -      functions to handle extraordinary actions affecting concealed
 +      (allout-before-change-handler, allout-isearch-end-handler):
 +      New functions to handle extraordinary actions affecting concealed
        text.
  
        (allout-flag-region): Use overlays instead of selective-display
  
  2006-02-17  Agustín Martín  <agustin.martin@hispalinux.es>
  
 -      * textmodes/ispell.el (ispell-change-dictionary): Call
 -      ispell-buffer-local-dict instead of
 +      * textmodes/ispell.el (ispell-change-dictionary):
 +      Call ispell-buffer-local-dict instead of
        ispell-accept-buffer-local-defs.
        (ispell-local-dictionary-alist): Accept as valid any coding-system
        supported by Emacs.
        (hack-local-variables): Construct list of variable-value pairs,
        and apply or reject them in one go.  Ask for confirmation if
        variables are not known safe.
 -      (hack-local-variables-confirm): Complete rewrite.  Support
 -      `safe-local-variable-values'.
 +      (hack-local-variables-confirm): Complete rewrite.
 +      Support `safe-local-variable-values'.
        (enable-local-variables): Update docstring to reflect new
        behavior.
        (ignored-local-variables): Ignore ignored-local-variables and
  2006-02-12  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-remote-path): Add "/usr/xpg4/bin" on top,
 -      because on Solaris a POSIX compatible "id" is needed.  Reported by
 -      Magnus Henoch <mange@freemail.hu>.
 +      because on Solaris a POSIX compatible "id" is needed.
 +      Reported by Magnus Henoch <mange@freemail.hu>.
  
  2006-02-12  Juri Linkov  <juri@jurta.org>
  
        * help.el (describe-key-briefly): Now a wrapper for
        describe-key-briefly-internal.  Bind enable-disabled-menus-and-buttons
        to t.  Populate yank-menu if empty.
 -      (describe-key-briefly-internal): Renamed from describe-key-briefly.
 +      (describe-key-briefly-internal): Rename from describe-key-briefly.
        (describe-key): Now a wrapper for describe-key-internal.  Bind
        enable-disabled-menus-and-buttons to t.  Populate yank-menu if empty.
 -      (describe-key-internal): Renamed from describe-key.
 +      (describe-key-internal): Rename from describe-key.
  
  2006-02-11  Milan Zamazal  <pdm@zamazal.org>
  
  
  2006-01-22  Kenichi Handa  <handa@m17n.org>
  
 -      * international/mule.el (make-subsidiary-coding-system): Reset
 -      `coding-system-define-form' property of subsidiaries to nil.
 +      * international/mule.el (make-subsidiary-coding-system):
 +      Reset `coding-system-define-form' property of subsidiaries to nil.
        Avoid duplicated entry in coding-system-alist.
        (make-coding-system): Avoid duplicated entry in
        coding-system-alist.
        (tramp-unload-file-name-handler-alist)
        (tramp-unload-tramp): New defuns.
        (tramp-advice-PC-expand-many-files): New defadvice.
 -      (tramp-save-PC-expand-many-files, tramp-setup-complete): Defuns
 -      removed.
 +      (tramp-save-PC-expand-many-files, tramp-setup-complete):
 +      Defuns removed.
        (tramp-handle-expand-file-name): Remove double slash.
        (tramp-handle-file-attributes-with-ls): Return t as 9th attribute.
        It doesn't matter, because it will be converted later on.
  
  2006-01-20  Carsten Dominik  <dominik@science.uva.nl>
  
 -      * textmodes/org.el (org-open-at-point): Fixed bug with matching a
 +      * textmodes/org.el (org-open-at-point): Fix bug with matching a
        link.  Fixed buggy argument sequence in call to `org-view-tags'.
        (org-compile-prefix-format): Set `org-prefix-has-tag'.
        (org-prefix-has-tag): New variable.
        images remain visible.
        (thumbs-file-alist): Construct list in thumbs-buffer and reverse
        order.
 -      (thumbs-show-image-num): Get image from thumbs-file-alist.  Set
 -      mode name.
 +      (thumbs-show-image-num): Get image from thumbs-file-alist.
 +      Set mode name.
        (thumbs-next-image, thumbs-previous-image): Make them work.
  
  2006-01-19  Luc Teirlinck  <teirllm@auburn.edu>
  
  2006-01-12  Masatake YAMATO  <jet@gyve.org>
  
 -      * progmodes/ld-script.el (auto-mode-alist): Support
 -      suffix conventions used in netbsd and eCos.
 +      * progmodes/ld-script.el (auto-mode-alist):
 +      Support suffix conventions used in netbsd and eCos.
  
  2006-01-11  Luc Teirlinck  <teirllm@auburn.edu>
  
  
        * hi-lock.el (hi-lock-mode): Rename from hi-lock-buffer-mode;
        react if global-hi-lock-mode seems intended.
 -      (global-hi-lock-mode): Renamed from hi-lock-mode.
 +      (global-hi-lock-mode): Rename from hi-lock-mode.
        (hi-lock-archaic-interface-message-used)
        (hi-lock-archaic-interface-deduce): New variables.
        (turn-on-hi-lock-if-enabled, hi-lock-line-face-buffer)
        No need to check gud-comint-buffer is bound.
        (gdb): Prevent multiple debugging when first session uses gdba.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        CC Mode update to 5.31.
  
        New macros c-sentence-end and c-default-value-sentence end, to cope
        with Emacs 22's new function `sentence-end'.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-cmds.el (c-show-syntactic-information): Solve the
        compat issue using `c-put-overlay' and `c-delete-overlay'.
        * progmodes/cc-defs.el (c-put-overlay, c-delete-overlay):
        New compat macros to handle overlays/extents.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-fix.el: Add definitions of the macros push and pop
        (for GNU Emacs 20.4).
        call to the new macro c-int-to-char.  This solves XEmacs's
        regarding characters as different from integers.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el (c-make-syntactic-matcher):
        New internal helper.
        * progmodes/cc-fonts.el (c-negation-char-face-name): New variable
        to map to `font-lock-negation-char-face' in emacsen where it exists.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el: Bind c-subword-mode to C-c C-w.
  
        * progmodes/cc-mode.el: Added tty suitable bindings for C-c
        <delete> and C-c C-<delete>.  (To the c-hungry- delete functions).
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-mode.el: Added autoload directive for
        `c-subword-move-mode' for use in older emacsen.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el:
        (i): Insert a binding for C-c C-backspace into
  
        * progmodes/cc-awk.el: Apply a tidy-up patch (from Stefan Monnier).
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el, progmodes/cc-vars.el
        (gtkdoc-font-lock-doc-comments, gtkdoc-font-lock-doc-protection)
        <delete> key behavior in XEmacs according to `delete-forward-p'.
        C.f. `c-electric-delete'.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-mode.el: Give c-hungry-backspace and
        c-hungry-delete-forward permanent key bindings.
        response to a report from Joseph Kiniry <kiniry@acm.org> that it
        was difficult to understand.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-engine.el (c-on-identifier): Fix bug when at the
        first char of an identifier.
        * progmodes/cc-engine.el (c-on-identifier): Handle the "operator
        +" syntax in C++.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el (c-mask-paragraph): Correct, so that
        auto-fill doesn't split a c-comment's last word from a hanging
        with blank comment-prefix, and a blank line as the comment's
        second line.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el (c-cpp-matchers, c-basic-matchers-before):
        Incorporate the patterns added in the Emacs development branch
        * progmodes/cc-engine.el (c-literal-faces):
        Add `font-lock-comment-delimiter-face' which is new in Emacs 22.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el: Make C-c C-a (`c-toggle-auto-newline')
        forcibly enable c-electric-flag.
        `comment-close-slash' on c-electric-slash: if enabled, typing `/' just
        after the comment-prefix of a C-style comment will close that comment.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el (c-basic-matchers-before)
        (c-complex-decl-matchers): Fix the "not-arrow-prefix" regexp used
        Enable heuristics below the point to cope with classes inside special
        brace lists in Pike.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el: Amend c-point-syntax to handle macros.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-guess.el (cc-guess-install): New function to
        install an already guessed style in another buffer.
        sets `inhibit-read-only' - `c-save-buffer-state' should be used
        anyway if the change always is undone.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        Implement togglable electricity:
  
        (c-electric-semi&comma, c-electric-colon, c-electric-paren):
        restructure a bit.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-cmds.el (c-show-syntactic-information): Show the
        anchor position(s) using faces.  Thanks to Masatake YAMATO for the idea.
        (c-subword-move-mode): Minor mode that replaces all the standard
        word handling functions with their subword equivalences.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-vars.el (c-cleanup-list): Insert a customization
        entry for one-liner-defun.
        c-max-one-liner-length.  In c-default-style, set the default style
        for AWK to "awk".
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-engine.el (c-forward-label): Fix fontification of
        macros inside labels.
        * progmodes/cc-engine.el (c-beginning-of-statement-1): Fix a
        macro related issue.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-awk.el: Change the terminology of regexps: A char
        list is now [asdf], a char class [:alpha:].
        c-string-par-start, c-string-par-separate to be more like Text
        Mode than Fundamental Mode.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el (c-font-lock-declarations): Always narrow
        to the fontified region so that fontification doesn't occur
        outside it (could happen e.g. when fontifying a line with an
        unfinished declaration).
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-awk.el: Move regexps for analyzing AWK code to near the
        start of the file.  ^L now separate sections of the file.
        * progmodes/cc-mode.el: Fix what's almost a semantic ambiguity in
        a comment.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-cmds.el (c-electric-brace): Clean up using
        `c-tentative-buffer-changes'.
        avoid some false alarms.
  
        * progmodes/cc-engine.el, progmodes/cc-langs.el (c-looking-at-inexpr-block):
 -      Fixed a situation where an error could be thrown for unbalanced
 +      Fix a situation where an error could be thrown for unbalanced
        parens.  Changed to make use of c-keyword-member' to avoid some
        repeated regexp matches.
  
  
        * progmodes/cc-defs.el (c-point): Add `bosws' and `eosws'.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el, progmodes/cc-styles.el:
        * progmodes/cc-vars.el: New variables
        * progmodes/cc-cmds.el (c-electric-brace): Don't delete a comment
        which precedes the newly inserted `{'.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-engine.el, progmodes/cc-langs.el: Rewrote the recognition
        function for declaration level blocks.  It should now cope with
        when macros occur in obscure places.  Optimized the sexp movement
        a bit.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        Enhancements for c-beginning-of-statement to work in AWK Mode:
  
  
        * progmodes/cc-mode.el: Put M-a and M-e into awk-mode-map.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-engine.el, progmodes/cc-fonts.el:
        * progmodes/cc-langs.el: Cleaned up the
  
        (c-lineup-math): Change to use `c-lineup-assignments'.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el: Fix some bugs in subfunctions of
        c-beginning-of-statement.  New subfunctions
        c-in-comment-line-prefix-p, c-narrow-to-comment-innards.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-fonts.el, progmodes/cc-langs.el: Use `c-simple-ws' instead of
        hardcoded char classes wherever possible.  Changed a couple of
        in `regexp-opt' in Emacs 20 and XEmacs when strings contain
        newlines.  Allow and ignore nil elements in the list.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el: Comment out a (n almost certainly
        superfluous) check, (eq here (point-max)) in c-beginning-of-statement.
        c-beginning-of-statement, including new variable
        c-block-comment-start-regexp.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-langs.el (c-known-type-key): Optimize simple
        symbols from `*-font-lock-extra-types' so that there's no need to
        * progmodes/cc-vars.el (c-emacs-features): Remove compatibility
        with older emacsen: We now require `pps-extended-state'.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el: New function c-beginning-of-sentence,
        which obviates the need to hack sentence-end.  This now handles
        * progmodes/cc-cmds.el: Restructure c-beginning-of-statement:
        Improve its doc-string.  Improve the handling of certain specific cases.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-engine.el, progmodes/cc-fonts.el, progmodes/cc-langs.el
        (c-guess-basic-syntax): Change the way class-level labels are
        `template-args-cont' in nested template arglists.  There's still
        much to be desired in this area, though.
  
 -2005-12-08  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-12-08  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el, progmodes/cc-engine.el:
        * progmodes/cc-langs.el, progmodes/cc-vars.el:
        Make the "Text Filling and Line Breaking" commands work for AWK buffers.
  
 -2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-12-08  Martin Stjernholm  <mast@lysator.liu.se>
  
        * progmodes/cc-defs.el, progmodes/cc-engine.el (c-mode-is-new-awk-p):
 -      Removed; (c-major-mode-is 'awk-mode) can be used instead now.
 +      Remove; (c-major-mode-is 'awk-mode) can be used instead now.
  
        * progmodes/cc-mode.el: Always set up AWK mode since emacsen where
        it doesn't work no longer are supported.
  
  2005-11-24  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * hi-lock.el (hi-lock-buffer-mode): Renamed from `hi-lock-mode'.
 +      * hi-lock.el (hi-lock-buffer-mode): Rename from `hi-lock-mode'.
        Use define-minor-mode, and make it a local mode.  Turn on font-lock.
        (hi-lock-mode): New global minor mode.
        (turn-on-hi-lock-if-enabled): New function.
        New functions.
        (org-move-item-down, org-move-item-up): New commands.
        (org-export-as-html): New classes for CSS support.  Bug fix in
 -      regular expression detecting fixed-width regions.  Respect
 -      `org-local-list-ordered-item-terminator'.
 +      regular expression detecting fixed-width regions.
 +      Respect `org-local-list-ordered-item-terminator'.
        (org-set-autofill-regexps, org-adaptive-fill-function): "1)" is
        also a list item.
        (org-metaup, org-metadown, org-shiftmetaup, org-shiftmetadown):
        (gdb-var-update-handler): Find values for all variable objects.
        (gdb-info-frames-custom): Identify frames by leading "#".
  
 -      * progmodes/gud.el (gud-speedbar-menu-items): Add
 -      gdb-speedbar-auto-raise as radio button.
 +      * progmodes/gud.el (gud-speedbar-menu-items):
 +      Add gdb-speedbar-auto-raise as radio button.
        (gud-speedbar-buttons): Raise speedbar if requested.
        Don't match on "char **...".
        (gud-speedbar-buttons): Add (pointer) value for non-leaves.
  2005-10-17  Bill Wohler  <wohler@newt.com>
  
        Move all remaining images from lisp/toolbar to etc/images, move
 -      lisp/toolbar/tool-bar to lisp and "delete" lisp/toolbar.  Place
 -      the low resolution images in their own directory (low-color).
 +      lisp/toolbar/tool-bar to lisp and "delete" lisp/toolbar.
 +      Place the low resolution images in their own directory (low-color).
  
        * toolbar/attach.*, toolbar/cancel.*, toolbar/close.*
        * toolbar/copy.*, toolbar/cut.*, toolbar/diropen.*, toolbar/exit.*
  2005-10-13  Jan Djärv  <jan.h.d@swipnet.se>
  
        * toolbar/diropen.xpm, toolbar/diropen.pbm: New versions made from
 -      Gnome file-manager.png.  Suggested by
 -      Joachim Nilsson <joachim.nilsson@vmlinux.org>.
 +      Gnome file-manager.png.
 +      Suggested by Joachim Nilsson <joachim.nilsson@vmlinux.org>.
  
        * toolbar/README: Add diropen.xpm.
  
        trailing ":".  Reported by Kurt Steinkraus <kurt@steinkraus.us>.
        (tramp-chunksize): Improve docstring.
        (tramp-set-auto-save-file-modes): Octal integer code #o600 breaks
 -      Emacs 20.  Use `tramp-octal-to-decimal' therefore.  Reported by
 -      Christian Joergensen <bugs@razor.dk>.
 +      Emacs 20.  Use `tramp-octal-to-decimal' therefore.
 +      Reported by Christian Joergensen <bugs@razor.dk>.
  
  2005-10-07  Glenn Morris  <rgm@gnu.org>
  
  
        * emulation/viper-cmd.el (viper-normalize-minor-mode-map-alist)
        (viper-refresh-mode-line): Use make-local-variable to localize
 -      some vars instead of make-variable-buffer-local.  Suggested by
 -      Stefan Monnier.
 +      some vars instead of make-variable-buffer-local.
 +      Suggested by Stefan Monnier.
  
        * emulation/viper-init.el (viper-make-variable-buffer-local):
        Delete alias.
  
        Frame management code (including timer, and mouse click specifics)
        moved to dframe.el:
 -      (speedbar-attached-frame): Removed.  Use dframe-attached-frame.
 -      (speedbar-timer): Removed.  Use dframe-timer.
 -      (speedbar-close-frame): Removed.  Use dframe-close-frame.
 -      (speedbar-activity-change-focus-flag): Removed.  Use
 -      dframe-activity-change-focus-flag.
 -      (speedbar-update-speed, speedbar-navigating-speed): Obsolete.  Use
 -      dframe-update-speed.
 +      (speedbar-attached-frame): Remove.  Use dframe-attached-frame.
 +      (speedbar-timer): Remove.  Use dframe-timer.
 +      (speedbar-close-frame): Remove.  Use dframe-close-frame.
 +      (speedbar-activity-change-focus-flag): Remove.
 +      Use dframe-activity-change-focus-flag.
 +      (speedbar-update-speed, speedbar-navigating-speed): Obsolete.
 +      Use dframe-update-speed.
  
        (speedbar-current-frame): New macro.  Use this instead of the
        variable speedbar-frame.
  
        (speedbar-use-images, speedbar-expand-image-button-alist)
 -      (speedbar-insert-image-button-maybe): Moved to sb-image.el.
 +      (speedbar-insert-image-button-maybe): Move to sb-image.el.
  
 -      (speedbar-find-image-on-load-path): Removed.  Replaced by
 +      (speedbar-find-image-on-load-path): Remove.  Replaced by
        defezimage in ezimage.el.
 -      (speedbar-expand-image-button-alist): Removed.  Replaced by
 +      (speedbar-expand-image-button-alist): Remove.  Replaced by
        ezimage-expand-image-button-alist in ezimage.el.
  
        (speedbar-ignored-directory-regexp)
        (speedbar-ignored-directory-expressions)
        (speedbar-line-directory, speedbar-buffers-line-directory)
        (speedbar-directory-line, speedbar-buffers-line-directory):
 -      Renamed, replacing `path' with `directory'.
 +      Rename, replacing `path' with `directory'.
  
        (speedbar-create-directory, speedbar-expand-line-descendants)
        (speedbar-toggle-line-expansion)
  
  2005-09-17  Milan Zamazal  <pdm@zamazal.org>
  
 -      * progmodes/glasses.el (glasses-make-readable): If
 -      glasses-separator differs from underscore, put appropriate
 +      * progmodes/glasses.el (glasses-make-readable):
 +      If glasses-separator differs from underscore, put appropriate
        overlays over underscore characters.
        (glasses-convert-to-unreadable): If glasses-separator differs from
        underscore, try to convert glasses-separator characters to
        * custom.el (custom-known-themes): Clarify meaning of "standard".
        (custom-push-theme): Save old values in the standard theme.
        (disable-theme): Correct typo.
 -      (custom-face-theme-value): Deleted unused function.
 +      (custom-face-theme-value): Delete unused function.
        (custom-theme-recalc-face): Rewritten to treat enable/disable properly.
  
  2005-09-05  Stefan Monnier  <monnier@iro.umontreal.ca>
        (antlr-font-lock-default-face, antlr-font-lock-keyword-face)
        (antlr-font-lock-syntax-face, antlr-font-lock-ruledef-face)
        (antlr-font-lock-tokendef-face, antlr-font-lock-ruleref-face)
 -      (antlr-font-lock-tokenref-face, antlr-font-lock-literal-face): New
 -      backward-compatibility aliases for renamed faces.
 +      (antlr-font-lock-tokenref-face, antlr-font-lock-literal-face):
 +      New backward-compatibility aliases for renamed faces.
        (antlr-default-face, antlr-keyword-face, antlr-syntax-face)
        (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face)
        (antlr-tokenref-face, antlr-literal-face): Variables renamed to
        remove "font-lock-".  Use renamed antlr-mode faces.
 -      (antlr-font-lock-additional-keywords): Use renamed faces.  Replace
 -      literal face-names with face variable references.
 +      (antlr-font-lock-additional-keywords): Use renamed faces.
 +      Replace literal face-names with face variable references.
  
        * buff-menu.el (Buffer-menu-buffer): Remove "-face" suffix from
        face name.
  
        * emacs-lisp/cl.el (acons, pairlis): Add docstring.
  
 -2005-05-23  Martin Stjernholm  <bug-cc-mode@gnu.org>
 +2005-05-23  Martin Stjernholm  <mast@lysator.liu.se>
  
        CC Mode update to 5.30.10:
  
        * progmodes/cc-engine.el (c-guess-basic-syntax): Fix anchoring in
        `objc-method-intro' and `objc-method-args-cont'.
  
 -2005-05-23  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2005-05-23  Alan Mackenzie  <acm@muc.de>
  
        CC Mode update to 5.30.10:
  
  
  2005-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * files.el (executable-find): Move from executable.el.  Use
 -      locate-file.
 +      * files.el (executable-find): Move from executable.el.
 +      Use locate-file.
        * progmodes/executable.el (executable-find): Move to files.el.
  
        * font-lock.el (font-lock-fontify-keywords-region): Use a marker
  
        * term/mac-win.el: Don't define or bind scroll bar functions if
        x-toolkit-scroll-bars is t.
 -      (x-select-text, x-get-selection-value): Clear
 -      x-last-selected-text-clipboard if x-select-enable-clipboard is
 +      (x-select-text, x-get-selection-value):
 +      Clear x-last-selected-text-clipboard if x-select-enable-clipboard is
        nil.
        (PRIMARY): Put mac-scrap-name property.
        (mac-select-convert-to-file-url): New function.
        Catch `dont-send' signal.
        (tramp-set-auto-save-file-modes): Set always permissions, because
        there might be an old auto-saved file belonging to another
 -      original file.  This could be a security threat.  Reported by
 -      Kjetil Kjernsmo <kjetil@kjernsmo.net>.
 +      original file.  This could be a security threat.
 +      Reported by Kjetil Kjernsmo <kjetil@kjernsmo.net>.
        Check for Emacs 21.3.50 removed.
  
        * net/tramp-smb.el (all): Remove debug construct for
  
  2005-03-07  Karl Chen  <quarl@cs.berkeley.edu>
  
 -      * align.el (align-rules-list): Added an alignment rule for CSS
 +      * align.el (align-rules-list): Add an alignment rule for CSS
        declarations (applies to css-mode and html-mode buffers).
  
  2005-03-07  Stefan Monnier  <monnier@iro.umontreal.ca>
        (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages.
  
  2005-01-24  Dan Nicolaescu  <dann@ics.uci.edu>
-             Juri Linkov  <juri@jurta.org>
+           Juri Linkov  <juri@jurta.org>
  
        * textmodes/reftex-global.el (reftex-isearch-push-state-function)
        (reftex-isearch-pop-state-function, reftex-isearch-isearch-search)
  
        * net/tramp-vc.el (tramp-vc-do-command, tramp-vc-do-command-new)
        (tramp-vc-simple-command): Call `tramp-handle-shell-command' but
 -      `shell-command', because it isn't magic in XEmacs.  Reported by
 -      Adrian Aichner <adrian@xemacs.org>.
 +      `shell-command', because it isn't magic in XEmacs.
 +      Reported by Adrian Aichner <adrian@xemacs.org>.
  
        * net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
        `substitute-in-file-name'.
diff --combined lisp/ChangeLog.14
index 3c2a7ff7ee3a280385a598d3784ec32ef0635707,0e6ee4a933ea3eed2877e408b073ed40689360f1..3ca5d716bc39b1cf98ecdb5513d163127be95519
        Don't activate node nil.  (Bug#1569)
  
  2009-01-22  Paul Reilly  <pmr@pajato.com>
-             Henrik Enberg  <enberg@printf.se>
-             Alex Schroeder  <alex@gnu.org>
-             Chong Yidong  <cyd@stupidchicken.com>
-             Richard M Stallman  <rms@gnu.org>
-             Glenn Morris  <rgm@gnu.org>
-             Juanma Barranquero  <lekktu@gmail.com>
+           Henrik Enberg  <enberg@printf.se>
+           Alex Schroeder  <alex@gnu.org>
+           Chong Yidong  <cyd@stupidchicken.com>
+           Richard M Stallman  <rms@gnu.org>
+           Glenn Morris  <rgm@gnu.org>
+           Juanma Barranquero  <lekktu@gmail.com>
  
        * mail/rmail.el: Code implementing Rmail-mbox functionality.
        (rmail-attribute-header, rmail-keyword-header)
        was orderly adjusted, nil otherwise.
  
  2008-12-12  Juanma Barranquero  <lekktu@gmail.com>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * server.el (server-sentinel): Uncomment code to delete connection file.
        (server-start): Save the connection file in the server property list.
        terminal variable assignment.
  
  2008-12-10  Yukihiro Matsumoto  <matz@ruby-lang.org>
-             Nobuyoshi Nakada  <nobu@ruby-lang.org>
+           Nobuyoshi Nakada  <nobu@ruby-lang.org>
  
        * progmodes/ruby-mode.el: New file.
  
  
        * kmacro.el (kmacro-insert-counter): Doc fix.
  
 -2008-11-21  Ivan Shmakov  <oneingray@gmail.com>  (tiny change)
 +2008-11-21  Ivan Shmakov  <oneingray@gmail.com>
  
        * progmodes/tcl.el (tcl-filter): Don't forcibly move point.
  
        New aliases, to satisfy `define-derived-mode' expectations.
  
  2008-11-15  Glenn Morris  <rgm@gnu.org>
-             Martin Rudalics  <rudalics@gmx.at>
+           Martin Rudalics  <rudalics@gmx.at>
  
        * emacs-lisp/find-func.el (find-function-advised-original): New.
        (find-function-C-source, find-function-noselect):
        (newsticker--treeview-propertize-tag): Show item title in tooltip.
  
  2008-06-20  Martin Blais  <blais@furius.ca>
-             Stefan Merten  <smerten@oekonux.de>
-             David Goodger  <goodger@python.org>
+           Stefan Merten  <smerten@oekonux.de>
+           David Goodger  <goodger@python.org>
  
        * textmodes/rst.el: New file.
  
        * term/linux.el (terminal-init-linux): Load t-mouse.
  
  2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-             Drew Adams  <drew.adams@oracle.com>
+           Drew Adams  <drew.adams@oracle.com>
  
        * info.el (Info-breadcrumbs-depth): New var.
        (Info-insert-breadcrumbs): New function.
        for useful options.
  
  2008-03-01  Dan Nicolaescu  <dann@ics.uci.edu>
-             Glenn Morris  <rgm@gnu.org>
+           Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/bytecomp.el (byte-recompile-directory)
        (byte-compile-file, batch-byte-compile, batch-byte-compile-file):
diff --combined lisp/ChangeLog.15
index 9c793ff4615b12cedb61e929bc9b29bb2e2cda73,892276783e90a5e8b461fa31d138d5c47f33f12f..7589061c70be407a758b6c7ba90739a0125fb6d9
        (global-auto-revert-ignore-buffer): Remove leading "*" from docs.
  
  2011-02-19  Dmitry Bolshakov  <dmitry.bolshakov@bridge-quest.com>
-             Dima Kogan  <dkogan@cds.caltech.edu>  (tiny change)
+           Dima Kogan  <dkogan@cds.caltech.edu>  (tiny change)
  
        * progmodes/hideshow.el (hs-find-block-beginning)
        (hs-hide-level-recursive): Ignore comments when parsing braces
        * loadup.el (symbol-file-load-history-loaded): Remove; unused.
  
  2010-12-15  Jari Aalto  <jari.aalto@cante.net>
-             Scott Evans  <gse@antisleep.com>
+           Scott Evans  <gse@antisleep.com>
  
        * rect.el (rectange--default-line-number-format)
        (rectangle-number-line-callback): New functions.
        * iswitchb.el (iswitchb-kill-buffer): Re-make the list.
  
  2010-08-22  Kirk Kelsey  <kirk.kelsey@0x4b.net>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/make-mode.el (makefile-fill-paragraph): Account for the
        extra backslash added to each line (bug#6890).
        * tutorial.el (help-with-tutorial): Hack safe file-local variables
        after reading the tutorial.
  
 -2010-08-06  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2010-08-06  Alan Mackenzie  <acm@muc.de>
  
        * progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph):
        Fix for the case that a C style comment has its delimiters alone on
        (sql-mode-menu): Add submenu to select connections.
        (sql-interactive-mode-menu): Add "Save Connection" item.
        (sql-add-product): Fix menu item.
 -      (sql-get-product-feature): Improved error handling.
 +      (sql-get-product-feature): Improve error handling.
        (sql--alt-buffer-part, sql--alt-if-not-empty): Remove.
 -      (sql-make-alternate-buffer-name): Simplified.
 +      (sql-make-alternate-buffer-name): Simplify.
        (sql-product-interactive): Handle missing product.
        (sql-connect): Support string keys, minor improvements.
        (sql-save-connection): New function.
        (sql-connection-alist): New variable.
        (sql-connect): New function.
        (sql--alt-buffer-part, sql--alt-if-not-empty)
 -      (sql-make-alternate-buffer-name): Improved alternative buffer name.
 +      (sql-make-alternate-buffer-name): Improve alternative buffer name.
  
  2010-07-17  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
  
        another buffer (e.g gnus-art).
  
  2010-07-13  Karl Fogel  <kfogel@red-bean.com>
-             Thierry Volpiatto  <thierry.volpiatto@gmail.com>
+           Thierry Volpiatto  <thierry.volpiatto@gmail.com>
  
        Preparation for setting bookmarks in Gnus article buffers (Bug#5975).
  
        `compose-mail-user-agent-warnings', instead of to the
        nonexistent `compose-mail-check-user-agent'.
  
 -2010-06-21  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2010-06-21  Alan Mackenzie  <acm@muc.de>
  
        Fix an indentation bug:
  
        of existing values.
  
        * progmodes/cc-engine.el (c-clear-<-pair-props-if-match-after)
 -      (c-clear->-pair-props-if-match-before): now return t when they've
 +      (c-clear->-pair-props-if-match-before): Now return t when they've
        cleared properties, nil otherwise.
        (c-before-change-check-<>-operators): Set c-new-beg/end correctly
        by taking account of the existing value.
        (rcirc-user-name-history): Add variable.
  
  2010-05-25  Ryan Yeske  <rcyeske@gmail.com>
-             Jonathan Rockway  <jon@jrock.us>
+           Jonathan Rockway  <jon@jrock.us>
  
        * net/rcirc.el (rcirc-server-alist): Add :pass.
        (rcirc): When prompting for connection parameters, also prompt for
        * Version 23.2 released.
  
  2010-05-07  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Highlight vendor specific properties.
        * textmodes/css-mode.el (css-proprietary-nmstart-re): New var.
        (filter-buffer-substring): Use it.  Remove unused arg `noprops'.
  
  2010-05-01  Toru TSUNEYOSHI  <t_tuneyosi@hotmail.com>
-             Michael Albinus  <michael.albinus@gmx.de>
+           Michael Albinus  <michael.albinus@gmx.de>
  
        Implement compression for inline methods.
  
        values.
  
  2010-03-29  Phil Hagelberg  <phil@evri.com>
-             Chong Yidong  <cyd@stupidchicken.com>
+           Chong Yidong  <cyd@stupidchicken.com>
  
        * subr.el: Extend progress reporters to perform "spinning".
        (progress-reporter-update, progress-reporter-do-update):
        * Makefile.in (ELCFILES): Adapt to subword.el move.
  
  2009-11-21  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * bookmark.el (bookmark-bmenu-bookmark-column): Remove var.
        (bookmark-bmenu-list): Save name on `bookmark-name-prop' text-prop.
        indent buffer only if called interactively (Bug#4452).
  
  2009-09-19  Juanma Barranquero  <lekktu@gmail.com>
-             Eli Zaretskii  <eliz@gnu.org>
+           Eli Zaretskii  <eliz@gnu.org>
  
        This fixes bug#4197 (merged to bug#865, though not identical).
        * server.el (server-auth-dir): Add docstring note about FAT32.
        Don't call substitute-in-file-name on diary-file.
  
  2009-09-03  Eduard Wiebe  <usenet@pusto.de>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mail/footnote.el (footnote-prefix): Make it a defcustom.
        (footnote-mode-map): Move initialization into the declaration.
        * progmodes/hideshow.el (hs-special-modes-alist): Add js-mode entry.
  
  2009-08-14  Daniel Colascione  <dan.colascione@gmail.com>
-             Karl Landstrom  <karl.landstrom@brgeight.se>
+           Karl Landstrom  <karl.landstrom@brgeight.se>
  
        * progmodes/js.el: New file.
  
        XZ is the successor to LZMA: <http://tukaani.org/xz/>
  
  2009-06-22  Dmitry Dzhus  <dima@sphinx.net.ru>
-             Nick Roberts  <nickrob@snap.net.nz>
+           Nick Roberts  <nickrob@snap.net.nz>
  
        * progmodes/gdb-mi.el: Pull further modified changes from Dmitry's
        repository (http://sphinx.net.ru/hg/gdb-mi/).
diff --combined lisp/ChangeLog.16
index 42f3a3be66f50cd67388895a42c8cab9fc33de23,728a04e8914596afd8b8594ea56786fc8e63a6ee..065568470626e72928c129b823309b9a12877997
        already registered with a different backend (Bug#10589).
  
  2012-11-29  Jambunathan K  <kjambunathan@gmail.com>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * icomplete.el: Change separator; add ido-style commands.
        (icomplete-show-key-bindings): Remove custom var.
        to `bookmark' (bug#11131).
  
  2012-10-26  Bastien Guerry  <bzg@altern.org>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * face-remap.el: Use lexical-binding.
        (text-scale-adjust): Improve docstring.  Use itself for the temporary
        (w32-handle-dropped-file): Convert incoming dropped files from
        Windows paths to Cygwin ones before passing them on to the rest of
        Emacs.
 -      (w32-drag-n-drop): New paramter new-frame.  Simplify logic.
 +      (w32-drag-n-drop): New parameter new-frame.  Simplify logic.
        (w32-initialize-window-system): Assert we're not initialized twice.
  
        * term/x-win.el: Require cl-lib; add ourselves to display-format-alist.
        * international/uni-numeric.el: Regenerate.
  
  2012-09-26  Tomohiro Matsuyama  <tomo@cx4a.org>
-             Stefan Monnier  <monnier@iro.umontreal.ca>
+           Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * profiler.el: New file.
  
        In doc-strings state whether the argument window has to denote a
        live, valid or any window.
  
 -2012-08-16  Phil Sainty  <psainty@orcon.net.nz>  (tiny change)
 +2012-08-16  Phil Sainty  <psainty@orcon.net.nz>
  
        * progmodes/subword.el (subword-forward-function)
        (subword-backward-function, subword-forward-regexp)
        * vc/ediff-init.el (ediff-toggle-read-only-function):
        Use toggle-read-only.
  
 -2011-10-22  Alan Mackenzie  <bug-cc-mode@gnu.org>
 +2011-10-22  Alan Mackenzie  <acm@muc.de>
  
        Fix bug #9560, sporadic wrong indentation; improve instrumentation
        of c-parse-state.
diff --combined lisp/ChangeLog.7
index 093f467163ca80bc25016526615644df70e06412,5ad9ba9e774b47faf231a06fbe8bfbfe6a9df440..7c55397028622cbea46e1f14c9ee6a2652c3b396
  
        * speedbar.el (speedbar-timer-fn): Disable updating if the frame
        is an icon, or if the user is using the minibuffer.
 -      (speedbar-key-map): Added Q binding to destroy the frame.
 -      (speedbar-easymenu-definition-trailer): Added Quit item.
 +      (speedbar-key-map): Add Q binding to destroy the frame.
 +      (speedbar-easymenu-definition-trailer): Add Quit item.
        (speedbar-frame-mode): Set the frame position at creation time.
 -      (speedbar-file-unshown-regexp): Added .# lock files.
 +      (speedbar-file-unshown-regexp): Add .# lock files.
  
  1998-08-18  Kenichi Handa  <handa@etl.go.jp>
  
@@@ -56,8 -56,8 +56,8 @@@
  
  1998-08-17  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/mule-cmds.el (set-language-environment): Reset
 -      syntax and case table to the defaults if the value of
 +      * international/mule-cmds.el (set-language-environment):
 +      Reset syntax and case table to the defaults if the value of
        unibyte-syntax key is nil.
  
  1998-08-16  Richard Stallman  <rms@psilocin.ai.mit.edu>
@@@ -86,8 -86,8 +86,8 @@@
  
        * international/mule-cmds.el (language-info-alist): Doc-string
        modified.
 -      (set-language-info-alist): Fix typo in doc-string.  Update
 -      setup-language-environment-map unconditionally.
 +      (set-language-info-alist): Fix typo in doc-string.
 +      Update setup-language-environment-map unconditionally.
        (mule-keymap): Key bindings for set-selection-coding-system and
        set-next-selection-coding-system.
        (set-coding-system-map): Add items of set-selection-coding-system
  
  1998-08-14  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  
 -      * international/mule-cmds.el (select-safe-coding-system): If
 -      default-coding-system is no-conversion return that, it is always
 +      * international/mule-cmds.el (select-safe-coding-system):
 +      If default-coding-system is no-conversion return that, it is always
        safe.
  
  1998-08-13  Eric Ludlam  <zappo@mescaline.gnu.org>
  
 -      * speedbar.el (speedbar-frame-parameters): Removed scroll-bar-width.
 +      * speedbar.el (speedbar-frame-parameters): Remove scroll-bar-width.
  
  1998-08-13  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  
        * dired-aux.el (dired-do-rename-regexp): Doc fix.
  
 -      * midnight.el (midnight-float-time): Renamed from float-time.
 -      (midnight-time-float): Renamed from time-float.
 -      (midnight-buffer-display-time): Renamed from buffer-display-time.
 +      * midnight.el (midnight-float-time): Rename from float-time.
 +      (midnight-time-float): Rename from time-float.
 +      (midnight-buffer-display-time): Rename from buffer-display-time.
        (midnight-mode): Specify :initialize.  Use nil as default value.
  
        * complete.el (PC-do-completion): Exclude ./ and ../ from completion.
        (read-language-name): Handle the case that the arg KEY is nil.
        (describe-language-environment): Handle input-method property.
  
 -      * international/quail.el (quail-start-translation): If
 -      enable-multibyte-characters is nil, convert multibyte character to
 +      * international/quail.el (quail-start-translation):
 +      If enable-multibyte-characters is nil, convert multibyte character to
        unibyte.
        (quail-start-conversion): Likewise.
  
        * language/: All files under this directory modified as below.
 -      (setup-XXX-environment): Just call set-language-environment.  If
 -      they used to do some other jobs than what done by
 +      (setup-XXX-environment): Just call set-language-environment.
 +      If they used to do some other jobs than what done by
        set-language-environment, those jobs are done in
        setup-XXX-environment-internal now.
        ("LANGUAGE-ENVIRONMENT"): Delete property setup-function or change
  1998-08-08  Eric M. Ludlam  <zappo@ultranet.com>
  
        * speedbar.el (speedbar-edit-line, speedbar-buffer-kill-buffer)
 -      (speedbar-buffer-revert-buffer): Updated buffer finding regex to
 +      (speedbar-buffer-revert-buffer): Update buffer finding regex to
        handle the [?] tag.
        (speedbar-find-selected-file): New function.
        (speedbar-clear-current-file): Uses `speedbar-find-selected-file'.
        (quail-start-translation): Handle the case the arg KEY is nil.
        Bind echo-keystrokes and help-char.  Initialize quail-current-str
        to "".  If input-method-use-echo-area is non-nil, call
 -      read-key-sequence with appropriate PROMPT arg.  Setup
 -      last-command-event by local variable `keyseq'.  Generate an event
 +      read-key-sequence with appropriate PROMPT arg.
 +      Setup last-command-event by local variable `keyseq'.  Generate an event
        list form quail-current-str.  If input-method-exit-on-first-char
        is non-nil, return only the first event.
 -      (quail-start-conversion): Likewise.  Initialize
 -      quail-conversion-str to "".  Generate an event list form
 +      (quail-start-conversion): Likewise.
 +      Initialize quail-conversion-str to "".  Generate an event list form
        quail-conversion-str.
        (quail-update-translation): Expect that the function given by
        (quail-update-translation-function) returns a new control-flag.
 -      Handle the case the length of quail-current-key is 1.  Use
 -      string-as-unibyte if enable-multibyte-characters is nil.  Always
 -      assures that quail-current-str is Lisp string.
 +      Handle the case the length of quail-current-key is 1.
 +      Use string-as-unibyte if enable-multibyte-characters is nil.
 +      Always assures that quail-current-str is Lisp string.
        (quail-self-insert-command): Use `or' instead of `unless'.
        (quail-update-current-translations): Always assures that
        quail-current-str is Lisp string.
  
  1998-08-04  Eric Ludlam  <zappo@mescaline.gnu.org>
  
 -      * speedbar.el (speedbar-refresh): Removed special code to remove
 +      * speedbar.el (speedbar-refresh): Remove special code to remove
        the speedbar update message.  Not necessary here.
        (speedbar-timer-fn): Add code to remove the updating message and
        thus restore the minibuffer.
 -      (speedbar-center-buffer-smartly): Fixed center error to handle
 +      (speedbar-center-buffer-smartly): Fix center error to handle
        the whole buffer.
        (speedbar-delete-subblock): Rewrote to be more robust, less clever.
 -      (speedbar-timer-fn): Removed short display time for messages.
 +      (speedbar-timer-fn): Remove short display time for messages.
  
  1998-08-04  Dave Love  <d.love@dl.ac.uk>
  
  
  1998-08-04  Eli Zaretskii  <eliz@delysid.gnu.org>
  
 -      * international/mule.el (find-new-buffer-file-coding-system): When
 -      inhibit-eol-conversion is non-nil and the buffer didn't already
 +      * international/mule.el (find-new-buffer-file-coding-system):
 +      When inhibit-eol-conversion is non-nil and the buffer didn't already
        set a fully-qualified coding system, force -unix eol-type.
  
  1998-08-04  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  1998-08-03  Eric Ludlam  <zappo@mescaline.gnu.org>
  
 -      * info.el (Info-speedbar-hierarchy-buttons): Improved the speedbar
 +      * info.el (Info-speedbar-hierarchy-buttons): Improve the speedbar
        frame management.
  
 -      * speedbar.el (speedbar-update-current-file): Added call to
 +      * speedbar.el (speedbar-update-current-file): Add call to
        `speedbar-center-buffer-smartly' to improve the display.
        (speedbar-center-buffer-smartly) Fixed off-by-one error in window
        height calculation.
        (speedbar-hack-buffer-menu): New function.
 -      (speedbar-frame-parameters): Removed scroll bar width.
 +      (speedbar-frame-parameters): Remove scroll bar width.
        (speedbar-frame-mode): Change pointer shape for X
        and W32 window-systems only.  When window-system is pc, bind the
        speedbar frame name to "Speedbar", and select that frame so it is
        (speedbar-directory-buttons-follow): Support both upper- and
        lower-case drive letters.  Use directory-sep-char instead of a
        literal backslash.
 -      (speedbar-reconfigure-keymaps): Call
 -      `easy-menu-remove' before reconfiguring for a new menu bar.
 +      (speedbar-reconfigure-keymaps):
 +      Call `easy-menu-remove' before reconfiguring for a new menu bar.
        (speedbar-previous-menu): New Variable.
        (speedbar-frame-plist): Remove pointers.
        (speedbar-refresh): Prevent the mark from being deactivated.
  
        * international/kkc.el (kkc-lookup-cache): Initialize it to nil.
        (kkc-lookup-cache-tag): New constant.
 -      (kkc-lookup-key): If kkc-lookup-cache is nil, initialize it.  Use
 -      kkc-init-file-name.
 +      (kkc-lookup-key): If kkc-lookup-cache is nil, initialize it.
 +      Use kkc-init-file-name.
        (kkc-region): Fix previous change.  Call kkc-error on error.
        (kkc-shorter-conversion, kkc-longer-phrase): New functions.
        (kkc-keymap): Bind them to "I" and "O" respectively.
        * language/cyril-util.el (cyrillic-encode-koi8-r-char): New function.
        (cyrillic-encode-alternativnyj-char): New function.
  
 -      * language/cyrillic.el (cyrillic-koi8-r-decode-table): New
 -      variable.
 +      * language/cyrillic.el (cyrillic-koi8-r-decode-table):
 +      New variable.
        (cyrillic-koi8-r-encode-table): Likewise.
        (ccl-decode-koi8): Use cyrillic-koi8-r-decode-table.
        (ccl-encode-koi8): Use cyrillic-koi8-r-encode-table.
        charset-origin-alist properties.
        (cyrillic-alternativnyj-decode-table): New variable.
        (cyrillic-alternativnyj-encode-table): Likewise.
 -      (ccl-decode-alternativnyj): Use
 -      cyrillic-alternativnyj-decode-table.
 -      (ccl-encode-alternativnyj): Use
 -      cyrillic-alternativnyj-encode-table.
 +      (ccl-decode-alternativnyj):
 +      Use cyrillic-alternativnyj-decode-table.
 +      (ccl-encode-alternativnyj):
 +      Use cyrillic-alternativnyj-encode-table.
        (ccl-encode-alternativnyj-font): Likewise.
        (cyrillic-alternativnyj-nonascii-translation-table): New variable.
        ("Cyrillic-ALT"): Add nonascii-translation-table and
        * emacs-lisp/cl-indent.el (lisp-indent-defun-method): New variable.
        (common-lisp-indent-function): Use it.
        (lisp-indent-259): Uncomment the `&lambda' code.
 -      (top-level let): Remove duplicate `catch' and `block'.  Use
 -      `&lambda' when appropriate.  Now the lambda lists are indented
 +      (top-level let): Remove duplicate `catch' and `block'.
 +      Use `&lambda' when appropriate.  Now the lambda lists are indented
        appropriately.
  
  1998-07-30  Richard Stallman  <rms@psilocin.ai.mit.edu>
  1998-07-27  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        * textmodes/flyspell.el (flyspell-emacs-popup):
 -      Renamed from flyspell-gnuemacs-popup.  Callers changed.
 +      Rename from flyspell-gnuemacs-popup.  Callers changed.
        (push): Macro deleted.  Callers changed to do it explicitly.
        (flyspell-incorrect-face, flyspell-duplicate-face): Use defface.
        (flyspell-incorrect-color): Variable deleted.
        (flyspell-underline-p): Variable deleted.
        (flyspell-font-lock-make-face): Function deleted.
        (flyspell-mark-duplications-flag):
 -      Renamed from flyspell-doublon-as-error-flag.
 +      Rename from flyspell-doublon-as-error-flag.
        (flyspell-mode-on): Delete the debugging message.
        (flyspell-mode-off): Delete the debugging message.
        (flyspell-mode-on): Set flyspell-generic-check-word-p
  1998-07-25  Kenichi Handa  <handa@etl.go.jp>
  
        * international/mule.el (auto-coding-alist): New variable.
 -      (set-auto-coding): Argument FILENAME is added.  Check
 -      auto-coding-alist at first.
 +      (set-auto-coding): Argument FILENAME is added.
 +      Check auto-coding-alist at first.
  
        * international/kkc.el (kkc-region): Unwind-protect the conversion
        process.
        (kkc-show-conversion-list-update): Pay attention to the length of
        kkc-show-conversion-list-index-chars.
  
 -      * international/mule-cmds.el (find-multibyte-characters): New
 -      function.
 +      * international/mule-cmds.el (find-multibyte-characters):
 +      New function.
        (select-safe-coding-system): Highlight characters which can't be
        encoded.  Show list of such characters also in *Warning* buffer.
  
        (crisp-last-last-command): Doc fix.
        (mark-something): Function deleted.
        (crisp-mark-line): Avoid using mark-something.
 -      (crisp-region-active): Renamed from region-active.
 -      (crisp-set-clipboard): Renamed from copy-primary-selection.
 -      (crisp-kill-region): Renamed from kill-primary-selection.
 -      (crisp-yank-clipboard): Renamed from yank-clipboard-selection.
 +      (crisp-region-active): Rename from region-active.
 +      (crisp-set-clipboard): Rename from copy-primary-selection.
 +      (crisp-kill-region): Rename from kill-primary-selection.
 +      (crisp-yank-clipboard): Rename from yank-clipboard-selection.
  
        * files.el (basic-save-buffer-2): New function.
        (basic-save-buffer-1): Use basic-save-buffer-2,
  
  1998-07-23  Ken'ichi Handa  <handa@melange.gnu.org>
  
 -      * international/quail.el (quail-start-translation): Call
 -      this-single-command-raw-keys instead of this-single-command-keys.
 +      * international/quail.el (quail-start-translation):
 +      Call this-single-command-raw-keys instead of this-single-command-keys.
        (quail-start-conversion): Likewise.
  
  1998-07-23  Kenichi Handa  <handa@etl.go.jp>
        not isearch-printing-char, don't read multibyte chars from
        minibuffer, but just call isearch-process-search-char.
  
 -      * international/quail.el (quail-start-translation): Use
 -      this-single-command-keys to get raw events instead of
 +      * international/quail.el (quail-start-translation):
 +      Use this-single-command-keys to get raw events instead of
        listify-key-sequence.
        (quail-start-conversion): Likewise.
  
        (imenu-extract-index-name-function, imenu-default-goto-function)
        (imenu-sort-function, imenu-prev-index-position-function): Likewise.
  
 -      * ange-ftp.el (ange-ftp-reread-dir): Renamed from `re-read'.
 +      * ange-ftp.el (ange-ftp-reread-dir): Rename from `re-read'.
        Old name defined as alias.  Doc fix.
  
  1998-07-21  Kenichi Handa  <handa@etl.go.jp>
        (kkc-terminate): Update kkc-overlay-head correctly.
        (kkc-cancel): Don't call kkc-terminate, but set kkc-converting to nil.
  
 -      * international/quail.el (quail-simple-translation-keymap): Typo
 -      in doc-string fixed.
 +      * international/quail.el (quail-simple-translation-keymap):
 +      Typo in doc-string fixed.
        (quail-start-translation): Check start position of quail-overlay
        before calling quail-overlay-region-events.
        (quail-start-conversion): Likewise.
  
        * isearch.el (isearch-input-method-function): New variable.
        (isearch-input-method-local-p): New variable.
 -      (isearch-mode): Setup the above two variable.  Set
 -      input-method-function to nil locally.
 +      (isearch-mode): Setup the above two variable.
 +      Set input-method-function to nil locally.
        (isearch-done): Restore the previous value of
        input-method-function.
  
        * international/kkc.el (kkc-region): Fix the return value.
  
        * international/isearch-x.el
 -      (isearch-toggle-specified-input-method): Adjusted for the change
 +      (isearch-toggle-specified-input-method): Adjust for the change
        in isearch.el.
        (isearch-toggle-input-method): Likewise.
        (isearch-minibuffer-local-map): New variable.
        characters from minibuffer with the keymap
        isearch-minibuffer-local-map.
  
 -      * international/mule-cmds.el (read-multilingual-string): Don't
 -      activate an input method in the current buffer, but just bind
 +      * international/mule-cmds.el (read-multilingual-string):
 +      Don't activate an input method in the current buffer, but just bind
        current-input-method.
  
        * language/japan-util.el (japanese-replace-region): New function.
  
  1998-07-17  Simon Marshall  <simon@gnu.org>
  
 -      * lazy-lock.el (lazy-lock-fontify-after-visage): Renamed from
 +      * lazy-lock.el (lazy-lock-fontify-after-visage): Rename from
        lazy-lock-fontify-after-outline.
        (lazy-lock-install-hooks): Add it to hs-hide-hook too.
        (lazy-lock-unstall): Remove it from hs-hide-hook too.
  
        * international/kkc.el (kkc-show-conversion-list-index-chars):
        Default value changed.
 -      (kkc-keymap): Renamed from kkc-mode-map.  Key binding for
 +      (kkc-keymap): Rename from kkc-mode-map.  Key binding for
        kkc-non-kkc-command are deleted.
        (kkc-mode): This function deleted.
        (kkc-canceled): This variable deleted.
        (kkc-converting): New variable.
        (kkc-region): 3rd optional arg is deleted.  Completely rewritten
        to adjust for the change in quail.el.
 -      (kkc-terminate, kkc-cancel): Adjusted for the change of
 +      (kkc-terminate, kkc-cancel): Adjust for the change of
        kkc-region.
        (kkc-non-kkc-command): This function deleted.
        (kkc-select-from-list): Use last-input-event instead of
        (quail-current-str, quail-current-translations): Likewise.
        (quail-reset-conversion-region): This variable deleted.
        (quail-use-package): Call quail-activate at the tail.
 -      (quail-translation-keymap, quail-simple-translation-keymap): Key
 -      bindings for quail-execute-non-quail-command deleted.
 +      (quail-translation-keymap, quail-simple-translation-keymap):
 +      Key bindings for quail-execute-non-quail-command deleted.
        (quail-conversion-keymap): Likewise.  Add key bindings for
        quail-self-insert-command.
        (quail-delete-overlays): Check overlay-start for overlays before
        deleting them.
        (quail-mode): This function deleted.
        (quail-inactivate, quail-activate): New functions.
 -      (quail-saved-current-map, quail-saved-current-buffer): These
 -      variables deleted.
 +      (quail-saved-current-map, quail-saved-current-buffer):
 +      These variables deleted.
        (quail-toggle-mode-temporarily, quail-execute-non-quail-command):
        These functions deleted.
        (quail-exit-conversion-mode, quail-prefix-arg): These variables
        (quail-start-conversion): New function.
        (quail-terminate-translation): Just set quail-translating to nil.
        (quail-update-translation): Put some events back to
 -      unread-input-method-events instead of unread-command-events.  Call
 -      quail-error instead of error.
 -      (quail-self-insert-command): Adjusted for the change of
 +      unread-input-method-events instead of unread-command-events.
 +      Call quail-error instead of error.
 +      (quail-self-insert-command): Adjust for the change of
        quail-start-translation.
        (quail-next-translation): Don't call
        quail-execute-non-quail-command, instead, put an event back of
        (crisp-mode-map): Make this a sparse keymap parented from
        current-global-map.
        (crisp-mode-original-keymap): Don't copy the keymap.
 -      (crisp-last-last-command): Renamed from last-last-command.  defvar it.
 +      (crisp-last-last-command): Rename from last-last-command.  defvar it.
        (crisp-mode): Honor ARG.
  
        (crisp-kill-line, crisp-copy-line): When a region isn't highlighted,
  1998-07-12  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        * international/mule.el (set-selection-coding-system):
 -      Renamed from set-clipboard-coding-system.
 +      Rename from set-clipboard-coding-system.
        Set the variable's new name, selection-coding-system.
  
        * mail/rmailout.el (rmail-output-to-rmail-file):
  
        * speedbspec.el: Deleted; now integrated into speedbar.el.
        * speedbar.el: More commentary.
 -      (speedbar-xemacsp): Moved definition.
 -      (speedbar-initial-expansion-mode-list): Was
 -      `speedbar-initial-expansion-list' and now has multiple modes.
 +      (speedbar-xemacsp): Move definition.
 +      (speedbar-initial-expansion-mode-list):
 +      Was `speedbar-initial-expansion-list' and now has multiple modes.
        (speedbar-stealthy-function-list): Now has mode labels.
        (speedbar-initial-expansion-list-name)
        (speedbar-previously-used-expansion-list-name)
        (speedbar-tag-hierarchy-method, speedbar-tag-split-minimum-length)
        (speedbar-tag-regroup-maximum-length)
        (speedbar-hide-button-brackets-flag): New variables.
 -      (speedbar-special-mode-expansion-list): Updated documentation.
 +      (speedbar-special-mode-expansion-list): Update documentation.
        (speedbar-navigating-speed, speedbar-update-speed): Phasing out.
 -      (speedbar-vc-indicator): Removed space from this var.
 +      (speedbar-vc-indicator): Remove space from this var.
        (speedbar-indicator-separator, speedbar-obj-do-check)
        (speedbar-obj-to-do-point, speedbar-obj-indicator, speedbar-obj-alist)
        (speedbar-indicator-regex): New variables.
        (speedbar-directory-unshown-regexp): New variable.
 -      (speedbar-supported-extension-expressions): Added more extensions.
 +      (speedbar-supported-extension-expressions): Add more extensions.
        (speedbar-add-supported-extension)
        (speedbar-add-ignored-path-regexp): Made interactive.
        (speedbar-update-flag): Nil w/ no window system.
 -      (speedbar-file-key-map): Moved some key bindings from
 +      (speedbar-file-key-map): Move some key bindings from
        `speedbar-key-map' to this map.
        (speedbar-make-specialized-keymap): New function.
        (speedbar-file-key-map): New key map.
 -      (speedbar-easymenu-definition-special): Updated to new functions.
 -      (speedbar-easymenu-definition-trailer): Changed conditional part.
 -      (speedbar-frame-mode): Removed commented code, fixed W32 cursor
 +      (speedbar-easymenu-definition-special): Update to new functions.
 +      (speedbar-easymenu-definition-trailer): Change conditional part.
 +      (speedbar-frame-mode): Remove commented code, fixed W32 cursor
        bug, Updated to better handle terminal frames.
        (speedbar-switch-buffer-attached-frame): New function.
 -      (speedbar-mode): Updated documentation, no local keymap,
 +      (speedbar-mode): Update documentation, no local keymap,
        correct `temp-buffer-show-function' use, enable mouse-tracking.
        (speedbar-show-info-under-mouse): New function.
        (speedbar-reconfigure-keymaps): Was `speedbar-reconfigure-menubar'.
        (speedbar-restricted-move, speedbar-restricted-next)
        (speedbar-restricted-prev, speedbar-navigate-list)
        (speedbar-forward-list, speedbar-backward-list): New commands.
 -      (speedbar-refresh): Updated message printing & verbosity.
 -      (speedbar-item-load): Updated message.
 -      (speedbar-item-byte-compile): Updated doc & reset scanners.
 +      (speedbar-refresh): Update message printing & verbosity.
 +      (speedbar-item-load): Update message.
 +      (speedbar-item-byte-compile): Update doc & reset scanners.
        (speedbar-item-info): Overhauled with more details.
        (speedbar-item-copy): Update messages.
        (speedbar-generic-item-info): New function.
  
        * mail/rmail.el: No longer depends on speedbspec for byte compile.
        (rmail-speedbar-match-folder-regexp): New variable.
 -      (rmail-speedbar-menu-items): Updated speedbar menu items.
 +      (rmail-speedbar-menu-items): Update speedbar menu items.
        (rmail-speedbar-key-map): New keymap.
        (rmail-install-speedbar-variables): New function.
        Install speedbar keymap only when speedbar is loaded.
        * gud.el (gud-speedbar-key-map): New variable.
        (gud-install-speedbar-variables): New function
        Install speedbar keymap only when speedbar is loaded.
 -      (gud-gdb-get-stackframe): Added ":" to regex for c++.
 +      (gud-gdb-get-stackframe): Add ":" to regex for c++.
  
  1998-07-09  Sam Steingold  <sds@usa.net>
  
        * emacs-lisp/cl-indent.el: Indent `handler-case' correctly.
 -      * font-lock.el (lisp-font-lock-keywords): Fontify
 -      `handler-case', `ccase', `ctypecase', `assert', `error'.
 +      * font-lock.el (lisp-font-lock-keywords):
 +      Fontify `handler-case', `ccase', `ctypecase', `assert', `error'.
  
  1998-07-09  Andrew Innes  <andrewi@harlequin.co.uk>
  
  
  1998-07-05  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
 -      * mail/mail-utils.el (rmail-dont-reply-to): Understand
 -      about doublequotes; don't be fooled by commas inside them.
 +      * mail/mail-utils.el (rmail-dont-reply-to):
 +      Understand about doublequotes; don't be fooled by commas inside them.
  
  1998-07-04  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  
  1998-07-03  Espen Skoglund  <espensk@stud.cs.uit.no>
  
 -      * pascal.el (pascal-insert-block): Fixed space-deletion bug in
 +      * pascal.el (pascal-insert-block): Fix space-deletion bug in
        front of the "begin" string.
        (pascal-beg-of-defun): Used to locate the beginning of a function
        incorrectly when a function contained several begin-end blocks.
        * dos-vars.el (dos-printer): Obsolete variable deleted.
        (dos-ps-printer): Likewise.
  
 -      * dos-w32.el (direct-print-region-function): Renamed from
 +      * dos-w32.el (direct-print-region-function): Rename from
        dos-print-region-function.  Added &rest keyword.
        (print-region-function): Set to direct-print-region-function.
        (lpr-headers-switches): Initialize.
  
  1998-07-03  Eric Ludlam  <zappo@mescaline.gnu.org>
  
 -      * emacs-lisp/checkdoc.el (checkdoc): Updated commentary.
 -      (checkdoc-autofix-flag): Updated doc.
 -      (checkdoc-force-docstrings-flag): Updated doc.
 +      * emacs-lisp/checkdoc.el (checkdoc): Update commentary.
 +      (checkdoc-autofix-flag): Update doc.
 +      (checkdoc-force-docstrings-flag): Update doc.
        (checkdoc-force-history-flag): New flag.
 -      (checkdoc-triple-semi-comment-check-flag): Fixed name.
 -      (checkdoc-spellcheck-documentation-flag): Fixed doc.
 +      (checkdoc-triple-semi-comment-check-flag): Fix name.
 +      (checkdoc-spellcheck-documentation-flag): Fix doc.
        (checkdoc-ispell-lisp-words): Update default value.
        (checkdoc-generate-compile-warnings-flag, checkdoc-proper-noun-list)
        (checkdoc-proper-noun-regexp, checkdoc-symbol-words): New variables.
        Cursor now sits next to the error, forcing scrolling if needed,
        and using a better centering algorithm, and much better error
        navigation after choosing "f"ix.
 -      (checkdoc-next-error): Added parameter ENABLE-FIX.
 +      (checkdoc-next-error): Add parameter ENABLE-FIX.
        (checkdoc-next-message-error, checkdoc-recursive-edit): New functions.
        (checkdoc-start): Was `checkdoc', uses new note taking system.
        (checkdoc-current-buffer, checkdoc-continue, checkdoc-comments):
 -      Updated to use new note taking system.
 +      Update to use new note taking system.
        (checkdoc-rogue-spaces, checkdoc-rogue-space-check-engine):
 -      Added INTERACT parameter, uses new warnings functions.
 +      Add INTERACT parameter, uses new warnings functions.
        (checkdoc-message-text, checkdoc-defun):
 -      Updated to use new note taking system.
 +      Update to use new note taking system.
        (checkdoc-ispell-current-buffer, checkdoc-ispell-interactive): Fix doc.
        (checkdoc-ispell-message-text, checkdoc-ispell-start): New function.
        (checkdoc-create-error, checkdoc-error-text, checkdoc-error-start)
        (checkdoc-error-end, checkdoc-error-unfixable): New functions.
 -      (checkdoc-minor-keymap): Updated keybinds to new interactive functions,
 +      (checkdoc-minor-keymap): Update keybinds to new interactive functions,
        completely re-arranged the minor-mode menu.
 -      (checkdoc-this-string-valid): Moved no doc-string warning here,
 +      (checkdoc-this-string-valid): Move no doc-string warning here,
        and added autofix if a comment already exists there.
        (checkdoc-this-string-valid-engine): Fix doc, robusted doc finder.
        All previously returned errors now call `checkdoc-create-error'.
        for history and commentary.  All previously returned errors now call
        `checkdoc-create-error'.  Message spelling and format.
        (checkdoc-message-text-search):
 -      Moved parts to `checkdoc-message-text-next-string'.
 +      Move parts to `checkdoc-message-text-next-string'.
        (checkdoc-message-text-next-string): New function.
        (checkdoc-message-text-engine): All previously returned errors
        now call `checkdoc-create-error'.  Can find/skip 'format' call
        (checkdoc-y-or-n-p): New function.
        (checkdoc-autofix-ask-replace): Update doc.  Protect match-data.
        Correctly handle `checkdoc-autofix-flag' of 'never.  New behavior
 -      with `checkdoc-autofix-flag' of 'automatic-then-never.  Better
 -      overlay handling.
 -      (checkdoc-output-font-lock-keywords): Updated to new output format.
 +      with `checkdoc-autofix-flag' of 'automatic-then-never.
 +      Better overlay handling.
 +      (checkdoc-output-font-lock-keywords): Update to new output format.
        (checkdoc-pending-errors): New variable.
 -      (checkdoc-find-error): Updated to new output format.
 -      (checkdoc-start-section, checkdoc-error): Improved the output.
 +      (checkdoc-find-error): Update to new output format.
 +      (checkdoc-start-section, checkdoc-error): Improve the output.
        (checkdoc-show-diagnostics): Smarter show algorithm.
  
  1998-07-03  Kenichi Handa  <handa@etl.go.jp>
  
        * derived.el (derived-mode-hooks-name): Use -hook, not -hooks,
        in mode hook name.
 -      (derived-mode-hook-name): Renamed from ...-hooks; caller changed.
 +      (derived-mode-hook-name): Rename from ...-hooks; caller changed.
  
  1998-07-01  Ken'ichi Handa  <handa@melange.gnu.org>
  
 -      * international/mule.el (mule-version): Changed to 4.0.
 -      (mule-version-date): Updated.
 +      * international/mule.el (mule-version): Change to 4.0.
 +      (mule-version-date): Update.
  
  1998-06-30  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        * language/korea-util.el (isearch-toggle-korean-input-method)
        (isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja):
        New functions.
 -      (korean-key-bindings): Renamed from exit-korean-environment-data.
 +      (korean-key-bindings): Rename from exit-korean-environment-data.
        Initialized appropriately.
        (setup-korean-environment): Setup key bindings according to
        korean-key-bindings.
        of `find-function-noselect'.
        (find-function-search-for-symbol): `regexp-quote' the symbol name:
        needed to find-function `mapcar*' for example.
 -      (find-function-noselect): Improved docstring.  Don't include
 +      (find-function-noselect): Improve docstring.  Don't include
        `library' in let.
        Use `symbol-file' instead of `describe-symbol-find-file'.
 -      (find-function-read): Renamed from `find-function-read-function'.
 +      (find-function-read): Rename from `find-function-read-function'.
        With optional arg now read a variable.
        (find-function-read): Separate `completing-read' calls for
        variables and functions.
        (find-variable-other-window): Remove most of docstring and add
        reference to `find-variable' instead.
        (find-variable-other-frame): Ditto.
 -      (find-function-on-key): Simplified.  Removed stuff now taken care
 +      (find-function-on-key): Simplify.  Removed stuff now taken care
        of by interactive "k".
        (find-function-at-point): New function.
        (find-variable-at-point): Ditto.
  
  1998-06-24  Andrew Innes  <andrewi@mescaline.gnu.org>
  
 -      * dos-w32.el (null-device): Renamed from grep-null-device.
 +      * dos-w32.el (null-device): Rename from grep-null-device.
  
  1998-06-24  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        (ange-ftp-generate-anonymous-password): Use `other' widget type.
        * autoinsert.el (auto-insert, auto-insert-query): Use `other'
        widget type.
 -      * bookmark.el (bookmark-save-flag, bookmark-version-control): Use
 -      `other' widget type.
 +      * bookmark.el (bookmark-save-flag, bookmark-version-control):
 +      Use `other' widget type.
        * comint.el (comint-input-autoexpand): Use `other' widget type.
        * complete.el (PC-first-char): Use `other' widget type.
        * cus-edit.el (custom-magic-show): Use `other' widget type.
  
  1998-06-23  Ken'ichi Handa  <handa@melange.gnu.org>
  
 -      * international/fontset.el (x-style-funcs-alist): Remove
 -      duplicated code.
 +      * international/fontset.el (x-style-funcs-alist):
 +      Remove duplicated code.
  
  1998-06-23  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        `composition'.  Add property `jisx0208' to Japanese hankaku characters.
        (japanese-kana-table): Add more data.
        (japanese-symbol-table): Change the order of elements.
 -      (japanese-katakana-region): Adjusted for the above changes.  Check
 -      character code properties directly here.
 +      (japanese-katakana-region): Adjust for the above changes.
 +      Check character code properties directly here.
        (japanese-hiragana-region): Likewise.
        (japanese-hankaku-region): Likewise.
        (japanese-zenkaku-region): Likewise.
  
  1998-06-20  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/fontset.el (x-style-funcs-alist): If
 -      x-make-font-demibold or x-make-font-bold return nil, don't try
 +      * international/fontset.el (x-style-funcs-alist):
 +      If x-make-font-demibold or x-make-font-bold return nil, don't try
        further style modification.
  
        * international/encoded-kb.el (encoded-kbd-self-insert-sjis):
        ethio-mode-map, and function ethio-mode.
        (exit-ethiopic-environment-data): New variable.
        (setup-ethiopic-environment): Recode information of changed key
 -      bindings in exit-ethiopic-environment-data.  Add
 -      ethio-select-a-translation to quail-mode-hook.
 +      bindings in exit-ethiopic-environment-data.
 +      Add ethio-select-a-translation to quail-mode-hook.
        (exit-ethiopic-environment): New function.
        (ethio-find-file): Don't check ethio-mode.
        (ethio-write-file): Likewise.
  
        * international/mule.el (set-auto-coding): Redo the previous change.
  
 -      * tar-mode.el (tar-extract): Adjusted for the change of the spec
 +      * tar-mode.el (tar-extract): Adjust for the change of the spec
        of set-auto-coding-function.
  
  1998-06-14  Richard Stallman  <rms@psilocin.ai.mit.edu>
        * faces.el (set-face-font): Pay attention to fontset.
        (set-face-font-auto): Call resolve-fontset-name.
  
 -      * international/fontset.el (instantiate-fontset): Delete
 -      duplicated call of x-complement-fontset-spec.  Call new-fontset
 +      * international/fontset.el (instantiate-fontset):
 +      Delete duplicated call of x-complement-fontset-spec.  Call new-fontset
        with a correct argument.
        (x-compose-font-name): Argument name adjusted for the doc-string.
        (x-complement-fontset-spec): Don't alter the contents of the
        (x-style-funcs-alist): The format changed.
        (x-modify-font-name): New function.
        (create-fontset-from-fontset-spec): The arg STYLE-VARIANT-P is
 -      changed to STYLE-VARIANT, the format also changed.  Use
 -      x-modify-font-name instead of calling functions in
 +      changed to STYLE-VARIANT, the format also changed.
 +      Use x-modify-font-name instead of calling functions in
        x-style-funcs-alist directly.
        (instantiate-fontset): Use x-modify-font-name instead of calling
        functions in x-style-funcs-alist directly.
  
  1998-06-09  Ed Reingold  <reingold@cs.uiuc.edu>
  
 -      * calendar/cal-tex.el (cal-tex-list-diary-entries): Set
 -      diary-display-hook correctly.
 +      * calendar/cal-tex.el (cal-tex-list-diary-entries):
 +      Set diary-display-hook correctly.
  
        * calendar/cal-menu.el (calendar-mouse-holidays)
        (calendar-mouse-view-diary-entries)
  
  1998-06-08  Andrew Innes  <andrewi@harlequin.co.uk>
  
 -      * ange-ftp.el (ange-ftp-file-name-completion): Use
 -      ange-ftp-this-dir instead of literal "/" when calling real
 +      * ange-ftp.el (ange-ftp-file-name-completion):
 +      Use ange-ftp-this-dir instead of literal "/" when calling real
        completion function.
  
  1998-06-08  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  1998-06-05  Andrew Innes  <andrewi@harlequin.co.uk>
  
 -      * jka-compr.el (jka-compr-write-region): Ensure
 -      `last-coding-system-used' is updated, so that basic-save-buffer
 +      * jka-compr.el (jka-compr-write-region):
 +      Ensure `last-coding-system-used' is updated, so that basic-save-buffer
        sees the right value.
  
  1998-06-05  Richard Stallman  <rms@gnu.org>
  
        * docref.el: Deleted in view of current approach to doc strings.
  
 -      * startup.el (normal-top-level-add-subdirs-to-load-path): Ignore
 -      CVS directories too.
 +      * startup.el (normal-top-level-add-subdirs-to-load-path):
 +      Ignore CVS directories too.
  
  1998-06-02  Richard Stallman  <rms@gnu.org>
  
  
  1998-06-01  Per Starbäck  <starback@update.uu.se>
  
 -      * apropos.el (apropos-variable): Fixed argument to apropos-command.
 +      * apropos.el (apropos-variable): Fix argument to apropos-command.
        (apropos-command): Let `var-predicate' have higher priority than
        `do-all'.
  
  1998-06-01  Dave Love  <fx@gnu.org>
  
        * textmodes/sgml-mode.el (sgml-font-lock-keywords-1): Add -. as
 -      NMCHARs.  Elide upper case (see font-lock-defaults).  Generalize
 -      comment declaration not to exclude markup.
 +      NMCHARs.  Elide upper case (see font-lock-defaults).
 +      Generalize comment declaration not to exclude markup.
  
  1998-05-31  Richard Stallman  <rms@gnu.org>
  
  
  1998-05-31  Alan Shutko  <shutkoa@ugsolutions.com>
  
 -      * emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode): Add
 -      missing format arg.
 +      * emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode):
 +      Add missing format arg.
  
  1998-05-30  Dave Love  <fx@gnu.org>
  
  1998-05-30  Michael Kifer  <kifer@cs.sunysb.edu>
  
        * ediff-mult.el (ediff-mark-for-hiding-at-pos)
 -      (ediff-mark-for-operation-at-pos): Renamed from
 +      (ediff-mark-for-operation-at-pos): Rename from
        ediff-mark-for-hiding, ediff-mark-for-operation.
        (ediff-mark-session-for-hiding, ediff-mark-session-for-operation)
 -      (ediff-unmark-all-for-operation, ediff-unmark-all-for-hiding): New
 -      functions.
 -      (ediff-setup-meta-map): Changed bindings.
 +      (ediff-unmark-all-for-operation, ediff-unmark-all-for-hiding):
 +      New functions.
 +      (ediff-setup-meta-map): Change bindings.
  
        * viper-cmd.el (viper-backward-Word, viper-skip-separators): Bugfix.
        (viper-switch-to-buffer, viper-switch-to-buffer-other-window): Bugfix.
        * viper-util.el (viper-skip-syntax): Bug fix for eob/bob cases.
 -      * viper-mous.el (viper-surrounding-word): Added '_' to alpha modifiers.
 +      * viper-mous.el (viper-surrounding-word): Add '_' to alpha modifiers.
  
  1998-05-30  Ralph Schleicher  <rs@purple.UL.BaWue.DE>
  
  
  1998-05-27  Ed Reingold  <reingold@cs.uiuc.edu>
  
 -      * calendar/calendar.el (calendar-buffer-list): Add
 -      other-calendars-buffer.
 +      * calendar/calendar.el (calendar-buffer-list):
 +      Add other-calendars-buffer.
        (calendar-mode): Use activate-menubar-hook only in a window system.
  
  1998-05-27  Dave Love  <fx@gnu.org>
        * abbrev.el: Likewise.
  
  1998-05-26  Emilio Lopes  <Emilio.Lopes@Physik.TU-Muenchen.DE>
-             Karl Fogel  <kfogel@red-bean.com>
+           Karl Fogel  <kfogel@red-bean.com>
  
        * bookmark.el: Changes so bookmark list mode works with Info:
        (bookmark-jump-noselect): Use an inner save-window-excursion.
        * emacs-lisp/byte-opt.el (byte-boolean-vars):
        Add print-escape-nonascii.
  
 -      * emacs-lisp/autoload.el (generate-file-autoloads): Set
 -      print-escape-nonascii when printing autoload form.
 +      * emacs-lisp/autoload.el (generate-file-autoloads):
 +      Set print-escape-nonascii when printing autoload form.
  
  1998-05-25  Kenichi HANDA  <handa@etl.go.jp>
  
 -      * international/mule.el (set-coding-priority): Call
 -      set-coding-priority-internal at the tail.
 +      * international/mule.el (set-coding-priority):
 +      Call set-coding-priority-internal at the tail.
  
  1998-05-24  Stephen Eglen  <stephen@cns.ed.ac.uk>
  
        Use translation-table, not character-translation-table,
        as char-table subtype.
        (define-translation-table):
 -      Renamed from define-character-translation-table.
 +      Rename from define-character-translation-table.
        * mule-util.el: Likewise.
        * mule-conf.el: Likewise.
        (standard-translation-table-for-decode)
        (standard-translation-table-for-encode):
 -      Renamed from standard-character-translation-table-...
 +      Rename from standard-character-translation-table-...
  
  1998-05-21  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  
  1998-05-21  Eli Zaretskii  <eliz@mescaline.gnu.org>
  
 -      * arc-mode.el (archive-file-name-invalid-regexp): Remove.  All
 -      users changed to use file-name-invalid-regexp instead.
 +      * arc-mode.el (archive-file-name-invalid-regexp): Remove.
 +      All users changed to use file-name-invalid-regexp instead.
        * files.el (file-name-invalid-regexp): New variable, moved here
        from arc-mode.el.
  
  1998-05-21  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        * progmodes/vhdl-mode.el (vhdl-customize-colors):
 -      Renamed from vhdl-use-default-colors, and sense reversed.
 +      Rename from vhdl-use-default-colors, and sense reversed.
        (vhdl-customize-faces):
 -      Renamed from vhdl-use-default-faces, and sense reversed.
 +      Rename from vhdl-use-default-faces, and sense reversed.
        (vhdl-font-lock-init, vhdl-ps-init): Implement those changes.
        (vhdl-submit-bug-report): Use new variable names.
  
        FONTLIST).
        (x-style-funcs-alist): New variable.
        (create-fontset-from-fontset-spec): 2nd optional arg is changed
 -      from STYLE to STYLE-VARIANT-P.  The meaning also changed.  Delete
 -      unused code.  Adjusted for the change of
 +      from STYLE to STYLE-VARIANT-P.  The meaning also changed.
 +      Delete unused code.  Adjusted for the change of
        uninstantiated-fontset-alist.
 -      (instantiate-fontset): Adjusted for the change of
 +      (instantiate-fontset): Adjust for the change of
        uninstantiated-fontset-alist.
  
        * international/mule.el (make-coding-system): If ISO2022 based
  
  1998-05-20  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/fontset.el (x-font-name-charset-alist): New
 -      variable.
 +      * international/fontset.el (x-font-name-charset-alist):
 +      New variable.
        (register-alternate-fontnames): Doc-string modified.
        (x-complement-fontset-spec): Likewise.
 -      (x-complement-fontset-spec): Delete unused local variable.  Delete
 -      ad hoc code for Latin-1, instead refer to
 +      (x-complement-fontset-spec): Delete unused local variable.
 +      Delete ad hoc code for Latin-1, instead refer to
        x-font-name-charset-alist.
        (uninstantiated-fontset-alist): Format changed (BASE-FONTSET ->
        FONTLIST).
        (x-style-funcs-alist): New variable.
        (create-fontset-from-fontset-spec): 2nd optional arg is changed
 -      from STYLE to STYLE-VARIANT-P.  The meaning also changed.  Delete
 -      unused code.  Adjusted for the change of
 +      from STYLE to STYLE-VARIANT-P.  The meaning also changed.
 +      Delete unused code.  Adjusted for the change of
        uninstantiated-fontset-alist.
 -      (instantiate-fontset): Adjusted for the change of
 +      (instantiate-fontset): Adjust for the change of
        uninstantiated-fontset-alist.
  
        * international/mule.el (make-coding-system): If ISO2022 based
        * international/mule-cmds.el: Several doc fixes.
        (get-language-info, set-language-info): Rename argument.
        (set-language-info-alist): Likewise.
 -      (find-coding-systems-region-subset-p): Renamed from subset-p.
 +      (find-coding-systems-region-subset-p): Rename from subset-p.
        (find-coding-systems-region): Use new name.
        (register-input-method): Rename argument.
        (activate-input-method): If INPUT-METHOD is nil, deactivate.
        (checkdoc-message-text-search, checkdoc-message-text-engine):
        New functions.
        (checkdoc-this-string-valid-engine):
 -      Added ambiguous function/symbol checking.  Added new auto-fix
 +      Add ambiguous function/symbol checking.  Added new auto-fix
        for missing parameters.
  
  1998-05-16  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
        * international/mule-cmds.el (find-coding-systems-region-subset-p):
 -      Renamed from subset-p.
 +      Rename from subset-p.
        (find-coding-systems-for-charsets): Call changed.
  
  1998-05-16  Dan Nicolaescu  <done@ece.arizona.edu>
        Use expand-file-name on it.
  
        * files.el (temporary-file-directory):
 -      Renamed from system-tmp-directory.
 +      Rename from system-tmp-directory.
        Value is now a directory name, not a file name.
  
        * dired-aux.el (dired-mark-subdir-files): Doc fix.
        All callers changed.
        (archive-unique-fname): New function.
        (archive-maybe-copy): Use it.
 -      (archive-maybe-copy, archive-write-file): Bind
 -      coding-system-for-write to no-conversion.
 -      (archive-maybe-update, archive-mode-revert): Bind
 -      coding-system-for-read to no-conversion.
 +      (archive-maybe-copy, archive-write-file):
 +      Bind coding-system-for-write to no-conversion.
 +      (archive-maybe-update, archive-mode-revert):
 +      Bind coding-system-for-read to no-conversion.
        (archive-maybe-update): Remain at the same line in the archive
        listing, after updating the archive.  Print the buffer name of the
        archive to be saved.
        read-only.  Don't set buffer-file-type.  Remove the write-contents
        hook for remote archives.  Warn about read-only archives inside
        other archives.
 -      (archive-write-file-member): Handle remote archives.  Restore
 -      value of last-coding-system-used.
 +      (archive-write-file-member): Handle remote archives.
 +      Restore value of last-coding-system-used.
        (archive-*-write-file-member): Handle archives inside other
        archives.  Save the value of last-coding-system-used.
        (archive-write-file): New optional variable FILE: where to write
  
  1998-05-08  Richard Stallman  <rms@psilocin.gnu.org>
  
 -      * ps-print.el (ps-alist-position): Renamed from ps-position.
 +      * ps-print.el (ps-alist-position): Rename from ps-position.
        Look for ITEM as the car of an element.
        (ps-font-number): Use ps-alist-position.
 -      (ps-font-alist): Renamed from ps-font-list.
 +      (ps-font-alist): Rename from ps-font-list.
  
        * mail/reporter.el (reporter-bug-hook): Use rfc822-goto-eoh.
  
  
  1998-05-06  Sam Steingold  <sds@usa.net>
  
 -      * window.el (quit-window): Fixed FRAME to be the frame and
 +      * window.el (quit-window): Fix FRAME to be the frame and
        never window.
  
  1998-05-06  Michael Kifer  <kifer@cs.sunysb.edu>
  
        * ediff-init.el (ediff-highlight-all-diffs, ediff-use-faces):
 -      Changed the defaults.
 +      Change the defaults.
  
  1998-05-06  Richard Stallman  <rms@psilocin.gnu.org>
  
  
  1998-05-05  Simon Marshall  <simon@gnu.org>
  
 -      * font-lock.el (lisp-font-lock-keywords-1): Fixed 1998-04-24 change;
 +      * font-lock.el (lisp-font-lock-keywords-1): Fix 1998-04-24 change;
        moved defpackage to here from lisp-font-lock-keywords-2.
  
  1998-05-05  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
        Now checks for toolbar support before referring toolbars.
  
        * ediff-init.el (ediff-has-toolbar-support-p, ediff-use-toolbar-p):
 -      Moved here from ???.
 +      Move here from ???.
  
        * ediff-vers.el (cvs-run-ediff-on-file-descriptor):
        Set default-directory.
        * progmodes/compile.el (compilation-directory-stack): Doc fix.
        (compilation-mode): Accept optional parameter and initialize
        mode-name from it.
 -      (compile-internal): Pass name-of-mode to compilation-mode.  Don't
 -      set mode-name here.
 +      (compile-internal): Pass name-of-mode to compilation-mode.
 +      Don't set mode-name here.
        (compilation-minor-mode): Don't let mode-line-process change.
        (compilation-next-error-locus): Use forward-char instead of
        move-to-column.
  
  1998-05-02  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
 -      * vc-hooks.el (vc-parse-cvs-status): Optimized.  Ignore
 -      "Locally Removed" files.
 +      * vc-hooks.el (vc-parse-cvs-status): Optimize.
 +      Ignore "Locally Removed" files.
  
        * vc.el (vc-fetch-cvs-status): Don't specify DIR on the command line.
 -      (vc-dired-hook): Optimized for CVS.
 +      (vc-dired-hook): Optimize for CVS.
  
  1998-05-02  Richard Stallman  <rms@psilocin.gnu.org>
  
        (file-cache-add-directory): Checks to see if directory exists
        before adding it.  Non-existing directories are simply skipped.
  
 -      * generic.el (generic): Added defgroup declaration.
 +      * generic.el (generic): Add defgroup declaration.
        (generic-make-keywords-list): Uses regexp-opt.
        (generic-mode-set-font-lock): Uses regexp-opt.
  
 -      * generic-x.el (generic-x): Added defgroup declaration.
 +      * generic-x.el (generic-x): Add defgroup declaration.
  
 -      * generic-x.el (generic-bat-mode-setup-function): Fixed comment-start
 +      * generic-x.el (generic-bat-mode-setup-function): Fix comment-start
        variable.
  
 -      * generic-x.el (generic-define-mswindows-modes): Enable
 -      hosts-generic-mode and apache-generic-mode.
 +      * generic-x.el (generic-define-mswindows-modes):
 +      Enable hosts-generic-mode and apache-generic-mode.
        (generic-define-unix-modes): Enable alias-generic-mode.
 -      (java-properties-generic-mode): Changed regexp to allow property
 +      (java-properties-generic-mode): Change regexp to allow property
        and value to be separated by whitespace or an equal sign.
        (alias-generic-mode): Check generic-extras-enable-list before
        defining this mode.
        (universal-coding-system-argument): Use buffer-file-coding-system
        as default.
  
 -      * international/quail.el (quail-show-translations): Show
 -      followable keys in alphabetic order.
 +      * international/quail.el (quail-show-translations):
 +      Show followable keys in alphabetic order.
  
  1998-04-29  Richard Stallman  <rms@psilocin.gnu.org>
  
        (ispell-dictionary-alist): Now customizable.
        Fixed type of custom variables: ispell-help-in-bufferp.
        (ispell-use-framepop-p): New variable.
 -      (ispell-dictionary-alist): Added dictionaries: castellano, castellano8
 +      (ispell-dictionary-alist): Add dictionaries: castellano, castellano8
        czech, esperanto, esperanto-tex, norsk, russian.
        Capitalize XEmacs correctly, and change lucid to xemacs in code.
 -      (ispell-menu-lucid): Renamed to ispell-menu-xemacs.
 +      (ispell-menu-lucid): Rename to ispell-menu-xemacs.
        Changed string compares for version number to be correct for XEmacs.
        Fixed to work with string properties.
        (ispell-recursive-edit-marker): New marker saving return point.
  
  1998-04-28  Inge Frick  <inge@nada.kth.se>
  
 -      * emacs-lisp/easymenu.el (easy-menu-define-key): Fixed bug with BEFORE
 +      * emacs-lisp/easymenu.el (easy-menu-define-key): Fix bug with BEFORE
        argument.  Now it works also if you repeat an identical call to
        easy-menu-define-key.
  
  
        * emacs-lisp/cl-indent.el: Indent defpackage correctly.
  
 -      * font-lock.el (lisp-font-lock-keywords-2): Added `defpackage'.
 +      * font-lock.el (lisp-font-lock-keywords-2): Add `defpackage'.
  
  1998-04-23  Geoff Voelker  <voelker@cs.washington.edu>
  
        * easymenu.el: Use new menu item format.  Don't simulate button prefix.
        (easy-menu-create-menu): Understand also keywords :active,
        :label and :visible.  Don't worry about button prefix.
 -      (easy-menu-button-prefix): Modified value.
 +      (easy-menu-button-prefix): Modify value.
        (easy-menu-do-add-item): Extensive changes to use new menu item format.
        (easy-menu-define-key, easy-menu-always-true): New functions.
 -      (easy-menu-make-symbol): Don't use indirection for symbols.  Property
 -      `menu-alias' not set.
 -      (easy-menu-filter, easy-menu-update-button): Deleted.
 +      (easy-menu-make-symbol): Don't use indirection for symbols.
 +      Property `menu-alias' not set.
 +      (easy-menu-filter, easy-menu-update-button): Delete.
        (easy-menu-add-item): Don't worry about button prefix.
 -      (easy-menu-remove-item): Don't worry about button prefix.  Use
 -      `easy-menu-define-key'.
 -      (easy-menu-is-button, easy-menu-have-button): Deleted.
 -      (easy-menu-real-binding, easy-menu-change-prefix): Deleted.
 +      (easy-menu-remove-item): Don't worry about button prefix.
 +      Use `easy-menu-define-key'.
 +      (easy-menu-is-button, easy-menu-have-button): Delete.
 +      (easy-menu-real-binding, easy-menu-change-prefix): Delete.
  
  1998-04-23  Richard Stallman  <rms@psilocin.gnu.org>
  
  
  1998-04-22  Eli Zaretskii  <eliz@delysid.gnu.org>
  
 -      * term/pc-win.el (x-select-text, x-get-selection-value): Replace
 -      win16 with w16.
 +      * term/pc-win.el (x-select-text, x-get-selection-value):
 +      Replace win16 with w16.
  
  1998-04-22  Dave Love  <fx@gnu.org>
  
  
  1998-04-20  Piet van Oostrum  <piet@cs.ruu.nl>
  
 -      * smtpmail.el (smtpmail-send-it): Deleted all code related
 +      * smtpmail.el (smtpmail-send-it): Delete all code related
        to Resent-To: processing.
 -      (smtpmail-deduce-address-list): Changed the search for
 +      (smtpmail-deduce-address-list): Change the search for
        Resent-\(To\|Cc\|Bcc\) headers.
        (smtpmail-do-bcc): Delete Resent-Bcc: headers.
  
  
  1998-04-20  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/ccl.el (ccl-compile-unify-character): Inhibit
 -      unification tables specified by integer value.
 +      * international/ccl.el (ccl-compile-unify-character):
 +      Inhibit unification tables specified by integer value.
        (ccl-compile-translate-single-map): Likewise.
        (ccl-compile-multiple-map-function): Likewise.
 -      (ccl-compile-translate-multiple-map): Modified for nested tables.
 +      (ccl-compile-translate-multiple-map): Modify for nested tables.
        (ccl-dump-iterate-multiple-map): Handle the case that ID is not
        integer.
        (ccl-dump-translate-multiple-map): Likewise.
        * international/mule.el (make-coding-system): If TYPE is 4, FLAGS
        can be a cons of CCL-PROGRAM symbols.
  
 -      * international/quail.el (quail-start-translation): Bind
 -      prefix-arg to current-prefix-arg.
 +      * international/quail.el (quail-start-translation):
 +      Bind prefix-arg to current-prefix-arg.
        (quail-mode): Doc-string modified.
  
        * language/cyrillic.el: FLAGS arguments for make-coding-system
  
        * which-func.el (which-func): Add defgroup.
  
 -      * emacs-lisp/checkdoc.el (checkdoc): Added :version.
 +      * emacs-lisp/checkdoc.el (checkdoc): Add :version.
  
        * play/gametree.el (gametree): Likewise.
  
        (ange-ftp-file-name-all-completions): Handle Windows filenames.
        (file-name-handler-alist) [windows-nt]: Add patterns for name with
        drive letters.
 -      (ange-ftp-dired-call-process, ange-ftp-call-chmod): Use
 -      dired-chmod-program.
 +      (ange-ftp-dired-call-process, ange-ftp-call-chmod):
 +      Use dired-chmod-program.
        (ange-ftp-disable-netrc-security-check) [windows-nt]: Disable by
        default.
        (ange-ftp-real-expand-file-name-actual): New function.
        (cperl-beautify-levels): New command.
        (cperl-electric-keyword): Allow here-docs contain `=head1'
        and friends for keyword expansion.
 -      Fix for broken `font-lock-unfontify-region-function'.  Should
 -      preserve `syntax-table' properties even with `lazy-lock'.
 +      Fix for broken `font-lock-unfontify-region-function'.
 +      Should preserve `syntax-table' properties even with `lazy-lock'.
        (cperl-indent-region-fix-else): New command.
        (cperl-fix-line-spacing): New command.
        (cperl-invert-if-unless): New command (C-c C-t and in Menu).
        Workaround for another `font-lock's `syntax-table' text-property bug.
        `zerop' could be applied to nil.
        At last, may work with `font-lock' without setting `cperl-font-lock'.
 -      (cperl-indent-region-fix-constructs): Renamed from
 +      (cperl-indent-region-fix-constructs): Rename from
        `cperl-indent-region-fix-constructs'.
        (cperl-fix-line-spacing): Could be triggered inside strings, would not
        know what to do with BLOCKs of map/printf/etc.
        (cperl-set-style-back): Old value of style is memorized when
        choosing a new style, may be restored from the same menu.
        Mode-documentation added to micro-docs.
 -      (cperl-praise): Updated.
 +      (cperl-praise): Update.
        (cperl-toggle-construct-fix): New command.  Added on C-c C-w and menu.
 -      (auto-fill-mode): Added on C-c C-f and menu.
 +      (auto-fill-mode): Add on C-c C-f and menu.
        (cperl-style-alist): `PerlStyle' style added.
        (cperl-find-pods-heres): Message for termination of scan corrected.
        (cperl-speed): New variable with hints.
  
        * arc-mode.el (archive-extract-by-stdout): Don't use
        binary-process-output.  Bind coding-system-for-read `undecided',
 -      so coding system is determined on the fly.  Bind
 -      inherit-process-coding-system to t.
 +      so coding system is determined on the fly.
 +      Bind inherit-process-coding-system to t.
        (archive-dos-members): Remove.
        (archive-extract): Don't call archive-check-dos.  Handle pkunzip
        errors.
        * vc.el (vc-next-action-on-file): Don't check out after
        registering.  This is two steps instead of one, and the second
        does not make sense under CVS.
 -      (vc-next-action): Changed doc string to reflect the above.
 +      (vc-next-action): Change doc string to reflect the above.
  
  1998-04-14  Andreas Schwab  <schwab@mescaline.gnu.org>
  
  
  1998-04-09  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
 -      * vc.el (vc-next-action): Fixed bug that prevented registering
 +      * vc.el (vc-next-action): Fix bug that prevented registering
        files using C-x v v.
  
  1998-04-09  Stephen Eglen  <stephen@gnu.org>
  
        * gud.el (jdb): Do proper analysis of classes defined in a Java
        source.  This removes the restriction of one class per file.
 -      (gud-jdb-package-of-file): Removed.  Replaced with parsing routines.
 +      (gud-jdb-package-of-file): Remove.  Replaced with parsing routines.
        (gud-jdb-skip-whitespace): New function.
        (gud-jdb-skip-single-line-comment): New function.
        (gud-jdb-skip-traditional-or-documentation-comment): New function.
        (fortran-mode): Make `fill-column' buffer-local; set
        `fill-paragraph-function', `indent-region-function',
        `indent-line-function'.
 -      (calculate-fortran-indent): Renamed to `fortran-calculate-indent'.
 +      (calculate-fortran-indent): Rename to `fortran-calculate-indent'.
        (fortran-split-line): Simplify.
        (fortran-remove-continuation): New function.
        (fortran-join-line): Use it.
        * language/japanese.el: Set exit-function to
        exit-japanese-environment for Japanese environment.
  
 -      * language/japan-util.el (setup-japanese-environment): Setup
 -      sentence-end suitable for Japanese text.
 +      * language/japan-util.el (setup-japanese-environment):
 +      Setup sentence-end suitable for Japanese text.
        (exit-japanese-environment): New function.
  
 -      * international/mule-cmds.el (subset-p): Renamed from
 +      * international/mule-cmds.el (subset-p): Rename from
        find-safe-coding-system-list-subset-p.
 -      (find-coding-systems-region, find-coding-systems-string): New
 -      functions.
 -      (find-coding-systems-for-charsets): Renamed from
 +      (find-coding-systems-region, find-coding-systems-string):
 +      New functions.
 +      (find-coding-systems-for-charsets): Rename from
        find-safe-coding-system.  This is now a helper function of the
        above two.
 -      (select-safe-coding-system): Adjusted for the above changes.
 +      (select-safe-coding-system): Adjust for the above changes.
  
  1998-04-05  Per Abrahamsen  <abraham@dina.kvl.dk>
  
        hook, not a local variable.
  
        * vc.el (vc-merge, vc-backend-merge): New functions.
 -      (vc-resolve-conflicts): Added optional parameters for buffer names.
 +      (vc-resolve-conflicts): Add optional parameters for buffer names.
        (vc-branch-p): New function.
  
 -      * vc-hooks.el (vc-prefix-map): Added "m" for vc-merge.
 +      * vc-hooks.el (vc-prefix-map): Add "m" for vc-merge.
  
        * vc.el (vc-ensure-vc-buffer): New function.
 -      (vc-registration-error): Replaced by the above.  Updated all callers.
 -      (file-executable-p-18, file-regular-p-18): Removed.
 +      (vc-registration-error): Replace by the above.  Updated all callers.
 +      (file-executable-p-18, file-regular-p-18): Remove.
  
  1998-04-05  Richard Stallman  <rms@psilocin.gnu.org>
  
  1998-04-03  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
        * vc-hooks.el (vc-parse-cvs-status): New function.
 -      (vc-fetch-master-properties): Moved cvs status retrieval to
 +      (vc-fetch-master-properties): Move cvs status retrieval to
        the above.
        (vc-backend): If a file is not registered, remember that by setting
        the property to `none'.
        (vc-name): Use the mechanism of vc-backend to compute the value.
        (vc-after-save): Don't access vc-backend property directly.
  
 -      * vc.el (vc-next-action-dired): Use dired-do-redisplay.  Handle
 -      window configuration correctly.
 +      * vc.el (vc-next-action-dired): Use dired-do-redisplay.
 +      Handle window configuration correctly.
        (vc-next-action): Save window configuration for vc-next-action-dired.
        (vc-finish-logentry): Only kill log buffer if it does exist.
        (vc-dired-mode): Rewritten so that it works entirely through
        ordinary dired.
        (vc-dired-hook): New function.
        (vc-state-info, vc-dired-reformat-line): Adapted.
 -      (vc-dired-update, vc-dired-update-line): Removed.
 +      (vc-dired-update, vc-dired-update-line): Remove.
        (vc-directory): Rewritten.
 -      (vc-directory-18): Removed.
 +      (vc-directory-18): Remove.
        (vc-dired-mark-locked): New function, bound to "*l" in vc-dired-mode.
        (vc-do-command): Only compute vc-name if it is really needed.
        (vc-fetch-cvs-status): New function.
  
        * help.el: Make hyperlinks for cross-reference info intuited from
        *Help* buffer.
 -      (help-font-lock-keywords): Removed.
 +      (help-font-lock-keywords): Remove.
        (help-mode-map): Define keys for navigating hyperlinks.
        (help-xref-stack, help-xref-stack-item): New permanent-local
        variables.
        New variables.
        (help-setup-xref, help-make-xrefs, help-xref-button)
        (help-xref-interned, help-xref-mode, help-follow-mouse)
 -      (help-xref-go-back, help-go-back, help-follow, help-next-ref): New
 -      functions.
 +      (help-xref-go-back, help-go-back, help-follow, help-next-ref):
 +      New functions.
  
  1998-04-02  Richard Stallman  <rms@psilocin.gnu.org>
  
        (iswitchb-complete): Use iswitchb-common-match-string rather than
        recomputing the value.
        (iswitchb-toggle-ignore): Recompute list of buffers.
 -      (iswitchb-init-XEmacs-trick): Renamed from iswitchb-init-Xemacs-trick.
 +      (iswitchb-init-XEmacs-trick): Rename from iswitchb-init-Xemacs-trick.
  
  1998-03-31  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
  
  1998-03-25  Simon Marshall  <simon@gnu.org>
  
 -      * font-lock.el (c-font-lock-keywords-2): Added "sizeof".
 -      (c++-font-lock-keywords-2): Added "export" and "typename".
 +      * font-lock.el (c-font-lock-keywords-2): Add "sizeof".
 +      (c++-font-lock-keywords-2): Add "export" and "typename".
  
        * lazy-lock.el (lazy-lock-fontify-after-scroll)
        (lazy-lock-fontify-after-trigger): Use new window-end UPDATE arg
  
  1998-03-23  Andreas Schwab  <schwab@gnu.org>
  
 -      * xt-mouse.el (xterm-mouse-translate, xterm-mouse-event): Replace
 -      obsolete `concat with integer' by format.
 +      * xt-mouse.el (xterm-mouse-translate, xterm-mouse-event):
 +      Replace obsolete `concat with integer' by format.
  
        * rsz-mini.el (resize-minibuffer-mode): Make it a proper minor
        mode: toggle resize-minibuffer mode when called without argument.
  
  1998-03-22  Johan Vromans  <jvromans@squirrel.nl>
  
 -      * complete.el (PC-expand-many-files): Apply
 -      completion-ignored-extensions.
 +      * complete.el (PC-expand-many-files):
 +      Apply completion-ignored-extensions.
  
  1998-03-21  Richard Stallman  <rms@psilocin.gnu.org>
  
        when user tries to check-in, but file on disk has changed.
        (vc-do-command): Rewrote doc string.  Consider LAST argument
        only if FILE is non-nil.
 -      (vc-add-triple, vc-record-rename, vc-lookup-file): Find
 -      vc-name-assoc-file based on vc-name of FILE.
 +      (vc-add-triple, vc-record-rename, vc-lookup-file):
 +      Find vc-name-assoc-file based on vc-name of FILE.
        (vc-backend-admin, vc-rename-file): Handle the SCCS PROJECTDIR
        feature.
  
  
  1998-03-18  Dave Love  <fx@gnu.org>
  
 -      * emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Adjust
 -      paragraph-start in default filling case so that filling doc
 +      * emacs-lisp/lisp-mode.el (lisp-fill-paragraph):
 +      Adjust paragraph-start in default filling case so that filling doc
        strings works.
  
  1998-03-18  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  1998-03-16  Peter Breton  <pbreton@ne.mediaone.net>
  
        * generic-x.el: Customize.
 -      (fvwm-generic-mode): Added new keywords, and .fvwm2rc config file.
 -      (ini-generic-mode): Changed regexps so that value can contain equal signs.
 -      (java-manifest-generic-mode): Added new keywords.
 +      (fvwm-generic-mode): Add new keywords, and .fvwm2rc config file.
 +      (ini-generic-mode): Change regexps so that value can contain equal signs.
 +      (java-manifest-generic-mode): Add new keywords.
  
  1998-03-16  Alfred Correira  <ACorreir@pervasive-sw.com>
  
        * locate.el (locate-current-line-number): No longer interactive.
  
        * dirtrack.el: Customized.
 -      (dirtrack-forward-slash): Renamed from `forward-slash'.
 -      (dirtrack-backward-slash): Renamed from `backward-slash'.
 -      (dirtrack-replace-slash): Renamed from `replace-slash'.
 +      (dirtrack-forward-slash): Rename from `forward-slash'.
 +      (dirtrack-backward-slash): Rename from `backward-slash'.
 +      (dirtrack-replace-slash): Rename from `replace-slash'.
  
        * emacs-lisp/elp.el (elp-version): Now 3.2.
  
        (undo-start): New args BEG and END.
        (undo): If arg or active region, pass args to undo-start.
  
 -      * mouse.el (mouse-buffer-menu-maxlen): Renamed from
 +      * mouse.el (mouse-buffer-menu-maxlen): Rename from
        mouse-menu-buffer-maxlen.
  
  1998-03-10  Eric M. Ludlam  <zappo@ultranet.com>
  
 -      * checkdoc.el (checkdoc-continue): Removed check for doc string.
 +      * checkdoc.el (checkdoc-continue): Remove check for doc string.
        (checkdoc-this-string-valid-engine): Smarter keycode check regexp.
  
  1998-03-10  Carsten Dominik  <cd@delysid.gnu.org>
  
 -      * textmodes/reftex.el (reftex-mode-map): Added keybinding for
 +      * textmodes/reftex.el (reftex-mode-map): Add keybinding for
        `reftex-mouse-view-crossref' to `S-mouse-2'.
  
  1998-03-09  Carsten Dominik  <cd@delysid.gnu.org>
  1998-03-08  Carsten Dominik  <cd@gnu.org>
  
        * textmodes/reftex.el (reftex-offer-label-menu)
 -      (reftex-select-item): Removed match-everywhere interpretation.
 +      (reftex-select-item): Remove match-everywhere interpretation.
  
  1998-03-08  Carsten Dominik  <cd@gnu.org>
  
        (vc-resynch-buffer): When operating on the current buffer, don't use
        save-excursion, because that would undo the effects of the above
        functions.
 -      (vc-clear-headers): Fixed regexp.
 -      (vc-resynch-window): Deleted code that removed vc-find-file-hook
 +      (vc-clear-headers): Fix regexp.
 +      (vc-resynch-window): Delete code that removed vc-find-file-hook
        temporarily.  This was unnecessary, because find-file-hooks are not
        called when the buffer is reverted.
  
  
  1998-03-07  Richard Stallman  <rms@psilocin.gnu.org>
  
 -      * subr.el (read-passwd): Renamed from read-password.
 +      * subr.el (read-passwd): Rename from read-password.
        New second arg CONFIRM.
  
        * wid-edit.el (widget-choice-value-create): If there is an
        * dos-fns.el, find-file.el, follow.el, ispell4.el, shadowfile.el:
        * tempo.el, tmm.el, vcursor.el, xscheme.el: Customize.
  
 -1998-03-06  Barry A. Warsaw  <cc-mode-help@python.org>
 +1998-03-06  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * Release 5.21
  
        * progmodes/cc-engine.el (c-inside-bracelist-p): Fix for enum test.
  
        * progmodes/cc-mode.el (c-initialize-cc-mode):
 -      Moved require's to top level.
 +      Move require's to top level.
  
        * progmodes/cc-cmds.el (c-fill-paragraph):
        Bind fill-paragraph-function to nil when calling fill-paragraph,
        the same relative position.  Fill comment before point if there's
        nothing else on the same line.  Fill block comments after code a
        little better.  Try harder to find a good fill-prefix when point
 -      is on a block comment ender line.  Use
 -      c-Java-javadoc-paragraph-start in block comments in Java mode.
 +      is on a block comment ender line.
 +      Use c-Java-javadoc-paragraph-start in block comments in Java mode.
        Leave block comment ender alone when c-hanging-comment-ender-p is
        nil and point is on that line.  Detect paragraph-separate in
        multiparagraph comments.  Fix for bug that may strip the `*' off
        always bol.  It's always bol when on the top level, however.
        Changed cases: 5A.5, 5I, 14A.
  
 -      * progmodes/cc-engine.el (c-forward-token-1, c-backward-token-1): New
 -      functions to move by tokens.
 +      * progmodes/cc-engine.el (c-forward-token-1, c-backward-token-1):
 +      New functions to move by tokens.
        (c-guess-basic-syntax): Fixes for Java 1.1 array initialization
        brace lists.
  
  
  1998-03-06  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/titdic-cnv.el (titdic-convert): Use
 -      set-buffer-multibyte.
 +      * international/titdic-cnv.el (titdic-convert):
 +      Use set-buffer-multibyte.
  
        * international/quail.el (quail-defrule-internal): New arg REPLACE.
        (quail-defrule): Call quail-defrule-internal with REPLACE t.
  
  1998-03-05  Peter Breton  <pbreton@ne.mediaone.net>
  
 -      * generic.el (generic-mode-ini-file-find-file-hook): Use
 -      and-s instead of if-s.
 -      (generic-use-find-file-hook): Changed from defvar to defcustom.
 -      (generic-lines-to-scan): Changed from defvar to defcustom.
 -      (generic-find-file-regexp): Changed from defvar to defcustom.
 +      * generic.el (generic-mode-ini-file-find-file-hook):
 +      Use and-s instead of if-s.
 +      (generic-use-find-file-hook): Change from defvar to defcustom.
 +      (generic-lines-to-scan): Change from defvar to defcustom.
 +      (generic-find-file-regexp): Change from defvar to defcustom.
  
  1998-03-05  Ivar Rummelhoff  <ivarr@ifi.uio.no>
  
        configuration if the same command (changing the window
        configuration) is applied several times in a row.
  
 -      * winner.el (winner-switch): Removed the command
 +      * winner.el (winner-switch): Remove the command
        `winner-switch' (and the variables connected to it), since
        because of the change above, any "switching package" may now
        be used without disturbing winner-mode too much.
  
        * winner.el: Use list syntax for key definitions.
  
 -      * winner.el (winner-change-fun): Removed the pushnew
 +      * winner.el (winner-change-fun): Remove the pushnew
        command, so that `cl' will not have to be loaded.
  
        * winner.el (winner-set-conf): Introduced "wrapper" around
  
        * subr.el (sref): Typo in doc-string fixed.
  
 -      * international/mule-cmds.el (set-default-coding-systems): Set
 -      default-file-name-coding-system.  Doc-string modified.
 +      * international/mule-cmds.el (set-default-coding-systems):
 +      Set default-file-name-coding-system.  Doc-string modified.
        (prefer-coding-system): Doc-string modified.
  
 -      * language/japan-util.el (setup-japanese-environment): Set
 -      default-file-name-coding-system to japanese-iso-8bit.
 +      * language/japan-util.el (setup-japanese-environment):
 +      Set default-file-name-coding-system to japanese-iso-8bit.
  
  1998-03-02  Richard Stallman  <rms@psilocin.gnu.org>
  
  1998-03-01  Peter Breton  <pbreton@ne.mediaone.net>
  
        * locate.el (locate-update): New function.
 -      (locate-current-line-number): Renamed from `current-line'.
 +      (locate-current-line-number): Rename from `current-line'.
        (locate-default-make-command-line): Use list, not cons.
 -      (locate): Added a `save-window-excursion' form.
 +      (locate): Add a `save-window-excursion' form.
        (locate): Used an `apply' form for the start-process call.
        (locate-mode): Now has a `revert-buffer-function'.
        (locate-do-setup): Now longer deletes window.
        (locate-header-face): Use underline, not region.
        (locate-update-command): New option.
 -      (locate-command): Changed from defvar to defcustom.
 -      (locate-make-command-line): Changed from defvar to defcustom.
 -      (locate-fcodes-file): Changed from defvar to defcustom.
 -      (locate-mouse-face): Changed from defvar to defcustom.
 +      (locate-command): Change from defvar to defcustom.
 +      (locate-make-command-line): Change from defvar to defcustom.
 +      (locate-fcodes-file): Change from defvar to defcustom.
 +      (locate-mouse-face): Change from defvar to defcustom.
  
  1998-02-28  Richard Stallman  <rms@psilocin.gnu.org>
  
  1998-02-27  Karl Heuer  <kwzh@gnu.org>
  
        * dired-x.el (dired-do-toggle): Function moved to dired.el.
 -      * dired.el (dired-do-toggle): Moved here from dired-x.el.
 -      (dired-mode-map): Changed dired-do-toggle from "T" to "t".
 +      * dired.el (dired-do-toggle): Move here from dired-x.el.
 +      (dired-mode-map): Change dired-do-toggle from "T" to "t".
  
  1998-02-27  Carsten Dominik  <dominik@strw.LeidenUniv.nl>
  
        (custom-save-delete): Use it.
        (custom-save-all): Use it.
  
 -      * shell.el (shell-dirtrack-mode): Renamed from shell-dirtrack-toggle.
 -      (dirtrack-mode, shell-dirtrack-toggle): Defined as aliases.
 +      * shell.el (shell-dirtrack-mode): Rename from shell-dirtrack-toggle.
 +      (dirtrack-mode, shell-dirtrack-toggle): Define as aliases.
  
  1998-02-25  Carsten Dominik  <dominik@strw.LeidenUniv.nl>
  
        * textmodes/reftex.el (reftex-toc-mode, reftex-select-label-mode)
        (reftex-select-bib-mode): New major modes for RefTeX's special buffers.
        (reftex-offer-label-menu): Put selection buffer into
 -      `reftex-select-label-mode'.  Make selection buffer read-only.  Use
 -      `reftex-erase-buffer'.
 +      `reftex-select-label-mode'.  Make selection buffer read-only.
 +      Use `reftex-erase-buffer'.
        (reftex-do-citation): Put selection buffer into
 -      `reftex-select-bib-mode'.  Make selection buffer read-only.  Use
 -      `reftex-erase-buffer'.  Set `reftex-select-return-marker'.
 -      (reftex-toc): Put *toc* buffer into reftex-toc-mode.  Add
 -      mouse-face property.
 +      `reftex-select-bib-mode'.  Make selection buffer read-only.
 +      Use `reftex-erase-buffer'.  Set `reftex-select-return-marker'.
 +      (reftex-toc): Put *toc* buffer into reftex-toc-mode.
 +      Add mouse-face property.
        (reftex-select-item): Use recursive edit instead of selfmade
        command loop.  Removed unnecessary local bindings.  Changed the
        tag for catch, to avoid problems with `exit' tag in
        (reftex-select-search-backward, reftex-select-search)
        (reftex-select-scroll-up, reftex-select-scroll-down)
        (reftex-scroll-other-window, reftex-scroll-other-window-down)
 -      (reftex-empty-toc-buffer): Removed obsolete functions.
 -      (reftex-highlight-overlays): Removed obsolete 3rd overlay.
 -      (reftex-select-label-map, reftex-select-bib-map): Removed obsolete
 +      (reftex-empty-toc-buffer): Remove obsolete functions.
 +      (reftex-highlight-overlays): Remove obsolete 3rd overlay.
 +      (reftex-select-label-map, reftex-select-bib-map): Remove obsolete
        bindings, added mouse bindings, `digit-argument',
        `negative-argument', `reftex-select-show-insertion-point'.
        (reftex-erase-buffer): BUFFER now defaults to current buffer.
 -      (reftex-label-alist-builtin): Added sidecap packages support.
 +      (reftex-label-alist-builtin): Add sidecap packages support.
        (reftex-last-follow-point, reftex-select-return-marker): New variables.
        (reftex-toc, reftex-select-item): Set `reftex-last-follow-point'.
        (reftex-toc-post-command-hook): Use `reftex-last-follow-point'.
  
        * font-lock.el (font-lock-constant-face): Variable and face renamed
        from font-lock-reference-face.
 -      (font-lock-reference-face): Changed value to font-lock-constant-face.
 +      (font-lock-reference-face): Change value to font-lock-constant-face.
  
        * add-log.el:
        * dired.el:
  1998-02-19  Kenichi Handa  <handa@etl.go.jp>
  
        * international/mule.el
 -      (after-insert-file-set-buffer-file-coding-system): Call
 -      set-buffer-multibyte instead of directly setting
 +      (after-insert-file-set-buffer-file-coding-system):
 +      Call set-buffer-multibyte instead of directly setting
        enable-multibyte-characters to nil.
  
 -      * language/china-util.el (setup-chinese-cns-environment): Correct
 -      the setting of default-input-method.
 +      * language/china-util.el (setup-chinese-cns-environment):
 +      Correct the setting of default-input-method.
  
        * international/mule-cmds.el (select-safe-coding-system): Kill the
        warning buffer before returning.
        * info-look.el (info-complete): Rewrite minibuffer completion code.
  
        * info-look.el (info-lookup-minor-mode, turn-on-info-lookup):
 -      Added minor mode interface.
 +      Add minor mode interface.
        (info-lookup-minor-mode-string): New variable.
        (info-lookup-minor-mode-map): New variable.
  
        (info-lookup-highlight-face): Variables customized.
  
        * info-look.el (info-lookup-alist): No longer customizable.
 -      (info-lookup-add-help, info-lookup-maybe-add-help): Interface
 -      functions for adding new modes.
 +      (info-lookup-add-help, info-lookup-maybe-add-help):
 +      Interface functions for adding new modes.
        (info-lookup-add-help*): New function.
        (info-lookup-symbol-alist, info-lookup-file-alist): Variables deleted.
        This info is specified now by calling info-lookup-maybe-add-help
        `parse-partial-sexp' contains the starting pos of the last
        literal.
  
 -1998-02-16  Barry A. Warsaw  <cc-mode-help@python.org>
 +1998-02-16  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
 -      * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode): Set
 -      imenu-case-fold-search to nil.
 +      * progmodes/cc-mode.el (c-mode, c++-mode, objc-mode, java-mode):
 +      Set imenu-case-fold-search to nil.
  
        * progmodes/cc-langs.el (c-postprocess-file-styles): If a file
        style or file offsets are set, make the variables local to the
        * progmodes/cc-defs.el (c-point): In XEmacs, use scan-lists +
        buffer-syntactic-context-depth.
  
 -      * progmodes/cc-vars.el (c-enable-xemacs-performance-kludge-p): New
 -      variable.
 +      * progmodes/cc-vars.el (c-enable-xemacs-performance-kludge-p):
 +      New variable.
  
        * progmodes/cc-cmds.el, progmodes/cc-engine.el (c-beginning-of-defun)
        (c-indent-defun, c-parse-state): Use (c-point 'bod) instead of
        * progmodes/cc-align.el (c-semi&comma-no-newlines-before-nonblanks)
        (c-semi&comma-no-newlines-for-oneline-inliners): New functions.
  
 -      * progmodes/cc-engine.el (c-guess-basic-syntax): Fixed a few byte
 +      * progmodes/cc-engine.el (c-guess-basic-syntax): Fix a few byte
        compiler warnings.
  
        * progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun):
  
        * progmodes/cc-langs.el (c-java-method-key): Variable deleted.
  
 -      * progmodes/cc-mode.el (java-mode): Set c-method-key to nil.  I
 -      don't think this is necessary for Java, and besides, the old value
 +      * progmodes/cc-mode.el (java-mode): Set c-method-key to nil.
 +      don't think this is necessary for Java, and besides, the old value
        was inherited from Objective-C which was clearly not right.
  
        * progmodes/cc-cmds.el (c-electric-colon): Don't insert newlines
        * progmodes/cc-cmds.el (c-electric-brace): namespace-open and
        namespace-close braces can hang.
  
 -      * progmodes/cc-defs.el (c-emacs-features): Added autoload cookie.
 +      * progmodes/cc-defs.el (c-emacs-features): Add autoload cookie.
  
 -      * progmodes/cc-engine.el (c-search-uplist-for-classkey): When
 -      searching up for a class key, instead of hardcoding the extended
 +      * progmodes/cc-engine.el (c-search-uplist-for-classkey):
 +      When searching up for a class key, instead of hardcoding the extended
        search for "extern", use the new variable c-extra-toplevel-key,
        which is language dependent.  For C++, this variable includes the
        keyword "namespace" which will match C++ namespace introducing
  
        CASE 3: we can now determine whether we're at the beginning of a
        cpp macro definition, or inside the middle of one.  Set syntax to
 -      'cpp-macro in the former case, 'cpp-macro-cont in the latter.  In
 -      both cases, the relpos is the beginning of the macro.
 +      'cpp-macro in the former case, 'cpp-macro-cont in the latter.
 +      In both cases, the relpos is the beginning of the macro.
  
 -      (c-forward-syntactic-ws): Added code that skips forward over
 +      (c-forward-syntactic-ws): Add code that skips forward over
        multi-line cpp macros.
  
 -      (c-beginning-of-macro): Moved, and made into a defsubst.  This
 -      function can now actually find the beginning of a multi-line C
 +      (c-beginning-of-macro): Move, and made into a defsubst.
 +      This function can now actually find the beginning of a multi-line C
        preprocessor macro.
  
        (c-backward-syntactic-ws): Use c-beginning-of-macro to skip
        (c-initialize-on-load): New variable, *not* customized.
  
        * progmodes/cc-styles.el (c-offsets-alist): Three new syntactic
 -      symbols: innamespace, namespace-open, namespace-close.  These
 -      support C++ namespace blocks.
 +      symbols: innamespace, namespace-open, namespace-close.
 +      These support C++ namespace blocks.
        Also, new syntactic symbol cpp-macro-cont, by default bound to
        c-lineup-dont-change.  This symbol is assigned to subsequent lines
        of a multi-line C preprocess macro definition.
        Introduce the new default style "user" which contains all user
        customizations.
  
 -      * progmodes/cc-vars.el (c-default-style): Renamed from
 +      * progmodes/cc-vars.el (c-default-style): Rename from
        c-site-default-style.
  
  1998-02-15  Aki Vehtari  <Aki.Vehtari@hut.fi>
        `bibtex-autokey-before-presentation-function' as it is not hook.
        (bibtex-autokey-get-namefield): Remove newlines unconditionally.
  
 -      * bibtex.el (bibtex-autokey): Fixed prefix.
 +      * bibtex.el (bibtex-autokey): Fix prefix.
        (bibtex-user-optional-fields): Better `:type'.
        (bibtex-autokey-names): Better `:type' and doc-fix.
        (bibtex-mark-active): New function, taking care of Emacs variants.
        (bibtex-run-with-idle-timer): Ditto.
        (bibtex-mode-map): Change `[(control tab)]' to `[(meta tab)]'.
 -      (bibtex-autokey-get-yearfield): Changed to accept year when year
 +      (bibtex-autokey-get-yearfield): Change to accept year when year
        field has field-delimiters.  This is quick fix, there might
        be better solution.
        (bibtex-mode): Don't call idle timer with 0 seconds.
  
  1998-02-15  Dirk Herrmann  <D.Herrmann@tu-bs.de>
  
 -      * bibtex.el (bibtex-autokey-get-yearfield): Fixed problem with
 +      * bibtex.el (bibtex-autokey-get-yearfield): Fix problem with
        parsing the year field.
  
        * bibtex.el (bibtex-comment-start): Font locking for comments added.
        * bibtex.el (bibtex-autokey-get-titles): Non capitalized title words
        are used for key generation as well.
        (bibtex-member-of-regexp): Case is honored for matches now.
 -      (bibtex-autokey-titleword-ignore): Added entries provide compatibility
 +      (bibtex-autokey-titleword-ignore): Add entries provide compatibility
        to former behavior.
  
        * bibtex.el (bibtex-autokey-titleword-ignore): Title words found in
        (info-look-completion): New variable.
  
        * info-look.el (info-lookup-symbol-alist):
 -      Added support for latex-mode, perl-mode, awk-mode, emacs-lisp-mode.
 +      Add support for latex-mode, perl-mode, awk-mode, emacs-lisp-mode.
  
  1998-02-13  Richard Stallman  <rms@psilocin.gnu.org>
  
  
  1998-02-12  Dave Love  <fx@gnu.org>
  
 -      * progmodes/scheme.el (scheme-imenu-generic-expression): Simplify
 -      regexps.
 +      * progmodes/scheme.el (scheme-imenu-generic-expression):
 +      Simplify regexps.
        (dsssl-imenu-generic-expression): Likewise.
        (scheme-mode-variables): Set imenu-syntax-alist.
 -      (dsssl-mode): Remove `!' from font-lock-defaults.  Set
 -      imenu-syntax-alist.
 +      (dsssl-mode): Remove `!' from font-lock-defaults.
 +      Set imenu-syntax-alist.
  
  1998-02-11  Richard Stallman  <rms@psilocin.gnu.org>
  
  
        * international/kinsoku.el: Use aref instead of sref.
  
 -      * international/mule-cmds.el (find-safe-coding-system): Return
 -      undecided if FROM == TO.
 +      * international/mule-cmds.el (find-safe-coding-system):
 +      Return undecided if FROM == TO.
        (select-safe-coding-system): Doc-string modified.
  
 -      * international/mule-util.el (compose-chars-component): Return
 -      result as unibyte string.
 +      * international/mule-util.el (compose-chars-component):
 +      Return result as unibyte string.
        (decompose-composite-char): Doc-string modified.
  
        * international/titdic-cnv.el: Many codes re-written to adjust for
  
  1998-02-02  Dan Nicolaescu  <done@ece.arizona.edu>
  
 -      * progmodes/hideshow.el (hs-special-modes-alist): Enhanced java
 +      * progmodes/hideshow.el (hs-special-modes-alist): Enhance java
        regexp.
  
  1998-02-02  Richard Stallman  <rms@psilocin.gnu.org>
  
  1998-02-01  Richard Stallman  <rms@psilocin.gnu.org>
  
 -      * emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode): Fix
 -      the doc strings used for the mode flag variable and the keymap.
 +      * emacs-lisp/easy-mmode.el (easy-mmode-define-minor-mode):
 +      Fix the doc strings used for the mode flag variable and the keymap.
        Delete duplicate &optional's.
  
        * emacs-lisp/edebug.el: Doc fixes.
  
  1998-02-01  Dan Nicolaescu  <done@ece.arizona.edu>
  
 -      * hideshow.el (hs-special-modes-alist): Improved the regexp for java.
 +      * hideshow.el (hs-special-modes-alist): Improve the regexp for java.
  
        * isearch.el (isearch-range-invisible): Avoid infinite loop when
        search-invisible is nil.
        * fortran.el: Various docstring and commentary fixes, including
        note of current maintainer.
        (fortran-mode): Use imenu-syntax-alist.
 -      (fortran-imenu-generic-expression): Use
 -      fortran-continuation-string, not always `+'.
 +      (fortran-imenu-generic-expression):
 +      Use fortran-continuation-string, not always `+'.
        (fortran-font-lock-keywords-1): Include symbol syntax as well as
        word, following syntax table changes.
        (fortran-imenu-generic-expression): Likewise.
        (fortran-mode-version, fortran-startup-message): Delete misleading
        variables.
        (fortran-mode): Don't use them.
 -      (fortran-column-ruler-fixed, fortran-column-ruler-tab): Fix
 -      leading \ which made `0' into null.
 +      (fortran-column-ruler-fixed, fortran-column-ruler-tab):
 +      Fix leading \ which made `0' into null.
        (fortran-join-line): New function and key binding.
        (fortran-narrow-to-subprogram): New function and key binding.
        (fortran-mode-syntax-table): Make ?., ?_, ?$ symbol, not word.
  
  1998-01-29  Carsten Dominik  <dominik@strw.LeidenUniv.nl>
  
 -      * textmodes/reftex.el (reftex-toc): Fixed bug with split-window.  Using
 -      split-window instead of split-window-vertically.
 -      (reftex-reset-mode): Removed obsolete buffer from kill list.
 -      (reftex-make-and-insert-label-list, reftex-do-citation): Delete
 -      other windows before displaying selection.
 -      (reftex-cite-format-builtin): Fixed bug in Chicago format.
 +      * textmodes/reftex.el (reftex-toc): Fix bug with split-window.
 +      Using split-window instead of split-window-vertically.
 +      (reftex-reset-mode): Remove obsolete buffer from kill list.
 +      (reftex-make-and-insert-label-list, reftex-do-citation):
 +      Delete other windows before displaying selection.
 +      (reftex-cite-format-builtin): Fix bug in Chicago format.
        (reftex-enlarge-to-fit): New function.
 -      (reftex-nicify-text): Cut context-string at \item,\\.  Changed
 -      match sequence for efficiency reasons.
 +      (reftex-nicify-text): Cut context-string at \item,\\.
 +      Changed match sequence for efficiency reasons.
        (reftex-parse-from-file): Include files can be ignored with
        `reftex-no-include-regexps'.
        (reftex-no-include-regexps): New option.
        (reftex-where-am-I): Interpret appendix match.
        (reftex-init-section-numbers): New arg: appendix.
        (reftex-section-number): Treat appendix enumeration.
 -      (reftex-toc-external): Improved message.
 +      (reftex-toc-external): Improve message.
        (reftex-compute-ref-cite-tables): Regular expression extended for
        appendix.
 -      (reftex-toc-rescan): Renamed from reftex-toc-redo.
 -      (reftex-toc-Rescan): Renamed from reftex-toc-Redo.
 +      (reftex-toc-rescan): Rename from reftex-toc-redo.
 +      (reftex-toc-Rescan): Rename from reftex-toc-Redo.
        (reftex-toc-revert): New function.
        (reftex-select-external-document): Completion on label prefixes.
 -      (reftex-find-file-on-path): Added an extra call to
 +      (reftex-find-file-on-path): Add an extra call to
        expand-file-name for the directory.
 -      (reftex-locate-bibliography-files): Added expand-file-name call.
 +      (reftex-locate-bibliography-files): Add expand-file-name call.
        (reftex-guess-label-type): New function.
        (reftex-word-before-point): Function removed.
        (reftex-reference): Uses reftex-guess-label-type.  Changed meaning
        (reftex-select-label-maps): Default bindings for TAB, up, down, RET.
        (reftex-select-read-string): Now uses completion.
        (reftex-make-and-insert-label-list): Prepare for completion.
 -      (reftex-where-am-I): Fixed bug with input files.
 +      (reftex-where-am-I): Fix bug with input files.
        (reftex-save-all-document-buffers): New command.
        (reftex-select-next-heading): New function.
        (reftex-select-previous-heading): New function.
        (reftex-select-read-string): New function.
        (reftex-offer-label-menu): Handle string value from reftex-select-item.
 -      (reftex-reference): Fixed bug (missing save-excursion).
 -      (reftex-toc-map): Added binding for ?n and ?p.
 -      (reftex-do-citation): Changed to use reftex-default-bibliography.
 +      (reftex-reference): Fix bug (missing save-excursion).
 +      (reftex-toc-map): Add binding for ?n and ?p.
 +      (reftex-do-citation): Change to use reftex-default-bibliography.
        (reftex-default-bibliography): New option.
        (reftex-find-tex-file): Check for file-name-absolute-p first.
        (reftex-format-label-function, reftex-format-ref-function)
        (reftex-format-cite-function): New hooks.
        (reftex-info): New function.
 -      (reftex-compute-ref-cite-tables): Removed interactive form.
 -      (reftex-where-am-I): Removed interactive form.
 -      (reftex-format-names): Removed interactive form.
 +      (reftex-compute-ref-cite-tables): Remove interactive form.
 +      (reftex-where-am-I): Remove interactive form.
 +      (reftex-format-names): Remove interactive form.
        (reftex-vref-is-default): New customization variable.
        (reftex-mode-menu): Capitalize citation options.
        (reftex-last-cnt): Variable removed.
        (reftex-last-data, reftex-last-line): New variables.
        (reftex-select-toggle-varioref): New function.
 -      (reftex-offer-label-menu): Changed mode-line-format for varioref.
 +      (reftex-offer-label-menu): Change mode-line-format for varioref.
        (reftex-select-label-help): Help string updated.
 -      (reftex-do-parse): Fixed bug with empty xr list.
 +      (reftex-do-parse): Fix bug with empty xr list.
        (reftex-view-crossref): Prefix argument interpretation changed.
        (reftex-get-offset): New function.
        (reftex-label): Remove selection buffer to force update.
        (reftex-access-scan-info): Remove selection buffers.
 -      (reftex-select-external-document): Fixed bug with highest index.
 +      (reftex-select-external-document): Fix bug with highest index.
        (reftex-label-index-list, reftex-found-list): Variables removed.
        (reftex-offer-label-menu, reftex-make-and-insert-label-list)
        (reftex-select-item, reftex-citation, reftex-select-label-callback)
 -      (reftex-bibtex-selection-callback, reftex-select-callback): Changed
 -      to put the scan data directly into the text property :data,
 +      (reftex-bibtex-selection-callback, reftex-select-callback):
 +      Change to put the scan data directly into the text property :data,
        instead of doing this indirectly with an index-list.
        (reftex-make-selection-buffer-name): New function.
        (reftex-tie-multifile-symbols): Store master-index-as-property.
        (reftex-access-parse-file): `Restore' action now throws an
        exception when the file is not found.
        (reftex-create-customize-menu): New function.
 -      (reftex-label): Fixed bug which made naked labels in \footnotes.
 +      (reftex-label): Fix bug which made naked labels in \footnotes.
        (reftex-select-label-map, reftex-select-bib-map): New keymaps for
        the RefTeX Select buffer.
        (reftex-select-next, reftex-select-previous, reftex-select-scroll-down)
        (reftex-extract-bib-entries-from-thebibliography): New function.
        (reftex-format-bibitem): New function.
        (reftex-parse-bibitem): New function.
 -      (reftex-make-desparate-section-regexp): Changed name to
 +      (reftex-make-desparate-section-regexp): Change name to
        reftex-make-desperate-section-regexp.
        (reftex-do-parse, reftex-locate-bibliography-files)
        (reftex-string-to-label, reftex-select-external-document)
        (reftex-select-search-minibuffer-map, reftex-access-search-path)
        (reftex-compute-ref-cite-tables, reftex-recursive-directory-list):
        All lambda expressions now quoted with `function'.
 -      (reftex-view-crossref, reftex-mouse-view-crossref): Fixed bug with
 +      (reftex-view-crossref, reftex-mouse-view-crossref): Fix bug with
        multiple calls.
        (reftex-get-buffer-visiting): Error message changed.
        (reftex-select-external-document, reftex-query-label-type)
        * progmodes/etags.el (find-tag-marker-ring-length): New variable.
        (find-tag-marker-ring): New variable.
        (tags-location-ring): New variable replacing tags-location-ring.
 -      (tags-location-stack): Deleted.
 +      (tags-location-stack): Delete.
        (tags-table-format-hooks): Doc fix.
        (initialize-new-tags-table): Init find-tag-marker-ring,
        tags-location-ring.
  
        * international/mule-cmds.el (toggle-enable-multibyte-characters):
        Use set-buffer-multibyte.
 -      (find-safe-coding-system-list-subset-p): Renamed from list-subset-p.
 +      (find-safe-coding-system-list-subset-p): Rename from list-subset-p.
        The call changed also.
  
  1998-01-28  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/titdic-cnv.el (titdic-convert): Set
 -      enable-multibyte-characters to t after inserting TIT file by
 +      * international/titdic-cnv.el (titdic-convert):
 +      Set enable-multibyte-characters to t after inserting TIT file by
        no-conversion.
        (tit-process-body): Do not bind enable-multibyte-characters to
        nil.
        instead of (` and (,.  Implement :filter.  Doc fix.
        (easy-menu-do-define): Call `easy-menu-create-menu' instead of
        `easy-menu-create-keymaps'.
 -      (easy-menu-create-keymaps): Replaced by `easy-menu-create-menu'.
 -      (easy-menu-create-menu): New public function.  Replaces
 -      `easy-menu-create-keymaps', but with large changes.
 +      (easy-menu-create-keymaps): Replace by `easy-menu-create-menu'.
 +      (easy-menu-create-menu): New public function.
 +      Replaces `easy-menu-create-keymaps', but with large changes.
        (easy-menu-button-prefix): New constant.
        (easy-menu-do-add-item, easy-menu-make-symbol): New functions.
        (easy-menu-update-button): Doc fix.
  
        * mail/emacsbug.el (emacsbug): Customized.
        (report-emacs-bug-no-confirmation):
 -      Renamed from report-emacs-bug-run-tersely.
 +      Rename from report-emacs-bug-run-tersely.
        (report-emacs-bug-no-explanations): New option.
        (report-emacs-bug): Handle that option.
  
  1998-01-22  Eric Ludlam  <zappo@mescaline.gnu.org>
  
 -      * mail/rmail.el (rmail-speedbar-buttons): Added speedbar support
 +      * mail/rmail.el (rmail-speedbar-buttons): Add speedbar support
        for Rmail, including rmail-speedbar-button,
        rmail-speedbar-find-file, rmail-move-message-to-folder-on-line,
        rmail-speedbar-move-message, and support variables.
  
 -      * info.el (Info-speedbar-buttons): Added speedbar support for Info
 +      * info.el (Info-speedbar-buttons): Add speedbar support for Info
        mode, including Info-speedbar-button, Info-speedbar-menu, and
        support variables.
  
 -      * gud.el (gud-speedbar-buttons): Added speedbar support for GUD in
 +      * gud.el (gud-speedbar-buttons): Add speedbar support for GUD in
        general, and for GDB specifically, including
        gud-gdb-goto-stackframe, gud-gdb-get-stackframe,
        gud-gdb-run-command-fetch-lines, gud-gdb-speedbar-stack-filter,
  
  1998-01-21  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/mule-cmds.el (prefer-coding-system): Call
 -      update-iso-coding-systems.
 +      * international/mule-cmds.el (prefer-coding-system):
 +      Call update-iso-coding-systems.
  
 -      * international/mule-util.el (string-to-sequence): Adjusted for
 +      * international/mule-util.el (string-to-sequence): Adjust for
        the change of multibyte-form handling (byte-base to char-base).
        (store-substring): Likewise.
        (truncate-string-to-width): Likewise.
        (set-language-environment-coding-systems): New function.
  
        * international/mule-conf.el: Adjusted for the change of the
 -      format of make-coding-system's 6th argument.  Initialize
 -      coding-category-iso-7-tight to iso-2022-jp.
 +      format of make-coding-system's 6th argument.
 +      Initialize coding-category-iso-7-tight to iso-2022-jp.
  
        * international/mule-diag.el (describe-coding-system): Change the
        format of showing safe charsets.
  
 -      * international/mule-util.el (find-safe-coding-system): Moved to
 +      * international/mule-util.el (find-safe-coding-system): Move to
        mule-cmds.el.
        (detect-coding-with-priority): New macro.
        (detect-coding-with-language-environment): New function.
  
        * language/japanese.el, language/korean.el, language/lao.el,
        * language/thai.el, language/tibetan.el, language/vietnamese.el:
 -      Adjusted for the change of make-coding-system.  Register
 -      coding-priority key in
 +      Adjusted for the change of make-coding-system.
 +      Register coding-priority key in
  
        * language/china-util.el, language/japan-util.el,
        * language/korea-util.el, language/tibet-util.el,
        (ccl-dump-translate-multiple-map, ccl-dump-translate-single-map):
        New functions.
  
 -      * international/mule.el (define-character-unification-table): New
 -      function.
 +      * international/mule.el (define-character-unification-table):
 +      New function.
  
 -      * international/mule-conf.el (oldjis-newjis-jisroman-ascii): New
 -      character unification table.
 +      * international/mule-conf.el (oldjis-newjis-jisroman-ascii):
 +      New character unification table.
        (standard-character-unification-table-for-decode): Initialize to
        `unification-table' property of `oldjis-newjis-jisroman-ascii'.
  
  
  1998-01-17  Karl Heuer  <kwzh@gnu.org>
  
 -      * register.el (number-to-register, increment-register): Args
 -      renamed to match doc.
 +      * register.el (number-to-register, increment-register):
 +      Args renamed to match doc.
  
  1998-01-17  Dave Love  <d.love@dl.ac.uk>
  
  
  1998-01-04  Richard Stallman  <rms@psilocin.gnu.org>
  
 -      * subr.el (sref): Defined.
 +      * subr.el (sref): Define.
  
  1998-01-03  Stephen Eglen  <stephen@cns.ed.ac.uk>
  
  
  1997-12-22  Kevin Rodgers  <kevinr@ihs.com>  (tiny change)
  
 -      * simple.el (previous-matching-history-element): Bind
 -      case-fold-search to nil if REGEXP contains an uppercase letter.
 +      * simple.el (previous-matching-history-element):
 +      Bind case-fold-search to nil if REGEXP contains an uppercase letter.
        (previous-matching-history-element, next-matching-history-element):
        Doc fixes.
  
  
  1997-12-21  Richard Stallman  <rms@psilocin.gnu.org>
  
 -      * msb.el (msb--home-dir): Renamed from msb--home-path.
 -      (msb--strip-dir): Renamed from msb--strip-path.
 +      * msb.el (msb--home-dir): Rename from msb--home-path.
 +      (msb--strip-dir): Rename from msb--strip-path.
  
  1997-12-21  Lars Lindberg  <Lars.G.Lindberg@capgemini.se>
  
        (ps-generate): Replace (if A B) by (and A B).
        (ps-do-despool): Dynamic evaluation for ps-lpr-switches.
        Replace (if A B) by (and A B).
 -      (color-instance-rgb-components, ps-color-values): Replace
 -      pixel-components by color-instance-rgb-components.
 +      (color-instance-rgb-components, ps-color-values):
 +      Replace pixel-components by color-instance-rgb-components.
        (ps-xemacs-face-kind-p): Replace face-font by face-font-instance,
        replace x-font-properties by font-instance-properties.
  
        * progmodes/scheme.el: Define indentation in normal dialect for
        let-syntax, letrec-syntax, syntax-rules, call-with-values,
        dynamic-wind.
 -      (scheme-mode-map): Remove lisp-complete-symbol.  Add
 -      uncomment-region menu item.
 +      (scheme-mode-map): Remove lisp-complete-symbol.
 +      Add uncomment-region menu item.
        (scheme-mode-hook, dsssl-mode-hook): Declare customized.
        (dsssl-sgml-declaration): Fix customization.
  
        * cus-edit.el (customize-changed-options): New function.
        (customize-version-lessp): New function.
  
 -      * facemenu.el (facemenu-remove-face-props): Renamed from
 +      * facemenu.el (facemenu-remove-face-props): Rename from
        facemenu-remove-props.  Remove only face and mouse-face.
        (facemenu-menu): Update menu item for facemenu-remove-face-props.
  
        (debugger-mode): Now runs hook `debugger-mode-hook'.
  
        * add-log.el (change-log-add-make-room): New function.
 -      (change-log-get-method-definition-1): Renamed get-method-definition-1.
 -      (change-log-get-method-definition): Renamed from get-method-definition.
 +      (change-log-get-method-definition-1): Rename get-method-definition-1.
 +      (change-log-get-method-definition): Rename from get-method-definition.
        (add-log-keep-changes-together): New user variable.
 -      (add-change-log-entry): Added missing WHOAMI explanation.
 +      (add-change-log-entry): Add missing WHOAMI explanation.
        Added new functionality according to variable
        `add-log-keep-changes-together'.
  
  
        * progmodes/cc-menus.el: Require imenu.
  
 -      * calendar/cal-french.el (french-calendar-special-days-array): New
 -      function.
 +      * calendar/cal-french.el (french-calendar-special-days-array):
 +      New function.
        (calendar-french-date-string, calendar-goto-french-date): Use that
        function instead of the variable.
  
  
  1997-12-01  Eli Zaretskii  <eliz@is.elta.co.il>
  
 -      * frame.el (make-frame-names-alist, select-frame-by-name): New
 -      functions, support frame selection with completion and history.
 +      * frame.el (make-frame-names-alist, select-frame-by-name):
 +      New functions, support frame selection with completion and history.
        (frame-name-history, frame-names-alist): New variables.
  
  1997-11-30  Dave Love  <d.love@dl.ac.uk>
  
  1997-11-24  Michael Kifer  <kifer@cs.sunysb.edu>
  
 -      * ediff-vers.el (cvs-run-ediff-on-file-descriptor): Set
 -      default-directory.
 +      * ediff-vers.el (cvs-run-ediff-on-file-descriptor):
 +      Set default-directory.
        (cvs-run-ediff-on-file-descriptor): Use ediff-buffers when
        type=MODIFIED.
        * ediff-init.el: Commented out ediff-set-face-pixmap.
  
  1997-11-24  Simon Marshall  <simon@gnu.org>
  
 -      * menu-bar.el (menu-bar-describe-menu): Fixed duplicate KEYs.
 +      * menu-bar.el (menu-bar-describe-menu): Fix duplicate KEYs.
  
  1997-11-24  Richard Stallman  <rms@psilocin.ai.mit.edu>
  
  
  1997-11-20  Karl Heuer  <kwzh@gnu.org>
  
 -      * international/mule-cmds.el (set-input-method): Renamed from
 +      * international/mule-cmds.el (set-input-method): Rename from
        select-input-method.
  
  1997-11-20  Eli Zaretskii  <eliz@is.elta.co.il>
        * gnus/gnus-mule.el (gnus-mule-initialize): Do not set
        nntp-coding-system-for-read and nntp-coding-system-for-write.
  
 -      * gnus/gnus-start.el (gnus-read-descriptions-file): Decode
 -      description if necessary.
 +      * gnus/gnus-start.el (gnus-read-descriptions-file):
 +      Decode description if necessary.
  
        * gnus/nntp.el (nntp-coding-system-for-read): Set default value to
        binary.
        (nntp-coding-system-for-write): Likewise.
  
 -      * international/mule-cmds.el (set-language-environment): Run
 -      exit-language-environment-hook before calling `exit-function'
 +      * international/mule-cmds.el (set-language-environment):
 +      Run exit-language-environment-hook before calling `exit-function'
        which is specified for the language environment.
  
        * language/european.el: Add "Upper Sorbian" and "Lower Sorbian" in
        (ediff-update-markers-in-dir-meta-buffer): New, for fast redisplay
        of meta buffer.
        (ediff-update-meta-buffer, ediff-redraw-directory-group-buffer)
 -      (ediff-previous-meta-overlay-start, ediff-next-meta-item): Changed to
 +      (ediff-previous-meta-overlay-start, ediff-next-meta-item): Change to
        support the above.
        (ediff-insert-session-info-in-meta-buffer)
        (diff-replace-session-status-in-meta-buffer)
  
  1997-10-31  Dave Love  <d.love@dl.ac.uk>
  
 -      * progmodes/fortran.el (fortran-imenu-generic-expression): New
 -      variable.
 +      * progmodes/fortran.el (fortran-imenu-generic-expression):
 +      New variable.
        (fortran-mode): Use it.
  
  1997-10-31  Richard Stallman  <rms@gnu.org>
  1997-10-28  Simon Marshall  <simon@gnu.org>
  
        * font-lock.el (font-lock-keywords): Doc fix.
 -      (font-lock-match-c++-style-declaration-item-and-skip-to-next): Allow
 -      any number of ::foo suffixes in declarative items.
 +      (font-lock-match-c++-style-declaration-item-and-skip-to-next):
 +      Allow any number of ::foo suffixes in declarative items.
  
        * lazy-lock.el (lazy-lock-fontify-after-defer): Check each buffer to
        make sure it still (a) exists and (b) has Lazy Lock mode turned on.
        (octave-comment-indent): Handle magic comments correctly.
        (calculate-octave-indent): Handle magic comments correctly.
  
 -      * progmodes/octave-mod.el (octave-abbrev-table): Added abbrevs for
 +      * progmodes/octave-mod.el (octave-abbrev-table): Add abbrevs for
        switch, case, otherwise, and endswitch.
 -      (octave-begin-keywords): Added switch.
 -      (octave-else-keywords): Added case and otherwise.
 -      (octave-end-keywords): Added endswitch.
 -      (octave-block-match-alist): Added an entry for switch syntax.
 -      (calculate-octave-indent): Added support for switch syntax.
 +      (octave-begin-keywords): Add switch.
 +      (octave-else-keywords): Add case and otherwise.
 +      (octave-end-keywords): Add endswitch.
 +      (octave-block-match-alist): Add an entry for switch syntax.
 +      (calculate-octave-indent): Add support for switch syntax.
        (octave-block-end-offset): New function.
        (octave-comment-indent): Fix a typo.
  
 -      * progmodes/octave-mod.el (octave-block-match-alist): Move
 -      `otherwise' to right after `case' to have octave-close-block()
 +      * progmodes/octave-mod.el (octave-block-match-alist):
 +      Move `otherwise' to right after `case' to have octave-close-block()
        correctly close a `switch' block by `endswitch'.
  
  1997-10-24  Carsten Dominik  <dominik@strw.LeidenUniv.nl>
        * reftex.el: The menu now used toggle and radio for some items.
        (reftex-default-context-regexps): `caption' now prefers the
        optional short caption.
 -      (reftex-offer-label-menu): Fixed bug which could kill master
 +      (reftex-offer-label-menu): Fix bug which could kill master
        buffer of external document.
 -      (reftex-select-item, reftex-get-buffer-visiting): Compatibility
 -      code works now the other way round.
 +      (reftex-select-item, reftex-get-buffer-visiting):
 +      Compatibility code works now the other way round.
        (reftex-select-external-document): Now gives a message when no
        external documents are available.
        (reftex-find-duplicate-labels): Single key strokes to exit or to
        do a query replace.  Made more user friendly in general.
 -      (reftex-section-levels, reftex-default-context-regexps): Move
 -      definition of these variables to configuration section.
 +      (reftex-section-levels, reftex-default-context-regexps):
 +      Move definition of these variables to configuration section.
  
  1997-10-24  Richard Stallman  <rms@gnu.org>
  
  
        * international/mule-util.el (find-safe-coding-system): New function.
  
 -      * international/mule.el (load-with-code-conversion): Update
 -      preloaded-file-list, bind load-file-name and
 +      * international/mule.el (load-with-code-conversion):
 +      Update preloaded-file-list, bind load-file-name and
        inhibit-frame-unsplittable properly.
        (make-char): Make it a function.  Set it byte-compile property to
        optimize byte-compiled codes.
        (make-coding-system): New optional arg charsets.  Set property
        `safe-charsets' of the coding system to it.
  
 -      * international/quail.el (quail-require-guidance-buf): Adjusted
 -      for the change of input-method-verbose-flag.
 +      * international/quail.el (quail-require-guidance-buf):
 +      Adjust for the change of input-method-verbose-flag.
  
        * language/chinese.el: Give proper SAFE-CHARSET argument in each
        call of make-coding-system.
        * language/korean.el: Give proper SAFE-CHARSET argument in each
        call of make-coding-system.  Set exit-function for language
        environment "Korean" to exit-korean-environment.
 -      (setup-korean-environment): Moved to korean.el.
 +      (setup-korean-environment): Move to korean.el.
  
        * language/lao.el: Give proper SAFE-CHARSET argument in each call
        of make-coding-system.
  
        * man.el (Man-getpage-in-background): Bind inhibit-eol-conversion
        to t before calling start-process or call-process.
 -      (Man-softhyphen-to-minus): New function.  If
 -      enable-multibyte-characters is non-nil, convert the code 0255 only
 +      (Man-softhyphen-to-minus): New function.
 +      If enable-multibyte-characters is non-nil, convert the code 0255 only
        when it is not a part of a multibyte characters.
        (Man-fontify-manpage): Call Man-softhyphen-to-minus.
        (Man-cleanup-manpage): Likewise.
        (lm-insert-at-column): Use FORCE arg of move-to-column.
        * emulation/tpu-edt.el (tpu-arrange-rectangle): Likewise.
  
 -1997-10-23  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-10-23  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        Merge in Release 5.19 of cc-mode.
  
        comment-column and there is non-whitespace preceding this on the
        current line.
  
 -      * progmodes/cc-mode.el (c-submit-bug-report): Remove
 -      c-recognize-knr-p.  Add c-comment-continuation-stars.
 +      * progmodes/cc-mode.el (c-submit-bug-report):
 +      Remove c-recognize-knr-p.  Add c-comment-continuation-stars.
  
        * progmodes/cc-styles.el (c-initialize-builtin-style):
        Only use copy-tree if it is funcall-able.  This is the right patch, and
        was given by Erik Naggum <erik@naggum.no>
  
 -1997-10-23  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-10-23  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-menus.el (cc-imenu-c-prototype-macro-regexp): New var.
  
        Given by jan.dubois@ibm.net (Jan Dubois).
  
        * progmodes/cc-menus.el (cc-imenu-java-generic-expression):
 -      Removed test for declaration
 +      Remove test for declaration
        statements.  Patch given by Ake Stenhoff <etxaksf@aom.ericsson.se>, as
        forwarded to me by RMS.
  
        to cc-imenu-objc-function to enable Imenu support for Objective-C.
        Contributed by Masatake (jet) YAMATO.
  
 -1997-10-23  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-10-23  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-styles.el (c-initialize-builtin-style):
        Use existing copy-tree if it's defined.
        c-offsets-alist must be copied recursively.  Use copy-tree solution
        given by Simon Marshall <simon@gnu.org>.
  
 -1997-10-23  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-10-23  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-cmds.el (c-beginning-of-statement):
        Fixes in sentence movement to properly
  
  1997-10-22  Kenichi Handa  <handa@etl.go.jp>
  
 -      * gnus/gnus-art.el (gnus-show-traditional-method): Call
 -      gnus-mule-decode-article only when enable-multibyte-characters is
 +      * gnus/gnus-art.el (gnus-show-traditional-method):
 +      Call gnus-mule-decode-article only when enable-multibyte-characters is
        non-nil.
  
        * gnus/gnus-ems.el (gnus-ems-redefine): Require `gnus-mule' only
  
  1997-10-21  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/mule-diag.el (describe-coding-system): Print
 -      information about coding system properties, post-read-conversion
 +      * international/mule-diag.el (describe-coding-system):
 +      Print information about coding system properties, post-read-conversion
        and pre-write-conversion.
 -      (print-coding-system-briefly): Adjusted for the change in mule.el.
 +      (print-coding-system-briefly): Adjust for the change in mule.el.
        (describe-current-coding-system): Likewise.
        (print-coding-system): Likewise.
  
        (2) Properties of a coding system (except for `coding-system' and
        `eol-type') is embedded in PLIST slot of coding-spec vector.
        (coding-spec-plist-idx): Initialize to 3.
 -      (coding-system-spec-ref): Deleted.
 -      (coding-system-spec): Moved from src/coding.c.
 -      (coding-system-type): Adjusted for the above change.
 +      (coding-system-spec-ref): Delete.
 +      (coding-system-spec): Move from src/coding.c.
 +      (coding-system-type): Adjust for the above change.
        (coding-system-mnemonic): Likewise.
        (coding-system-doc-string): Likewise.
        (coding-system-flags): Likewise.
        (coding-system-category): Likewise.
        (coding-system-get, coding-system-put, coding-system-category):
        New functions.
 -      (coding-system-base): Moved from mule-util.el and adjusted for the
 +      (coding-system-base): Move from mule-util.el and adjusted for the
        above change.
        (coding-system-parent): Make it obsolete alias of
        coding-system-base.
 -      (make-subsidiary-coding-system): Adjusted for the above change.
 +      (make-subsidiary-coding-system): Adjust for the above change.
        Update coding-system-list and coding-system-alist.
        (make-coding-system): Likewise.
        (define-coding-system-alias): Likewise.
        (set-buffer-file-coding-system): Typo in doc-string fixed.
 -      (after-insert-file-set-buffer-file-coding-system): Change
 -      enable-multibyte-characters only when
 +      (after-insert-file-set-buffer-file-coding-system):
 +      Change enable-multibyte-characters only when
        find-new-buffer-file-coding-system returns non-nil value.
 -      (find-new-buffer-file-coding-system): Adjusted for the above change.
 +      (find-new-buffer-file-coding-system): Adjust for the above change.
  
 -      * international/mule-cmds.el (read-multilingual-string): Use
 -      current-input-method prior to default-input-method.  Don't bind
 +      * international/mule-cmds.el (read-multilingual-string):
 +      Use current-input-method prior to default-input-method.  Don't bind
        current-input-method by `let', instead, activate the specified
        input method in the current buffer temporarily.
  
        * international/mule-conf.el: Change the way of making coding
        systems no-conversion and undecided.
  
 -      * international/mule-util.el (coding-system-base): Moved to
 +      * international/mule-util.el (coding-system-base): Move to
        mule.el.
        (coding-system-post-read-conversion):
        Use the new function coding-system-get.
        (coding-system-pre-write-conversion): Likewise.
        (coding-system-unification-table-for-decode): Likewise.
        (coding-system-unification-table-for-encode): Likewise.
 -      (coding-system-list): Adjusted for the change in mule.el.
 -      (coding-system-plist): Deleted.
 +      (coding-system-list): Adjust for the change in mule.el.
 +      (coding-system-plist): Delete.
        (coding-system-equal): Do not use coding-system-plist.
  
        * language/chinese.el: Use coding-system-put to set coding system
        * language/thai.el: Use coding-system-put to set coding system
        properties, post-read-conversion and pre-write-conversion.
  
 -      * language/tibet-util.el (tibetan-post-read-conversion): Return
 -      the length of converted region.
 +      * language/tibet-util.el (tibetan-post-read-conversion):
 +      Return the length of converted region.
  
        * language/tibetan.el: Use coding-system-put to set coding system
        properties, post-read-conversion and pre-write-conversion.
  
  1997-10-21  Tomohiko Morioka  <morioka@jaist.ac.jp>
  
 -      * gnus/nnfolder.el (nnfolder-request-list): Bind
 -      file-name-coding-system to binary.
 +      * gnus/nnfolder.el (nnfolder-request-list):
 +      Bind file-name-coding-system to binary.
        (nnfolder-possibly-change-group): Likewise.
  
        * gnus/nnml.el (nnml-retrieve-headers): Likewise.
        gnus-mule-initialize and setting coding system for nntp.
        (gnus-mule-select-coding-system): Get a coding system of the
        current newsgroup from gnus-summary-buffer.
 -      (gnus-mule-decode-summary): Deleted.
 +      (gnus-mule-decode-summary): Delete.
        (gnus-mule-initialize): Add-hook gnus-mule-select-coding-system to
        gnus-parse-headers-hook.  Don't add-hook gnus-mule-decode-summary
        and gnus-mule-decode-article.  Don't set process coding system for
        nntp stream to 'no-conversion, instead set
 -      nntp-coding-system-for-read to 'binary.  Set
 -      nnheader-file-coding-system and nnmail-file-coding-system to
 +      nntp-coding-system-for-read to 'binary.
 +      Set nnheader-file-coding-system and nnmail-file-coding-system to
        'binary.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
  
        * nnml.el (nnml-directory): Doc fix.
  
 -      * gnus-topic.el (gnus-topic-make-menu-bar): Added
 -      gnus-topic-edit-parameters.
 +      * gnus-topic.el (gnus-topic-make-menu-bar):
 +      Add gnus-topic-edit-parameters.
  
  1997-10-21  Jay Sachs  <sachs@interactive.net>
  
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Escape
 -      newlines.
 +      * gnus-start.el (gnus-gnus-to-quick-newsrc-format):
 +      Escape newlines.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  1997-10-21  Danny Siu  <dsiu@adobe.com>
  
        * smiley.el (smiley-buffer): Make smiley case sensitive.
 -      (smiley-deformed-regexp-alist): Added more regexp for happy smiley.
 +      (smiley-deformed-regexp-alist): Add more regexp for happy smiley.
        (smiley-nosey-regexp-alist): Same as above.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * nntp.el (nntp-nov-gap): Changed default.
 +      * nntp.el (nntp-nov-gap): Change default.
  
 -      * gnus-nocem.el (gnus-nocem-issuers): Fixed names.
 +      * gnus-nocem.el (gnus-nocem-issuers): Fix names.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  
        * gnus.el (gnus-simplify-mode-line): Use varying formats.
  
 -      * gnus-xmas.el (gnus-xmas-group-remove-excess-properties): Removed.
 -      (gnus-xmas-topic-remove-excess-properties): Removed.
 +      * gnus-xmas.el (gnus-xmas-group-remove-excess-properties): Remove.
 +      (gnus-xmas-topic-remove-excess-properties): Remove.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  
  1997-10-21  Michael R. Cook  <mcook@cognex.com>
  
 -      * gnus-topic.el (gnus-topic-toggle-display-empty-topics): List
 -      groups.
 +      * gnus-topic.el (gnus-topic-toggle-display-empty-topics):
 +      List groups.
  
  1997-10-21  Per Abrahamsen  <abraham@dina.kvl.dk>
  
        * gnus-start.el (gnus-check-first-time-used): Force reading the
        active file the first time Gnus is used.
  
 -      * gnus-group.el (gnus-group-set-mode-line): Conditionalize
 -      modified.
 +      * gnus-group.el (gnus-group-set-mode-line):
 +      Conditionalize modified.
  
        * gnus-ems.el (gnus-mode-line-modified): New variable.
  
  
        * message.el (message-clone-locals): Made into own function.
  
 -      * gnus.el (gnus-select-method): Changed default.
 +      * gnus.el (gnus-select-method): Change default.
  
 -      * gnus-start.el (gnus-read-active-file): Changed default to
 +      * gnus-start.el (gnus-read-active-file): Change default to
        `some'.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * gnus-sum.el (t): Moved pop article keystroke.
 +      * gnus-sum.el (t): Move pop article keystroke.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * nnmail.el (nnmail-search-unix-mail-delim-backward): Allow
 -      several "From "'s.
 +      * nnmail.el (nnmail-search-unix-mail-delim-backward):
 +      Allow several "From "'s.
        (nnmail-search-unix-mail-delim): Ditto.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * gnus-sum.el (gnus-summary-limit-children): Typo.  Wouldn't
 -      marked NoCeM'ed out messages as read.
 +      * gnus-sum.el (gnus-summary-limit-children): Typo.
 +      Wouldn't marked NoCeM'ed out messages as read.
  
  1997-10-21  Darren Stalder  <torin@daft.com>
  
  
  1997-10-21  Danny Siu  <dsiu@adobe.com>
  
 -      * gnus-picon.el (gnus-group-display-picons): Use
 -      gnus-group-real-name so that picons for foreign groups display
 +      * gnus-picon.el (gnus-group-display-picons):
 +      Use gnus-group-real-name so that picons for foreign groups display
        correctly.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  1997-10-21  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus-cite.el (gnus-cite-attribution-prefix): Recognize
 -      Microsoft/Agent style attribution lines.
 +      * gnus-cite.el (gnus-cite-attribution-prefix):
 +      Recognize Microsoft/Agent style attribution lines.
        (gnus-cite-attribution-suffix): Ditto.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
        (gnus-cache-possibly-alter-active): Test statement removed.
        (gnus-cache-articles-in-group): Would destroy hashtb.
  
 -      * gnus-sum.el (gnus-summary-limit-mark-excluded-as-read): Don't
 -      mark everything as read.
 +      * gnus-sum.el (gnus-summary-limit-mark-excluded-as-read):
 +      Don't mark everything as read.
  
        * gnus-cite.el (gnus-article-fill-cited-article): Nix out
        gnus-cite-article.
  
        * nnml.el (nnml-update-file-alist): Allow forcing.
  
 -      * nnheaderxm.el (nnheader-xmas-find-file-noselect): Removed.
 -      (nnheader-xmas-cancel-timer): Removed.
 -      (nnheader-xmas-cancel-function-timers): Removed.
 +      * nnheaderxm.el (nnheader-xmas-find-file-noselect): Remove.
 +      (nnheader-xmas-cancel-timer): Remove.
 +      (nnheader-xmas-cancel-function-timers): Remove.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
  
        * message.el (message-set-auto-save-file-name): Create unique auto
        save file names.
  
 -      * gnus-topic.el (gnus-topic-tallied-groups): Removed.
 +      * gnus-topic.el (gnus-topic-tallied-groups): Remove.
        (gnus-topic-prepare-topic): Output right number of articles in
        each sub-topic.
  
        need be displayed.
        (gnus-picons-lock): Function deleted.
        (gnus-picons-remove): Don't use it.  New way of locking.
 -      (gnus-picons-next-job-internal): New way of locking.  Handle
 -      new tag 'bar.
 +      (gnus-picons-next-job-internal): New way of locking.
 +      Handle new tag 'bar.
        (gnus-picons-next-job): New way of locking.
        (gnus-picons-buffer): Variable deleted.
 -      (gnus-picons-remove-all): Modified accordingly.
 +      (gnus-picons-remove-all): Modify accordingly.
        (gnus-group-annotations-lock): Variable deleted.
        (gnus-article-annotations-lock): Variable deleted.
        (gnus-x-face-annotations-lock): Variable deleted.
 -      (gnus-picons-news-directories): Renamed, was
 +      (gnus-picons-news-directories): Rename, was
        gnus-picons-news-directory.
        (gnus-picons-url-retrieve): Do not change url-show-status.
        (gnus-picons-clear-cache): Also clear gnus-picons-url-alist.
  
  1997-10-21  Michael R. Cook  <mcook@cognex.com>
  
 -      * gnus-topic.el (gnus-topic-toggle-display-empty-topics): New
 -      function.
 +      * gnus-topic.el (gnus-topic-toggle-display-empty-topics):
 +      New function.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
 -      * gnus-topic.el (gnus-topic-create-topic): Added doc.
 +      * gnus-topic.el (gnus-topic-create-topic): Add doc.
  
        * gnus-sum.el (gnus-summary-refer-article): Insert sparse
        non-displayed articles properly.
        (gnus-article-display-picons): Use the job queue if using the network.
        (gnus-group-display-picons): Ditto.
        (gnus-picons-make-path): Function deleted.
 -      (gnus-picons-lookup-internal): Modified accordingly.
 +      (gnus-picons-lookup-internal): Modify accordingly.
        (gnus-picons-lookup-user-internal): Take the LETs out of the loops.
        (gnus-picons-lookup-pairs): Take constant calculation outside of loop.
        (gnus-picons-display-picon-or-name): Use COND instead of nested IFs.
        (gnus-picons-users-image-alist): New variable.
        (gnus-picons-retrieve-user-callback): Use it.
        Added support for network retrieval of picons.
 -      (gnus-picons-map): Removed.
 -      (gnus-picons-remove): Removed case to handle processes.
 +      (gnus-picons-map): Remove.
 +      (gnus-picons-remove): Remove case to handle processes.
        (gnus-picons-processes-alist): New variable.
 -      (gnus-picons-x-face-sentinel): Simplified.  Use processes alist.
 +      (gnus-picons-x-face-sentinel): Simplify.  Use processes alist.
        (gnus-picons-display-x-face): Explicitly request an xface image.
        Always call gnus-picons-prepare-for-annotations.  Use processes alist.
        (gnus-picons-lookup-internal): New function.
        (gnus-picons-lookup): Use it.
        (gnus-picons-lookup-user-internal): Ditto.
        (gnus-picons-display-picon-or-name): No more xface-p argument.
 -      (gnus-picons-try-suffixes): Removed.
 +      (gnus-picons-try-suffixes): Remove.
        (gnus-picons-try-face): New function.  Does the caching in
        gnus-picons-glyph-alist.
        (gnus-picons-try-to-find-face): Take a glyph argument instead of a
        path.  No more xface-p argument.  Only use one annotation even if
        gnus-picons-display-as-address.
 -      (gnus-picons-toggle-extent): Changed into an annotation action.
 +      (gnus-picons-toggle-extent): Change into an annotation action.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
  
  
  1997-10-21  Kim-Minh Kaplan  <kimminh.kaplan@utopia.eunet.fr>
  
 -      * gnus-picon.el (gnus-picons-prepare-for-annotations): New
 -      function, and many changes.
 +      * gnus-picon.el (gnus-picons-prepare-for-annotations):
 +      New function, and many changes.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
        * gnus-cache.el (gnus-cache-move-cache): Allow entering directory
        name.
  
 -      * nntp.el (nntp-telnet-command, nntp-telnet-switches): New
 -      variables.
 +      * nntp.el (nntp-telnet-command, nntp-telnet-switches):
 +      New variables.
  
        * gnus-score.el (gnus-summary-increase-score): Refuse illegal
        match types.
  
  1997-10-21  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus-ems.el (gnus-article-x-face-command): Removed bogus
 +      * gnus-ems.el (gnus-article-x-face-command): Remove bogus
        declaration.
  
  1997-10-21  Paul Franklin  <paul@cs.washington.edu>
        * message.el (message-cancel-news): Only say we cancel if we
        cancel.
  
 -      * gnus-msg.el (gnus-summary-mail-crosspost-complaint): Deactivate
 -      mark.
 +      * gnus-msg.el (gnus-summary-mail-crosspost-complaint):
 +      Deactivate mark.
  
  1997-10-21  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
  
        (reftex-make-master-buffer-hook): Hook removed.
        (reftex-insert-buffer-or-file): Function removed.
        (reftex-parse-document): Function adapted to new parser.
 -      (reftex-access-scan-info): Changed to fit new parser.  Now detects
 +      (reftex-access-scan-info): Change to fit new parser.  Now detects
        changes in label-alist related variables automatically.
        (reftex-parse-one, reftex-parse-all): New functions.
        (reftex-all-document-files): New function.
        (reftex-find-nearby-label): Function removed.
        (reftex-scan-buffer-for-labels): Function removed.
        (reftex-section-info): New function.
 -      (reftex-nth-parens-substring): Renamed to reftex-nth-arg.  Return
 -      nil when not enough args are present.
 +      (reftex-nth-parens-substring): Rename to reftex-nth-arg.
 +      Return nil when not enough args are present.
        (reftex-move-over-touching-args): New function.
        (reftex-where-am-I): New function.
        (reftex-nth-arg-wrapper): New function.
        several backup methods.
        (reftex-citation): Recursive edit moved to `e' key.
        (reftex-scan-buffer): Function removed.
 -      (reftex-get-bibfile-list): Changed to work with chapterbib
 +      (reftex-get-bibfile-list): Change to work with chapterbib
        package.
        (reftex-find-tex-file): New function.
        (reftex-find-files-on-path): Now first looks for file with
        reftex-do-citation.
        (reftex-do-citation): Recursive edit now on `e' key.
        (reftex-what-macro): Allow white space between macro arguments.
 -      (reftex-allow-for-ctrl-m): Renamed to
 +      (reftex-allow-for-ctrl-m): Rename to
        `reftex-make-regexp-allow-for-ctrl-m'.
        (reftex-nearest-match): New function.
        (reftex-auto-mode-alist): New function.
        (reftex-parse-args): New function.
        (easy-menu-define): Menu extended.  Some parts are now computed.
        from the user options.
 -      (reftex-move-to-next-arg, reftex-move-to-previous-arg): New
 -      functions.  Now we can parse macros with distributed arguments.
 +      (reftex-move-to-next-arg, reftex-move-to-previous-arg):
 +      New functions.  Now we can parse macros with distributed arguments.
        (reftex-goto-label): Function removed.
        (reftex-position-cursor): Function removed.
        (reftex-item): Function removed.
  
        * iso-insert.el: Add autoloads for `8859-1-map'.
  
 -      * cus-edit.el (custom-group-value-create): Use
 -      `custom-group-visibility' instead of `group-visibility'.
 +      * cus-edit.el (custom-group-value-create):
 +      Use `custom-group-visibility' instead of `group-visibility'.
  
  1997-10-19  Richard Stallman  <rms@gnu.org>
  
        (double-map): Add customize support.
        (double-prefix-only): Ditto.
  
 -      * textmodes/nroff-mode.el (nroff): Moved from `editing' to `wp'.
 +      * textmodes/nroff-mode.el (nroff): Move from `editing' to `wp'.
  
        * wid-edit.el (variable-link): New widget.
        (widget-variable-link-action): New function.
        (view-highlight-face, view-scroll-auto-exit)
        (view-try-extend-at-buffer-end)
        (view-remove-frame-by-deleting, view-mode-hook):
 -      Defined by defcustom instead of by defvar.
 +      Define by defcustom instead of by defvar.
        (view-mode-enter): Install exit-action also when view-mode is
        already on.  Small rewrite using unless.
        (view-mode, view-mode-exit, view-scroll-lines, view-really-at-end)
        * comint.el (comint-regexp-arg): Likewise.
        * term.el (term-regexp-arg): Likewise.
  
 -      * simple.el (repeat-complex-command): Bind
 -      minibuffer-history-sexp-flag to the minibuffer depth.
 +      * simple.el (repeat-complex-command):
 +      Bind minibuffer-history-sexp-flag to the minibuffer depth.
        (next-history-element): Compare minibuffer-history-sexp-flag
        against the current minibuffer depth to verify its validity.
        (previous-matching-history-element): Likewise.
        * finder.el (finder-mode-map): Bind [mouse-2].
        (finder-compile-keywords): Match compressed file names, but don't
        put compression extension in the output.
 -      (finder-find-library): Deleted.
 +      (finder-find-library): Delete.
        (finder-commentary): Use locate-library, not finder-find-library.
        (finder-mouse-select): New function.
        (finder-summary): Mention mouse binding.
  
  1997-09-30  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
 -      * vc-hooks.el (vc-find-cvs-master): Added missing `throw' for
 +      * vc-hooks.el (vc-find-cvs-master): Add missing `throw' for
        the case when TIMESTAMP is arbitrary text.
  
  1997-09-30  Hrvoje Niksic  <hniksic@srce.hr>
  
        * ediff-init.el: Added documentation to face-variables.
  
 -      * ediff-util.el (ediff-next-difference, ediff-previous-difference): Use
 -      ediff-merge-region-is-non-clash and don't compute fine diffs when
 +      * ediff-util.el (ediff-next-difference, ediff-previous-difference):
 +      Use ediff-merge-region-is-non-clash and don't compute fine diffs when
        skipping non-clash regions.
  
        * ediff-merg.el (ediff-merge-region-is-non-clash): New function.
  
  1997-09-15  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
  
 -      * mule.el (find-new-buffer-file-coding-system): Reflect
 -      text coding part of default-buffer-file-coding-system to
 +      * mule.el (find-new-buffer-file-coding-system):
 +      Reflect text coding part of default-buffer-file-coding-system to
        buffer-file-coding-system when buffer-file-coding-system is
        not locally set and ASCII only text is read.
  
 -1997-09-15  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-09-15  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-styles.el (c-initialize-builtin-style):
        Copy the whole tree instead of just copy-sequence.
  
  1997-09-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  
 -      * international/quail.el (quail-completion-list-translations): Fix
 -      and simplify generation of translation list.
 +      * international/quail.el (quail-completion-list-translations):
 +      Fix and simplify generation of translation list.
  
 -      * international/titdic-cnv.el (tit-process-header): Convert
 -      argument of KEYPROMPT if it contains an escape.
 +      * international/titdic-cnv.el (tit-process-header):
 +      Convert argument of KEYPROMPT if it contains an escape.
        (tit-process-body): Handle trailing whitespace and multiple spaces
        between phrases.
  
  
  1997-09-12  Michael Kifer  <kifer@cs.sunysb.edu>
  
 -      * viper-keym.el (viper-want-ctl-h-help): Updated doc string.
 +      * viper-keym.el (viper-want-ctl-h-help): Update doc string.
        (viper-vi-basic-map, viper-insert-basic-map, viper-replace-map):
 -      Added binding for backspace.
 -      * viper-cmd.el (viper-adjust-keys-for): Separated backspace and C-h.
 +      Add binding for backspace.
 +      * viper-cmd.el (viper-adjust-keys-for): Separate backspace and C-h.
  
  1997-09-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  
  1997-09-12  Inge Frick  <inge@nada.kth.se>
  
 -      * compile.el (compilation-parse-errors): Fixed two bugs that
 +      * compile.el (compilation-parse-errors): Fix two bugs that
        could make compilation-parse-errors loop infinitely.  Each round
        of the parsing loop now either moves point ahead at least a line
        or sets `found-desired' to true to stop the loop.
  
  1997-09-11  Eli Zaretskii  <eliz@is.elta.co.il>
  
 -      * international/mule-diag.el (describe-coding-system): Describe
 -      coding systems of type 5, raw-text.
 +      * international/mule-diag.el (describe-coding-system):
 +      Describe coding systems of type 5, raw-text.
  
        * hexl.el (hexlify-buffer): Bind coding-system-for-write to
        raw-text with eol-type derived from the buffer-file-coding-system.
  
  1997-09-10  Michael Ernst  <mernst@cs.washington.edu>
  
 -      * uniquify.el (uniquify-ignore-buffers-re): Added.
 +      * uniquify.el (uniquify-ignore-buffers-re): Add.
  
  1997-09-10  Michael Kifer  <kifer@cs.sunysb.edu>
  
 -      * viper-keym.el (viper-help-modifier-map): Deleted; help mode map is
 +      * viper-keym.el (viper-help-modifier-map): Delete; help mode map is
        no longer modified.
        * viper.el (viper-set-hooks): Make help buffers come up in emacs state.
  
        (ethio-fidel-to-sera-mail-or-marker): New function.
        (ethio-find-file): Do nothing if not in ethio-mode.
        (ethio-write-file): Likewise.
 -      (ethio-prefer-ascii-space): Moved from leim/quail/ethiopic.el.
 +      (ethio-prefer-ascii-space): Move from leim/quail/ethiopic.el.
        (ethio-toggle-space): Likewise.
        (ethio-insert-space): Likewise.
        (ethio-insert-ethio-space): Likewise.
  
  1997-09-10  Kenichi Handa  <handa@etl.go.jp>
  
 -      * language/japan-util.el (setup-japanese-environment): Give
 -      iso-2022-jp to set-default-coding-system if not running on DOS.
 +      * language/japan-util.el (setup-japanese-environment):
 +      Give iso-2022-jp to set-default-coding-system if not running on DOS.
        (read-hiragana-string): Use input method "japanese-hiragana".
  
        * gnus/gnus-mule.el: Add coding system specification for several
  
  1997-09-08  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * cus-edit.el (custom-variable-save): Fixed doc string.
 +      * cus-edit.el (custom-variable-save): Fix doc string.
  
        * cus-edit.el (custom-variable-menu): Make it clear that `Lisp
        mode' edit the initial lisp expression.
  
  1997-09-08  Eli Zaretskii  <eliz@is.elta.co.il>
  
 -      * info.el (info-insert-file-contents): Bind
 -      coding-system-for-write to no-conversion.
 +      * info.el (info-insert-file-contents):
 +      Bind coding-system-for-write to no-conversion.
  
  1997-09-08  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  
  
        * telnet.el (telnet-initial-filter): Temporarily go to proper buffer.
  
 -1997-09-07  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-09-07  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
 -      * progmodes/cc-mode.el (c-version): Updated.
 +      * progmodes/cc-mode.el (c-version): Update.
  
        * progmodes/cc-cmds.el (c-beginning-of-statement):
        Fixes in sentence movement to properly
  
  1997-09-05  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
  
 -      * language/japan-util.el (setup-japanese-environment): Set
 -      coding-category-iso-8-else to japanese-iso-8bit.
 +      * language/japan-util.el (setup-japanese-environment):
 +      Set coding-category-iso-8-else to japanese-iso-8bit.
  
  1997-09-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-09-05  Michael Kifer  <kifer@cs.sunysb.edu>
  
        * viper-init.el (viper-replace-region-start-delimiter):
 -      Improved the default.
 +      Improve the default.
        * viper-mous.el (viper-mouse-click-search-word)
        (viper-mouse-click-insert-word):
 -      Fixed to not react when click is not over a text area.
 +      Fix to not react when click is not over a text area.
        * viper.el (read-file-name): Unadvised.
        * viper-cmd.el (viper-insert-state-post-command-sentinel)
        (viper-save-last-insertion):
  1997-09-02  Geoff Voelker  <voelker@cs.washington.edu>
  
        * w32-fns.el: Update doc strings.
 -      (w32-startup): Deleted function.
 +      (w32-startup): Delete function.
        (w32-check-shell-configuration, w32-init-info): New functions.
 -      (w32-system-shell-p): Renamed from w32-using-system-shell-p.
 +      (w32-system-shell-p): Rename from w32-using-system-shell-p.
        Added shell name argument.
  
  1997-09-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-08-31  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  
 -      * emacs-lisp/bytecomp.el (byte-compile-output-file-form): Handle
 -      custom-declare-variable.
 +      * emacs-lisp/bytecomp.el (byte-compile-output-file-form):
 +      Handle custom-declare-variable.
  
 -      * international/mule-diag.el (describe-current-coding-system): Add
 -      missing newline in output.
 +      * international/mule-diag.el (describe-current-coding-system):
 +      Add missing newline in output.
  
  1997-08-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  
  1997-08-29  Carsten Dominik  <dominik@strw.LeidenUniv.nl>
  
 -      * reftex.el (reftex-customize): Added call to customize browse.
 +      * reftex.el (reftex-customize): Add call to customize browse.
        (reftex-show-commentary): New function.
        (reftex-label-alist): Prefix may contain % escapes.  Nth macro
        argument may be context.  May give two different context methods.
        (reftex-default-label-alist-entries): Customization type changed.
        (reftex-label-menu-flags): Extra flag for searches.
 -      (reftex-cite-format): Changed completely, % escapes are now used.
 +      (reftex-cite-format): Change completely, % escapes are now used.
        (reftex-comment-citations): New variable.
        (reftex-cite-comment-format): New variable.
        (reftex-cite-punctuation): New variable.
 -      (reftex-make-master-buffer): Changed name of master buffer,
 +      (reftex-make-master-buffer): Change name of master buffer,
        removed interactive.  Runs a hook on the buffer.  Interpret
        TEXINPUTS environment variable.  Allow naked argument for \input.
        Master buffer is now in fundamental mode.
  
        * international/mule.el (make-coding-system): Make TYPE 5 means
        raw-text.
 -      (after-insert-file-set-buffer-file-coding-system): Set
 -      enable-multibyte-characters to nil if we read a file with
 +      (after-insert-file-set-buffer-file-coding-system):
 +      Set enable-multibyte-characters to nil if we read a file with
        no-conversion or raw-text-XXXX.
  
 -      * international/mule-conf.el (raw-text): New coding system.  Set
 -      coding-category-raw-text to raw-text.
 +      * international/mule-conf.el (raw-text): New coding system.
 +      Set coding-category-raw-text to raw-text.
  
 -      * language/english.el (setup-english-environment): Set
 -      coding-category-raw-text to raw-text.
 +      * language/english.el (setup-english-environment):
 +      Set coding-category-raw-text to raw-text.
  
 -      * language/viet-util.el (setup-vietnamese-environment): Set
 -      coding-category-raw-text to vietnamese-viscii.
 +      * language/viet-util.el (setup-vietnamese-environment):
 +      Set coding-category-raw-text to vietnamese-viscii.
  
        * language/cyril-util.el (setup-cyrillic-alternativnyj-environment):
        Set coding-category-raw-text to cyrillic-alternativnyj.
  
        * international/mule-cmds.el (update-leim-list-file): Make it
        handle multiple directories.
 -      (update-all-leim-list-files): Deleted.
 +      (update-all-leim-list-files): Delete.
  
        * international/quail.el (quail-update-leim-list-file): Make it
        handle multiple directories.
  
        * nnfolder.el (nnfolder-request-list): Override
        'nnmail-file-coding-system' by 'nnmail-active-file-coding-system'.
 -      (nnfolder-request-list, nnfolder-possibly-change-group): Protect
 -      from conversion by `pathname-coding-system' for XEmacs/mule.
 +      (nnfolder-request-list, nnfolder-possibly-change-group):
 +      Protect from conversion by `pathname-coding-system' for XEmacs/mule.
        (nnfolder-group-pathname): Encode pathname for Emacs 20.
  
        * nnmh.el (nnmh-request-list, nnmh-active-number): Protect from
  
        * gnus-sum.el (gnus-structured-field-decoder): New variable.
        (gnus-unstructured-field-decoder): New variable.
 -      (gnus-get-newsgroup-headers, gnus-nov-parse-line): Use
 -      `gnus-structured-field-decoder' and
 +      (gnus-get-newsgroup-headers, gnus-nov-parse-line):
 +      Use `gnus-structured-field-decoder' and
        `gnus-unstructured-field-decoder' for Subject field.
  
  1997-08-28  Miyashita Hisashi  <himi@etl.go.jp>
        * files.el (revert-buffer): Read a file without any code
        conversion if we are reverting from an auto-saved file.
  
 -      * language/japanese.el (set-language-info-alist): Change
 -      iso-2022-7bit to iso-2022-jp.
 +      * language/japanese.el (set-language-info-alist):
 +      Change iso-2022-7bit to iso-2022-jp.
  
        * replace.el (query-replace-read-args): Locally bind
        minibuffer-inherit-input-method to t to make a minibuffer inherit
        and changed into defsubsts.
        (last): New function.
  
 -      * emacs-lisp/cl.el (caar, cadr, cdar, cddr): Moved to subr.el.
 +      * emacs-lisp/cl.el (caar, cadr, cdar, cddr): Move to subr.el.
        (last): Function renamed to last*.
        * emacs-lisp/cl-macs.el (cl-loop-let): Use last*.
  
        * time.el (display-time-hook): Minor doc fix.
  
 -      * ps-print.el (ps-zebra-stripes): Renamed from ps-zebra-stripe.
 -      (ps-zebra-stripe-height): Renamed from ps-number-of-zebra.
 +      * ps-print.el (ps-zebra-stripes): Rename from ps-zebra-stripe.
 +      (ps-zebra-stripe-height): Rename from ps-number-of-zebra.
  
        * vc.el (vc-version-diff): Mention that default file is visited file.
  
        (bookmark-bmenu-check-position): Return a meaningful value --
        callers have apparently been assuming this anyway.
        (bookmark-build-xemacs-menu): Unused function deleted.
 -      (bookmark-version): Removed this variable; the Emacs version suffices.
 +      (bookmark-version): Remove this variable; the Emacs version suffices.
  
  1997-08-22  Simon Marshall  <simon@gnu.ai.mit.edu>
  
        * viper-cmd.el (viper-replace-char-subr, viper-word-*)
        (viper-separator-skipback-special): Made to work with mule and syntax
        tables.
 -      (viper-change-state): Moved iso-accents-mode handling here from
 +      (viper-change-state): Move iso-accents-mode handling here from
        viper-change-state-to-vi/insert/etc.  Also now toggles MULE.
  
  1997-08-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-08-21  Kenichi HANDA  <handa@etl.go.jp>
  
 -      * language/cyril-util.el (setup-cyrillic-environment): Deleted.
 +      * language/cyril-util.el (setup-cyrillic-environment): Delete.
        (setup-cyrillic-iso-environment): New function.
        (setup-cyrillic-koi8-environment): New function.
        (setup-cyrillic-alternativnyj-environment): New function.
        (auto-file-coding-system-function): Set this variable to
        `auto-file-coding-system'.
  
 -      * international/quail.el (quail-terminate-translation): Run
 -      input-method-after-insert-chunk-hook only when the current input
 +      * international/quail.el (quail-terminate-translation):
 +      Run input-method-after-insert-chunk-hook only when the current input
        method doesn't require conversion.
        (quail-no-conversion): Run input-method-after-insert-chunk-hook.
  
        * international/mule-util.el (coding-system-unification-table):
 -      Deleted.
 +      Delete.
        (coding-system-unification-table-for-decode): New function.
        (coding-system-unification-table-for-encode): New function.
  
        * international/mule.el (make-coding-system): Doc-string fixed.
  
 -      * international/fontset.el (register-alternate-fontnames): New
 -      function.
 +      * international/fontset.el (register-alternate-fontnames):
 +      New function.
        (x-complement-fontset-spec): Register alternate fontnames by
        calling register-alternate-fontnames.
        (instanciate-fontset): Likewise.
        (ps-background-image, ps-background, ps-header-height)
        (ps-get-face): New internal functions.
        (ps-control-character): Handle control characters.
 -      (ps-gnus-print-article-from-summary): Updated for Gnus 5.
 +      (ps-gnus-print-article-from-summary): Update for Gnus 5.
        (ps-jack-setup): Replace 'nil by nil, 't by t.
  
  1997-08-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
        * files.el (append-to-file): Doc-string fixed.
  
 -      * international/quail.el (quail-exit-from-minibuffer): Call
 -      inactivate-input-method instead of (quail-mode -1).
 +      * international/quail.el (quail-exit-from-minibuffer):
 +      Call inactivate-input-method instead of (quail-mode -1).
        (quail-kill-guidance-buf): New function.
        (quail-mode): Doc-string and comments modified.  Make this
        function non-interactive.  Add quail-kill-guidance-buf to
        (quail-define-package): Indentation fixed.
        (quail-setup-overlays): New arg conversion-mode.  Pay attention to
        input-method-highlight-flag.
 -      (quail-mode-line-format): Deleted.
 -      (quail-generate-mode-line-format): Deleted.
 +      (quail-mode-line-format): Delete.
 +      (quail-generate-mode-line-format): Delete.
        (quail-mode): Don't handle input-method-inactivate-hook and
        input-method-activate-hook here.  Delete code setting
        quail-mode-line-format.
        (quail-saved-current-map): Name changed from
        quail-saved-overriding-local-map.
        (quail-toggle-mode-temporarily): Completely re-written.
 -      (quail-execute-non-quail-command): Use
 -      quail-toggle-mode-temporarily.
 -      (quail-conv-overlay-modification-hook): Deleted.
 -      (quail-suppress-conversion): Deleted.
 +      (quail-execute-non-quail-command):
 +      Use quail-toggle-mode-temporarily.
 +      (quail-conv-overlay-modification-hook): Delete.
 +      (quail-suppress-conversion): Delete.
        (quail-start-translation): Completely re-written.
        (quail-start-translation-in-conversion-mode): Likewise.
        (quail-delete-region): Check if quail-overlay is active.
 -      (quail-get-current-str): Don't call throw.  Set
 -      overriding-terminal-local-map correctly.
 +      (quail-get-current-str): Don't call throw.
 +      Set overriding-terminal-local-map correctly.
        (quail-update-translation): Run hooks in
        input-method-after-insert-chunk-hook.
        (quail-self-insert-command): Catch 'quail-tag here.
 -      (quail-conversion-delete-char): Don't call throw.  Set
 -      overriding-terminal-local-map to nil.
 +      (quail-conversion-delete-char): Don't call throw.
 +      Set overriding-terminal-local-map to nil.
        (quail-conversion-backward-delete-char): Likewise.
        (quail-no-conversion): Likewise.
 -      (quail-help-insert-keymap-description): Bind
 -      overriding-terminal-local-map instead of overriding-local-map.
 +      (quail-help-insert-keymap-description):
 +      Bind overriding-terminal-local-map instead of overriding-local-map.
  
 -      * international/mule-cmds.el (previous-input-method): This
 -      variable deleted.
 +      * international/mule-cmds.el (previous-input-method):
 +      This variable deleted.
        (input-method-history): New variable.
        (read-input-method-name): Bind minibuffer-history to
        input-method-history.
        previous-input-method.  Run hooks in input-method-activate-hook.
        (inactivate-input-method): Update input-method-history.  Run hooks
        in input-method-inactivate-hook.
 -      (select-input-method): Doc-string modified.  Use
 -      input-method-history instead of previous-input-method.  Set
 -      default-input-method to input-method.
 -      (toggle-input-method): Doc-string modified.  Use
 -      input-method-history instead of previous-input-method.
 +      (select-input-method): Doc-string modified.
 +      Use input-method-history instead of previous-input-method.
 +      Set default-input-method to input-method.
 +      (toggle-input-method): Doc-string modified.
 +      Use input-method-history instead of previous-input-method.
        (read-multilingual-string): Bind minibuffer-setup-hook correctly.
        (input-method-exit-on-invalid-key): New variable.
  
 -      * isearch.el (isearch-multibyte-characters-flag): Deleted.
 +      * isearch.el (isearch-multibyte-characters-flag): Delete.
        (isearch-mode): Do not bind isearch-multibyte-characters-flag and
        isearch-input-method.
        (isearch-printing-char): Use current-input-method instead of
        isearch-input-method.
        (isearch-message-prefix): Likewise.
  
 -      * international/isearch-x.el (isearch-input-method): Deleted.
 -      (isearch-input-method-title): Deleted.
 +      * international/isearch-x.el (isearch-input-method): Delete.
 +      (isearch-input-method-title): Delete.
        (isearch-toggle-specified-input-method): Call toggle-input-method.
        (isearch-toggle-input-method): Likewise.
 -      (isearch-process-search-multibyte-characters): Use
 -      current-input-method instead of isearch-input-method.
 +      (isearch-process-search-multibyte-characters):
 +      Use current-input-method instead of isearch-input-method.
  
  1997-08-17  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
        For writing, use buffer-file-coding-system if set, otherwise
        buffer-file-type.
        (find-file-not-found-set-buffer-file-coding-system):
 -      Renamed from find-file-not-found-set-buffer-file-type.
 +      Rename from find-file-not-found-set-buffer-file-type.
        Set buffer-file-coding-system as well as buffer-file-type.
  
  1997-08-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        * international/isearch-x.el (isearch-process-search-multibyte-characters):
        Bind input-method-verbose-flag, not input-method-tersely-flag.
  
 -      * international/mule-cmds.el (input-method-verbose-flag): Renamed
 -      from input-method-tersely-flag and sense inverted.
 +      * international/mule-cmds.el (input-method-verbose-flag):
 +      Rename from input-method-tersely-flag and sense inverted.
        (input-method-highlight-flag): New variable.
        (toggle-input-method): Pass missing arg to read-input-method-name.
  
  
  1997-08-16  Kenichi Handa  <handa@etl.go.jp>
  
 -      * language/china-util.el (setup-chinese-gb-environment): Delete
 -      a code setting default value of default-input-method.
 +      * language/china-util.el (setup-chinese-gb-environment):
 +      Delete a code setting default value of default-input-method.
        (setup-chinese-big5-environment): Likewise.
        (setup-chinese-cns-environment): Likewise.
  
        * loadup.el (loaddefs.el): Load that file much later, almost last.
        Delete most calls to garbage-collect.
  
 -1997-08-15  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-08-15  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-styles.el (c-style-alist):
        "python" style requires c-comment-continuation-stars be "".
        * dos-fns.el (dos-print-region-function): Force EOL conversion to
        DOS CR-LF pairs.
  
 -1997-08-10  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-08-10  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * Release 5.15
  
        (c-enable-//-in-c-mode): Obsolete.
  
        * progmodes/cc-langs.el (c++-mode-syntax-table, java-mode-syntax-table)
 -      (objc-mode-syntax-table, idl-mode-syntax-table): Added autoload
 +      (objc-mode-syntax-table, idl-mode-syntax-table): Add autoload
        cookies.  c-mode-syntax-table already has one.  Use the new syntax
        table initialization idioms.
  
        lines are now analyzed as template-args-cont.
  
        * progmodes/cc-styles.el (c-offsets-alist):
 -      Added template-args-cont syntactic symbol.
 +      Add template-args-cont syntactic symbol.
  
        * progmodes/cc-styles.el (c-styles-alist):
        In "java" style, set c-hanging-comment-starter-p to
        * international/mule.el (make-coding-system): Add a new FLAGS
        elements SAFE.  Use it for terminal coding system if some other
        coding system is specified explicitly.
 -      (ignore-relative-composition): Initialize
 -      ignore-relative-composition.
 +      (ignore-relative-composition):
 +      Initialize ignore-relative-composition.
  
 -      * international/mule-util.el(prefer-coding-system): Moved to
 +      * international/mule-util.el(prefer-coding-system): Move to
        mule-util.el.
  
        * international/mule-cmds.el (set-default-coding-systems):
        Doc-string modified.
 -      (prefer-coding-system): Moved from mule-util.el.  Call
 -      set-default-coding-systems.
 +      (prefer-coding-system): Move from mule-util.el.
 +      Call set-default-coding-systems.
  
        * international/mule-conf.el (iso-safe): New coding system.
  
  
        * help.el (describe-key): Don't put a colon after the command name.
  
 -1997-08-09  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-08-09  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-engine.el (c-beginning-of-statement-1):
        When checking for bare semi, don't match
        c-hanging-comment-starter-p to nil to preserve Javadoc starter lines.
  
        * progmodes/cc-styles.el (c-set-style-2):
 -      Fixed broken implementation of inherited styles.
 +      Fix broken implementation of inherited styles.
  
        * progmodes/cc-styles.el (c-set-style):
        Call c-initialize-builtin-style.
  1997-08-04  Espen Skoglund  <espensk@odslab5.cs.uit.no>
  
        * pascal.el (pascal-mode-syntax-table): _ is now a symbol constituent.
 -      (pascal-indent-case): Removed unnecessary calls to marker-position.
 +      (pascal-indent-case): Remove unnecessary calls to marker-position.
        (pascal-indent-declaration): Editing a parameterlist at the end of
        a buffer does not hang.  Removed unnecessary call to marker-position.
 -      (pascal-get-lineup-indent): Removed unused variable.
 +      (pascal-get-lineup-indent): Remove unused variable.
        Indent parameterlist correctly.
 -      (pascal-completion-response): Removed unused variable.
 +      (pascal-completion-response): Remove unused variable.
  
  1997-08-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
  
        * isearch.el (isearch-quote-char): Fix handling of control
        characters, copied from quoted-insert.
  
 -      * emacs-lisp/pp.el (pp-to-string): Use
 -      emacs-lisp-mode-syntax-table.
 +      * emacs-lisp/pp.el (pp-to-string):
 +      Use emacs-lisp-mode-syntax-table.
  
        * international/quail.el (quail-update-leim-list-file): Go to the
        beginning of the package file, in case it was already visited.
  
  1997-08-04  Kenichi Handa  <handa@etl.go.jp>
  
 -      * language/english.el (setup-english-environment): Call
 -      set-default-coding-systems.
 +      * language/english.el (setup-english-environment):
 +      Call set-default-coding-systems.
  
        * language/china-util.el (setup-chinese-gb-environment): Do not
        call set-terminal-coding-system and set-keyboard-coding-system,
  
        * language/korean.el (setup-korean-environment): Likewise.
  
 -      * international/mule-cmds.el (set-default-coding-systems): New
 -      function.
 +      * international/mule-cmds.el (set-default-coding-systems):
 +      New function.
  
        * international/mule.el (default-terminal-coding-system): New var.
        (set-terminal-coding-system):
  
        * term/x-win.el: Fix previous change.
  
 -      * international/quail.el (quail-next-translation): Call
 -      quail-execute-non-quail-command when no current translations.
 +      * international/quail.el (quail-next-translation):
 +      Call quail-execute-non-quail-command when no current translations.
        (quail-prev-translation): Likewise.
        (quail-next-translation-block): Likewise.
        (quail-prev-translation-block): Likewise.
  
 -      * language/china-util.el (setup-chinese-gb-environment): Set
 -      default value of default-input-method.
 +      * language/china-util.el (setup-chinese-gb-environment):
 +      Set default value of default-input-method.
        (setup-chinese-big5-environment): Likewise.
        (setup-chinese-cns-environment): Likewise.  Correct input method
        name.
  
 -      * language/ethio-util.el (setup-ethiopic-environment): Bind
 -      correct commands in global-map, rmail-mode-map, and mail-mode-map.
 +      * language/ethio-util.el (setup-ethiopic-environment):
 +      Bind correct commands in global-map, rmail-mode-map, and mail-mode-map.
  
        * language/ethiopic.el (ccl-encode-ethio-font): Fix typo in
        doc-string.  Set default value of default-input-method.
  
        * international/fontset.el (fontset-name-p): New function.
        (uninstanciated-fontset-alist): New variable.
 -      (create-fontset-from-fontset-spec): Delete arg STYLE.  Register
 -      style-variants of FONTSET in uninstanciated-fontset-alist.
 -      (create-fontset-from-x-resource): Call
 -      create-fontset-from-fontset-spec correctly.
 +      (create-fontset-from-fontset-spec): Delete arg STYLE.
 +      Register style-variants of FONTSET in uninstanciated-fontset-alist.
 +      (create-fontset-from-x-resource):
 +      Call create-fontset-from-fontset-spec correctly.
  
        * international/mule-util.el (reference-point-alist): Doc-string
        modified.
  
 -      * term/x-win.el: Do not create style-variants of fontset.  They
 -      are just registered in uninstanciated-fontset-alist.
 +      * term/x-win.el: Do not create style-variants of fontset.
 +      They are just registered in uninstanciated-fontset-alist.
  
  1997-07-31  Michael Kifer  <kifer@cs.sunysb.edu>
  
 -      * ediff*.el (ediff-eval-in-buffer): Changed macro and renamed
 +      * ediff*.el (ediff-eval-in-buffer): Change macro and renamed
        ediff-with-current-buffer.
        Eliminated inefficient calls to `intern'.
 -      * ediff-diff.el (ediff-exec-process): Changed to work with buffers
 +      * ediff-diff.el (ediff-exec-process): Change to work with buffers
        whose names have spaces.
        (ediff-wordify): Use buffer-substring-no-properties.
  
  
  1997-07-25  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
  
 -      * international/quail.el (quail-update-leim-list-file): Call
 -      find-file-noselect with t for arguments NOWARN and RAWFILE.
 +      * international/quail.el (quail-update-leim-list-file):
 +      Call find-file-noselect with t for arguments NOWARN and RAWFILE.
  
        * international/mule-cmds.el (leim-list-entry-regexp): Make this
        match only at beginning of line.
        * language/tibet-util.el (setup-tibetan-environment): Correct
        coding system names.  Set default-input-method to "tibetan-wylie".
  
 -      * language/viet-util.el (setup-vietnamese-environment): Add
 -      autoload cookie.
 +      * language/viet-util.el (setup-vietnamese-environment):
 +      Add autoload cookie.
  
  1997-07-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-07-24  Michael Kifer  <kifer@cs.sunysb.edu>
  
        * viper.el (viper-non-vi-major-modes): New variable.
 -      (vip-set-hooks): Changed so it'll update viper-non-vi-major-modes.
 +      (vip-set-hooks): Change so it'll update viper-non-vi-major-modes.
        (viper-mode): Now checks viper-non-vi-major-modes.
  
  1997-07-24  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
        * cus-face.el (custom-declare-face): Use [set-]face-documentation.
  
 -      * faces.el (face-documentation): Renamed from face-doc-string.
 -      (set-face-documentation): Renamed from set-face-doc-string.
 +      * faces.el (face-documentation): Rename from face-doc-string.
 +      (set-face-documentation): Rename from set-face-doc-string.
        (face-doc-string): Make this an alias.
  
 -      * term/bg-mouse.el (bg-yank-or-pop): Changed eql to eq.
 +      * term/bg-mouse.el (bg-yank-or-pop): Change eql to eq.
  
        * international/mule-cmds.el (read-input-method-name): Fix error msg.
  
        Use undecided-dos for dos-text file names.
        Use undecided for non-existing untranslated file names.
  
 -      * international/mule.el (modify-coding-system-alist): Added.
 -      international/mule-util.el (modify-coding-system-alist): Removed.
 +      * international/mule.el (modify-coding-system-alist): Add.
 +      international/mule-util.el (modify-coding-system-alist): Remove.
  
        * loadup.el [windows-nt, ms-dos]: Undo loading
        of international/mule-utils.
        (occur-mode-find-occurrence): Use `occur' text property to find
        marker for locus of the occurrence.
        (occur-next, occur-prev): New commands.
 -      (occur): Fixed bug preventing line number being displayed if line
 +      (occur): Fix bug preventing line number being displayed if line
        number is less than the number of lines of context.
  
  1997-07-18  Andre Spiegel  <spiegel@inf.fu-berlin.de>
  
        * paren.el (show-paren-match-face): Use gray on all non-color screens.
  
 -1997-07-17  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-07-17  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * progmodes/cc-mode.el (c-initialize-cc-mode): New function.
        (c-mode, c++-mode, objc-mode, java-mode): Call it.
        * progmodes/cc-langs.el: Require 'cc-defs for the definition of
        c-emacs-features.
  
 -      * progmodes/cc-langs.el (c-mode-menu): Added uncomment region and
 +      * progmodes/cc-langs.el (c-mode-menu): Add uncomment region and
        slight rearrangement of items.
  
        * progmodes/cc-cmds.el: Require cc-defs for the c-add-syntax macro.
  
        * progmodes/cc-engine.el (c-maybe-labelp): Add defvar.
  
 -      * progmodes/cc-styles.el (c-initialize-builtin-style): Use
 -      copy-sequence instead of c-copy-tree.
 +      * progmodes/cc-styles.el (c-initialize-builtin-style):
 +      Use copy-sequence instead of c-copy-tree.
  
        * progmodes/cc-defs.el (c-load-all): Function deleted.
  
  
        * international/quail.el (quail-translate-key): Fix previous change.
  
 -      * international/mule.el (make-coding-system): Distinguish
 -      coding-category-iso-7-else and coding-category-iso-8-else.
 +      * international/mule.el (make-coding-system):
 +      Distinguish coding-category-iso-7-else and coding-category-iso-8-else.
  
 -      * international/mule-conf.el (coding-category-emacs-mule): Replace
 -      coding-category-iso-else with coding-category-iso-7-else and
 +      * international/mule-conf.el (coding-category-emacs-mule):
 +      Replace coding-category-iso-else with coding-category-iso-7-else and
        coding-category-iso-8-else.
  
 -      * international/mule-diag.el (describe-current-coding-system): Use
 -      coding-category-iso-7-else instead of coding-category-iso-else.
 +      * international/mule-diag.el (describe-current-coding-system):
 +      Use coding-category-iso-7-else instead of coding-category-iso-else.
  
 -      * language/china-util.el (setup-chinese-gb-environment): Adjusted
 +      * language/china-util.el (setup-chinese-gb-environment): Adjust
        for the change of coding category names.  Set default-input-method
        to chinese-py-punct.
        (setup-chinese-big5-environment): Set default-input-method to
        (setup-chinese-cns-environment): Set default-input-method
        correctly.
  
 -      * language/english.el (setup-english-environment): Adjusted for
 +      * language/english.el (setup-english-environment): Adjust for
        the change of coding category names.
  
 -      * language/japan-util.el (setup-japanese-environment): Adjusted
 +      * language/japan-util.el (setup-japanese-environment): Adjust
        for the change of coding category names.  Set default-input-method
        correctly.
  
 -      * language/ethio-util.el (setup-ethiopic-environment): Set
 -      default-input-method correctly.
 +      * language/ethio-util.el (setup-ethiopic-environment):
 +      Set default-input-method correctly.
  
 -      * language/korean.el (setup-korean-environment): Set
 -      default-input-method correctly.
 +      * language/korean.el (setup-korean-environment):
 +      Set default-input-method correctly.
  
        * language/tibet-util.el (setup-tibetan-environment: Set
        default-input-method correctly.
        for iswitchb-kill-buffer and iswitchb-find-file.
        (iswitchb): When no text typed in, show all buffers.
        (iswitchb-complete): Use equal rather than eq.
 -      (iswitchb-next-match, iswitchb-prev-match): Use
 -      iswitchb-chop to handle reordering the buffer list.
 +      (iswitchb-next-match, iswitchb-prev-match):
 +      Use iswitchb-chop to handle reordering the buffer list.
        (iswitchb-chop): New function.
        (iswitchb-make-buflist): Rewritten for efficiency.
        (iswitchb-to-end): Operate on a list of buffers, not just one.
  
  1997-07-10  Kenichi Handa  <handa@etl.go.jp>
  
 -      * international/fontset.el (create-fontset-from-fontset-spec): Add
 -      optional arg NOERROR.
 +      * international/fontset.el (create-fontset-from-fontset-spec):
 +      Add optional arg NOERROR.
        (create-fontset-from-x-resource): Give t as arg NOERROR to
        create-fontset-from-fontset-spec.
  
        (isearch-input-method-title): New variable.
        (isearch-toggle-specified-input-method): Set the above variables.
        (isearch-toggle-input-method): Likewise.
 -      (isearch-process-search-multibyte-characters): Give
 -      isearch-input-method as arg to read-multilingual-string.
 +      (isearch-process-search-multibyte-characters):
 +      Give isearch-input-method as arg to read-multilingual-string.
  
 -      * international/mule-cmds.el (read-multilingual-string): Adjusted
 -      for the previous change of variables related to input methods.
 +      * international/mule-cmds.el (read-multilingual-string):
 +      Adjust for the previous change of variables related to input methods.
  
        * isearch.el (isearch-message-prefix): Likewise.
  
        * progmodes/cc-*.el: New files, totally reorganized.
  
        * dunnet.el: Undo an earlier change:
 -      (dun-piss): Renamed from dunnet-urinate.
 +      (dun-piss): Rename from dunnet-urinate.
        (dun-verblist): Indecent word added back.
        (dunnet): Delete "censored" message.
  
        * browse-url.el: Require thingatpt when compiling.
        (browse-url-url-at-point): Use `thing-at-point' (with URL code
        moved from here).
 -      (browse-url-looking-at): Moved to thingatpt.el, renamed and changed.
 +      (browse-url-looking-at): Move to thingatpt.el, renamed and changed.
  
        * thingatpt.el (thing-at-point): Use `thing-at-point' property, if any.
        (bounds-of-thing-at-point): Use `bounds-of-thing-at-point' property.
        (widget-default-delete): Ditto.
  
        * wid-edit.el (color): Make it an editable field.
 -      (widget-color-value-create): Deleted.
 -      (widget-color-value-get): Deleted.
 -      (widget-color-value-set): Deleted.
 -      (color-item): Deleted.
 -      (widget-color-item-button-face-get): Renamed to
 +      (widget-color-value-create): Delete.
 +      (widget-color-value-get): Delete.
 +      (widget-color-value-set): Delete.
 +      (color-item): Delete.
 +      (widget-color-item-button-face-get): Rename to
        `widget-color-sample-face-get'.
        (color-sample): Delete.
        (editable-color): Delete.
        (custom-browse-visibility-action, custom-browse-group-tag)
        (custom-browse-group-tag-action, custom-browse-variable-tag-action)
        (custom-browse-face-tag, custom-browse-face-tag-action)
 -      (custom-browse-face-tag-action, custom-browse-alist): Changed
 -      prefix from `custom-tree' to `custom-browse'.
 +      (custom-browse-face-tag-action, custom-browse-alist):
 +      Change prefix from `custom-tree' to `custom-browse'.
        (custom-variable-value-create, custom-face-value-create)
 -      (custom-group-value-create): Updated caller.
 +      (custom-group-value-create): Update caller.
  
        * cus-edit.el (custom-browse-only-groups): New option.
        (custom-group-value-create): Use it.  Omit non-groups if non-nil.
  
 -      * cus-edit.el (custom-help-menu): Renamed "Variable" to "Option".
 +      * cus-edit.el (custom-help-menu): Rename "Variable" to "Option".
        Remove "..." from non-prompting entries.
  
        * wid-edit.el (widget-single-line-field-face): New face.
  
        * language/european.el (setup-8-bit-environment): New argument
        LANGUAGE.
 -      (setup-latin1-environment): Adjusted for the above change.
 +      (setup-latin1-environment): Adjust for the above change.
        (setup-latin2-environment): Likewise.
        (setup-latin3-environment): Likewise.
        (setup-latin4-environment): Likewise.
  
        * language/hebrew.el (setup-hebrew-environment): Likewise.
  
 -      * language/cyril-util.el (setup-cyrillic-environment): Adjusted
 -      for the change of an input method name.
 +      * language/cyril-util.el (setup-cyrillic-environment):
 +      Adjust for the change of an input method name.
  
        * language/devan-util.el (setup-devanagari-environment): Likewise.
  
        (quail-defrule): Doc-string modified.
        (quail-defrule-internal): Document it.
        (quail-get-translation): Change the format of DEF part.
 -      (quail-lookup-key): Make the second argument LEN optional.  Reset
 -      quail-current-translations to nil.
 +      (quail-lookup-key): Make the second argument LEN optional.
 +      Reset quail-current-translations to nil.
        (quail-map-definition): New function.
        (quail-get-current-str): New function.
        (quail-guidance-translations-starting-column): New variable.
        (quail-update-current-translations): New function.
 -      (quail-translate-key): Adjusted for the change of DEF format.
 +      (quail-translate-key): Adjust for the change of DEF format.
        Call quail-update-current-translations.
        (quail-next-translation): Call quail-update-current-translations.
        (quail-prev-translation): Likewise.
        (quail-next-translation-block): Likewise.
        (quail-prev-translation-block): Likewise.
 -      (quail-select-translation): Deleted.
 +      (quail-select-translation): Delete.
        (quail-make-guidance-frame): New function.
        (quail-show-guidance-buf): Handle the case that minibuffer is in a
        separate frame.
        (quail-hide-guidance-buf): Likewise.
 -      (quail-show-translations): Call
 -      quail-update-current-translations.  Check width of a frame to be
 +      (quail-show-translations):
 +      Call quail-update-current-translations.  Check width of a frame to be
        used.
        (quail-completion): Do not supply LEN argument to
        quail-lookup-key.
        (charset-chars, charset-width, charset-direction)
        (charset-iso-final-char, charset-iso-graphic-plane)
        (charset-reverse-charset, charset-short-name, charset-long-name)
 -      (charset-description, charset-plit, set-charset-plist): Document
 -      them.
 +      (charset-description, charset-plit, set-charset-plist):
 +      Document them.
        (make-char, charset-list): Doc-string modified.
        (find-new-buffer-file-coding-system): Fix bug of handling the
        coding system undecided.
        (updates): Reject subdirs whose names start with =.
        (custom-deps, finder-data, autoloads, update-subdirs): Likewise.
  
 -      * scroll-bar.el (toggle-scroll-bar): Moved from frame.el.
 +      * scroll-bar.el (toggle-scroll-bar): Move from frame.el.
        Use scroll-bar-mode to determine which side; if it's nil, use left.
        (set-scroll-bar-mode): New subroutine, taken from scroll-bar-mode.
        (scroll-bar-mode): Use the variable set-scroll-bar-mode.
        (scroll-bar-mode): New variable.  Extra defvar to avoid warning.
 -      (toggle-horizontal-scroll-bar): Moved from frame.el.
 +      (toggle-horizontal-scroll-bar): Move from frame.el.
  
        * frame.el (scroll-bar-side): Variable deleted.
        (toggle-scroll-bar, toggle-horizontal-scroll-bar):
 -      Moved to scroll-bar.el.
 +      Move to scroll-bar.el.
  
        * files.el (file-chase-links): When handling .., make newname absolute.
        Simplify several places.
        * wid-edit.el (widget-button-click): Steal up event if key is not
        bound in `widget-global-map'.
  
 -      * cus-edit.el (custom-tree-insert-prefix): Renamed from
 +      * cus-edit.el (custom-tree-insert-prefix): Rename from
        `custom-tree-insert'.
        (custom-group-value-create): Use it.
  
        (custom-button-face): New defface.
        (custom widget-type): Use custom-button-face for buttons.
        (custom-group-tag-faces): Initial value is nil.
 -      (custom-variable-tag-face): Renamed from custom-variable-sample-face.
 +      (custom-variable-tag-face): Rename from custom-variable-sample-face.
        Initialize it like custom-group-tag-face.
        (custom-group-tag-faces): Initialize to nil.
        (custom-state-face): New defface.
        only if the item is modified.  Take widget as arg.
        (custom-mode): Use widget-edit-functions.
  
 -      * wid-edit.el (widget-edit-functions): Renamed from widget-edit-hook.
 +      * wid-edit.el (widget-edit-functions): Rename from widget-edit-hook.
        (widget-field-action): Pass the widget as an arg when running hook.
  
 -      * cus-edit.el (Custom-set): Renamed from custom-set.
 -      (Custom-save): Renamed from custom-save.
 +      * cus-edit.el (Custom-set): Rename from custom-set.
 +      (Custom-save): Rename from custom-save.
        (custom-browse-sort-predicate): Defalias deleted.
        (custom-group-value-create): Don't sort, in tree mode.
 -      (Custom-mode-menu): Renamed from custom-mode-menu.
 -      (Custom-reset-current): Renamed from custom-reset-current.
 -      (Custom-reset-saved): Renamed from custom-reset-saved.
 -      (Custom-reset-standard): Renamed from custom-reset-standard.
 -      (Custom-menu-update): Renamed from custom-menu-update.
 -      (customize-set-value): Renamed from custom-set-value.
 -      (customize-set-variable): Renamed from custom-set-variable.
 -      (customize-save-customized): Renamed from custom-save-customized.
 +      (Custom-mode-menu): Rename from custom-mode-menu.
 +      (Custom-reset-current): Rename from custom-reset-current.
 +      (Custom-reset-saved): Rename from custom-reset-saved.
 +      (Custom-reset-standard): Rename from custom-reset-standard.
 +      (Custom-menu-update): Rename from custom-menu-update.
 +      (customize-set-value): Rename from custom-set-value.
 +      (customize-set-variable): Rename from custom-set-variable.
 +      (customize-save-customized): Rename from custom-save-customized.
  
        * cus-start.el (double-click-time): Use restricted-sexp.
        (load-path): Make [Current dir?] itself the active button.
        instead of displaying an echo area message.
        (widget-toggle-action): Likewise.
        (group-visibility, widget-group-visibility-create):
 -      Moved to cus-edit.el and renamed.
 +      Move to cus-edit.el and renamed.
  
  1997-06-23  Dan Nicolaescu  <done@ece.arizona.edu>
  
  1997-06-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
        * decipher.el (decipher-copy-cons):
 -      Renamed from decipher-get-undo-copy.  Calls changed.
 +      Rename from decipher-get-undo-copy.  Calls changed.
  
        * emacs-lisp/lmenu.el (popup-menu): Redefine as macro.
        (popup-menu-popup, popup-menu-internal): New function.
        (custom-variable-value-create): Use it.
        (custom-face-value-create): Use it.
        (custom-group-value-create): Use it.
 -      (custom-buffer-groups-last): Changed default.
 +      (custom-buffer-groups-last): Change default.
  
 -      * wid-edit.el (group-visibility): Deleted.
 +      * wid-edit.el (group-visibility): Delete.
        (widget-group-visibility-create): Ditto.
 -      (group-link): Deleted.
 +      (group-link): Delete.
        (widget-group-link-create): Ditto.
        (widget-group-link-action): Ditto.
  
        (custom-group-link-action): New function.
        (custom-group-value-create): Use `custom-group-link'.
  
 -      * wid-edit.el (widget-before-change): Fixed comment and debug string.
 +      * wid-edit.el (widget-before-change): Fix comment and debug string.
  
 -      * cus-edit.el (custom-mode-customize-menu): Deleted.
 +      * cus-edit.el (custom-mode-customize-menu): Delete.
        (custom-mode-menu): Define here.
        (custom-mode): Don't add here.
 -      (custom-format-handler): Deleted.
 +      (custom-format-handler): Delete.
        (custom): Don't add here.
  
        * cus-edit.el (custom-browse-sort-predicate): New alias.
        (custom-group): Ditto.
        (custom-group-value-create): Ditto.
  
 -      * cus-edit.el (face): Fixed format.
 +      * cus-edit.el (face): Fix format.
        (custom-face-value-create): Browse face, not option.
  
        * cus-edit.el (custom-group-value-create): Rewrote to replace
        (custom-variable): Ditto.
        (custom-face): Delete :format and :format-handler.
        (custom): Add :format.
 -      (custom-format-handler): Removed unnecessary code.
 -      (custom-face-format-handler): Deleted.
 +      (custom-format-handler): Remove unnecessary code.
 +      (custom-face-format-handler): Delete.
        (custom-add-see-also): New function.
        (custom-buffer-style): New option.
        (widget-face-value-create): Use it here instead of :format.
        (custom-menu-sort-predicate): Use them.
        (custom-menu-create): Use it.
        (custom-buffer-sort-predicate, custom-buffer-order-predicate)
 -      (custom-menu-sort-predicate, custom-menu-order-predicate): Deleted.
 +      (custom-menu-sort-predicate, custom-menu-order-predicate): Delete.
  
        * wid-edit.el (widget-leave-text): Don't delete nil overlays.
  
        * wid-edit.el (widget-get-indirect): New function.
        (widget-default-create): Use it.
 -      (widget-button-insert-indirect): Deleted.
 +      (widget-button-insert-indirect): Delete.
  
        * wid-edit.el (widget-inactive-face): Use dim gray instead of dark
        gray.
  
  1997-06-18  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
  
 -      * mule-util.el (coding-system-parent): Moved to mule.el.
 +      * mule-util.el (coding-system-parent): Move to mule.el.
  
 -      * mule.el (coding-system-parent): Moved from mule-util.el.
 +      * mule.el (coding-system-parent): Move from mule-util.el.
  
  1997-06-18  Kenichi Handa  <handa@etl.go.jp>
  
        * subdirs.el: Add "language" in the argument of
        normal-top-level-add-to-load-path.
  
 -      * rmail.el (rmail-enable-decoding-message): Deleted.
 +      * rmail.el (rmail-enable-decoding-message): Delete.
        (rmail-revert): Bind enable-multibyte-characters to nil before
        calling rmail-convert-file.
        (rmail-convert-to-babyl-format): If enable-multibyte-characters is
        (coding-system-list): Sort coding systems by coding-system-lessp.
        An element of returned list is always coding system, never be a
        cons.
 -      (modify-coding-system-alist): Renamed from
 +      (modify-coding-system-alist): Rename from
        set-coding-system-alist.
        (prefer-coding-system): New function.
        (compose-chars-component): But fix for handling a composite
        not a valid KEY argument now.
        (leim-list-file-name, leim-list-header, leim-list-entry-regexp):
        New variables.
 -      (update-leim-list-file, update-all-leim-list-files): New
 -      functions.
 +      (update-leim-list-file, update-all-leim-list-files):
 +      New functions.
        (current-input-method): Doc-string modified because the value is
        now input method name.
        (default-input-method, previous-input-method): Likewise.
        (input-method-alist): New variable.
        (register-input-method): Register input method in
        input-method-alist.
 -      (read-language-and-input-method-name): Deleted.
 +      (read-language-and-input-method-name): Delete.
        (read-input-method-name): New function.
        (activate-input-method, select-input-method, toggle-input-method):
 -      Modified for the above change.
 +      Modify for the above change.
        (read-multilingual-string): Likewise.
 -      (describe-current-input-method): Renamed from
 +      (describe-current-input-method): Rename from
        describe-input-method.
        (describe-input-method): New function.
        (describe-language-environment): Don't put a vacant line at the
  
        * language/cyril-util.el (setup-cyrillic-iso-environment)
        (setup-cyrillic-koi8-environment)
 -      (setup-cyrillic-alternativnyj-environment): Deleted.
 +      (setup-cyrillic-alternativnyj-environment): Delete.
        (setup-cyrillic-environment): New function.
  
        * language/cyrillic.el: Don't make the keymap
        * tar-mode.el (tar-extract): Use second argument of
        view-buffer instead of setting view-exit-action.
  
 -      * files.el (view-read-only): New option variable.  If
 -      non-nil then buffers visiting files read-only, do it in view mode.
 +      * files.el (view-read-only): New option variable.
 +      If non-nil then buffers visiting files read-only, do it in view mode.
        (find-file-read-only, find-file-read-only-other-window)
        (find-file-read-only-other-frame): Call toggle-read-only
        instead of setting buffer-read-only explicitly.
 -      (toggle-read-only, after-find-file): Changed to be aware
 +      (toggle-read-only, after-find-file): Change to be aware
        of view-read-only.
        (save-some-buffers): Use second argument of view-buffer
        instead of setting view-exit-action.
        * icon.el (icon-indent-line): A comment ends at the end of the
        line, delete call to nonexistent function.
  
 -      * icon.el (icon-font-lock-keywords-1): Improved regexp.
 +      * icon.el (icon-font-lock-keywords-1): Improve regexp.
        (icon-font-lock-keywords-2): Likewise.
  
  1997-06-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-06-16  Simon Marshall  <simon@gnu.ai.mit.edu>
  
 -      * icon.el (icon-imenu-generic-expression): Improved regexp.
 -      (icon-font-lock-keywords-1): Improved regexps.
 +      * icon.el (icon-imenu-generic-expression): Improve regexp.
 +      (icon-font-lock-keywords-1): Improve regexps.
        (icon-font-lock-keywords-2): Likewise.
        (icon-mode): Don't set font-lock-comment-start-regexp via
        font-lock-defaults; it is not needed anymore.
  
  1996-06-16  Dan Nicolaescu  <done@ece.arizona.edu>
  
 -      * icon.el (icon-imenu-generic-expression): Improved regexp.
 +      * icon.el (icon-imenu-generic-expression): Improve regexp.
        (icon-mode): Don't use pushnew.
  
  1997-06-16  Michelangelo Grigni  <mic@mathcs.emory.edu>
        * ffap.el (ffap-soft-value): Make this a function again; the macro
        version does intern-soft too early.  Deleted XEmacs-specific code.
  
 -      (ffap-string-at-point-mode-alist): Added "=" and
 +      (ffap-string-at-point-mode-alist): Add "=" and
        "&" to the url syntax, as suggested by SJE.
 -      (ffap-read-file-or-url): Fixed the HIST argument to
 +      (ffap-read-file-or-url): Fix the HIST argument to
        completing-read (only visible in XEmacs?), as reported by
        Christoph Wedler <wedler@fmi.uni-passau.de>.
        (ffap-kpathsea-expand-path): New func, replaces ffap-add-subdirs,
        Added mouse-track support (but no binding), as
        suggested by MDB.  Moved Emacs mouse bindings from
        "down-mouse" events to ordinary mouse events.
 -      (ffap-alist): Added ffap-fortran-mode, as requested by MDB.
 +      (ffap-alist): Add ffap-fortran-mode, as requested by MDB.
        Rewrote and merged XEmacs support, eliminating file
        ffap-xe.el.  Modified ffap-other-frame to work in dedicated
        frames, fixing a bug reported by JENS.
        (ffap-read-file-or-url): For XEmacs, give extra HACK-HOMEDIR arg
        to `abbreviate-file-name'.
        (ffap-file-at-point): Suppress errors from `ffap-alist'.
 -      (ffap-url-at-point): Modified regexp to accept
 +      (ffap-url-at-point): Modify regexp to accept
        mail hostnames ending with a digit.  Fixes bug report of SJE.
        (ffap-url-at-point): Use higher level function
        (w3-view-this-url t) suggested by wmperry, instead of
        w3-zone-at/w3-zone-data or widget-at/widget-get.
 -      (ffap-url-at-point): Modified to work with
 +      (ffap-url-at-point): Modify to work with
        w3-version "WWW 2.3.64 1996/06/02 06:20:23" alpha, which
        uses the 'widget package rather than the old w3-zone-at.
        Bug was reported by JENS.
        Adapted comments and doc strings to Emacs coding
        conventions.  Reorganized.  Retired v18 support.
        (ffap-bindings): Offers a default installation.
 -      (ffap-string-at-point): Modified arguments.
 -      (ffap-gnus-hook): Updated for Gnus 5.
 +      (ffap-string-at-point): Modify arguments.
 +      (ffap-gnus-hook): Update for Gnus 5.
        (ffap-tex-init): Delayed initialization of `ffap-tex-path'.
        (ffap-dired): New entry in `ffap-alist'.
        (ffap-menu-rescan): May fontify the choices in buffer.
        * cus-edit.el (widget-glyph-insert-glyph): Make the invisible
        extent open ended.
  
 -      * cus-edit.el (custom-format-handler): Added :echo-help to
 +      * cus-edit.el (custom-format-handler): Add :echo-help to
        visibility widget.
        (custom-variable-value-create): Ditto, also for tag.
        * wid-edit.el (widget-documentation-string-value-create): Ditto.
  
        * wid-edit.el (widget-tabable-at): New function.
        (widget-move): Use it.
 -      * wid-edit.el (widget-after-change): Reimplemented :secret.
 +      * wid-edit.el (widget-after-change): Reimplement :secret.
  
        * wid-edit.el (widget-field-add-space): New option.
        (widget-specify-field): Use it.
        view-mode-enter or view-mode-exit.
        (view-buffer, view-buffer-other-window): New argument exit-action.
        (view-file, view-file-other-window, view-buffer-other-window)
 -      (view-buffer, view-mode-enter): Changed method used to restore
 +      (view-buffer, view-mode-enter): Change method used to restore
        windows when leaving view mode.
        (view-mode-exit): New function.
        (view-return-to-alist): New variable.
        (widget-documentation-string-value-create): Also use documentation
        properties on single line documentation strings.
  
 -      * wid-browse.el (widget-minor-mode): Fixed mistake in
 +      * wid-browse.el (widget-minor-mode): Fix mistake in
        widget-minor-mode - it had semantics of non-interactive calling
        reversed.
  
        * add-log.el (add-log-time-format): New variable.
        (add-log-iso8601-time-string): New function.
        (add-change-log-entry): Use add-log-time-format.
 -      (add-log-iso8601-time-zone): Renamed from iso8601-time-zone.
 +      (add-log-iso8601-time-zone): Rename from iso8601-time-zone.
  
  1997-06-13  Dan Nicolaescu  <done@ece.arizona.edu>
  
        (isearch-close-unecessary-overlays): New function.
        (isearch-range-invisible): Use them.
  
 -      * isearch.el (search-invisible): Changed the semantics,
 +      * isearch.el (search-invisible): Change the semantics,
        the default value and updated the doc string.
        (isearch-opened-overlays): New variable.
        (isearch-mode): Initialize it.
        opened, open them, add them to isearch-opened-overlays and say
        that the range is visible.
  
 -      * hideshow.el (hideshow): Added a :prefix.
 +      * hideshow.el (hideshow): Add a :prefix.
        (hs-isearch-open): New variable.
        (hs-flag-region): Use that variable.
        Changed the semantics of the FLAG parameter and updated the docs.
        Fix error messages.
  
        * text-mode.el (paragraph-indent-text-mode):
 -      Renamed from spaced-text-mode.
 +      Rename from spaced-text-mode.
        (text-mode-map): Bind TAB to indent-relative.
        (indented-text-mode-map): Variable deleted.
        (indented-text-mode): Now an alias for text-mode.
        * bibtex.el (bibtex-delete-whitespace, bibtex-current-line)
        (bibtex-assoc-of-regexp, bibtex-skip-to-valid-entry)
        (bibtex-map-entries):
 -      Renamed from delete-whitespace, current-line, assoc-of-regexp,
 +      Rename from delete-whitespace, current-line, assoc-of-regexp,
        skip-to-valid-bibtex-entry, and map-bibtex-entries, respectively.
  
  1997-06-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        (reftex-label-alist-builtin): New default environment subfigure.
        (reftex-find-duplicate-labels): Temporary buffer is now
        "*Duplicate Labels*" instead of "*Help*".
 -      (reftex-bibtex-selection-callback): Renamed variable found-list.
 -      (reftex-found-list): Added defvar for this variable.
 -      (TeX-master): Added defvar for this variable.
 +      (reftex-bibtex-selection-callback): Rename variable found-list.
 +      (reftex-found-list): Add defvar for this variable.
 +      (TeX-master): Add defvar for this variable.
        (reftex-reset-mode): Kill temporary buffers associated with RefTeX.
  
  1997-06-10  Ken'ichi Handa  <handa@psilocin.gnu.ai.mit.edu>
  
 -      * mule-cmds.el (view-hello-file): Adjusted for the changes of
 +      * mule-cmds.el (view-hello-file): Adjust for the changes of
        coding system names.
  
  1997-06-10  Terrence Brannon  <brannon@sand.usc.edu>
  
  1997-06-10  Stefan Schoef  <schoef@OFFIS.Uni-Oldenburg.DE>
  
 -      * bibtex.el (bibtex-mode-map): Changed the binding of the C-TAB
 +      * bibtex.el (bibtex-mode-map): Change the binding of the C-TAB
        key, such that XEmacs will understand it, too.
  
        * bibtex.el (bibtex-format-entry, bibtex-end-of-entry): Give specific
        error message if not on valid BibTeX entry.
  
 -      * bibtex.el (bibtex-field-string-quoted): Small bug fix.  Allow
 -      backslash followed by newline.
 +      * bibtex.el (bibtex-field-string-quoted): Small bug fix.
 +      Allow backslash followed by newline.
  
        * bibtex.el (bibtex-reposition-window, bibtex-mark-entry): Two new
        functions, bound to M-C-l and M-C-h, respectively.
        of ---.
        (bibtex-font-lock-keywords): Don't treat ALT prefixed entries as
        comments.
 -      (bibtex-entry): Fixed parameter list.  This function is not
 +      (bibtex-entry): Fix parameter list.  This function is not
        intended to be called with required and optional fields as
        optional arguments anymore.
  
        * bibtex.el (bibtex-submit-bug-report): Report all variables.
  
        * bibtex.el (bibtex-contline-indentation): New user option.
 -      (bibtex-entry-offset): Renamed from bibtex-entry-indentation.
 +      (bibtex-entry-offset): Rename from bibtex-entry-indentation.
  
        * bibtex.el (bibtex-entry-field-alist): Used different order for
        some fields (as documented in btxdoc.tex).  Changed one of the
        * bibtex.el (bibtex-reference-key): Reincluded parentheses.
        Parentheses should be disallowed only in field constants.
  
 -      * bibtex.el (bibtex-autokey-transcriptions): Fixed bug (two
 +      * bibtex.el (bibtex-autokey-transcriptions): Fix bug (two
        entries for `\o' while `\oe' entry was missing).
  
        * bibtex.el (bibtex-entry-indentation): New variable to determine
        (bibtex-move-outside-of-entry): Use `skip-chars-forward' instead
        of `re-search-forward'.
        (bibtex-beginning-of-first-entry, bibtex-beginning-of-last-entry):
 -      Renamed from beginning-of-first-bibtex-entry and
 +      Rename from beginning-of-first-bibtex-entry and
        beginning-of-last-bibtex-entry.  Go to beginning of line, return point.
        (bibtex-do-auto-fill, bibtex-make-field, bibtex-entry)
        (bibtex-String, bibtex-Preamble): Respect `bibtex-entry-indentation'.
        (bibtex-clean-entry): Use `bibtex-reference-maybe-empty-head'
        instead of a fixed string.
  
 -      * bibtex.el (bibtex-beginning-of-entry, bibtex-end-of-entry): Now
 -      return point if called from a program.
 +      * bibtex.el (bibtex-beginning-of-entry, bibtex-end-of-entry):
 +      Now return point if called from a program.
        (bibtex-enclosing-field, bibtex-format-entry)
        (bibtex-generate-autokey, bibtex-parse-keys, bibtex-mode)
        (bibtex-ispell-entry, bibtex-narrow-to-entry, bibtex-sort-buffer)
  
        * bibtex.el (bibtex-entry-delimiters): New variable to determine
        if entries shall be delimited by braces or parentheses.
 -      (bibtex-entry-left-delimiter, bibtex-entry-right-delimiter): New
 -      helper functions.
 -      (bibtex-entry, bibtex-String, bibtex-Preamble): Respect
 -      `bibtex-entry-delimiters'.
 +      (bibtex-entry-left-delimiter, bibtex-entry-right-delimiter):
 +      New helper functions.
 +      (bibtex-entry, bibtex-String, bibtex-Preamble):
 +      Respect `bibtex-entry-delimiters'.
        (bibtex-entry-format): Doc fix.
 -      (bibtex-reference-key, bibtex-field-const): Removed parentheses
 +      (bibtex-reference-key, bibtex-field-const): Remove parentheses
        from allowed characters.
        (bibtex-end-of-entry): Better handling of incorrect preambles.
  
        (current-line): New helper function to calculate current
        linenumber.  Something like this should really be defined somewhere
        else in Emacs.
 -      (bibtex-validate): Changed to show all errors in buffer in a
 +      (bibtex-validate): Change to show all errors in buffer in a
        `compilation mode' buffer.  If there are syntax errors, it aborts
        after the syntax check, since higher-level check functions rely on
        the syntactical correctness of buffer.  If called from another lisp
        (twice as high) than `lazy-lock-stealth-time'.
        (bibtex-member-of-regexp, assoc-of-regexp): Small cosmetic changes.
  
 -      * bibtex.el (bibtex-buffer-last-parsed-tick): Renamed from
 +      * bibtex.el (bibtex-buffer-last-parsed-tick): Rename from
        bibtex-buffer-last-parsed-for-keys-tick and made it really
        buffer-local (bug fix).
        (bibtex-parse-keys): Make it use bibtex-buffer-last-parsed-tick.
        if it has been aborted.
        (bibtex-mode): Run the new function bibtex-parse-buffers-stealthily.
  
 -      * bibtex.el (bibtex-generate-autokey): Changed the name part
 +      * bibtex.el (bibtex-generate-autokey): Change the name part
        generation (bugfix).  This function handles now correctly all three
        forms of BibTeX names, "First von Last", "von Last, First", "von
        Last, Jr, First".  In every case the "Last" part is correctly
        the first is used.  Name fields spread over more than one line are
        no problem anymore.
  
 -      * bibtex.el (bibtex-entry-format): Changed default value to
 +      * bibtex.el (bibtex-entry-format): Change default value to
        exclude 'page-dashes.  Modified documentation.
        (bibtex-autokey-name-change-strings)
        (bibtex-autokey-titleword-abbrevs)
        (bibtex-autokey-titleword-change-strings, bibtex-entry)
        (bibtex-validate): Doc fixes.
        (bibtex-mode-map): Bound `C-c $' to bibtex-ispell-abstract.
 -      (bibtex-generate-autokey): Changed documentation.  Small
 -      modification in calculating title field.
 +      (bibtex-generate-autokey): Change documentation.
 +      Small modification in calculating title field.
        (bibtex-mode): Included bibtex-ispell-entry into the list of
        `interesting' functions.
        (bibtex-kill-field): Bug fix (killing of first field in entry
  
        * bibtex.el (bibtex-mode-map): bibtex-complete-key wasn't bound
        correctly.
 -      (bibtex-complete): Fixed bug (used string entries defined in
 +      (bibtex-complete): Fix bug (used string entries defined in
        buffer as object to completion).
  
        * bibtex.el (Menu): Use easymenu.  More menu items for
        (bibtex-kill-field): Use new variable bibtex-field-kill-ring.
        (bibtex-kill-entry): Use new variable bibtex-entry-kill-ring.
  
 -      * bibtex.el (bibtex-kill-ring, bibtex-kill-ring-yank-pointer): New
 -      internal variables like kill-ring and kill-ring-yank-pointer, but
 +      * bibtex.el (bibtex-kill-ring, bibtex-kill-ring-yank-pointer):
 +      New internal variables like kill-ring and kill-ring-yank-pointer, but
        bibtex-kill-ring holds fields or complete reference entries
        instead of raw strings.
        (bibtex-kill-ring-max): New user option similar to kill-ring-max.
 -      (bibtex-kill-field): Renamed from bibtex-delete-field again.  It
 -      now supports the new variable bibtex-kill-ring.
 +      (bibtex-kill-field): Rename from bibtex-delete-field again.
 +      It now supports the new variable bibtex-kill-ring.
        (bibtex-copy-field-as-kill, bibtex-kill-entry)
 -      (bibtex-copy-entry-as-kill, bibtex-yank, bibtex-yank-pop): New
 -      interactive functions, which work on the bibtex-kill-ring
 +      (bibtex-copy-entry-as-kill, bibtex-yank, bibtex-yank-pop):
 +      New interactive functions, which work on the bibtex-kill-ring
        variable.
        (bibtex-insert-current-kill): New helper function to insert
        contents of bibtex-kill-ring in an appropriate way.
        generation, if year field of current entry is absent.
        (bibtex-generate-autokey): Use this new variable.
  
 -      * bibtex.el (bibtex-include-OPTannote): Deleted (is set in
 +      * bibtex.el (bibtex-include-OPTannote): Delete (is set in
        bibtex-user-optional-fields).
 -      (bibtex-entry, bibtex-print-help-message): Removed support for
 +      (bibtex-entry, bibtex-print-help-message): Remove support for
        bibtex-include-OPTannote.
  
        * bibtex.el (bibtex-entry-format): New constant
        * bibtex.el (bibtex-mode): Set value for
        font-lock-mark-block-function.
  
 -      * bibtex.el (bibtex-font-lock-keywords): Changed to distinguish
 +      * bibtex.el (bibtex-font-lock-keywords): Change to distinguish
        optional from ordinary fields.
        (bibtex-format-entry, bibtex-print-help-message)
        (bibtex-remove-OPT-or-ALT, bibtex-pop): Used simpler regexps.
  
 -      * bibtex.el (bibtex-delete-field): Changed from
 +      * bibtex.el (bibtex-delete-field): Change from
        bibtex-delete-optional-or-alternative-field.  Deletes now mandatory
        fields as well.
 -      (bibtex-mode): Changed documentation.
 +      (bibtex-mode): Change documentation.
  
 -      * bibtex.el (bibtex-entry-type-history, bibtex-key-history): New
 -      variables to use own histories in BibTeX buffers.
 +      * bibtex.el (bibtex-entry-type-history, bibtex-key-history):
 +      New variables to use own histories in BibTeX buffers.
        (bibtex-entry, bibtex-clean-entry, bibtex-String): Use these new
        variables.
  
        * bibtex.el (bibtex-entry, bibtex-make-field): A function can now
        be used to generate a fields init string.
        (bibtex-include-OPTkey, bibtex-include-OPTannote)
 -      (bibtex-entry-field-alist): Changed documentation accordingly.
 +      (bibtex-entry-field-alist): Change documentation accordingly.
  
        * bibtex.el (bibtex-mode): bibtex-parse-keys on start of mode is
        now abortable, too.
        * bibtex.el (bibtex-find-entry-location): Bug fix: Insertion into
        completely empty buffer didn't work.
  
 -      * bibtex.el (bibtex-user-optional-fields): Renamed from
 +      * bibtex.el (bibtex-user-optional-fields): Rename from
        bibtex-mode-user-optional-fields.
        (bibtex-submit-bug-report, bibtex-entry, bibtex-print-help-message):
        Use bibtex-user-optional-fields.
        delimiting braces and not those inside fields.
  
        * bibtex.el (skip-to-valid-bibtex-entry, bibtex-parse-keys)
 -      (bibtex-end-of-entry, bibtex-validate, bibtex-reformat): Calculate
 -      complex regexps outside of loops.
 -      (bibtex-mode): Changed documentation on how to convert third party
 +      (bibtex-end-of-entry, bibtex-validate, bibtex-reformat):
 +      Calculate complex regexps outside of loops.
 +      (bibtex-mode): Change documentation on how to convert third party
        buffers.
  
        * bibtex.el (bibtex-convert-alien): New function to convert a
        call of bibtex-parse-keys.  This avoids unnecessary double call if
        Font Lock mode is chosen for buffer at startup.
  
 -      * bibtex.el (bibtex-String, bibtex-Preamble): Renamed from
 +      * bibtex.el (bibtex-String, bibtex-Preamble): Rename from
        bibtex-string and bibtex-preamble.
        (bibtex-String): If bibtex-maintain-sorted-entries and
        bibtex-sort-ignore-string-entries are both non-nil, read string
        location (as for normal entries).
  
        * bibtex.el (bibtex-autokey-titleword-first-ignore)
 -      (bibtex-autokey-titleword-abbrevs): Changed documentation: case of
 +      (bibtex-autokey-titleword-abbrevs): Change documentation: case of
        regexps doesn't matter anymore.
 -      (bibtex-field-const, bibtex-reference-key): Simplified to not
 +      (bibtex-field-const, bibtex-reference-key): Simplify to not
        contain uppercase letters.
        (member-of-regexp, assoc-of-regexp): Ignore case of regexp.
        (map-bibtex-entries): Call function not for every syntactical correct
        (bibtex-end-of-entry): Only report an "unknown entry" message if
        called interactively.
  
 -      * bibtex.el (bibtex-sort-ignore-string-entries): Renamed back from
 +      * bibtex.el (bibtex-sort-ignore-string-entries): Rename back from
        bibtex-sort-ignore-string-and-preamble.  Of course, preambles are
        always ignored, since they have no key at all.
        (bibtex-string): Slightly less complex regexp.
        (skip-to-valid-bibtex-entry): New helper function to skip forward
        (or backward) to beginning of next syntactical correct known
 -      BibTeX entry, if not already there.  Respects
 -      bibtex-sort-ignore-string-entries.
 +      BibTeX entry, if not already there.
 +      Respects bibtex-sort-ignore-string-entries.
        (map-bibtex-entries): Bug fix: It wasn't called for string entries
        even if bibtex-sort-ignore-string-entries was nil.
        (beginning-of-last-bibtex-entry): New helper function to go to
        last entry in buffer.
        (bibtex-end-of-entry): Bug fix: Now works with string and preamble
        entries as well.
 -      (bibtex-sort-buffer): Renamed from bibtex-sort-entries.  Simplified
 +      (bibtex-sort-buffer): Rename from bibtex-sort-entries.  Simplified
        by using new function skip-to-valid-bibtex-entry.  Now only known
        entries are checked.
 -      (bibtex-find-entry-location): Simplified by using new functions
 +      (bibtex-find-entry-location): Simplify by using new functions
        skip-to-valid-bibtex-entry and beginning-of-last-bibtex-entry.
        Only known entries are used to determine location.
        (bibtex-validate): Now checks string entries, too.
        bibtex-end-of-entry.
  
        * bibtex.el (bibtex-end-of-entry): Don't use forward-sexp anymore,
 -      since this fails on entries with non-escaped double-quotes.  Use
 -      search-bibtex-reference instead (though it is slower, it is more
 +      since this fails on entries with non-escaped double-quotes.
 +      Use search-bibtex-reference instead (though it is slower, it is more
        reliable).
        (bibtex-ispell-abstract): Use normal regexps created by
        bibtex-cfield instead of special ones.
        work, since due to a bug all entries were simply skipped.
  
        * bibtex.el (bibtex-mode): Doc fix.
 -      (bibtex-delete-optional-or-alternative-field): Renamed from
 +      (bibtex-delete-optional-or-alternative-field): Rename from
        bibtex-kill-optional-or-alternative-field.
        (bibtex-delete-optional-or-alternative-field, bibtex-empty-field):
        Use delete-region, not kill-region.
        buffer, died on entries with `@' in other than first column).
        (beginning-of-first-bibtex-entry, bibtex-format-entry)
        (bibtex-beginning-of-entry, bibtex-validate, bibtex-clean-entry):
 -      Changed to allow BibTeX entries to start in a column different
 +      Change to allow BibTeX entries to start in a column different
        from 1 (but still for speed reasons only whitespace is allowed
        prior to the `@' on the same line.
  
        (bibtex-find-entry-location): A bug had been introduced by using
        search-bibtex-reference instead of re-search-forward (fixed).
  
 -      * bibtex.el (bibtex-field-delimiters): Renamed from
 +      * bibtex.el (bibtex-field-delimiters): Rename from
        bibtex-field-delimiter.
        (bibtex-entry-format): Constant empty-opts renamed to
        empty-opts-or-alts.
 -      (bibtex-remove-delimiters): Renamed from
 +      (bibtex-remove-delimiters): Rename from
        bibtex-remove-double-quotes-or-braces.
        (bibtex-reformat): New function.
  
        * bibtex.el (bibtex-fill-entry): New function to refill entry.
 -      (bibtex-mode-map): Defined key for bibtex-fill-entry.
 +      (bibtex-mode-map): Define key for bibtex-fill-entry.
  
        * bibtex.el (bibtex-field-delimiter): Substitutes variables
        bibtex-field-left-delimiter and bibtex-field-right-delimiter.
 -      (bibtex-field-left-delimiter, bibtex-field-right-delimiter): New
 -      helper functions.
 +      (bibtex-field-left-delimiter, bibtex-field-right-delimiter):
 +      New helper functions.
        (bibtex-make-field, bibtex-pop): Use new variable
        bibtex-field-delimiter.
        (bibtex-empty-field, bibtex-string): Use new functions
        (bibtex-mode): Don't set fill-prefix anymore, but use new function
        bibtex-do-auto-fill.
  
 -      * bibtex.el (bibtex-find-entry-location): Fixed bug (when
 +      * bibtex.el (bibtex-find-entry-location): Fix bug (when
        bibtex-maintain-sorted-entries was non-nil, an entry with a key
        greater than all other keys wasn't inserted in the correct place).
  
        * bibtex.el (bibtex-mode): Don't use bibtex-auto-fill-function
        anymore, but use directly variable fill-prefix.
  
 -      * bibtex.el (bibtex-find-entry-location): Fixed bug (on duplicate
 +      * bibtex.el (bibtex-find-entry-location): Fix bug (on duplicate
        keys, point must move to beginning of entry, so that bibtex-entry
        works correctly).
  
 -      * bibtex.el (bibtex-complete): Fixed bug (parameter string-list
 +      * bibtex.el (bibtex-complete): Fix bug (parameter string-list
        was mistakenly altered by the function itself).
  
        * bibtex.el (bibtex-mode-map): Bind bibtex-complete-key to C-TAB.
  
 -      * bibtex.el (bibtex-validate): Renamed from bibtex-validate-buffer
 +      * bibtex.el (bibtex-validate): Rename from bibtex-validate-buffer
        since it can acts on region if active.  Use search-bibtex-reference.
        (search-bibtex-reference): New function to be used in places where
        prior a re-search-{forward|backward} for bibtex-reference or
        bibtex-enclosing-reference-maybe-empty-head.
        (bibtex-reference-infix, bibtex-reference-postfix): New constants
        necessary due to splitting bibtex-reference.
 -      (bibtex-reference): Deleted.
 -      (bibtex-type-in-reference, skip-whitespace-and-comments): Deleted.
 +      (bibtex-reference): Delete.
 +      (bibtex-type-in-reference, skip-whitespace-and-comments): Delete.
  
        * bibtex.el (bibtex-mode): Don't turn auto-fill-mode on.  Use new
        variable normal-auto-fill-function.
  
 -      * bibtex.el (bibtex-field-string): Simplified.
 +      * bibtex.el (bibtex-field-string): Simplify.
  
 -      * bibtex.el (bibtex-mode-syntax-table): Changed syntax of
 +      * bibtex.el (bibtex-mode-syntax-table): Change syntax of
        double-quote back to quote syntax.
  
        * bibtex.el (bibtex-complete): New generic function for interface
        functions bibtex-complete-string and bibtex-complete-key.
        (bibtex-complete-key): New function.
  
 -      * bibtex.el (bibtex-sort-ignore-string-and-preamble): Renamed from
 +      * bibtex.el (bibtex-sort-ignore-string-and-preamble): Rename from
        bibtex-sort-ignore-string-entries.
        (map-bibtex-entries): Use bibtex-sort-ignore-string-and-preamble
        and ignore preamble entries as well.
        mark is active.  With optional argument checks if required fields
        are missing, too.
  
 -      * bibtex.el (bibtex-mode): Added support for imenu.
 +      * bibtex.el (bibtex-mode): Add support for imenu.
  
        * bibtex.el (bibtex-entry-field-alist)
 -      (bibtex-mode-user-optional-fields): Modified syntax to allow
 +      (bibtex-mode-user-optional-fields): Modify syntax to allow
        preinitialization of fields.
        (bibtex-make-field, bibtex-make-optional-field):
        Support preinitialization of fields.
        (bibtex-generate-autokey): Use new variables.
  
        * bibtex.el (bibtex-field-const, bibtex-reference-type)
 -      (bibtex-reference-key): Changed to match the (according to Oren
 +      (bibtex-reference-key): Change to match the (according to Oren
        Patashnik) allowed characters.
  
 -      * bibtex.el (bibtex-clean-entry-zap-empty-opts-or-alts): Renamed
 -      from bibtex-clean-entry-zap-empty-opts.
 +      * bibtex.el (bibtex-clean-entry-zap-empty-opts-or-alts):
 +      Rename from bibtex-clean-entry-zap-empty-opts.
        (bibtex-entry-field-alist): Slightly modified syntax to support
        alternative fields needed for Book and InBook references.
        (bibtex-font-lock-keywords, bibtex-print-help-message)
        (bibtex-make-field, bibtex-pop, bibtex-clean-entry):
        Support ALT prefixed entries.
 -      (bibtex-mode): Documented new ALT prefixed fields.
 -      (bibtex-make-optional-field): Modified to give only field name as
 +      (bibtex-mode): Document new ALT prefixed fields.
 +      (bibtex-make-optional-field): Modify to give only field name as
        arg to bibtex-make-field.
        (bibtex-remove-OPT-or-ALT, bibtex-kill-optional-or-alternative-field):
 -      Renamed from bibtex-remove-OPT and bibtex-kill-optional-field,
 +      Rename from bibtex-remove-OPT and bibtex-kill-optional-field,
        respectively.  Modified to support ALT prefixes.
  
        * bibtex.el (bibtex-enclosing-field, bibtex-print-help-message):
  
  1997-06-09  Kenichi Handa  <handa@etl.go.jp>
  
 -      * mule.el: Delete declaration for buffer-file-coding-system.  It
 -      is done in buffer.c now.  In the comment, change coding-system to
 +      * mule.el: Delete declaration for buffer-file-coding-system.
 +      It is done in buffer.c now.  In the comment, change coding-system to
        coding system.  The name coding-vector is changed to coding-spec.
        (coding-vector-type, coding-vector-mnemonic)
 -      (coding-vector-docstring, coding-vector-flags): Deleted.
 +      (coding-vector-docstring, coding-vector-flags): Delete.
        (coding-system-spec-ref): New function.
        (coding-system-type, coding-system-mnemonic, coding-system-flags):
        Use coding-system-spec-ref.
 -      (coding-system-doc-string): Renamed from coding-system-docstring.
 -      (coding-system-eol-type): Renamed from coding-system-eoltype.
 -      (coding-system-eol-type-mnemonic): Moved to mule-util.el.
 +      (coding-system-doc-string): Rename from coding-system-docstring.
 +      (coding-system-eol-type): Rename from coding-system-eoltype.
 +      (coding-system-eol-type-mnemonic): Move to mule-util.el.
        (coding-system-post-read-conversion): Likewise.
        (coding-system-pre-write-conversion): Likewise.
 -      (default-process-coding-system): Deleted.  Now declared in
 +      (default-process-coding-system): Delete.  Now declared in
        buffer.c.
        (make-subsidiary-coding-system): New function.
        (make-coding-system): Check arguments more strictly.  Do not make
        -unix, -dos, -mac variants for TYPE 4.
        (define-coding-system-alias): Call make-subsidiary-coding-system.
 -      (set-buffer-file-coding-system): Adjusted for the function name
 +      (set-buffer-file-coding-system): Adjust for the function name
        changes.
        (find-new-buffer-file-coding-system): Likewise.
 -      (default-process-coding-system): Deleted.  Now defined in coding.c.
 +      (default-process-coding-system): Delete.  Now defined in coding.c.
  
        * mule-conf.el: Coding system names changed.
  
        (print-coding-system): Likewise.
        (list-coding-systems): Likewise.  Make it interactive.
  
 -      * mule-util.el (set-coding-system-alist): Deleted.
 +      * mule-util.el (set-coding-system-alist): Delete.
        (string-to-sequence): Doc string modified.
        (coding-system-list): Add optional arg BASE-ONLY.
        (coding-system-base): New function.
  
  1997-06-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
 -      * files.el (file-name-non-special): Handle
 -      file-name-completion and file-name-all-completions.
 +      * files.el (file-name-non-special):
 +      Handle file-name-completion and file-name-all-completions.
  
        * mailalias.el: Customize.  Doc fixes.
        Mark some risky local variables.
  
        * dired.el (dired-unmark-all-marks):
 -      Renamed from dired-unmark-all-files-no-query.
 +      Rename from dired-unmark-all-files-no-query.
  
        * language/european.el (setup-8-bit-environment):
        Load the file with load, not require, so that we reload it if nec.
        * language/english.el ("English"): Improve doc string.
  
        * language/indian.el (describe-indian-environment-map):
 -      Renamed from describe-indian-support-map.
 +      Rename from describe-indian-support-map.
        * language/devanagari.el: Corresponding changes.
  
        * language/european.el (describe-european-environment-map):
 -      Renamed from describe-european-support-map.
 +      Rename from describe-european-support-map.
  
        * language/cyrillic.el (describe-cyrillic-environment-map):
 -      Renamed from describe-cyrillic-support-map.
 +      Rename from describe-cyrillic-support-map.
  
        * language/chinese.el (describe-chinese-environment-map):
 -      Renamed from describe-chinese-support-map.
 +      Rename from describe-chinese-support-map.
  
        * mule-cmds.el (describe-language-environment):
 -      Renamed from describe-language-support.
 +      Rename from describe-language-support.
        Do the real work here; don't call describe-specified-language-support.
        Print the mnemonics when mentioning coding systems.
        Improve style of output.
        (describe-specified-language-environment):
 -      Renamed from describe-specified-language-support.
 +      Rename from describe-specified-language-support.
        Don't do the work here; call describe-language-environment.
        (describe-language-environment-map):
 -      Renamed from describe-language-support-map.
 +      Rename from describe-language-support-map.
  
        * language/european.el (setup-8-bit-environment):
        Do not set set-case-syntax-offset.
  
  1997-06-04  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * wid-edit.el (widget-kill-line): Fixed for overlays.
 +      * wid-edit.el (widget-kill-line): Fix for overlays.
  
        * cus-edit.el (custom-buffer-create-internal): Show full
        documentation string in buffers with only a single item.
        (widget-field-end): Workaround for local-map at
        end of overlay.
        (widget-specify-field): Ditto.
 -      (widget-move): Fixed but with single button buffers.
 +      (widget-move): Fix but with single button buffers.
  
 -      * cus-edit.el (custom-buffer-create-internal): Improved help
 +      * cus-edit.el (custom-buffer-create-internal): Improve help
        strings for reset buttons.
  
        * wid-edit.el (widget-move): Restored support for
        (widget-documentation-string-value-create): Restore support for
        `widget-documentation--face'.
  
 -      * cus-edit.el (customize-variable-other-window): Added defalias.
 +      * cus-edit.el (customize-variable-other-window): Add defalias.
  
        * widget.el (:complete): New keyword.
        (:complete-function): New keyword.
  
  1997-06-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
 -      * text-mode.el (spaced-text-mode): Renamed from text-mode.
 +      * text-mode.el (spaced-text-mode): Rename from text-mode.
        But change the mode name and hooks.
        (text-mode): Put the guts of indented-text-mode here.
        But don't define text-mode-abbrev-table, just use it.
  
  1997-06-02  Michael Kifer  <kifer@cs.sunysb.edu>
  
 -      * ediff-util.el (ediff-toggle-multiframe): Improved.
 -      (ediff-setup, ediff-inferior-compare-regions): Modified.
 +      * ediff-util.el (ediff-toggle-multiframe): Improve.
 +      (ediff-setup, ediff-inferior-compare-regions): Modify.
        (ediff-setup): Bug fixed.
        * ediff-init.el (ediff-file-attributes): Use ediff-file-remote-p.
        * ediff-wind.el (ediff-setup-windows-multiframe-merge)
 -      (ediff-setup-windows-multiframe-compare): Improved window placement.
 +      (ediff-setup-windows-multiframe-compare): Improve window placement.
        * ediff-diff.el (ediff-make-fine-diffs):
 -      Fixed messages about whitespace regions.
 +      Fix messages about whitespace regions.
        * ediff-wind.el, ediff-ptch.el, ediff-mult.el, ediff-merg.el:
        custom.el'ed.
  
        * viper-init.el (vip-parse-sexp-ignore-comments): New variable.
        * viper-cmd.el (vip-paren-match): Parsing comments is now controlled
        with vip-parse-sexp-ignore-comments.
 -      * viper-cmd.el (vip-goto-col): Fixed.
 +      * viper-cmd.el (vip-goto-col): Fix.
        * viper-cmd.el (vip-autoindent): Now expands abbrevs.
        (vip-adjust-keys-for): Unbinds vip-autoindent, if vip-auto-indent
        is nil.
 -      * viper-cmd.el (vip-prefix-arg-value): Fixed computation of integer
 +      * viper-cmd.el (vip-prefix-arg-value): Fix computation of integer
        prefix args.
        * viper-cmd.el, viper-init.el: New files.
  
  
  1997-06-01  Dan Nicolaescu  <done@ece.arizona.edu>
  
 -      * hideshow.el (hs-show-hidden-short-form): Updated doc string.
 +      * hideshow.el (hs-show-hidden-short-form): Update doc string.
        (hs-adjust-block-beginning): Likewise.
        (hs-special-modes-alist): C and C++ should also use
        hs-c-like-adjust-block-beginning.
        (hs-find-block-beginning): If hs-adjust-block-beginning is t and
        we apply hs-adjust-block-beginning and we reach the point means
        that we found the block beginning.
 -      (hs-c-like-adjust-block-beginning): Renamed from
 +      (hs-c-like-adjust-block-beginning): Rename from
        java-hs-adjust-block-beginning.
  
  1997-06-01  Simon Leinen  <simon@switch.ch>
        getting read-only bob and eob in XEmacs.
        * wid-browse.el (widget-browse-at): Use `get-char-property'
        instead of `get-text-property'.
 -      * widget.el (:value-from :value-to): Deleted.
 +      * widget.el (:value-from :value-to): Delete.
        * widget.el (:button-overlay, :field-overlay): New keywords.
        * wid-edit.el (widget-default-delete): Delete overlays.
        (widget-field-value-delete): Delete overlay.
  
  1997-06-01  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * cus-edit.el (custom-format-handler): Changed look of group
 +      * cus-edit.el (custom-format-handler): Change look of group
        indicators.
  
        * wid-edit.el (widget-kill-line): Use forward-line instead of
  
        * cus-edit.el (custom-variable-prompt):
        Handle variable-at-point returning 0.
 -      (customize-option): Renamed from custom-variable.
 +      (customize-option): Rename from custom-variable.
        (customize-variable): Add it as an alias.
        (customize-option-other-window):
 -      Renamed from customize-variable-other-window.
 +      Rename from customize-variable-other-window.
        (custom-load-symbol): Search for both short and absolute
        names of the library, when avoiding duplicate loading.
  
        * cus-edit.el (custom-format-handler): New %e and %- escapes.
        (custom-group): Use them.
  
 -      * widget.el (:widget-doc): Removed keyword.
 -      * wid-edit.el (widget-help): Removed widget.
 -      (widget-help-action): Removed function.
 +      * widget.el (:widget-doc): Remove keyword.
 +      * wid-edit.el (widget-help): Remove widget.
 +      (widget-help-action): Remove function.
  
        * widget.el (:documentation-shown): New keyword.
        * wid-edit.el (documentation-string): New widget.
        * mule-cmds.el (set-language-environment): Add autoload cookie.
        Renamed from setup-language-environment.
  
 -      * startup.el (iso-8859-n-locale-regexp): Renamed from
 +      * startup.el (iso-8859-n-locale-regexp): Rename from
        iso-8859-1-locale-regexp.
  
        * loadup.el: Always load faces.el.
        * icomplete.el: Integrated Emacs 19.34 and XEmacs 19.15 corrections
        (typos, style, command revisions, etc).
  
 -      * icomplete.el: Integrated immediate keybindings display.  See
 -      `icomplete-show-key-bindings', `icomplete-get-keys', and
 +      * icomplete.el: Integrated immediate keybindings display.
 +      See `icomplete-show-key-bindings', `icomplete-get-keys', and
        `icomplete-completions'.
  
        * icomplete.el (icomplete-get-keys): Return keys bound in prior
  
        * cus-edit.el (custom-magic-alist): Shortened message.
  
 -      * cus-edit.el (custom-help-menu): Updated names.
 +      * cus-edit.el (custom-help-menu): Update names.
  
        * cus-edit.el: Say `invoke' instead of `activate'.
        * wid-edit.el: Ditto.
        (widget-glyph-insert-glyph): No tag here.
        (widget-push-button-value-create): But here.
  
 -      * wid-edit.el (widget-field-face): Changed to dim gray.
 +      * wid-edit.el (widget-field-face): Change to dim gray.
  
        * wid-edit.el (widget-push-button-prefix): New option.
        (widget-push-button-suffix): New option.
        (widget-button): New group.
  
 -      * widget.el (:text-format): Removed.
 +      * widget.el (:text-format): Remove.
        (:button-suffix): New keyword.
        (:button-prefix): New keyword.
  
        * cus-edit.el (custom-magic-alist): Use `invoke' instead of
        `push'.
  
 -      * cus-edit.el (custom-magic-alist): Changed rogue state message.
 +      * cus-edit.el (custom-magic-alist): Change rogue state message.
  
        * custom.el (defface): Doc fix.
  
        * cus-edit.el, custom.el: Renamed `factory' to `standard'
        everywhere.
  
 -      * cus-edit.el (custom-magic-show-button): Changed default to
 +      * cus-edit.el (custom-magic-show-button): Change default to
        `nil'.
 -      (custom): Removed `:format'.
 -      (custom-variable): Removed level button.
 +      (custom): Remove `:format'.
 +      (custom-variable): Remove level button.
        (custom-face): Ditto.
 -      (custom-level): Deleted.
 -      (custom-level-action): Deleted.
 +      (custom-level): Delete.
 +      (custom-level-action): Delete.
        (custom-format-handler): Update caller.
        (custom-group-magic-alist): Merged into `custom-magic-alist'.
        (custom-magic-value-create): Use merged `custom-magic-alist'.
  
        * icomplete.el: Integrated Emacs 19.34 and XEmacs 19.15
        corrections (typos, style, command revisions, etc).
 -      Integrated hacked up XEmacs immediate keybindings display.  See
 -      `icomplete-show-key-bindings', `icomplete-get-keys', and
 +      Integrated hacked up XEmacs immediate keybindings display.
 +      See `icomplete-show-key-bindings', `icomplete-get-keys', and
        `icomplete-completions'.  Doesn't work with mainline GNU
        Emacs 19.34 (because the cmdloop doesn't set owindow, and the
        current-local-map doesn't take optional buffer arg), so feature
        SYNTACTIC-PROPERTIES.  Eval font-lock-syntactic-keywords with
        font-lock-eval-keywords.  Compile and compare all keywords.
        (fast-lock-get-syntactic-properties): New function.
 -      (fast-lock-add-properties): Renamed from fast-lock-set-face-properties.
 +      (fast-lock-add-properties): Rename from fast-lock-set-face-properties.
        Take new arg SYNTACTIC-PROPERTIES and add syntax-table text properties.
        Now fast-lock.el saves a buffer's value of font-lock-syntactic-keywords
        and syntax-table text properties as added by font-lock.el.
        set-current-process-coding-system.
  
        * encoded-kb.el (encoded-kbd-mode): Fix typo in doc-string.
 -      (encoded-kbd-set-coding-system): Deleted.
 +      (encoded-kbd-set-coding-system): Delete.
  
        * case-table.el (describe-buffer-case-table): Use aref instead of
        set-char-table-range.
        (describe-specified-language-support): New function.
        (describe-language-support): Call the above function.
        (universal-coding-system-argument): New function.
 -      (read-language-and-input-method-name): Doc-string fixed.  If
 -      default-input-method is nil, use previous-input-method as the
 +      (read-language-and-input-method-name): Doc-string fixed.
 +      If default-input-method is nil, use previous-input-method as the
        default value.
 -      (set-default-input-method): Deleted.
 +      (set-default-input-method): Delete.
  
        * language/*.el: Most of setup-LANGUAGE-environment functions are
        moved form LANGUAGE.el to LANG-util.el.  These functions now at
        also accept a subdir with a file called `index'.
  
        * texinfmt.el (texinfo-extra-inter-column-width):
 -      Renamed from extra-inter-column-width.  Doc fix.
 +      Rename from extra-inter-column-width.  Doc fix.
        (texinfo-multitable-buffer-name):
        Variable renamed from multitable-temp-buffer-name.
        (texinfo-multitable-rectangle-name):
        read-only data someday.
        (eldoc-docstring-message): If truncating symbol name, show ending
        of name rather than beginning.  The former is generally more unique.
 -      (eldoc-function-argstring-from-docstring-method-table): Handle
 -      pathological `save-restriction' case.
 +      (eldoc-function-argstring-from-docstring-method-table):
 +      Handle pathological `save-restriction' case.
        [top level]: Add `indent-for-tab-command' to eldoc-message-commands.
  
  1997-05-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        (ada-font-lock-keywords-1): Move "task" before "task (body|type)" to
        correct highlighting (regexp depends on order).
  
 -      * ada-mode.el (ada-in-char-const-p): Renamed from `ada-after-char-p'.
 +      * ada-mode.el (ada-in-char-const-p): Rename from `ada-after-char-p'.
        Also test following character.
        (ada-adjust-case): Use better function `ada-in-char-const-p'.
        (ada-in-string-or-comment-p): Test for being in a char constant.
 -      (ada-clean-buffer-before-saving): Changed default to t.
 +      (ada-clean-buffer-before-saving): Change default to t.
        (ada-mode): Set `font-lock-defaults' for Emacs only, use properties
        for XEmacs.
  
 -      * ada-mode.el (ada-indent-newline-indent): Simplified by just calling
 +      * ada-mode.el (ada-indent-newline-indent): Simplify by just calling
        `ada-indent-current'.
  
 -      * ada-mode.el (ada-end-stmt-re): Added word delimiters in regexp.
 +      * ada-mode.el (ada-end-stmt-re): Add word delimiters in regexp.
        Removed `interactive' statements which were needed only for debugging.
  
        * ada-mode.el:
        (ada-goto-next-word): Generalized old `ada-goto-previous-word' for
        both directions.
  
 -      * ada-mode.el (ada-indent-function): Removed unnecessary `package' case.
 +      * ada-mode.el (ada-indent-function): Remove unnecessary `package' case.
        (ada-get-indent-case): Before testing for `=>', be sure there is
        an `is'.
        (ada-search-prev-end-stmt): Test for `separate' keyword on the
  
        * ada-mode.el: Doc fixes.
        (ada-mode): Support new font-lock-mode.
 -      (ada-format-paramlist): Changed all `accept' to `access'.
 -      (ada-insert-paramlist): Changed all `accept' to `access'.
 +      (ada-format-paramlist): Change all `accept' to `access'.
 +      (ada-insert-paramlist): Change all `accept' to `access'.
        (ada-in-comment-p): Use standard Emacs way `parse-partial-sexp'.
        (ada-font-lock-keywords-1): Regexps in not byte-compiled code behave
        different than byte-compiled regexps.
  
  1997-05-20  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
 -      * word-help.el (set-word-help-file): Renamed from set-help-file.
 +      * word-help.el (set-word-help-file): Rename from set-help-file.
  
        * crisp.el (crisp-mode): Add autoload cookie.
  
        * dos-w32.el (add-untranslated-filesystem)
        (remove-untranslated-filesystem): Add interactive spec.
  
 -      * crisp.el (crisp-last-last-command): Renamed from last-last-command
 +      * crisp.el (crisp-last-last-command): Rename from last-last-command
        and defvar added.
  
        * levents.el (event-closest-point): Fix paren error.
        (compilation-revert-buffer): New function.
        (compilation-mode): Set revert-buffer-function.
  
 -      * files.el (revert-without-query): Renamed from
 +      * files.el (revert-without-query): Rename from
        find-file-revert-without-query.
        (find-file-noselect): Use new option.
        (revert-buffer): Check the option here too.
  
 -      * cus-face.el (custom-facep): Defined (once again).
 +      * cus-face.el (custom-facep): Define (once again).
  
        * simple.el (do-auto-fill): Check enable-kinsoku and
        enable-multibyte-characters.
  
  1997-05-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
 -      * autoload.el (update-autoloads-from-directories): Renamed from
 +      * autoload.el (update-autoloads-from-directories): Rename from
        update-autoloads-from-directory.  Take multiple directories as args.
        Use locate-library to find loaddefs.el and the top level Lisp dir.
        (batch-update-autoloads): Call update-autoloads-from-directories.
  
        * mule-cmds.el (set-language-info): Change the special treatment
        of key 'describe-function to 'documentation.
 -      (describe-specified-language-support): Renamed from
 +      (describe-specified-language-support): Rename from
        describe-language-support-internal.  Get language name from
        last-command-event.
 -      (describe-language-support): Call
 -      describe-specified-language-support.
 +      (describe-language-support):
 +      Call describe-specified-language-support.
  
        * language/chinese.el: Delete functions describe-LANGUAGE-support.
        Delete 'describe-function entries and change 'documentation
        (default): Use `:mouse-down-action'.
        (menu-choice): Ditto.
        (widget-choice-mouse-down-action): New function.
 -      (widget-info-link-action): Removed kludge to steal up event.
 +      (widget-info-link-action): Remove kludge to steal up event.
        * cus-edit.el (widget-magic-mouse-down-action): New function.
        (custom-magic-value-create): Use it.
 -      (custom-buffer-create-internal): Removed kludge to steal up event.
 +      (custom-buffer-create-internal): Remove kludge to steal up event.
  
 -      * widget.el (:glyph-up, :glyph-down, :glyph-inactive): New
 -      keywords.
 +      * widget.el (:glyph-up, :glyph-down, :glyph-inactive):
 +      New keywords.
        * wid-edit.el (widget-glyph-insert-glyph): Support optional `down'
        and `inactive' glyphs.
        (widget-push-button-value-create): Ditto.
        (customize-variable-other-window, customize-face)
        (customize-face-other-window, customize-customized)
        (customize-saved, customize-apropos, custom-face-menu-create)
 -      (custom-variable-menu-create, boolean, custom-menu-create): Updated
 -      caller.
 +      (custom-variable-menu-create, boolean, custom-menu-create):
 +      Update caller.
  
        * cus-edit.el (custom-variable-action): Reset magic state.
        (custom-variable-menu): Allow `Reset to Current' on `changed'
        (choice, radio): Use it.
        (widget-prompt-value): Prepend widget type to prompt.
  
 -      * wid-edit.el (widget-parent-action): Renamed from
 +      * wid-edit.el (widget-parent-action): Rename from
        `widget-choice-item-action'.
 -      (choice-item): Updated widget.
 +      (choice-item): Update widget.
        * cus-edit.el (custom-magic): Ditto.
  
 -      * wid-edit.el (widget-children-validate): Renamed from
 +      * wid-edit.el (widget-children-validate): Rename from
        `widget-editable-list-validate'.
 -      (editable-list, group): Updated widgets.
 +      (editable-list, group): Update widgets.
        * cus-edit.el (custom, face): Ditto.
  
 -      * wid-edit.el (widget-value-value-get): Renamed from
 +      * wid-edit.el (widget-value-value-get): Rename from
        `widget-item-value-get'.
 -      (item): Updated widget.
 +      (item): Update widget.
        * cus-edit.el (face, custom): Ditto.
  
 -      * wid-edit.el (widget-value-convert-widget): Renamed from
 +      * wid-edit.el (widget-value-convert-widget): Rename from
        `widget-item-convert-widget'.
 -      (item, editable-field): Updated widgets.
 +      (item, editable-field): Update widgets.
        * cus-edit.el (face): Ditto.
  
  1997-05-14  Simon Marshall  <simon@wombat.gnu.ai.mit.edu>
  
        * gnus-mule.el: Moved to `gnus' subdirectory.
  
 -      * gnus/gnus-mule.el (gnus-mule-message-send-news-function): New
 -      function to encode text before sending by news.
 +      * gnus/gnus-mule.el (gnus-mule-message-send-news-function):
 +      New function to encode text before sending by news.
        (gnus-mule-message-send-mail-function): New function to encode
        text before sending by mail.
        (gnus-mule-initialize): Add gnus-mule-message-send-news-function
 -      to the hook message-send-news-hook.  Add
 -      gnus-mule-message-send-mail-function to the hook
 +      to the hook message-send-news-hook.
 +      Add gnus-mule-message-send-mail-function to the hook
        message-send-mail-hook.
  
        * help.el (help-with-tutorial): Fix a bug of handling non-English
        Setting of syntax and category for Devanagari characters are moved
        to characters.el.
  
 -      * language/english.el (setup-english-environment): Set
 -      sendmail-coding-system and rmail-file-coding-system to nil.
 +      * language/english.el (setup-english-environment):
 +      Set sendmail-coding-system and rmail-file-coding-system to nil.
  
        * language/ethio-util.el (fidel-to-tex-map): Name changed to
        ethio-fidel-to-tex-map.
  
        * language/european.el: Typo in comment fixed.
  
 -      * language/japanese.el (setup-japanese-environment): Set
 -      sendmail-coding-system and rmail-file-coding-system to
 +      * language/japanese.el (setup-japanese-environment):
 +      Set sendmail-coding-system and rmail-file-coding-system to
        'iso-2022-jp.
  
        * language/korean.el: Bug fixed in making coding system
        (rmail-convert-file): Comment fixed.
        (rmail-revert): Don't decode RMAIL file again because the backup
        file is saved in Emacs' internal format.
 -      (rmail-convert-to-babyl-format): Check
 -      rmail-enable-decoding-message.
 +      (rmail-convert-to-babyl-format):
 +      Check rmail-enable-decoding-message.
  
        * term/x-win.el: Create bold, italic, and bold-italic variants of
        default fontset.  Name a fontset created from user-specified ASCII
        * simple.el (assoc-ignore-case): Downcase KEY as well as element cars.
  
        * bibtex.el (assoc-ignore-case): Function deleted.
 -      (bibtex-member-of-regexp): Renamed from member-of-regexp.
 +      (bibtex-member-of-regexp): Rename from member-of-regexp.
        Call changed.
  
        * timer.el (timer-event-handler): Take timer as arg directly.
        (compilation-shell-minor-mode-map, compilation-shell-minor-mode):
        New variables.
        (compile-auto-highlight): Doc fix.
 -      (compilation-error-regexp-alist): Removed unnecessary line break
 +      (compilation-error-regexp-alist): Remove unnecessary line break
        in first regexp.  Replaced \\(\\|.* on \\) by \\(.* on \\)? in
        regexp for Absoft FORTRAN 77 Compiler 3.1.3.  Added regexp for
        SPARCcompiler Pascal.  Divided long line in regexp for Cray C
        (compilation-leave-directory-regexp-alist): New variables.
        (compilation-file-regexp-alist)
        (compilation-nomessage-regexp-alist): New variables.
 -      (grep-regexp-alist): Removed unnecessary ^ at beginning of regexp.
 +      (grep-regexp-alist): Remove unnecessary ^ at beginning of regexp.
        (compilation-enter-directory-regexp)
        (compilation-leave-directory-regexp): Variables deleted.
        Replaced by compilation-enter-directory-regexp-alist and
  
        * cus-edit.el (custom-group-magic-alist): New variable.
        (custom-group-state-update): Use custom-group-magic-alist.
 -      (customize-group): Renamed from `customize',
 +      (customize-group): Rename from `customize',
        and rename argument to GROUP.
        (customize): New function.
  
        * time-stamp.el (time-stamp-old-format-warn): Fix a tag string.
        (time-stamp-format): Use %Y not %y in default value.
  
 -      * crisp.el (crisp-load-scroll-all): Renamed from ...-lock.
 +      * crisp.el (crisp-load-scroll-all): Rename from ...-lock.
        (crisp-mode): Use scroll-all... not scroll-lock...
  
        * scroll-all.el: Renamed from scroll-lock.el.
        * ange-ftp.el (ange-ftp-file-entry-p): If ange-ftp-get-files returns
        nil, don't try ange-ftp-hash-entry-exists-p, just give up.
  
 -      * comint.el (comint-input-face): Deleted.
 +      * comint.el (comint-input-face): Delete.
  
        * compile.el (compilation-error-regexp-alist): Add regexp for Perl -w.
  
        "In" or "Out" command tells you if you are already on or off the bus.
  
        * dunnet.el (dun-sauna-heat):
 -      Changed "begin to sweat" to "are perspiring"
 +      Change "begin to sweat" to "are perspiring"
        so that it makes sense whether you are heating up or cooling down.
  
        * dunnet.el (dun-help):
 -      Changed author e-mail address, added web page.
 +      Change author e-mail address, added web page.
        Added hint for batch mode.
  
        * dunnet.el (*global*):
 -      Fixed spelling of Presely in global object list.
 +      Fix spelling of Presely in global object list.
  
        * dunnet.el (*global*):
 -      Added coconuts, tank, and lake as objects that are recognized.
 +      Add coconuts, tank, and lake as objects that are recognized.
  
        * dunnet.el (*global*):
 -      Added `slip' as another way of describing the paper,
 +      Add `slip' as another way of describing the paper,
        and `chip' as another way of describing the CPU.
  
        * dunnet.el (*global*):
        Upcase  abbreviations of directions in room descriptions.
  
        * dunnet.el (dun-login):
 -      Fixed erroneous login message to better-describe ftp limitations.
 +      Fix erroneous login message to better-describe ftp limitations.
  
        * dunnet.el (dun-rlogin):
 -      Added error message if user tries to rlogin back to pokey.
 +      Add error message if user tries to rlogin back to pokey.
  
        * dunnet.el (dun-load-d):
 -      Fixed so that if restore file isn't found which in non-batch mode,
 +      Fix so that if restore file isn't found which in non-batch mode,
        window will switch back to game.
  
  1997-04-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-04-26  Edward M Reingold  <emr@silver.wisdom.weizmann.ac.il>
  
 -      * cal-french.el (calendar-print-french-date): Label
 -      French date in echo area.
 +      * cal-french.el (calendar-print-french-date):
 +      Label French date in echo area.
  
 -      * cal-coptic.el (calendar-print-coptic-date): Label
 -      Coptic/Ethiopic date in echo area.
 +      * cal-coptic.el (calendar-print-coptic-date):
 +      Label Coptic/Ethiopic date in echo area.
  
  1997-04-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  
        * cus-edit.el (custom-set-value): New command.
        (custom-set-variable): New command.
 -      (customize-saved): Renamed from `customize-customized'.
 +      (customize-saved): Rename from `customize-customized'.
        (customize-customized): New command.
        (custom-save-customized): New command.
  
        * cus-edit.el (custom-display-unselected-match): Matched too many
        displays.
  
 -      * wid-edit.el (widget-field-face): Changed default background
 +      * wid-edit.el (widget-field-face): Change default background
        color.
  
        * custom.el (custom-declare-variable): Set `custom-get' the right
  
        * sh-script.el (sh-case): Make this a simple define-skeleton
        as it was originally.  Don't add a menu-enable property.
 -      (sh-assignment-regexp): Renamed from sh-assignment-prefix
 +      (sh-assignment-regexp): Rename from sh-assignment-prefix
        undoing a renaming made by mistake.
  
        * sgml-mode.el (sgml-transformation): Fix previous change.
  
        * cus-start.el: Add support for face documentation.
  
 -      * cus-dep.el (custom-make-dependencies): Fixed generation of
 +      * cus-dep.el (custom-make-dependencies): Fix generation of
        parens.
        Fixed message.
  
  
  1997-04-14  Steven L Baur  <steve@altair.xemacs.org>
  
 -      * edebug.el (edebug-read-and-maybe-wrap-form): Protect
 -      against pathological recursive calls.
 +      * edebug.el (edebug-read-and-maybe-wrap-form):
 +      Protect against pathological recursive calls.
  
  1997-04-14  Karl Heuer  <kwzh@gnu.ai.mit.edu>
  
        variable instead.  buffer-substring with 3 arguments is non-portable.
  
        * elp.el (elp-instrument-function, elp-instrument-list):
 -      Handle function symbols that have already been instrumented.  Do
 -      not instrument them twice.
 +      Handle function symbols that have already been instrumented.
 +      Do not instrument them twice.
  
        * elp.el (elp-recycle-buffers-p): New variable.
  
        * cus-edit.el (customize-menu-create): New function.
        (custom-mode-customize-menu): Use it.
  
 -      * cus-edit.el (custom-make-dependencies): Deleted function.
 +      * cus-edit.el (custom-make-dependencies): Delete function.
  
        * cus-edit.el (customize-face): Sort faces.
  
        * cus-edit.el (custom-faces): New group.
 -      (custom-magic-alist): Added.
 -      (custom-variable-sample-face): Added.
 -      (custom-variable-button-face): Added.
 -      (custom-face-tag-face): Added.
 -      (custom-group-tag-faces): Added.
 -      (custom-group-tag-face): Added.
 -      (customize): Removed from faces group.
 +      (custom-magic-alist): Add.
 +      (custom-variable-sample-face): Add.
 +      (custom-variable-button-face): Add.
 +      (custom-face-tag-face): Add.
 +      (custom-group-tag-faces): Add.
 +      (custom-group-tag-face): Add.
 +      (customize): Remove from faces group.
  
        * cus-edit.el (custom-load-recursion): New variable.
        (custom-load-symbol): Use it.
        `custom-buffer-create'.
        (custom-buffer-create-other-window): New function.
  
 -      * cus-edit.el (custom-guess-name-alist): Renamed from
 +      * cus-edit.el (custom-guess-name-alist): Rename from
        `custom-guess-type-alist'.
        (custom-guess-doc-alist): New option.
        (custom-guess-type): Use them.
  
 -      * cus-face.el (set-face-stipple): Removed Kyle Jones code.
 +      * cus-face.el (set-face-stipple): Remove Kyle Jones code.
  
 -      * cus-face.el (face-doc-string): Changed property name to
 +      * cus-face.el (face-doc-string): Change property name to
        `face-documentation'.
        (set-face-doc-string): Ditto.
  
        unbound.
        (custom-menu-nesting): Don't define for XEmacs.
  
 -      * cus-face.el (after-make-frame-hook): Removed
 -      `custom-initialize-frame', as this is now in `frame.el'.
 +      * cus-face.el (after-make-frame-hook):
 +      Remove `custom-initialize-frame', as this is now in `frame.el'.
  
        * cus-edit.el (custom-guess-type-alist): New option.
        (custom-guess-type): New function.
        (custom-variable-type): New function.
        (custom-variable-value-create): Use it.
  
 -      * cus-face.el (custom-face-attributes): Moved :family to the
 +      * cus-face.el (custom-face-attributes): Move :family to the
        beginning of the list.
 -      (custom-face-attributes): Added :strikethru attribute.
 +      (custom-face-attributes): Add :strikethru attribute.
  
        * custom.el (custom-set-variables): If variable is already set,
        overwrite it here.
        (scheme-comment-indent, scheme-indent-offset)
        (scheme-indent-function, scheme-indent-line)
        (calculate-scheme-indent, scheme-indent-specform)
 -      (scheme-indent-defform, scheme-indent-sexp): Removed; use lisp-mode
 +      (scheme-indent-defform, scheme-indent-sexp): Remove; use lisp-mode
        equivalents.
        (scheme-imenu-generic-expression): New variable.
        (dsssl-imenu-generic-expression): New variable.
  
  1997-03-30  Dan Nicolaescu  <done@ece.arizona.edu>
  
 -      * icon.el (icon-mode-map): Added menus.
 +      * icon.el (icon-mode-map): Add menus.
        (icon-imenu-generic-expression): New variable to be used for imenu.
 -      (icon-mode): Added font-lock, imenu and hideshow support.
 +      (icon-mode): Add font-lock, imenu and hideshow support.
        (icon-font-lock-keywords-1, icon-font-lock-keywords-2):
        New constants for different level of font-lock fontification.
        (icon-font-lock-keywords): New variable.  Default expression to be
        * sh-script.el (sh-mode): If file has no #! line,
        set the syntax table based on the default shell.
  
 -1997-03-29  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-03-29  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * Public Release 4.389.
  
        * term.el: Added a lot of new faces, they all start with
        term- and follow a simple lexicographical convention.  Note that
        each change is commented: just search for -mm in the source.
 -      (term-char-mode): Added all the "gray-keys" to term-raw-map.
 +      (term-char-mode): Add all the "gray-keys" to term-raw-map.
        (term-send-up): Similar, decided to go for the more xterm-like
        \eOA bindings in place of the previous \e[A.
        (term-buffer-maximum-size): New variable.
 -      (term-mode): Added some make-local: now term-buffer-maximum-size,
 +      (term-mode): Add some make-local: now term-buffer-maximum-size,
        ange-ftp-default-user/password/an-pwd.
        (term-emulate-terminal): Quite some modifications to allow
        multiple outstanding ANSI style commands: notably all the
        -previous-parameter stuff.  Call term-handle-ansi-terminal-messages.
 -      (term-emulate-terminal): Added simple trimming function: at the
 +      (term-emulate-terminal): Add simple trimming function: at the
        end we simply check if the buffer is > term-buffer-maximum-size
        and cut it accordingly.
        (term-handle-colors-array): New function.
        (term-handle-ansi-terminal-messages): New function.
 -      (term-handle-ansi-escape): Modified to allow ANSI coloring.
 -      (ansi-term): New function that creates multiple terminals.  Put
 -      in the standard C-x map too: I'm quite used to C-x C-f and C-c C-f
 +      (term-handle-ansi-escape): Modify to allow ANSI coloring.
 +      (ansi-term): New function that creates multiple terminals.
 +      Put in the standard C-x map too: I'm quite used to C-x C-f and C-c C-f
        was too awkward.
  
  1997-03-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        * hideshow.el: Use overlays for hiding instead of selective display.
        Commented out the support for XEmacs because it doesn't support
        overlays.
 -      (hs-special-modes-alist): Added support for java-mode.
 +      (hs-special-modes-alist): Add support for java-mode.
        (hs-minor-mode-hook): New variable.
        (hs-c-start-regexp, hs-c-end-regexp, hs-forward-sexp-func)
        (hs-block-start-regexp, hs-block-end-regexp)
        (hs-hide-block-at-point, hs-hide-initial-comment-block)
        (java-hs-forward-sexp, hs-mouse-toggle-hiding): New functions.
        (hs-inside-comment-p, hs-hide-block)
 -      (hs-show-block): Added support for single line comments.
 -      (hs-hide-all): Added support for hiding comments.
 +      (hs-show-block): Add support for single line comments.
 +      (hs-hide-all): Add support for hiding comments.
  
  1997-03-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
  
  1997-03-20  Dan Nicolaescu  <done@ece.arizona.edu>
  
        * imenu.el (imenu-scanning-message): Support for bigger numbers.
 -      (imenu--generic-function): Fixed probably a typo: named appeared
 +      (imenu--generic-function): Fix probably a typo: named appeared
        twice in an item.  Put function after name and beg in a special
        item because a normal item has name and beg (for orthogonality).
        (imenu-add-to-menubar): First test to see if the mode supports
  
  1997-03-18  Kenichi Handa  <handa@etl.go.jp>
  
 -      * fontset.el (x-complement-fontset-spec): Setup
 -      alternative-fontname-alist while complementing fontnames.
 +      * fontset.el (x-complement-fontset-spec):
 +      Setup alternative-fontname-alist while complementing fontnames.
  
  1997-03-18  Naoto TAKAHASHI  <ntakahas@etl.go.jp>
  
        (quail-keyboard-layout): Docstring changed to reflect the above
        change.
        (quail-keyboard-layout-len): Increased for the above change.
 -      (quail-keyboard-layout-alist): Modified for the above change.
 +      (quail-keyboard-layout-alist): Modify for the above change.
  
  1997-03-18  Kenichi Handa  <handa@etl.go.jp>
  
 -      * mule.el (make-char): Documented.
 +      * mule.el (make-char): Document.
        (charset-plist): Return quoted list even if CHARSET is
        supplied by symbol.
  
  
        * language/viet-util.el (viet-decode-viqr-region): Supply correct
        argumnents to rassoc.
 -      (viqr-post-read-conversion, viqr-pre-write-conversion): New
 -      functions.
 +      (viqr-post-read-conversion, viqr-pre-write-conversion):
 +      New functions.
  
        * language/vietnamese.el: Set the above functions to the coding
        system viqr.
        * mailalias.el (mail-passwd-files): New variable.
        (mail-get-names): Use mail-passwd-files instead of always /etc/passwd.
  
 -1997-03-12  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-03-12  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * cc-mode.el (c-lineup-C-comments): Handle more cases, especially
        when comment lines aren't prefixed with stars.
        map them into inher-intro, inher-cont, and func-decl-cont
        syntactic symbols.  Do the indentation as of Java inheritance
        lines better.
 -      (c-offsets-alist): Changed the syntactic symbol ansi-funcdecl-cont
 +      (c-offsets-alist): Change the syntactic symbol ansi-funcdecl-cont
        to func-decl-cont.  This symbol is useful in Java throws
        declarations.
        (c-lineup-java-inher): New function for lining up "implements"
  
        * make-mode.el (makefile-dependency-regex): Disallow "=" in name,
        so that "flags=-o:1" is treated as an assignment, not a dependency.
 -      (makefile-dependency-regex, makefile-macroassign-regex): Disallow
 -      spaces in symbol name.
 +      (makefile-dependency-regex, makefile-macroassign-regex):
 +      Disallow spaces in symbol name.
  
  1997-03-11  Dan Nicolaescu  <done@ece.arizona.edu>
  
  
  1997-03-12  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
  
 -      * dired-aux.el (dired-fun-in-all-buffers): New arg FILE.  Don't
 -      operate on buffers whose wildcard pattern does not accept FILE.
 +      * dired-aux.el (dired-fun-in-all-buffers): New arg FILE.
 +      Don't operate on buffers whose wildcard pattern does not accept FILE.
        All callers changed.
  
        * dired.el (dired-glob-regexp): New function.
        (rmail-show-mime-function, rmail-mime-feature): New variables to
        control MIME feature.
        (rmail-file-coding-system): Default value is nil.
 -      (rmail, rmail-convert-file, rmail-insert-inbox-text): Check
 -      rmail-enable-mime.  Read a file without any code conversion.
 +      (rmail, rmail-convert-file, rmail-insert-inbox-text):
 +      Check rmail-enable-mime.  Read a file without any code conversion.
        (rmail-variables): Setup local variables rmail-buffer and
        rmail-view-buffer.
 -      (rmail-decode-babyl-format, rmail-convert-babyl-format): Perform
 -      code conversion of RMAIL file if rmail-enable-mime is nil.
 -      (rmail-show-message): Make sure to be in rmail-buffer.  If
 -      rmail-enable-mime is t, call appropriate function to decode MIME
 +      (rmail-decode-babyl-format, rmail-convert-babyl-format):
 +      Perform code conversion of RMAIL file if rmail-enable-mime is nil.
 +      (rmail-show-message): Make sure to be in rmail-buffer.
 +      If rmail-enable-mime is t, call appropriate function to decode MIME
        format.
        (rmail-mail, rmail-reply): Call rmail-start-mail with argument
        rmail-view-buffer.
        rmail-summary-line-decoder.
        (rmail-summary-next-msg): Display rmail-view-buffer.
        (rmail-summary-mode): Make rmail-view-buffer buffer local.
 -      (rmail-summary-rmail-update, rmail-summary-scroll-msg-up): Use
 -      rmail-view-buffer instead of rmail-buffer.
 +      (rmail-summary-rmail-update, rmail-summary-scroll-msg-up):
 +      Use rmail-view-buffer instead of rmail-buffer.
  
        * mule-cmds.el (mule-keymap): Re-arranged.
        (set-language-info): Typo fixed in docstring.
        (turn-on-font-lock): Test font-lock-mode.
        Added commented out menu code.
  
 -      * compile.el (compilation-mode-font-lock-keywords): Variable
 -      definition deleted.  New function.
 +      * compile.el (compilation-mode-font-lock-keywords):
 +      Variable definition deleted.  New function.
        (compilation-mode-map): Add `...' to Compile menu entry.
  
  1997-02-20  Yutaka NIIBE  <gniibe@mri.co.jp>
        * help.el (help-with-tutorial): Prefix argument to specify a
        language interactively.
  
 -      * isearch.el (isearch-mode-map): Define
 -      isearch-toggle-input-method and
 +      * isearch.el (isearch-mode-map):
 +      Define isearch-toggle-input-method and
        isearch-toggle-specified-input-method in the map.
        (isearch-multibyte-characters-flag): New variable.
        (isearch-mode): Initialize it to nil.
        (sendmail-send-it): Perform code conversion on sending mail
        according to sendmail-coding-system.
  
 -      * simple.el (kill-forward-chars, kill-backward-chars): Pay
 -      attention to multibyte characters.
 +      * simple.el (kill-forward-chars, kill-backward-chars):
 +      Pay attention to multibyte characters.
        (what-cursor-position): With a prefix argument, print detailed
        info of a character on cursor position.
        (transpose-subr-1): Pay attention to multibyte characters.
        * diff.el (diff-process-setup): New function, sets up the
        compilation-exit-message-function so that it works with both
        asynchronous and synchronous sub-processes.
 -      (diff): Bind compilation-exit-message-function.  Run
 -      compilation-finish-function when compile-internal returns if async
 +      (diff): Bind compilation-exit-message-function.
 +      Run compilation-finish-function when compile-internal returns if async
        processes aren't supported.
  
  1997-02-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
        * iso-acc.el (iso-accents-compose):
        Handle case where unread-command-events is already nonempty.
  
 -      * frame.el (set-frame-font): Renamed from set-default-font.
 +      * frame.el (set-frame-font): Rename from set-default-font.
  
  1997-02-01  Tom Tromey  <tromey@cygnus.com>
  
        * compile.el (compilation-enter-directory-regexp)
        (compilation-leave-directory-regexp): Add .* at beginning.
  
 -1997-01-30  Barry A. Warsaw  <cc-mode-help@python.org>
 +1997-01-30  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * cc-mode.el: Public Release 4.353.
  
        * cc-mode.el (c-Java-access-key): Set to nil since Java doesn't
        have C++-like access labels.
  
 -      * cc-mode.el (c-style-alist): Added "python" style.
 +      * cc-mode.el (c-style-alist): Add "python" style.
  
        * cc-mode.el (c-mode-menu): New function.
        (c-popup-menu, c-common-init): Use c-mode-menu.
        * cc-mode.el (c-emacs-features): Detect Infodock.
        (c-common-init, c-mode-map): Don't install menus for Infodock.
  
 -      * cc-mode.el (c-indent-exp): Fixed infinite loop when multi-line C
 +      * cc-mode.el (c-indent-exp): Fix infinite loop when multi-line C
        comment is last thing in buffer.
 -      (c-guess-basic-offset): Fixed error when K&R C-like macro is first
 +      (c-guess-basic-offset): Fix error when K&R C-like macro is first
        non-syntactic whitespace in file.
  
        * cc-mode.el (c-C++-comment-start-regexp):
  
  1997-01-09  Simon Marshall  <simon@wombat.gnu.ai.mit.edu>
  
 -      * font-lock.el (font-lock-unique): Deleted.
 +      * font-lock.el (font-lock-unique): Delete.
        (font-lock-prepend-text-property, font-lock-append-text-property):
        Don't call it; behave as to-be-written builtins.  Declare as defuns.
        (font-lock-fillin-text-property): Declare as a defun.
        (expand-mode-hook, expand-mode-name): Variables deleted.
        (expand-load-hook): Variable renamed from expand-mode-load-hook.
        (expand-map): Variable deleted.
 -      (expand-jump-to-next-slot): Renamed from expand-jump-to-next-mark.
 +      (expand-jump-to-next-slot): Rename from expand-jump-to-next-mark.
        Add autoload.
        (expand-jump-to-previous-slot): Add autoload.
        Renamed from expand-jump-to-previous-mark.
  1997-01-02  Jens Toivo Berger Thielemann  <jensthi@ifi.uio.no>
  
        * word-help.el (word-help-mode-alist, reset-word-help)
 -      (word-help-switch-help-file): Added support for completion.
 +      (word-help-switch-help-file): Add support for completion.
        (word-help-complete, word-help-complete-list)
        (word-help-complete-index, word-help-extract-matches)
        (word-help-make-complete): New functions/variables for completion.
 -      (word-help-mode-alist): Enhanced search regexps.
 +      (word-help-mode-alist): Enhance search regexps.
        (word-help-index-mapper): Defaults now to extracting the first word.
        (word-help-mode-alist, word-help-index-mapper)
        (word-help-main-index, word-help-main-obarray)
  
  1996-12-31  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
 -      * simple.el (repeat-complex-command): Bind
 -      minibuffer-history-position and minibuffer-history-sexp-flag
 +      * simple.el (repeat-complex-command):
 +      Bind minibuffer-history-position and minibuffer-history-sexp-flag
        only for the read-from-minibuffer call.
  
  1996-12-30  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
        * expand.el: New file.
  
 -      * skeleton.el (skeleton-positions): Renamed from skeleton-marks.
 +      * skeleton.el (skeleton-positions): Rename from skeleton-marks.
  
        * skeleton.el (skeleton-marks): New variable.
        (skeleton-insert, skeleton-internal-1): Set skeleton-marks.
        (vip-convert-standard-file-name): New function.
  
        * ediff-util.el (ediff-file-under-version-control): New function.
 -      (ediff-inferior-compare-regions): Improved interface.
 +      (ediff-inferior-compare-regions): Improve interface.
        (ediff-maybe-checkout): New function.
        (ediff-maybe-save-and-delete-merge): New function.
        (ediff-setup): Now uses convert-standard-filename.
        subordinate Ediff sessions.
        * ediff-ptch.el (ediff-patch-file-internal):
        Now calls ediff-maybe-checkout.
 -      (ediff-context-diff-label-regexp): Fixed regexp.
 -      (ediff-map-patch-buffer): Fixed beg/end patch boundaries.
 +      (ediff-context-diff-label-regexp): Fix regexp.
 +      (ediff-map-patch-buffer): Fix beg/end patch boundaries.
        * ediff.el: Now supports autostore for merge jobs.
  
  1996-12-27  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
        * vc-hooks.el (vc-user-login-name): New function.
        (vc-fetch-master-properties, vc-lock-from-permissions, vc-file-owner)
 -      (vc-fetch-properties, vc-after-save, vc-mode-line, vc-status): Use
 -      `vc-user-login-name' instead of `user-login-name'.
 +      (vc-fetch-properties, vc-after-save, vc-mode-line, vc-status):
 +      Use `vc-user-login-name' instead of `user-login-name'.
  
        * vc.el (vc-next-action-on-file, vc-update-change-log)
        (vc-backend-checkout, vc-backend-steal): Use `vc-user-login-name'
        instead of `user-login-name'.
        (vc-update-change-log): If `user-full-name' is nil, try
        `user-login-name'.  Failing that, use uid as a string.
 -      (vc-make-buffer-writable-hook): Removed (was unused).
 +      (vc-make-buffer-writable-hook): Remove (was unused).
  
  1996-12-20  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
  
        * thingatpt.el: Downcase arguments as Lisp symbols.
        Fix many doc strings.
 -      (thing-at-point-file-name-chars): Renamed from file-name-chars.
 +      (thing-at-point-file-name-chars): Rename from file-name-chars.
        Allow a colon.
        (thing-at-point-url-chars): New variable.
        (url): Define new kind of "thing".
        Two new arguments.
        (rmail-forward): Always call rmail-start-mail, never `mail'.
  
 -      * sendmail.el (mail-reply-action): Renamed from mail-reply-buffer.
 +      * sendmail.el (mail-reply-action): Rename from mail-reply-buffer.
        (mail-yank-original): Handle either an action or a buffer
        in mail-reply-action.
        (mail): Doc fix.
        (font-lock-face-attributes): Doc fix.
        (font-lock-match-c-style-declaration-item-and-skip-to-next): New
        function.  Match just identifiers.  Use it for C, Objective-C and Java.
 -      (font-lock-match-c++-style-declaration-item-and-skip-to-next): Match
 -      templates too.
 +      (font-lock-match-c++-style-declaration-item-and-skip-to-next):
 +      Match templates too.
        (c-font-lock-extra-types, c++-font-lock-extra-types)
        (objc-font-lock-extra-types, java-font-lock-extra-types): Use these
        variables in EVAL forms, i.e., do not eval when font-lock.el is loaded.
        (fast-lock-get-face-properties): Rewrite for face lists.  Use it.
  
        * lazy-lock.el (lazy-lock-submit-bug-report): Function deleted.
 -      (lazy-lock-defer-on-scrolling): Renamed from lazy-lock-defer-driven.
 +      (lazy-lock-defer-on-scrolling): Rename from lazy-lock-defer-driven.
        (lazy-lock-defer-on-the-fly): New variable from lazy-lock-defer-time.
        (lazy-lock-install): Use it.
        (lazy-lock-defer-time): Doc fix.  Add top-level code to detect use of
        (lazy-lock-stealth-load): New variable.
        (lazy-lock-fontify-after-idle): Use it.
        (lazy-lock-mode): Doc fix.
 -      (lazy-lock-defer-line-after-change): Renamed from
 +      (lazy-lock-defer-line-after-change): Rename from
        lazy-lock-defer-after-change.
        (lazy-lock-defer-rest-after-change)
        (lazy-lock-fontify-line-after-change)
        (lazy-lock-fontify-rest-after-change): New functions.
        (lazy-lock-install-hooks): Add one depending on deferral variables.
        (lazy-lock-unstall): Remove them.  Fontify if Font Lock mode still on.
 -      (lazy-lock-fontify-window, lazy-lock-fontify-conservatively): Use
 -      with-current-buffer rather than save-excursion.
 +      (lazy-lock-fontify-window, lazy-lock-fontify-conservatively):
 +      Use with-current-buffer rather than save-excursion.
        (lazy-lock-percent-fontified): Cast size to float before multiplying.
  
  1996-11-14  Karl Heuer  <kwzh@gnu.ai.mit.edu>
        * comint.el (comint-output-filter): Run comint-output-filter-functions
        directly, not via comint-output-filter.
  
 -      * compile.el (compile-auto-highlight): Renamed from
 +      * compile.el (compile-auto-highlight): Rename from
        compile-highlight-display-limit.
  
        * time-stamp.el (time-stamp-dd/mm/yyyy): New function.
  1996-11-02  Henry Guillaume  <henry@qbd.com.au>
  
        * find-file.el (general): Enabled commentary for Finder.
 -      (ff-search-directories): Changed /usr/include/* to /usr/include.
 +      (ff-search-directories): Change /usr/include/* to /usr/include.
        (ff-get-file-name): Improve behavior when file is found in a buffer.
  
  1996-11-02  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
  1996-10-24  Dave Gillespie  <daveg@synaptics.com>
  
 -      * cl-macs.el (lexical-let): Fixed a bug involving nested
 +      * cl-macs.el (lexical-let): Fix a bug involving nested
        lexical contexts and macros.
  
  1996-10-23  Simon Marshall  <simon@wombat.gnu.ai.mit.edu>
  
  1996-10-20  Kevin Rodgers  <kevinr@ihs.com>
  
 -      * compile.el (compilation-skip-to-next-location): Defined.
 +      * compile.el (compilation-skip-to-next-location): Define.
        (compilation-next-error-locus, compilation-parse-errors): Respect it.
  
  1996-10-17  Andre Spiegel  <spiegel@berlin.informatik.uni-stuttgart.de>
  
  1996-10-14  Torbjorn Einarsson  <T.Einarsson@clab.ericsson.se>
  
 -      * f90.el (f90-no-block-limit): Fixed bug for indentation of
 +      * f90.el (f90-no-block-limit): Fix bug for indentation of
        elsewhere and elseif.
        (f90-looking-at-where-or-forall): Now allows for labeled forall
        and where statements.
        (f90-font-lock-keywords-2): New highlighting for labeled where
        and forall.  Fixed small bug with else highlighting.
 -      (f90-fill-region): Moved indentation to f90-break-line.
 +      (f90-fill-region): Move indentation to f90-break-line.
        (f90-break-line): Will now always indent the second line.
        (f90-indent-line): Simpler test for auto-fill.
 -      (f90-auto-fill-mode): Removed.
 -      (f90-electric-insert): Added for possibility of auto-filling of
 +      (f90-auto-fill-mode): Remove.
 +      (f90-electric-insert): Add for possibility of auto-filling of
        lines without spaces, as well as early updating of line.
 -      (f90-mode-map): Added bindings of operators to f90-electric-insert.
 +      (f90-mode-map): Add bindings of operators to f90-electric-insert.
        (f90-do-auto-fill): Now also updates line (changes case).
  
  1996-10-12  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
  
        * browse-url.el (browse-url): New function.
        (browse-url-CCI-host): New variable.
 -      (browse-url-at-mouse): Added event-buffer and event-point
 +      (browse-url-at-mouse): Add event-buffer and event-point
        functions for XEmacs compatibility.
        (browse-url-file-url): Check for EFS after alist, URL-encode
        special chars.
        (browse-url-grail): New function.
        (browse-url-interactive-arg): Add new-window logic.
 -      (browse-url-looking-at): Fixed.
 +      (browse-url-looking-at): Fix.
        (browse-url-lynx-xterm): New function.
        (browse-url-lynx-emacs): Use term.el instead of terminal.el.
        (browse-url-netscape): Contact/start Netscape in the
 -      background.  Multi-display support.  Renamed
 -      browse-url-netscape-send.  URL-encode comma.
 +      background.  Multi-display support.
 +      Renamed browse-url-netscape-send.  URL-encode comma.
        (browse-url-netscape-command): New variable.
        (browse-url-netscape-startup-arguments): New variable.
 -      (browse-url-url-at-point): Improved matching to supply missing
 +      (browse-url-url-at-point): Improve matching to supply missing
        "http://".
        Other fixes for byte-compilation.
  
        * rmail.el (rmail-mode-2): Don't run rmail-mode-hook here.
        (rmail-mode, rmail): Run it here.
  
 -1996-10-08  Barry A. Warsaw  <cc-mode-help@python.org>
 +1996-10-08  Barry A. Warsaw  <bwarsaw@cnri.reston.va.us>
  
        * cc-mode.el (c-mode-map):
        Install FSF mode menu into menubar using the name
        additional FSF menu.
  
        * cc-mode.el:
 -      Removed the following variables from the built-in "cc-mode" style:
 +      Remove the following variables from the built-in "cc-mode" style:
        c-echo-syntactic-information-p
        c-string-syntax-p
        c-tab-always-indent
  
        * cc-mode.el (c-indent-command): Doc fix.
  
 -      * cc-mode.el (c-style-alist): Added "linux" style.
 +      * cc-mode.el (c-style-alist): Add "linux" style.
  
        * cc-mode.el (c-lineup-comment): Preserve comment-column.
  
        functions inside a nested class since they will twice add the
        indentation of the inner class to the running total.
  
 -      The solution is to not give one of the two symbols a relpos.  The
 -      decision was made to omit the relpos of the 'inline-open symbol.
 +      The solution is to not give one of the two symbols a relpos.
 +      The decision was made to omit the relpos of the 'inline-open symbol.
  
 -      (c-mode-help-address): Added cc-mode-help@python.org.
 +      (c-mode-help-address): Add cc-mode-help@python.org.
  
        (c-recognize-knr-p): No longer a user variable.
        (c++-mode, java-mode): Set c-recognize-knr-p to nil.
        (sgml-font-lock-keywords): Add an element for comments.
  
        * rmailsum.el (rmail-summary-line-count-flag):
 -      Renamed from rmail-summary-line-count-p.
 +      Rename from rmail-summary-line-count-p.
  
        * rmailsum.el (rmail-summary-line-count-p): New variable.
        (rmail-make-basic-summary-line): Optionally exclude the line count.
        (ps-print-prologue-1, ps-print-prologue-2): New variables.
        Major rewrite of the PostScript code to handle landscape mode,
        multiple columns and new font management.
 -      (ps-landscape-mode, ps-number-of-columns, ps-inter-column): New
 -      variables.
 +      (ps-landscape-mode, ps-number-of-columns, ps-inter-column):
 +      New variables.
        Add landscape mode and multiple columns with interspacing.
        (ps-font-info-database, ps-font-family, ps-font-size)
        (ps-header-font-family, ps-header-font-size, ps-header-title-font)
        (/ReportAllFontInfo): New PostScript function to get all the font
        families of the printer.
        (ps-setup): New function.
 -      (ps-line-lengths, ps-nb-pages-buffer, ps-nb-pages-region): New
 -      utility functions.
 -      (ps-page-dimensions-get-width, ps-page-dimensions-get-height): New
 -      macros.
 +      (ps-line-lengths, ps-nb-pages-buffer, ps-nb-pages-region):
 +      New utility functions.
 +      (ps-page-dimensions-get-width, ps-page-dimensions-get-height):
 +      New macros.
        (/HeaderOffset): Fix bug with /PrintStartY.
        (/SetHeaderLines): Fix bug.
  
  
        * tex-mode.el (tex-main-file): Add missing initial value.
        (tex-file): Set tex-print-file to source-file always.
 -      (tex-last-file-texed): Renamed from tex-last-buffer-texed
 +      (tex-last-file-texed): Rename from tex-last-buffer-texed
        and now holds a file name.
        (tex-region): Test and set tex-last-file-texed.
  
        * ffap.el (path-separator): Duplicate definition deleted.
        (ffap-what-domain): Don't define mail-extr-all-top-level-domains here.
  
 -      * refbib.el (r2b-capitalize-title-stop-words): Renamed from capit...
 -      (r2b-capitalize-title-stop-regexp): Renamed from capit...
 -      (r2b-capitalize-title-region): Renamed from capitalize...
 -      (r2b-capitalize-title): Renamed from capitalize...
 +      * refbib.el (r2b-capitalize-title-stop-words): Rename from capit...
 +      (r2b-capitalize-title-stop-regexp): Rename from capit...
 +      (r2b-capitalize-title-region): Rename from capitalize...
 +      (r2b-capitalize-title): Rename from capitalize...
  
 -      * bib-mode.el (bib-capitalize-title-stop-words): Renamed from capit...
 -      (bib-capitalize-title-stop-regexp): Renamed from capit...
 -      (bib-capitalize-title-region): Renamed from capitalize...
 -      (bib-capitalize-title): Renamed from capitalize...
 +      * bib-mode.el (bib-capitalize-title-stop-words): Rename from capit...
 +      (bib-capitalize-title-stop-regexp): Rename from capit...
 +      (bib-capitalize-title-region): Rename from capitalize...
 +      (bib-capitalize-title): Rename from capitalize...
  
        * edmacro.el (insert-kbd-macro): Duplicate definition deleted.
  
        New variables.
        (ediff-convert-standard-file-name): New function.
        Added on-line help, moved some functions to and from ediff-util.el.
 -      (ediff-file-remote-p): Modified.
 +      (ediff-file-remote-p): Modify.
        (ediff-set-face-pixmap): New function.
        (ediff-odd-diff-pixmap, ediff-even-diff-pixmap, ediff-fine-diff-pixmap):
        New variables.
 -      * ediff-ptch.el (ediff-context-diff-label-regexp): Fixed regexp.
 -      (ediff-map-patch-buffer): Fixed beg/end patch boundaries.
 +      * ediff-ptch.el (ediff-context-diff-label-regexp): Fix regexp.
 +      (ediff-map-patch-buffer): Fix beg/end patch boundaries.
        Now checks for the return code from the patch program.
        Fixed ediff-patch-options, ediff-backup-extension, ediff-backup-specs.
        * ediff-merg.el, ediff-diff.el, ediff-init.el:
        * ediff-hook.el: Changed ediff-meta to ediff-mult.
        * ediff-ptch.el (ediff-backup-specs): New variable.
 -      * ediff.el (ediff-documentation): Modified.
 +      * ediff.el (ediff-documentation): Modify.
        * ediff-help.el: New file.
        * ediff-mult.el (ediff-intersect-directories)
        (ediff-meta-insert-file-info): Functions modified.
        * vc.el (vc-print-log): Set the display window so that it shows
        the current log entry completely.
  
 -      * vc-hooks.el (vc-find-cvs-master): Fixed handling of "locally
 +      * vc-hooks.el (vc-find-cvs-master): Fix handling of "locally
        added" files.
  
  1996-09-16  Erik Naggum  <erik@naggum.no>
        * bindings.el: New file, split out from loaddefs.el.
        * loadup.el: Load bindings.el.
  
 -      * gud.el (gud-find-c-expr): Renamed from find-c-expr.
 +      * gud.el (gud-find-c-expr): Rename from find-c-expr.
        Don't get fooled by if and while statements.
 -      (gud-expr-compound): Renamed from expr-compound.
 -      (gud-expr-compound-sep): Renamed from expr-compound-sep.
 -      (gud-next-expr): Renamed from expr-next.
 -      (gud-prev-expr): Renamed from expr-prev.
 -      (gud-forward-sexp): Renamed from expr-forward-sexp.
 -      (gud-backward-sexp): Renamed from expr-backward-sexp.
 -      (gud-innermost-expr): Renamed from expr-cur.
 +      (gud-expr-compound): Rename from expr-compound.
 +      (gud-expr-compound-sep): Rename from expr-compound-sep.
 +      (gud-next-expr): Rename from expr-next.
 +      (gud-prev-expr): Rename from expr-prev.
 +      (gud-forward-sexp): Rename from expr-forward-sexp.
 +      (gud-backward-sexp): Rename from expr-backward-sexp.
 +      (gud-innermost-expr): Rename from expr-cur.
  
  1996-09-10  Per Abrahamsen  <abraham@dina.kvl.dk>
  
  1996-09-05  Michael Kifer  <kifer@cs.sunysb.edu>
  
        * viper-keym.el, viper.el (vip-scroll):
 -      Changed to vip-scroll-screen, other modifications.
 -      (vip-alternate-ESC): Changed to vip-alternate-Meta-key.
 +      Change to vip-scroll-screen, other modifications.
 +      (vip-alternate-ESC): Change to vip-alternate-Meta-key.
        * viper.el (vip-escape-to-vi, vip-prefix-arg-value)
        (vip-prefix-arg-value): Now work with prefix arguments and also
        will work with 2dw and d2d style commands.
        (vip-paren-match): Go to closing paren first.
        (vip-find-char-forward, vip-find-char-backward, vip-goto-char-forward)
        (vip-goto-char-backward): Functions modified.
 -      (vip-set-hooks): Added viper to fortran-mode.
 +      (vip-set-hooks): Add viper to fortran-mode.
        (viper-mode): Don't delete the startup message.
        * viper-keym.el: C-\ is now the meta key.
        C-z in insert mode now escapes to Vi.
        * viper-util.el, viper.el: Added pixmaps to replace-region and
        search faces.
        (vip-get-filenames-from-buffer): The argument is now optional.
 -      (vip-ex-nontrivial-find-file-unix): Added the -d option to ls command.
 +      (vip-ex-nontrivial-find-file-unix): Add the -d option to ls command.
        (vip-read-key): Inhibit quit added.
 -      (vip-get-cursor-color): Fixed to work with XEmacs.
 +      (vip-get-cursor-color): Fix to work with XEmacs.
        * viper-ex.el (ex-edit): Don't change to vi in dired mode.
  
  1996-09-04  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
        (grep-regexp-alist, file-name-buffer-file-type-alist)
        (find-buffer-file-type, find-file-not-found-set-buffer-file-type)
        (find-file-binary, find-file-text, mode-line-format):
 -      Moved to dos-nt.el.
 +      Move to dos-nt.el.
  
        * winnt.el (save-to-unix-hook, revert-from-unix-hook)
        (using-unix-filesystems): Functions removed.
@@@ -23110,8 -23110,7 +23110,7 @@@ See ChangeLog.6 for earlier changes
  ;; coding: utf-8
  ;; End:
  
-       Copyright (C) 1997-1998, 2001-2014 Free Software Foundation,
-       Inc.
+       Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
  
    This file is part of GNU Emacs.
  
index 39ba6f4617e4c4ae52e34302153c63812f7f6cc1,128b62980684e7b103162fa7294ba61185d9cfea..43f2ea489325582a011711ff46e41c61a2578ffe
@@@ -48,6 -48,13 +48,6 @@@ are holidays.
    :type 'boolean
    :group 'diary)
  
 -(defcustom diary-face 'diary
 -  "Face name to use for diary entries."
 -  :type 'face
 -  :group 'calendar-faces)
 -(make-obsolete-variable 'diary-face "customize the face `diary' instead."
 -                        "23.1")
 -
  (defface diary-anniversary '((t :inherit font-lock-keyword-face))
    "Face used for anniversaries in the fancy diary display."
    :version "22.1"
@@@ -64,6 -71,8 +64,6 @@@
    :version "22.1"
    :group 'calendar-faces)
  
 -(define-obsolete-face-alias 'diary-button-face 'diary-button "22.1")
 -
  ;; Face markup of calendar and diary displays: Any entry line that
  ;; ends with [foo:value] where foo is a face attribute (except :box
  ;; :stipple) or with [face:blah] tags, will have these values applied
@@@ -123,6 -132,9 +123,6 @@@ are: `string', `symbol', `int', `tnil'
    :type 'function
    :group 'diary)
  
 -(define-obsolete-variable-alias 'sexp-diary-entry-symbol
 -  'diary-sexp-entry-symbol "23.1")
 -
  (defcustom diary-sexp-entry-symbol "%%"
    "The string used to indicate a sexp diary entry in `diary-file'.
  See the documentation for the function `diary-list-sexp-entries'."
@@@ -155,10 -167,18 +155,10 @@@ Used for example by the appointment pac
    :type 'hook
    :group 'diary)
  
 -(define-obsolete-variable-alias 'diary-display-hook 'diary-display-function
 -  "23.1")
 -
  (defcustom diary-display-function 'diary-fancy-display
    "Function used to display the diary.
  The two standard options are `diary-fancy-display' and `diary-simple-display'.
  
 -For historical reasons, `nil' is the same as `diary-simple-display'
 -\(so you must use `ignore' for no display).  Also for historical
 -reasons, this variable can be a list of functions to run.  These
 -uses are not recommended and may be removed at some point.
 -
  When this function is called, the variable `diary-entries-list'
  is a list, in order by date, of all relevant diary entries in the
  form of ((MONTH DAY YEAR) STRING), where string is the diary
@@@ -167,13 -187,17 +167,13 @@@ produce a different buffer for display 
  holidays), or hard copy output."
    :type '(choice (const diary-fancy-display :tag "Fancy display")
                   (const diary-simple-display :tag "Basic display")
 -                 (const ignore :tag "No display")
 -                 (const nil :tag "Obsolete way to choose basic display")
 -                 (hook :tag "Obsolete form with list of display functions"))
 +                 (const :tag "No display" ignore)
 +                 (function :tag "User-specified function"))
    :initialize 'custom-initialize-default
    :set 'diary-set-maybe-redraw
    :version "23.2"                       ; simple->fancy
    :group 'diary)
  
 -(define-obsolete-variable-alias 'list-diary-entries-hook
 -  'diary-list-entries-hook "23.1")
 -
  (defcustom diary-list-entries-hook nil
    "Hook run after diary file is culled for relevant entries.
  
@@@ -202,6 -226,9 +202,6 @@@ the main file and all included files, y
    :options '(diary-include-other-diary-files diary-sort-entries)
    :group 'diary)
  
 -(define-obsolete-variable-alias 'mark-diary-entries-hook
 -  'diary-mark-entries-hook "23.1")
 -
  (defcustom diary-mark-entries-hook nil
    "List of functions called after marking diary entries in the calendar.
  You might wish to add `diary-mark-included-diary-files', in which case
@@@ -216,6 -243,9 +216,6 @@@ differ only if you are using included d
    :options '(diary-mark-included-diary-files)
    :group 'diary)
  
 -(define-obsolete-variable-alias 'nongregorian-diary-listing-hook
 -  'diary-nongregorian-listing-hook "23.1")
 -
  (defcustom diary-nongregorian-listing-hook nil
    "List of functions called for listing diary file and included files.
  As the files are processed for diary entries, these functions are used
@@@ -233,6 -263,9 +233,6 @@@ use `diary-list-entries-hook', which ru
               diary-islamic-list-entries)
    :group 'diary)
  
 -(define-obsolete-variable-alias 'nongregorian-diary-marking-hook
 -  'diary-nongregorian-marking-hook "23.1")
 -
  (defcustom diary-nongregorian-marking-hook nil
    "List of functions called for marking diary file and included files.
  As the files are processed for diary entries, these functions are used
@@@ -250,6 -283,9 +250,6 @@@ use `diary-mark-entries-hook', which ru
               diary-islamic-mark-entries)
    :group 'diary)
  
 -(define-obsolete-variable-alias 'print-diary-entries-hook
 -  'diary-print-entries-hook "23.1")
 -
  (defcustom diary-print-entries-hook 'lpr-buffer
    "Run by `diary-print-entries' after preparing a temporary diary buffer.
  The buffer shows only the diary entries currently visible in the
@@@ -297,6 -333,9 +297,6 @@@ expressions that can involve the keywor
    :type 'sexp
    :group 'diary)
  
 -(define-obsolete-variable-alias 'abbreviated-calendar-year
 -  'diary-abbreviated-year-flag "23.1")
 -
  (defcustom diary-abbreviated-year-flag t
    "Interpret a two-digit year DD in a diary entry as either 19DD or 20DD.
  This applies to the Gregorian, Hebrew, Islamic, and Bahá'í calendars.
@@@ -428,8 -467,7 +428,8 @@@ Only used if `diary-header-line-flag' i
  ;; just visiting the diary-file. This is i) unlikely, and ii) no great loss.
  ;;;###cal-autoload
  (defun diary-live-p ()
 -  "Return non-nil if the diary is being displayed."
 +  "Return non-nil if the diary is being displayed.
 +The actual return value is a diary buffer."
    (or (get-buffer diary-fancy-buffer)
        (and diary-file (find-buffer-visiting diary-file))))
  
@@@ -445,6 -483,9 +445,6 @@@ just visiting the `diary-file'), and SY
           ;; Note this assumes diary was called without prefix arg.
           (diary))))
  
 -(define-obsolete-variable-alias 'number-of-diary-entries
 -  'diary-number-of-entries "23.1")
 -
  (defcustom diary-number-of-entries 1
    "Specifies how many days of diary entries are to be displayed initially.
  This variable affects the diary display when the command \\[diary] is
@@@ -520,6 -561,10 +520,6 @@@ DFILE specifies the file to use as the 
    (let ((diary-file dfile))
      (diary-view-entries arg)))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'view-other-diary-entries
 -  'diary-view-other-diary-entries "23.1")
 -
  (defvar diary-syntax-table
    (let ((st (copy-syntax-table (standard-syntax-table))))
      (modify-syntax-entry ?* "w" st)
@@@ -638,6 -683,8 +638,6 @@@ Also removes the region between `diary-
                                  (list marker dfile literal)
                                  globcolor)))))))
  
 -(define-obsolete-function-alias 'add-to-diary-list 'diary-add-to-list "23.1")
 -
  (defun diary-list-entries-2 (date mark globattr list-only
                                    &optional months symbol gdate)
    "Internal subroutine of `diary-list-entries'.
@@@ -861,7 -908,12 +861,7 @@@ LIST-ONLY is non-nil, in which case it 
                                    'display-buffer-in-previous-window
                                    (copy-sequence
                                     (car display-buffer-fallback-action))))))
 -                      (if (and diary-display-function
 -                               (listp diary-display-function))
 -                          ;; Backwards compatibility.
 -                          (run-hooks 'diary-display-function)
 -                        (funcall (or diary-display-function
 -                                     'diary-simple-display)))))
 +                      (funcall diary-display-function)))
                    (run-hooks 'diary-hook)))))
          (and temp-buff (buffer-name temp-buff) (kill-buffer temp-buff)))
        (or d-incp (message "Preparing diary...done"))
@@@ -922,6 -974,9 +922,6 @@@ For details, see `diary-include-files'
  See also `diary-mark-included-diary-files'."
    (diary-include-files))
  
 -(define-obsolete-function-alias 'include-other-diary-files
 -  'diary-include-other-diary-files "23.1")
 -
  (defvar date-string)                    ; bound in diary-list-entries
  
  (defun diary-display-no-entries ()
@@@ -980,6 -1035,9 +980,6 @@@ in the mode line.  This is an option fo
            (set-window-point window diary-saved-point)
            (set-window-start window (point-min)))))))
  
 -(define-obsolete-function-alias 'simple-diary-display
 -  'diary-simple-display "23.1")
 -
  (defvar diary-goto-entry-function 'diary-goto-entry
    "Function called to jump to a diary entry.
  Modes that require special handling of the included file
@@@ -1106,6 -1164,9 +1106,6 @@@ This is an option for `diary-display-fu
          (diary-fancy-display-mode))
        (calendar-set-mode-line date-string))))
  
 -(define-obsolete-function-alias 'fancy-diary-display
 -  'diary-fancy-display "23.1")
 -
  ;; FIXME modernize?
  (defun diary-print-entries ()
    "Print a hard copy of the diary display.
@@@ -1150,6 -1211,9 +1150,6 @@@ the actual printing.
        (run-hooks 'diary-print-entries-hook)
        (kill-buffer temp-buffer))))
  
 -(define-obsolete-function-alias 'print-diary-entries
 -  'diary-print-entries "23.1")
 -
  ;;;###cal-autoload
  (defun diary-show-all-entries ()
    "Show all of the diary entries in the diary file.
@@@ -1397,6 -1461,9 +1397,6 @@@ marks.  This is intended to deal with d
        (and temp-buff (buffer-name temp-buff) (kill-buffer temp-buff)))
      (or d-incp (message "Marking diary entries...done"))))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'mark-diary-entries 'diary-mark-entries "23.1")
 -
  (defun diary-sexp-entry (sexp entry date)
    "Process a SEXP diary ENTRY for DATE."
    (let ((result (if calendar-debug-sexp
@@@ -1474,6 -1541,9 +1474,6 @@@ is marked.  See the documentation for t
             (or (cadr (diary-pull-attrs entry file-glob-attrs))
                 (if (consp mark) (car mark)))))))))
  
 -(define-obsolete-function-alias 'mark-sexp-diary-entries
 -  'diary-mark-sexp-entries "23.1")
 -
  (defun diary-mark-included-diary-files ()
    "Mark diary entries from included diary files.
  To use, add this function to `diary-mark-entries-hook'.
@@@ -1481,6 -1551,9 +1481,6 @@@ For details, see `diary-include-files'
  See also `diary-include-other-diary-files'."
    (diary-include-files t))
  
 -(define-obsolete-function-alias 'mark-included-diary-files
 -  'diary-mark-included-diary-files "23.1")
 -
  (defun calendar-mark-days-named (dayname &optional color)
    "Mark all dates in the calendar window that are day DAYNAME of the week.
  0 means all Sundays, 1 means all Mondays, and so on.
@@@ -1503,6 -1576,9 +1503,6 @@@ Optional argument COLOR is passed to `c
                                      color)
          (setq day (+ day 7))))))
  
 -(define-obsolete-function-alias 'mark-calendar-days-named
 -  'calendar-mark-days-named "23.1")
 -
  (defun calendar-mark-month (month year p-month p-day p-year &optional color)
    "Mark dates in the MONTH/YEAR that conform to pattern P-MONTH/P-DAY/P-YEAR.
  A value of 0 in any position of the pattern is a wildcard.
@@@ -1516,6 -1592,9 +1516,6 @@@ Optional argument COLOR is passed to `c
              (calendar-mark-visible-date (list month (1+ i) year) color))
          (calendar-mark-visible-date (list month p-day year) color))))
  
 -(define-obsolete-function-alias 'mark-calendar-month
 -  'calendar-mark-month "23.1")
 -
  (defun calendar-mark-date-pattern (month day year &optional color)
    "Mark all dates in the calendar window that conform to MONTH/DAY/YEAR.
  A value of 0 in any position is a wildcard.  Optional argument COLOR is
@@@ -1528,6 -1607,9 +1528,6 @@@ passed to `calendar-mark-visible-date' 
          (calendar-mark-month m y month day year color)
          (calendar-increment-month m y 1)))))
  
 -(define-obsolete-function-alias 'mark-calendar-date-pattern
 -  'calendar-mark-date-pattern "23.1")
 -
  ;; Bahai, Hebrew, Islamic.
  (defun calendar-mark-complex (month day year fromabs &optional color)
    "Mark dates in the calendar conforming to MONTH DAY YEAR of some system.
@@@ -1586,8 -1668,7 +1586,7 @@@ COLOR is passed to `calendar-mark-visib
                      (setq date (calendar-gregorian-from-absolute
                                  (funcall toabs (list month day y)))))
                     (calendar-mark-visible-date date color)))))
-       (calendar-mark-complex month day year
-                              'calendar-bahai-from-absolute color))))
+       (calendar-mark-complex month day year fromabs color))))
  
  
  (defun diary-entry-time (s)
@@@ -1634,6 -1715,8 +1633,6 @@@ be the last item in the hook, in case e
  entries, or change the order."
    (setq diary-entries-list (sort diary-entries-list 'diary-entry-compare)))
  
 -(define-obsolete-function-alias 'sort-diary-entries 'diary-sort-entries "23.1")
 -
  
  (defun diary-list-sexp-entries (date)
    "Add sexp entries for DATE from the diary file to `diary-entries-list'.
@@@ -1792,6 -1875,9 +1791,6 @@@ best if they are non-marking.
        (setq entry-found (or entry-found diary-entry)))
      entry-found))
  
 -(define-obsolete-function-alias 'list-sexp-diary-entries
 -  'diary-list-sexp-entries "23.1")
 -
  (defun diary-make-date (a b c)
    "Convert A B C into the internal calendar date form.
  The expected order of the inputs depends on `calendar-date-style',
@@@ -2052,6 -2138,9 +2051,6 @@@ If omitted, NONMARKING defaults to nil 
     (if nonmarking diary-nonmarking-symbol "")
     string " "))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'make-diary-entry 'diary-make-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-entry (arg &optional event)
    "Insert a diary entry for the date indicated by point.
@@@ -2061,6 -2150,9 +2060,6 @@@ Prefix argument ARG makes the entry non
    (diary-make-entry (calendar-date-string (calendar-cursor-to-date t event) t t)
                      arg))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-diary-entry 'diary-insert-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-weekly-entry (arg)
    "Insert a weekly diary entry for the day of the week indicated by point.
@@@ -2069,6 -2161,10 +2068,6 @@@ Prefix argument ARG makes the entry non
    (diary-make-entry (calendar-day-name (calendar-cursor-to-date t))
                      arg))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-weekly-diary-entry
 -  'diary-insert-weekly-entry "23.1")
 -
  (defun diary-date-display-form (&optional type)
    "Return value for `calendar-date-display-form' using `calendar-date-style'.
  Optional symbol TYPE is either `monthly' or `yearly'."
@@@ -2123,6 -2219,10 +2122,6 @@@ Prefix argument ARG makes the entry non
    (interactive "P")
    (diary-insert-entry-1 'monthly arg))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-monthly-diary-entry
 -  'diary-insert-monthly-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-yearly-entry (arg)
    "Insert an annual diary entry for the day of the year indicated by point.
@@@ -2130,6 -2230,10 +2129,6 @@@ Prefix argument ARG makes the entry non
    (interactive "P")
    (diary-insert-entry-1 'yearly arg))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-yearly-diary-entry
 -  'diary-insert-yearly-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-anniversary-entry (arg)
    "Insert an anniversary diary entry for the date given by point.
@@@ -2142,6 -2246,10 +2141,6 @@@ Prefix argument ARG makes the entry non
               (calendar-date-string (calendar-cursor-to-date t) nil t))
       arg)))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-anniversary-diary-entry
 -  'diary-insert-anniversary-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-block-entry (arg)
    "Insert a block diary entry for the days between the point and marked date.
@@@ -2165,6 -2273,10 +2164,6 @@@ Prefix argument ARG makes the entry non
               (calendar-date-string end nil t))
       arg)))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-block-diary-entry
 -  'diary-insert-block-entry "23.1")
 -
  ;;;###cal-autoload
  (defun diary-insert-cyclic-entry (arg)
    "Insert a cyclic diary entry starting at the date given by point.
@@@ -2179,6 -2291,10 +2178,6 @@@ Prefix argument ARG makes the entry non
               (calendar-date-string (calendar-cursor-to-date t) nil t))
       arg)))
  
 -;;;###cal-autoload
 -(define-obsolete-function-alias 'insert-cyclic-diary-entry
 -  'diary-insert-cyclic-entry "23.1")
 -
  ;;; Diary mode.
  
  (defun diary-redraw-calendar ()
@@@ -2239,7 -2355,7 +2238,7 @@@ full month names.
                         (if (equal (car x) 'backup)
                             (concat "\\)" (eval (car (reverse x))))
                           "\\)"))
 -               '(1 diary-face)))
 +               '(1 'diary)))
              diary-date-forms)))
  
  (defmacro diary-font-lock-keywords-1 (markfunc listfunc feature months symbol)
@@@ -2264,7 -2380,6 +2263,7 @@@ return a font-lock pattern matching arr
  (defvar calendar-hebrew-month-name-array-leap-year)
  (defvar calendar-islamic-month-name-array)
  (defvar calendar-bahai-month-name-array)
 +(defvar calendar-chinese-month-name-array)
  
  ;;;###cal-autoload
  (defun diary-font-lock-keywords ()
                                 cal-bahai
                                 calendar-bahai-month-name-array
                                 diary-bahai-entry-symbol)
 +   (diary-font-lock-keywords-1 diary-chinese-mark-entries
 +                               diary-chinese-list-entries
 +                               cal-china
 +                               calendar-chinese-month-name-array
 +                               diary-chinese-entry-symbol)
     (list
      (cons
       (format "^%s.*$" (regexp-quote diary-include-string))
               (regexp-opt (mapcar 'regexp-quote
                                   (list diary-hebrew-entry-symbol
                                         diary-islamic-entry-symbol
 -                                       diary-bahai-entry-symbol))
 +                                       diary-bahai-entry-symbol
 +                                       diary-chinese-entry-symbol))
                           t))
       '(1 font-lock-constant-face))
      '(diary-font-lock-sexps . font-lock-keyword-face)
@@@ -2376,8 -2485,11 +2375,8 @@@ This depends on the calendar date style
      (put-text-property (match-beginning 0) (match-end 0) 'font-lock-multiline t)
      t))
  
 -(define-obsolete-variable-alias 'fancy-diary-font-lock-keywords
 -  'diary-fancy-font-lock-keywords "23.1")
 -
  (defvar diary-fancy-font-lock-keywords
 -  `((diary-fancy-date-matcher . diary-face)
 +  `((diary-fancy-date-matcher . 'diary)
      ("^.*\\([aA]nniversary\\|[bB]irthday\\).*$" . 'diary-anniversary)
      ("^.*Yahrzeit.*$" . font-lock-constant-face)
      ("^\\(Erev \\)?Rosh Hodesh.*" . font-lock-function-name-face)
@@@ -2424,6 -2536,9 +2423,6 @@@ Fontify the region between BEG and END
         (list (cons t diary-fancy-overriding-map)))
    (view-mode 1))
  
 -(define-obsolete-function-alias 'fancy-diary-display-mode
 -  'diary-fancy-display-mode "23.1")
 -
  ;; Following code from Dave Love <fx@gnu.org>.
  ;; Import Outlook-format appointments from mail messages in Gnus or
  ;; Rmail using command `diary-from-outlook'.  This, or the specialized
diff --combined lisp/erc/ChangeLog
index 2004de41d0b49c43e96d4066747dd5c03efa8e9b,0e61e16558b6f5e5b6663721941cb1c850c8bfa2..d4dee6714393b3cadef6ffffb8345f4e957a354b
@@@ -1,54 -1,32 +1,54 @@@
 +2014-11-23  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * erc-desktop-notifications.el (erc-notifications-bus):
 +      New customer option.  Supports cases when Emacs hasn't been
 +      invoked in the same environment where the notifications shall go to.
 +      (erc-notifications-notify): Use it.
 +
  2014-11-10  Kelvin White  <kwhite@gnu.org>
  
        * erc-stamp.el (erc-timestamp-intangible): Change version tag to 24.5.
  
 -2014-11-09  Ivan Shmakov  <ivan@siamics.net>
 +2014-11-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * erc.el (erc-send-input): Bind `str' dynamically (bug#18936).
 +
 +2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify use of current-time and friends.
 +      * erc-backend.el (TOPIC): Omit unnecessary call to current-time.
 +      * erc.el (erc-emacs-time-to-erc-time): Simplify by using float-time.
 +      (erc-current-time): Simplify by using erc-emacs-time-to-erc-time.
 +
 +2014-10-20  Glenn Morris  <rgm@gnu.org>
 +
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-15  Ivan Shmakov  <ivan@siamics.net>
  
        * erc-track.el (erc-modified-channels-display): Update mode line
        more frequently (bug#18510).
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-10-10  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-initialize-log-marker): Only initialize
          erc-last-saved-position if not already a marker.
  
 -2014-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * erc.el (erc-channel-receive-names): Silence compiler warning.
        (erc-format-@nick, erc-update-modes): Idem.
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-10-03  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-rename-buffers): Use defcustom instead of defvar for
        buffer renaming configuration option.
  
 -2014-11-09  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-10-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        * erc.el (erc-nick-at-point): Fix format-string typo (Bug#17755).
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-10-02  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-rename-buffer-p): When set to t buffers will be
        renamed to the current irc network.
@@@ -57,7 -35,7 +57,7 @@@
  
        * erc-ring.el (erc-input-ring-setup): Fixes Bug #18599
  
 -2014-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * erc-track.el (erc-modified-channels-display): Update all mode lines
        if needed (bug#18510).  Remove call to erc-modified-channels-object
        (erc-modified-channels-update): Don't force-mode-line-update here
        any more.
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-09-26  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-format-nick): Fix code regression - Bug #18551
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-09-25  Kelvin White  <kwhite@gnu.org>
  
        * erc.el: Follow Emacs version instead of tracking it seperately.
        (erc-quit/part-reason-default) : Clean up quit/part message
        (erc-cmd-SV, erc-ctcp-query-VERSION, erc-version, erc-version-string):
        Change version string.
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-08-13  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-send-input): Disable display commands in current buffer
        (erc-format-target-and/or-network): Fix cases when buffer name is set
  
 -2014-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * erc-stamp.el (erc-timestamp-intangible): Disable by default because
        `intangible' is evil.
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-08-07  Kelvin White  <kwhite@gnu.org>
  
        * erc.el (erc-channel-receive-names): Fix variable names
        (erc-format-target-and/or-network): Rename server-buffers to
        network name if possible
  
 -2014-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * erc.el (erc-channel-receive-names): Reduce redundancy.
  
 -2014-11-09  Kelvin White  <kwhite@gnu.org>
 +2014-06-19  Kelvin White  <kwhite@gnu.org>
  
        * erc-backend.el: Handle user modes in relevant server responses
        * erc.el: Better user mode support.
        (erc-channel-user): Add members for new modes.
        (erc-channel-member-halfop-p, erc-channel-user-admin-p)
        (erc-channel-user-owner-p): Use new struct members.
-       (erc-format-nick, erc-format-@nick): Display user modes as nick prefix.
+       (erc-format-nick, erc-format-@nick): Display user modes as nick prefix.
        (erc-nick-prefix-face, erc-my-nick-prefix-face): Add new faces
        (erc-get-user-mode-prefix): Return symbol for mode prefix.
        (erc-update-channel-member, erc-update-current-channel-member)
        (erc-channel-receive-names): Update channel users.
        (erc-nick-at-point): Return correct user info.
  
 -2014-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * erc.el (erc-send-input): Bind `str' dynamically (bug#18936).
 -
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * Version 24.4 released.
 -
 -2014-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * erc-track.el (erc-modified-channels-display): Update all mode lines
 -      if needed (bug#18510).  Remove call to erc-modified-channels-object
 -      where we ignored the return value.
 -      (erc-modified-channels-update): Don't force-mode-line-update here any more.
 +      * erc.el (erc-invite-only-mode, erc-toggle-channel-mode): Simplify.
 +      (erc-load-script): Tighten a regexp.
  
  2014-02-25  Julien Danjou  <julien@danjou.info>
  
  
  2011-11-28  Mike Kazantsev  <mk.fraggod@gmail.com>  (tiny change)
  
 -      * erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Updated regexp to
 +      * erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Update regexp to
        match quoted filenames with spaces inside.
 -      (erc-dcc-handle-ctcp-send): Updated regexp match group numbers,
 +      (erc-dcc-handle-ctcp-send): Update regexp match group numbers,
        added processing of escaped quotes and backslashes if filename
        itself was in quotes.
  
diff --combined lisp/gnus/ChangeLog
index 736cb4ee29ac9842bb21b0cd14485b5753635f3e,3b2a702a69ee3d2708c3da2c6be4231193a585d7..e2b26684c6dedfa6cdbe78c40f711bdec589968b
 -2014-11-26  John Mastro <john.b.mastro@gmail.com>  (tiny change)
++2014-11-29  John Mastro <john.b.mastro@gmail.com>  (tiny change)
+       * auth-source.el (auth-source-macos-keychain-search-items): Return
+       result of `auth-source-macos-keychain-result-append' (bug#19074).
 -2014-11-10  Adam Sjøgren  <asjo@koldfront.dk>
 +2014-11-27  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-use-idna):
 +      * gnus-sum.el (gnus-summary-idna-message):
 +      * message.el (message-use-idna):
 +      Protect against nil value for idna-program.
 +
 +      * message.el (message-use-idna): Load Mule-UCS for XEmacs 21.4.
 +
 +2014-11-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * gnus-start.el (gnus-save-newsrc-file-check-timestamp):
 +      Add :version tag.
 +
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * pop3.el (pop3-open-server): Warn unless encrypted.
 +
 +      * nnimap.el (nnimap-open-connection-1): Warn unless encrypted.
 +
 +2014-11-17  Albert Krewinkel  <albert@zeitkraut.de>
 +
 +      * message.el (message-valid-fqdn-regexp): Add non-internaional new
 +      TLDs.
 +
 +2014-11-16  Adam Sjøgren  <asjo@koldfront.dk>
  
        * mml2015.el (mml2015-display-key-image): New variable.
  
 +2014-11-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnus-sum.el (gnus-summary-exit-no-update): Don't query about
 +      discarding changes in ephemeral groups.
 +
 +      * ietf-drums.el (ietf-drums-parse-address): Don't issue warnings about
 +      things the user isn't interested in.
 +
 +2014-11-13  Julien Danjou  <jd@abydos>
 +
 +      * gnus-notifications.el (gnus-notifications-notify): Provide both
 +      app-icon and image-path.
 +
 +2014-11-10  Kenjiro NAKAYAMA  <nakayamakenjiro@gmail.com>
 +
 +      * gnus/mm-url.el (mm-url-encode-multipart-form-data):
 +      Restore to handle "multipart/form-data" by eww.
 +
 +2014-11-07  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * gnus-start.el (gnus-activate-group): Fix typo reported by Tim
 +      Landscheidt.
 +
 +2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify use of current-time and friends.
 +      * gnus-delay.el (gnus-delay-article):
 +      * gnus-sum.el (gnus-summary-read-document):
 +      * gnus-util.el (gnus-seconds-today, gnus-seconds-month):
 +      * message.el (message-make-expires-date):
 +      Omit unnecessary call to current-time.
 +      * gnus-util.el (gnus-float-time): Simplify to an alias because
 +      time-to-seconds now behaves like float-time with respect to nil arg.
 +      (gnus-seconds-year): Don't call current-time twice to get the current
 +      time stamp, as this can lead to inconsistent results.
 +
  2014-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * gnus.el (gnus-mode-line-buffer-identification):
 -      Don't add image data for a non-graphic display;
 -      Don't shadow load-path, it blocks autoloading of find-image (bug#18813).
 +      Don't add image data for a non-graphic display (bug#18813).
 +
 +2014-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus.el (gnus-mode-line-buffer-identification): Don't shadow
 +      load-path, it blocks autoloading of find-image (bug#18813).
  
 -2014-10-27  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
 +2014-10-24  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
  
        * nnimap.el (nnimap-wait-for-response): Ignore NOOP response requested
        to keep connection open (bug#18728).
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-15  Jorge A. Alfaro-Murillo  <jorge.alfaro-murillo@yale.edu>  (tiny change)
 +
 +      * message.el (message-insert-signature): Use `newline' instead of
 +      inserting explicit "\n".
 +
 +2014-10-15  Sylvain Chouleur  <sylvain.chouleur@gmail.com>
 +
 +      * gnus-icalendar.el: Support vcal format timezones.
 +      (gnus-icalendar-event--decode-datefield): Use icalendar functions to
 +      compute dates with associated timezone.
 +      (gnus-icalendar-event-from-ical): Compute all timezones.
 +
 +2014-10-14  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnus-start.el (gnus-save-newsrc-file-check-timestamp): New option to
 +      check the newsrc.eld file's timestamp before saving it.
 +      (gnus-save-newsrc-file): Use it, with a prompt when the newsrc.eld
 +      timestamp has changed to be newer.
 +
 +2014-10-06  Jan Tatarik  <jan.tatarik@gmail.com>
 +
 +      * gnus-icalendar.el (gnus-icalendar-identities):
 +      Include message-alternative-emails.
 +
 +2014-10-04  Alan Schmitt  <alan.schmitt@polytechnique.org>  (tiny change)
 +
 +      * nnimap.el (nnimap-process-expiry-targets): Reverse the list of
 +      expired messages only when it was built in reverse order.
 +
 +2014-10-04  Peter Münster  <pmlists@free.fr>  (tiny change)
 +
 +      * gnus-delay.el (gnus-delay-send-queue): Remove `gnus-delay-header'
 +      last so it can be used in `message-send-hook'.
 +
 +2014-10-02  Daiki Ueno  <ueno@gnu.org>
 +
 +      * mml.el (mml-parse-1): Error out if unknown mode is specified in
 +      <#secure> tag (bug#18513).
  
  2014-09-29  Daiki Ueno  <ueno@gnu.org>
  
        * mml.el (mml-parse-1): Error out if unknown mode is specified in
        <#secure> tag (bug#18513).
  
 +2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * gnus-cloud.el (gnus-cloud-parse-version-1): Fix misspelling
 +      of ":delete".
 +
 +2014-08-26  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-article-browse-html-save-cid-content)
 +      (gnus-article-browse-html-parts):
 +      Revert last change that breaks links other than cid contents.
 +
 +2014-08-26  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-article-browse-html-save-cid-content)
 +      (gnus-article-browse-html-parts): Make cid file names relative.
 +
 +2014-08-21  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * mm-view.el (mm-display-inline-fontify): Make the working buffer
 +      temporarily displayed when running a mode function (at least org-mode
 +      requires it).
 +
 +2014-08-14  Alan Schmitt  <alan.schmitt@polytechnique.org>
 +
 +      * gnus-sum.el (gnus-summary-expire-articles): Functions registered to
 +      the gnus-summary-article-expire-hook should be told where the function
 +      is going. In particular, the Gnus registry might want to know.
 +
 +2014-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * gnus-art.el (gnus-hidden-properties): Drop the evil `intangible'.
 +
 +2014-08-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-sum.el (gnus-summary-expire-articles): Revert.
 +
 +2014-08-05  Eric Abrahamsen  <eric@ericabrahamsen.net>
 +
 +      * gnus-sum.el (gnus-summary-expire-articles): Functions registered to
 +      the gnus-summary-article-expire-hook should be told where the function
 +      is going. In particular, the Gnus registry might want to know.
 +
 +2014-07-31  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * gnus-msg.el (gnus-inews-insert-gcc): Allow `gcc-self' to be a list of
 +      groups and t.
 +
 +2014-07-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-utils.el (gnus-recursive-directory-files):
 +      Unify hard or symbolic links (bug#18063).
 +
 +2013-07-17  Albert Krewinkel  <albert@zeitkraut.de>
 +
 +      * gnus-msg.el (gnus-configure-posting-style):
 +      Allow string replacements in values when matching against a header.
 +
 +2014-07-07  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-start.el (gnus-dribble-read-file): Don't stop the auto-saving of
 +      the dribble buffer even when it is shrunk a lot.
 +      <http://thread.gmane.org/gmane.emacs.gnus.user/16923>
 +
  2014-06-26  Glenn Morris  <rgm@gnu.org>
  
        * mm-util.el (help-function-arglist): Remove outdated declaration.
  
 -2014-06-22  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-06-24  Andreas Schwab  <schwab@linux-m68k.org>
  
        * html2text.el (html2text-get-attr): Rewrite to handle spaces in quoted
        attribute values.  (Bug#17834)
  
 -2014-05-28  Andreas Schwab  <schwab@linux-m68k.org>
 +2013-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gnus-sum.el (gnus-summary-edit-article-done):
 +      Prefer point-marker to copy-marker of point.
 +
 +2014-06-05  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-article-edit-part): Don't modifiy markers.
 +      (gnus-article-read-summary-keys):
 +      Don't bug out when there is no article in the summary buffer.
 +      (gnus-mime-buttonize-attachments-in-header):
 +      Improve criterion that finds parts to display.
 +
 +      * gnus-art.el (gnus-mm-display-part):
 +      * mm-decode.el (mm-shr):
 +      * mm-view.el (mm-inline-text-html-render-with-w3m, mm-inline-text)
 +      (mm-insert-inline): Revert last changes.
 +
 +2014-06-05  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mm-display-part):
 +      * mm-decode.el (mm-shr):
 +      * mm-view.el (mm-inline-text-html-render-with-w3m, mm-inline-text)
 +      (mm-insert-inline): Set insertion type of end-marker, not only
 +      start-marker, of undisplayer so as to stay after inserted text.
 +
 +2014-06-02  Andreas Schwab  <schwab@linux-m68k.org>
  
        * html2text.el (html2text-get-attr): Fix typo when splitting value from
        attribute. (Bug#17613)
  
 -2014-05-06  Glenn Morris  <rgm@gnu.org>
 +2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mm-view.el (mm-display-inline-fontify): Use font-lock-ensure.
 +      * gnus-cite.el (gnus-message-citation-mode): Use font-lock-flush.
 +
 +2014-05-15  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part):
 +      Don't delete next part button; keep spacing between buttons.
 +
 +2014-05-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part):
 +      Work for the last MIME part in an article.
 +      (gnus-mime-display-single): Suppress excessive newlines between parts.
 +
 +      * mm-uu.el (mm-uu-dissect): Assume that separators may be accompanied
 +      by leading or trailing newline.
 +
 +2014-05-09  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mm-display-part): Don't put article out of sight
 +      while prompting a user for a file name, etc.
 +      (gnus-mime-display-single): Display part with a common appearance no
 +      matter whether MIME button is omitted or not; don't add duplicate entry
 +      to gnus-article-mime-handle-alist.
 +      (gnus-mime-buttonize-attachments-in-header): Use copied buttons.
 +
 +2014-05-08  Adam Sjøgren  <asjo@koldfront.dk>
 +
 +      * mml2015.el (mml2015-display-key-image): New variable.
 +
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * gnus-fun.el (gnus-grab-cam-face):
        Do not use predictable temp-file name.  (http://bugs.debian.org/747100)
        This is CVE-2014-3421.
  
 -2014-05-01  Glenn Morris  <rgm@gnu.org>
 +2014-05-04  Glenn Morris  <rgm@gnu.org>
  
        * gnus-registry.el (gnus-registry-install-p): Doc fix.
  
 +2014-05-02  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mime-inline-part): Redisplay a button so as to show
 +      the displaying state of a part.
 +      (gnus-mm-display-part): Don't insert a newline in the beginning of
 +      a part like gnus-mime-inline-part doesn't; work for XEmacs.
 +
 +      * mm-decode.el (mm-display-part): Don't insert a newline in the top.
 +      (mm-shr): Make undisplayer unbreakable.
 +
 +      * mm-view.el (mm-inline-image-emacs, mm-inline-image-xemacs):
 +      Don't insert excessive newline.
 +      (mm-inline-text-html-render-with-w3m, mm-inline-text)
 +      (mm-insert-inline): Make undisplayer unbreakable.
 +
 +2014-05-01  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mm-display-part):
 +      Highlight header attachment buttons.
 +
 +2014-04-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mm-display-part): Don't move point while toggling
 +      a part; redisplay a button (enbugged in 2014-03-23).
 +
 +2014-04-27  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * auth-source.el (auth-source-search, auth-source-search-backends):
 +      Treat :max 0 as an indicator that a boolean return is wanted, as
 +      documented. Reported by Joe Bloggs.
 +
 +2014-04-20  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-icalendar.el: Require gnus-art.
 +
 +2014-04-20  Jan Tatarik  <jan.tatarik@gmail.com>
 +
 +      * gnus-icalendar.el (gnus-icalendar-event->org-entry)
 +      (gnus-icalendar--update-org-event): put event timestamp in
 +      the org entry body instead of the drawer.
 +      (gnus-icalendar-event--get-attendee-names): list of participants should
 +      contain even attendees without common name attribute.
 +      (gnus-icalendar--update-org-event): don't generate duplicates of empty
 +      property tags in org drawers.
 +
 +2014-04-15  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gmm-utils.el (gmm-format-time-string): New function.
 +
 +      * message.el (message-insert-formatted-citation-line): Use the original
 +      author's time zone to express a date string.
 +
 +2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * gnus-srvr.el (gnus-tmp-how, gnus-tmp-name, gnus-tmp-where)
 +      (gnus-tmp-status, gnus-tmp-agent, gnus-tmp-cloud)
 +      (gnus-tmp-news-server, gnus-tmp-news-method, gnus-tmp-user-defined):
 +      Silence compiler warnings.
 +      (gnus-server-insert-server-line): Don't use dyn-bind var as argument.
 +
 +2014-03-24  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * mml.el: Require url when compiling.
 +
 +      * gnus-cloud.el (gnus-cloud-parse-version-1):
 +      Use plist-get rather than CL's getf.
 +      (gnus-activate-group, gnus-subscribe-group): Declare.
 +
 +      * gnus-sum.el (gnus-mime-buttonize-attachments-in-header): Declare.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-sum.el (gnus-summary-toggle-header): Display header attachment
 +      buttons when toggling the header off.
 +
 +2014-03-23  Daiki Ueno  <ueno@gnu.org>
 +
 +      * mml2015.el (mml2015-use): Don't check the availability of GnuPG
 +      commands here; instead, only check if epg-config.el is available.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * mml.el (mml-expand-html-into-multipart-related): Allow sending HTML
 +      messages with embedded images.
 +      (mml-generate-mime): Don't bug out if you don't have libxml.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * message.el (message-make-html-message-with-image-files): New command.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * mml.el (mml-insert-mime-headers): Allow `recipient-filename'.
 +
 +2014-03-23  David Engster  <deng@randomsample.de>
 +
 +      * auth-source.el (auth-source-netrc-saver): Do not depend on `cl-lib'
 +      to stay compatible with older Emacsen, so replace `cl-loop' with
 +      `loop'.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-article-prepare, gnus-article-prepare-display):
 +      Display header attachment buttons by gnus-article-prepare-display
 +      rather than gnus-article-prepare so as to view in mml-preview as well.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-article-goto-part): Find a button in the body first.
 +      (gnus-mime-buttonize-attachments-in-header): Number hidden buttons.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus-art.el (gnus-mime-buttonize-attachments-in-header):
 +      Display buttons that are hidden in unselected alternative part as well.
 +      (gnus-mime-display-alternative): Redraw attachment buttons in header.
 +
 +      * gmm-utils.el (gmm-labels): Add edebug spec.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnus-srvr.el (gnus-server-toggle-cloud-server): New command and
 +      keystroke.
 +      (gnus-server-toggle-cloud-server): Only allow clouding applicable
 +      types.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus.el (gnus-copy-overlay, gnus-overlays-at): New functions.
 +
 +      * gnus-art.el (gnus-mime-display-attachment-buttons-in-header):
 +      New user option.
 +      (gnus-mime-buttonize-attachments-in-header): New function.
 +      (gnus-article-prepare): Use it.
 +      (gnus-mime-inline-part): Suppress extra newline.
 +      (gnus-mm-display-part): Save excursion;
 +      remove useless deleting and adding of buttons.
 +      (gnus-insert-mime-button): Allow insertion in the middle of a line.
 +
 +      * gnus-sum.el (gnus-summary-wash-mime-map, gnus-summary-article-menu):
 +      Add gnus-mime-buttonize-attachments-in-header.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * nnimap.el (nnimap-request-articles): New command to download several
 +      articles at once.
 +
 +      * gnus.el (gnus-variable-list): Save Cloud variables.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnus-cloud.el: New file to provide the Emacs Cloud.
 +
 +      * gravatar.el (gravatar-retrieve-synchronously): XEmacs also has
 +      `url-retrieve-synchronously', apparently.
 +
 +      * gnus-notifications.el (gravatar-retrieve-synchronously): Declare for
 +      XEmacs.
 +
 +      * nnrss.el (libxml-parse-html-region): Silence compilation error.
 +
 +2014-03-23  Daniel Dehennin  <daniel.dehennin@baby-gnu.org>
 +
 +      * gnus-mlspl.el (gnus-group-split-fancy): Use `gnus-parameters' in
 +      `gnus-group-split-fancy'.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * message.el (message-remove-header): Doc fix.
 +      (message-forward-included-headers): New variable.
 +      (message-remove-ignored-headers): Use it.
 +
 +2014-03-23  Dave Abrahams  <dave@boostpro.com>
 +
 +      * gnus-sum.el (gnus-summary-open-group-with-article): New command.
 +
 +2014-03-23  Rasmus Pank Roulund  <emacs@pank.eu>
 +
 +      * gnus-fun.el (gnus-x-face-omit-files): Regexp to omit matched results
 +      from random face commands.
 +      (gnus-face-directory): Like `gnus-x-face-directory` for png files and
 +      Face.
 +      (gnus-face-omit-files): Like `gnus-x-face-omit-files` for Face.
 +      (gnus--random-face-with-type): Generic function returning a face-type
 +      as a string.
 +      (gnus--insert-random-face-with-type): Generic function inserting a face
 +      in a message buffer header.
 +      (gnus-random-x-face): Rewritten to use `gnus--random-face-with-type`.
 +      (gnus-insert-random-x-face-header): Rewritten to use
 +      `gnus--insert-random-face-with-type`.
 +      (gnus-random-face): Return random (png) Face as string.
 +      (nus-insert-random-face-header): Insert random (png) Face in a message
 +      buffer.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * mm-url.el: Remove all usage of w3.
 +
 +      * nnrss.el: Ditto.
 +
 +      * mm-decode.el: Ditto.
 +
 +      * mm-view.el: Ditto.
 +
 +      * gnus-setup.el: Remove outdated file.
 +
  2014-03-07  Lars Ingebrigtsen  <larsi@gnus.org>
  
        * nnimap.el (nnimap-request-accept-article): Make respooling to nnimap
        * gnus-setup.el (gnus-use-sendmail): We never use sendmail for mail
        reading.
  
 -2014-01-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>  (tiny change)
 +2014-01-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
  
        * message.el (message-bury): Call bury-buffer with no argument
        in the message-return-action case too.
        * gnus-icalendar.el (gnus-icalendar-event:org-timestamp):
        Fix org-timestamp for events ending at midnight.
  
 -2013-11-21  Ivan Shmakov  <ivan@siamics.net>  (tiny change)
 +2013-11-21  Ivan Shmakov  <ivan@siamics.net>
  
        * nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p):
        Support debbugs .log files.
  
        * gnus-group.el: Require gnus-sum and autoload functions to
        resolve warnings when gnus-group.el compiled alone.
 -      (gnus-group-line-format): Documented new %F.
 +      (gnus-group-line-format): Document new %F.
        (size of Fetched data) group line format; identifies disk space
        used by agent and cache.
 -      (gnus-group-line-format-alist): Defined new F format.
 +      (gnus-group-line-format-alist): Define new F format.
        (gnus-total-fetched-for): New function.
        (gnus-group-delete-group): No longer update
        gnus-cache-active-altered as gnus-request-delete-group now keeps
diff --combined lisp/gnus/ChangeLog.2
index 37d1c1d9f7aa198932dc2a57d36bf7c5db04e6c3,8c237ab77a95970f79ac181cb0783841e9cdb6f1..e54cc153eb73957285d0e66424bd672bdeb638cd
  
        * message.el (message-header-synonyms): Defcustom.
        (message-get-reply-headers): Catch `Original-To'.
 -      (message-carefully-insert-headers): Added comment.
 +      (message-carefully-insert-headers): Add comment.
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Improved "Washing" menu.
 +      * gnus-sum.el (gnus-summary-make-menu-bar): Improve "Washing" menu.
  
  2004-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-sum.el (gnus-select-newsgroup): Use cat.
  
 -      * gnus-agent.el (gnus-agent-cat-enable-undownloaded-faces): New
 -      cat.
 +      * gnus-agent.el (gnus-agent-cat-enable-undownloaded-faces):
 +      New cat.
  
 -      * gnus.el (gnus-user-agent): Moved here.
 +      * gnus.el (gnus-user-agent): Move here.
  
 -      * gnus-msg.el (gnus-user-agent): Moved from here.
 +      * gnus-msg.el (gnus-user-agent): Move from here.
  
        * gnus.el (gnus-version-number): Bump.
  
        topic lines.
        (gnus-group-set-current-level): Fix fix.
  
 -2003-12-31  Jeremy Maitin-Shepard  <jbms@attbi.com>
 +2003-12-31  Jeremy Maitin-Shepard  <jbms@attbi.com>  (tiny change)
  
 -      * mml.el (mml-generate-mime-1): Use mml-compute-boundary (tiny
 -      change).
 +      * mml.el (mml-generate-mime-1): Use mml-compute-boundary.
  
  2003-12-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-group.el: Removed `(when t ...)' around `gnus-define-keys'.
 -      (gnus-group-group-map): Added `gnus-group-read-ephemeral-group'
 +      * gnus-group.el: Remove `(when t ...)' around `gnus-define-keys'.
 +      (gnus-group-group-map): Add `gnus-group-read-ephemeral-group'
        (already in previous commit inadvertently).
 -      (gnus-group-make-menu-bar): Added `gnus-group-read-ephemeral-group'.
 +      (gnus-group-make-menu-bar): Add `gnus-group-read-ephemeral-group'.
        (gnus-group-read-ephemeral-group): Made interactive.
  
 -      * gnus-score.el (gnus-score-find-trace): Added comment on sync
 +      * gnus-score.el (gnus-score-find-trace): Add comment on sync
        with `gnus-score-edit-file-at-point'.
  
        * gnus-logic.el (gnus-score-advanced): Ditto.
  
  2003-12-30  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-score.el (gnus-score-edit-file-at-point): Use
 -      gnus-point-at-*, for portability.
 +      * gnus-score.el (gnus-score-edit-file-at-point):
 +      Use gnus-point-at-*, for portability.
  
  2003-12-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
        custom type.
        (gnus-button-mid-or-mail-regexp): Don't be too restrictive.
        Suggested by Felix Wiemann <Felix.Wiemann@gmx.net>.
 -      (gnus-button-alist): Added "M-x ... RET" and "mid:" buttons.
 -      Added comments about relevant RFCs.
 +      (gnus-button-alist): Add "M-x ... RET" and "mid:" buttons.
 +      Add comments about relevant RFCs.
  
        * gnus-sum.el (gnus-summary-mode): Untabify doc-string.
        (gnus-summary-goto-article): Allow `%40'.
  
  2003-12-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      (gnus-score-find-trace): Use gnus-score-edit-file-at-point.  Added
 -      `f' and `t' commands, added quick help.  With some suggestions
 +      (gnus-score-find-trace): Use gnus-score-edit-file-at-point.
 +      Add `f' and `t' commands, added quick help.  With some suggestions
        from Karl Pflästerer <sigurd@12move.de>.
  
 -      * gnus-util.el (gnus-emacs-version): Added doc-string.
 +      * gnus-util.el (gnus-emacs-version): Add doc-string.
  
        * mml.el (mml-minibuffer-read-disposition): New function.
        (mml-attach-file): Use it.
 -      (mml-preview): Added MIME preview to gnus-buffers.
 +      (mml-preview): Add MIME preview to gnus-buffers.
  
  2003-12-30  Karl Pflästerer  <sigurd@12move.de>
  
        (gnus-agent-auto-agentize-methods): Customize.
  
  2003-12-29  Kevin Greiner  <kgreiner@xpediantsolutions.com>
 -      * gnus.el (gnus-server-to-method): Fixed bug in 2003-12-22
 +      * gnus.el (gnus-server-to-method): Fix bug in 2003-12-22
        check-in.
  
  2003-12-28  Adrian Lanz  <lanz@fowi.ethz.ch>
  
  2003-12-28  Jesper Harder  <harder@ifa.au.dk>
  
 -      * mm-view.el (mm-text-html-washer-alist): Use
 -      mm-inline-wash-with-stdin for w3m-standalone.
 +      * mm-view.el (mm-text-html-washer-alist):
 +      Use mm-inline-wash-with-stdin for w3m-standalone.
  
        * mm-decode.el (mm-text-html-renderer): Add w3m-standalone.
  
  
  2003-12-22  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-int.el (gnus-open-server): Fixed the server status such
 +      * gnus-int.el (gnus-open-server): Fix the server status such
        that an agentized server, when opened offline, has a status of
        offline.  Also fixes bug whereby the agent's backend was called
        twice to open each server.
  
 -      * gnus-start.el (gnus-get-unread-articles-in-group): Autoload
 -      gnus-agent-possibly-alter-active rather than inline to resolve
 +      * gnus-start.el (gnus-get-unread-articles-in-group):
 +      Autoload gnus-agent-possibly-alter-active rather than inline to resolve
        compiler warnings.
  
 -      * gnus.el (gnus-server-to-method): Added fallback of iterating
 +      * gnus.el (gnus-server-to-method): Add fallback of iterating
        over gnus-newsrc-alist to resolve names of foreign servers.
        Should fix recent agent bug.
  
  
  2003-12-21  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-agent.el (gnus-agent-read-agentview): Use
 -      car-less-than-car.
 +      * gnus-agent.el (gnus-agent-read-agentview):
 +      Use car-less-than-car.
  
  2003-12-20  Artem Chuprina  <ran@ran.pp.ru>  (tiny change)
  
  2003-12-18  Reiner Steib  <Reiner.Steib@gmx.de>
  
        * mm-url.el (mm-url-insert-file-contents-external)
 -      (mm-url-insert-file-contents): Added doc-strings.  Autoload.
 +      (mm-url-insert-file-contents): Add doc-strings.  Autoload.
  
  2003-12-18  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-cus.el (defvar): Defvar
 -      gnus-agent-cat-disable-undownloaded-faces.
 +      * gnus-cus.el (defvar):
 +      Defvar gnus-agent-cat-disable-undownloaded-faces.
  
  2003-12-17  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * message.el (message-forward-subject-name-subject): Use
 -      gnus-extract-address-components instead of
 +      * message.el (message-forward-subject-name-subject):
 +      Use gnus-extract-address-components instead of
        mail-header-parse-address because it may be called with non-ascii
        text.
  
  
  2003-12-13  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el: Added some gnus-registry autoloads.
 +      * spam.el: Add some gnus-registry autoloads.
        (spam-split-symbolic-return): Makes spam-split return 'spam
        instead of the value of spam-split-group when spam is detected.
        (spam-split-symbolic-return-positive): Makes spam-split return
        (spam-unload-hook): Remove spam-find-spam from
        gnus-summary-prepare-hook.
  
 -      * gnus.el (spam-autodetect, spam-autodetect-methods): New
 -      configuration items for spam autodetection.
 +      * gnus.el (spam-autodetect, spam-autodetect-methods):
 +      New configuration items for spam autodetection.
  
  2003-12-12  Reiner Steib  <Reiner.Steib@gmx.de>
  
        (gnus-agent-regenerate-group): When necessary, alter the group's
        active range to include articles newly recognized as being
        downloaded.
 -      (gnus-agent-regenerate): Removed code that updated the agent's
 +      (gnus-agent-regenerate): Remove code that updated the agent's
        active file as the new gnus-agent-possibly-alter-active function
        obsolesced it.
  
 -      * gnus-cus.el (gnus-agent-customize-category): Added missing
 +      * gnus-cus.el (gnus-agent-customize-category): Add missing
        agent-disable-undownloaded-faces parameter.
  
        * gnus-start.el (gnus-activate-group): Backed out my 2003-11-29
        patch as it was too late at adjusting the active range.
 -      (gnus-get-unread-articles-in-group): Added call to new
 +      (gnus-get-unread-articles-in-group): Add call to new
        gnus-agent-possibly-alter-active to adjust the active range.
  
  2003-12-10  Jesper Harder  <harder@ifa.au.dk>
  
  2003-12-10  Lőrentey Károly  <lorentey@elte.hu>
  
 -      * spam.el (spam-disable-spam-split-during-ham-respool): New
 -      variable.
 -      (spam-ham-copy-or-move-routine): Respect
 -      spam-disable-spam-split-during-ham-respool.
 +      * spam.el (spam-disable-spam-split-during-ham-respool):
 +      New variable.
 +      (spam-ham-copy-or-move-routine):
 +      Respect spam-disable-spam-split-during-ham-respool.
        (spam-split-disabled): New variable.
        (spam-split): Respect spam-split-disabled.
  
  
  2003-12-09  Xavier Maillard  <zedek@gnu-rox.org>
  
 -      * spam.el (spam-bogofilter-database-directory): Correct
 -      customization group.
 +      * spam.el (spam-bogofilter-database-directory):
 +      Correct customization group.
  
  2003-12-09  Per Abrahamsen  <abraham@dina.kvl.dk>
  
  
  2003-12-07  Jesper Harder  <harder@ifa.au.dk>
  
 -      * spam.el (spam-check-spamoracle, spam-spamoracle-learn): Don't
 -      use = or zerop to test the return value of call-process, because
 +      * spam.el (spam-check-spamoracle, spam-spamoracle-learn):
 +      Don't use = or zerop to test the return value of call-process, because
        it can be a string.
  
        * mail-source.el (mail-source-fetch-with-program): Do.
  
  2003-12-01  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-consider-all-articles): Updated
 -      docstring.
 +      * gnus-agent.el (gnus-agent-consider-all-articles):
 +      Update docstring.
        (gnus-predicate-implies-unread, gnus-predicate-implies-unread-1):
 -      Fixed implementation such that the predicate `true' no longer
 +      Fix implementation such that the predicate `true' no longer
        evaluates to t.
  
  2003-12-01  Adrian Lanz  <lanz@fowi.ethz.ch>  (tiny change)
  
  2003-11-29  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-group.el (gnus-group-make-menu-bar): Add
 -      gnus-group-make-rss-group.
 +      * gnus-group.el (gnus-group-make-menu-bar):
 +      Add gnus-group-make-rss-group.
  
  2003-11-28  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el: Added custom-manual links to all variables that have
 +      * message.el: Add custom-manual links to all variables that have
        an index entry in the message manual.
 -      (message-generate-headers-first): Fixed doc-string.
 +      (message-generate-headers-first): Fix doc-string.
  
  2003-11-27  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        (spam-classification-valid-p, spam-process-type-valid-p)
        (spam-registration-check-valid-p)
        (spam-unregistration-check-valid-p): Convenience functions.
 -      (spam-registration-function, spam-unregistration-function): Look
 -      up the registration/unregistration function based on a
 +      (spam-registration-function, spam-unregistration-function):
 +      Look up the registration/unregistration function based on a
        classification and the check (spam-use-* symbol).
        (spam-list-articles): Generate list of spam/ham articles from a
        given list of articles.
        (spam-register-routine): Do the heavy work of registering and
        unregistering articles, using all the articles in the group or
        specific ones as needed.
 -      (spam-generic-register-routine): Removed, no longer used.
 +      (spam-generic-register-routine): Remove, no longer used.
        (spam-log-unregistration-needed-p, spam-log-undo-registration):
        Handle article registration/unregistration with a given spam/ham
        processor and group.
        parameter is specified.
        (spam-stat-load): Clear spam-stat-dirty.
  
 -      * gnus.el (gnus-install-group-spam-parameters): Marked the
 +      * gnus.el (gnus-install-group-spam-parameters): Mark the
        old-style exit processors as obsolete in the docs, added the
        new-style exit processors while the old ones are still allowed.
  
  
  2003-11-20  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus.el (gnus-agent-covered-methods): Documented use of
 +      * gnus.el (gnus-agent-covered-methods): Document use of
        named servers, not methods, to identity agentized groups.
        Users may now change their server configurations without having
        the server become "unagentized".
 -      (gnus-agent-covered-methods): Removed from gnus-variable-list to
 +      (gnus-agent-covered-methods): Remove from gnus-variable-list to
        avoid storing two copies of gnus-agent-covered-methods, one in
        .newsrc.eld and the other in agent/lib/servers.
        (gnus-server-to-method): Do not cache server for the nil method.
        (gnus-method-to-server): New function.  Associate named server
        with all, even foreign, methods.
 -      (gnus-agent-method-p, gnus-agent-method-p-cache): Incorporated
 +      (gnus-agent-method-p, gnus-agent-method-p-cache): Incorporate
        simple last-response cache to offset performance lose of having to
        always convert methods to named servers.
 -      * gnus-agent.el (gnus-agent-expire-days): Removed obsolete
 +      * gnus-agent.el (gnus-agent-expire-days): Remove obsolete
        documentation.
        (gnus-agentize, gnus-agent-add-server, gnus-agent-remove-server):
 -      Modified to support new definition of gnus-agent-covered-method.
 +      Modify to support new definition of gnus-agent-covered-method.
        (gnus-agent-read-servers): Rewritten to convert old method data
        into server names.
        (gnus-agent-read-servers-validate)
        (gnus-agent-expire-done-message): New function.
        (gnus-agent-unread-articles): Bug fix.  No longer drops last
        unread article onto read list.
 -      (gnus-agent-regenerate-group): Changed prompt to use typical
 +      (gnus-agent-regenerate-group): Change prompt to use typical
        style.
        (gnus-agent-group-covered-p): Rewrote to internally use
        gnus-agent-method-p.
        * gnus-int.el (gnus-start-news-server): Partially convert old
        gnus-agent-covered-methods to new format so that gnus-open-server
        functions correctly.
 -      * gnus-srvr.el (gnus-server-insert-server-line): Replaced
 -      gnus-agent-covered-methods with gnus-agent-method-p.
 -      * gnus-start.el (gnus-clear-system): Added
 -      gnus-agent-covered-methods to compensate for removing it from
 +      * gnus-srvr.el (gnus-server-insert-server-line):
 +      Replace gnus-agent-covered-methods with gnus-agent-method-p.
 +      * gnus-start.el (gnus-clear-system):
 +      Add gnus-agent-covered-methods to compensate for removing it from
        gnus-variable-list.
        (gnus-setup-news): Complete conversion of old
        gnus-agent-covered-methods to new format so that secondary and
  
  2003-11-10  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-mode-field-menu): Moved some entries, added
 +      * message.el (message-mode-field-menu): Move some entries, added
        `message-insert-wide-reply'.
 -      (message-change-subject): Fixed comment.
 +      (message-change-subject): Fix comment.
  
  2003-11-10  Sam Steingold  <sds@gnu.org>
  
        requested.
        (gnus-registry-split-fancy-with-parent): When long names are in use,
        strip the name if we're in the native server, or else return nothing.
 -      (gnus-registry-spool-action, gnus-registry-action): Use
 -      gnus-group-guess-full-name-from-command-method instead of
 +      (gnus-registry-spool-action, gnus-registry-action):
 +      Use gnus-group-guess-full-name-from-command-method instead of
        gnus-group-guess-full-name.
  
        * spam.el (spam-mark-spam-as-expired-and-move-routine)
        (spam-ham-copy-or-move-routine): Prevent article deletions or
        moves unless the backend allows it.
  
 -      * gnus.el (gnus-install-group-spam-parameters): Fixed parameters
 +      * gnus.el (gnus-install-group-spam-parameters): Fix parameters
        to list spamoracle as well, suggested by Jean-Marc Lasgouttes
        <Jean-Marc.Lasgouttes@inria.fr>.
  
  2003-10-31  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * spam.el
 -      (spam-log-processing-to-registry): Improved message and comments.
 +      (spam-log-processing-to-registry): Improve message and comments.
        (spam-log-unregistration-needed-p): New function.
        (spam-ifile-register-spam-routine)
        (spam-ifile-register-ham-routine, spam-stat-register-spam-routine)
        (spam-whitelist-register-routine)
        (spam-bogofilter-register-spam-routine)
        (spam-bogofilter-register-ham-routine)
 -      (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): Change
 -      spam-log-processing-to-registry invocations appropriately.
 +      (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam):
 +      Change spam-log-processing-to-registry invocations appropriately.
  
  2003-10-31  Derek Atkins  <warlord@MIT.EDU>  (tiny change)
  
        (spam-whitelist-register-routine)
        (spam-bogofilter-register-spam-routine)
        (spam-bogofilter-register-ham-routine)
 -      (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): Add
 -      spam-log-processing-to-registry invocations.
 +      (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam):
 +      Add spam-log-processing-to-registry invocations.
  
        * gnus-registry.el: Fixed docs in the preface to mention
        gnus-registry-initialize.
        * spam.el (spam-mark-spam-as-expired-and-move-routine)
        (spam-ham-copy-or-move-routine): Don't ask when deleting copied
        articles, and use move instead of copy when possible.
 -      (spam-split): Added the option of specifying a string as a
 +      (spam-split): Add the option of specifying a string as a
        spam-split parameter; such a string will override
        spam-split-group temporarily.
  
        * gnus-art.el (gnus-button-alist): Allow & in mailto URLs.
        (gnus-header-button-alist): Likewise.
        (gnus-url-mailto): Handle ?to parameters.  Replace \r\n with \n.
 -      Reverse parameter list to use same order as in the URL.  Reported
 -      by f95-msv@f.kth.se (Mårten Svantesson).
 +      Reverse parameter list to use same order as in the URL.
 +      Reported by f95-msv@f.kth.se (Mårten Svantesson).
  
  2003-10-25  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
  2003-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * nndoc.el (nndoc-guess-type): Reverse the sort order.  Suggested
 -      by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
 +      * nndoc.el (nndoc-guess-type): Reverse the sort order.
 +      Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>.
        (nndoc-dissect-buffer): Don't miss even-numbered articles.
  
  2003-10-23  Katsumi Yamaoka  <yamaoka@jpl.org>
        requirement, now just "IP address" is enough for detection for
        blackhole checking.
        (spam-check-blackholes): Oops, the dots were not escaped.
 -      (spam-mark-spam-as-expired-and-move-routine): Added multiple group
 +      (spam-mark-spam-as-expired-and-move-routine): Add multiple group
        support (multiple copies, then delete).
        (spam-ham-copy-routine): New function.
        (spam-ham-move-routine): New function.
        * gnus-art.el (gnus-narrow-to-page): Clear as well as set the
        value for gnus-page-broken.
  
 -      * gnus-sum.el (gnus-summary-beginning-of-article): Use
 -      gnus-break-pages instead of gnus-page-broken.
 +      * gnus-sum.el (gnus-summary-beginning-of-article):
 +      Use gnus-break-pages instead of gnus-page-broken.
        (gnus-summary-end-of-article): Use gnus-break-pages instead of
        gnus-page-broken; narrow to the end of a page beforehand.
        (gnus-summary-toggle-header): Use gnus-break-pages instead of
  
        * gnus-msg.el (gnus-extended-version): Use it.
  
 -      * gnus-util.el (gnus-emacs-version): Separated out into own
 +      * gnus-util.el (gnus-emacs-version): Separate out into own
        function.
  
  2003-10-19  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-mode-field-menu): Added
 -      message-generate-unsubscribed-mail-followup-to.
 +      * message.el (message-mode-field-menu):
 +      Add message-generate-unsubscribed-mail-followup-to.
        (message-forward-subject-fwd): Avoid double "Fwd: ".
 -      (message-change-subject): Added comment.
 +      (message-change-subject): Add comment.
  
  2003-10-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-10-19  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-sum.el (gnus-remove-odd-characters): Use
 -      mm-subst-char-in-string instead of subst-char-in-string.
 +      * gnus-sum.el (gnus-remove-odd-characters):
 +      Use mm-subst-char-in-string instead of subst-char-in-string.
        (gnus-summary-refer-article): Use gnus-replace-in-string instead
        of replace-regexp-in-string.
  
  
  2003-10-18  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-sum.el (gnus-summary-save-parts-last-directory): Default
 -      to mm-default-directory.
 +      * gnus-sum.el (gnus-summary-save-parts-last-directory):
 +      Default to mm-default-directory.
        (gnus-summary-save-parts-1): Use mm-file-name-rewrite-functions.
  
  2003-10-18  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * pop3.el (pop3-read-response): Check whether the process is
 -      alive.
 +      * pop3.el (pop3-read-response): Check whether the process is alive.
  
        * gnus-sum.el (gnus-summary-refer-article): Strip spaces.
  
 -      * rfc2047.el (rfc2047-encode-region): Do error out on invalid
 -      strings.
 +      * rfc2047.el (rfc2047-encode-region): Do error out on invalid strings.
  
 -      * nntp.el (nntp-retrieve-headers-with-xover): Get error messages
 -      right.
 +      * nntp.el (nntp-retrieve-headers-with-xover): Get error messages right.
  
        * gnus-agent.el (gnus-agent-read-servers): Remove sit-for.
  
        name for gcc-self.
        (gnus-inews-insert-archive-gcc): Paren mistake.
  
 -      * gnus-sum.el (gnus-summary-enter-digest-group): Add
 -      parent-group.
 +      * gnus-sum.el (gnus-summary-enter-digest-group):
 +      Add parent-group.
  
        * gnus-art.el (gnus-ignored-headers): Add more headers.
  
  
  2003-10-06  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus.el (gnus-group-faq-directory): Update .tw entry.  From
 -      Albert Chun-Chieh Huang <mr894348@cs.nthu.edu.tw>
 +      * gnus.el (gnus-group-faq-directory): Update .tw entry.
 +      From Albert Chun-Chieh Huang <mr894348@cs.nthu.edu.tw>
  
  2003-10-03  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
  2003-10-02  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * spam.el (spam-install-hooks-function): Added Autoload cookie.
 +      * spam.el (spam-install-hooks-function): Add Autoload cookie.
  
  2003-10-02  Michael Shields  <shields@msrl.com>
  
  
  2003-10-01  Jesper Harder  <harder@ifa.au.dk>
  
 -      * message.el (message-send): Fix reversed logic of supersedes
 -      check.
 +      * message.el (message-send): Fix reversed logic of supersedes check.
  
  2003-09-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
  
  2003-09-05  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * gnus-registry.el (gnus-registry-split-fancy-with-parent): Yet
 -      another error.  *sigh*
 +      * gnus-registry.el (gnus-registry-split-fancy-with-parent):
 +      Yet another error.  *sigh*
  
        * gnus-registry.el (gnus-registry-fetch-extra-entry): Don't use
        puthash unless gnus-registry-entry-caching is on.
        (gnus-registry-register-message-ids): Pass subject to
        gnus-registry-add-group.
        (gnus-registry-simplify-subject)
 -      (gnus-registry-fetch-simplified-message-subject-fast): New
 -      functions.
 -      (gnus-registry-fetch-extra, gnus-registry-fetch-extra-entry): Add
 -      extra data entry caching.
 +      (gnus-registry-fetch-simplified-message-subject-fast):
 +      New functions.
 +      (gnus-registry-fetch-extra, gnus-registry-fetch-extra-entry):
 +      Add extra data entry caching.
        (gnus-registry-add-group): Handle the extra subject parameter.
        (gnus-registry-install-hooks, gnus-registry-unload-hook): Fix the
        gnus-register-* function names.
        * nnmail.el (nnmail-cache-insert): Add subject parameter, pass it
        on to the nnmail-spool-hook.
  
 -      * nnbabyl.el (nnbabyl-request-accept-article): Added subject to
 +      * nnbabyl.el (nnbabyl-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nndiary.el (nndiary-request-accept-article): Added subject to
 +      * nndiary.el (nndiary-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nnfolder.el (nnfolder-request-accept-article): Added subject to
 +      * nnfolder.el (nnfolder-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nnimap.el (nnimap-split-articles): Added subject to
 +      * nnimap.el (nnimap-split-articles): Add subject to
        nnmail-cache-insert call.
 -      (nnimap-request-accept-article): Added subject to
 +      (nnimap-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nnmbox.el (nnmbox-request-accept-article): Added subject to
 +      * nnmbox.el (nnmbox-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nnmh.el (nnmh-request-accept-article): Added subject to
 +      * nnmh.el (nnmh-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
 -      * nnml.el (nnml-request-accept-article): Added subject to
 +      * nnml.el (nnml-request-accept-article): Add subject to
        nnmail-cache-insert call.
  
  2003-09-04  Jesper Harder  <harder@ifa.au.dk>
  
  2003-08-29  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-group.el (gnus-group-delete-group): Doc fix.  Suggested by
 -      Jochen Küpper <jochen@jochen-kuepper.de>.
 +      * gnus-group.el (gnus-group-delete-group): Doc fix.
 +      Suggested by Jochen Küpper <jochen@jochen-kuepper.de>.
  
  2003-08-29  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
  2003-08-24  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-art.el (gnus-header-button-alist, gnus-button-alist): Fix
 -      type.
 +      * gnus-art.el (gnus-header-button-alist, gnus-button-alist):
 +      Fix type.
  
  2003-08-22  Jesper Harder  <harder@ifa.au.dk>
  
 -      * message.el (message-make-forward-subject-function): Fix
 -      customize mismatch.
 +      * message.el (message-make-forward-subject-function):
 +      Fix customize mismatch.
  
        * gnus.el (gnus-message-archive-method): Do.
  
        char is `/' and add more information for the user.
  
        * gnus-art.el (gnus-button-alist): Add `+' (gnus-button-handle-man).
 -      (gnus-header-button-alist): Added `In-Reply-To'.
 +      (gnus-header-button-alist): Add `In-Reply-To'.
  
        * nnimap.el (nnimap-open-connection): Allow different user names
        on the same server (and in the same authinfo file).
  
        * gnus-sieve.el (gnus-sieve-crosspost): Fix type.
  
 -      * message.el (message-make-forward-subject-function): Add
 -      message-forward-subject-name-subject to choices.
 +      * message.el (message-make-forward-subject-function):
 +      Add message-forward-subject-name-subject to choices.
  
        * gnus-art.el (gnus-article-edit-done, gnus-article-edit-exit):
        Redisplay article after editing.
  
  2003-08-20  Jari Aalto  <jari.aalto@poboxes.com>
  
 -      * gnus.el (gnus-read-group): Added check to ask confirmation if
 +      * gnus.el (gnus-read-group): Add check to ask confirmation if
        Group name contains invalid character.  You can use '/' in IMAP,
        but not in filenames.  G m cannot know what the user is creating,
        so let user decide.  See thread m2oeysiev3.fsf@naima.lensflare.org.
  
  2003-08-07  Jesper Harder  <harder@ifa.au.dk>
  
 -      * pgg-gpg.el (pgg-gpg-process-region): Bind
 -      default-enable-multibyte-characters to nil.
 +      * pgg-gpg.el (pgg-gpg-process-region):
 +      Bind default-enable-multibyte-characters to nil.
  
  2003-08-07  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
        * spam.el (spam-use-regex-body, spam-regex-body-spam)
        (spam-regex-body-ham): New variables, default to nil/empty/empty.
 -      (spam-install-hooks): Added spam-use-regex-body to list or
 +      (spam-install-hooks): Add spam-use-regex-body to list or
        pre-install conditions.
 -      (spam-list-of-checks): Added spam-use-regex-body and
 +      (spam-list-of-checks): Add spam-use-regex-body and
        spam-check-regex-body to list of checks.
 -      (spam-list-of-statistical-checks): Added spam-use-regex-body to
 +      (spam-list-of-statistical-checks): Add spam-use-regex-body to
        list of statistical checks.
        (spam-check-regex-body): Invokes spam-check-regex-headers with
        appropriate variable masking.
        (gnus-registry-clean-empty): New variable to enable cleaning the
        registry when saving it by calling gnus-registry-clean-empty-function.
  
 -      * spam.el (spam-summary-prepare-exit): Use
 -      spam-process-ham-in-spam-groups.
 +      * spam.el (spam-summary-prepare-exit):
 +      Use spam-process-ham-in-spam-groups.
        (spam-process-ham-in-spam-groups): New variable.
  
  2003-07-24  Jesper Harder  <harder@ifa.au.dk>
        * pgg-gpg.el (pgg-gpg-process-region): Add "--yes" to options.
  
        * pgg-gpg.el, pgg-pgp.el, pgg-pgp5.el, pgg.el: Reapply changes
 -      from 2003-04-03 to fix security problem.  See
 -      http://www.debian.org/security/2003/dsa-339.
 +      from 2003-04-03 to fix security problem.
 +      See http://www.debian.org/security/2003/dsa-339.
  
  2003-07-23  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
  2003-07-10  Kai Großjohann  <kai.grossjohann@gmx.net>
  
 -      * imap.el (imap-arrival-filter): Fix test for missing process
 -      buffer.
 +      * imap.el (imap-arrival-filter): Fix test for missing process buffer.
  
  2003-07-09  Gaute B Strokkenes  <gs234@cam.ac.uk>  (tiny change)
  
  
  2003-07-06  Jesper Harder  <harder@ifa.au.dk>
  
 -      * message.el (message-send-mail-with-sendmail): Handle
 -      non-numeric return values.
 +      * message.el (message-send-mail-with-sendmail):
 +      Handle non-numeric return values.
  
        * gnus-start.el (gnus-clear-system): Revert change from
        2003-06-19.
  
  2003-06-23  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-from-listed-p, spam-parse-list): Use
 -      ietf-drums-parse-addresses to extract the address portion of the
 +      * spam.el (spam-from-listed-p, spam-parse-list):
 +      Use ietf-drums-parse-addresses to extract the address portion of the
        whitelist/blacklist file if it looks like an address can be found.
  
  2003-06-23  Didier Verna  <didier@xemacs.org>
        (gnus-xmas-remove-image): Ditto, with extents.
        * gnus-art.el (gnus-delete-images): Pass CATEGORY argument to
        gnus-[xmas-]remove-image.
 -      (article-display-face): Don't always act as a toggle.  Call
 -      `gnus-put-image' with CATEGORY argument.
 +      (article-display-face): Don't always act as a toggle.
 +      Call `gnus-put-image' with CATEGORY argument.
        (article-display-x-face): Call `gnus-put-image' with CATEGORY
        argument.
        * smiley.el (smiley-region): Ditto.
  
  2003-06-20  Jesper Harder  <harder@ifa.au.dk>
  
 -      * mm-util.el (mm-append-to-file): Say "Appended to".  Suggested by
 -      Dan Jacobson <jidanni@jidanni.org>.
 +      * mm-util.el (mm-append-to-file): Say "Appended to".
 +      Suggested by Dan Jacobson <jidanni@jidanni.org>.
  
 -      * mm-view.el (mm-inline-message): Bind
 -      gnus-original-article-buffer to the buffer in the mml handle
 +      * mm-view.el (mm-inline-message):
 +      Bind gnus-original-article-buffer to the buffer in the mml handle
        holding the message.
  
  2003-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  2003-06-19  Jesper Harder  <harder@ifa.au.dk>
  
 -      * nnheader.el (nnheader-init-server-buffer): Add
 -      nntp-server-buffer to gnus-buffers.
 +      * nnheader.el (nnheader-init-server-buffer):
 +      Add nntp-server-buffer to gnus-buffers.
  
        * gnus-start.el (gnus-clear-system): Now we don't need to kill
        nntp-server-buffer separately.
  
  2003-06-17  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-util.el (gnus-extract-address-components): Added
 -      doc-string.
 +      * gnus-util.el (gnus-extract-address-components):
 +      Add doc-string.
  
  2003-06-16  Michael Albinus  <Michael.Albinus@alcatel.de>
  
  
  2003-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-sum.el (gnus-summary-refer-parent-article): Extract
 -      Message-ID from In-Reply-To header.
 +      * gnus-sum.el (gnus-summary-refer-parent-article):
 +      Extract Message-ID from In-Reply-To header.
  
  2003-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
  2003-06-15  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-sum.el (gnus-summary-force-verify-and-decrypt): Bind
 -      `gnus-article-emulate-mime'.
 +      * gnus-sum.el (gnus-summary-force-verify-and-decrypt):
 +      Bind `gnus-article-emulate-mime'.
  
  2003-06-15  Tommi Vainikainen  <thv+gnus@iki.fi>
  
 -      * message.el (message-is-yours-p): New function.  Separated common
 -      code from message-cancel-news and message-supersede.  Added
 -      matching code which uses message-alternative-emails regexp as last
 +      * message.el (message-is-yours-p): New function.  Separate common
 +      code from message-cancel-news and message-supersede.
 +      Add matching code which uses message-alternative-emails regexp as last
        resort.
        (message-cancel-news, message-supersede): Use message-is-yours-p.
  
  
  2003-06-12  Dave Love  <fx@gnu.org>
  
 -      * nnheader.el (nnheader-functionp): Deleted.
 +      * nnheader.el (nnheader-functionp): Delete.
  
        * nnmail.el (nnmail-split-fancy-syntax-table): Define all in
        defvar.
 -      (nnmail-version): Deleted.
 +      (nnmail-version): Delete.
        (nnmail-check-duplication, nnmail-expiry-target-group): Don't use
        nnheader-functionp.
  
        (spam-spamoracle, spam-spamoracle): New variables.
        (spam-group-spam-processor-spamoracle-p)
        (spam-group-ham-processor-spamoracle-p): New functions.
 -      (spam-summary-prepare-exit): Added spamoracle ham/spam exit processing.
 -      (spam-list-of-checks, spam-list-of-statistical-checks): Add
 -      spam-use-spamoracle.
 +      (spam-summary-prepare-exit): Add spamoracle ham/spam exit processing.
 +      (spam-list-of-checks, spam-list-of-statistical-checks):
 +      Add spam-use-spamoracle.
        (spam-check-spamoracle, spam-spamoracle-learn)
        (spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): New functions.
  
        * gnus.el (gnus-group-spam-exit-processor-spamoracle)
        (gnus-group-ham-exit-processor-spamoracle): New variables for SpamOracle.
 -      (spam-process, ham-process): Added spamoracle spam/ham processors.
 +      (spam-process, ham-process): Add spamoracle spam/ham processors.
  
  2003-06-08  Jesper Harder  <harder@ifa.au.dk>
  
  
  2003-06-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Removed ["Add buttons"
 +      * gnus-sum.el (gnus-summary-make-menu-bar): Remove ["Add buttons"
        gnus-summary-display-buttonized t].
  
  2003-06-07  Kai Großjohann  <kai.grossjohann@gmx.net>
        (gnus-other-frame): Quote lambda used as hook.
  
        * message.el: Doc fixes.
 -      (message-functionp): Deleted.  Callers changed.
 -      (message-fix-before-sending): Highlight with overlays.  Clarify
 -      `illegible text' messages.
 +      (message-functionp): Delete.  Callers changed.
 +      (message-fix-before-sending): Highlight with overlays.
 +      Clarify `illegible text' messages.
        (rmail-enable-mime-composing, gnus-message-group-art): Defvar when
        compiling.
        (gnus-find-method-for-group, nnvirtual-find-group-art): Autoload.
  
  2003-06-03  Eric Eide  <eeide@cs.utah.edu>
  
 -      * gnus-xmas.el (gnus-xmas-create-image): Use
 -      insert-file-contents-literally.
 +      * gnus-xmas.el (gnus-xmas-create-image):
 +      Use insert-file-contents-literally.
  
  2003-06-02  Teodor Zlatanov  <tzz@lifelogs.com>
  
        (gnus-registry-delete-group): Use it.
        (gnus-registry-unload-hook): Uninstall all the hooks.
  
 -      * spam.el (spam-install-hooks-function, spam-unload-hook): New
 -      functions so users that load spam.el for customization don't get
 +      * spam.el (spam-install-hooks-function, spam-unload-hook):
 +      New functions so users that load spam.el for customization don't get
        all the hooks installed.
        (spam-install-hooks): New variable, set to t by default if user
        has one of the spam-use-* variables set.
        * rfc2047.el (rfc2047-decode): Don't use
        mm-with-unibyte-current-buffer.
  
 -      * qp.el (quoted-printable-decode-string): Use
 -      mm-with-unibyte-buffer.
 +      * qp.el (quoted-printable-decode-string):
 +      Use mm-with-unibyte-buffer.
  
  2003-05-29  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
  2003-05-20  Dave Love  <fx@gnu.org>
  
 -      * rfc2047.el (rfc2047-q-encoding-alist): Deleted.
 +      * rfc2047.el (rfc2047-q-encoding-alist): Delete.
        (rfc2047-q-encode-region): Don't use it.
        (rfc2047-encode-message-header) <(eq method 'mime)>: Bind
        rfc2047-encoding-type to `mime'.
  
  2003-05-14  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agentize): Updated documentation to match
 +      * gnus-agent.el (gnus-agentize): Update documentation to match
        usage.
        (gnus-agent-expire-group-1): Do not skip over a group when the
        force argument is set.
 -      * gnus.el (gnus-agent): Updated documentation to reflect that
 +      * gnus.el (gnus-agent): Update documentation to reflect that
        gnus-agent now defaults to t.
  
  2003-05-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-05-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * mail-source.el (mail-source-delete-incoming): Changed to t.
 +      * mail-source.el (mail-source-delete-incoming): Change to t.
  
        * rfc2047.el (rfc2047-syntax-table): Funcall.
  
        * rfc2047.el (rfc2047-encodable-p): Use the header charset.
  
 -      * gnus-sum.el (gnus-summary-reselect-current-group): Supply
 -      leave-hidden.
 +      * gnus-sum.el (gnus-summary-reselect-current-group):
 +      Supply leave-hidden.
  
  2003-05-14  Jonathan I. Kamens  <jik@kamens.brookline.ma.us>
  
 -      * gnus-sum.el (gnus-summary-exit): Added `leave-hidden'.  (Tiny
 +      * gnus-sum.el (gnus-summary-exit): Add `leave-hidden'.  (Tiny
        patch.)
  
  2003-05-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-registry.el (gnus-registry-store-extra-entry): Use
 -      gnus-assq-delete-all.
 +      * gnus-registry.el (gnus-registry-store-extra-entry):
 +      Use gnus-assq-delete-all.
  
        * gnus-xmas.el (gnus-xmas-assq-delete-all): New function.
  
        (gnus-agent-cat-disable-undownloaded-faces): New function.
        Accessor for new agent property
        'agent-disable-undownloaded-faces'.
 -      gnus-cus.el (gnus-agent-parameters): Added
 -      agent-disable-undownloaded-faces and corrected documentation.
 +      gnus-cus.el (gnus-agent-parameters):
 +      Add agent-disable-undownloaded-faces and corrected documentation.
        (gnus-agent-cat-prepare-category-field,
 -      gnus-agent-customize-category): Changed to avoid creating free
 +      gnus-agent-customize-category): Change to avoid creating free
        references to each field's symbol.
        gnus-sum.el (gnus-summary-use-undownloaded-faces): New local variable.
        (gnus-select-newgroup): Initialize it.
  
  2003-05-12  Dave Love  <fx@gnu.org>
  
 -      * mm-util.el (mm-read-charset): Deleted.
 +      * mm-util.el (mm-read-charset): Delete.
        (mm-coding-system-mime-charset): New.
        (mm-read-coding-system, mm-mule-charset-to-mime-charset)
        (mm-charset-to-coding-system, mm-mime-charset)
        (mm-find-mime-charset-region): Use it.
        (mm-default-multibyte-p): Fix non-mule case.
  
 -      * rfc2047.el (rfc2047-point-at-bol, rfc2047-point-at-bol): Eval
 -      and compile.
 +      * rfc2047.el (rfc2047-point-at-bol, rfc2047-point-at-bol):
 +      Eval and compile.
        (rfc2047-syntax-table): Fix building table to work in Emacs 22.
        (rfc2047-unfold-region): Delete unused var `leading'.
  
  
  2003-05-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-agent.el (gnus-agent-expire-unagentized-dirs): Added
 -      space.
 +      * gnus-agent.el (gnus-agent-expire-unagentized-dirs):
 +      Add space.
  
  2003-05-11  Jesper Harder  <harder@ifa.au.dk>
  
  
  2003-05-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus.el (gnus-logo-color-alist): Added no colors.
 +      * gnus.el (gnus-logo-color-alist): Add no colors.
  
  2003-05-09  Dave Love  <fx@gnu.org>
  
  
        * gnus-registry.el (gnus-registry-unregistered-group-regex):
        removed in favor of the group/topic/global variables.
 -      (gnus-registry-register-message-ids): Fixed test to omit
 +      (gnus-registry-register-message-ids): Fix test to omit
        gnus-registry-unregistered-group-regex.
  
 -      * gnus.el (gnus-variable-list): Removed gnus-registry-alist and
 +      * gnus.el (gnus-variable-list): Remove gnus-registry-alist and
        gnus-registry-headers-alist from the list.
 -      (gnus-registry-headers-alist): Removed.
 +      (gnus-registry-headers-alist): Remove.
        (registry-ignore): New parameter, with accompanying
        gnus-registry-ignored-groups global variable.
  
        used by gnus-registry.el.
  
        * gnus-registry.el (gnus-registry-cache-file): New file variable.
 -      (gnus-registry-cache-read, gnus-registry-cache-save): New
 -      functions.
 +      (gnus-registry-cache-read, gnus-registry-cache-save):
 +      New functions.
        (gnus-registry-save, gnus-registry-read): Use the new
        gnus-registry-cache-{read|save} functions, and change the name
        from gnus-registry-translate-{from|to}-alist.
 -      (gnus-registry-clear): Fixed so it doesn't refer to old function name.
 +      (gnus-registry-clear): Fix so it doesn't refer to old function name.
  
  2003-05-09  Dan Christensen  <jdc@chow.mat.jhu.edu>
  
  
  2003-05-08  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * gnus-start.el (gnus-clear-system): Added gnus-registry-alist to
 +      * gnus-start.el (gnus-clear-system): Add gnus-registry-alist to
        the list of cleared variables.
  
        * gnus-registry.el (gnus-registry-split-fancy-with-parent):
  
  2003-05-08  Kai Großjohann  <kai.grossjohann@gmx.net>
  
 -      * gnus-sum.el (gnus-summary-next-page): Mention
 -      `gnus-article-skip-boring' in docstring.
 +      * gnus-sum.el (gnus-summary-next-page):
 +      Mention `gnus-article-skip-boring' in docstring.
  
  2003-05-08  Jesper Harder  <harder@ifa.au.dk>
  
  
        * rfc2047.el (rfc2047-point-at-bol, rfc2047-point-at-eol): New.
        Callers of gnus- versions changed to use them.
 -      (rfc2047-header-encoding-alist): Add `address-mime' part.  Doc
 -      fixes.
 +      (rfc2047-header-encoding-alist): Add `address-mime' part.
 +      Doc fixes.
        (rfc2047-encoding-type): New.
        (rfc2047-encode-message-header): Use mm-charset-to-coding-system.
        Don't include header name field in encoding.  Add `address-mime'
        case and bind rfc2047-encoding-type for `mime' case.
 -      (rfc2047-encodable-p): Deleted.
 +      (rfc2047-encodable-p): Delete.
        (rfc2047-syntax-table): New.
        (rfc2047-encode-region, rfc2047-encode): Rewritten to take account
        of rfc2047 rules with respect to rfc2822 tokens and to do encoding
  
  2003-05-02  Dave Love  <fx@gnu.org>
  
 -      * rfc2047.el (rfc2047-q-encode-region, rfc2047-decode): Use
 -      mm-with-unibyte-current-buffer.
 +      * rfc2047.el (rfc2047-q-encode-region, rfc2047-decode):
 +      Use mm-with-unibyte-current-buffer.
        (ietf-drums, gnus-util): Don't require.
  
        * sieve.el (sieve-manage-mode-menu): Define before use.
        * mm-util.el (mm-coding-system-p): Don't override nil from
        coding-system-p.
        (mm-mule4-p, mm-disable-multibyte-mule4)
 -      (mm-with-unibyte-current-buffer-mule4): Deleted.
 +      (mm-with-unibyte-current-buffer-mule4): Delete.
        (mm-multibyte-p): Use defun, not defalias.
 -      (mm-make-temp-file): Moved to group at top of file.
 +      (mm-make-temp-file): Move to group at top of file.
        (mm-point-at-eol, mm-point-at-bol): New.
  
        * gnus-cite.el (gnus-art): Require.
        (gnus-output-to-rmail): Require mm-util.
  
        * mail-source.el (mail-source-callback): Use mm-make-temp-file.
 -      (mail-source-make-complex-temp-name): Deleted.
 +      (mail-source-make-complex-temp-name): Delete.
  
        * message.el (message-use-idna): Use mm-coding-system-p.
        (message-tokenize-header, message-make-organization)
        (message-make-from): Use with-temp-buffer.
 -      (message-set-work-buffer): Deleted.
 +      (message-set-work-buffer): Delete.
        (message-fill-paragraph): Use `if' not `and' for compiler warning.
        (message-check-news-header-syntax): Remove useless lambda.
        (message-forward-make-body): Use mm-disable-multibyte,
        mm-with-unibyte-current-buffer, mm-enable-multibyte.
 -      (message-replace-chars-in-string): Deleted.
 +      (message-replace-chars-in-string): Delete.
  
        * mm-extern.el (mm-extern-local-file): Use mm-disable-multibyte.
        (mm-extern-url): Use mm-with-unibyte-current-buffer,
        mm-disable-multibyte.
        (mm-extern-anon-ftp): Use mm-disable-multibyte.
  
 -      * mml1991.el (mml1991-mailcrypt-encrypt, mml1991-gpg-encrypt): Use
 -      mm-with-unibyte-current-buffer.
 +      * mml1991.el (mml1991-mailcrypt-encrypt, mml1991-gpg-encrypt):
 +      Use mm-with-unibyte-current-buffer.
  
        * mml2015.el (mml): Require.
 -      (mml2015-mailcrypt-encrypt, mml2015-gpg-encrypt): Use
 -      mm-with-unibyte-current-buffer.
 +      (mml2015-mailcrypt-encrypt, mml2015-gpg-encrypt):
 +      Use mm-with-unibyte-current-buffer.
  
        * nnheader.el (gnus-util): Require.
  
        * gnus-registry.el (gnus-registry-fetch-extra)
        (gnus-registry-store-extra, gnus-registry-group-count): New functions.
        (gnus-registry-fetch-group, gnus-registry-delete-group)
 -      (gnus-registry-add-group): Changed to work with extra data element
 +      (gnus-registry-add-group): Change to work with extra data element
        if present.
  
  2003-05-01  Lars Magne Ingebrigtsen  <lars@ingebrigtsen.no>
  
  2003-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * message.el (message-forward-subject-name-subject): Decode
 -      string when forwarding.
 +      * message.el (message-forward-subject-name-subject):
 +      Decode string when forwarding.
  
  2003-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-04-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-prefer-mid-or-mail): Fixed typo in
 +      * gnus-art.el (gnus-button-prefer-mid-or-mail): Fix typo in
        doc-string.
  
  2003-05-01  Steve Youngs  <youngs@xemacs.org>
  
  2003-04-30  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * gnus-registry.el (gnus-registry-split-fancy-with-parent): Added
 -      diagnostic message.
 +      * gnus-registry.el (gnus-registry-split-fancy-with-parent):
 +      Add diagnostic message.
        (gnus-registry-grep-in-list): Don't run when word is nil.
        (gnus-registry-fetch-message-id-fast): New function.
        (gnus-registry-delete-group, gnus-registry-add-group): Make sure
        the id and group are not nil.
        (gnus-registry-register-message-ids): New function.
 -      (gnus-register-action): Optimized logical flow.
 -      (gnus-summary-prepare-hook): Added gnus-registry-register-message-ids.
 +      (gnus-register-action): Optimize logical flow.
 +      (gnus-summary-prepare-hook): Add gnus-registry-register-message-ids.
  
  2003-04-30  Kai Großjohann  <kai.grossjohann@gmx.net>
  
 -      * gnus-delay.el (gnus-delay-article): Call
 -      `gnus-agent-queue-setup' to create the delay group.
 +      * gnus-delay.el (gnus-delay-article):
 +      Call `gnus-agent-queue-setup' to create the delay group.
  
        * gnus-agent.el (gnus-agent-queue-setup): Support optional arg
        for the (queue) group name.
  2003-04-30  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
        * gnus-agent.el (gnus-agent-cat-defaccessor, gnus-agent-cat-name):
 -      Wrapped in eval-when-compile.
 +      Wrap in eval-when-compile.
        (gnus-agent-mode): Bind gnus-agent-go-online to nil as you
        shouldn't be asked twice to go online with each server.
        (gnus-agent-get-undownloaded-list, gnus-agent-fetch-articles,
        gnus-agent-crosspost, gnus-agent-flush-cache,
        gnus-agent-fetch-session, gnus-agent-unread-articles,
        gnus-agent-uncached-articles, gnus-agent-regenerate-group,
 -      gnus-agent-group-covered-p): Expanded pop macros used for
 +      gnus-agent-group-covered-p): Expand pop macros used for
        effect.  Avoids compilation warning in emacs 21.3.
  
 -      * gnus-int.el (gnus-open-server): Restructured to only open
 +      * gnus-int.el (gnus-open-server): Restructure to only open
        nnagent when gnus-plugged is nil.
  
  2003-04-29  Teodor Zlatanov  <tzz@lifelogs.com>
  
  2003-04-29  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-alist): Fixed CTAN regexp.
 +      * gnus-art.el (gnus-button-alist): Fix CTAN regexp.
  
  2003-04-29  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
        * gnus-art.el (gnus-mime-display-multipart-as-mixed)
        (gnus-mime-display-multipart-alternative-as-mixed)
 -      (gnus-mime-display-multipart-related-as-mixed): Added doc-strings,
 +      (gnus-mime-display-multipart-related-as-mixed): Add doc-strings,
        allow customization.
  
  2003-04-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-04-27  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-registry.el (gnus-register-spool-action): Replaced literal
 +      * gnus-registry.el (gnus-register-spool-action): Replace literal
        carriage-return character with its escape sequence.
  
  2003-04-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus.el: Remove gnus-functionp throughout.
  
 -      * gnus-util.el (gnus-functionp): Removed.
 +      * gnus-util.el (gnus-functionp): Remove.
  
        * gnus-msg.el (gnus-summary-wide-reply-with-original): Doc fix.
  
        * gnus-start.el (message-make-date): Autoload rather than
        requiring message.
  
 -      * gnus-group.el (gnus-group-name-charset-group-alist): Use
 -      mm-coding-system-p.
 +      * gnus-group.el (gnus-group-name-charset-group-alist):
 +      Use mm-coding-system-p.
        (gnus-cache-active-altered): Defvar when compiling.
        (gnus-group-delete-group): Re-write to help avoid warnings.
  
  
  2003-04-22  Paul Jarc  <prj@po.cwru.edu>
  
 -      * gnus-util.el (gnus-merge): Added "type" argument to match CL
 +      * gnus-util.el (gnus-merge): Add "type" argument to match CL
        merge and gnus-sum.el's expectations.
  
  2003-04-21  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-url-regexp): Added nntp.
 +      * gnus-art.el (gnus-button-url-regexp): Add nntp.
  
        * message.el (message-generate-headers-first): Default to
        '(references).
        * spam.el (spam-split): Allow a particular check as a parameter,
        e.g. (: spam-split 'spam-use-bogofilter).
        (spam-mark-only-unseen-as-spam): New parameter, see doc.
 -      (spam-mark-junk-as-spam-routine): Use
 -      spam-mark-only-unseen-as-spam, simplify routine to take advantage
 +      (spam-mark-junk-as-spam-routine):
 +      Use spam-mark-only-unseen-as-spam, simplify routine to take advantage
        of gnus-newsgroup-unread as well as gnus-newsgroup-unseen.
  
  2003-04-17  Teodor Zlatanov  <tzz@lifelogs.com>
        * gnus-registry.el (gnus-registry-clear)
        (gnus-registry-fetch-group, gnus-registry-grep-in-list)
        (gnus-registry-split-fancy-with-parent): New functions.
 -      (gnus-register-spool-action, gnus-register-action): Simplified the
 +      (gnus-register-spool-action, gnus-register-action): Simplify the
        format.
        (gnus-registry): New customization group.
        (gnus-registry-unfollowed-groups): New variable.
  
        * spam-report.el (Module): New module for spam reporting.
  
 -      * gnus.el (spam-process): Added
 -      gnus-group-spam-exit-processor-report-gmane to the list of choices.
 -      (gnus-install-group-spam-parameters): Defined new spam exit processor.
 +      * gnus.el (spam-process):
 +      Add gnus-group-spam-exit-processor-report-gmane to the list of choices.
 +      (gnus-install-group-spam-parameters): Define new spam exit processor.
  
        * spam.el (autoload): Autoload spam-report-gmane when needed.
        (spam-report-gmane-register-routine): Glue for spam-report.el.
  
  2003-04-16  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-make-cat): Added optional parameter to
 +      * gnus-agent.el (gnus-agent-make-cat): Add optional parameter to
        specify a predicate other than false.
        (gnus-category-read): Use the new feature to create a 'default'
        category with a 'short' predicate.
  
  2003-04-15  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-split): Added save-restriction to save-excursion.
 +      * spam.el (spam-split): Add save-restriction to save-excursion.
  
  2003-04-15  Julien Avarre  <julien@avarre.com>
  
  
  2003-04-13  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-group-pathname): Bind
 -      gnus-command-method so that gnus-agent-directory will always
 +      * gnus-agent.el (gnus-agent-group-pathname):
 +      Bind gnus-command-method so that gnus-agent-directory will always
        return a valid directory.
        * gnus-cache.el (gnus-cache-enter-article): Remove article from
        gnus-newsgroup-undownloaded so that the summary will display the
  
  2003-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-article-next-page): Use
 -      gnus-article-over-scroll.
 +      * gnus-art.el (gnus-article-next-page):
 +      Use gnus-article-over-scroll.
        (gnus-article-over-scroll): New variable.
  
        * message.el (message-newline-and-reformat): Place a boundary
        before filling.
 -      (message-make-forward-subject-function): Changed default to
 +      (message-make-forward-subject-function): Change default to
        message-forward-subject-name-subject.
        (message-forward-subject-name-subject): New function.
  
  
        * gnus-sum.el (gnus-summary-line-message-size): Ditto.
  
 -      * gnus-cus.el (gnus-group-parameters): Removed "which see".
 +      * gnus-cus.el (gnus-group-parameters): Remove "which see".
  
 -      * mml.el (mml-minibuffer-read-file): Bind
 -      completion-ignored-extensions to nil.
 +      * mml.el (mml-minibuffer-read-file):
 +      Bind completion-ignored-extensions to nil.
  
        * message.el (message-fix-before-sending): Comment fix.
        (message-fix-before-sending): Make hidden headers visible.
        (message-hide-headers): Bind after-change-functions to nil.
 -      (message-forbidden-properties): Put invisible and intangible
 -      back.
 +      (message-forbidden-properties): Put invisible and intangible back.
        (message-strip-forbidden-properties): Ignore message-hidden text.
  
        * gnus-msg.el: Hide headers.
        (message-hide-headers): New function.
        (message-hide-header-p): New function.
        (message-hide-header-p): Change logic.
 -      (message-forbidden-properties): Remove intangible nil invisible
 -      nil.
 +      (message-forbidden-properties): Remove intangible nil invisible nil.
        (message-hide-headers): Narrow to headers.
  
  2003-04-12  Jesper Harder  <harder@ifa.au.dk>
        * gnus-agent.el (gnus-agent-get-undownloaded-list): Articles in
        the CACHE are now detected and handled the same as an article
        downloaded into the agent.
 -      (gnus-agent-group-path): Modified to match nnmail-group-pathname
 +      (gnus-agent-group-path): Modify to match nnmail-group-pathname
        so that the agent front-end and back-end (nnagent) always use the
        same directory.
        (gnus-agent-group-pathname): New function.  Wrapper for
  
  2003-04-09  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-write-active): Added option of
 +      * gnus-agent.el (gnus-agent-write-active): Add option of
        replacing, rather than updating, the agent's active file.  Do NOT
        use the fully qualified group name as gnus-active-to-gnus-format
        blindly prefixes group names with server names.
        (gnus-agent-expire-unagentized-dirs): Avoid asking to delete the
        same ancestor multiple times.
  
 -      * gnus-async.el (gnus-asynchronous): Moved defcustom of
 -      gnus-asynchronous away from defgroup of gnus-asynchronous.  This
 -      seems to fix an intermittant error in which loading gnus-async
 +      * gnus-async.el (gnus-asynchronous): Move defcustom of
 +      gnus-asynchronous away from defgroup of gnus-asynchronous.
 +      This seems to fix an intermittant error in which loading gnus-async
        fails to define gnus-asynchronous (the variable).
  
        * gnus-sum.el: Concur with Steve Young, 5th argument to 'load' is
        group's active range to include fetched articles that are no
        longer in the server's active range.
  
 -      * gnus-util.el (gnus-with-output-to-file): Removed all of the
 +      * gnus-util.el (gnus-with-output-to-file): Remove all of the
        print-* bindings as they should be handled by the function doing
        the printing.
  
  
  2003-04-06  Jesper Harder  <harder@ifa.au.dk>
  
 -      * mm-uu.el (mm-uu-copy-to-buffer): Copy
 -      `buffer-file-coding-system' to the new buffer.
 +      * mm-uu.el (mm-uu-copy-to-buffer):
 +      Copy `buffer-file-coding-system' to the new buffer.
        (mm-uu-pgp-signed-extract-1): Don't copy
        `buffer-file-coding-system' here.
  
        exist in XEmacs.
        (mm-decode-body): Add missing quote.
  
 -      * mm-uu.el (mm-uu-pgp-signed-extract-1): Set
 -      buffer-file-coding-system.
 +      * mm-uu.el (mm-uu-pgp-signed-extract-1):
 +      Set buffer-file-coding-system.
  
        * mm-bodies.el (mm-decode-body): Set buffer-file-coding-system to
        last-coding-system-used.
  
  2003-04-05  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bound
 -      print-escape-nonascii to fix more characters in compiled format
 +      * gnus-start.el (gnus-gnus-to-quick-newsrc-format):
 +      Bound print-escape-nonascii to fix more characters in compiled format
        specs.
  
  2003-04-05  Jesper Harder  <harder@ifa.au.dk>
  
  2003-04-04  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bound
 -      print-quoted, print-readably, print-escape-multibyte, and
 +      * gnus-start.el (gnus-gnus-to-quick-newsrc-format):
 +      Bound print-quoted, print-readably, print-escape-multibyte, and
        print-level to match original behavior of gnus-prin1.  This should
        repair the format of .newsrc.eld when using compiled format specs.
  
  
  2003-04-03  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-ctan-directory-regexp): Changed meaning
 +      * gnus-art.el (gnus-button-ctan-directory-regexp): Change meaning
        and value.
        (gnus-button-alist): Use it.
  
  
  2003-04-02  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-util.el (gnus-message): Added doc-string.
 +      * gnus-util.el (gnus-message): Add doc-string.
  
 -      * gnus-score.el (gnus-score-find-trace): Changed behavior of `q'.
 +      * gnus-score.el (gnus-score-find-trace): Change behavior of `q'.
        (gnus-score-edit-file-at-point): Goto first match when using `e'.
  
  2003-04-01  Reiner Steib  <Reiner.Steib@gmx.de>
  
  2003-03-31  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bound
 -      print-escape-newlines to print escape sequences rather than
 +      * gnus-start.el (gnus-gnus-to-quick-newsrc-format):
 +      Bound print-escape-newlines to print escape sequences rather than
        literal newline characters.
  
  2003-03-31  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-valid-fqdn-regexp): Use
 -      `message-valid-fqdn-regexp' for initialization.
 -      (gnus-button-handle-info-url): Renamed and extended version of
 +      * gnus-art.el (gnus-button-valid-fqdn-regexp):
 +      Use `message-valid-fqdn-regexp' for initialization.
 +      (gnus-button-handle-info-url): Rename and extended version of
        `gnus-button-handle-info'.
 -      (gnus-button-message-level): Renamed from `gnus-button-mail-level'.
 +      (gnus-button-message-level): Rename from `gnus-button-mail-level'.
        (gnus-button-handle-symbol, gnus-button-handle-library)
        (gnus-button-handle-info-keystrokes): New functions.
        (gnus-button-browse-level): New variable.
        (gnus-button-alist): Use them.  Added levels.
 -      (gnus-header-button-alist): Added levels.
 +      (gnus-header-button-alist): Add levels.
  
  2003-03-31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-03-31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-start.el (gnus-unload): Removed.
 +      * gnus-start.el (gnus-unload): Remove.
  
 -      * pop3.el (pop3-read-response): Use
 -      nnheader-accept-process-output.
 +      * pop3.el (pop3-read-response):
 +      Use nnheader-accept-process-output.
        (pop3-retr): Ditto.
  
        * mm-view.el (mm-text-html-renderer-alist): Add -nolist to Lynx.
        * nnheader.el (nnheader-read-timeout): New variable.
        (nnheader-accept-process-output): New function.
  
 -      * nntp.el (nntp-read-timeout): Removed.
 +      * nntp.el (nntp-read-timeout): Remove.
  
        * gnus-sum.el (gnus-summary-prepare-threads): Add comment.
  
  
  2003-03-28  Vasily Korytov  <deskpot@myrealbox.com>
  
 -      * message.el (message-make-in-reply-to): Use
 -      mail-extract-address-components to determine sender's
 +      * message.el (message-make-in-reply-to):
 +      Use mail-extract-address-components to determine sender's
        name/address.
  
  2003-03-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
        valid lambda.
        (gnus-registry-translate-from-alist): Ditto.
  
 -      * gnus-start.el (gnus-gnus-to-quick-newsrc-format): Bind
 -      print-length to nil.
 +      * gnus-start.el (gnus-gnus-to-quick-newsrc-format):
 +      Bind print-length to nil.
  
        * gnus-sum.el (gnus-summary-highlight-line-0): Indent.
  
        (gnus-registry-translate-from-alist): New functions.
        (gnus-register-spool-action): Add a spool item to the registry.
  
 -      * gnus.el (gnus-variable-list): Added gnus-registry-alist to the
 +      * gnus.el (gnus-variable-list): Add gnus-registry-alist to the
        list of saved variables.
        (gnus-registry-alist): New variable.
  
  2003-03-28  Andreas Fuchs  <asf@void.at>
  
 -      * gnus-registry.el (alist-to-hashtable, hashtable-to-alist): New
 -      functions.
 +      * gnus-registry.el (alist-to-hashtable, hashtable-to-alist):
 +      New functions.
  
  2003-03-27  Simon Josefsson  <jas@extundo.com>
  
  
  2003-03-26  Kevin Ryde  <user42@zip.com.au>
  
 -      * gnus-sum.el (gnus-summary-find-for-reselect): Renamed from
 +      * gnus-sum.el (gnus-summary-find-for-reselect): Rename from
        gnus-summary-find-uncancelled, skip temporary articles inserted by
        "refer" functions.
  
  
  2003-03-26  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetch-selected-article): Replaced
 +      * gnus-agent.el (gnus-agent-fetch-selected-article): Replace
        gnus-summary-update-line (which updated the article's face) with
        gnus-summary-update-download-mark (which updates the article's
        face by calling gnus-summary-update-line AND updates the download
        * rfc2047.el (rfc2047-header-encoding-alist): Make Followup-To
        same as Newsgroups.
  
 -      * nntp.el (nntp-open-connection-function): Mention
 -      nntp-open-tls-stream.
 +      * nntp.el (nntp-open-connection-function):
 +      Mention nntp-open-tls-stream.
        (nntp-open-tls-stream): New function.
  
        * tls.el: New file.
        * gnus-int.el (gnus-open-server): Catch errors in backend's
        open-server method.  Returns nil rather than crashing startup.
  
 -      * gnus-sum.el (eval-when-compile): Modified to resolve
 +      * gnus-sum.el (eval-when-compile): Modify to resolve
        compile-time warnings.
  
 -      * gnus-uu.el (gnus-uu-mark-series): Added informative msg.
 +      * gnus-uu.el (gnus-uu-mark-series): Add informative msg.
        Reports length of series so that the user can compare N with a
        subject that should, if the entire series is present, contain
        '(.../N)'.
  
  2003-03-20  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-check-news-header-syntax): Fixed regexp.
 +      * message.el (message-check-news-header-syntax): Fix regexp.
  
  2003-03-20  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
        * spam.el (spam-group-ham-mark-p, spam-group-spam-mark-p)
        (spam-group-ham-marks, spam-group-spam-marks): New functions.
 -      (spam-spam-marks, spam-ham-marks): Removed in favor of the
 +      (spam-spam-marks, spam-ham-marks): Remove in favor of the
        spam-marks and ham-marks parameters.
        (spam-generic-register-routine, spam-ham-move-routine): Use the
        new spam-group-{spam,ham}-mark-p functions.
  
  2003-03-09  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetched-hook): New variable.  Just
 -      fixing the code to match the documentation.
 -      (gnus-agent-fetch-selected-article): Replaced
 +      * gnus-agent.el (gnus-agent-fetched-hook): New variable.
 +      Just fixing the code to match the documentation.
 +      (gnus-agent-fetch-selected-article): Replace
        gnus-summary-update-article-line with gnus-summary-update-line as
        the former did not correctly recalculate the thread indentation.
        (gnus-agent-find-parameter): The agent-predicate, if not found
        anywhere else, defaults to the value of gnus-agent-predicate.
 -      (gnus-agent-fetch-session): Fixed typo; now executes
 +      (gnus-agent-fetch-session): Fix typo; now executes
        gnus-agent-fetched-hook rather than the undocumented
        gnus-agent-fetch-hook.
 -      (gnus-agent-fetch-group-1): Removed part of 2003-03-06 fix.  The
 -      default agent predicate is now provided by
 +      (gnus-agent-fetch-group-1): Remove part of 2003-03-06 fix.
 +      The default agent predicate is now provided by
        gnus-agent-find-parameter.
        (gnus-agent-message): New macro.  This macro avoids potentially
        costly parameter evaluation when the message's level is too high
        to display.
 -      (gnus-agent-expire-group-1): Disabled undo tracking in temp
 +      (gnus-agent-expire-group-1): Disable undo tracking in temp
        overview buffer.  Uses new gnus-agent-message macro to reduce
        overhead of optional messages.  Reversed message levels to
        emphasize percent completion messages.  Detailed messages of
  
  2003-03-08  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-ham-move-routine): Use
 -      spam-mark-ham-unread-before-move-from-spam-group.
 +      * spam.el (spam-ham-move-routine):
 +      Use spam-mark-ham-unread-before-move-from-spam-group.
        (spam-mark-ham-unread-before-move-from-spam-group): New variable.
  
  2003-03-07  Teodor Zlatanov  <tzz@lifelogs.com>
  2003-03-07  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * spam.el (spam-use-hashcash): New variable.
 -      (spam-list-of-checks): Added spam-use-hashcash with associated
 +      (spam-list-of-checks): Add spam-use-hashcash with associated
        spam-check-hashcash.
        (spam-check-hashcash): New function, installed iff hashcash.el is
        loaded.
  
  2003-03-06  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetch-group-1): Added default
 +      * gnus-agent.el (gnus-agent-fetch-group-1): Add default
        predicate of `false' to avoid an error when a group defines no
        predicate.  Fixed typo that disabled agent scoring (i.e. the
        low/high predicates should now work).
  
        * spam.el: Add spam-maybe-spam-stat-load to
        gnus-get-top-new-news-hook, remove it from gnus-get-new-news-hook.
 -      (spam-bogofilter-register-with-bogofilter): Use
 -      spam-bogofilter-spam-switch and spam-bogofilter-ham-switch.
 -      (spam-bogofilter-spam-switch, spam-bogofilter-ham-switch): New
 -      custom variables to replace "-s" and "-n".
 +      (spam-bogofilter-register-with-bogofilter):
 +      Use spam-bogofilter-spam-switch and spam-bogofilter-ham-switch.
 +      (spam-bogofilter-spam-switch, spam-bogofilter-ham-switch):
 +      New custom variables to replace "-s" and "-n".
  
        * gnus-group.el (gnus-group-get-new-news): Call the new
        gnus-get-top-new-news-hook hook.
  
  2003-03-06  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetch-group-1): Added missing binding
 +      * gnus-agent.el (gnus-agent-fetch-group-1): Add missing binding
        on gnus-agent-short-article.
 -      (gnus-category-read): Replaced CL function mapcar* with new macro:
 +      (gnus-category-read): Replace CL function mapcar* with new macro:
        gnus-mapcar.
        * gnus-util.el (gnus-mapcar): New macro.  Generalizes mapcar to
        support functions that accept multiple parameters.  A separate
  
  2003-03-04  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-agent.el (gnus-function-implies-unread-1): Grok
 -      byte-compiled functions.
 +      * gnus-agent.el (gnus-function-implies-unread-1):
 +      Grok byte-compiled functions.
  
  2003-03-04  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-sum.el (gnus-auto-goto-ignores): New variable.  Provides
 -      customization between new maneuvering (which permits selecting
 +      * gnus-sum.el (gnus-auto-goto-ignores): New variable.
 +      Provides customization between new maneuvering (which permits selecting
        undownloaded articles) and old maneuvering (which skipped over
        undownloaded articles) behaviors.
        (gnus-summary-find-next): Pass through the unread and subject
        parameters when calling gnus-summary-find-prev.
 -      (gnus-summary-find-next, gnus-summary-find-prev): Apply
 -      gnus-auto-goto-ignores to filter out unacceptable articles.
 +      (gnus-summary-find-next, gnus-summary-find-prev):
 +      Apply gnus-auto-goto-ignores to filter out unacceptable articles.
  
  2003-03-04  Jesper Harder  <harder@ifa.au.dk>
  
        (mail-source-fetch-webmail): Use read-passwd.
  
        * nntp.el (nntp-send-authinfo, nntp-send-nosy-authinfo)
 -      (nntp-open-telnet, nntp-open-via-telnet-and-telnet): Use
 -      read-passwd.
 +      (nntp-open-telnet, nntp-open-via-telnet-and-telnet):
 +      Use read-passwd.
  
        * nnwarchive.el (nnwarchive-open-server): Use read-passwd.
  
        (sieve-manage-interactive-login): Use read-passwd.
  
        * pop3.el (pop3-read-passwd): Remove.
 -      (pop3-movemail, pop3-get-message-count, pop3-apop): Use
 -      read-passwd.
 +      (pop3-movemail, pop3-get-message-count, pop3-apop):
 +      Use read-passwd.
  
        * pgg.el (pgg-read-passphrase): Simplify.
  
  2003-03-04  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-mode): Fixed the mode line reports
 +      * gnus-agent.el (gnus-agent-mode): Fix the mode line reports
        'plugged' when actually 'unplugged' bug.
        (gnus-category-read): Ignore nil values when converting an
        old-format category so that the new-format category will default
  
  2003-03-03  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * mail-source.el (mail-source-delete-old-incoming-confirm): Fixed
 -      doc-string.
 +      * mail-source.el (mail-source-delete-old-incoming-confirm):
 +      Fix doc-string.
  
  2003-03-03  Jesper Harder  <harder@ifa.au.dk>
  
  2003-03-03  Reiner Steib  <Reiner.Steib@gmx.de>
  
        * gnus-msg.el (gnus-extended-version): Fix for 'emacs-gnus-config.
 -      (gnus-user-agent): Fixed typo.
 +      (gnus-user-agent): Fix typo.
  
  2003-03-03  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-enable-expiration): Fixed documentation.
 -      (gnus-agent-expire-group-1): Removed invalid (interactive) specifier.
 +      * gnus-agent.el (gnus-agent-enable-expiration): Fix documentation.
 +      (gnus-agent-expire-group-1): Remove invalid (interactive) specifier.
  
  2003-03-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-03-03  Jesper Harder  <harder@ifa.au.dk>
  
        * gnus-sum.el (gnus-highlight-selected-summary)
 -      (gnus-article-get-xrefs, gnus-summary-show-thread): Use
 -      `gnus-point-at-bol' and `gnus-point-at-eol' instead of
 +      (gnus-article-get-xrefs, gnus-summary-show-thread):
 +      Use `gnus-point-at-bol' and `gnus-point-at-eol' instead of
        `(progn (beginning-of-line) (point))'.  It's shorter, faster,
        and makes it clear that we don't need the side effect.
        * gnus-util.el (gnus-delete-line): Do.
  
  2003-03-02  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-enable-expiration): New
 -      variable.  Either ENABLE or DISABLE.  Sets default behavior for
 +      * gnus-agent.el (gnus-agent-enable-expiration):
 +      New variable.  Either ENABLE or DISABLE.  Sets default behavior for
        selecting which groups are expired.
        (gnus-agent-cat-set-property, gnus-agent-cat-defaccessor,
        gnus-agent-set-cat-groups): Provides abstract interface for
        (gnus-agent-add-group, gnus-agent-remove-group,
        gnus-category-insert-line, gnus-category-edit-predicate,
        gnus-category-edit-score, gnus-category-edit-groups,
 -      gnus-category-copy, gnus-category-add, gnus-group-category): Use
 -      new agent category abstraction.
 +      gnus-category-copy, gnus-category-add, gnus-group-category):
 +      Use new agent category abstraction.
        (gnus-agent-find-parameter): New function.  Search for agent
        configuration parameter first in the group's parameters, then its
        topics (if any), and then the group's category.  If not found
        (gnus-category-write): Writes category file compatible with
        current, and previous, versions of gnus-agent.
        (gnus-category-make-function, gnus-category-make-function-1):
 -      Corrected documentation; parameter is predicate NOT category.
 +      Correct documentation; parameter is predicate NOT category.
        (gnus-predicate-implies-unread): Now works in more cases per the
        todo comment.
 -      (gnus-function-implies-unread-1): New function.  Supports
 -      gnus-predicate-implies-unread.
 +      (gnus-function-implies-unread-1): New function.
 +      Supports gnus-predicate-implies-unread.
        (gnus-agent-expire-group): Command now provides default of group
        under point.
        (gnus-agent-expire-group-1): Obeys new agent-enable-expiration and
        (gnus-agent-request-article): Now performs its own checks of
        gnus-agent, gnus-agent-cache, and gnus-plugged rather than
        assuming that the caller will do them correctly.
 -      (): Added one-time hook to gnus-group-prepare-hook.  Detects when
 +      (): Add one-time hook to gnus-group-prepare-hook.  Detects when
        gnus-agent-expire-days is set to an alist.  Converts said alist
        into group parameter so that gnus-agent-expire-days will not be
        needed.
 -      * gnus-art.el (gnus-request-article-this-buffer): Conditional
 -      checks surrounding gnus-agent-request-article removed; now
 +      * gnus-art.el (gnus-request-article-this-buffer):
 +      Conditional checks surrounding gnus-agent-request-article removed; now
        performed by gnus-agent-request-article.
        * gnus-cus.el (gnus-agent-parameters): New variable.  List of
        customizable group/topic parameters that regulate the agent.
        warnings.
        (gnus-long-file-names): New function.  Isolates platform dependent
        msdos-long-file-names.
 -      (gnus-save-startup-file-via-temp-buffer): New variable.  Provides
 -      option of writing directly to file.  Avoids memory exhausted
 +      (gnus-save-startup-file-via-temp-buffer): New variable.
 +      Provides option of writing directly to file.  Avoids memory exhausted
        errors when .newsrc.eld is huge.
        (gnus-save-newsrc-file): Uses new
        gnus-save-startup-file-via-temp-buffer.
        nnimap-split-download-body, we add it to gnus-get-new-news-hook.
        (spam-list-of-statistical-checks): List of statistical splitter
        checks.
 -      (spam-split): Added a widen call when a statistical check is
 -      enabled.
 +      (spam-split): Add a widen call when a statistical check is enabled.
  
  2003-02-28  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-msg.el (gnus-user-agent): Changed default to
 +      * gnus-msg.el (gnus-user-agent): Change default to
        'emacs-gnus-type, renamed 'full.
  
  2003-02-28  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2003-02-26  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-sum.el (gnus-summary-toggle-header): Run
 -      gnus-article-decode-hook instead of calling a-decode-encoded-words
 +      * gnus-sum.el (gnus-summary-toggle-header):
 +      Run gnus-article-decode-hook instead of calling a-decode-encoded-words
        directly (the latter is run as part of the former).
  
  2003-02-26  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2003-02-25  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist): Added
 -      compensation for TDMA addresses.
 +      * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist):
 +      Add compensation for TDMA addresses.
  
  2003-02-24  Reiner Steib  <Reiner.Steib@gmx.de>
  
        * gnus-msg.el (gnus-user-agent): New variable.
 -      (gnus-version-expose-system): Removed.  Obsoleted by
 +      (gnus-version-expose-system): Remove.  Obsoleted by
        `gnus-user-agent'.
        (gnus-extended-version): Use `gnus-user-agent'.
  
  
  2003-02-24  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-group.el (gnus-topic-mode-p): Fixed free variable
 +      * gnus-group.el (gnus-topic-mode-p): Fix free variable
        reference.
  
  2003-02-24  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * nnheader.el (nnheader-find-nov-line): Changed midpoint
 +      * nnheader.el (nnheader-find-nov-line): Change midpoint
        calculation to avoid integer overflow.
  
  2003-02-24  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-start.el (gnus-backup-startup-file): Fixed custom type.
 +      * gnus-start.el (gnus-backup-startup-file): Fix custom type.
  
  2003-02-24  Teodor Zlatanov  <tzz@lifelogs.com>
  
        clause of the condition-case statement.  Errors connecting to a
        server no longer terminate gnus.
  
 -      * gnus-agent.el (gnus-agent-toggle-plugged): Renamed parameter to
 +      * gnus-agent.el (gnus-agent-toggle-plugged): Rename parameter to
        make its use obvious.  Added no-nothing case to avoid
        opening(closing) servers when already open(closed).
 -      (gnus-agent-while-plugged): Added macro to facilitate internal use
 +      (gnus-agent-while-plugged): Add macro to facilitate internal use
        of gnus-agent-toggle-plugged.
        (gnus-agent-fetch-group): Use new gnus-agent-while-plugged to
        temporarily open servers.
  
  2003-02-20  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-user-fqdn, message-valid-fqdn-regexp): New
 -      variables.
 +      * message.el (message-user-fqdn, message-valid-fqdn-regexp):
 +      New variables.
        (message-make-fqdn): Use it.  Improved validity check.
  
  2003-02-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-02-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-button-url-regexp): Removed `.
 +      * gnus-art.el (gnus-button-url-regexp): Remove `.
  
  2003-02-23  Max Froumentin  <mf@w3.org>
  
        * gnus-art.el (gnus-mime-action-on-part): Require a match
        interactively.
  
 -      * gnus-start.el (gnus-save-newsrc-file): Use
 -      gnus-backup-startup-file.
 +      * gnus-start.el (gnus-save-newsrc-file):
 +      Use gnus-backup-startup-file.
        (gnus-backup-startup-file): New variable.
  
  2003-02-22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus.el (gnus-summary-buffer-name): Moved function here.
 +      * gnus.el (gnus-summary-buffer-name): Move function here.
  
        * gnus-draft.el (defun): Remove debug.
  
  
  2003-02-22  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-agent.el (gnus-agent-get-undownloaded-list): Sort
 -      `gnus-newsgroup-headers'.
 +      * gnus-agent.el (gnus-agent-get-undownloaded-list):
 +      Sort `gnus-newsgroup-headers'.
  
  2003-02-22  Karl Pflästerer  <sigurd@12move.de>
  
        just article ID.
  
        * gnus-registry.el (gnus-registry-hashtb, gnus-register-action)
 -      (gnus-register-spool-action): Added hashtable of message ID keys
 +      (gnus-register-spool-action): Add hashtable of message ID keys
        with message motion data.
  
  2003-02-21  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist): New
 -      variable, used in `gnus-button-mid-or-mail-heuristic'.
 +      * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist):
 +      New variable, used in `gnus-button-mid-or-mail-heuristic'.
        (gnus-button-mid-or-mail-heuristic): New function derived from
        Florian Weimer's Perl script.
        (gnus-button-handle-mid-or-mail): Allow a function instead of
        'guess.
 -      (gnus-button-guessed-mid-regexp): Removed.
 +      (gnus-button-guessed-mid-regexp): Remove.
  
  2003-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  2003-02-19  Reiner Steib  <Reiner.Steib@gmx.de>
  
        * gnus-cite.el (gnus-cite-unsightly-citation-regexp)
 -      (gnus-cite-parse): Renamed `gnus-unsightly-citation-regexp' to
 +      (gnus-cite-parse): Rename `gnus-unsightly-citation-regexp' to
        `gnus-cite-unsightly-citation-regexp'.
  
  2003-02-19  Katsumi Yamaoka  <yamaoka@jpl.org>
  2003-02-18  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * spam.el (spam-ham-move-routine)
 -      (spam-mark-spam-as-expired-and-move-routine): Use
 -      gnus-summary-kill-process-mark and gnus-summary-yank-process-mark
 +      (spam-mark-spam-as-expired-and-move-routine):
 +      Use gnus-summary-kill-process-mark and gnus-summary-yank-process-mark
        around process-mark manipulation on the group.
  
  2003-02-17  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
  2003-02-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nndraft.el (nndraft-request-move-article): Bind
 -      nnmh-allow-delete-final to t.
 +      * nndraft.el (nndraft-request-move-article):
 +      Bind nnmh-allow-delete-final to t.
  
  2003-02-14  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * gnus-art.el (gnus-article-only-boring-p): New.
        (gnus-article-skip-boring): New.
        * gnus-cite.el (gnus-article-boring-faces): New.
 -      * gnus-sum.el (gnus-summary-next-page): Use
 -      gnus-article-only-boring-p.
 +      * gnus-sum.el (gnus-summary-next-page):
 +      Use gnus-article-only-boring-p.
  
  2003-02-12  Teodor Zlatanov  <tzz@lifelogs.com>
  
  
  2003-02-11  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-summary-set-agent-mark): Added call to
 +      * gnus-agent.el (gnus-summary-set-agent-mark): Add call to
        gnus-summary-goto-subject as gnus-summary-update-mark operates on
        the current LINE.
        (gnus-agent-summary-fetch-group): Minimized the number of times
  
  2003-02-10  Jesper Harder  <harder@ifa.au.dk>
  
 -      * mm-util.el (mm-mule-charset-to-mime-charset): Use
 -      sort-coding-systems to prefer utf-8 over utf-16.
 +      * mm-util.el (mm-mule-charset-to-mime-charset):
 +      Use sort-coding-systems to prefer utf-8 over utf-16.
  
  2003-02-09  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
        If you don't want to run gnus-agent-expire, don't call it.
        (gnus-agent-expire): The broken test to disable gnus-agent-expire
        when g-a-e-d was NOT nil was removed.
 -      (gnus-agent-article-name): Removed unnecessary input test as
 +      (gnus-agent-article-name): Remove unnecessary input test as
        article IDs are always strings.
 -      (gnus-agent-regenerate-group): Added check to protect against
 +      (gnus-agent-regenerate-group): Add check to protect against
        servers that generate absurdly long article IDs.  Valid IDs are
        less than 10 digits to avoid overflow errors.  Fixed logic error
        when ensuring that the final article ID is present in the new
  
  2003-02-08  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-art.el (gnus-article-refer-article): Use
 -      gnus-replace-in-string.
 +      * gnus-art.el (gnus-article-refer-article):
 +      Use gnus-replace-in-string.
  
        * gnus-util.el (gnus-map-function): Remove unneeded let-binding.
        (gnus-remove-duplicates): Do.
  
        * gnus-int.el (gnus-internal-registry-spool-current-method):
        New variable.
 -      (gnus-request-scan): Set
 -      gnus-internal-registry-spool-current-method to gnus-command-method
 +      (gnus-request-scan):
 +      Set gnus-internal-registry-spool-current-method to gnus-command-method
        before a request-scan operation.
  
 -      * gnus-registry.el (regtest-nnmail): Use
 -      gnus-internal-registry-spool-current-method.
 +      * gnus-registry.el (regtest-nnmail):
 +      Use gnus-internal-registry-spool-current-method.
  
  2003-02-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
        * gnus-registry.el: New file with examples of using the hooks.
  
 -      * gnus.el (gnus-registry): Added registry customization group.
 +      * gnus.el (gnus-registry): Add registry customization group.
        (gnus-group-prefixed-name): Improve function to return full group
        name optionally.
        (gnus-group-guess-prefixed-name): Shortcut to
  
  2003-02-07  Simon Josefsson  <jas@extundo.com>
  
 -      * mml-sec.el (mml-unsecure-message): Don't use kill-region.  Tiny
 -      patch from deskpot@myrealbox.com (Vasily Korytov).
 +      * mml-sec.el (mml-unsecure-message): Don't use kill-region.
 +      Tiny patch from deskpot@myrealbox.com (Vasily Korytov).
  
  2003-02-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-02-06  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-art.el (gnus-mime-view-part-internally): Bind
 -      buffer-read-only to nil.
 +      * gnus-art.el (gnus-mime-view-part-internally):
 +      Bind buffer-read-only to nil.
  
  2003-02-05  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * gnus-util.el (gnus-prin1-to-string): Bind print-length and
        print-level.
  
 -      * gnus-art.el (article-display-x-face): Removed gray x-face stuff.
 -      (gnus-treat-display-grey-xface): Removed.
 +      * gnus-art.el (article-display-x-face): Remove gray x-face stuff.
 +      (gnus-treat-display-grey-xface): Remove.
  
        * gnus-fun.el (gnus-grab-cam-face): New.
 -      (gnus-convert-image-to-gray-x-face): Removed.
 -      (gnus-convert-gray-x-face-to-xpm): Removed.
 -      (gnus-convert-gray-x-face-region): Removed.
 -      (gnus-grab-gray-x-face): Removed.
 +      (gnus-convert-image-to-gray-x-face): Remove.
 +      (gnus-convert-gray-x-face-to-xpm): Remove.
 +      (gnus-convert-gray-x-face-region): Remove.
 +      (gnus-grab-gray-x-face): Remove.
  
        * nnmail.el (nnmail-expiry-wait-function): Doc indent.
  
        * gnus-fun.el (gnus-face-encode): New function.
        (gnus-convert-png-to-face): Use it.
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Added M-& to marks.
 +      * gnus-sum.el (gnus-summary-make-menu-bar): Add M-& to marks.
  
  2003-01-26  Jesper Harder  <harder@ifa.au.dk>
  
        * mm-encode.el (mm-qp-or-base64): Always QP iff
        mm-use-ultra-safe-encoding and cleartext PGP.
  
 -      * gnus-sum.el (gnus-summary-select-article): Inhibit
 -      redisplay (mainly for secured messages).
 +      * gnus-sum.el (gnus-summary-select-article):
 +      Inhibit redisplay (mainly for secured messages).
  
        * nnmail.el (nnmail-article-group): Copy body too (but don't
        process it).
  
  2003-01-25  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-art.el (gnus-article-setup-buffer): Reset
 -      gnus-button-marker-list.
 +      * gnus-art.el (gnus-article-setup-buffer):
 +      Reset gnus-button-marker-list.
  
  2003-01-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-01-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nnheader.el (nnheader-directory-separator-character): New
 -      variable.
 +      * nnheader.el (nnheader-directory-separator-character):
 +      New variable.
  
  2003-01-24  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
  2003-01-24  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * spam.el (spam-check-blackholes, spam-split)
 -      (spam-mark-junk-as-spam-routine, spam-summary-prepare-exit): Added
 -      gnus-message calls to show to users what spam.el is doing.
 +      (spam-mark-junk-as-spam-routine, spam-summary-prepare-exit):
 +      Add gnus-message calls to show to users what spam.el is doing.
  
  2003-01-24  Jesper Harder  <harder@ifa.au.dk>
  
        * gnus-async.el (gnus-async-wait-for-article): Don't use a
        timeout.
  
 -      * nntp.el (nntp-accept-process-output): Removed timeout.
 +      * nntp.el (nntp-accept-process-output): Remove timeout.
        (nntp-read-timeout): New variable.
        (nntp-accept-process-output): Use it.
  
  
  2003-01-23  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-sum.el (gnus-summary-first-subject): Fixed bug that I
 +      * gnus-sum.el (gnus-summary-first-subject): Fix bug that I
        introduced on 2002-01-22.
        (gnus-summary-first-unseen-or-unread-subject): Ditto.
  
  2003-01-23  Teodor Zlatanov  <tzz@lifelogs.com>
  
        * spam.el (spam-check-regex-headers, spam-list-of-checks)
 -      (spam-regex-headers-spam, spam-regex-headers-ham): Added spam/ham
 +      (spam-regex-headers-spam, spam-regex-headers-ham): Add spam/ham
        checks of incoming mail based on simple header regexp matching.
  
  2003-01-22  Teodor Zlatanov  <tzz@lifelogs.com>
        gnus-newsgroup-unfetched, the list of articles whose headers have
        not been fetched from the server.
  
 -      * gnus-sum.el (gnus-summary-find-next): Removed undownloaded
 +      * gnus-sum.el (gnus-summary-find-next): Remove undownloaded
        parameter as it never worked due to a bug.  Added check to prevent
        selection of any article in the gnus-newsgroup-unfetched list.
 -      (gnus-summary-find-prev): Added check to prevent selection of any
 +      (gnus-summary-find-prev): Add check to prevent selection of any
        article in the gnus-newsgroup-unfetched list.
 -      (gnus-summary-first-subject): Documented API.  Modified
 -      implementation so that constraints are handled independently.
 +      (gnus-summary-first-subject): Document API.
 +      Modified implementation so that constraints are handled independently.
        Added check to prevent selection of any article in the
        gnus-newsgroup-unfetched list.
 -      (gnus-summary-first-unseen-subject): Updated parameters in
 +      (gnus-summary-first-unseen-subject): Update parameters in
        gnus-summary-first-subject call to match new API.
        (gnus-summary-first-unseen-or-unread-subject): Ditto.
        (gnus-summary-catchup): Do not mark unfetched articles as read.
        make-obsolete-variable allows only two arguments in XEmacs and
        Emacs 20.
  
 -      * gnus-sum.el (gnus-summary-wash-hide-map): Remove
 -      gnus-article-hide-pgp.
 +      * gnus-sum.el (gnus-summary-wash-hide-map):
 +      Remove gnus-article-hide-pgp.
        (gnus-summary-make-menu-bar): Do.
  
        * gnus-art.el (gnus-treat-strip-pgp): Make obsolete.
  
  2003-01-21  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-group-ham-processor-bogofilter-p): Fixed bug.
 -      (spam-ifile-register-ham-routine, spam-ifile-ham-category): New
 -      option to make ifile a purely binary classifier.
 +      * spam.el (spam-group-ham-processor-bogofilter-p): Fix bug.
 +      (spam-ifile-register-ham-routine, spam-ifile-ham-category):
 +      New option to make ifile a purely binary classifier.
  
  2003-01-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * mml-sec.el (mml-secure-sign-pgpauto): Renamed.
 -      (mml-secure-encrypt-pgpmime): Removed double.
 +      * mml-sec.el (mml-secure-sign-pgpauto): Rename.
 +      (mml-secure-encrypt-pgpmime): Remove double.
  
 -      * gnus-sum.el (gnus-summary-mark-article-as-replied): Added
 -      debugging statements.
 +      * gnus-sum.el (gnus-summary-mark-article-as-replied):
 +      Add debugging statements.
  
  2003-01-21  Andreas Fuchs  <asf@void.at>
  
 -      * mml-sec.el (mml-sign-alist): Added pgpauto.
 +      * mml-sec.el (mml-sign-alist): Add pgpauto.
  
  2003-01-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-01-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-button-url-regexp): Removed |.
 +      * gnus-art.el (gnus-button-url-regexp): Remove |.
  
        * message.el (message-send-hook): Doc fix.
  
  
  2003-01-18  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-regenerate-group): Added interactive form.
 +      * gnus-agent.el (gnus-agent-regenerate-group): Add interactive form.
  
 -      * gnus-sum.el (gnus-summary-update-article-line): Fixed
 -      calculation of net characters added for use in the gnus-data
 +      * gnus-sum.el (gnus-summary-update-article-line):
 +      Fix calculation of net characters added for use in the gnus-data
        structure.
  
  2003-01-18  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
        avoid encoding problems.
  
        * mailcap.el (mailcap-ps-command): New variable.
 -      (mailcap-mime-data): Add print entry where applicable.  Use
 -      pdftotext on a tty.
 +      (mailcap-mime-data): Add print entry where applicable.
 +      Use pdftotext on a tty.
  
  2003-01-16  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * spam.el (spam-get-article-as-filename): New function (unused for now).
        (spam-get-article-as-buffer): New function.
        (spam-get-article-as-string): Use spam-get-article-as-buffer.
 -      (spam-summary-prepare-exit): Fixed bug, noticed by Malcolm Purvis.
 +      (spam-summary-prepare-exit): Fix bug, noticed by Malcolm Purvis.
  
  2003-01-15  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        (spam-group-ham-processor-bogofilter-p): New functions for the new
        Bogofilter interface.
        (spam-summary-prepare-exit): Use the new Bogofilter functions.
 -      (spam-list-of-checks): Added spam-use-bogofilter-headers.
 +      (spam-list-of-checks): Add spam-use-bogofilter-headers.
        (spam-bogofilter-score): Rewrote function.
        (spam-check-bogofilter): Optional score parameter, uses
        spam-check-bogofilter-headers better.
  
  2003-01-13  Jhair Tocancipa Triana  <jhair_tocancipa@gmx.net>
  
 -      * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use
 -      /usr/bin/play as default player.
 -      (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play.
 +      * gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player):
 +      Use /usr/bin/play as default player.
 +      (gnus-audio-play): Add ARG-DESCRIPTOR to prompt for a file to play.
  
  2003-01-14  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        fictitious headers generated by nnagent (ie. Undownloaded Article
        ####) in the list of articles that have not been downloaded.
  
 -      * gnus-int.el (): Added require declarations to resolve
 +      * gnus-int.el (): Add require declarations to resolve
        compile-time warnings.
        (gnus-open-server): If the server status is set to offline,
        recursively execute gnus-open-server to open the offline backend
  
  2003-01-14  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-art.el (gnus-article-reply-with-original): Use
 -      gnus-mark-active-p.
 +      * gnus-art.el (gnus-article-reply-with-original):
 +      Use gnus-mark-active-p.
        (gnus-article-followup-with-original): Do.
  
  2003-01-13  Reiner Steib  <Reiner.Steib@gmx.de>
        * deuglify.el (gnus-article-outlook-unwrap-lines)
        (gnus-article-outlook-repair-attribution)
        (gnus-article-outlook-rearrange-citation): New function names,
 -      renamed from "gnus-outlook-" to "gnus-article-outlook-".  Changed
 -      doc-string.
 +      renamed from "gnus-outlook-" to "gnus-article-outlook-".
 +      Changed doc-string.
  
        * gnus-sum.el (gnus-summary-mode-map): Use new function names,
        removed `W k' key binding (use `W Y f' instead).
  
  2003-01-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * mail-source.el (mail-sources): Removed autoload to make it
 +      * mail-source.el (mail-sources): Remove autoload to make it
        compile under XEmacs.
  
  2003-01-12  Raymond Scholz  <ray-2003@zonix.de>
  
  2003-01-12  Simon Josefsson  <jas@extundo.com>
  
 -      * sieve.el (sieve-upload-and-bury): New.  Suggested by
 -      kai.grossjohann@uni-duisburg.de (Kai Großjohann).
 +      * sieve.el (sieve-upload-and-bury): New.
 +      Suggested by kai.grossjohann@uni-duisburg.de (Kai Großjohann).
  
        * sieve-mode.el (sieve-mode-map): Bind s-u-a-b to C-c C-c.
        Suggested by kai.grossjohann@uni-duisburg.de (Kai Großjohann).
  
  2003-01-10  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * deuglify.el (gnus-outlook-deuglify-attrib-verb-regexp): Added
 -      castellano.
 +      * deuglify.el (gnus-outlook-deuglify-attrib-verb-regexp):
 +      Add castellano.
        (gnus-outlook-display-hook): New variable.
        (gnus-outlook-display-article-buffer): New function.
        (gnus-outlook-unwrap-lines, gnus-outlook-repair-attribution)
        (gnus-article-outlook-deuglify-article): Use `g-o-d-a-b'.
  
        * gnus-sum.el: Added autoloads.
 -      (gnus-summary-mode-map): Added gnus-summary-wash-deuglify-map.
 -      (gnus-summary-make-menu-bar): Added "(Outlook) Deuglify" menu.
 +      (gnus-summary-mode-map): Add gnus-summary-wash-deuglify-map.
 +      (gnus-summary-make-menu-bar): Add "(Outlook) Deuglify" menu.
  
  2003-01-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-fun.el (gnus-face-from-file): New function.
        (gnus-convert-face-to-png): Ditto.
  
 -      * gnus-art.el (gnus-ignored-headers): Added Face.
 +      * gnus-art.el (gnus-ignored-headers): Add Face.
  
  2003-01-10  Simon Josefsson  <jas@extundo.com>
  
  
        * spam-stat.el (spam-stat): Typo fix.
        (spam-stat-install-hooks): New variable.
 -      (spam-stat-split-fancy-spam-group): Added documentation clarification.
 +      (spam-stat-split-fancy-spam-group): Add documentation clarification.
        (spam-stat-split-fancy-spam-threshhold): New variable.
        (spam-stat-install-hooks): Make hooks conditional.
        (spam-stat-split-fancy): Use spam-stat-split-fancy-spam-threshhold.
  
 -      * gnus.el (gnus-group-ham-exit-processor-stat, spam-process): Add
 -      spam-stat ham/spam processor symbols.
 +      * gnus.el (gnus-group-ham-exit-processor-stat, spam-process):
 +      Add spam-stat ham/spam processor symbols.
  
  2003-01-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-01-09  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-check-ifile): Fixed call-process-region to use the
 +      * spam.el (spam-check-ifile): Fix call-process-region to use the
        db parameter only if it's set.
        (spam-ifile-register-with-ifile): Ditto.
  
        * spam.el: Fixed the BBDB autoloads again, using
        bbdb-search-simple now (which is not a macro, thank god).
  
 -      * gnus.el (ham-process-destination): Added new parameter for
 +      * gnus.el (ham-process-destination): Add new parameter for
        destination of ham articles found in spam groups at summary exit.
  
        * spam.el (spam-get-ifile-database-parameter):
        use spam-ifile-database-path.
        (spam-check-ifile, spam-ifile-register-with-ifile):
        use spam-get-ifile-database-parameter.
 -      (spam-ifile-database-path): Added new parameter for ifile's database.
 +      (spam-ifile-database-path): Add new parameter for ifile's database.
        (spam-move-spam-nonspam-groups-only): New parameter to determine
        if spam should be moved from all groups or only some.
 -      (spam-summary-prepare-exit): Fixed logic to use
 +      (spam-summary-prepare-exit): Fix logic to use
        spam-move-spam-nonspam-groups-only when deciding to invoke
        spam-mark-spam-as-expired-and-move-routine; always invoke that
        routine after the spam has been expired-or-moved in case there's
  
        * gnus-spec.el (gnus-parse-complex-format): %~ => ~*.
  
 -      * gnus-agent.el (gnus-agent-fetch-selected-article): Use
 -      gnus-summary-update-article-line.
 +      * gnus-agent.el (gnus-agent-fetch-selected-article):
 +      Use gnus-summary-update-article-line.
  
  2003-01-08  Simon Josefsson  <jas@extundo.com>
  
  
  2003-01-07  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-check-ifile): Fixed the spam-ifile-all-categories
 +      * spam.el (spam-check-ifile): Fix the spam-ifile-all-categories
        logic, finally.
  
  2003-01-08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
        * message.el (message-make-mail-followup-to,
        message-generate-unsubscribed-mail-followup-to): New function
        names.  Renamed functions: "-mft" -> "-mail-followup-to".
 -      (message-make-mft, message-gen-unsubscribed-mft): Removed function
 +      (message-make-mft, message-gen-unsubscribed-mft): Remove function
        names.
  
        * mml.el (mml-preview-insert-mail-followup-to): New function name.
 -      (mml-preview-insert-mft): Removed function name.
 +      (mml-preview-insert-mft): Remove function name.
        (mml-preview): Use new function names.
  
        * gnus-art.el (gnus-article-edit-mode-map): Use new function names.
  
 -      * message.el (message-mode-field-menu): Moved header related
 +      * message.el (message-mode-field-menu): Move header related
        commands from "Message" to "Field" menu.
  
  2003-01-07  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-generate-headers-first): Added customization
 +      * message.el (message-generate-headers-first): Add customization
        if variable is a list.
  
  2003-01-07  Michael Shields  <shields@msrl.com>
  
        * gnus-msg.el (gnus-debug): Use ignore-errors.
  
 -      * gnus-agent.el (gnus-agent-fetch-selected-article): Use
 -      `gnus-summary-update-line'.
 +      * gnus-agent.el (gnus-agent-fetch-selected-article):
 +      Use `gnus-summary-update-line'.
  
  2003-01-08  Simon Josefsson  <jas@extundo.com>
  
  
  2003-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Added
 -      gnus-summary-refer-thread to thread menu.
 +      * gnus-sum.el (gnus-summary-make-menu-bar):
 +      Add gnus-summary-refer-thread to thread menu.
  
  2003-01-07  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
  
        * spam.el (spam-check-ifile, spam-ifile-register-with-ifile)
        (spam-ifile-register-spam-routine)
 -      (spam-ifile-register-ham-routine): Added ifile functionality that
 +      (spam-ifile-register-ham-routine): Add ifile functionality that
        does not use ifile-gnus.el to classify and register articles.
        (spam-get-article-as-string): Convenience function.
 -      (spam-summary-prepare-exit): Added ifile spam and ham registration.
 +      (spam-summary-prepare-exit): Add ifile spam and ham registration.
        (spam-ifile-all-categories, spam-ifile-spam-category)
 -      (spam-ifile-path, spam-ifile): Added customization options.
 +      (spam-ifile-path, spam-ifile): Add customization options.
  
 -      * gnus.el (gnus-group-ham-exit-processor-ifile): Added ifile ham
 +      * gnus.el (gnus-group-ham-exit-processor-ifile): Add ifile ham
        exit processor.
 -      (spam-process): Added gnus-group-ham-exit-processor-ifile to the
 +      (spam-process): Add gnus-group-ham-exit-processor-ifile to the
        list of choices.
  
  2003-01-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nnweb.el (nnweb-asynchronous-p): Changed to nil.
 +      * nnweb.el (nnweb-asynchronous-p): Change to nil.
  
  2003-01-07  Simon Josefsson  <jas@extundo.com>
  
  
  2003-01-06  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetch-group): Modified to permit execution
 +      * gnus-agent.el (gnus-agent-fetch-group): Modify to permit execution
        in either the group or summary buffer.
        New command "JS", in summary buffer, will fetch articles per the
        group's category, predicate, and processable flags.
        (gnus-agent-summary-fetch-series): Rewritten to call
        gnus-agent-session-fetch-group once with all articles in the
        series.
 -      (gnus-agent-summary-fetch-group): Fixed bug and modified code to
 +      (gnus-agent-summary-fetch-group): Fix bug and modified code to
        return list of fetched articles.
        (gnus-agent-fetch-articles): Split fetch list into sublists such
        that the article buffer is only slightly larger than
        When called in the group buffer, articles that can not be fetched
        are AUTOMATICALLY MARKED AS READ.
  
 -      * gnus-sum.el (): Modified eval-when-compile to minimize
 +      * gnus-sum.el (): Modify eval-when-compile to minimize
        misleading compilation warnings.
 -      (gnus-update-summary-mark-positions): Changed code to use
 +      (gnus-update-summary-mark-positions): Change code to use
        gnus-undownloaded-mark rather than gnus-downloaded-mark.
  
        * nnheader.el (nnheader-insert-nov-file): Do not try to insert an
        determine the appropriate course of action.  Instead, two function
        implementations are provided and the nntp-report function value is
        bound to the appropriate implementation.
 -      (nntp-retrieve-data): Moved nntp-report call to end of implementation.
 +      (nntp-retrieve-data): Move nntp-report call to end of implementation.
        (nntp-with-open-group): Now binds nntp-report's function cell
        rather than binding gnus-with-open-group-first-pass.  Added a
        condition-case to detect a quit during a nntp command.  When the
        quit occurs, the current connection is closed as a fetch articles
        request could have several megabytes queued up for reading.
 -      (nntp-retrieve-headers): Bind articles to itself.  If
 -      nntp-with-open-group repeats this command, I must have access to
 +      (nntp-retrieve-headers): Bind articles to itself.
 +      If nntp-with-open-group repeats this command, I must have access to
        the original list of articles.
        (nntp-retrieve-groups): Ditto for groups.
        (nntp-retrieve-articles): Ditto for articles.
 -      (*): Replaced nntp-possibly-change-group calls to
 +      (*): Replace nntp-possibly-change-group calls to
        nntp-with-open-group forms in all, but one, occurrence.
        (nntp-accept-process-output): Bug fix.  Detect when called with
        null process.
  
        * mm-url.el (mm-url-program): Doc fix.
  
 -      * message.el (message-mode-map): Rebound
 -      message-insert-wide-reply.
 +      * message.el (message-mode-map):
 +      Rebound message-insert-wide-reply.
  
  2003-01-05  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
        * spam.el: Fixed line lengths to 80 chars or less.
  
 -      * gnus-sum.el (gnus-read-mark-p): Added the spam-mark as a
 +      * gnus-sum.el (gnus-read-mark-p): Add the spam-mark as a
        "not-read" mark.
 -      (gnus-summary-mark-forward): Added the spam-mark to the list of
 +      (gnus-summary-mark-forward): Add the spam-mark to the list of
        marks not to be marked as "read" when viewed.
  
  2003-01-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-01-04  Kevin Ryde  <user42@zip.com.au>
  
 -      * gnus-art.el (gnus-mime-jka-compr-maybe-uncompress): New
 -      function.
 +      * gnus-art.el (gnus-mime-jka-compr-maybe-uncompress):
 +      New function.
  
  2003-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        (spam-generic-register-routine, spam-BBDB-register-routine)
        (spam-ifile-register-routine, spam-blacklist-register-routine)
        (spam-whitelist-register-routine): New functions.
 -      (spam-summary-prepare-exit): Added summary exit processing (expire
 +      (spam-summary-prepare-exit): Add summary exit processing (expire
        or move) of spam-marked articles for spam groups; added slots for
        all the spam-*-register-routine functions.
  
  
  2003-01-02  Jesper Harder  <harder@ifa.au.dk>
  
 -      * gnus-group.el (gnus-group-fetch-charter): Use
 -      http://TLH.news-admin.org/charters/GROUPNAME as a fallback.
 +      * gnus-group.el (gnus-group-fetch-charter):
 +      Use http://TLH.news-admin.org/charters/GROUPNAME as a fallback.
  
  2003-01-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
        * gnus.el (nnheader): Require nnheader.
  
 -      * nndraft.el (nndraft-request-associate-buffer): Use
 -      make-local-variable.
 +      * nndraft.el (nndraft-request-associate-buffer):
 +      Use make-local-variable.
  
  2003-01-02  Michael Shields  <shields@msrl.com>
  
 -      * nndraft.el (nndraft-request-associate-buffer): Make
 -      write-contents-hooks buffer-local before setting it.
 +      * nndraft.el (nndraft-request-associate-buffer):
 +      Make write-contents-hooks buffer-local before setting it.
  
  2003-01-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2003-01-01  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-summary-prepare-exit): Added slots for spam- and
 +      * spam.el (spam-summary-prepare-exit): Add slots for spam- and
        ham-processing of articles; use the new
        spam-group-(spam|ham)-contents-p functions.
 -      (spam-group-spam-contents-p, spam-group-ham-contents-p): New
 -      convenience functions.
 +      (spam-group-spam-contents-p, spam-group-ham-contents-p):
 +      New convenience functions.
        (spam-mark-junk-as-spam-routine): Use the new
        spam-group-spam-contents-p function.
  
        (gnus-group-spam-exit-processor-whitelist)
        (gnus-group-spam-exit-processor-BBDB)
        (gnus-group-spam-classification-spam)
 -      (gnus-group-spam-classification-ham): Added new symbols for the
 +      (gnus-group-spam-classification-ham): Add new symbols for the
        spam-process and spam-contents parameters.
  
 -      * spam.el (spam-ham-marks, spam-spam-marks): Changed list
 +      * spam.el (spam-ham-marks, spam-spam-marks): Change list
        customization and list itself to store mark symbol rather than
        mark character.
 -      (spam-bogofilter-register-routine): Added logic to generate mark
 +      (spam-bogofilter-register-routine): Add logic to generate mark
        values list from spam-ham-marks and spam-spam-marks, so (member)
        would work.
  
  
  2003-01-01  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-ham-marks, spam-spam-marks): Changed list
 +      * spam.el (spam-ham-marks, spam-spam-marks): Change list
        customization and list itself to store mark symbol rather than
        mark character.
 -      (spam-bogofilter-register-routine): Added logic to generate mark
 +      (spam-bogofilter-register-routine): Add logic to generate mark
        values list from spam-ham-marks and spam-spam-marks, so (member)
        would work.
  
        message-cross-post-note-function): New variables names.
        (message-xpost-old-target, message-xpost-default,
        message-xpost-note, message-fup2-note,
 -      message-xpost-note-function): Removed variable names.
 +      message-xpost-note-function): Remove variable names.
        (message-cross-post-followup-to-header,
        message-cross-post-insert-note, message-cross-post-followup-to):
        New function names.
        (message-xpost-fup2-header, message-xpost-insert-note,
 -      message-xpost-fup2): Removed function names.
 +      message-xpost-fup2): Remove function names.
  
  2002-12-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-send-mail): Added message-cleanup-headers to
 +      * message.el (message-send-mail): Add message-cleanup-headers to
        prevent newlines in headers.
  
  2003-01-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2003-01-01  Wes Hardaker  <wes@hardakers.net>
  
 -      * gnus-sum.el (gnus-summary-display-while-building): New
 -      variable.
 +      * gnus-sum.el (gnus-summary-display-while-building):
 +      New variable.
  
  2003-01-01  Raymond Scholz  <ray-2003@zonix.de>
  
        lambda form.
        (message-draft-headers): New variable.
  
 -      * gnus-msg.el (gnus-inews-make-draft-meta-information): New
 -      function.
 +      * gnus-msg.el (gnus-inews-make-draft-meta-information):
 +      New function.
        (gnus-setup-message): Use it.
  
        * message.el (message-generate-headers-first): Doc fix.
  
  2002-12-31  Raymond Scholz  <ray-2002@zonix.de>
  
 -      * deuglify.el (gnus-outlook-rearrange-article): Use
 -      `transpose-regions' instead of tempering the kill-ring.
 +      * deuglify.el (gnus-outlook-rearrange-article):
 +      Use `transpose-regions' instead of tempering the kill-ring.
        (gnus-article-outlook-deuglify-article): Rehighlight article
        instead of a complete redisplay.
  
  
  2002-12-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * message.el (message-completion-alist): Added "Mail-Followup-To"
 +      * message.el (message-completion-alist): Add "Mail-Followup-To"
        and "Mail-Copies-To".
  
  2002-07-21  Jesper Harder  <harder@ifa.au.dk>
  
        * spam.el (spam-use-dig): New variable for blackhole checking
        through dig.el.
 -      (spam-check-blackholes): Added dig.el checking functionality and
 +      (spam-check-blackholes): Add dig.el checking functionality and
        more verbose reporting; query-dig is autoloaded from dig.el.
        (spam-use-blackholes): Disabled by default.
 -      (spam-blackhole-servers): Removed rbl.maps.vix.com from the
 +      (spam-blackhole-servers): Remove rbl.maps.vix.com from the
        blackhole servers list.
  
  2002-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2002-08-10  Jari Aalto  <jari.aalto@poboxes.com>
  
 -      * nnmail.el (nnmail-split-it): Added tracing to
 +      * nnmail.el (nnmail-split-it): Add tracing to
        `:' split rule.
  
  2002-08-13  Hrvoje Niksic  <hniksic@xemacs.org>
        * gnus-topic.el (gnus-topic-display-missing-topic): New function.
        (gnus-topic-goto-missing-group): Use it.
  
 -      * message.el (message-required-news-headers): Removed Lines.
 +      * message.el (message-required-news-headers): Remove Lines.
        (message-reply): Don't insert References first.
        (message-followup): Ditto.
        (message-make-references): New function.
  
  2002-12-12  Kevin Greiner  <kgreiner@xpediantsolutions.com>
  
 -      * gnus-agent.el (gnus-agent-fetch-selected-article): Added call to
 +      * gnus-agent.el (gnus-agent-fetch-selected-article): Add call to
        gnus-summary-update-download-mark to update the article in the
        summary.
  
        gnus-summary-normal-uncached-face, gnus-summary-low-uncached-face)
        New faces.
  
 -      * gnus-agent.el (gnus-agent-downloaded-article-face): REMOVED.  I
 -      added this on 2002-11-23 but it just wasn't working out as
 +      * gnus-agent.el (gnus-agent-downloaded-article-face): REMOVED.
 +      added this on 2002-11-23 but it just wasn't working out as
        intended.  The idea isn't entirely dead, three new faces
        gnus-summary-*-uncached-face are being added to gnus.el to provide
        the basis for an improved implementation.
 -      (gnus-agent-read-servers): Undo the change made on 2002-11-23.  The
 -      proper file to open is lib/servers.
 -      (gnus-summary-set-agent-mark): Expanded documentation.  Unmarking
 +      (gnus-agent-read-servers): Undo the change made on 2002-11-23.
 +      The proper file to open is lib/servers.
 +      (gnus-summary-set-agent-mark): Expand documentation.  Unmarking
        (i.e. removing the article from gnus-newsgroup-downloadable) will
        now restore the article's default mark rather than simply setting
        no mark.
        (gnus-agent-summary-fetch-group): Keep gnus-newsgroup-undownloaded
        up to date.  Call new gnus-summary-update-download-mark to keep
        summary buffer up-to-date.
 -      (gnus-agent-fetch-selected-article): Keep
 -      gnus-newsgroup-undownloaded up to date.
 +      (gnus-agent-fetch-selected-article):
 +      Keep gnus-newsgroup-undownloaded up to date.
        (gnus-agent-fetch-articles): Return list of articles that were
        successfully fetched.
        (gnus-agent-check-overview-buffer): No more thingatpt.
        downloaded/undownloaded mark is no longer stored as the article's
        mark.
  
 -      * gnus-salt.el (gnus-tree-highlight-node): Added uncached as
 +      * gnus-salt.el (gnus-tree-highlight-node): Add uncached as
        gnus-summary-highlight may use it.  Added downloaded as
        gnus-summary-highlight was using it.
  
 -      * gnus-sum.el (gnus-undownloaded-mark): Changed from ?@ to ?- as
 +      * gnus-sum.el (gnus-undownloaded-mark): Change from ?@ to ?- as
        the download mark now follows Kai's +/- convention.
 -      (gnus-downloaded-mark): Added ?+ mark.
 -      (gnus-summary-highlight): Added rules to select
 +      (gnus-downloaded-mark): Add ?+ mark.
 +      (gnus-summary-highlight): Add rules to select
        gnus-summary-high-uncached-face,
        gnus-summary-normal-uncached-face, and
        gnus-summary-low-uncached-face.  Removed the
        you don't have to agentize every server that you use.
        (gnus-update-summary-mark-positions): Completed support for the
        download type of mark.
 -      (gnus-summary-insert-line): Added undownloaded to the parameters.
 +      (gnus-summary-insert-line): Add undownloaded to the parameters.
        (gnus-summary-prepare-threads): Set gnus-tmp-downloaded for
        reference by the gnus-summary-line-format-spec.
  
  
  2002-12-09  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * nntp.el (nntp-send-command): Braino in last commit.  Replace
 -      `and' with `or'.
 +      * nntp.el (nntp-send-command): Braino in last commit.
 +      Replace `and' with `or'.
  
  2002-12-08  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
  
  2002-11-29  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-art.el (gnus-inhibit-mime-unbuttonizing): Moved here from
 +      * gnus-art.el (gnus-inhibit-mime-unbuttonizing): Move here from
        gnus-sum.  Made into a user option.
  
        * gnus-sum.el (gnus-simplify-ignored-prefixes)
        (gnus-summary-mark-article-as-unread)
        (gnus-mark-article-as-unread, gnus-summary-highlight-line):
        Reformatting to avoid long lines.
 -      (gnus-inhibit-mime-unbuttonizing): Moved to gnus-art.
 +      (gnus-inhibit-mime-unbuttonizing): Move to gnus-art.
  
  2002-11-28  Daiki Ueno  <ueno@unixuser.org>
  
  
  2002-11-26  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-agent.el (gnus-agent-uncached-articles): If
 -      gnus-agent-load-alist fails, return ARTICLES.
 +      * gnus-agent.el (gnus-agent-uncached-articles):
 +      If gnus-agent-load-alist fails, return ARTICLES.
  
        * nnrss.el (nnrss-group-alist): Update the link of Jabber.
  
  2002-11-26  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-sum.el (gnus-summary-insert-old-articles): Remove
 -      superfluous function call.
 +      * gnus-sum.el (gnus-summary-insert-old-articles):
 +      Remove superfluous function call.
        (gnus-summary-catchup-all, gnus-summary-catchup-all-and-exit):
        Add warning to docstring.
  
  
  2002-11-26  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-agent.el (gnus-agent-check-overview-buffer): Explicitly
 -      require thingatpt (for number-at-point) and protect against
 +      * gnus-agent.el (gnus-agent-check-overview-buffer):
 +      Explicitly require thingatpt (for number-at-point) and protect against
        deactivate-mark being unbound (on XEmacs).
  
  2002-11-25  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
  2002-11-24  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-sum.el (gnus-summary-insert-old-articles): Use
 -      gnus-remove-from-range instead of gnus-range-difference which
 +      * gnus-sum.el (gnus-summary-insert-old-articles):
 +      Use gnus-remove-from-range instead of gnus-range-difference which
        doesn't exist.
  
  2002-11-23  Kevin Greiner  <kgreiner@xpediantsolutions.com>
        (gnus-agent-article-alist): Format change.  Add documentation.
        (gnus-agent-summary-mode-map): New keybinding `J s' for fetching
        process-marked articles.
 -      (gnus-agent-summary-fetch-series): Command for `J s'.  Articles
 -      in the series are individually fetched to minimize lose of
 +      (gnus-agent-summary-fetch-series): Command for `J s'.
 +      Articles in the series are individually fetched to minimize lose of
        content due to an error/quit.
 -      (gnus-agent-synchronize-flags-server, gnus-agent-add-server): Use
 -      gnus-message instead of message.
 +      (gnus-agent-synchronize-flags-server, gnus-agent-add-server):
 +      Use gnus-message instead of message.
        (gnus-agent-read-servers): Use file lib/methods instead of
        lib/servers.  TODO: Why?
        (gnus-summary-set-agent-mark): Adapt to new agent-alist format.
        (gnus-agent-fetch-selected-article): Don't use history.
        (gnus-agent-save-history, gnus-agent-enter-history)
        (gnus-agent-article-in-history-p, gnus-agent-history-path):
 -      Removed function; history is not used anymore.
 +      Remove function; history is not used anymore.
        (gnus-agent-fetch-articles): Fix handling of crossposted articles.
        (gnus-agent-crosspost): Started rewrite then realized that a typo
        in gnus-agent-fetch-articles ensures that this function is never
        (gnus-agent-regenerate-group): No longer needs to be called from
        gnus-agent-regenerate.  Individual groups may be regenerated.  The
        regeneration code now fixes duplicate, and mis-ordered, NOV entries.
 -      The article fetch dates are validated in the article alist.  The
 -      article alist is pruned of entries that do not reference existing
 +      The article fetch dates are validated in the article alist.
 +      The article alist is pruned of entries that do not reference existing
        NOV entries.  All changes are computed then applied with
        inhibit-quit bound to t.  As a result, it is now safe to quit out of
        regeneration.  The optional clean parameter has been replaced with
        regeneration gets the appropriate setting from
        gnus-agent-consider-all-articles.  The new reread parameter will
        result in fetched, or all, articles being marked as unread.
 -      (gnus-agent-regenerate): Removed code to regenerate the history
 +      (gnus-agent-regenerate): Remove code to regenerate the history
        file as it is no longer used.
  
 -      * gnus-start.el (gnus-make-ascending-articles-unread): New
 -      function, for efficient mass-marking.
 +      * gnus-start.el (gnus-make-ascending-articles-unread):
 +      New function, for efficient mass-marking.
  
        * gnus-sum.el (gnus-summary-highlight): Use new face for
        downloaded articles.
        line.
        (gnus-summary-highlight-line): Use new face for downloaded
        articles.
 -      (gnus-summary-insert-old-articles): Improved performance by
 +      (gnus-summary-insert-old-articles): Improve performance by
        replacing the initial LIST of older articles with a compressed
        RANGE of older articles.  Some servers appear to lie about
        their active range so the original list could contain millions
  
  2002-11-19  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-sum.el (gnus-summary-morse-message): Load
 -      morse.el (unmorse-region not autoloaded in Emacs 20 nor XEmacs).
 +      * gnus-sum.el (gnus-summary-morse-message):
 +      Load morse.el (unmorse-region not autoloaded in Emacs 20 nor XEmacs).
        (unmorse-region): Autoload it instead.
  
  2002-11-18  Simon Josefsson  <jas@extundo.com>
  
  2002-11-17  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * message.el (message-set-auto-save-file-name): Use
 -      make-directory, to avoid the dependence on gnus-util.
 +      * message.el (message-set-auto-save-file-name):
 +      Use make-directory, to avoid the dependence on gnus-util.
  
  2002-11-16  Simon Josefsson  <jas@extundo.com>
  
        * nnimap.el (nnimap-callback-callback-function):
 -      (nnimap-callback-buffer): Removed, these cannot be global but must
 +      (nnimap-callback-buffer): Remove, these cannot be global but must
        be embedded into the callback.
        (nnimap-make-callback): New.  Embedd article number, callback and
        buffer in function.
  
  2002-11-11  Simon Josefsson  <jas@extundo.com>
  
 -      * pgg.el (pgg-encrypt, pgg-decrypt, pgg-sign, pgg-verify): Display
 -      output when called interactively.
 +      * pgg.el (pgg-encrypt, pgg-decrypt, pgg-sign, pgg-verify):
 +      Display output when called interactively.
  
  2002-11-08  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        works better.
        (gnus-agent-fetch-headers): New implementation from Kevin
        Greiner.  Uses gnus-agent-article-alist to store information
 -      about fetched messages which aren't on the server anymore.  The
 -      trick is to return a list of considered messages to the caller,
 +      about fetched messages which aren't on the server anymore.
 +      The trick is to return a list of considered messages to the caller,
        but to only fetch those which haven't been fetched yet.
  
  2002-10-30  Simon Josefsson  <jas@extundo.com>
  
        * pgg-def.el (pgg-passphrase-cache-expiry): New, defcustom.
  
 -      * pgg.el (pgg-passphrase-cache-expiry): Removed.
 +      * pgg.el (pgg-passphrase-cache-expiry): Remove.
  
  2002-10-30  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
  
        versions of emacs-w3m than 1.3.3.
  
        * mm-view.el (mm-w3m-mode-command-alist)
 -      (mm-w3m-mode-dont-bind-keys, mm-w3m-mode-ignored-keys): Removed.
 +      (mm-w3m-mode-dont-bind-keys, mm-w3m-mode-ignored-keys): Remove.
        (mm-w3m-mode-map): Undefined for Emacs21 and XEmacs.
 -      (mm-setup-w3m): Simplified.
 +      (mm-setup-w3m): Simplify.
        (mm-w3m-local-map-property): New function.
        (mm-inline-text-html-render-with-w3m): Use it.
  
 -      * gnus-art.el (gnus-article-wash-html-with-w3m): Use
 -      mm-w3m-local-map-property.
 +      * gnus-art.el (gnus-article-wash-html-with-w3m):
 +      Use mm-w3m-local-map-property.
  
  2002-10-29  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
  2002-10-28  Josh Huber  <huber@alum.wpi.edu>
  
 -      * mml.el (mml-mode-map): Fixed keybindings for mml-secure-*
 +      * mml.el (mml-mode-map): Fix keybindings for mml-secure-*
        functions.
  
  2002-10-28  Mark A. Hershberger  <mah@everybody.org>
  
  2002-10-25  Kai Großjohann  <kai.grossjohann@uni-duisburg.de>
  
 -      * gnus-agent.el (gnus-agent-save-fetched-headers): Create
 -      directory if it doesn't exist.
 +      * gnus-agent.el (gnus-agent-save-fetched-headers):
 +      Create directory if it doesn't exist.
        (gnus-agent-fetch-headers): Remove old cruft that tried to
        abstain from downloading articles more than once if
        gnus-agent-consider-all-articles was true.  This is now done
        * gnus-agent.el (gnus-agent-fetched-headers): New variable,
        contains range of headers that have been fetched by the agent
        already.  Compare gnus-agent-article-alist.
 -      (gnus-agent-file-header-cache): Like
 -      gnus-agent-file-loading-cache, but for gnus-agent-fetched-headers.
 +      (gnus-agent-file-header-cache):
 +      Like gnus-agent-file-loading-cache, but for gnus-agent-fetched-headers.
        (gnus-agent-fetch-headers): Improve comment.  Revert to old
        seen/recent logic.
        Remember which headers have been fetched before and don't fetch
        * gnus-group.el (gnus-fetch-group): Allow an optional
        specification of the articles to select.
  
 -      * gnus-srvr.el (gnus-server-prepare): Removed superfluous cdr.
 +      * gnus-srvr.el (gnus-server-prepare): Remove superfluous cdr.
  
  2002-10-20  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
  
  2002-10-20  Steve Youngs  <youngs@xemacs.org>
  
 -      * pgg-parse.el (pgg-parse-public-key-algorithm-alist): XEmacs
 -      doesn't have the 'alist custom type, use cons cells instead.
 +      * pgg-parse.el (pgg-parse-public-key-algorithm-alist):
 +      XEmacs doesn't have the 'alist custom type, use cons cells instead.
        (pgg-parse-symmetric-key-algorithm-alist): Ditto.
        (pgg-parse-hash-algorithm-alist): Ditto.
        (pgg-parse-compression-algorithm-alist): Ditto.
        (nnheader-remove-cr-followed-by-lf): New function.
        (nnheader-ms-strip-cr): Use the above function.
  
 -      * gnus-agent.el (gnus-agent-regenerate-group): Call
 -      `nnheader-remove-body'; use `nnheader-parse-naked-head' instead of
 +      * gnus-agent.el (gnus-agent-regenerate-group):
 +      Call `nnheader-remove-body'; use `nnheader-parse-naked-head' instead of
        `nnheader-parse-head'.
        * gnus-cache.el (gnus-cache-possibly-enter-article): Ditto.
  
  2002-10-16  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * spam-stat.el: Check for the existence of hash functions instead
 -      of the Emacs version to decide whether to load cl.  Suggested by
 -      Kai Großjohann.
 +      of the Emacs version to decide whether to load cl.
 +      Suggested by Kai Großjohann.
  
  2002-10-15  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
  
  2002-10-11  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * spam.el (spam-check-ifile): Added ifile as a spam checking
 +      * spam.el (spam-check-ifile): Add ifile as a spam checking
        backend, and spam-use-ifle as the variable to toggle that check.
  
  2002-10-12  Simon Josefsson  <jas@extundo.com>
  
        * mml2015.el (mml2015-pgg-decrypt): Set gnus details even when
        decrypt failed.
 -      (mml2015-trust-boundaries-alist): Removed.
 +      (mml2015-trust-boundaries-alist): Remove.
        (mml2015-gpg-extract-signature-details): Don't use it.
        (mml2015-unabbrev-trust-alist): New.
        (mml2015-gpg-extract-signature-details): Use it.
        * pgg-gpg.el (pgg-gpg-verify-region): Filter out stuff into output
        buffer and error buffer depending on type of information.
  
 -      * mml2015.el (mml2015-gpg-extract-signature-details): Parse
 -      --status-fd stuff even if gpg.el is not used (revert earlier
 +      * mml2015.el (mml2015-gpg-extract-signature-details):
 +      Parse --status-fd stuff even if gpg.el is not used (revert earlier
        change).
        (mml2015-pgg-{clear-,}verify): Store both output and errors as
        gnus details.
  
  2002-10-08  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
 -      * gnus-agent.el (gnus-agent-fetch-selected-article): Bind
 -      gnus-agent-current-history.
 +      * gnus-agent.el (gnus-agent-fetch-selected-article):
 +      Bind gnus-agent-current-history.
  
  2002-10-06  Simon Josefsson  <jas@extundo.com>
  
  
        * pgg-gpg.el (pgg-gpg-encrypt-region): Make signencrypt work.
  
 -      * pgg-pgp.el (pgg-pgp-verify-region): Inline
 -      binary-write-decoded-region from MEL.
 +      * pgg-pgp.el (pgg-pgp-verify-region):
 +      Inline binary-write-decoded-region from MEL.
  
        * pgg.el (pgg-encrypt-region): Support sign.
  
        (pgg-string-as-unibyte): Defalias.
        (pgg-parse-armor-region): Use it.
  
 -      * pgg-gpg.el (pgg-gpg-process-region): Use
 -      pgg-temporary-file-directory.
 +      * pgg-gpg.el (pgg-gpg-process-region):
 +      Use pgg-temporary-file-directory.
  
        * luna.el: Don't def-edebug.
  
 -      * pgg-pgp5.el (pgg-scheme-verify-region): Inline
 -      binary-write-decoded-region from MEL.
 +      * pgg-pgp5.el (pgg-scheme-verify-region):
 +      Inline binary-write-decoded-region from MEL.
  
        * pgg-pgp5.el, pgg-gpg.el: Don't require mel.
  
        * gnus-art.el (gnus-article-mode-syntax-table): Make M-. work in
        article buffers.
  
 -      * nnimap.el (nnimap-fixup-unread-after-getting-new-news): Autoload
 -      it just in case.
 +      * nnimap.el (nnimap-fixup-unread-after-getting-new-news):
 +      Autoload it just in case.
        (nnimap-update-unseen): New function; update unseen count in
        `n-m-info'.
        (nnimap-close-group): Call it.
        * gnus-art.el (gnus-button-handle-apropos-variable): Fall back to
        apropos if apropos-variable does not exist.
        (gnus-button-guessed-mid-regexp)
 -      (gnus-button-handle-describe-prefix, gnus-button-alist): Better
 -      regexes.
 +      (gnus-button-handle-describe-prefix, gnus-button-alist):
 +      Better regexes.
        (gnus-button-handle-describe-function)
        (gnus-button-handle-describe-variable): Doc fix.
        (gnus-button-handle-describe-key, gnus-button-handle-apropos)
  
  2002-09-23  Reiner Steib  <Reiner.Steib@gmx.de>
  
 -      * gnus-art.el (gnus-button-guessed-mid-regexp): Improved regexp.
 -      (gnus-button-alist): Improved regexp for
 +      * gnus-art.el (gnus-button-guessed-mid-regexp): Improve regexp.
 +      (gnus-button-alist): Improve regexp for
        gnus-button-handle-mid-or-mail (false positives), fixed
        gnus-button-handle-man entries.
  
  
  2002-09-23  Paul Jarc  <prj@po.cwru.edu>
  
 -      * nnmaildir.el: Store article numbers persistently.  General
 -      revision.
 +      * nnmaildir.el: Store article numbers persistently.
 +      General revision.
        (nnmaildir-request-expire-articles): Handle 'immediate and 'never
        for nnmail-expiry-wait; delete instead of moving if 'force is
        given.
  
        * gnus-msg.el (gnus-configure-posting-styles): Sort results.
  
 -      * gnus-art.el (gnus-article-reply-with-original): Correct
 -      with-current-buffer scope.
 +      * gnus-art.el (gnus-article-reply-with-original):
 +      Correct with-current-buffer scope.
  
        * message.el (message-completion-alist): Add Reply-To, From, etc.
  
        describtion and menu.
        (message-change-subject, message-xpost-fup2): Signal error if
        current header is empty.
 -      (message-xpost-insert-note): Changed insert position.
 +      (message-xpost-insert-note): Change insert position.
        (message-archive-note): Ensure to insert note in message body (not
        in head).
        (message-archive-header, message-archive-note)
        (message-subject-trailing-was-query)
        (message-subject-trailing-was-ask-regexp)
        (message-subject-trailing-was-regexp): New variables.
 -      (message-to-list-only): Added doc-string and menu entry.
 +      (message-to-list-only): Add doc-string and menu entry.
  
        * message-utils.el: Removed.  Functions are now in message.el.
  
  
  2002-09-03  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-util.el (gnus-frame-or-window-display-name): Exclude
 -      invalid display names.
 +      * gnus-util.el (gnus-frame-or-window-display-name):
 +      Exclude invalid display names.
  
  2002-08-30  Reiner Steib  <Reiner.Steib@gmx.de>
  
  
  2002-08-27  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-msg.el (posting-charset-alist): Use
 -      gnus-define-group-parameter instead of defcustom.
 +      * gnus-msg.el (posting-charset-alist):
 +      Use gnus-define-group-parameter instead of defcustom.
        (gnus-put-message): Handle SPC in GCC.
        (gnus-inews-insert-gcc): Ditto.
        (gnus-inews-insert-archive-gcc): Ditto.
  2002-08-11  Reiner Steib  <Reiner.Steib@gmx.de>
  
        * message-utils.el (message-xpost-default)
 -      (message-xpost-fup2-header, message-xpost-fup2): Fixed Typos.
 +      (message-xpost-fup2-header, message-xpost-fup2): Fix Typos.
  
  2002-08-09  Simon Josefsson  <jas@extundo.com>
  
 -      * message.el (message-canlock-password): Set
 -      canlock-password-for-verify to newly generated canlock-password.
 +      * message.el (message-canlock-password):
 +      Set canlock-password-for-verify to newly generated canlock-password.
        When Emacs is restarted, Custom makes sure this is set, but during
        the same session we must set it manually.
  
  
        * nnweb.el (nnweb-type, nnweb-type-definition)
        (nnweb-gmane-create-mapping, nnweb-gmane-wash-article)
 -      (nnweb-gmane-search, nnweb-gmane-identity): Added gmane
 +      (nnweb-gmane-search, nnweb-gmane-identity): Add gmane
        functionality.
        * nnweb.el: Removed old non-functioning search engines.
  
  
        * flow-fill.el (fill-flowed): Disable filladapt-mode.
  
 -      * gnus-sieve.el (gnus-sieve-guess-rule-for-article): Don't
 -      regexp-quote, Cyrus Sieve is fixed.
 +      * gnus-sieve.el (gnus-sieve-guess-rule-for-article):
 +      Don't regexp-quote, Cyrus Sieve is fixed.
  
        * sieve-manage.el (sieve-manage-deletescript): New function.
  
        * mm-decode.el (mm-inline-text-html-with-images): Doc fix.
        (mm-w3m-safe-url-regexp): New user option.
  
 -      * mm-view.el (mm-inline-text-html-render-with-w3m): Use
 -      `mm-w3m-safe-url-regexp' to bind `w3m-safe-url-regexp'.
 +      * mm-view.el (mm-inline-text-html-render-with-w3m):
 +      Use `mm-w3m-safe-url-regexp' to bind `w3m-safe-url-regexp'.
  
  2002-07-23  Karl Kleinpaste  <karl@charcoal.com>
  
 -      * gnus-sum.el (gnus-summary-delete-article): Force
 -      nnmail-expiry-target to 'delete, so that absolute deletion
 +      * gnus-sum.el (gnus-summary-delete-article):
 +      Force nnmail-expiry-target to 'delete, so that absolute deletion
        happens when absolute deletion is requested.
  
  2002-07-21  Nevin Kapur  <nevin@jhu.edu>
  
  2002-07-06  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-topic.el (gnus-topic-indent, gnus-topic-unindent): Change
 -      cdaar to cdar and car.
 +      * gnus-topic.el (gnus-topic-indent, gnus-topic-unindent):
 +      Change cdaar to cdar and car.
  
        * nnsoup.el (nnsoup-retrieve-headers, nnsoup-request-type)
        (nnsoup-read-active-file, nnsoup-article-to-area): Ditto.
  
  2002-06-17  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-start.el (gnus-clear-system, gnus-read-newsrc-file): Make
 -      sure to write byte-compiled versions of gnus-*-format-alist to
 +      * gnus-start.el (gnus-clear-system, gnus-read-newsrc-file):
 +      Make sure to write byte-compiled versions of gnus-*-format-alist to
        .newsrc.eld.
  
  2002-06-16  Bjørn Mork  <bmork@dod.no>
        * nnheader.el (nnheader-file-name-translation-alist): Set the
        default value for MS Windows systems.
  
 -      * gnus-ems.el (nnheader-file-name-translation-alist): Removed.
 +      * gnus-ems.el (nnheader-file-name-translation-alist): Remove.
  
  2002-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
        * gnus-msg.el (gnus-group-mail, gnus-group-news)
        (gnus-group-post-news, gnus-summary-mail-other-window)
 -      (gnus-summary-news-other-window, gnus-summary-post-news): Bind
 -      gnus-article-copy to nil, thereby inhibiting the `header' posting
 +      (gnus-summary-news-other-window, gnus-summary-post-news):
 +      Bind gnus-article-copy to nil, thereby inhibiting the `header' posting
        style match to use data from last viewed article.
        Suggested by Hrvoje Niksic.
  
  
  2002-05-20  Jason Baker  <jbaker@cs.utah.edu>  (tiny change)
  
 -      * gnus-art.el (gnus-request-article-this-buffer): Try
 -      reconnecting if you don't get the message.
 +      * gnus-art.el (gnus-request-article-this-buffer):
 +      Try reconnecting if you don't get the message.
  
  2002-05-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2002-05-06  Josh Huber  <huber@alum.wpi.edu>
  
 -      * mml2015.el (mml2015-gpg-encrypt): Changed name of optional
 +      * mml2015.el (mml2015-gpg-encrypt): Change name of optional
        argument, and fixed compiler warning.  (Added autoload for
        gpg-encrypt).
  
        * mml-sec.el (mml-signencrypt-style): New.
        * mml-sec.el (mml-pgpmime-encrypt-buffer): Accept optional
        argument `sign'.
 -      * mml-sec.el (mml-secure-message-encrypt-pgp): Changed default to
 +      * mml-sec.el (mml-secure-message-encrypt-pgp): Change default to
        signencrypt.
        * mml-sec.el (mml-secure-message-encrypt-pgpmime): Ditto.
 -      * mml.el (mml-generate-mime-1): Changed logic so a part which is
 +      * mml.el (mml-generate-mime-1): Change logic so a part which is
        both signed & encryped is processed in one operation (rather than
        two separate ops: sign, then encrypt).
        * mml2015.el (mml2015-gpg-extract-signature-details): Give some
  
  2002-05-01  Simon Josefsson  <jas@extundo.com>
  
 -      * imap.el (imap-parse-resp-text-code, imap-parse-status): Treat
 -      UIDNEXT as a string.
 +      * imap.el (imap-parse-resp-text-code, imap-parse-status):
 +      Treat UIDNEXT as a string.
  
        * nnimap.el (nnimap-string-lessp-numerical): New function.
        (nnimap-retrieve-groups): Compare UIDNEXT as strings instead of
        (nnimap-mailbox-info): New internal variable.
        (nnimap-retrieve-groups): Implement faster new mail check.
  
 -      * nnimap.el (nnimap-split-articles): Support
 -      nnmail-cache-accepted-message-ids.
 +      * nnimap.el (nnimap-split-articles):
 +      Support nnmail-cache-accepted-message-ids.
        (nnimap-request-accept-article): Ditto.
  
        * imap.el (imap-mailbox-status-asynch): New command.
  
  2002-04-23  Matthieu Moy  <Matthieu.Moy@imag.fr>
  
 -      * gnus-msg.el (gnus-summary-resend-message-edit): Remove
 -      message-ignored-resent-headers, too.
 +      * gnus-msg.el (gnus-summary-resend-message-edit):
 +      Remove message-ignored-resent-headers, too.
  
  2002-04-22  Björn Torkelsson  <torkel@acc.umu.se>
  
        (message-mode): Add description for
        `message-to-list-only'.
        (message-to-list-only): New.
 -      (message-make-mft): Changed to use the cl loop macro, and added
 +      (message-make-mft): Change to use the cl loop macro, and added
        optional flag to return only the matched list (for use in new
        message-to-list-only function).
  
  
  2002-04-13  Josh Huber  <huber@alum.wpi.edu>
  
 -      * mml-sec.el (mml-secure-message): Changed to support arbritrary
 +      * mml-sec.el (mml-secure-message): Change to support arbritrary
        modes.
        * mml-sec.el (mml-secure-message-encrypt-(smime|pgp|pgpmime)):
        changed to support "signencrypt" mode.
 -      * mml.el (mml-parse-1): Changed to support different secure modes
 +      * mml.el (mml-parse-1): Change to support different secure modes
        more easily (for signencrypt).
  
  2002-04-11  Stefan Monnier  <monnier@cs.yale.edu>
  
  2002-04-12  Daiki Ueno  <ueno@unixuser.org>
  
 -      * gnus-srvr.el (gnus-server-set-info): Clear
 -      `gnus-server-method-cache' when `gnus-server-alist' is changed.
 +      * gnus-srvr.el (gnus-server-set-info):
 +      Clear `gnus-server-method-cache' when `gnus-server-alist' is changed.
  
  2002-04-11  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-sum.el (gnus-summary-force-verify-and-decrypt): Force
 -      viewing of security buttons.  Thanks to Nicolas Kowalski
 +      * gnus-sum.el (gnus-summary-force-verify-and-decrypt):
 +      Force viewing of security buttons.  Thanks to Nicolas Kowalski
        <Nicolas.Kowalski@imag.fr>.
  
        * smime.el (smime-CA-directory): Fix doc.  Thanks to Arne
  
  2002-04-07  Josh Huber  <huber@alum.wpi.edu>
  
 -      * message.el (message-make-mft): Changed MFT code from using
 +      * message.el (message-make-mft): Change MFT code from using
        message-recipients (which included Bcc) to use only the To and CC
        headers.
  
        * nnmaildir.el: Use defstruct.  Use a single copy of
        nnmail-extra-headers to save memory.  Store server's group name
        prefix instead of each group's prefixed name.
 -      * nnnil.el (nnnil-retrieve-headers, nnnil-request-list): Erase
 -      nntp-server-buffer.
 +      * nnnil.el (nnnil-retrieve-headers, nnnil-request-list):
 +      Erase nntp-server-buffer.
  
  2002-03-31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2002-03-22  Josh Huber  <huber@alum.wpi.edu>
  
 -      * mml.el (mml-mode-map): Added a keybinding for
 +      * mml.el (mml-mode-map): Add a keybinding for
        `mml-unsecure-message'.  Also, added a menu entry for said
        function in the Attachments menu.
  
  
  2002-03-12  Faried Nawaz  <fn@hungry.org>  (tiny change)
  
 -      * message.el (message-qmail-inject-args): May be function.  Adjust
 -      doc string and custom type.
 +      * message.el (message-qmail-inject-args): May be function.
 +      Adjust doc string and custom type.
        (message-send-mail-with-qmail): Call function if m-q-i-a is a
        function.
  
  
  2002-03-09  Andre Srinivasan  <andre@slamdunknetworks.com>  (tiny change)
  
 -      * gnus-sum.el (gnus-summary-save-parts-default-mime): Remove
 -      duplication.
 +      * gnus-sum.el (gnus-summary-save-parts-default-mime):
 +      Remove duplication.
        (gnus-summary-save-parts-type-history): Ditto.
        (gnus-summary-save-parts-last-directory): Ditto.
  
        * qp.el (quoted-printable-decode-region): Doc addition.
        From: Eli Zaretskii <eliz@is.elta.co.il>
  
 -      * mail-source.el (make-source-make-complex-temp-name): Use
 -      make-temp-file.
 +      * mail-source.el (make-source-make-complex-temp-name):
 +      Use make-temp-file.
  
        * mm-util.el (mm-make-temp-file): New function.
        * nneething.el (nneething-file-name): Use it.
  
  2002-03-04  Paul Jarc  <prj@po.cwru.edu>
  
 -      * message.el (nnmaildir-article-number-to-base-name): New
 -      function.
 +      * message.el (nnmaildir-article-number-to-base-name):
 +      New function.
        (nnmaildir-base-name-to-article-number): New function.
  
  2002-03-04  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * gnus-util.el (gnus-multiple-choice): New function.
  
 -      * gnus-kill.el (gnus-score-insert-help): Removed, because it is
 +      * gnus-kill.el (gnus-score-insert-help): Remove, because it is
        also defined in gnus-score.el.
  
  2002-03-01  Paul Jarc  <prj@po.cwru.edu>
  
  2002-02-22  Andre Srinivasan  <andre@slamdunknetworks.com>  (tiny change)
  
 -      * mm-decode.el (mm-display-external): Use
 -      mm-file-name-rewrite-functions.
 +      * mm-decode.el (mm-display-external):
 +      Use mm-file-name-rewrite-functions.
  
  2002-02-22  Paul Jarc  <prj@po.cwru.edu>
  
  
  2002-02-21  Paul Jarc  <prj@po.cwru.edu>
  
 -      * nnmaildir.el (nnmaildir-request-expire-articles): Use
 -      nnmail-expiry-wait* if expire-age parameter is not set.
 +      * nnmaildir.el (nnmaildir-request-expire-articles):
 +      Use nnmail-expiry-wait* if expire-age parameter is not set.
  
  2002-02-21  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-group.el (gnus-group-sort-groups-by-real-name): New
 -      function.
 +      * gnus-group.el (gnus-group-sort-groups-by-real-name):
 +      New function.
        (gnus-group-sort-selected-groups-by-real-name): New function.
        (gnus-group-make-menu-bar): Add sort by real name.
  
  
        * rfc2231.el (rfc2231-parse-string): Support non-ascii chars.
  
 -      * gnus-art.el (gnus-article-wash-html-with-w3): Remove
 -      w3-delay-image-loads.
 +      * gnus-art.el (gnus-article-wash-html-with-w3):
 +      Remove w3-delay-image-loads.
        * mm-view.el (mm-inline-text-html-render-with-w3): Ditto.
        (mm-w3-prepare-buffer): Ditto.
  
  
  2002-02-18  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Improved to speed
 +      * gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Improve to speed
        up.  Suggested by Yuuichi Teranishi <teranisi@gohome.org>.
  
        * gnus-art.el (article-display-x-face): Sort gray X-Faces.
  
        * gnus-agent.el (gnus-get-predicate): Use nconc.
  
 -      * gnus-sum.el (gnus-summary-display-make-predicate): Use
 -      gnus-summary-display-cache as cache.
 +      * gnus-sum.el (gnus-summary-display-make-predicate):
 +      Use gnus-summary-display-cache as cache.
  
        * nndoc.el (nndoc-type-alist): Add mail-in-mail type.
        (nndoc-mail-in-mail-type-p): New function.
  
        * mailcap.el (mailcap-mime-data): Use enriched-decode.
  
 -      * gnus-cite.el (gnus-article-fill-cited-article): Bind
 -      use-hard-newlines to nil.
 +      * gnus-cite.el (gnus-article-fill-cited-article):
 +      Bind use-hard-newlines to nil.
  
        * gnus-xmas.el (gnus-xmas-image-type-available-p): Assume that
        image is not available if window-system is not available.
        * gnus-soup.el (gnus-soup-send-packet): Send news and mail
        directly instead of calling message-send-mail.
  
 -      * gnus-start.el (gnus-read-descriptions-file): Use
 -      gnus-default-charset.
 +      * gnus-start.el (gnus-read-descriptions-file):
 +      Use gnus-default-charset.
  
        * mm-util.el (mm-guess-mime-charset): New function.
  
  
  2002-02-07  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (gnus-article-treat-body-boundary): Add
 -      gnus-decoration property.
 +      * gnus-art.el (gnus-article-treat-body-boundary):
 +      Add gnus-decoration property.
        * gnus-msg.el (gnus-copy-article-buffer): Remove gnus-decoration.
  
        * gnus-art.el (gnus-article-treat-unfold-headers): Don't remove
        too many spaces.
  
        * rfc2047.el (rfc2047-unfold-region): Ditto.
 -      (rfc2047-decode-region): Don't unfold.  Let
 -      gnus-article-treat-unfold-headers do it.
 +      (rfc2047-decode-region): Don't unfold.
 +      Let gnus-article-treat-unfold-headers do it.
  
  2002-02-07  Matt Armstrong  <matt@lickey.com>
  
        force, prevent errors when following up from article buffer.
        (gnus-article-reply-with-original): Ditto.
  
 -      * binhex.el (binhex-decoder-switches): Fix doc.  From
 -      Pavel@Janik.cz (Pavel Janík).
 +      * binhex.el (binhex-decoder-switches): Fix doc.
 +      From Pavel@Janik.cz (Pavel Janík).
  
  2002-02-04  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * gnus-cache.el (gnus-summary-insert-cached-articles):
        (gnus-summary-limit-include-cached): gnus-newsgroup-cached is sorted.
  
 -      * gnus-group.el (gnus-group-mark-article-read): Nreverse
 -      gnus-newsgroups-unselected.
 +      * gnus-group.el (gnus-group-mark-article-read):
 +      Nreverse gnus-newsgroups-unselected.
  
 -      * gnus-agent.el (gnus-summary-set-agent-mark): Use
 -      gnus-add-to-sorted-list.
 +      * gnus-agent.el (gnus-summary-set-agent-mark):
 +      Use gnus-add-to-sorted-list.
  
        * gnus-sum.el (gnus-summary-update-info): gnus-newsgroup-unreads
        gnus-newsgroup-unselected are sorted.  Use gnus-sorted-union.
        directories.
        (gnus-dired-print): New function.
  
 -      * gnus-art.el (gnus-mime-print-part): Add argument filename.  Call
 -      ps-despool.
 +      * gnus-art.el (gnus-mime-print-part): Add argument filename.
 +      Call ps-despool.
  
  2002-02-02  Simon Josefsson  <jas@extundo.com>
  
  
  2002-01-31  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnfolder.el (nnfolder-request-replace-article): Unfold.  Don't
 -      use mail-header-unfold-field.
 +      * nnfolder.el (nnfolder-request-replace-article): Unfold.
 +      Don't use mail-header-unfold-field.
  
 -      * gnus-cache.el (gnus-summary-insert-cached-articles): Use
 -      gnus-summary-limit.
 +      * gnus-cache.el (gnus-summary-insert-cached-articles):
 +      Use gnus-summary-limit.
  
        * gnus-range.el (gnus-add-to-sorted-list): New function.
        * gnus-sum.el (gnus-mark-article-as-read): Use it.
        * gnus-msg.el (gnus-posting-styles): Add new format of header.
        (gnus-configure-posting-styles): Support the new format.
  
 -      * mail-source.el (mail-source-bind, mail-source-bind-common): Set
 -      edebug-form-spec to (sexp body).
 +      * mail-source.el (mail-source-bind, mail-source-bind-common):
 +      Set edebug-form-spec to (sexp body).
        Suggested by Joe Wells <jbw@izanami.cee.hw.ac.uk>.
  
        * message.el (message-reply-headers): Add doc.
  
        * nnagent.el (nnagent-retrieve-headers): Use gnus-sorted-difference.
  
 -      * gnus-agent.el (gnus-agent-retrieve-headers): Use
 -      gnus-sorted-difference.
 +      * gnus-agent.el (gnus-agent-retrieve-headers):
 +      Use gnus-sorted-difference.
  
 -      * nnsoup.el (nnsoup-request-expire-articles): Use
 -      gnus-sorted-difference.
 +      * nnsoup.el (nnsoup-request-expire-articles):
 +      Use gnus-sorted-difference.
  
        * nnheader.el: Autoload gnus-sorted-difference.
  
 -      * nnfolder.el (nnfolder-request-expire-articles): Use
 -      gnus-sorted-difference.
 +      * nnfolder.el (nnfolder-request-expire-articles):
 +      Use gnus-sorted-difference.
  
 -      * gnus-cache.el (gnus-cache-retrieve-headers): Use
 -      gnus-sorted-difference.
 +      * gnus-cache.el (gnus-cache-retrieve-headers):
 +      Use gnus-sorted-difference.
  
        * gnus-range.el: Autoload cookies.
        (gnus-sorted-difference): New function.
        * gnus-sum.el (gnus-select-newsgroup): Use gnus-sorted-difference,
        gnus-sorted-ndifference, and gnus-sorted-nintersection.
        (gnus-articles-to-read): Use gnus-sorted-difference.
 -      (gnus-summary-limit-mark-excluded-as-read): Use
 -      gnus-sorted-intersection and gnus-sorted-ndifference.
 +      (gnus-summary-limit-mark-excluded-as-read):
 +      Use gnus-sorted-intersection and gnus-sorted-ndifference.
        (gnus-list-of-read-articles): Use gnus-list-range-difference.
        (gnus-summary-insert-articles): Use gnus-sorted-difference.
  
  
        * mm-view.el (mm-w3m-mode-map): New variable.
        (mm-w3m-mode-command-alist): New variable.
 -      (mm-w3m-minor-mode): Removed.
 +      (mm-w3m-minor-mode): Remove.
        (mm-setup-w3m): Setup `mm-w3m-mode-map'; don't add minor mode.
        (mm-inline-text-html-render-with-w3m): Add keymap property to the
        buffer for using emacs-w3m command keys.
        (message-cite-prefix-regexp): Auto detect non word constituents.
        (message-cite-prefix-regexp): Don't use with-syntax-table.
  
 -      * gnus-sum.el (gnus-summary-update-info): Use
 -      gnus-list-range-intersection.
 +      * gnus-sum.el (gnus-summary-update-info):
 +      Use gnus-list-range-intersection.
  
 -      * gnus-agent.el (gnus-agent-fetch-headers): Use
 -      gnus-list-range-intersection.
 +      * gnus-agent.el (gnus-agent-fetch-headers):
 +      Use gnus-list-range-intersection.
  
        * gnus-range.el (gnus-range-normalize): Use correct predicate.
        (gnus-list-range-intersection): Use it.
        Don't split when the window is small, e.g. when a small *BBDB*
        window is the lowest one.
  
 -      * gnus-agent.el (gnus-agent-retrieve-headers): Use
 -      nnheader-find-nov-line to speed up.  Use nreverse, because it is
 +      * gnus-agent.el (gnus-agent-retrieve-headers):
 +      Use nnheader-find-nov-line to speed up.  Use nreverse, because it is
        sorted.  Use nnheader-insert-nov-file.
  
  2002-01-28  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * time-date.el: Add autoload cookies.  Many doc fixes.
        (time-add): New function.
 -      (time-subtract): Renamed from subtract-time.
 +      (time-subtract): Rename from subtract-time.
        (subtract-time): New alias for time-subtract.
  
  2002-01-28  Katsumi Yamaoka  <yamaoka@jpl.org>
  2002-01-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * nnml.el (nnml-use-compressed-files): New variable.
 -      (nnml-filenames-are-evil): Removed.
 +      (nnml-filenames-are-evil): Remove.
        (nnml-current-group-article-to-file-alist): Don't use.
        (nnml-update-file-alist): Inhibit.
        (nnml-article-to-file): Use new var.
  
  2002-01-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-agent.el (gnus-agent-save-alist): Optimized.
 +      * gnus-agent.el (gnus-agent-save-alist): Optimize.
  
  2002-01-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        (gnus-server-method-cache): New variable.
        (gnus-server-to-method): Use it.
        (gnus-group-method-cache): New variable.
 -      (gnus-find-method-for-group-1): Renamed.
 +      (gnus-find-method-for-group-1): Rename.
        (gnus-find-method-for-group): New function.
 -      (gnus-group-method-cache): Removed.
 +      (gnus-group-method-cache): Remove.
  
        * gnus-sum.el (gnus-compute-unseen-list): Use new optimized
        function.
  
        * gnus-range.el (gnus-members-of-range): New function.
 -      (gnus-list-range-intersection): Renamed.
 +      (gnus-list-range-intersection): Rename.
        (gnus-inverse-list-range-intersection): New function.
  
        * gnus-sum.el (gnus-compute-unseen-list): Made into own function.
  
  2002-01-25  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * mm-view.el (mm-inline-text-html-render-with-w3m): Decode
 -      charset-encoded html contents.
 +      * mm-view.el (mm-inline-text-html-render-with-w3m):
 +      Decode charset-encoded html contents.
  
  2002-01-24  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2002-01-22  Josh Huber  <huber@alum.wpi.edu>
  
 -      * mml.el (mml-parse-1): Fixed usage of recipients in the secure
 +      * mml.el (mml-parse-1): Fix usage of recipients in the secure
        tag.
  
  2002-01-22  Josh Huber  <huber@alum.wpi.edu>
  
 -      * message.el (message-font-lock-keywords): Added the secure tag.
 +      * message.el (message-font-lock-keywords): Add the secure tag.
        * mml-sec.el: Added functions to generate/modify/remove the secure
        tag while in message mode.
        * mml-sec.el (mml-secure-message): New.
        * mml-sec.el (mml-secure-message-encrypt-smime): New.
        * mml-sec.el (mml-secure-message-encrypt-pgp): New.
        * mml-sec.el (mml-secure-message-encrypt-pgpmime): New.
 -      * mml.el (mml-parse-1): Added code to recognize the secure tag and
 +      * mml.el (mml-parse-1): Add code to recognize the secure tag and
        convert it to either a part or multipart depending on if there are
        other parts in the message.
 -      * mml.el (mml-mode-map): Changed default sign/encrypt keybindings
 +      * mml.el (mml-mode-map): Change default sign/encrypt keybindings
        to use the secure tag, rather than the part tag.
 -      * mml.el (mml-preview): Added a save-excursion to keep cursor
 +      * mml.el (mml-preview): Add a save-excursion to keep cursor
        position after doing an MML preview.
  
  2002-01-22  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2002-01-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nnfolder.el (nnfolder-request-accept-article): Unfold
 -      x-from-line.
 +      * nnfolder.el (nnfolder-request-accept-article):
 +      Unfold x-from-line.
        (nnfolder-request-replace-article): Ditto.
  
  2002-01-20  Nevin Kapur  <nevin@jhu.edu>
  
        * message.el (message-dont-send): Doc fix.
  
 -      * gnus-util.el (gnus-completing-read): Remove
 -      inherit-input-method.
 +      * gnus-util.el (gnus-completing-read):
 +      Remove inherit-input-method.
  
        * gnus-art.el (gnus-treat-smiley): Doc fix.
  
  
  2002-01-19  Daniel Pittman  <daniel@rimspace.net>
  
 -      * gnus-sum.el (gnus-summary-first-unseen-or-unread-subject): New
 -      functions.
 +      * gnus-sum.el (gnus-summary-first-unseen-or-unread-subject):
 +      New functions.
  
  2002-01-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-sum.el (gnus-summary-goto-subject): Error on non-numerical
        articles.
  
 -      * gnus-util.el (gnus-completing-read-with-default): Renamed.
 +      * gnus-util.el (gnus-completing-read-with-default): Rename.
  
        * nnmail.el (nnmail-article-group): Clean up.
  
  
        * smiley-ems.el (smiley-region): Register smiley.
        (smiley-toggle-buffer): Rewrite the function.
 -      (smiley-active): Removed.
 +      (smiley-active): Remove.
  
  2002-01-19  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-util.el (gnus-parent-id): Optimize null n case.  From
 -      Jesper Harder <harder@ifa.au.dk>.
 +      * gnus-util.el (gnus-parent-id): Optimize null n case.
 +      From Jesper Harder <harder@ifa.au.dk>.
  
  2002-01-18  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
  
 -      * gnus-art.el (gnus-request-article-this-buffer): Call
 -      `nneething-get-file-name' to extract the file name from the
 +      * gnus-art.el (gnus-request-article-this-buffer):
 +      Call `nneething-get-file-name' to extract the file name from the
        message id.
  
        * nneething.el (nneething-encode-file-name): New function.
  2002-01-17  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * gnus-agent.el (gnus-agent-retrieve-headers): Use correct buffer.
 -      (gnus-agent-braid-nov): Switch back to nntp-server-buffer.  Remove
 -      duplications.
 +      (gnus-agent-braid-nov): Switch back to nntp-server-buffer.
 +      Remove duplications.
        (gnus-agent-batch): Bind gnus-agent-confirmation-function.
  
  2002-01-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-sum.el (gnus-summary-initial-limit): Inline
 -      gnus-summary-limit-children.
 +      * gnus-sum.el (gnus-summary-initial-limit):
 +      Inline gnus-summary-limit-children.
        (gnus-summary-initial-limit): Don't limit if
        gnus-newsgroup-display is nil.
        (gnus-summary-initial-limit): No, don't.
  
        * gnus-util.el
 -      (gnus-put-text-property-excluding-characters-with-faces): Inline
 -      gnus-put-text-property.
 +      (gnus-put-text-property-excluding-characters-with-faces):
 +      Inline gnus-put-text-property.
  
        * gnus-spec.el (gnus-default-format-specs): New variable.
  
  
        * gnus-sum.el (gnus-summary-from-or-to-or-newsgroups): Inline some
        functions.
 -      (gnus-gather-threads-by-references): Inline
 -      `gnus-split-references'.
 +      (gnus-gather-threads-by-references):
 +      Inline `gnus-split-references'.
  
        * gnus-spec.el (gnus-summary-line-format-spec): New, optimized
        default value of gnus-summary-line-format-spec.
        * nnslashdot.el (nnslashdot-retrieve-headers-1): A better error
        message.
        (nnslashdot-request-list): Ditto.
 -      (nnslashdot-sid-strip): Removed.
 +      (nnslashdot-sid-strip): Remove.
  
  2002-01-15  Simon Josefsson  <jas@extundo.com>
  
  
  2002-01-15  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
  
 -      * nneething.el (nneething-request-article): Set
 -      `nnmail-file-coding-system' to `binary' locally, in order to read
 +      * nneething.el (nneething-request-article):
 +      Set `nnmail-file-coding-system' to `binary' locally, in order to read
        files without any conversion.
  
  2002-01-15  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-agent.el (gnus-agent-retrieve-headers): Use
 -      nnheader-file-coding-system and nnmail-active-file-coding-system.
 +      * gnus-agent.el (gnus-agent-retrieve-headers):
 +      Use nnheader-file-coding-system and nnmail-active-file-coding-system.
        (gnus-agent-regenerate-group): Ditto.
        (gnus-agent-regenerate): Ditto.
        (gnus-agent-write-active): Ditto.
  
        * imap.el (imap-close): Keep going if quit.
  
 -      * gnus-agent.el (gnus-agent-retrieve-headers): Erase
 -      nntp-server-buffer.
 +      * gnus-agent.el (gnus-agent-retrieve-headers):
 +      Erase nntp-server-buffer.
  
  2002-01-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * mm-view.el (mm-display-inline-fontify): Require font-lock to
        avoid unbinding shadowed variables.
  
 -      * gnus-art.el (gnus-picon-databases): Moved here.
 -      (gnus-picons-installed-p): Moved here.
 +      * gnus-art.el (gnus-picon-databases): Move here.
 +      (gnus-picons-installed-p): Move here.
        (gnus-article-reply-with-original): Use `mark'.
  
 -      * gnus.el (gnus-picon): Moved here and renamed.
 +      * gnus.el (gnus-picon): Move here and renamed.
  
        * gnus-art.el (gnus-treat-from-picon): Only be on if picons are
        installed.
  
  2002-01-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-article-reply-with-original): Use
 -      `mark-active'.
 +      * gnus-art.el (gnus-article-reply-with-original):
 +      Use `mark-active'.
  
        * gnus-msg.el (gnus-summary-reply): Don't bug out on regions.
  
  2002-01-12  Simon Josefsson  <jas@extundo.com>
  
        * flow-fill.el (fill-flowed-display-column)
 -      (fill-flowed-encode-columnq): New variables.  Suggested by
 -      Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann).
 +      (fill-flowed-encode-columnq): New variables.
 +      Suggested by Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann).
        (fill-flowed-encode, fill-flowed): Use them.
  
 -      * message.el (message-send-news, message-send-mail): Use
 -      m-b-s-n-p-e-h-n.
 +      * message.el (message-send-news, message-send-mail):
 +      Use m-b-s-n-p-e-h-n.
  
        * mml.el (autoload): Autoload fill-flowed-encode.
 -      (mml-buffer-substring-no-properties-except-hard-newlines): New
 -      function.
 +      (mml-buffer-substring-no-properties-except-hard-newlines):
 +      New function.
        (mml-read-part): Use it.
        (mml-generate-mime-1): Encode format=flowed if appropriate.
        (mml-insert-mime-headers): Insert format=flowed.
        gnus-article-prepare-hook.
  
        * gnus-agent.el (gnus-agent-retrieve-headers): Load agentview.
 -      (gnus-agent-toggle-plugged): Use gnus-agent-go-online.  Move
 -      gnus-agent-possibly-synchronize-flags to the last.
 +      (gnus-agent-toggle-plugged): Use gnus-agent-go-online.
 +      Move gnus-agent-possibly-synchronize-flags to the last.
        (gnus-agent-go-online): New function.  New variable.
  
  2002-01-11  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2002-01-10  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnkiboze.el (nnkiboze-request-article): Use
 -      gnus-agent-request-article.
 +      * nnkiboze.el (nnkiboze-request-article):
 +      Use gnus-agent-request-article.
  
        * nnagent.el (nnagent-retrieve-headers): Don't use nnml
        function.  Insert undownloaded NOV.
  
        * gnus.el (gnus-agent-cache): New variable.
  
 -      * gnus-int.el (gnus-retrieve-headers): Use
 -      gnus-agent-retrieve-headers.
 +      * gnus-int.el (gnus-retrieve-headers):
 +      Use gnus-agent-retrieve-headers.
        (gnus-request-head): Use gnus-agent-request-article.
        (gnus-request-body): Ditto.
  
 -      * gnus-art.el (gnus-request-article-this-buffer): Use
 -      gnus-agent-request-article.
 +      * gnus-art.el (gnus-request-article-this-buffer):
 +      Use gnus-agent-request-article.
  
        * gnus-sum.el (gnus-summary-read-group-1): Don't show the first
        article if it is undownloaded.
  
  2002-01-08  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * mm-encode.el (mm-content-transfer-encoding-defaults): Add
 -      application/x-emacs-lisp.
 +      * mm-encode.el (mm-content-transfer-encoding-defaults):
 +      Add application/x-emacs-lisp.
  
        * gnus-msg.el (gnus-bug): Use application/emacs-lisp.
  
  2002-01-07  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
  
        * nneething.el (nneething-request-article): When a non-text file
 -      is converted to an article, its data is encoded in base64.  Call
 -      `nneething-make-head' with options to specify MIME types.
 +      is converted to an article, its data is encoded in base64.
 +      Call `nneething-make-head' with options to specify MIME types.
        (nneething-make-head): Add optional arguments to specify MIME
        types.
  
  
  2002-01-06  Simon Josefsson  <jas@extundo.com>
  
 -      * imap.el (imap-ssl-open, imap-ssl-open, imap-parse-fetch): Use
 -      condition-case, not ignore-errors.
 +      * imap.el (imap-ssl-open, imap-ssl-open, imap-parse-fetch):
 +      Use condition-case, not ignore-errors.
  
  2002-01-06  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-sum.el (gnus-summary-insert-old-articles): Bind
 -      gnus-fetch-old-headers.
 +      * gnus-sum.el (gnus-summary-insert-old-articles):
 +      Bind gnus-fetch-old-headers.
  
        * gnus-art.el (article-display-x-face): Use the current buffer
        unless `W f'.  Otherwise, X-Face may be shown in the header of a
  
  2002-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-group.el (gnus-group-read-ephemeral-group): Fix
 -      parameters.
 +      * gnus-group.el (gnus-group-read-ephemeral-group):
 +      Fix parameters.
  
  2002-01-06  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        (mm-detect-coding-region): New function.
        (mm-detect-mime-charset-region): New function.
  
 -      * gnus-sum.el (gnus-summary-show-article): Use
 -      mm-detect-coding-region.
 +      * gnus-sum.el (gnus-summary-show-article):
 +      Use mm-detect-coding-region.
  
  2002-01-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  
  2002-01-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus.el (gnus-logo-color-alist): Added more colors from Luis.
 +      * gnus.el (gnus-logo-color-alist): Add more colors from Luis.
  
  2002-01-05  Keiichi Suzuki  <keiichi@nanap.org>  (tiny change)
  
  2002-01-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-sum.el (gnus-thread-latest-date): New function.
 -      (gnus-thread-sort-by-most-recent-number): Renamed.
 +      (gnus-thread-sort-by-most-recent-number): Rename.
        (gnus-thread-sort-functions): Doc fix.
        (gnus-select-group-hook): Don't use setq on a hook.
        (gnus-thread-latest-date): Use date, not number.
        * gnus-agent.el (gnus-agent-expire-days): Doc fix.
        (gnus-agent-expire): Allow regexp of expire-days.
  
 -      * gnus-art.el (gnus-article-reply-with-original): Deactivate
 -      region.
 +      * gnus-art.el (gnus-article-reply-with-original):
 +      Deactivate region.
        (gnus-article-followup-with-original): Ditto.
  
        * gnus-sum.el (gnus-thread-highest-number): Doc fix.
  
 -      * gnus-art.el (gnus-mime-display-alternative): Use
 -      gnus-local-map-property.
 +      * gnus-art.el (gnus-mime-display-alternative):
 +      Use gnus-local-map-property.
        (gnus-mime-display-alternative): Ditto.
        (gnus-insert-mime-security-button): Ditto.
        (gnus-insert-next-page-button): Ditto.
        "X-Face: " to the data in the built-in scenario.
  
        * gnus-spec.el (gnus-parse-simple-format): Use gnus-pad-form.
 -      (gnus-correct-pad-form): Renamed.
 +      (gnus-correct-pad-form): Rename.
        (gnus-tilde-max-form): Clean up.
        (gnus-pad-form): Use gnus-use-correct-string-widths.
  
  
        * gnus-fun.el (gnus-display-x-face-in-from): Use face.
  
 -      * gnus-ems.el (gnus-article-xface-ring-internal): Removed.
 -      (gnus-article-xface-ring-size): Removed.
 -      (gnus-article-display-xface): Removed.
 +      * gnus-ems.el (gnus-article-xface-ring-internal): Remove.
 +      (gnus-article-xface-ring-size): Remove.
 +      (gnus-article-display-xface): Remove.
        (gnus-remove-image): Cleaned up.
  
        * gnus-xmas.el (gnus-xmas-create-image): Convert pbm to xbm.
        (gnus-xmas-create-image): Take pbm files.
 -      (gnus-x-face): Removed.
 -      (gnus-xmas-article-display-xface): Removed.
 +      (gnus-x-face): Remove.
 +      (gnus-xmas-article-display-xface): Remove.
  
 -      * gnus-fun.el (gnus-display-x-face-in-from): Bind
 -      default-enable-multibyte-characters.
 +      * gnus-fun.el (gnus-display-x-face-in-from):
 +      Bind default-enable-multibyte-characters.
  
        * compface.el (uncompface): Doc fix.
  
 -      * gnus-art.el (gnus-article-x-face-command): Use
 -      gnus-display-x-face-in-from.
 +      * gnus-art.el (gnus-article-x-face-command):
 +      Use gnus-display-x-face-in-from.
  
        * gnus-xmas.el (gnus-xmas-put-image): Return the image.
  
        * gnus-ems.el (gnus-put-image): Return the image.
  
        * gnus-fun.el (gnus-display-x-face-in-from): New function.
 -      (gnus-x-face): Moved here.
 +      (gnus-x-face): Move here.
  
  2002-01-04  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
        * gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Use uncompface.
  
 -      * compface.el (compface-xbm-p): Removed.
 +      * compface.el (compface-xbm-p): Remove.
  
 -      * gnus-ems.el (gnus-article-compface-xbm): Removed.
 +      * gnus-ems.el (gnus-article-compface-xbm): Remove.
        (gnus-article-display-xface): Use compface.
  
        * compface.el: New file.
  
  2002-01-03  Paul Jarc  <prj@po.cwru.edu>
  
 -      * nnmaildir.el (nnmaildir-request-expire-articles): Evaluate
 -      the expire-group parameter once per article rather than once
 +      * nnmaildir.el (nnmaildir-request-expire-articles):
 +      Evaluate the expire-group parameter once per article rather than once
        per group; bind `nnmaildir-article-file-name' and `article'
        for convenience.  Leave article alone when expire-group
        specifies the current group.
  
  2002-01-03  Dave Love  <d.love@dl.ac.uk>
  
 -      * gnus-start.el (gnus-startup-file-coding-system): Removed.
 +      * gnus-start.el (gnus-startup-file-coding-system): Remove.
        (gnus-read-init-file): Don't use it.
  
  2002-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2002-01-03  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus.el (gnus-summary-line-format): Added :link.
 +      * gnus.el (gnus-summary-line-format): Add :link.
        * gnus-topic.el (gnus-topic-line-format): Ditto.
        * gnus-sum.el (gnus-summary-dummy-line-format): Ditto.
        * gnus-srvr.el (gnus-server-line-format): Ditto.
  
  2002-01-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Renamed.
 +      * gnus-fun.el (gnus-convert-gray-x-face-to-xpm): Rename.
  
        * gnus-art.el (gnus-ignored-headers): Hide all X-Faces.
        (article-display-x-face): Display gray X-Faces.
        * gnus-fun.el: New file.
        (gnus-convert-image-to-x-face-command): New variable.
        (gnus-insert-x-face): New function.
 -      (gnus-random-x-face): Renamed.
 -      (gnus-x-face-from-file): Renamed.
 +      (gnus-random-x-face): Rename.
 +      (gnus-x-face-from-file): Rename.
  
 -      * gnus-art.el (gnus-body-boundary-delimiter): Changed default to
 +      * gnus-art.el (gnus-body-boundary-delimiter): Change default to
        "_".
        (gnus-body-boundary-delimiter): Typo fix.
  
        * gnus-picon.el (gnus-picon-find-face): Search MISC for all types.
        (gnus-picon-transform-address): Search for unknown faces as well.
        (gnus-picon-find-face): Don't search "news" for MISC.
 -      (gnus-picon-user-directories): Changed default back to exclude
 +      (gnus-picon-user-directories): Change default back to exclude
        "unknown".
  
        * gnus-sum.el (gnus-summary-hide-all-threads): Reversed logic.
        keystroke.
        (gnus-topic-goto-next-topic): Ditto.
  
 -      * gnus.el (gnus-summary-line-format): Changed default.
 +      * gnus.el (gnus-summary-line-format): Change default.
  
        * nnmail.el (nnmail-extra-headers): Change default.
  
        * gnus-sum.el (gnus-extra-headers): Change default.
  
 -      * message.el (message-news-other-window): Changed "news" to
 +      * message.el (message-news-other-window): Change "news" to
        "posting".
        (message-news-other-frame): Ditto.
        (message-do-send-housekeeping): Ditto.
  
  2002-01-01  Steve Youngs  <youngs@xemacs.org>
  
 -      * gnus-xmas.el (gnus-xmas-article-display-xface): Uncomment
 -      'set-glyph-face' so x-face back/foreground can be set.
 +      * gnus-xmas.el (gnus-xmas-article-display-xface):
 +      Uncomment 'set-glyph-face' so x-face back/foreground can be set.
  
  2001-12-31  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2002-01-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-treat-smiley): Renamed command.
 +      * gnus-art.el (gnus-treat-smiley): Rename command.
        (gnus-article-remove-images): New command and keystroke.
  
 -      * gnus-sum.el (gnus-summary-toggle-smiley): Removed.
 +      * gnus-sum.el (gnus-summary-toggle-smiley): Remove.
  
 -      * smiley-ems.el (gnus-smiley-display): Removed.
 +      * smiley-ems.el (gnus-smiley-display): Remove.
  
        * gnus.el (gnus-version-number): Update version.
  
 -      * message.el (message-text-with-property): Renamed and moved
 +      * message.el (message-text-with-property): Rename and moved
        here.
        (message-fix-before-sending): Highlight invisible text and place
        point there.
  
  2002-01-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-delay.el (gnus-delay-send-queue): Renamed.
 +      * gnus-delay.el (gnus-delay-send-queue): Rename.
  
        * gnus-art.el (gnus-ignored-headers): More headers.
  
  
  2001-12-31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-group.el (gnus-group-line-format): Added %O to the default
 +      * gnus-group.el (gnus-group-line-format): Add %O to the default
        value.
  
        * gnus-util.el (gnus-text-with-property): The smallest point is
  
        * gnus-ems.el (gnus-article-display-xface): Mark and store image.
  
 -      * gnus-art.el (gnus-article-wash-status-entry): Renamed.
 +      * gnus-art.el (gnus-article-wash-status-entry): Rename.
        (gnus-article-wash-status): Use it.
        (gnus-signature-toggle): Clean up.
        (gnus-add-wash-status): New function.
        * smiley-ems.el (gnus-smiley-file-types): New variable.
        (smiley-update-cache): Use it.
        (smiley-regexp-alist): Suffix-less smiley names.
 -      (smiley-regexp-alist): Added more smileys.
 +      (smiley-regexp-alist): Add more smileys.
  
        * gnus-sum.el (gnus-print-buffer): Made into own function.
        (gnus-summary-print-article): Use it.
  
  2001-12-31  Simon Josefsson  <jas@extundo.com>
  
 -      * imap.el (imap-parse-fetch): Notice empty flags responses.  From
 -      Nic Ferrier <nferrier@tf1.tapsellferrier.co.uk>.
 +      * imap.el (imap-parse-fetch): Notice empty flags responses.
 +      From Nic Ferrier <nferrier@tf1.tapsellferrier.co.uk>.
  
  2001-12-30  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-article-treat-fold-newsgroups): Don't
 -      infloop.
 +      * gnus-art.el (gnus-article-treat-fold-newsgroups):
 +      Don't infloop.
  
        * gnus-sum.el (t): New `W D' map.
  
        * gnus-art.el (gnus-treat-fold-newsgroups): New variable.
        (gnus-article-treat-body-boundary): Clean up.
 -      (gnus-body-boundary-face): Removed.
 -      (gnus-article-goto-header): Moved here.
 +      (gnus-body-boundary-face): Remove.
 +      (gnus-article-goto-header): Move here.
        (gnus-article-goto-header): Allow better regexps.
        (gnus-article-treat-fold-newsgroups): New command.
  
        * mail-parse.el (mail-header-fold-line): New alias.
        (mail-header-unfold-line): Ditto.
  
 -      * gnus-art.el (gnus-body-boundary-face): Renamed.
 +      * gnus-art.el (gnus-body-boundary-face): Rename.
        (gnus-article-treat-body-boundary): Use it.
        (gnus-article-treat-body-boundary): Use an invisible header and a
        line of underline characters.
        (gnus-picon-transform-address): Use it.  Set first to t for each
        address.
  
 -      * gnus-art.el (gnus-with-article-headers): Move to here.  Define
 -      the macro then use it.
 +      * gnus-art.el (gnus-with-article-headers): Move to here.
 +      Define the macro then use it.
        (gnus-treatment-function-alist): Treat picons earlier.
  
  2001-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
        * gnus-xmas.el (gnus-xmas-group-startup-message): Use general
        colors.
  
 -      * gnus.el (gnus-logo-color-alist): Moved here and renamed.
 +      * gnus.el (gnus-logo-color-alist): Move here and renamed.
        (gnus-logo-color-style): Ditto.
        (gnus-logo-colors): Ditto.
  
        * ietf-drums.el (ietf-drums-parse-addresses): Accept a nil
        string.
  
 -      * gnus-picon.el (gnus-treat-mail-picon): Renamed.
 +      * gnus-picon.el (gnus-treat-mail-picon): Rename.
  
        * gnus-art.el (gnus-treat-cc-picon): New variable.
 -      (gnus-treat-mail-picon): Renamed.
 +      (gnus-treat-mail-picon): Rename.
  
        * gnus-picon.el: New implementation.
 -      (gnus-picon-find-face): Renamed.
 +      (gnus-picon-find-face): Rename.
        (gnus-treat-from-picon): Use it.
 -      (gnus-picon-transform-address): Renamed.
 +      (gnus-picon-transform-address): Rename.
        (gnus-treat-from-picon): Use it.
 -      (gnus-picon-create-glyph): Renamed.
 +      (gnus-picon-create-glyph): Rename.
        (gnus-picon-transform-address): Use it.
        (gnus-treat-cc-picon): New command.
  
 -      * mm-decode.el (mm-create-image-xemacs): Separated out into
 +      * mm-decode.el (mm-create-image-xemacs): Separate out into
        function.
        (mm-get-image): Use it.
  
        * gnus-art.el (gnus-treat-display-picons): Simplify.
 -      (gnus-treat-from-picon): Renamed.
 +      (gnus-treat-from-picon): Rename.
  
        * gnus-ems.el (gnus-create-image): New function.
        (gnus-put-image): New function.
  2001-12-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
        * gnus-art.el (gnus-treat-unfold-lines): New variable.
 -      (gnus-treat-unfold-headers): Renamed.
 +      (gnus-treat-unfold-headers): Rename.
        (gnus-article-treat-unfold-headers): New command and keystroke.
  
        * rfc2047.el (rfc2047-encode-message-header): Clean up.
  
  2001-12-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-picon.el (gnus-picons-news-directories): Removed obsolete
 +      * gnus-picon.el (gnus-picons-news-directories): Remove obsolete
        alias.
        (gnus-picons-database): Default to list.
        (gnus-picons-lookup-internal): Use it.
        * gnus-art.el (gnus-treatment-function-alist): Emphasize after
        other treatments.
  
 -      * gnus-util.el (gnus-put-overlay-excluding-newlines): New
 -      function.
 +      * gnus-util.el (gnus-put-overlay-excluding-newlines):
 +      New function.
  
        * gnus-art.el (gnus-article-show-hidden-text): Remove the type
        from the list of hidden types.
  
  2001-12-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-art.el (gnus-ignored-headers): Added more headers.
 +      * gnus-art.el (gnus-ignored-headers): Add more headers.
  
  2001-12-29  Jesper Harder  <harder@ifa.au.dk>
  
  
  2001-12-28  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-srvr.el (gnus-browse-foreign-server): Fix typo.  From
 -      Jesper Harder <harder@ifa.au.dk>.
 +      * gnus-srvr.el (gnus-browse-foreign-server): Fix typo.
 +      From Jesper Harder <harder@ifa.au.dk>.
  
  2001-12-27  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-sum.el (gnus-select-newsgroup): Make
 -      `gnus-newsgroup-unseen' sorted.  Make `gnus-newsgroup-unseen'
 +      * gnus-sum.el (gnus-select-newsgroup):
 +      Make `gnus-newsgroup-unseen' sorted.  Make `gnus-newsgroup-unseen'
        contain all articles (instead of none) when no seen marks have
        been set for the group.
        (gnus-update-marks): Use `gnus-range-add' on a uncompressed list
  
  2001-12-26 11:00:00  Jesper Harder  <harder@ifa.au.dk>
  
 -      * mm-util.el (mm-iso-8859-x-to-15-region): Use
 -      insert-before-markers.
 +      * mm-util.el (mm-iso-8859-x-to-15-region):
 +      Use insert-before-markers.
  
  2001-12-26  Paul Jarc  <prj@po.cwru.edu>
  
  
  2001-12-22 22:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-group.el (gnus-group-read-ephemeral-group): Call
 -      gnus-group-real-name.
 +      * gnus-group.el (gnus-group-read-ephemeral-group):
 +      Call gnus-group-real-name.
  
        * gnus-sum.el (gnus-decode-encoded-word-methods): Backslash paren.
        (gnus-newsgroup-variables): Ditto.
  
        * nnimap.el (top-level): Don't require cl.  Suggested by ShengHuo
        ZHU <zsh@cs.rochester.edu>.
 -      (nnimap-close-group): Don't quote KEYLIST items.  Suggested by
 -      Brian P Templeton <bpt@tunes.org>.
 +      (nnimap-close-group): Don't quote KEYLIST items.
 +      Suggested by Brian P Templeton <bpt@tunes.org>.
  
  2001-12-19 17:00:00  Paul Jarc  <prj@po.cwru.edu>
  
  
        * gnus-salt.el (gnus-tree-recenter, gnus-generate-tree)
        (gnus-generate-tree, gnus-highlight-selected-tree)
 -      (gnus-highlight-selected-tree, gnus-tree-highlight-article): Use
 -      it.
 +      (gnus-highlight-selected-tree, gnus-tree-highlight-article):
 +      Use it.
  
        * gnus-art.el (gnus-article-set-window-start)
        (gnus-mm-display-part, gnus-request-article-this-buffer)
  
  2001-12-13  Josh Huber  <huber@alum.wpi.edu>
  
 -      * gnus-cus.el (gnus-extra-topic-parameters): Added topic parameter
 +      * gnus-cus.el (gnus-extra-topic-parameters): Add topic parameter
        subscribe-level
        * gnus-topic.el (gnus-subscribe-topics): Use it.
  
  
  2001-12-07 09:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnrss.el (nnrss-decode-entities-unibyte-string): Use
 -      mm-url-decode-entities-nbsp.
 +      * nnrss.el (nnrss-decode-entities-unibyte-string):
 +      Use mm-url-decode-entities-nbsp.
  
        * nnlistserv.el, nnultimate.el, nnwarchive.el, nnweb.el:
        * webmail.el, nnwfm.el: Use mm-url.
  
  2001-12-06 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnweb.el (nnweb-replace-in-string): Removed.
 +      * nnweb.el (nnweb-replace-in-string): Remove.
  
        * gnus-util.el (gnus-replace-in-string): New function.
        (gnus-mode-string-quote): Use it.
  
  2001-12-01 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-sum.el (gnus-summary-save-article): Nix
 -      gnus-display-mime-function and gnus-article-prepare-hook.
 +      * gnus-sum.el (gnus-summary-save-article):
 +      Nix gnus-display-mime-function and gnus-article-prepare-hook.
  
        * gnus-spec.el (gnus-parse-complex-format): Properly handle %C at
        the beginning of lines.
  2001-11-29  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
        * message.el (message-newgroups-header-regexp)
 -      (message-completion-alist, message-tab-body-function): Use
 -      defcustom rather than defvar.
 +      (message-completion-alist, message-tab-body-function):
 +      Use defcustom rather than defvar.
        (message-tab): Mention `message-tab-body-function' in doc.
        Suggested by Karl Eichwalder.
  
  
        * message.el (message-mode): make-local-hook is harmless in Emacs 21.
  
 -      * gnus-msg.el (gnus-configure-posting-styles): Use
 -      make-local-hook.  Add LOCAL for add-hook.
 +      * gnus-msg.el (gnus-configure-posting-styles):
 +      Use make-local-hook.  Add LOCAL for add-hook.
  
  2001-11-27  Per Abrahamsen  <abraham@dina.kvl.dk>
  
  
  2001-11-15  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus-art.el (gnus-article-wash-status-strings): Use
 -      `copy-sequence', not `copy-seq'.
 +      * gnus-art.el (gnus-article-wash-status-strings):
 +      Use `copy-sequence', not `copy-seq'.
  
  2001-11-15  Per Abrahamsen  <abraham@dina.kvl.dk>
  
  2001-11-12  Simon Josefsson  <jas@extundo.com>
  
        * mml1991.el (mml1991-use, mml1991-function-alist): New variables.
 -      (mml1991-gpg-sign, mml1991-gpg-encrypt): Renamed, from
 +      (mml1991-gpg-sign, mml1991-gpg-encrypt): Rename, from
        `mml1991-sign' and `mml1991-encrypt'.
        (mml1991-encrypt, mml1991-sign): New glue functions.
        (mml1991-mailcrypt-sign, mml1991-mailcrypt-encrypt): New functions.
  
        * message.el (top-level): Autoload sha1.
        (message-canlock-generate): Use sha1 instead of md5 (sha1 used by
 -      canlock, no need to require two different hash algs).  Suggested
 -      by Ferenc Wagner <wferi@bolyai1.elte.hu>.
 +      canlock, no need to require two different hash algs).
 +      Suggested by Ferenc Wagner <wferi@bolyai1.elte.hu>.
  
  2001-11-09  Pavel Janík  <Pavel@Janik.cz>
  
  
        * sieve-mode.el (sieve-control-commands-face)
        (sieve-control-commands-face, sieve-action-commands-face)
 -      (sieve-test-commands-face, sieve-tagged-arguments-face): New
 -      faces.
 +      (sieve-test-commands-face, sieve-tagged-arguments-face):
 +      New faces.
        (sieve-font-lock-keywords): Use them.
        (sieve-mode): Only set font-lock-defaults in emacs.
  
 -      * gnus-art.el (gnus-default-article-saver): Add
 -      gnus-summary-save-body-in-file.
 +      * gnus-art.el (gnus-default-article-saver):
 +      Add gnus-summary-save-body-in-file.
        (gnus-summary-write-to-file): Fix doc.
  
  2001-11-07  Simon Josefsson  <jas@extundo.com>
        (nnimap-expunge): Don't use it.
  
        * imap.el (imap-callbacks): New variable.
 -      (imap-remassoc): Copied from `gnus-remassoc'.
 +      (imap-remassoc): Copy from `gnus-remassoc'.
        (imap-add-callback): New function.
        (imap-mailbox-expunge, imap-mailbox-close): Support asynchronous
        behavior.
  
        * smiley-ems.el (smiley-update-cache): Auto detect file type.
  
 -      * message.el (message-forward-rmail-make-body): Use
 -      save-window-excursion.
 +      * message.el (message-forward-rmail-make-body):
 +      Use save-window-excursion.
        (message-encode-message-body): Search with noerror.
        (message-setup-1): Convert compose-mail send-actions to
        message-send-actions.
        (mm-charset-synonym-alist): Remove windows-125[02].  Make other
        entries conditional on not having a coding system defined for
        them.
 -      (mm-mule-charset-to-mime-charset): Use
 -      find-coding-systems-for-charsets if defined.
 +      (mm-mule-charset-to-mime-charset):
 +      Use find-coding-systems-for-charsets if defined.
        (mm-charset-to-coding-system): Don't use
        mm-get-coding-system-list.  Look in mm-charset-synonym-alist
        later.  Add last resort search of coding systems.
  
  2001-10-30 13:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-spec.el (gnus-parse-simple-format): Use
 -      buffer-substring-no-properties.
 +      * gnus-spec.el (gnus-parse-simple-format):
 +      Use buffer-substring-no-properties.
  
  2001-10-30  Katsumi Yamaoka  <yamaoka@jpl.org>
  
  
  2001-10-22  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-msg.el (gnus-extended-version): Include
 -      system-configuration.
 +      * gnus-msg.el (gnus-extended-version):
 +      Include system-configuration.
        Suggested by Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann).
  
  2001-10-22  Per Abrahamsen  <abraham@dina.kvl.dk>
  2001-10-21  Simon Josefsson  <jas@extundo.com>
  
        * nnimap.el (nnimap): Defgroup.
 -      (nnimap-strict-function, nnimap-strict-function-match): New
 -      widget, from Per Abrahamsen  <abraham@dina.kvl.dk>.
 +      (nnimap-strict-function, nnimap-strict-function-match):
 +      New widget, from Per Abrahamsen  <abraham@dina.kvl.dk>.
        (nnimap-split-crosspost, nnimap-split-inbox)
        (nnimap-split-rule, nnimap-split-predicate)
        (nnimap-split-predicate): Defcustom.
  
        * message.el (message-do-auto-fill): New version that does not
        rely on text properties, by Simon Josefsson <jas@extundo.com>.
 -      (message-setup-1): Removed the `message-field' property.
 +      (message-setup-1): Remove the `message-field' property.
  
 -      * gnus-draft.el (gnus-draft-edit-message): Removed the
 +      * gnus-draft.el (gnus-draft-edit-message): Remove the
        `message-field' property.
  
  2001-10-19  Per Abrahamsen  <abraham@dina.kvl.dk>
        * message.el (message-check-news-header-syntax): Special case
        nnvirtual groups.
  
 -      * gnus-sum.el (gnus-summary-respool-default-method): Changed
 -      customize type to `symbol'.
 +      * gnus-sum.el (gnus-summary-respool-default-method):
 +      Change customize type to `symbol'.
  
  2001-10-17 12:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-10-17  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus-msg.el (gnus-post-method): Changed two instances of
 +      * gnus-msg.el (gnus-post-method): Change two instances of
        `active' to `current' and one `null' to `not'.
  
  2001-10-16  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * message.el (message-setup-fill-variables): Use
 -      `normal-auto-fill-function' instead of `auto-fill-function'.
 +      * message.el (message-setup-fill-variables):
 +      Use `normal-auto-fill-function' instead of `auto-fill-function'.
  
  2001-10-16  Simon Josefsson  <jas@extundo.com>
  
  2001-10-12  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
        Suggested by Oliver Scholz <epameinondas@gmx.de>.
  
 -      * message.el (message-do-auto-fill): New function.  Like
 -      `do-auto-fill' but don't fill when in the message header.
 +      * message.el (message-do-auto-fill): New function.
 +      Like `do-auto-fill' but don't fill when in the message header.
        (message-setup-1): Put a text property on the message header.
        (message-setup-fill-variables): Use `message-do-auto-fill'.
  
  
  2001-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-group.el (gnus-group-name-charset-group-alist): Use
 -      `find-coding-system' for XEmacs to check whether the coding-system
 +      * gnus-group.el (gnus-group-name-charset-group-alist):
 +      Use `find-coding-system' for XEmacs to check whether the coding-system
        `utf-8' is available.
  
  2001-10-09  Per Abrahamsen  <abraham@dina.kvl.dk>
  
  2001-10-09  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * message.el (message-send-news): Allow
 -      `gnus-group-name-charset-group-alist' to affect encoding of the
 +      * message.el (message-send-news):
 +      Allow `gnus-group-name-charset-group-alist' to affect encoding of the
        "Newsgroups" and "Followup-To" headers.
  
  2001-10-07  Per Abrahamsen  <abraham@dina.kvl.dk>
        default charset for newsgroup names in accordance with USEFOR.
  
        * gnus-group.el (gnus-group-name-charset-method-alist,
 -      gnus-group-name-charset-group-alist): Removed "*" from doc
 +      gnus-group-name-charset-group-alist): Remove "*" from doc
        strings, "*" should not be used for complex variables.
  
  2001-10-06  Simon Josefsson  <jas@extundo.com>
        `gnus-article-decode-hook's except `article-decode-charset'
        instead of hardcoding call to one of them.
  
 -      * gnus-art.el (gnus-article-decode-hook): Add
 -      `article-decode-group-name'.
 +      * gnus-art.el (gnus-article-decode-hook):
 +      Add `article-decode-group-name'.
        (article-decode-group-name): New function, use `g-d-n'.
  
 -      * gnus-group.el (gnus-group-insert-group-line): Decode
 -      gnus-tmp-group using `g-d-n'.
 +      * gnus-group.el (gnus-group-insert-group-line):
 +      Decode gnus-tmp-group using `g-d-n'.
  
        * gnus-util.el (gnus-decode-newsgroups): New function.
  
  2001-10-06  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * gnus-srvr.el (gnus-browse-foreign-server): Fixed bug non-nil
 +      * gnus-srvr.el (gnus-browse-foreign-server): Fix bug non-nil
        `gnus-group-name-charset-group-alist'.
  
  2001-10-05  Simon Josefsson  <jas@extundo.com>
  
  2001-09-19  Sam Steingold  <sds@gnu.org>
  
 -      * gnus-win.el (gnus-buffer-configuration): Respect
 -      `gnus-bug-create-help-buffer'.
 +      * gnus-win.el (gnus-buffer-configuration):
 +      Respect `gnus-bug-create-help-buffer'.
  
  2001-09-18  Simon Josefsson  <jas@extundo.com>
  
  
  2001-09-14  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-start.el (gnus-group-mode-hook): Moved from gnus-group
 +      * gnus-start.el (gnus-group-mode-hook): Move from gnus-group
        (otherwise e.g. gnus-agentize in .gnus overrides the customized
        default before gnus-group is loaded and the variable set.)
  
        * nndiary.el (nndiary-request-accept-article-hooks): New.
        * nndiary.el (nndiary-request-accept-article): Use it, check
        message validity.
 -      * nndiary.el (nndiary-get-new-mail): Changed default to nil.
 +      * nndiary.el (nndiary-get-new-mail): Change default to nil.
        * nndiary.el (nndiary-schedule): Fix bug (misplaced
        condition-case): it didn't return nil on error.
        * gnus-diary.el: New version.
 -      * gnus-diary.el (gnus-diary-summary-line-format): Removed %I.
 +      * gnus-diary.el (gnus-diary-summary-line-format): Remove %I.
        * gnus-diary.el (gnus-diary-header-value-history): New.
        * gnus-diary.el (gnus-diary-narrow-to-headers): New.
        * gnus-diary.el (gnus-diary-add-header): New.
  
  2001-09-10  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
  
 -      * gnus-sum.el (gnus-select-newsgroup): Make
 -      `gnus-current-select-method' buffer-local.
 +      * gnus-sum.el (gnus-select-newsgroup):
 +      Make `gnus-current-select-method' buffer-local.
  
 -      * gnus-art.el (gnus-request-article-this-buffer): Refer
 -      `gnus-current-select-method' in the current summary buffer.
 +      * gnus-art.el (gnus-request-article-this-buffer):
 +      Refer `gnus-current-select-method' in the current summary buffer.
  
  2001-09-10  Daniel Pittman  <daniel@rimspace.net>
  
  
  2001-09-09  Simon Josefsson  <jas@extundo.com>
  
 -      * mm-decode.el (mm-inline-media-tests): Add
 -      application/x-emacs-lisp.
 -      (mm-attachment-override-types): Add
 -      application/{x-,}pkcs7-signature.
 +      * mm-decode.el (mm-inline-media-tests):
 +      Add application/x-emacs-lisp.
 +      (mm-attachment-override-types):
 +      Add application/{x-,}pkcs7-signature.
  
        * gnus-srvr.el (gnus-server-mode-hook, gnus-server-exit-hook)
        (gnus-server-line-format, gnus-server-mode-line-format)
        (nnml-request-update-info): Don't update if marks didn't change.
  
        * gnus-agent.el (gnus-agent-any-covered-gcc)
 -      (gnus-agent-add-server, gnus-agent-remove-server): Use
 -      gnus-agent-method-p.
 +      (gnus-agent-add-server, gnus-agent-remove-server):
 +      Use gnus-agent-method-p.
  
        * gnus-art.el (gnus-buttonized-mime-types): New variable.
        (gnus-unbuttonized-mime-type-p): Use it.
  
        * gnus-spec.el (gnus-compile): Don't compile gnus-version.
  
 -      * gnus-group.el (gnus-update-group-mark-positions): Bind
 -      gnus-group-update-hook to nil.
 +      * gnus-group.el (gnus-update-group-mark-positions):
 +      Bind gnus-group-update-hook to nil.
  
  2001-08-24 13:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-08-24  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-group.el (gnus-info-clear-data): Call
 -      nnfoo-request-set-mark to propagate marks.  Fix bug:
 +      * gnus-group.el (gnus-info-clear-data):
 +      Call nnfoo-request-set-mark to propagate marks.  Fix bug:
        `gnus-group-update-line' doesn't update read range unless we call
        `gnus-get-unread-articles-in-group' first.
  
  
  2001-08-20 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnslashdot.el (nnslashdot-retrieve-headers-1): Replace
 -      nnslashdot-*-retrieve-headers.
 +      * nnslashdot.el (nnslashdot-retrieve-headers-1):
 +      Replace nnslashdot-*-retrieve-headers.
        (nnslashdot-request-article): Fix for slashcode 2.2.
        (nnslashdot-make-tuple): New function.
        (nnslashdot-read-groups): Use it.
  
        * mm-view.el (mm-inline-text): Ignore vcard errors.
  
 -      * gnus-art.el (gnus-ignored-headers): Added more junk headers.
 +      * gnus-art.el (gnus-ignored-headers): Add more junk headers.
  
        * gnus-score.el (gnus-all-score-files): Use append instead of
        nconc.
  
        * gnus.el (gnus-splash-face): Doc fix.
  
 -      * mm-decode.el (mm-mailcap-command): Use
 -      mm-path-name-rewrite-functions.
 +      * mm-decode.el (mm-mailcap-command):
 +      Use mm-path-name-rewrite-functions.
        (mm-path-name-rewrite-functions): New variable.
  
        * gnus-spec.el (gnus-parse-complex-format): React to ?=.
        the positional spec.
        (gnus-parse-complex-format): React to %C.
  
 -      * gnus-ems.el (gnus-char-width): Moved here.
 +      * gnus-ems.el (gnus-char-width): Move here.
  
 -      * gnus-sum.el (gnus-select-newsgroup): Set
 -      gnus-newsgroup-articles.
 +      * gnus-sum.el (gnus-select-newsgroup):
 +      Set gnus-newsgroup-articles.
        (gnus-unseen-mark): New variable.
        (gnus-newsgroup-unseen): Ditto.
        (gnus-newsgroup-seen): Ditto.
  
  2001-08-18  Simon Josefsson  <jas@extundo.com>
  
 -      * gnus-util.el (gnus-remassoc, gnus-update-alist-soft): Moved from
 +      * gnus-util.el (gnus-remassoc, gnus-update-alist-soft): Move from
        nnimap.
  
 -      * nnimap.el (nnimap-remassoc, nnimap-update-alist-soft): Moved to
 +      * nnimap.el (nnimap-remassoc, nnimap-update-alist-soft): Move to
        gnus-util.
        (nnimap-request-update-info-internal): Use new functions.
  
 -      * nnml.el (nnml-request-set-mark, nnml-request-update-info): Use
 -      new functions.
 +      * nnml.el (nnml-request-set-mark, nnml-request-update-info):
 +      Use new functions.
  
  2001-08-18  Simon Josefsson  <jas@extundo.com>
  
        * gnus-start.el (gnus-setup-news): Push the archive server only
        the server list.
  
 -      * mml.el (mml-menu): Changed name to "Attachments".
 +      * mml.el (mml-menu): Change name to "Attachments".
  
        * mm-decode.el (mm-destroy-postponed-undisplay-list): Only message
        when there is something to destroy.
        `nnmail-split-history' if recent is > 0.
        (nnimap-request-update-info-internal): Update `recent' marks.
        (nnimap-request-set-mark): Never set `recent' marks.
 -      (nnimap-mark-to-predicate-alist, nnimap-mark-to-flag-alist): Add
 -      recent.
 +      (nnimap-mark-to-predicate-alist, nnimap-mark-to-flag-alist):
 +      Add recent.
  
        * gnus-sum.el (gnus-recent-mark): New mark.
        (gnus-newsgroup-recent): New variable.
  
  2001-08-12  Simon Josefsson  <jas@extundo.com>
  
 -      * mm-bodies.el (mm-decode-content-transfer-encoding): Returns
 -      whether successful decoding took place.  Add doc.
 +      * mm-bodies.el (mm-decode-content-transfer-encoding):
 +      Returns whether successful decoding took place.  Add doc.
  
  2001-08-12  Simon Josefsson  <jas@extundo.com>
        Suggested by Per Abrahamsen <abraham@dina.kvl.dk>
  
  2001-08-10 02:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-ml.el (turn-on-gnus-mailing-list-mode): Use
 -      gnus-group-find-parameter.  Suggested by Janne Rinta-Manty
 +      * gnus-ml.el (turn-on-gnus-mailing-list-mode):
 +      Use gnus-group-find-parameter.  Suggested by Janne Rinta-Manty
        <rintaman@cs.Helsinki.FI>.
  
        * mail-source.el (mail-source-movemail): The error buffer is
  
  2001-08-09 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nndraft.el (nndraft-request-group): Use
 -      nndraft-auto-save-file-name.
 +      * nndraft.el (nndraft-request-group):
 +      Use nndraft-auto-save-file-name.
  
  2001-08-09  Simon Josefsson  <jas@extundo.com>
  
  
  2001-08-09  Simon Josefsson  <jas@extundo.com>
  
 -      * message.el (message-get-reply-headers): Fix string.  Suggested by
 -      Christoph Conrad <cc@cli.de>.
 +      * message.el (message-get-reply-headers): Fix string.
 +      Suggested by Christoph Conrad <cc@cli.de>.
  
  2001-08-08 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-08-04  Nuutti Kotivuori  <nuutti.kotivuori@smarttrust.com>
  
 -      * gnus-sum.el (gnus-summary-show-article): Call
 -      gnus-summary-update-secondary-secondary-mark.
 +      * gnus-sum.el (gnus-summary-show-article):
 +      Call gnus-summary-update-secondary-secondary-mark.
        * gnus-sum.el (gnus-summary-edit-article-done): Ditto.
        * gnus-sum.el (gnus-summary-reparent-thread): Ditto.
  
  
  2001-08-06  Florian Weimer  <fw@deneb.enyo.de>
  
 -      * message.el (message-indent-citation): Use
 -      `message-yank-cited-prefix' for empty lines.
 +      * message.el (message-indent-citation):
 +      Use `message-yank-cited-prefix' for empty lines.
  
  2001-08-05  Florian Weimer  <fw@deneb.enyo.de>
  
  
  2001-08-05  Nuutti Kotivuori  <nuutti.kotivuori@smarttrust.com>  (tiny change)
  
 -      * gnus-cache.el (gnus-cache-possibly-enter-article): Use
 -      gnus-cache-fully-p.
 +      * gnus-cache.el (gnus-cache-possibly-enter-article):
 +      Use gnus-cache-fully-p.
  
  2001-08-04  Simon Josefsson  <jas@extundo.com>
  
  2001-08-04  Simon Josefsson  <jas@extundo.com>
  
        * gnus-cache.el (gnus-cache-possibly-enter-article): Revert.
 -      (gnus-cache-passively-or-fully-p): Removed.
 +      (gnus-cache-passively-or-fully-p): Remove.
        (gnus-cache-fully-p): Fix it.
  
        * mm-view.el (mm-pkcs7-signed-magic): Support more ASN.1 lengths.
  
  2001-08-04 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (gnus-mime-security-verify-or-decrypt): Insert
 -      before remove.
 +      * gnus-art.el (gnus-mime-security-verify-or-decrypt):
 +      Insert before remove.
        (gnus-mime-security-show-details): Ditto.
  
  2001-08-04  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
  2001-08-02  Simon Josefsson  <jas@extundo.com>
  
 -      * smime.el (smime-extra-arguments): Removed.
 +      * smime.el (smime-extra-arguments): Remove.
        (smime-call-openssl-region): Don't use it.
  
  2001-08-02  Simon Josefsson  <jas@extundo.com>
        * smime.el (smime-sign-region): Handle stderr.
        (smime-encrypt-region): Ditto.
  
 -      * mm-view.el (mm-pkcs7-signed-magic): Make it a regexp.  Don't
 -      match the ASN.1 length bytes.
 +      * mm-view.el (mm-pkcs7-signed-magic): Make it a regexp.
 +      Don't match the ASN.1 length bytes.
        (mm-pkcs7-enveloped-magic): Ditto.
        (mm-view-pkcs7-get-type): Don't regexp quote.
  
  
        * smime.el (smime-call-openssl-region): Revert previous change,
        just pass on buf to `call-process-region'.
 -      (smime-verify-region): Doc fix.  Don't message stuff.  Use
 -      `smime-new-details-buffer'.  Inserts error messages into buffer.
 +      (smime-verify-region): Doc fix.  Don't message stuff.
 +      Use `smime-new-details-buffer'.  Inserts error messages into buffer.
        (smime-noverify-region): Ditto.
        (smime-decrypt-region): Ditto.  Handles stderr separately.
        (smime-verify-buffer, smime-noverify-buffer)
  
  2001-07-30 12:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (gnus-mime-save-part-and-strip): Save
 -      gnus-article-mime-handles.
 +      * gnus-art.el (gnus-mime-save-part-and-strip):
 +      Save gnus-article-mime-handles.
  
  2001-07-29  Simon Josefsson  <jas@extundo.com>
  
        * gnus.el (gnus-summary-line-format): Mention `gnus-sum-thread-*'
        for %B spec.
  
 -      * gnus-sum.el (gnus-summary-prepare-threads): If
 -      gnus-sum-thread-tree-root is nil, use subject instead.
 +      * gnus-sum.el (gnus-summary-prepare-threads):
 +      If gnus-sum-thread-tree-root is nil, use subject instead.
        (gnus-sum-thread-tree-root, gnus-sum-thread-tree-single-indent)
        (gnus-sum-thread-tree-vertical, gnus-sum-thread-tree-indent)
        (gnus-sum-thread-tree-leaf-with-other)
  
  2001-07-27 12:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnfolder.el (nnfolder-request-accept-article): Bind
 -      nntp-server-buffer.
 +      * nnfolder.el (nnfolder-request-accept-article):
 +      Bind nntp-server-buffer.
  
        * nnmail.el (nnmail-parse-active): Read from buffer instead of
        nntp-server-buffer.
  
  2001-07-27 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * message.el (message-check-news-header-syntax): Use
 -      message-post-method.
 +      * message.el (message-check-news-header-syntax):
 +      Use message-post-method.
        (message-send-news): Bind message-post-method.
  
  2001-07-27 07:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2001-07-26 22:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnfolder.el (nnfolder-request-accept-article): Replace
 -      nnfolder-request-list.
 +      * nnfolder.el (nnfolder-request-accept-article):
 +      Replace nnfolder-request-list.
  
  2001-07-27  Simon Josefsson  <jas@extundo.com>
  
  
        * gnus-art.el (gnus-mm-display-part): Narrow to point if eobp.
  
 -      * message.el (message-set-auto-save-file-name): More
 -      poor-system-types.
 +      * message.el (message-set-auto-save-file-name):
 +      More poor-system-types.
  
        * mailcap.el (mailcap-parse-mimetypes): poor-system-types.
  
  
  2001-07-25 22:22:22  Raymond Scholz  <rscholz@zonix.de>
  
 -      * nnmail.el (nnmail-split-fancy-with-parent-ignore-groups): New
 -      variable.
 +      * nnmail.el (nnmail-split-fancy-with-parent-ignore-groups):
 +      New variable.
        (nnmail-split-fancy-with-parent): Ignore certain groups.
  
  2001-07-25 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2001-07-23  Katsumi Yamaoka  <yamaoka@jpl.org>
  
 -      * gnus-start.el (gnus-setup-news): Call
 -      `gnus-check-bogus-newsgroups' just after the native server is
 +      * gnus-start.el (gnus-setup-news):
 +      Call `gnus-check-bogus-newsgroups' just after the native server is
        opened.
  
  2001-07-23  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
        * mm-util.el (mm-read-coding-system): Take two arguments.
  
 -      * gnus-sum.el (gnus-summary-show-article): Use
 -      mm-read-coding-system.
 +      * gnus-sum.el (gnus-summary-show-article):
 +      Use mm-read-coding-system.
  
        * gnus-art.el (article-de-quoted-unreadable):
        (article-de-base64-unreadable, article-wash-html):
        * nntp.el (nntp-request-newgroups): Use UTC date for NEWGROUPS
        command.
  
 -      * gnus-start.el (gnus-find-new-newsgroups): Use
 -      `message-make-date' instead of `current-time-string'.
 +      * gnus-start.el (gnus-find-new-newsgroups):
 +      Use `message-make-date' instead of `current-time-string'.
        (gnus-ask-server-for-new-groups): Ditto.
        (gnus-check-first-time-used): Ditto.
  
  
  2001-07-12  Björn Torkelsson  <torkel@hpc2n.umu.se>
  
 -      * gnus-srvr.el (gnus-browse-make-menu-bar): Changed one of the
 +      * gnus-srvr.el (gnus-browse-make-menu-bar): Change one of the
        Browse->Next entries to Browse->Prev.
  
  2001-07-11 22:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  2001-06-15 09:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (article-strip-multiple-blank-lines): Use
 -      delete-region instead of replace-match.
 +      * gnus-art.el (article-strip-multiple-blank-lines):
 +      Use delete-region instead of replace-match.
  
  2001-06-14 16:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-06-05  Alex Schroeder  <alex@gnu.org>
  
 -      * mm-decode.el (mm-handle-set-external-undisplayer): Don't
 -      generate compiler warnings.
 +      * mm-decode.el (mm-handle-set-external-undisplayer):
 +      Don't generate compiler warnings.
  
  2001-06-04  Hrvoje Niksic  <hniksic@arsdigita.com>
  
  
  2001-04-25  Per Abrahamsen  <abraham@dina.kvl.dk>
  
 -      * mm-uu.el (mm-uu-configure-list): Fixed customize type.
 +      * mm-uu.el (mm-uu-configure-list): Fix customize type.
  
  2001-04-24  Hrvoje Niksic  <hniksic@arsdigita.com>
  
  
  2001-04-02  Nevin Kapur  <nevin@jhu.edu>
  
 -      * nnmail.el (nnmail-split-it): Added check for .* at the end of
 +      * nnmail.el (nnmail-split-it): Add check for .* at the end of
        regexp in nnmail-split-fancy.
  
  2001-04-10  Simon Josefsson  <simon@josefsson.org>
  
  2001-03-31 00:03:42  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-msg.el (gnus-inews-insert-draft-meta-information): Allow
 -      lists of articles.
 +      * gnus-msg.el (gnus-inews-insert-draft-meta-information):
 +      Allow lists of articles.
  
        * gnus-uu.el (gnus-uu-digest-mail-forward): Mark as forwarded.
  
        forwarded.
        (gnus-summary-mail-forward): Clean up.
  
 -      * gnus.el (gnus-article-mark-lists): Added forward.
 +      * gnus.el (gnus-article-mark-lists): Add forward.
  
        * gnus-sum.el (gnus-forwarded-mark): New variable.
        (gnus-summary-prepare-threads): Use it.
  
  2001-03-15 09:47:23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nnultimate.el (nnultimate-retrieve-headers): Understand
 -      long-form month names.
 +      * nnultimate.el (nnultimate-retrieve-headers):
 +      Understand long-form month names.
  
  2001-03-18 23:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * gnus-sum.el (gnus-summary-show-all-headers):
 -      gnus-article-show-all-headers is broken.  Use
 -      gnus-summary-toggle-header instead.
 +      gnus-article-show-all-headers is broken.
 +      Use gnus-summary-toggle-header instead.
  
        * mml2015.el (mml2015-gpg-extract-from): No error.
  
  
  2001-03-17 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * message.el (message-setup-fill-variables): Use
 -      fill-paragraph-function.
 +      * message.el (message-setup-fill-variables):
 +      Use fill-paragraph-function.
        (message-fill-paragraph): Take an argument.
        (message-newline-and-reformat): Take another argument.
  
  
  2001-03-16  Simon Josefsson  <simon@josefsson.org>
  
 -      * nnimap.el (nnimap-dont-use-nov-p): Renamed from
 +      * nnimap.el (nnimap-dont-use-nov-p): Rename from
        `nnimap-use-nov-p' (it really tested the negative).
        (nnimap-retrieve-headers): Use it.
  
        * mm-util.el, message.el, rfc2047.el, gnus-sum.el, gnus-score.el:
        Sync with Emacs 21 (tag EMACS_PRETEST_21_0_100).
  
- ;;Has been fixed -- zsh.
- ;;2001-03-05  Dave Love  <fx@gnu.org>
- ;;
;;    * mm-util.el (mm-mime-mule-charset-alist): Fix utf-8 case.
;;    Move it after definition of mm-coding-system-p.
- ;;
      ;;Has been fixed -- zsh.
      ;;2001-03-05  Dave Love  <fx@gnu.org>
      ;;
      ;; * mm-util.el (mm-mime-mule-charset-alist): Fix utf-8 case.
      ;; Move it after definition of mm-coding-system-p.
      ;;
  2001-03-01  Dave Love  <fx@gnu.org>
  
 -      * mm-util.el (mm-inhibit-file-name-handlers): Add
 -      image-file-handler.
 +      * mm-util.el (mm-inhibit-file-name-handlers):
 +      Add image-file-handler.
  
  2001-02-11  Dave Love  <fx@gnu.org>
  
        * gnus-score.el (gnus-score-find-bnews): Print messages on illegal
        SCORE paths.
  
 -      * mm-decode.el (mm-dissect-buffer): Call
 -      mail-extract-address-components only if necessary.
 +      * mm-decode.el (mm-dissect-buffer):
 +      Call mail-extract-address-components only if necessary.
  
  2001-03-06 13:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-03-06 13:00:00  Adrian Aichner  <adrian@xemacs.org>
  
 -      * gnus-score.el (gnus-score-score-files-1): Use
 -      gnus-kill-files-directory.
 +      * gnus-score.el (gnus-score-score-files-1):
 +      Use gnus-kill-files-directory.
  
  2001-03-05 08:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
        * mml.el (mml-preview): Disable local map.
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Make
 -      gnus-article-post-menu here.
 +      * gnus-sum.el (gnus-summary-make-menu-bar):
 +      Make gnus-article-post-menu here.
  
        * gnus-art.el (gnus-article-make-menu-bar): Make summary-menu bar
        if it has not been made.
  
        * smiley.el (gnus-smiley-display): Don't do widening.
  
 -      * smiley-ems.el (gnus-smiley-display): Don't do widening.  Smiley
 -      within body.
 +      * smiley-ems.el (gnus-smiley-display): Don't do widening.
 +      Smiley within body.
  
        * gnus-msg.el (gnus-inews-do-gcc): Activate group anyway.
  
  
  2001-02-14 15:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus.el (gnus-define-group-parameter): Improved.
 +      * gnus.el (gnus-define-group-parameter): Improve.
  
        * gnus-sum.el (charset): Define parameter.
        (ignored-charsets): Ditto.
  
  2001-02-13 21:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-sum.el (gnus-summary-read-group-1): Remove
 -      gnus-summary-set-local-parameters.
 +      * gnus-sum.el (gnus-summary-read-group-1):
 +      Remove gnus-summary-set-local-parameters.
        (gnus-summary-setup-buffer): Put it here.
  
  2001-02-13 20:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
        (article-remove-leading-whitespace): New function.
        (gnus-article-make-menu-bar): Use it.
  
 -      * gnus-sum.el (gnus-summary-wash-empty-map): Add
 -      remove-leading-whitespace.
 +      * gnus-sum.el (gnus-summary-wash-empty-map):
 +      Add remove-leading-whitespace.
        (gnus-summary-wash-map): Bind strip-headers-in-body to `W a',
        because of conflict.
  
  
  2001-02-08  Tommi Vainikainen  <thv@iki.fi>  (tiny change)
  
 -      * gnus-sum.el (gnus-simplify-subject-re): Use
 -      message-subject-re-regexp.
 +      * gnus-sum.el (gnus-simplify-subject-re):
 +      Use message-subject-re-regexp.
  
  2001-02-08 18:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * nnmail.el (nnmail-expiry-target-group): Bind
 -      nnmail-cache-accepted-message-ids to nil.
 +      * nnmail.el (nnmail-expiry-target-group):
 +      Bind nnmail-cache-accepted-message-ids to nil.
  
        * gnus-xmas.el (gnus-xmas-article-display-xface): Use binary
        coding system.
  
  2001-02-06 02:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-xmas.el (gnus-xmas-article-menu-add): Add
 -      gnus-article-commands-menu.
 +      * gnus-xmas.el (gnus-xmas-article-menu-add):
 +      Add gnus-article-commands-menu.
  
        * gnus-sum.el (gnus-summary-make-menu-bar): Don't share menu bar
        in Emacs.
  
 -      * gnus-start.el (gnus-read-descriptions-file): Use
 -      gnus-group-name-charset and gnus-group-charset-alist.
 +      * gnus-start.el (gnus-read-descriptions-file):
 +      Use gnus-group-name-charset and gnus-group-charset-alist.
  
  2001-02-04 23:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-sum.el (gnus-summary-mark-as-processable): Understand
 -      active region.
 +      * gnus-sum.el (gnus-summary-mark-as-processable):
 +      Understand active region.
  
        * gnus-start.el (gnus-group-change-level): Remove from both
        gnus-zombie-list and gnus-killed-list.
  
  2001-02-04 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-start.el (gnus-subscribe-options-newsgroup-method): Add
 -      gnus-subscribe-topics.
 +      * gnus-start.el (gnus-subscribe-options-newsgroup-method):
 +      Add gnus-subscribe-topics.
  
        * gnus-cus.el (gnus-extra-topic-parameters): Fix doc.
  
  2001-02-04 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (gnus-article-make-menu-bar): Make
 -      gnus-article-post-menu.
 +      * gnus-art.el (gnus-article-make-menu-bar):
 +      Make gnus-article-post-menu.
  
        * gnus-xmas.el (gnus-xmas-article-menu-add): Add post menu.
  
  2001-01-31  Dave Love  <fx@gnu.org>
  
        * gnus-art.el (gnus-article-x-face-command)
 -      (gnus-treat-display-xface, gnus-treat-display-smileys): Add
 -      :version.
 +      (gnus-treat-display-xface, gnus-treat-display-smileys):
 +      Add :version.
  
  2001-01-26  Dave Love  <fx@gnu.org>
  
        * mm-util.el (mm-multibyte-string-p): New.
  
;;    * qp.el: Remove un-logged bogus changes from 2000-12-20.
;;    (quoted-printable-encode-region): Doc fix.  Don't call
;;    string-as-multibyte on class.  Clarify line-folding.
      ;; * qp.el: Remove un-logged bogus changes from 2000-12-20.
      ;; (quoted-printable-encode-region): Doc fix.  Don't call
      ;; string-as-multibyte on class.  Clarify line-folding.
        (quoted-printable-encode-string): Make temp buffer inherit
        string's multibyteness.
  
  
  2001-01-31  Karl Kleinpaste  <karl@charcoal.com>
  
 -      * nnmail.el (nnmail-remove-list-identifiers): Improved.
 +      * nnmail.el (nnmail-remove-list-identifiers): Improve.
  
  2001-01-31 09:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-01-18 18:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * message.el (message-yank-original): Understand
 -      universal-argument.
 +      * message.el (message-yank-original):
 +      Understand universal-argument.
  
  2001-01-18 16:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2001-01-15 16:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (article-display-x-face): Use
 -      gnus-original-article-buffer.
 +      * gnus-art.el (article-display-x-face):
 +      Use gnus-original-article-buffer.
  
  2001-01-15  Jack Twilley  <jmt@tbe.net>
  
        (message-make-forward-subject-function)
        (message-send-mail-function, message-reply-to-function)
        (message-wide-reply-to-function, message-followup-to-function)
 -      (message-distribution-function, message-auto-save-directory): Fix
 -      :type.
 +      (message-distribution-function, message-auto-save-directory):
 +      Fix :type.
  
        * mml.el (mml-parse-1): Frob mml-confirmation-set when
        proceeding after warnings.  Amend multipart warning message.
        compiling.
        (gnus-make-directory): Require nnmail.
  
 -      * mm-decode.el (mm-inline-media-tests): Add
 -      image/x-portable-bitmap.
 +      * mm-decode.el (mm-inline-media-tests):
 +      Add image/x-portable-bitmap.
        (mm-get-image): Grok pbm.
  
  2001-01-10  Paul Stevenson  <p.stevenson@surrey.ac.uk>
  
  2000-12-30 00:17:38  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gnus-sum.el (gnus-summary-limit-include-expunged): Really
 -      include the expunged articles.
 +      * gnus-sum.el (gnus-summary-limit-include-expunged):
 +      Really include the expunged articles.
  
        * gnus-group.el (gnus-group-sort-by-server): New function.
  
        * gnus-cite.el (gnus-article-fill-cited-article): Add a space
        after the fill prefix.
  
 -      * gnus-sum.el (gnus-summary-make-menu-bar): Removed "Enter
 +      * gnus-sum.el (gnus-summary-make-menu-bar): Remove "Enter
        score...".
  
        * gnus-art.el (gnus-ignored-headers): Hide more headers.
  
  2000-12-29 01:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * mm-util.el (mm-enable-multibyte): Use
 -      default-enable-multibyte-characters.
 +      * mm-util.el (mm-enable-multibyte):
 +      Use default-enable-multibyte-characters.
        (mm-enable-multibyte-mule4): Ditto.
        (mm-disable-multibyte): Test XEmacs.
        (mm-disable-multibyte-mule4): Ditto.
 -      (mm-with-unibyte-current-buffer): Simplified.
 +      (mm-with-unibyte-current-buffer): Simplify.
        (mm-with-unibyte-current-buffer-mule4): Ditto.
  
  2000-12-28 19:44:56  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
  2000-12-24  Simon Josefsson  <sj@extundo.com>
  
 -      * mm-bodies.el (mm-decode-content-transfer-encoding): Preserve
 -      mailing list junk at end of part.
 +      * mm-bodies.el (mm-decode-content-transfer-encoding):
 +      Preserve mailing list junk at end of part.
  
  2000-12-23  Simon Josefsson  <sj@extundo.com>
  
  
        * mml.el (gnus-ems): Don't require.
  
 -      * gnus.el (gnus-decode-rfc1522): Removed.
 +      * gnus.el (gnus-decode-rfc1522): Remove.
        (gnus-set-text-properties): Define.
  
  2000-12-21 09:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  2000-12-20 17:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * message.el (message-mail-user-agent): New variable.
 -      (message-setup): Renamed to message-setup-1.  Support
 -      mail-user-agent.
 +      (message-setup): Rename to message-setup-1.
 +      Support mail-user-agent.
        (message-mail-user-agent): New function.
        (message-mail): Use it.
        (message-reply): Use it.
  
  2000-12-20 03:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * mm-decode.el (mm-possibly-verify-or-decrypt): Use
 -      mail-extract-a-c instead.  Don't depend on Gnus.
 +      * mm-decode.el (mm-possibly-verify-or-decrypt):
 +      Use mail-extract-a-c instead.  Don't depend on Gnus.
  
        * mml.el (gnus-ems): Require it.
  
  
  2000-11-30  Dave Love  <fx@gnu.org>
  
 -      * message.el (message-auto-save-directory): Use
 -      file-name-as-directory.
 -      (message-set-auto-save-file-name): Create
 -      message-auto-save-directory if necessary.
 -      (message-replace-chars-in-string): Removed -- unused.
 +      * message.el (message-auto-save-directory):
 +      Use file-name-as-directory.
 +      (message-set-auto-save-file-name):
 +      Create message-auto-save-directory if necessary.
 +      (message-replace-chars-in-string): Remove -- unused.
        (message-mail-alias-type): Customize.
        (message-headers): Remove duplicate defgroup.
  
        * nnlistserv.el: Ignore errors when requiring nnweb and avoid a
        compiler warning.
  
- ;2000-11-26  Dave Love  <fx@gnu.org>
- ;
;     * mm-uu.el (mm-uu-configure-list): Fix typo in :type.
- ;
      ;2000-11-26  Dave Love  <fx@gnu.org>
      ;
      ; * mm-uu.el (mm-uu-configure-list): Fix typo in :type.
      ;
  2000-11-23  Dave Love  <fx@gnu.org>
  
        * uu-post.pbm, uu-decode.pbm: New files from XPMs.
  
        * mm-uu.el (uudecode): Require.
 -      (uudecode-decode-region, uudecode-decode-region-external): Don't
 -      autoload.
 +      (uudecode-decode-region, uudecode-decode-region-external):
 +      Don't autoload.
        (mm-uu-copy-to-buffer): Doc fix.
        (mm-uu-decode-function, mm-uu-binhex-decode-function): Doc, custom
        type fix.
        (mailcap): New group.
        (mailcap-download-directory): Customize.
        (mailcap-generate-unique-filename, mailcap-binary-suffixes)
 -      (mailcap-temporary-directory): Deleted (unused).
 +      (mailcap-temporary-directory): Delete (unused).
        (mailcap-unescape-mime-test): Simplify slightly.
        (mailcap-viewer-passes-test): Use functionp.
        (mailcap-command-p): Aliased to executable-find.
  
        * gnus-art.el (gnus-mime-button-map): Don't inherit from
        gnus-article-mode-map.
;     (gnus-mime-button-menu): Use mouse-set-point.
      ; (gnus-mime-button-menu): Use mouse-set-point.
        (gnus-insert-mime-button, gnus-mime-display-alternative)
        (gnus-mime-display-alternative): Don't use local-map property.
  
  
        * gnus-agent.el (gnus-agent-confirmation-function): Add :version.
        (gnus-agent-lib-file, gnus-agent-load-alist)
 -      (gnus-agent-save-alist, gnus-agent-article-name): Use
 -      expand-file-name.
 +      (gnus-agent-save-alist, gnus-agent-article-name):
 +      Use expand-file-name.
  
 -      * gnus-group.el (gnus-group-name-charset-method-alist): Add
 -      :version.
 +      * gnus-group.el (gnus-group-name-charset-method-alist):
 +      Add :version.
        (nnkiboze-score-file): Defvar when compiling.
  
        * gnus-start.el (gnus-read-newsrc-file): Add :version.
  
        * gnus-cache.el (gnus-cache-active-file): Don't use
        file-name-as-directory on directory.
 -      (gnus-cache-file-name): Use expand-file-name, not concat.  Don't
 -      use file-name-as-directory on directory.
 +      (gnus-cache-file-name): Use expand-file-name, not concat.
 +      Don't use file-name-as-directory on directory.
  
        * time-date.el (timezone-make-date-arpa-standard): Autoload.
        (date-to-time): Use it.
  
;     * message.el (message-mode) <adaptive-fill-regexp>:
;     <adaptive-fill-first-line-regexp>: Use [:alnum:] in regexp range.
;     (message-newline-and-reformat): Likewise.
      ; * message.el (message-mode) <adaptive-fill-regexp>:
      ; <adaptive-fill-first-line-regexp>: Use [:alnum:] in regexp range.
      ; (message-newline-and-reformat): Likewise.
        (message-forward-as-mime, message-forward-ignored-headers)
        (message-buffer-naming-style, message-default-charset)
        (message-dont-reply-to-names, message-send-mail-partially-limit):
        * gnus-int.el (gnus-start-news-server): Use expand-file-name, not
        concat.
  
 -      * pop3.el (pop3-version): Deleted.
 +      * pop3.el (pop3-version): Delete.
        (pop3-make-date): New function, avoiding message-make-date.
        (pop3-munge-message-separator): Use it.
  
        * message.el (tool-bar-map): Defvar when compiling.
  
        * gnus-setup.el (running-xemacs, gnus-use-installed-tm)
 -      (gnus-tm-lisp-directory): Deleted.
 -      (gnus-use-installed-mailcrypt, gnus-emacs-lisp-directory): Use
 -      (featurep 'xemacs).
 +      (gnus-tm-lisp-directory): Delete.
 +      (gnus-use-installed-mailcrypt, gnus-emacs-lisp-directory):
 +      Use (featurep 'xemacs).
        (gnus-gnus-lisp-directory, gnus-mailcrypt-lisp-directory)
 -      (gnus-mailcrypt-lisp-directory, gnus-bbdb-lisp-directory): Remove
 -      version numbers from file names.
 +      (gnus-mailcrypt-lisp-directory, gnus-bbdb-lisp-directory):
 +      Remove version numbers from file names.
  
  2000-11-08  Dave Love  <fx@gnu.org>
  
        (uudecode-char-int): New alias, replacing char-int.
        (uudecode-decode-region): Don't call buffer-disable-undo.
  
;     * mm-uu.el (mm-uu-configure): Unquote lambda.
;     (mm-uu-configure-list): Doc fix.
- ;
;     * earcon.el (running-xemacs): Don't define.
- ;
- ;2000-11-03  Stefan Monnier  <monnier@cs.yale.edu>
- ;
;     * message.el (message-font-lock-keywords): Match a final newline
;     to help font-lock's multiline support.
- ;
      ; * mm-uu.el (mm-uu-configure): Unquote lambda.
      ; (mm-uu-configure-list): Doc fix.
      ;
      ; * earcon.el (running-xemacs): Don't define.
      ;
      ;2000-11-03  Stefan Monnier  <monnier@cs.yale.edu>
      ;
      ; * message.el (message-font-lock-keywords): Match a final newline
      ; to help font-lock's multiline support.
      ;
  2000-11-03  Dave Love  <fx@gnu.org>
  
        * gnus-nocem.el (gnus-nocem-check-article-limit): Default to 500.
        * mm-decode.el (mm-display-external): Space-prefix temp buffer
        name.  Don't disable undo explicitly.
  
- ;2000-11-02  Dave Love  <fx@gnu.org>
- ;
;     * message.el (message-font-lock-keywords): Use [:alpha:] for
;     cite-prefix.
      ;2000-11-02  Dave Love  <fx@gnu.org>
      ;
      ; * message.el (message-font-lock-keywords): Use [:alpha:] for
      ; cite-prefix.
  
  2000-11-01  Dave Love  <fx@gnu.org>
  
        * rfc2047.el (base64): Require unconditionally.
        (message-posting-charset): Defvar when compiling.
 -      (rfc2047-encode-message-header, rfc2047-encodable-p): Require
 -      message.
 +      (rfc2047-encode-message-header, rfc2047-encodable-p):
 +      Require message.
  
        * gnus-sum.el (nnoo): Require.
        (mm-uu-dissect): Autoload.
  
  2000-10-09  Dave Love  <fx@gnu.org>
  
 -      * mail-source.el (mail-source-fetch-imap): Bind
 -      default-enable-multibyte-characters rather than using
 +      * mail-source.el (mail-source-fetch-imap):
 +      Bind default-enable-multibyte-characters rather than using
        mm-disable-multibyte.
  
  2000-10-05  Dave Love  <fx@gnu.org>
  
  2000-10-04  Dave Love  <fx@gnu.org>
  
 -      * smiley-ems.el (smiley-regexp-alist, smiley-update-cache): Use
 -      pbm images.
 +      * smiley-ems.el (smiley-regexp-alist, smiley-update-cache):
 +      Use pbm images.
  
        * frown.pbm, smile.pbm, wry.pbm: New files.
  
  2000-12-15 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
        * pop3.el (pop3-movemail): Use binary.
 -      (pop3-movemail-file-coding-system): Removed.
 +      (pop3-movemail-file-coding-system): Remove.
  
  2000-12-14 13:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
  2000-12-04 18:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * mail-source.el (mail-source-report-new-mail): Use
 -      nnheader-run-at-time.
 +      * mail-source.el (mail-source-report-new-mail):
 +      Use nnheader-run-at-time.
  
  2000-02-15  Andrew Innes  <andrewi@gnu.org>
  
  
  2000-12-01  Simon Josefsson  <sj@extundo.com>
  
 -      * mml-smime.el (mml-smime-verify): Don't modify MM buffer.  Handle
 -      more than one certificate inside PKCS#7 blob.  Better security
 +      * mml-smime.el (mml-smime-verify): Don't modify MM buffer.
 +      Handle more than one certificate inside PKCS#7 blob.  Better security
        information (clamed / actual sender, openssl output, certificates
        inside message).
  
  
  2000-11-30 23:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-art.el (gnus-mime-security-button-line-format-alist): Add
 -      ?d and ?D.
 +      * gnus-art.el (gnus-mime-security-button-line-format-alist):
 +      Add ?d and ?D.
        (gnus-mime-security-show-details-inline): New variable.
        (gnus-mime-security-show-details): Use them.
        (gnus-insert-mime-security-button): Ditto.
  
  2000-11-22  Jan Nieuwenhuizen  <janneke@gnu.org>
  
 -      * nnmh.el (nnmh-request-expire-articles): Implemented
 -      expiry-target for nnmh backend.
 +      * nnmh.el (nnmh-request-expire-articles):
 +      Implemented expiry-target for nnmh backend.
  
  2000-11-30  Simon Josefsson  <sj@extundo.com>
  
  
  2000-11-22 11:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-xmas.el (gnus-xmas-article-display-xface): Use
 -      insert-buffer-substring.
 +      * gnus-xmas.el (gnus-xmas-article-display-xface):
 +      Use insert-buffer-substring.
  
        * message.el (message-send-mail): Use buffer-substring-no-properties.
        (message-send-news): Ditto.
  
        * mml-sec.el (mml-sign-alist): Update names.
        (mml-encrypt-alist): Ditto.
 -      (mml-secure-part-smime-sign): Moved to mml-smime.el
 +      (mml-secure-part-smime-sign): Move to mml-smime.el
        as `mml-smime-sign-query'.
 -      (mml-secure-part-smime-encrypt-by-file): Moved to mml-smime.el as
 +      (mml-secure-part-smime-encrypt-by-file): Move to mml-smime.el as
        `mml-smime-get-file-cert'.
 -      (mml-secure-part-smime-encrypt-by-dns): Moved to mml-smime.el as
 +      (mml-secure-part-smime-encrypt-by-dns): Move to mml-smime.el as
        `mml-smime-get-dns-cert'.
 -      (mml-secure-part-smime-encrypt): Moved to mml-smime.el as
 +      (mml-secure-part-smime-encrypt): Move to mml-smime.el as
        `mml-smime-encrypt-query'.
        (mml-smime-sign-buffer): Use mml-smime-sign.
        (mml-smime-encrypt-buffer): Use mml-smime-encrypt.
        (mml-smime-sign-query):
        (mml-smime-get-file-cert):
        (mml-smime-get-dns-cert):
 -      (mml-smime-encrypt-query): Moved from mml-sec.el.
 +      (mml-smime-encrypt-query): Move from mml-sec.el.
  
  2000-11-16  Simon Josefsson  <sj@extundo.com>
  
  
  2000-11-17 14:21  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * message.el (message-setup-fill-variables): Use
 -      message-cite-prefix-regexp.
 +      * message.el (message-setup-fill-variables):
 +      Use message-cite-prefix-regexp.
        (message-newline-and-reformat): Check the end of citation, leading
        WSP, break in the cite prefix.
        (message-fill-paragraph): New function.
  
  2000-11-12  David Edmondson  <dme@dme.org>
  
 -      * message.el (message-font-lock-keywords): Use
 -      message-cite-prefix-regexp.
 +      * message.el (message-font-lock-keywords):
 +      Use message-cite-prefix-regexp.
  
  2000-11-15  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
  
  
  2000-11-12  David Edmondson  <dme@dme.org>
  
 -      * message.el (message-cite-prefix-regexp): Moved from gnus-cite.el
 +      * message.el (message-cite-prefix-regexp): Move from gnus-cite.el
        and replace `.' with `\w' to allow for different syntax tables
        (from Vladimir Volovich).
 -      * message.el (message-newline-and-reformat): Use
 -      `message-cite-prefix-regexp'.
 -      * gnus-cite.el (gnus-supercite-regexp): Use
 -      `message-cite-prefix-regexp'.
 -      * gnus-cite.el (gnus-cite-parse): Use
 -      `message-cite-prefix-regexp'.
 +      * message.el (message-newline-and-reformat):
 +      Use `message-cite-prefix-regexp'.
 +      * gnus-cite.el (gnus-supercite-regexp):
 +      Use `message-cite-prefix-regexp'.
 +      * gnus-cite.el (gnus-cite-parse):
 +      Use `message-cite-prefix-regexp'.
  
  2000-11-12 08:52:46  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
  
        Verify S/MIME signature support.
  
 -      * mm-decode.el (mm-inline-media-tests): Add
 -      application/{x-,}pkcs7-signature.
 +      * mm-decode.el (mm-inline-media-tests):
 +      Add application/{x-,}pkcs7-signature.
        (mm-inlined-types): Ditto.
        (mm-automatic-display): Ditto.
        (mm-verify-function-alist): Ditto.  Add name of method.
  
        * qp.el (quoted-printable-encode-region): Replace leading - when
        ultra safe.
 -      * mml.el (mml-generate-mime-postprocess-function): Removed.
 -      (mml-postprocess-alist): Removed.
 +      * mml.el (mml-generate-mime-postprocess-function): Remove.
 +      (mml-postprocess-alist): Remove.
        (mml-generate-mime-1): Use ultra-safe when sign.
        * mml2015.el (mml2015-fix-micalg): Uppercase.
        (mml2015-verify): Insert LF.
  
  2000-10-30 08:17:46  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus.el (gnus-server-browse-hashtb): Removed.
 +      * gnus.el (gnus-server-browse-hashtb): Remove.
        * gnus-group.el (gnus-group-prepare-flat-list-dead): Use gnus-active.
        (gnus-group-insert-group-line-info): Use simplified method.
        * gnus-srvr.el (gnus-browse-foreign-server): Use gnus-set-active.
  
  2000-10-30 01:52:40  ShengHuo ZHU  <zsh@cs.rochester.edu>
  
 -      * gnus-util.el (gnus-union): Renamed from gnus-agent-union, and
 +      * gnus-util.el (gnus-union): Rename from gnus-agent-union, and
        moved here.
        * gnus-agent.el (gnus-agent-fetch-headers): Use it.
        * gnus-group.el (gnus-group-prepare-flat): Use it.
  
        * mml-sec.el (mml-smime-encrypt-buffer): Support certfiles stored
        in buffers.
 -      (mml-secure-dns-server): Removed.
 -      (mml-secure-part-smime-encrypt-by-dns): Use DIG interface.  Don't
 -      write certificates to files.
 +      (mml-secure-dns-server): Remove.
 +      (mml-secure-part-smime-encrypt-by-dns): Use DIG interface.
 +      Don't write certificates to files.
  
        * smime.el (smime-dns-server): New variable.
        (smime-mail-to-domain):
diff --combined lisp/gnus/auth-source.el
index 2efb16b8611be9c4438c55eafbfb2d4473fde90e,72ec5f4e2cab120d2c1804aae077f00b5efe5e47..a2a3b4fa257aa323f0220504c02e16aa01bddb5d
@@@ -654,11 -654,9 +654,11 @@@ Use `auth-source-delete' in ELisp code 
  'secrets are the only ones supported right now.
  
  :max N means to try to return at most N items (defaults to 1).
 -When 0 the function will return just t or nil to indicate if any
 -matches were found.  More than N items may be returned, depending
 -on the search and the backend.
 +More than N items may be returned, depending on the search and
 +the backend.
 +
 +When :max is 0 the function will return just t or nil to indicate
 +if any matches were found.
  
  :host (X Y Z) means to match only hosts X, Y, or Z according to
  the match rules above.  Defaults to t.
@@@ -759,22 -757,18 +759,22 @@@ must call it to obtain the actual value
        (when auth-source-do-cache
          (auth-source-remember spec found)))
  
 -    found))
 +    (if (zerop max)
 +        (not (null found))
 +      found)))
  
  (defun auth-source-search-backends (backends spec max create delete require)
 -  (let (matches)
 +  (let ((max (if (zerop max) 1 max)) ; stop with 1 match if we're asked for zero
 +        matches)
      (dolist (backend backends)
 -      (when (> max (length matches))   ; when we need more matches...
 +      (when (> max (length matches)) ; if we need more matches...
          (let* ((bmatches (apply
                            (slot-value backend 'search-function)
                            :backend backend
                            :type (slot-value backend :type)
                            ;; note we're overriding whatever the spec
 -                          ;; has for :require, :create, and :delete
 +                          ;; has for :max, :require, :create, and :delete
 +                          :max max
                            :require require
                            :create create
                            :delete delete
              (setq matches (append matches bmatches))))))
      matches))
  
 +;; (auth-source-search :max 0)
  ;; (auth-source-search :max 1)
  ;; (funcall (plist-get (nth 0 (auth-source-search :max 1)) :secret))
  ;; (auth-source-search :host "nonesuch" :type 'netrc :K 1)
@@@ -1531,10 -1524,10 +1531,10 @@@ list, it matches the original pattern.
             (heads (if (stringp value)
                        (list (list key value))
                      (mapcar (lambda (v) (list key v)) value))))
 -      (cl-loop
 +      (loop
           for h in heads
           nconc
 -           (cl-loop
 +           (loop
                for tl in tails
                collect (append h tl))))))
  
@@@ -1660,7 -1653,6 +1660,7 @@@ authentication tokens
  
  ;; (let ((auth-sources '("macos-keychain-internet:/Users/tzz/Library/Keychains/login.keychain"))) (auth-source-search :max 1))
  ;; (let ((auth-sources '("macos-keychain-generic:Login"))) (auth-source-search :max 1 :host "git.gnus.org"))
 +;; (let ((auth-sources '("macos-keychain-generic:Login"))) (auth-source-search :max 1))
  
  (defun* auth-source-macos-keychain-search (&rest
                                      spec
@@@ -1787,29 -1779,29 +1787,29 @@@ entries for git.gnus.org
          (while (not (eobp))
            (cond
             ((looking-at "^password: \"\\(.+\\)\"$")
-             (auth-source-macos-keychain-result-append
-              ret
-              keychain-generic
-              "secret"
-              (lexical-let ((v (match-string 1)))
-                (lambda () v))))
+             (setq ret (auth-source-macos-keychain-result-append
+                        ret
+                        keychain-generic
+                        "secret"
+                        (lexical-let ((v (match-string 1)))
+                          (lambda () v)))))
             ;; TODO: check if this is really the label
             ;; match 0x00000007 <blob>="AppleID"
             ((looking-at "^[ ]+0x00000007 <blob>=\"\\(.+\\)\"")
-             (auth-source-macos-keychain-result-append
-              ret
-              keychain-generic
-              "label"
-              (match-string 1)))
+             (setq ret (auth-source-macos-keychain-result-append
+                        ret
+                        keychain-generic
+                        "label"
+                        (match-string 1))))
             ;; match "crtr"<uint32>="aapl"
             ;; match "svce"<blob>="AppleID"
             ((looking-at "^[ ]+\"\\([a-z]+\\)\"[^=]+=\"\\(.+\\)\"")
-             (auth-source-macos-keychain-result-append
-              ret
-              keychain-generic
-              (match-string 1)
-              (match-string 2))))
-             (forward-line)))
+             (setq ret (auth-source-macos-keychain-result-append
+                        ret
+                        keychain-generic
+                        (match-string 1)
+                        (match-string 2)))))
+           (forward-line)))
        ;; return `ret' iff it has the :secret key
        (and (plist-get ret :secret) (list ret))))
  
diff --combined lisp/mh-e/ChangeLog
index 242c8f0e071c5f68c6fffdd1882adc12ac6b3b5e,0e28a27fe645f1469c21c89dbb77a40b9f5f0ca3..d94cb99a8c83590271cdbef38893bb6a33089875
@@@ -1,8 -1,8 +1,8 @@@
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
  
- 2014-09-30  Bill Wohler        <wohler@newt.com>
+ 2014-09-30  Bill Wohler  <wohler@newt.com>
  
        Release MH-E version 8.6.
  
        * mh-comp.el (mh-insert-x-face): Ensure that mh-x-face-file is a
        string before trying to use it (closes SF #474).
        (mh-bare-components): New function to create a temporary initial
 -      components file; replaces mh-find-components. Improve the temp
 -      folder and file names as per a suggestion from Bill Wohler. Also
 -      address XEmacs compatibility issues: use mm-make-temp-file instead
 +      components file; replaces mh-find-components.  Improve the temp
 +      folder and file names as per a suggestion from Bill Wohler.
 +      Also address XEmacs compatibility issues: use mm-make-temp-file instead
        of make-temp-file, and only pass one argument to delete-directory.
        (mh-edit-again, mh-send-sub): Use mh-bare-components instead of
        mh-find-components (partially closes SF #468).
  
 +2014-05-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * mh-e.el (mh-variants): Use file-accessible-directory-p.
 +
  2014-03-16  Bill Wohler  <wohler@newt.com>
  
        * mh-folder.el (mh-regenerate-headers): Fix scan: bad message list
        * mh-letter.el (mh-yank-hooks): Use new mh-make-obsolete-variable
        macro.
  
 -      * mh-e.el (mh-kill-folder-suppress-prompt-hooks): Use
 -      new mh-define-obsolete-variable-alias macro.
 +      * mh-e.el (mh-kill-folder-suppress-prompt-hooks):
 +      Use new mh-define-obsolete-variable-alias macro.
  
        * mh-compat.el (mh-cl-flet): New alias for cl-flet on Emacs 24 and
        flet elsewhere.
        Replace flet with new alias mh-cl-flet.
  
        * mh-mime.el (mh-display-with-external-viewer, mh-mime-display)
 -      (mh-press-button, mh-push-button, mh-display-emphasis): Replace
 -      flet with new alias mh-cl-flet.
 +      (mh-press-button, mh-push-button, mh-display-emphasis):
 +      Replace flet with new alias mh-cl-flet.
  
        * mh-e.el (mh-invisible-header-fields-internal):
        Remove trailing whitespace.
        (mh-folder-mode): Add mh-blacklist and mh-whitelist variables.
        (mh-execute-commands): Update documentation.
        (mh-undo, mh-outstanding-commands-p, mh-process-commands)
 -      (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg): Handle
 -      blacklisted and whitelisted messages.
 +      (mh-delete-a-msg, mh-refile-a-msg, mh-undo-msg):
 +      Handle blacklisted and whitelisted messages.
        * mh-junk.el (mh-junk-blacklist, mh-junk-whitelist): Update to put
        messages in blacklist and whitelist respectively for latter
        processing.
        (mh-blacklist-a-msg, mh-junk-whitelist-a-msg): New function to
        support previous functions.
        (mh-junk-blacklist-disposition): New function.
 -      (mh-junk-process-blacklist, mh-junk-process-whitelist): New
 -      functions that perform the blacklisting and whitelisting
 +      (mh-junk-process-blacklist, mh-junk-process-whitelist):
 +      New functions that perform the blacklisting and whitelisting
        respectively that used to be performed by mh-junk-blacklist and
        mh-junk-whitelist.
        * mh-scan.el (mh-scan-blacklisted-msg-regexp)
        X-MaxCode-Template:, X-ME-Bayesian:, X-Sendergroup:, X-SFDC-,
        X-SMFBL:, X-SMHeaderMap:, X-VGI-OESCD:, X-VirtualServer:,
        X-VirtualServerGroup:, X-XPT-XSL-Name:, X-Y-GMX-Trusted:,
 -      X-XWALL-, X-ZixNet:. Changed X-Habeas-SWE- to X-Habeas-.  Updated
 -      the comment.  (addresses SF #1916032).
 +      X-XWALL-, X-ZixNet:. Changed X-Habeas-SWE- to X-Habeas-.
 +      Updated the comment.  (addresses SF #1916032).
  
  2012-11-25  Bill Wohler  <wohler@newt.com>
  
 -      * mh-e.el (mh-invisible-header-fields-internal): Add
 -      X-AnalysisOut, X-Authentication-Info, X-Auto-Response-Suppress,
 +      * mh-e.el (mh-invisible-header-fields-internal):
 +      Add X-AnalysisOut, X-Authentication-Info, X-Auto-Response-Suppress,
        X-Bayes-Prob, X-Cam-, X-CanIt-Geo, X-Completed, X-Facebook,
        X-Forwarded-, X-Generated-By, X-Headers-End, X-IEEE-UCE,
        X-Jira-Fingerprint, X-Junkmail-, X-Launchpad-, X-MXL-Hash,
 -      X-Notification-, X-Notifications, X-Oracle-Calendar.  Replace
 -      X-DCC-Usenix-Metrics with X-DCC- (addresses SF #1916032).
 +      X-Notification-, X-Notifications, X-Oracle-Calendar.
 +      Replace X-DCC-Usenix-Metrics with X-DCC- (addresses SF #1916032).
  
  2012-11-25  Jeffrey C Honig  <jch@honig.net>
  
        (mh-show-subject, mh-show-to, mh-show-xface)
        (mh-speedbar-folder, mh-speedbar-folder-with-unseen-messages)
        (mh-speedbar-selected-folder)
 -      (mh-speedbar-selected-folder-with-unseen-messages): Add
 -      :package-version keyword to these faces (closes SF #1452724).
 +      (mh-speedbar-selected-folder-with-unseen-messages):
 +      Add :package-version keyword to these faces (closes SF #1452724).
  
        * mh-tool-bar.el (mh-tool-bar-define): Add commented-out
        :package-version keywords (closes SF #1452724).
diff --combined lisp/net/tramp-sh.el
index 8d7e046126c952781089a6979b3e31773631e20e,ff00b55756d24f6bdead48d58823288ced4ce22d..c564988d3707283073f7d72db473a64394569b9f
@@@ -2835,27 -2835,16 +2835,27 @@@ the result will be a local, non-Tramp, 
                        (list (replace-match " \\\\\n" nil nil (cadr args))))
                       (setq i (+ i 250))))
                   (cdr args)))
 +         ;; Use a human-friendly prompt, for example for `shell'.
 +         (prompt (format "PS1=%s"
 +                         (format "%s %s"
 +                                 (file-remote-p default-directory)
 +                                 tramp-initial-end-of-output)))
 +         ;; We use as environment the difference to toplevel
 +         ;; `process-environment'.
 +         env
 +         (env
 +          (dolist
 +              (elt
 +               (cons prompt (nreverse (copy-sequence process-environment)))
 +               env)
 +            (or (member elt (default-toplevel-value 'process-environment))
 +                (setq env (cons elt env)))))
           (command
            (when (stringp program)
 -            (format "cd %s && exec %s env PS1=%s %s"
 +            (format "cd %s && exec %s env %s %s"
                      (tramp-shell-quote-argument localname)
                      (if heredoc (format "<<'%s'" tramp-end-of-heredoc) "")
 -                    ;; Use a human-friendly prompt, for example for `shell'.
 -                    (tramp-shell-quote-argument
 -                     (format "%s %s"
 -                             (file-remote-p default-directory)
 -                             tramp-initial-end-of-output))
 +                    (mapconcat 'tramp-shell-quote-argument env " ")
                      (if heredoc
                          (format "%s\n(\n%s\n) </dev/tty\n%s"
                                  program (car args) tramp-end-of-heredoc)
      (error "Implementation does not handle immediate return"))
  
    (with-parsed-tramp-file-name default-directory nil
 -    (let (command input tmpinput stderr tmpstderr outbuf ret)
 +    (let (command env input tmpinput stderr tmpstderr outbuf ret)
        ;; Compute command.
        (setq command (mapconcat 'tramp-shell-quote-argument
                               (cons program args) " "))
 +      ;; We use as environment the difference to toplevel `process-environment'.
 +      (setq env
 +          (dolist (elt (nreverse (copy-sequence process-environment)) env)
 +            (or (member elt (default-toplevel-value 'process-environment))
 +                (setq env (cons elt env)))))
 +      (when env
 +      (setq command
 +            (format
 +             "env %s %s"
 +             (mapconcat 'tramp-shell-quote-argument env " ") command)))
        ;; Determine input.
        (if (null infile)
          (setq input "/dev/null")
@@@ -3992,9 -3971,9 +3992,9 @@@ process to set up.  VEC specifies the c
      (if (featurep 'mule)
        ;; Use MULE to select the right EOL convention for communicating
        ;; with the process.
-       (let ((cs (or (when (string-match
-                            "utf8" (or (tramp-get-remote-locale vec) ""))
-                       (cons 'utf-8 'utf-8))
+       (let ((cs (or (and (memq 'utf-8 (coding-system-list))
+                          (string-match "utf8" (tramp-get-remote-locale vec))
+                          (cons 'utf-8 'utf-8))
                      (tramp-compat-funcall 'process-coding-system proc)
                      (cons 'undecided 'undecided)))
              cs-decode cs-encode)
    ;; Set the environment.
    (tramp-message vec 5 "Setting default environment")
  
-   (let ((env (append (when (tramp-get-remote-locale vec) ; Discard `(nil)'.
-                      `(,(tramp-get-remote-locale vec)))
+   (let ((env (append `(,(tramp-get-remote-locale vec))
                     (copy-sequence tramp-remote-process-environment)))
        unset vars item)
      (while env
@@@ -5097,7 -5075,7 +5096,7 @@@ Return ATTR.
  (defun tramp-get-remote-locale (vec)
    (with-tramp-connection-property vec "locale"
      (tramp-send-command vec "locale -a")
-     (let ((candidates '("en_US.utf8" "C.utf8" "C"))
+     (let ((candidates '("en_US.utf8" "C.utf8"))
          locale)
        (with-current-buffer (tramp-get-connection-buffer vec)
        (while candidates
                    candidates nil)
            (setq candidates (cdr candidates)))))
        ;; Return value.
-       (when locale (format "LC_ALL=%s" locale)))))
+       (format "LC_ALL=%s" (or locale "C")))))
  
  (defun tramp-get-ls-command (vec)
    (with-tramp-connection-property vec "ls"
diff --combined lisp/org/ChangeLog
index 0f50e574171caf2bbb86b945a97b061e0b202373,2c4ca6d869c4b908ddf06fc9c1befe1bd41a1bd0..acb8470bf866a2e8a4b7b0e12dae1fd8de769efb
@@@ -1,32 -1,11 +1,32 @@@
 +2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify use of current-time and friends.
 +      * org-archive.el (org-archive-subtree)
 +      (org-archive-to-archive-sibling):
 +      * org-clock.el (org-resolve-clocks, org-clock-get-sum-start)
 +      (org-clock-special-range):
 +      * org-timer.el (org-timer-seconds):
 +      * org.el (org-read-date-analyze, org-get-cursor-date):
 +      * ox-html.el (org-html-format-spec):
 +      * ox-icalendar.el (org-icalendar--vtodo):
 +      Omit unnecessary call to current-time.
 +      * org-clock.el (org-clock-get-table-data): Omit unnecessary, lossy
 +      conversion from floating point to Emacs time and back.
 +      (org-resolve-clocks): Prefer two-argument floor.
 +      * org-compat.el (org-float-time): Simplify to an alias because
 +      time-to-seconds now behaves like float-time with respect to nil arg.
 +      * org.el (org-get-cursor-date):
 +      Don't call current-time twice to get the current time stamp,
 +      as this can lead to inconsistent results.
 +
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
  
  2014-10-12  Marco Wahl  <marcowahlsoft@gmail.com>
  
 -      * org-agenda.el (org-get-entries-from-diary): Use
 -      `diary-fancy-display' instead of the obsolete
 +      * org-agenda.el (org-get-entries-from-diary):
 +      Use `diary-fancy-display' instead of the obsolete
        `diary-display-hook'.
  
  2014-10-12  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
        expressions.
  
        * ox-publish.el (org-publish, org-publish-all)
 -      (org-publish-current-file): Replace `ignore', per limit stated
 -      above.
 +      (org-publish-current-file): Replace `ignore', per limit stated above.
  
  2014-10-12  Christopher Schmidt  <ch@ristopher.com>
  
 -      * org.el (orgstruct-make-binding): Do not use loop in interpreted
 -      code.
 +      * org.el (orgstruct-make-binding): Do not use loop in interpreted code.
  
  2014-10-12  Mike McLean  <mike.mclean@pobox.com>  (tiny change)
  
  
  2014-10-12  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
  
 -      * ox.el (org-export-async-start): Allow to use symbols as
 -      function.
 +      * ox.el (org-export-async-start): Allow to use symbols as function.
  
 -2014-10-02  Achim Gratz  <Stromeko@Stromeko.DE>
 +2014-10-03  Achim Gratz  <Stromeko@Stromeko.DE>
  
        * ob-sh.el (org-babel-sh-initiate-session): After initiating a
        session, initialize the marker `comint-last-output-start' since it
        returns nil, do not run make-directory.  Remove superfluous when
        clauses by using short-circuiting `and' instead.
  
 -2014-10-02  Alex Kosorukoff  <alex@3form.com>  (tiny change)
 +2014-10-03  Alex Kosorukoff  <alex@3form.com>  (tiny change)
  
        * org-capture.el (org-capture-fill-template): Set `mark-active' to
        nil.
  
 -2014-10-02  Bastien Guerry  <bzg@gnu.org>
 +2014-10-03  Bastien Guerry  <bzg@gnu.org>
  
        * org-agenda.el (org-agenda-prepare): Reset preset filters when
        using sticky agendas.
        * org-agenda.el (org-agenda-get-sexps): Don't add tags as text
        properties.
  
 -      * org-capture.el (org-capture-fill-template): Take
 -      `org-extend-today-until' into account when setting the format time
 +      * org-capture.el (org-capture-fill-template):
 +      Take `org-extend-today-until' into account when setting the format time
        string.
  
        * org.el (org-paste-subtree): Fix match subexpression.
        (org-agenda-tag-filter-while-redo): Delete.
        (org-agenda-list, org-agenda-redo, org-agenda-filter-by-tag):
        Remove unused code.
 -      (org-agenda-clockreport-mode, org-agenda-set-mode-name): Don't
 -      consider tag filters.
 +      (org-agenda-clockreport-mode, org-agenda-set-mode-name):
 +      Don't consider tag filters.
  
        * org.el (org-fix-ellipsis-at-bol)
        (org-first-headline-recenter): Use `set-window-start' instead
  
        * org.el (org-overview): Don't call `recenter'.
  
 -      * org-agenda.el (org-agenda-custom-commands-local-options): Fix
 -      misquoted values.
 +      * org-agenda.el (org-agenda-custom-commands-local-options):
 +      Fix misquoted values.
  
        * org.el (org-property-re): Also match null properties by default.
        (org-entry-delete): Also delete null properties.
        (org-delete-property): Throw a message when there is not property
        to delete.
  
 -      * org-agenda.el (org-agenda-insert-diary-make-new-entry): Fix
 -      docstring.
 +      * org-agenda.el (org-agenda-insert-diary-make-new-entry):
 +      Fix docstring.
  
        * org.el (org-re-property): New parameter `allow-null' to match
        property with a null value.
        `buffer-invisibility-spec'.
  
        * org-agenda.el (org-agenda-mode): Add buffer invisibility specs.
 -      (org-agenda-filter-hide-line, org-agenda-remove-filter): Set
 -      the 'invisible text property to 'org-filtered.
 +      (org-agenda-filter-hide-line, org-agenda-remove-filter):
 +      Set the 'invisible text property to 'org-filtered.
        (org-agenda-show-new-time): Add the default face to avoid the
        foreground of the last character on the line to leak into the
        timestamp notification.
        of `outline-end-of-subtree'.
        (outline-end-of-subtree): Remove advice.
  
 -      * org-mouse.el (org-mouse-move-tree, org-mouse-do-remotely): Use
 -      `org-end-of-subtree' instead of `outline-end-of-subtree'.
 +      * org-mouse.el (org-mouse-move-tree, org-mouse-do-remotely):
 +      Use `org-end-of-subtree' instead of `outline-end-of-subtree'.
  
        * org-agenda.el (org-cmp-ts): Argument `type' is not optional.
        Don't quote it.
        * org-habit.el (org-habit-insert-consistency-graphs): Don't remove
        filter overlays as we don't use overlays for filters anymore.
  
 -      * org-agenda.el (org-agenda-local-vars): Add
 -      `org-agenda-top-headline-filter'.
 +      * org-agenda.el (org-agenda-local-vars):
 +      Add `org-agenda-top-headline-filter'.
        (org-agenda-filter-by-category): Fix syntax.
        (org-agenda-filter-show-all-top-filter): New function.
        (org-agenda-filter-by-top-headline)
        * org-table.el (org-table-eval-formula): Fix conversion of
        inactive timestamps to active ones.
  
 -      * org.el (org-set-regexps-and-options): Allow
 -      `org-complex-heading-regexp-format' to match [/] and [%] cookies
 +      * org.el (org-set-regexps-and-options):
 +      Allow `org-complex-heading-regexp-format' to match [/] and [%] cookies
        when they are both before and after the heading.
  
        * org-agenda.el (org-agenda-max-todos, org-agenda-max-tags)
        * org-agenda.el (org-agenda-finalize): Filter by top headline if
        `org-agenda-top-headline-filter' is set.
  
 -2014-10-02  Bernt Hansen  <bernt@norang.ca>
 +2014-10-03  Bernt Hansen  <bernt@norang.ca>
  
        * org-macs.el: Remove restriction when locating markers.
  
 -2014-10-02  Dmitry Gorbik  <dgorbik@me.com>  (tiny change)
 +2014-10-03  Dmitry Gorbik  <dgorbik@me.com>  (tiny change)
  
        * org.el (org-fast-tag-selection): Fix window splitting.
  
 -2014-10-02  Eric Schulte  <schulte.eric@gmail.com>
 +2014-10-03  Eric Schulte  <schulte.eric@gmail.com>
  
        * ob-screen.el (org-babel-screen-test): Use unpredictable name for
        temporary file.
  
 -      * ob-screen.el (org-babel-screen-session-write-temp-file): Use
 -      unpredictable temp file name, fixes bug#17416.
 +      * ob-screen.el (org-babel-screen-session-write-temp-file):
 +      Use unpredictable temp file name, fixes bug#17416.
  
 -2014-10-02  Ian Kelling  <ian@iankelling.org>
 +2014-10-03  Ian Kelling  <ian@iankelling.org>
  
        * ob-core.el (org-babel-insert-result): Test all list elements
        against listp and (eq element 'hline) instead of checking just the
        first.
  
 -2014-10-02  Konstantin Kliakhandler  <kosta@slumpy.org>  (tiny change)
 +2014-10-03  Konstantin Kliakhandler  <kosta@slumpy.org>  (tiny change)
  
        * org-agenda.el (org-agenda-redo): Reapply the filters correctly.
  
 -2014-10-02  Kyle Meyer  <kyle@kyleam.com>  (tiny change)
 +2014-10-03  Kyle Meyer  <kyle@kyleam.com>  (tiny change)
  
        * ox.el (org-export-show-temporary-export-buffer): Fix typo.
  
 -2014-10-02  Matt Lundin  <mdl@imapmail.org>
 +2014-10-03  Matt Lundin  <mdl@imapmail.org>
  
        * ox-publish.el (org-publish-find-title, org-publish-find-date):
        Make sure to call org-export-get-environment in copy of buffer if
        * ox-publish.el (org-publish-find-title, org-publish-find-date):
        Fix unnecessary invocations of org-mode with org-inhibit-startup.
  
 -2014-10-02  Nick Dokos  <ndokos@gmail.com>
 +2014-10-03  Nick Dokos  <ndokos@gmail.com>
  
        * org-table.el (org-table-clean-before-export): The regexes match
        spaces in addition to the special characters that might be used in
        * ox-ascii.el (org-ascii-superscript): Change _ to ^ in the
        output.
  
 -2014-10-02  Nick Dokos  <ndokos@redhat.com>
 +2014-10-03  Nick Dokos  <ndokos@redhat.com>
  
        * org-table.el (org-table-show-reference): Call `set-window-start'
        with the calculated values `min' and `max', not with
        (point-min) and (point-max).
  
 -2014-10-02  Nicolas Goaziou  <n.goaziou@gmail.com>
 +2014-10-03  Nicolas Goaziou  <n.goaziou@gmail.com>
  
        * ox-latex.el (org-latex-link): Improve test for unnumbered
        headlines.
        * org-agenda.el (org-agenda-write): Write headings in proper
        order.
  
 -      * org-element.el (org-element-table-interpreter): Enhance
 -      docstring.
 +      * org-element.el (org-element-table-interpreter):
 +      Enhance docstring.
  
        * ox-md.el (org-md-link): Allow custom link type export function.
  
        empty.  Refactoring.
        (org-texinfo-src-block): Refactor code.  Comply to predicate naming.
  
 -      * ox-texinfo.el (org-texinfo--sanitize-node): Handle
 -      " (not)allowed" case.
 +      * ox-texinfo.el (org-texinfo--sanitize-node):
 +      Handle " (not)allowed" case.
  
        * ox-texinfo.el (org-texinfo-headline): Remove wrong code
        comments.
  
        * ox-texinfo.el (org-texinfo--sanitize-node): "@", "{" and "}"
        characters are allowed in a node name.  So are "(" and ")" unless
 -      "(" starts the name and there is ")" somewhere in the name.  Also
 -      trim and collapse whitespace characters.  Renamed from
 +      "(" starts the name and there is ")" somewhere in the name.
 +      Also trim and collapse whitespace characters.  Renamed from
        `org-texinfo--sanitize-menu'.
        (org-texinfo--get-node): Do not sanitize node names over zealously.
        Ensure returned node names are unique.
        * ox-texinfo.el (org-texinfo--normalize-headlines): Make sure a
        blank line always follows nodes.
  
 -      * ox-texinfo.el (org-texinfo-make-menu): Change signature.  Remove
 -      some intermediate functions.  Generate the full master menu when
 +      * ox-texinfo.el (org-texinfo-make-menu): Change signature.
 +      Remove some intermediate functions.  Generate the full master menu when
        asked.
        (org-texinfo--build-menu): Use a simpler algorithm.
        (org-texinfo--format-entries): Fix entries when both node and title
        are different.
 -      (org-texinfo--menu-entries): Renamed from `org-texinfo--generate-menu-list'.
 +      (org-texinfo--menu-entries): Rename from `org-texinfo--generate-menu-list'.
        (org-texinfo-headline): Move menu handling to next function.
        (org-texinfo-section): Handle menu for current parent.
 -      (org-texinfo--menu-headlines, org-texinfo--generate-detailed): Remove
 -      functions.
 +      (org-texinfo--menu-headlines, org-texinfo--generate-detailed):
 +      Remove functions.
        (org-texinfo--normalize-headlines): New function.
  
        * ox-texinfo.el (org-texinfo-headline): Fix @appendix command.
        * org-element.el (org-element-headline-parser): Add missing
        `:post-blank' property in docstring.
  
 -      * ox-latex.el (org-latex-table-scientific-notation): Set
 -      appropriate value.
 +      * ox-latex.el (org-latex-table-scientific-notation):
 +      Set appropriate value.
        (org-latex-listings-options): Fix docstring.
  
        * ox.el (org-export-raw-special-block-p): New function.
  
        * org.el (org-insert-heading): Fix error when inserting a headline
        before first headline, with point not at bol.  Remove source block
 -      check for consistency with behavior after first headline.  Tiny
 -      fix to docstring.
 +      check for consistency with behavior after first headline.
 +      Tiny fix to docstring.
  
        * org.el (org-scan-tags): Fix typo in docstring.
  
        empty.
  
        * ox-html.el (org-html-standalone-image-p): Ensure paragraph
 -      contains at least a link before return a non-nil value.  Clarify
 -      docstring.
 +      contains at least a link before return a non-nil value.
 +      Clarify docstring.
  
        * ox.el (org-export-data): Always return a string, as specified
        by the docstring.
        org-icalendar-blocked-headline-p): Fix docstrings.
        (org-icalendar-clear-blank-lines): Fix docstring and regexp.
  
 -      * ox-icalendar.el (org-icalendar-entry): Use
 -      `org-icalendar-with-timestamps'.
 +      * ox-icalendar.el (org-icalendar-entry):
 +      Use `org-icalendar-with-timestamps'.
  
 -2014-10-02  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-10-03  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * org.el (org-cycle-internal-local): Don't show a trailing
        character when cycling a subtree that ends with a non-newline
        character at the end of the buffer or the narrowed region.
  
 -2014-10-02  Sebastien Vauban  <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
 +2014-10-03  Sebastien Vauban  <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
  
        * ox-ascii.el (org-ascii--box-string): Choose more universal
        Unicode characters for boxquote corners.
  
 -2014-10-02  Marco Wahl  <marcowahlsoft@gmail.com>  (tiny change)
 +2014-10-03  Marco Wahl  <marcowahlsoft@gmail.com>  (tiny change)
  
        * org-agenda.el (org-agenda-bulk-mark)
 -      (org-agenda-bulk-mark-regexp, org-agenda-bulk-toggle-all): Fix
 -      org-agenda-bulk-mark-all when time-grid is shown.
 +      (org-agenda-bulk-mark-regexp, org-agenda-bulk-toggle-all):
 +      Fix org-agenda-bulk-mark-all when time-grid is shown.
 +
 +2014-06-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * org-compat.el (activate-mark): Set transient-mark-mode buffer-locally.
 +
 +2014-06-22  Mario Lang  <mlang@delysid.org>
 +
 +      * org-list.el (org-list-insert-item): The the -> the.
 +
 +      * org-bibtex.el (org-bibtex-fields): The the -> the.
 +
 +2013-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * ob-core.el (org-babel-insert-result): Prefer point-min-marker
 +      and point-max-marker.
 +      * org-mouse.el (org-mouse-do-remotely): Prefer point-marker
 +      to copy-marker of point.
 +
 +2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * org-compat.el (org-font-lock-ensure): New function.
 +      * ox-odt.el (org-odt-do-format-code):
 +      * ox-html.el (org-html-fontify-code):
 +      * org.el (org-fontify-like-in-org-mode):
 +      * org-src.el (org-src-font-lock-fontify-block):
 +      * org-clock.el (org-clock-get-clocktable): Use it.
 +      * ox-org.el (org-org-publish-to-org): Use it.  Avoid using find-file
 +      from Elisp.
  
  2014-05-12  Eric Schulte  <eric.schulte@gmx.com>
  
        `org-babel-gnuplot-table-to-data´ expects a table, so we need to
        construct one when Babel hands us a vector.
  
 -      * ob-ref.el (org-babel-ref-parse): If
 -      `org-babel-current-src-block-location' is a marker, it can be from
 +      * ob-ref.el (org-babel-ref-parse):
 +      If `org-babel-current-src-block-location' is a marker, it can be from
        another buffer, use marker-position instead in this case.
  
  2014-04-22  Arun Persaud  <apersaud@lbl.gov>  (tiny change)
  
 -      * org-src.el (org-edit-src-exit): Don't add indentation on empty
 -      lines.
 +      * org-src.el (org-edit-src-exit): Don't add indentation on empty lines.
  
  2014-04-22  Bastien Guerry  <bzg@gnu.org>
  
  
        * org-table.el (org-table-copy-down)
        (org-table-find-dataline, org-table-move-row)
 -      (org-table-insert-hline, org-table-kill-row): Use
 -      `org-move-to-column' with the IGNORE-INVISIBLE arg set to `t', so
 +      (org-table-insert-hline, org-table-kill-row):
 +      Use `org-move-to-column' with the IGNORE-INVISIBLE arg set to `t', so
        that abbreviated rows don't interfer with setting the cursor back
        at the correct position.
  
        * org-table.el (org-table-field-info): Throw a user error when not
        at a table.
  
 -      * org-agenda.el (org-agenda-drag-line-forward): Call
 -      `org-agenda-mark-clocking-task' when done.
 +      * org-agenda.el (org-agenda-drag-line-forward):
 +      Call `org-agenda-mark-clocking-task' when done.
        (org-agenda-mark-clocking-task): Small refactoring.
  
        * org-compat.el (org-set-transient-map): Alias pointing at
  
  2014-04-22  Markus Hauck  <markus1189@gmail.com>  (tiny change)
  
 -      * org-agenda.el (org-agenda-get-scheduled): If
 -      `org-agenda-skip-scheduled-if-deadline-is-shown' is set to
 +      * org-agenda.el (org-agenda-get-scheduled):
 +      If `org-agenda-skip-scheduled-if-deadline-is-shown' is set to
        'repeated-after-deadline, still show tasks without any deadline
  
  2014-04-22  Michael Brand  <michael.ch.brand@gmail.com>
        followed by multiple blank lines.
  
        * ox.el (org-export-insert-default-template): Only insert
 -      keywords and options relatives to the selected back-end.  Ignore
 -      those relatives to its parent in the case of a derived back-end.
 +      keywords and options relatives to the selected back-end.
 +      Ignore those relatives to its parent in the case of a derived back-end.
  
        * ox-beamer.el: Remove unnecessary package definitions in default
        class.
        docstring.
        (org-entry-get): Minor docstring enhancement.
        (org-set-startup-visibility): Bugfix.
 -      (org-shiftcontrolup, org-shiftcontroldown): When
 -      `org-support-shift-select' is not `nil', let-bind it to nil if
 +      (org-shiftcontrolup, org-shiftcontroldown):
 +      When `org-support-shift-select' is not `nil', let-bind it to nil if
        point is on a clock log.  Otherwise throw an error.
  
        * ob-lob.el (org-babel-lob-files): Fix custom type.
  
        * ox-html.el: Clean up "FIXME" comments.
  
 -      * ox-publish.el (org-publish-resolve-external-fuzzy-link): Fix
 -      docstring.
 +      * ox-publish.el (org-publish-resolve-external-fuzzy-link):
 +      Fix docstring.
  
        * ox.el (org-export-smart-quotes-regexps): Fix smart quote
        detection when it is followed by an open parenthesis syntax class.
  
 -      * org-element.el (org-element-inline-babel-call-successor): Use
 -      original regexp to stay up-to-date with Babel changes.
 +      * org-element.el (org-element-inline-babel-call-successor):
 +      Use original regexp to stay up-to-date with Babel changes.
        (org-element--affiliated-re): Fix affiliated keyword regexp.
  
        * ox-org.el (org-org-identity): Since back-end specific keywords
        are stripped from output, also remove attr_backend keywords.
        (org-babel-exp-process-buffer): Fix duplicate evaluation with
        :wrap src.
 -      (org-babel-exp-non-block-elements): Removed function.
 +      (org-babel-exp-non-block-elements): Remove function.
  
  2013-01-07  Ted Wiles  <thewiles@wharton.upenn.edu>  (tiny change)
  
        (org-texinfo-drawer): Always use
        `org-texinfo-format-drawer-function' as it is now a function
        by default.
 -      (org-texinfo-headline): Compare
 -      `org-texinfo-format-headline-function' against 'ignore.
 -      (org-texinfo-inlinetask): Compare
 -      `org-texinfo-format-inlinetask-function' against 'ignore.
 +      (org-texinfo-headline):
 +      Compare `org-texinfo-format-headline-function' against 'ignore.
 +      (org-texinfo-inlinetask):
 +      Compare `org-texinfo-format-inlinetask-function' against 'ignore.
  
        * ox-odt.el (org-odt-format-drawer-function): Use a function as
        the default value.  Update docstring.
        (org-odt-format-inlinetask-function): Fix default value.
        (org-odt-drawer): Always use `org-odt-format-drawer-function'
        as it is now a function by default.
 -      (org-odt-format-headline--wrap): Compare
 -      `org-odt-format-headline-function' against 'ignore.
 +      (org-odt-format-headline--wrap):
 +      Compare `org-odt-format-headline-function' against 'ignore.
  
        * ox-latex.el (org-latex-format-drawer-function): Use a function
        as the default value.  Update docstring.
        (org-latex-drawer): Always use
        `org-latex-format-drawer-function' as it is now a function by
        default.
 -      (org-latex-inlinetask): Compare
 -      `org-latex-format-inlinetask-function' against 'ignore.
 +      (org-latex-inlinetask):
 +      Compare `org-latex-format-inlinetask-function' against 'ignore.
  
        * ox-html.el (org-html-format-drawer-function): Use a function as
        the default value.  Update docstring.
        (org-html-format-headline-function)
        (org-html-format-inlinetask-function): Fix default value.
        (org-html--format-toc-headline)
 -      (org-html-format-headline--wrap): Compare
 -      `org-html-format-headline-function' against 'ignore.
 -      (org-html-inlinetask): Compare
 -      `org-html-format-inlinetask-function' against 'ignore.
 +      (org-html-format-headline--wrap):
 +      Compare `org-html-format-headline-function' against 'ignore.
 +      (org-html-inlinetask):
 +      Compare `org-html-format-inlinetask-function' against 'ignore.
  
        * ox-ascii.el (org-ascii-format-drawer-function): Use a
        function as the default value.  Update docstring.
        `org-ascii-format-drawer-function' as it is now a function by
        default.
        (org-ascii-format-inlinetask-default): New function.
 -      (org-ascii-format-inlinetask-function): Use
 -      `org-ascii-format-inlinetask-default' as the default.
 +      (org-ascii-format-inlinetask-function):
 +      Use `org-ascii-format-inlinetask-default' as the default.
  
        * org.el (org-mouse-1-follows-link): Use :set to set the default
        value.  Update custom type.
        type.
        (orgstruct-heading-prefix-regexp): Use an empty string as the
        default value.  Use 'regexp as the custom type.
 -      (orgstruct-make-binding): Tiny docstring enhancement.  Assume
 -      `orgstruct-heading-prefix-regexp' is a string.
 +      (orgstruct-make-binding): Tiny docstring enhancement.
 +      Assume `orgstruct-heading-prefix-regexp' is a string.
  
 -      * org-agenda.el (org-agenda-search-view-max-outline-level): Set
 -      default value to 0.  Update docstring.
 +      * org-agenda.el (org-agenda-search-view-max-outline-level):
 +      Set default value to 0.  Update docstring.
        (org-agenda-deadline-leaders): Fix custom type.
 -      (org-search-view): Assume
 -      `org-agenda-search-view-max-outline-level' is a number.
 +      (org-search-view):
 +      Assume `org-agenda-search-view-max-outline-level' is a number.
  
        * ob-ruby.el (org-babel-ruby-nil-to): Fix custom type.
  
        * ox-html.el (org-html-format-latex): Add an argument.  Ensure
        latex header is the same as specified in the original buffer when
        exporting a LaTeX fragment or environment.
 -      (org-html-latex-environment, org-html-latex-fragment): Apply
 -      signature change.
 +      (org-html-latex-environment, org-html-latex-fragment):
 +      Apply signature change.
  
        * ox-publish.el (org-publish-cache-ctime-of-src): Return an error
        when publishing a non-existent file.
        * org.el (org-format-latex): Do not re-generate a LaTeX preview if
        the image already exists.
  
 -      * org-agenda.el (org-agenda-search-view-max-outline-level): New
 -      option to define the max level for the entries shown by the search
 +      * org-agenda.el (org-agenda-search-view-max-outline-level):
 +      New option to define the max level for the entries shown by the search
        view.  A value of 1 means to show the top parent of the entries.
  
        * org.el (org-create-formula-image-with-dvipng): Fix bug that made
        (org-babel-get-rownames, org-table.el)
        (org-table-transpose-table-at-point): Replace the inadvertent use
        of mapcar* (from cl) by plain mapcar and direct cons manipulation.
 -      (org-babel-params-from-properties): Use
 -      `org-babel-current-src-block-location' for evaluating new-style
 +      (org-babel-params-from-properties):
 +      Use `org-babel-current-src-block-location' for evaluating new-style
        header-argument properties.  Remove superfluous save-match-data
        clauses.  Comment which properties get evaluated where.
        (org-babel-insert-header-arg, org-babel-parse-src-block-match):
        `org-re-property'.
        (org-re-property-keyword): Remove, functionality is subsumed by
        `org-re-property'.
 -      (org-property-re): Define using `org-re-property'.  Improve
 -      definition so that this regex can be
 +      (org-property-re): Define using `org-re-property'.
 +      Improve definition so that this regex can be
        (org-entry-get, org-property-values): Adjust match number for
        PROPVAL.  (org-entry-put): Use `org-re-property' instead of
        `org-re-property-keyword'.
        (define-obsolete-function-alias): Actually remove the third (and
        any following) argument from the argument list before calling the
        advised function.  Extend eval-and-compile clause and add advices
 -      for functions that have different parameter lists in XEmacs.  Add
 -      variable definitions that XEmacs lacks .
 +      for functions that have different parameter lists in XEmacs.
 +      Add variable definitions that XEmacs lacks .
  
        * ob-fortran.el (org-every): Declare.
  
 -      * org-element.el (org-element-node-property-parser): Use
 -      `org-property-re' and adjust match group numbers accordingly.
 +      * org-element.el (org-element-node-property-parser):
 +      Use `org-property-re' and adjust match group numbers accordingly.
        Move `looking-at' out of the let clause to not rely on the
        unspecified evaluation order inside the let.
  
        argument list that XEmacs complains about by adding parenthesis.
  
        * ob-octave.el (org-babel-octave-initiate-session): If octave-inf
 -      can't be loaded, try octave instead before giving up.  Emacs
 -      24.3.50 and upwards replaces octave-inf with just plain octave.
 +      can't be loaded, try octave instead before giving up.
 +      Emacs 24.3.50 and upwards replaces octave-inf with just plain octave.
  
        * org-id.el (org-id-update-id-locations): Autoload interactive
        function.
        * org-table.el (org-table-colgroup-info): Remove unused defvar for
        `org-table-colgroup-info'.
        (org-table-clean-before-export): Let-bind regular expression
 -      strings and remove unused matching group.  Use
 -      `org-table-clean-did-remove-column' in cond statement rather than
 +      strings and remove unused matching group.
 +      Use `org-table-clean-did-remove-column' in cond statement rather than
        branching via if to avoid code duplication.  Remove the code
        associated with the removed `org-table-colgroup-info'.
        (orgtbl-export): Remove unused internal function.
        * ob-perl.el (org-babel-execute:perl): Pass `result-params´
        through to `org-babel-perl-evaluate´.
        (org-babel-variable-assignments:perl): Add "my" to variable
 -      declaration so that it becomes compatible with "use strict;".  Use
 -      new internal formatting function `org-babel-perl--var-to-perl´.
 +      declaration so that it becomes compatible with "use strict;".
 +      Use new internal formatting function `org-babel-perl--var-to-perl´.
        (org-babel-perl--var-to-perl): New internal function, uses Perl
        non-interpolating quoting on the string that defines the variable
        to suppress spurious interpretation of it as Perl syntax.
        * ob-eval.el (org-babel-eval): Use simplified version of
        `org-babel--shell-command-on-region´, we are the only caller of
        this function.
 -      (org-babel--shell-command-on-region): Replace
 -      `org-babel-shell-command-on-region´ with a much more simplified
 +      (org-babel--shell-command-on-region):
 +      Replace `org-babel-shell-command-on-region´ with a much more simplified
        internal version, remove superfluous DOCSTRING and interactive
        clause, strip out all conditionals which were never used.  Prevent
        deletion of temporary input file to aid debugging when the symbol
        * org-macs.el: New macro to allow the 5-argument form of load to
        be used where possible without breaking compatibility with XEmacs.
  
 -      * org.el (org-version, org-reload): Use
 -      `org-load-noerror-mustsuffix´ instead of adding a fifth argument
 +      * org.el (org-version, org-reload):
 +      Use `org-load-noerror-mustsuffix´ instead of adding a fifth argument
        to load directly.  Guard against undefined variable load-suffixes,
        which doesn't exist in XEmacs.
  
  
  2013-11-12  Alan Schmitt  <alan.schmitt@polytechnique.org>
  
 -      * ob-ocaml.el (org-babel-prep-session:ocaml): Use
 -      `save-window-excursion' around the code starting the tuareg
 +      * ob-ocaml.el (org-babel-prep-session:ocaml):
 +      Use `save-window-excursion' around the code starting the tuareg
        process.
        (org-babel-ocaml-command): New option to specify the name of the
        toplevel to run.
        when inserting the new time as a text property.
        (org-agenda-filter-make-matcher): When filtering tags and hitting
        space, filter out entries with tags, only keep those without tags.
 -      (org-agenda-drag-line-forward, org-agenda-drag-line-backward): Fix
 -      bugs: don't drag lines without text and don't drag lines
 +      (org-agenda-drag-line-forward, org-agenda-drag-line-backward):
 +      Fix bugs: don't drag lines without text and don't drag lines
        before/after hidden lines.
  
        * ox-odt.el (org-odt-table-style-format): Use %s for inserting the
        * org-capture.el (org-capture-set-target-location): Don't throw an
        error when `org-time-was-given' is not bound.
  
 -      * org-clock.el (org-clock-modify-effort-estimate): Clarify
 -      docstring.
 +      * org-clock.el (org-clock-modify-effort-estimate):
 +      Clarify docstring.
  
        * org.el (org-set-regexps-and-options-for-tags): Return a list
        with tag-related variables.
        (org-get-outline-path): Remove statistical and checkboxes cookies.
  
        * org-agenda.el (org-agenda, org-search-view, org-tags-view)
 -      (org-agenda-get-day-entries, org-agenda-set-restriction-lock): Use
 -      (current-buffer) as the value of `org-agenda-restrict'.  Fix a bug
 +      (org-agenda-get-day-entries, org-agenda-set-restriction-lock):
 +      Use (current-buffer) as the value of `org-agenda-restrict'.  Fix a bug
        about narrowing to wrong region boundaries when
        `org-agenda-restrict' is non-nil.
  
        (org-insert-heading): Fix case when there the first heading starts
        at the beginning of the buffer.
  
 -      * ob-core.el (org-babel-expand-src-block): Use
 -      `org-called-interactively-p'.
 +      * ob-core.el (org-babel-expand-src-block):
 +      Use `org-called-interactively-p'.
  
        * org.el (org-agenda-prepare-buffers): Avoid duplicates in
        `org-tag-alist-for-agenda' correctly.
        (org-read-date-minibuffer-local-map): Check if we are at the
 -      beginning of the prompt, not if we are after a whitespace.  Bind
 -      C-. to `calendar-goto-today'.
 +      beginning of the prompt, not if we are after a whitespace.
 +      Bind C-. to `calendar-goto-today'.
  
        * org-clock.el (org-clock-in): Don't forward by one character when
        setting the marker in the clock history.
  
 -      * org.el (org-read-date-minibuffer-local-map): Call
 -      `calendar-goto-today' only if there is a space before point in the
 +      * org.el (org-read-date-minibuffer-local-map):
 +      Call `calendar-goto-today' only if there is a space before point in the
        minibuffer prompt.
        (org-insert-heading): Reveal context when called interactively.
        Fix bug about wrong conversion of lines with :END: or #+end_ into
        (org-mark-subtree, org-kill-line, org-first-sibling-p)
        (org-up-element, org-down-element)
        (org-drag-element-backward, org-drag-element-forward)
 -      (org-unindent-buffer, org-speedbar-set-agenda-restriction): Use
 -      `user-error' instead of `error'.
 +      (org-unindent-buffer, org-speedbar-set-agenda-restriction):
 +      Use `user-error' instead of `error'.
  
        * ox-latex.el (latex): Don't force exporting with smart quotes.
  
        values.
  
        * org.el (org-shifttab): Show the correct number of empty
 -      headlines when called with a numeric prefix argument.  Enhance
 -      docstring.
 +      headlines when called with a numeric prefix argument.
 +      Enhance docstring.
        (org-uniquify): Use `copy-sequence'.
        (org-adaptive-fill-function, org-fill-paragraph): Throw a useful
        error message when parse an element fails in the current buffer.
        (org-cycle-emulate-tab, org-file-apps)
        (org-set-font-lock-defaults)
        (org-translate-link-from-planner, org-link-search)
 -      (org-refile-get-targets, org-read-date-get-relative): Minor
 -      code clean-up: fix dangling parentheses.
 +      (org-refile-get-targets, org-read-date-get-relative):
 +      Minor code clean-up: fix dangling parentheses.
  
        * org-agenda.el (org-agenda-entry-text-mode): Also check against
        regexp filters.
        * org-mouse.el (org-mouse-agenda-context-menu): Fix a function's
        name.
  
 -      * ox.el (org-export-options-alist, org-export--skip-p): Use
 -      `:with-planning' instead of `:with-plannings', to keep in sync
 +      * ox.el (org-export-options-alist, org-export--skip-p):
 +      Use `:with-planning' instead of `:with-plannings', to keep in sync
        with the corresponding option's name.
  
        * ob-core.el (org-babel-confirm-evaluate): Fix typo in docstring.
        (org-re-timestamp): Handle closed time-stamps.
        (org-closed-in-range): Delete.
  
 -      * org-capture.el (org-capture-import-remember-templates): Take
 -      care of adding :jump-to-captured option if needed.
 +      * org-capture.el (org-capture-import-remember-templates):
 +      Take care of adding :jump-to-captured option if needed.
  
        * org.el (org-toggle-pretty-entities): Enhance messages.
        (org-raise-scripts): Handle scripts like "a_b^c".
        information for filtering in the agenda buffer.
        (org-uniquify-alist): New function.
  
 -      * org-pcomplete.el (pcomplete/org-mode/file-option/tags): Handle
 -      :grouptags.
 +      * org-pcomplete.el (pcomplete/org-mode/file-option/tags):
 +      Handle :grouptags.
  
        * org-faces.el (mode-line): New face for group tags.
  
        * ox-ascii.el (ascii): Use `org-export-define-backend' and
        `org-export-define-derived-backend' as defuns, not macros.
  
 -      * org.el (org-set-regexps-and-options): Use
 -      `org-table-set-constants'.
 +      * org.el (org-set-regexps-and-options):
 +      Use `org-table-set-constants'.
  
        * org-table.el (org-table-set-constants): New function.
        (orgtbl-ctrl-c-ctrl-c): Use it.
        * ox-publish.el (org-publish-org-to)
        (org-publish-org-sitemap, org-publish-find-title)
        (org-publish-find-date)
 -      (org-publish-cache-file-needs-publishing): Set
 -      `org-inhibit-startup' to t when visiting files for
 +      (org-publish-cache-file-needs-publishing):
 +      Set `org-inhibit-startup' to t when visiting files for
        publication.
  
        * ox-org.el (org-org-publish-to-org): Kill buffers not visited at
        (org-agenda-filter-remove-all): New command.
        (org-agenda-filter-show-all-re): Rename from
        `org-agenda-filter-show-all-regexp'.
 -      (org-agenda-filter-by-regexp): Call
 -      `org-agenda-filter-show-all-re'.
 +      (org-agenda-filter-by-regexp):
 +      Call `org-agenda-filter-show-all-re'.
  
        * org-list.el (org-insert-item): Don't ask for a definition term
        when insert an item in a description list.
        * ox.el (org-export--copy-to-kill-ring-p): New function.
        (org-export-copy-to-kill-ring): Use 'if-interactive as the
        default.
 -      (org-export-to-buffer, org-export-to-file): Use
 -      `org-export--copy-to-kill-ring-p' and fix docstrings.
 +      (org-export-to-buffer, org-export-to-file):
 +      Use `org-export--copy-to-kill-ring-p' and fix docstrings.
  
 -      * ox-odt.el (org-odt-export-as-odf): Use
 -      `org-export--copy-to-kill-ring-p'.
 +      * ox-odt.el (org-odt-export-as-odf):
 +      Use `org-export--copy-to-kill-ring-p'.
  
        * org.el (org-set-font-lock-defaults): Fontify macros.
  
        (org-scheduled-time-hour-regexp): New buffer local variables.
        (org-set-regexps-and-options): Set the new variables.
  
 -      * org-agenda.el (org-agenda-custom-commands-local-options): Add
 -      :deadline* and :scheduled* to the list of possible agenda entry
 +      * org-agenda.el (org-agenda-custom-commands-local-options):
 +      Add :deadline* and :scheduled* to the list of possible agenda entry
        types.
        (org-agenda): Implement a new agenda type agenda* with :scheduled*
        and :deadline* replacing :scheduled and :deadline respectively in
        (org-agenda-list): New parameter `with-hour'.  Use :scheduled* and
        :deadline*.
        (org-agenda-get-day-entries): Handle :scheduled* and :deadline*.
 -      (org-agenda-get-deadlines, org-agenda-get-scheduled): New
 -      parameter `with-hour'.  Use `org-deadline-time-hour-regexp' or
 +      (org-agenda-get-deadlines, org-agenda-get-scheduled):
 +      New parameter `with-hour'.  Use `org-deadline-time-hour-regexp' or
        `org-scheduled-time-hour-regexp' as the search string if needed.
        (org-agenda-to-appt): Use :scheduled* and :deadline* by default,
        as other scheduled and deadline items don't have a time spec and
        cannot be turned into appointments.  Trim bracket links and use
        only the description as the appointment text.
 -      (org-agenda-get-restriction-and-command): Add
 -      default description for the agenda* view.
 +      (org-agenda-get-restriction-and-command):
 +      Add default description for the agenda* view.
        (org-agenda-run-series): Handle agenda* views.
  
        * org-faces.el (org-agenda-filter-tags)
        (org-agenda-filter-category): Docstring fix.
        (org-agenda-filter-category): New face.
  
 -      * org-agenda.el (org-agenda-local-vars): Add
 -      `org-agenda-re-filter-overlays' and `org-agenda-regexp-filter'.
 +      * org-agenda.el (org-agenda-local-vars):
 +      Add `org-agenda-re-filter-overlays' and `org-agenda-regexp-filter'.
        (org-agenda-mode-map): Use "|" for
        `org-agenda-filtered-by-regexp'.
        (org-agenda-re-filter-overlays): New variable.
 -      (org-agenda-mark-filtered-text): Use
 -      `org-agenda-re-filter-overlays'.
 +      (org-agenda-mark-filtered-text):
 +      Use `org-agenda-re-filter-overlays'.
        (org-agenda-finalize, org-agenda-redo): Allow regexp filtering.
        (org-agenda-filter-by-category): Set `org-agenda-category-filter'
        here instead of within `org-agenda-apply-filter'.
        (org-agenda-filter-make-matcher): Make matcher for regexp filters.
        (org-agenda-filter-apply): Don't set `org-agenda-tag-filter' and
        `org-agenda-category-filter'.  Maybe apply regexp filter.
 -      (org-agenda-filter-hide-line): Add docstring.  Hide
 -      regexp-filtered lines.
 +      (org-agenda-filter-hide-line): Add docstring.
 +      Hide regexp-filtered lines.
        (org-agenda-filter-show-all-tag, org-agenda-filter-show-all-cat):
        Add docstring.
        (org-agenda-filter-show-all-regexp): New function.
        (org-agenda-regexp-filter-preset): New variable.
        (org-agenda-prepare): Use the new variable.
  
 -      * ox-odt.el (org-odt-code, org-odt-verbatim): Use
 -      `org-odt--encode-plain-text'.
 +      * ox-odt.el (org-odt-code, org-odt-verbatim):
 +      Use `org-odt--encode-plain-text'.
  
        * ox-html.el (org-html-link): Minor code clean-up.
  
        a universal prefix arg will only convert the first line.  This is
        more consistent with `org-toggle-item'.
        (orgstruct-setup): Add `org-ctrl-c-minus' and `org-ctrl-c-star'.
 -      (customize-package-emacs-version-alist): Update
 -      `customize-package-emacs-version-alist'.
 +      (customize-package-emacs-version-alist):
 +      Update `customize-package-emacs-version-alist'.
  
        * ox-texinfo.el (org-export-texinfo)
        (org-texinfo-filename, org-texinfo-classes)
        docstring.
  
        * ox-latex.el:
 -      (org-latex-table-scientific-notation, org-latex-verse-block): Fix
 -      typos in docstrings.
 +      (org-latex-table-scientific-notation, org-latex-verse-block):
 +      Fix typos in docstrings.
  
        * ox-html.el (org-html-text-markup-alist)
        (org-html-pretty-output, org-html-link-org-files-as-html)
        (org-html-format-list-item, org-html-format-latex)
        (org-html-encode-plain-text)
        (org-html-table-first-row-data-cells)
 -      (org-html-table--table.el-table, org-html-final-function): Fix
 -      or add docstring.
 +      (org-html-table--table.el-table, org-html-final-function):
 +      Fix or add docstring.
  
        * org.el (org-insert-heading): If the current item has a checkbox,
        insert the new item with a checkbox.
        known as HTML_STYLE_EXTRA.
        (org-html-head): Enhance docstring.
        (org-html-head-extra): Reintroduce.  Was `org-html-style-extra'.
 -      (org-html--build-head): Rename from `org-html--build-head'.  Add
 -      information from `org-html-head-extra'.
 +      (org-html--build-head): Rename from `org-html--build-head'.
 +      Add information from `org-html-head-extra'.
        (org-html-template): Use `org-html--build-head'.
  
        * ox-html.el (org-html-display-buffer-mode): Delete.
        (org-insert-heading-respect-content): New optional argument
        arg, passed to `org-insert-heading'.
  
 -      * org.el (org-mode): Remove syntax entries.  Use
 -      `org-backward-element' and `org-forward-element' for
 +      * org.el (org-mode): Remove syntax entries.
 +      Use `org-backward-element' and `org-forward-element' for
        `beginning-of-defun-function' and `end-of-defun-function': this
        allows using C-M-a and C-M-e before the first headline.
  
        publishing projects.
  
        * ox-html.el (org-html-style-default): Update docstring.
 -      (org-html-infojs-install-script, org-html--build-style): Update
 -      property names.
 +      (org-html-infojs-install-script, org-html--build-style):
 +      Update property names.
        (org-html-head-include-scripts)
        (org-html-head-include-default-style, org-html-head):
        Respectively rename from `org-html-style-include-scripts',
        * ob-tangle.el (org-babel-tangle): Remove unused attempt of
        prompting the user of the tangle file name since :tangle is always
        set.  Don't prompt for a tangle file name when called with two
 -      universal prefix arg outside of a src block.  Use
 -      `org-babel-tangle-single-block'.
 +      universal prefix arg outside of a src block.
 +      Use `org-babel-tangle-single-block'.
        (org-babel-tangle-single-block): New function.
        (org-babel-tangle-collect-blocks): Use the new function.
  
        universal prefix arguments, set the warning time or the delay
        relatively to the current timestamp, not to today's date.
  
 -      * org-agenda.el (org-agenda-filter-apply): Deactive
 -      `org-agenda-entry-text-mode' when filtering.
 +      * org-agenda.el (org-agenda-filter-apply):
 +      Deactive `org-agenda-entry-text-mode' when filtering.
        (org-agenda-entry-text-mode): Don't allow in filtered views.
        Don't show the maximum number of lines when turning off.
  
        * org-macs.el (org-unmodified): Update comment.  Don't define
        `with-silent-modifications' for emacsen that don't have it.
  
 -      * org-compat.el (org-with-silent-modifications): New
 -      compatibility macro.
 +      * org-compat.el (org-with-silent-modifications):
 +      New compatibility macro.
  
        * org.el (org-refresh-category-properties)
        (org-refresh-properties, org-entry-blocked-p)
        * ox-publish.el (org-publish-sitemap-date-format): Small docstring
        enhancement.
  
 -      * ox-latex.el (org-latex-format-headline-default-function): New
 -      option.
 +      * ox-latex.el (org-latex-format-headline-default-function):
 +      New option.
        (org-latex-format-headline-function): Use the new option as
        the default value.
        (org-latex-toc-command): Don't add vertical space after the table
        (org-html-htmlized-org-css-url)
        (org-html-htmlize-region-for-paste): Rename from
        org-export-htmlize-*.
 -      (org-html-htmlize-generate-css, org-html-fontify-code): Use
 -      the correct names.
 +      (org-html-htmlize-generate-css, org-html-fontify-code):
 +      Use the correct names.
  
        * org-compat.el (org-file-equal-p): New compatibility function.
  
        (org-clock-in, org-clock-out): Set and delete
        `org-clock-current-task'.  Minor code clean-up.
  
 -      * org-clock.el (org-clock-in, org-clock-in-last): Tell
 -      `org-current-time' to always return a past time.
 +      * org-clock.el (org-clock-in, org-clock-in-last):
 +      Tell `org-current-time' to always return a past time.
  
        * org.el (org-current-time): New argument `past' to force
        returning a past time when rounding.
        `org-emphasis-alist' word constituents.
        (org-mode-transpose-word-syntax-table): Rename from
        `org-syntax-table'.
 -      (org-transpose-words): Use
 -      `org-mode-transpose-word-syntax-table'.
 +      (org-transpose-words):
 +      Use `org-mode-transpose-word-syntax-table'.
  
        * ox.el (org-export--dispatch-ui)
        (org-export--dispatch-action): Use integers for control chars.
        (org-edit-src-exit): Inconditionally kill the src/example
        editing buffer.
  
 -      * org-pcomplete.el (pcomplete/org-mode/file-option): Require
 -      'org-element.  This fixes a bug about unbound variable
 +      * org-pcomplete.el (pcomplete/org-mode/file-option):
 +      Require 'org-element.  This fixes a bug about unbound variable
        `org-element-affiliated-keywords' when trying to complete a
        keyword before 'org-element was required.
  
  
        * org.el (org-syntax-table, org-transpose-words): Delete.
        (org-mode): Syntactically Define {} and <> as parentheses.
 -      (org-drag-line-forward, org-drag-line-backward): New
 -      functions.
 +      (org-drag-line-forward, org-drag-line-backward):
 +      New functions.
        (org-shiftmetaup, org-shiftmetadown): Fall back on the new
        functions instead of throwing an error.
        (org-make-org-heading-search-string): Don't use statistic or [x/y]
        * org.el (org-emphasis-alist, org-protecting-blocks):
        * org-src.el (org-edit-src-find-region-and-lang):
        * org-list.el (org-list-forbidden-blocks):
 -      * org-footnote.el (org-footnote-forbidden-blocks): Remove
 -      references to the deleted DocBook exporter.
 +      * org-footnote.el (org-footnote-forbidden-blocks):
 +      Remove references to the deleted DocBook exporter.
  
        * org.el (org-end-of-line): Don't throw an error outside elements.
  
        (org-transpose-words): New command, simply wrapping the new
        syntax table around `transpose-words'.
        (org-mode-map): Bind `org-transpose-words' to `M-t'.
 -      (org-store-link): Use keyword at point as the search string.  Use
 -      `delq nil' instead of `delete nil'.
 +      (org-store-link): Use keyword at point as the search string.
 +      Use `delq nil' instead of `delete nil'.
        (org-make-org-heading-search-string): Rewrite using
        org-element.el.  Not an interactive function anymore.
  
        these list HTML tags: <ul> <dl> and <ol>.
  
        * org-clock.el (org-clock-timestamps-up)
 -      (org-clock-timestamps-down, org-clock-timestamps-change): Add
 -      an optional argument N to change timestamps by several units.
 +      (org-clock-timestamps-down, org-clock-timestamps-change):
 +      Add an optional argument N to change timestamps by several units.
  
        * org.el (org-shiftcontrolup, org-shiftcontroldown): Ditto.
  
        * org.el (org-block-entry-blocking): New variable.
        (org-todo): Use it.  Also use `user-error' when a TODO state
        change is blocked.
 -      (org-block-todo-from-children-or-siblings-or-parent): Display
 -      `org-block-entry-blocking' in the user-error message.
 +      (org-block-todo-from-children-or-siblings-or-parent):
 +      Display `org-block-entry-blocking' in the user-error message.
  
        * org.el (org-get-cursor-date): New optional argument WITH-TIME to
        add the time of the day.
        (org-use-last-clock-out-time-as-effective-time): New option.
        (org-current-effective-time): Use the new option.
  
 -      * org-clock.el (org-clock-get-last-clock-out-time): New
 -      function.
 +      * org-clock.el (org-clock-get-last-clock-out-time):
 +      New function.
  
        * org.el (org-toggle-inline-images): Only send a message when
        called interactively.
        (org-agenda-get-blocks, org-agenda-change-all-lines): Add a
        new text property 'level, a string with as many whitespaces as
        the level of the item.
 -      (org-agenda-format-item, org-compile-prefix-format): Handle
 -      the new `%l' specifier.
 +      (org-agenda-format-item, org-compile-prefix-format):
 +      Handle the new `%l' specifier.
  
        * org-colview.el (org-columns-next-allowed-value): Add the
        CLOCKSUM property to the list of properties that can be
        * org-agenda.el (org-agenda-custom-commands-local-options):
        (org-agenda-span, org-agenda-ndays-to-span)
        (org-agenda-span-to-ndays, org-agenda-list, org-agenda-later)
 -      (org-agenda-change-time-span, org-agenda-compute-starting-span): Add
 -      support for fortnight view.
 +      (org-agenda-change-time-span, org-agenda-compute-starting-span):
 +      Add support for fortnight view.
        (org-agenda-menu): Add fortnight view command.
        (org-agenda-fortnight-view): New command.
  
        * org-timer.el (org-clock-sound): Silence compiler.
  
 -      * org.el (org-beginning-of-line, org-end-of-line): Bind
 -      deactivate-mark to avoid that this command deactivates it.
 +      * org.el (org-beginning-of-line, org-end-of-line):
 +      Bind deactivate-mark to avoid that this command deactivates it.
        (org-make-tags-matcher): Do not interpret / in property value as
        starter of TODO match.
        (org-overview): Preserve point.
  
        * org.el (org-unlogged-message): New function.
        (org-cycle, org-cycle-internal-global, org-cycle-internal-local)
 -      (org-global-cycle, org-display-outline-path): Use
 -      `org-unlogged-message'.
 +      (org-global-cycle, org-display-outline-path):
 +      Use `org-unlogged-message'.
  
 -      * org-pcomplete.el (org-make-org-heading-search-string): Fix
 -      function declaration.
 +      * org-pcomplete.el (org-make-org-heading-search-string):
 +      Fix function declaration.
        (pcomplete/org-mode/searchhead): Remove incorrect second arguments
        to `org-make-org-heading-search-string'.
  
        (org-display-outline-path): Do not log outline path in Message
        buffer.
        (org-agenda-ignore-drawer-properties): New option.
 -      (org-agenda-prepare-buffers): Honour
 -      `org-agenda-ignore-drawer-properties'.
 +      (org-agenda-prepare-buffers):
 +      Honour `org-agenda-ignore-drawer-properties'.
  
        * org-clock.el (org-clock-goto): Recenter to thrd line
  
        (org-set-regexps-and-options-for-tags): Use `org-bookmark-names-plist'.
        (org-refile): Use `org-bookmark-names-plist'.
  
 -      * org-capture.el (org-capture-bookmark-last-stored-position): Use
 -      `org-bookmark-names-plist'.
 +      * org-capture.el (org-capture-bookmark-last-stored-position):
 +      Use `org-bookmark-names-plist'.
  
        * org.el (org-insert-heading): Rewritten from scratch.
        (org-N-empty-lines-before-current): New function
  
        * org-ctags.el (org-ctags-path-to-ctags): Avoid usine `case'.
  
 -      * org.el (org-beginning-of-line, org-end-of-line): Set
 -      disable-point-adjustment when the command ends next to invisible
 +      * org.el (org-beginning-of-line, org-end-of-line):
 +      Set disable-point-adjustment when the command ends next to invisible
        text.
  
        * ob-lob.el (org-babel-lob-files): Fix custom type.
  
  2013-11-12  Christian Moe  <mail@christianmoe.com>
  
 -      * ox-odt.el (org-odt-line-break, org-odt-plain-text): Remove
 -      newline after line-break tag.
 +      * ox-odt.el (org-odt-line-break, org-odt-plain-text):
 +      Remove newline after line-break tag.
  
  2013-11-12  Christophe Junke  <christophe.junke@inria.fr>  (tiny change)
  
        property.
        (org-heading-components): Use `org-heading-regexp' in
        orgstruct-mode.
 -      (orgstruct-heading-prefix-regexp, orgstruct-setup-hook): New
 -      options.
 +      (orgstruct-heading-prefix-regexp, orgstruct-setup-hook):
 +      New options.
        (orgstruct-initialized): New variable.
        (org-get-local-variables): Honour state property.
        (org-run-like-in-org-mode): Use `let' instead of `progv'.  Do not
        override variables with non-default values.
        (org-forward-heading-same-level): Do not skip to headlines on
        another level.  Handle negative prefix argument correctly.
 -      (org-backward-heading-same-level): Use
 -      `org-forward-heading-same-level'.
 +      (org-backward-heading-same-level):
 +      Use `org-forward-heading-same-level'.
  
  2013-11-12  Craig Tanis  <craig-tanis@utc.edu>  (tiny change)
  
  
        * ox-html.el (org-html-doctype-alist): New variable holding an
        alist of (X)HTML doctypes
 -      (org-html-xhtml-p, org-html-html5-p, org-html-close-tag): New
 -      function.
 +      (org-html-xhtml-p, org-html-html5-p, org-html-close-tag):
 +      New function.
        (org-html-html5-fancy): New export option, determining whether or
        not to use HTML5-specific elements.
        (org-html-html5-elements): New variable, new HTML5 elements.
        (org-html-format-list-item, org-html-line-break, org-html-table)
        (org-html-verse-block): Changes to allow flavored export.
  
 -      * ox-latex.el (org-latex--org-table, org-latex-table-row): Allow
 -      use of the "tabu" and "longtabu" table environments.  New table
 +      * ox-latex.el (org-latex--org-table, org-latex-table-row):
 +      Allow use of the "tabu" and "longtabu" table environments.  New table
        attribute :spread handles the width specification syntax of "tabu"
        and "longtabu" table environments.
  
        * ob-sh.el (org-babel-sh-evaluate):
        * ob-shen.el (org-babel-execute:shen):
        * ob-sql.el (org-babel-execute:sql):
 -      * ob-sqlite.el (org-babel-execute:sqlite): Use
 -      `org-babel-result-cond'.
 +      * ob-sqlite.el (org-babel-execute:sqlite):
 +      Use `org-babel-result-cond'.
  
        * ob.el (org-babel-common-header-args-w-values): Add a new "none"
        header argument.
        :padnewlines to "yes".  Either way lets just remove this which
        shouldn't have any functional effect.
  
 -      * ob-haskell.el (org-babel-default-header-args:haskell): Set
 -      :padlines to "no" by default.
 +      * ob-haskell.el (org-babel-default-header-args:haskell):
 +      Set :padlines to "no" by default.
  
        * ob-exp.el (org-babel-exp-non-block-elements): Ignore inline
        source block on #+ prefixed lines.
        * ob-sh.el (org-babel-sh-var-to-string): Fix bug in ob-sh when
        dealing with list variables.
  
 -      * ob-core.el (org-babel-demarcate-block): Include
 -      `org-src-lang-modes' in block demarcation options.
 +      * ob-core.el (org-babel-demarcate-block):
 +      Include `org-src-lang-modes' in block demarcation options.
  
        * ob-C.el: Don't modify `org-babel-load-languages' from ob-*
        files.
        * ob-gnuplot.el (org-babel-header-args:gnuplot): Term is a gnuplot
        header argument.
  
 -      * ob-tangle.el (org-babel-tangle): Fixed bug in tangle-file.
 +      * ob-tangle.el (org-babel-tangle): Fix bug in tangle-file.
        Collect tangle modes, and only apply them to the file after all
        tangling has completed, including the post-tangle-hook.
  
        * ob-core.el (org-babel-current-src-block-location):
        (org-babel-execute-src-block):
        * ob-exp.el (org-babel-exp-results):
 -      * ob-lob.el (org-babel-lob-execute): Rename
 -      `org-babel-current-exec-src-block-head' to
 +      * ob-lob.el (org-babel-lob-execute):
 +      Rename `org-babel-current-exec-src-block-head' to
        `org-babel-current-src-block-location'.
  
        * ob-core.el (org-babel-common-header-args-w-values): Adding the
        `org-babel-current-exec-src-block-head' variable when executing
        inline or lob style code.
  
 -      * ob-core.el (org-babel-execute-src-block): The
 -      `org-babel-current-exec-src-block-head' variable should point to
 +      * ob-core.el (org-babel-execute-src-block):
 +      The `org-babel-current-exec-src-block-head' variable should point to
        the outermost code block.
  
        * org.el (org-some): An org-mode version of the cl some function.
        * org.el (org-every): An Org-mode version of the cl every
        function.
  
 -      * ob-tangle.el (org-babel-tangle-jump-to-org): Use
 -      `org-src-switch-to-buffer' to jump from src to org.  Use the
 +      * ob-tangle.el (org-babel-tangle-jump-to-org):
 +      Use `org-src-switch-to-buffer' to jump from src to org.  Use the
        existing `org-edit-src' functionality to jump back to the correct
        point in the code block in the original Org-mode buffer.
  
        * ob-js.el (org-babel-execute:js): Use `org-babel-result-cond' in
        JavaScript code blocks.
  
 -      * ob-scheme.el (org-babel-execute:scheme): Use
 -      `org-babel-result-cond' in scheme code blocks.
 +      * ob-scheme.el (org-babel-execute:scheme):
 +      Use `org-babel-result-cond' in scheme code blocks.
  
 -      * ob-ocaml.el (org-babel-execute:ocaml): Use
 -      `org-babel-result-cond' in OCaml code blocks.
 +      * ob-ocaml.el (org-babel-execute:ocaml):
 +      Use `org-babel-result-cond' in OCaml code blocks.
  
 -      * ob-haskell.el (org-babel-execute:haskell): Use
 -      `org-babel-result-cond' in Haskell code blocks.
 +      * ob-haskell.el (org-babel-execute:haskell):
 +      Use `org-babel-result-cond' in Haskell code blocks.
  
        * ob-core.el (org-babel-result-cond): The "raw", "org" and
        "drawer" :results header argument values preclude table processing
        (org-babel-insert-result): Cycle tables for :results org and
        :results wrap.
  
 -      * ob-python.el (org-babel-python-initiate-session-by-key): Fixed a
 +      * ob-python.el (org-babel-python-initiate-session-by-key): Fix a
        bug pointed out by Gary Oberbrunner.
        (org-babel-python-initiate-session-by-key): Add "-i" to the python
        command on windows sessions.  Actually setting new session names.
        (org-babel-confirm-evaluate): Fix whitespaces.
        (org-babel-execute-src-block): A cond makes it more clear that we
        definitely do not execute without user confirmation.
 -      (org-babel-call-process-region-original): Fixed line over 80 chars
 +      (org-babel-call-process-region-original): Fix line over 80 chars
        long.
  
        * ob-tangle.el (org-babel-tangle-collect-blocks): Update comment
        * ox-html.el (org-html-latex-environment)
        (org-html-latex-fragment): Fix imagemagick support.
  
 -      * org.el (org-create-formula-image-with-imagemagick): Generate
 -      correct size formula image.
 +      * org.el (org-create-formula-image-with-imagemagick):
 +      Generate correct size formula image.
        (org-format-latex-header): Change pagestyle command position.
  
        * ox-latex.el (org-latex--caption/label-string): Allow to build a
  
        * org.el (org-reftex-citation): Fix contrib package name in the
        docstring.
 -      (org-preview-latex-fragment, org-display-inline-images): Detect
 -      whether a graphic display is available before inlining images to
 +      (org-preview-latex-fragment, org-display-inline-images):
 +      Detect whether a graphic display is available before inlining images to
        prevent an error.
        (org-startup-with-latex-preview): New option.
        (org-startup-options): New startup keywords for the new option.
        (org-reverse-string): Add `org-reverse-string' to reverse a
        string.
  
 -      * org-id.el (org-id-new, org-id-decode): Replace
 -      `org-id-reverse-string' by `org-reverse-string'.
 +      * org-id.el (org-id-new, org-id-decode):
 +      Replace `org-id-reverse-string' by `org-reverse-string'.
  
        * ob-core.el (org-babel-trim): Replace `org-babel-reverse-string'
        by `org-reverse-string' and declare it.
        * ox-md.el: Remove comments at the beginning of the file since
        the library is documented in Org manual.
  
 -      * org-element.el (org-element--list-struct): Use
 -      `org-match-string-no-properties'.  Fix block parsing in lists.
 +      * org-element.el (org-element--list-struct):
 +      Use `org-match-string-no-properties'.  Fix block parsing in lists.
  
        * ox-publish.el (org-publish-all): Fix compilation problem.
  
 -      * org-element.el (org-element-timestamp-interpreter): Correctly
 -      interpret timestamps with delays.
 +      * org-element.el (org-element-timestamp-interpreter):
 +      Correctly interpret timestamps with delays.
        (org-element-timestamp-parser)
        (org-element-timestamp-interpreter): Parse warning delays.
  
        Fix infloop when called on a blank line at the end of the buffer
        after a headline.
  
 -      * org.el (org-forward-paragraph, org-backward-paragraph): New
 -      functions.
 +      * org.el (org-forward-paragraph, org-backward-paragraph):
 +      New functions.
  
        * org.el (org-meta-return): Allow M-RET to insert items within
        drawers.  Rewrite function.
  
 -      * org-element.el (org-element-footnote-definition-parser): Fix
 -      value for :contents-begin when first line of footnote definition
 +      * org-element.el (org-element-footnote-definition-parser):
 +      Fix value for :contents-begin when first line of footnote definition
        is empty besides the label.
        (org-element-at-point): Return correct element when point is on a
        blank line just below a headline.
 -      (org-element-paragraph-parser): Use
 -      `org-match-string-no-properties'.  Small fixes to paragraph
 +      (org-element-paragraph-parser):
 +      Use `org-match-string-no-properties'.  Small fixes to paragraph
        parsing.
  
        * org.el (org-adaptive-fill-function): Do not handle
  
        * ox-publish.el (project-plist): Remove variable.
  
 -      * ox.el (org-export-to-buffer, org-export-to-file): Fix
 -      docstrings.
 +      * ox.el (org-export-to-buffer, org-export-to-file):
 +      Fix docstrings.
  
        * ox-org.el (org-export-as-org): Add missing BODY-ONLY argument,
        which is always nil in this back-end.
        (org-export--dispatch-action): Maintain compatibility with Emacs
        23.
  
 -      * org.el (org-adaptive-fill-function, org-fill-paragraph): Add
 -      support for `adaptive-fill-regexp' in paragraphs and comments.
 +      * org.el (org-adaptive-fill-function, org-fill-paragraph):
 +      Add support for `adaptive-fill-regexp' in paragraphs and comments.
        (org-indent-line): Fix indentation after a list.
  
        * ox.el (org-export--get-inbuffer-options): Multiple options can
        * ox-latex.el (org-latex-template): Fix missing newlines in
        header.
  
 -      * ox.el (org-export-insert-default-template): Fix
 -      "wrong-type-argument" error in template insertion.
 +      * ox.el (org-export-insert-default-template):
 +      Fix "wrong-type-argument" error in template insertion.
  
        * org.el (org-fill-paragraph): Use empty commented lines as
        separators when filling comments.  This mimics default behavior
  
        * ox-latex.el (org-latex-listings): Update docstring.
  
 -      * org-pcomplete.el (pcomplete/org-mode/file-option/options): Apply
 -      changes to export back-end definiton.
 +      * org-pcomplete.el (pcomplete/org-mode/file-option/options):
 +      Apply changes to export back-end definiton.
  
        * org.el (org-get-export-keywords): Apply changes to export
        back-end definiton.
        (org-odt-format-headline--wrap): Use `org-export-with-backend'
        instead of `org-export-with-translations'.
  
 -      * ox.el (org-export--registered-backends): Renamed from
 +      * ox.el (org-export--registered-backends): Rename from
        `org-export-registered-backends'.
 -      (org-export-invisible-backends): Removed variable.
 +      (org-export-invisible-backends): Remove variable.
        (org-export-get-backend, org-export-get-all-transcoders
 -      org-export-get-all-options, org-export-get-all-filters): New
 -      functions.  It replaces `org-export-backend-translate-table'.
 +      org-export-get-all-options, org-export-get-all-filters):
 +      New functions.  It replaces `org-export-backend-translate-table'.
        (org-export-barf-if-invalid-backend, org-export-derived-backend-p,
        org-export-define-backend, org-export-define-derived-backend):
        Rewrite functions using new representation.
        org-export--get-inbuffer-options, org-export--get-global-options,
        org-export-to-buffer org-export-to-file, org-export-string-as
        org-export-replace-region-by): Update docstring.
 -      (org-export-data-with-translations): Remove function.  Use
 -      `org-export-data-with-backend' with a temporary back-end instead.
 +      (org-export-data-with-translations): Remove function.
 +      Use `org-export-data-with-backend' with a temporary back-end instead.
        (org-export-data-with-backend, org-export-as): Reflect new definition
        for back-ends.
        (org-export--dispatch-action, org-export--dispatch-ui): Reflect new
  
        * ox-html.el (org-html-link): Small refactoring.
  
 -      * org-element.el (org-element--current-element): Fix
 -      org-meta-return error at the end of buffer.
 +      * org-element.el (org-element--current-element):
 +      Fix org-meta-return error at the end of buffer.
  
        * ox-odt.el (org-odt-category-map-alist): Fix internationalization
        of "Table" and "Listing".
        (org-latex-long-listings): Remove variable.
  
        * org-element.el (org-element--list-struct): New function.
 -      (org-element-plain-list-parser, org-element--current-element): Use
 -      new function.
 +      (org-element-plain-list-parser, org-element--current-element):
 +      Use new function.
  
        * ox-man.el (org-man-compile):
        * ox-texinfo.el (org-texinfo-compile): Use appropriate argument.
  
        * ox-md.el (md): Delegate underscore transcoding to HTML back-end.
  
 -      * org-element.el (org-element--remove-indentation): Small
 -      optimization.
 +      * org-element.el (org-element--remove-indentation):
 +      Small optimization.
        (org-element--remove-indentation): New function.
        (org-element-example-block-parser, org-element-src-block-parser):
        Use new function.
        `org-list-allow-alphabetical' when changed after org.el has been
        loaded.
  
 -      * org-element.el (org-element-fixed-width-interpreter): Fix
 -      interpretation of fixed-width elements with a nil or empty string
 +      * org-element.el (org-element-fixed-width-interpreter):
 +      Fix interpretation of fixed-width elements with a nil or empty string
        value.
  
        * ox-html.el (org-html-link): Don't skip the link description when
        * ox-icalendar.el (icalendar): Ignore footnotes.
        (org-icalendar--combine-files): Small refactoring.
  
 -      * ox.el (org-export--skip-p, org-export--interpret-p): When
 -      `org-export-with-footnotes' is nil, ignore completely footnotes
 +      * ox.el (org-export--skip-p, org-export--interpret-p):
 +      When `org-export-with-footnotes' is nil, ignore completely footnotes
        references and definitions instead of exporting them verbatim.
  
        * ox-beamer.el (org-beamer--frame-level): Small refactoring.
        * ox-html.el (html): Rename :html-table-tag property into
        :org-table-attributes.
        (org-html-table-default-attributes): New variable.
 -      (org-html-table-tag): Removed variable.
 +      (org-html-table-tag): Remove variable.
        (org-html--make-attribute-string): New function.
        (org-html-link--inline-image, org-html-table): Use new function.
 -      (org-html-splice-attributes, org-export-splice-style): Remove
 -      functions.
 +      (org-html-splice-attributes, org-export-splice-style):
 +      Remove functions.
        (org-html-inline-image-rules): Remove out of context part of the
        docstring.
  
        (org-export-with-sub-superscripts, org-export-with-toc)
        (org-export-with-tables, org-export-with-tags)
        (org-export-with-tasks, org-export-time-stamp-file)
 -      (org-export-with-timestamps, org-export-with-todo-keywords): Fix
 -      docstrings.
 +      (org-export-with-timestamps, org-export-with-todo-keywords):
 +      Fix docstrings.
  
        * ox-html.el (org-html-postamble-format): Slightly change default
        value so "Generated by" string doesn't get duplicated.
        (org-export--dispatch-ui, org-export--dispatch-action): Access to
        the function through the dispatcher.
  
 -      * ox-icalendar.el (org-icalendar-convert-timestamp): Update
 -      docstring.
 +      * ox-icalendar.el (org-icalendar-convert-timestamp):
 +      Update docstring.
        (org-icalendar-dtstamp): New function.
        (org-icalendar--vevent, org-icalendar--vtodo): Use new function.
  
        (org-macro-initialize-templates): Apply signature change from function
        above.
  
 -      * ox.el (org-export--list-bound-variables): Renamed from
 +      * ox.el (org-export--list-bound-variables): Rename from
        `org-export--install-letbind-maybe'.  Though, only return list of
        bound variables instead of installing them as buffer-local
        variables.
        * ox-man.el (org-man-table--org-table): Use new attribute syntax.
        Small refactoring.
  
 -      * ox-odt.el (org-odt-link--inline-image, org-odt-table-cell): Use
 -      new attribute syntax.
 +      * ox-odt.el (org-odt-link--inline-image, org-odt-table-cell):
 +      Use new attribute syntax.
  
        * ox.el (org-export-async-start): Remove code evaluation queries
        from asynchronous export.
        * ox-latex.el (org-latex-inline-image-rules)
        (org-latex-default-table-environment)
        (org-latex-default-table-mode, org-latex-tables-booktabs)
 -      (org-latex-table-scientific-notation, org-latex-known-errors): Add
 -      :version and :package-version.
 +      (org-latex-table-scientific-notation, org-latex-known-errors):
 +      Add :version and :package-version.
  
        * ox-md.el (org-md-headline-style): Add :version and
        :package-version.
        * ox.el (org-export-with-drawers, org-export-with-latex)
        (org-export-with-inlinetasks, org-export-with-planning)
        (org-export-with-smart-quotes, org-export-with-statistics-cookies)
 -      (org-export-allow-bind-keywords, org-export-async-init-file): Add
 -      :version and :package-version.
 +      (org-export-allow-bind-keywords, org-export-async-init-file):
 +      Add :version and :package-version.
  
        * ox-icalendar.el (org-icalendar-export-to-ics): Change back-end
        name from `e-ascii' to `ascii'.
        * org.el (org-fill-paragraph): Small refactoring to
        `org-fill-paragraph'.  Do not look for table cells in a paragraph.
  
 -      * org-element.el (org-element-object-restrictions): Simplify
 -      restrictions within secondary strings and objects.
 +      * org-element.el (org-element-object-restrictions):
 +      Simplify restrictions within secondary strings and objects.
  
        * org-list.el (org-list-send-list): Do not rely on
        `org-list-parse-list'.
 -      (org-list-to-latex, org-list-to-html, org-list-to-texinfo): Use
 -      appropriate export back-end instead of using
 +      (org-list-to-latex, org-list-to-html, org-list-to-texinfo):
 +      Use appropriate export back-end instead of using
        `org-list-to-generic'.
  
        * ox-html.el (org-html-inner-template): Remove contents div and
        (org-icalendar-export-current-agenda): Integrate previous
        functions.
  
 -      * ox-latex.el (org-latex-format-headline-default-function): Use
 -      declarative shape to nest makup for TODO keywords.  Previous
 -      syntax generated errors during export.
 +      * ox-latex.el (org-latex-format-headline-default-function):
 +      Use declarative shape to nest makup for TODO keywords.
 +      Previous syntax generated errors during export.
  
        * ox.el (org-export-async-start): Ignore `org-mode-hook' and
        `kill-emacs-hook'.  The first one has been run in the original
        computing minimal headline level.
  
        * org.el (org-do-latex-and-related): Fix infloop when user
 -      provides a wrong value for `org-highlight-latex-and-related'.  In
 -      this case, `org-latex-and-related-regexp' is the empty string and
 +      provides a wrong value for `org-highlight-latex-and-related'.
 +      In this case, `org-latex-and-related-regexp' is the empty string and
        generates an infloop since matching it doesn't move point.
  
 -      * org-element.el (org-element-headline-parser): Rename
 -      :optional-title into :alt-title.
 +      * org-element.el (org-element-headline-parser):
 +      Rename :optional-title into :alt-title.
  
 -      * ox.el (org-export-get-alt-title): Renamed from
 +      * ox.el (org-export-get-alt-title): Rename from
        `org-export-get-optional-title'.
  
        * ox-ascii.el (org-ascii--build-title):
        * ox-latex.el (org-latex-compile): Add an optional argument for
        latex snippet previewing.
  
 -      * org.el (org-create-formula-image-with-imagemagick): Use
 -      `org-latex-compile' instead of rewriting it.
 +      * org.el (org-create-formula-image-with-imagemagick):
 +      Use `org-latex-compile' instead of rewriting it.
  
        * ox-html.el (org-html-fontify-code): Do not use [^\000] in
        regexps that may match large strings.
        (org-element-plain-link-successor): New function.
  
        * org.el (org-match-substring-regexp)
 -      (org-match-substring-with-braces-regexp): Update regexp.  A
 -      sub/superscript cannot start anymore at the beginning of the line
 +      (org-match-substring-with-braces-regexp): Update regexp.
 +      sub/superscript cannot start anymore at the beginning of the line
        or after a space.
  
        * org-element.el (org-element--get-next-object-candidates):
  
        * ox-html.el (org-html--format-toc-headline): Fix function name.
        (org-html-toc, org-html--toc-text): Change to docstring.
 -      (org-html-list-of-listings, org-html-list-of-tables): New
 -      functions.
 +      (org-html-list-of-listings, org-html-list-of-tables):
 +      New functions.
        (org-html-keyword): Use new functions.
        (org-html-src-block): Add an ID attribute when a name is given.
  
 -      * org-element.el (org-element-footnote-definition-parser): Require
 -      2 blank lines to separate footnote definition.
 +      * org-element.el (org-element-footnote-definition-parser):
 +      Require 2 blank lines to separate footnote definition.
  
        * org-footnote.el (org-footnote-at-definition-p): Require 2 blank
        lines to separate footnote definition.
        (org-export-stack-refresh): Refactor.
        (org-export-stack-remove, org-export-stack-view): Apply renaming.
        (org-export-stack-mode-map): Use tabulated list map as a basis.
 -      (org-export-stack--generate, org-export-stack--num-predicate): New
 -      function.
 +      (org-export-stack--generate, org-export-stack--num-predicate):
 +      New function.
        (org-export-get-optional-title): Return regular title when no
        optional title is found.
  
        * ox-latex.el (org-latex-headline): Apply change to
        `org-export-get-optional-title'.
  
 -      * ox-ascii.el (org-ascii--build-title): Add an argument.  Use
 -      optional title when building a toc line.
 +      * ox-ascii.el (org-ascii--build-title): Add an argument.
 +      Use optional title when building a toc line.
        (org-ascii--build-toc): Call `org-ascii--build-title' with
        appropriate arguments.
  
        * ox-latex.el (org-latex-headline): Use optional title for table
        of contents.
  
 -      * ox-html.el (org-html--toc-text): Renamed from
 +      * ox-html.el (org-html--toc-text): Rename from
        `org-html-toc-text'.  Add docstring.
 -      (org-html--format-toc-headline): Renamed from
 +      (org-html--format-toc-headline): Rename from
        `org-html-format-toc-headline'.  Add docstring.  Use optional
        title if possible.
        (org-html-toc): Add docstring.
  
        * ox.el (org-export-get-optional-title): New function.
  
 -      * ox-latex.el (org-latex-format-headline-default-function): Make
 -      the variable a function.
 +      * ox-latex.el (org-latex-format-headline-default-function):
 +      Make the variable a function.
  
 -      * ox-publish.el (org-publish-resolve-external-fuzzy-link): No
 -      error when resolving external fuzzy links outside publishing.
 +      * ox-publish.el (org-publish-resolve-external-fuzzy-link):
 +      No error when resolving external fuzzy links outside publishing.
        Though search option for these links will not be resolved.
  
        * ox-latex.el (org-latex-guess-inputenc): Set inputenc option
        according to `org-export-coding-system'.
  
 -      * ox.el (org-export--generate-copy-script): Clone
 -      `buffer-file-coding-system' when creating a buffer copy.
 +      * ox.el (org-export--generate-copy-script):
 +      Clone `buffer-file-coding-system' when creating a buffer copy.
  
        * ox-html.el (org-html-link): Resolve external links with search
        options like [[file.org::#custom-id]] or
  
        * ox-latex.el (org-latex-property-drawer): Remove function.
  
 -      * ox-ascii.el (org-ascii-filter-paragraph-spacing): Remove
 -      reference to now renamed `e-ascii' back-end.
 +      * ox-ascii.el (org-ascii-filter-paragraph-spacing):
 +      Remove reference to now renamed `e-ascii' back-end.
  
        * ox-beamer.el (org-beamer-template): Allow to span documentclass
        options accross multiple lines in template.
        * org-element.el (org-element-map): Allow to map over any list.
        Do not restrict mapping to object types.
  
 -      * org-faces.el (org-latex-and-related): Renamed from
 +      * org-faces.el (org-latex-and-related): Rename from
        `org-latex-and-export-specials', which wasn't appropriate anymore.
  
        * org.el (org-highlight-latex-and-related)
        (org-latex-and-related-regexp): New variables.
 -      (org-compute-latex-and-related-regexp, org-do-latex-and-related): New
 -      function, revived from a previous commit.
 +      (org-compute-latex-and-related-regexp, org-do-latex-and-related):
 +      New function, revived from a previous commit.
        (org-set-regexps-and-options, org-set-font-lock-defaults): Use new
        functions.
        (org-set-regexps-and-options): Remove reference to LATEX_CLASS and
        * org-element.el (org-element-link-parser): Do not remove newlines
        characters in paths anymore, since this is not required.
  
 -      * ox.el (org-export--dispatch-ui): Renamed from
 +      * ox.el (org-export--dispatch-ui): Rename from
        `org-export-dispatch-ui'.  Handle scrolling.
 -      (org-export--dispatch-action): Renamed from
 +      (org-export--dispatch-action): Rename from
        `org-export-dispatch-action'.  Implement scrolling.
        (org-export-dispatch): Apply renaming.
  
  
        * ox.el (org-export-stack-mode): Fix docstring.
  
 -      * org-pcomplete.el (pcomplete/org-mode/file-option): Allow
 -      completion for ATTR_ prefixed keywords.
 +      * org-pcomplete.el (pcomplete/org-mode/file-option):
 +      Allow completion for ATTR_ prefixed keywords.
  
        * org.el (org-options-keywords): Add missing colons.
  
 -      * org-macs.el (org-default-options): Removed function.
 +      * org-macs.el (org-default-options): Remove function.
  
        * org-pcomplete.el (org-command-at-point): Fix bug with some file
        options.
 -      (pcomplete/org-mode/file-option/x): Removed macro.
 +      (pcomplete/org-mode/file-option/x): Remove macro.
        (pcomplete/org-mode/file-option): Refactor code.
        (pcomplete/org-mode/file-option/author)
        (pcomplete/org-mode/file-option/date)
  
        * ox-ascii.el (org-ascii-inner-template): New function.
        (org-ascii-template): Use new function.
 -      (org-ascii-export-as-ascii, org-ascii-export-to-ascii): Update
 -      docstring.
 +      (org-ascii-export-as-ascii, org-ascii-export-to-ascii):
 +      Update docstring.
  
        * org-element.el (org-element-link-parser): Take into
        consideration links filled and indented.
        * org-element.el (org-element-nested-p): Do not inline function.
  
        * ox.el (org-export-copy-buffer, org-export-with-buffer-copy)
 -      (org-export--generate-copy-script): Moved earlier in the file.
 +      (org-export--generate-copy-script): Move earlier in the file.
  
        * ox-texinfo.el (org-texinfo-link): Do not transform path part of
        internal links.
        required in the external process.
  
        * org.el (org-format-latex-header-extra, org-export-have-math):
 -      Removed variables.
 -      (org-latex-default-packages-alist): Renamed from
 +      Remove variables.
 +      (org-latex-default-packages-alist): Rename from
        `org-export-latex-default-packages-alist'.
 -      (org-latex-packages-alist): Renamed from
 +      (org-latex-packages-alist): Rename from
        `org-export-latex-packages-alist'.
        (org-try-cdlatex-tab, org-cdlatex-underscore-caret,
        org-cdlatex-math-modify): Reorder in file.
  
        * org-entities.el (org-entities-user): Update docstring.
  
 -      * ox-latex.el (org-latex-classes, org-latex-listings): Update
 -      docstring.
 -      (org-latex-guess-inputenc): Renamed from `org-latex--guess-inputenc'.
 -      (org-latex-guess-babel-language): Renamed from
 +      * ox-latex.el (org-latex-classes, org-latex-listings):
 +      Update docstring.
 +      (org-latex-guess-inputenc): Rename from `org-latex--guess-inputenc'.
 +      (org-latex-guess-babel-language): Rename from
        `org-latex--guess-babel-language'.
        (org-latex-template): Apply renaming.
  
        copying it.
  
        * org-macs.el (org-if-unprotected, org-if-unprotected-1)
 -      (org-if-unprotected-at): Removed macros.
 -      (org-re-search-forward-unprotected): Removed function.
 +      (org-if-unprotected-at): Remove macros.
 +      (org-re-search-forward-unprotected): Remove function.
  
        * org.el (org-format-latex):
        * org-list.el (org-list-struct):
        * org-capture.el (org-capture-fill-template): Remove reference to
        `org-protected'.
  
 -      * ob-exp.el (org-babel-exp-process-buffer): Renamed from
 +      * ob-exp.el (org-babel-exp-process-buffer): Rename from
        `org-export-blocks-preprocess'.
  
        * ox.el (org-export-execute-babel-code): Apply previous renaming.
        framework.
        (pcomplete/org-mode/file-option/options): Rewrite using new export
        framework.  Only complete up to the colon.
 -      (pcomplete/org-mode/file-option/x): Removed macro.
 +      (pcomplete/org-mode/file-option/x): Remove macro.
        (pcomplete/org-mode/file-option/title)
        (pcomplete/org-mode/file-option/author)
        (pcomplete/org-mode/file-option/email)
 -      (pcomplete/org-mode/file-option/date): Removed functions.
 +      (pcomplete/org-mode/file-option/date): Remove functions.
        (pcomplete/org-mode/file-option/infojs_opt): New function.
  
        * org-clock.el (org-clocktable-defaults)
        function.
  
        * org-inlinetask.el (org-inlinetask-export)
 -      (org-inlinetask-export-templates): Removed variables.
 -      (org-inlinetask-export-handler): Removed function.
 +      (org-inlinetask-export-templates): Remove variables.
 +      (org-inlinetask-export-handler): Remove function.
  
        * org-plot.el: Remove dependency on `org-exp' library.
  
        * org-agenda.el (org-agenda-menu, org-agenda-write): Use new
        iCalendar export back-end.
  
 -      * org-table.el (org-table-export, orgtbl-export): Remove
 -      dependency on `org-exp' library.
 +      * org-table.el (org-table-export, orgtbl-export):
 +      Remove dependency on `org-exp' library.
        (org-table-clean-before-export): New function.
        (org-table-colgroup-info): New variable.
        (orgtbl-to-html): Use to new HTML export back-end.
        Elements.
  
        * org-element.el (org-element-at-point): When point is before any
 -      element, in the first blank lines of the buffer, return nil.  When
 -      point is within blank lines just after a headline, return that
 +      element, in the first blank lines of the buffer, return nil.
 +      When point is within blank lines just after a headline, return that
        headline.
        (org-element-context): Return nil when point is within the blank at
        the beginning of the buffer.
  
        * org.el (org-edit-special): Fix regression.
        (org-timestamp-has-time-p, org-timestamp-format)
 -      (org-timestamp-split-range, org-timestamp-translate): New
 -      functions.
 +      (org-timestamp-split-range, org-timestamp-translate):
 +      New functions.
  
 -      * org-element.el (org-element-timestamp-interpreter): Interpret
 -      timestamps ranges with repeaters.
 +      * org-element.el (org-element-timestamp-interpreter):
 +      Interpret timestamps ranges with repeaters.
  
        * org.el (org-edit-special): Rewrite `org-edit-special' using Org
        Elements tools.  Behavior should be unchanged.
        * org.el (org-all-targets): Fix radio targets detection when
        object is directly followed by a non-whitespace character.
  
 -      * ob.el (org-babel-use-quick-and-dirty-noweb-expansion): Renamed
 -      from `org-babel-use-quick-and-dirty-noweb-expansion'.
 +      * ob.el (org-babel-use-quick-and-dirty-noweb-expansion):
 +      Rename from `org-babel-use-quick-and-dirty-noweb-expansion'.
        (org-babel-expand-noweb-references): Use new variable name.
  
 -      * org-element.el (org-element-timestamp-interpreter): Fix
 -      timestamp interpreter when raw value isn't available.
 +      * org-element.el (org-element-timestamp-interpreter):
 +      Fix timestamp interpreter when raw value isn't available.
  
        * ob-exp.el (org-babel-exp-non-block-elements): Make sure to parse
        inline babel call or inline src block instead of the following
        (org-element-horizontal-rule-parser, org-element-keyword-parser)
        (org-element-latex-environment-parser)
        (org-element-paragraph-parser, org-element-src-block-parser)
 -      (org-element-table-parser, org-element-verse-block-parser): Add
 -      `:post-affiliated' property to elements.
 +      (org-element-table-parser, org-element-verse-block-parser):
 +      Add `:post-affiliated' property to elements.
        (org-element-inlinetask-parser): Remove affilated keywords.
  
        * org.el (org-adaptive-fill-function): Use new property.
        (org-element--current-element): Tiny refactoring.
  
        * ob.el (org-babel-where-is-src-block-result): Insert new results
 -      keyword in current narrowed part of buffer, if necessary.  Small
 -      refactoring.
 +      keyword in current narrowed part of buffer, if necessary.
 +      Small refactoring.
        (org-babel-insert-result): Do not widen buffer when new results have
        to be inserted.  Therefore, results inserted after the last block of
        a narrowed buffer still belong to the narrowed part of the buffer.
        (org-element-diary-sexp-parser)
        (org-element-diary-sexp-interpreter): New functions.
        (org-element-horizontal-rule-parser)
 -      (org-element-keyword-parser, org-element--current-element): Small
 -      refactoring.
 +      (org-element-keyword-parser, org-element--current-element):
 +      Small refactoring.
        (org-element-property): Access to text properties when argument is
        a string.
        (org-element-put-property): Correctly set property when target is
  
        * org.el (org-all-targets): Make sure the regexp really matched a
        radio target.
 -      (org-macro-expand, org-macro-replace-all): Change signature.  The
 -      function now accepts an alist of templates so it doesn't have to
 +      (org-macro-expand, org-macro-replace-all): Change signature.
 +      The function now accepts an alist of templates so it doesn't have to
        rely only on `org-macro-templates'.
        (org-macro-initialize-templates): {{{date}}} is not anymore an
        alias for {{{time}}}.  During export, it will provide the value
        * org-exp-blocks.el: Delete.
  
        * ob-exp.el (org-export-blocks-preprocess):
 -      * ob-ditaa.el (org-ditaa-jar-path): Moved from
 +      * ob-ditaa.el (org-ditaa-jar-path): Move from
        "org-export-blocks.el".
  
        * ob-exp.el (org-babel-exp-src-block): Remove unused argument.
        (org-babel-exp-non-block-elements): Rewrite function using Org
        Element.
  
 -      * org-exp-blocks.el (org-export-blocks-preprocess): Rewrite
 -      function using Org Element.
 +      * org-exp-blocks.el (org-export-blocks-preprocess):
 +      Rewrite function using Org Element.
  
        * org-element.el (org-element-recursive-objects)
        (org-element-object-restrictions): Remove `macro' from recursive
        same style.  Make all anchors font-size %100.  Remove margin from
        the content section.
        (org-html-container-element): Fix docstring.
 -      (org-html-postamble-format, org-html-preamble-format): Update
 -      docstrings.
 +      (org-html-postamble-format, org-html-preamble-format):
 +      Update docstrings.
        (org-html-template): Use `org-html--build-pre/postamble'.
        (org-html--build-pre/postamble): New function, combining the
        pre/postamble generator.  Merge lists of formatters from the
        (org-html-divs): Change to alist of three entries each containing
        a key ('preamble, 'content, 'postamble), an HTML element type and
        an id to allow setting container elements.
 -      (org-html--build-preamble, org-html--build-postamble): Modified to
 +      (org-html--build-preamble, org-html--build-postamble): Modify to
        use `org-html-divs'.
 -      (org-html-template): Modified to use doctype and container-element
 +      (org-html-template): Modify to use doctype and container-element
        settings.
        (org-export-define-backend): Add css url option.
        (org-export-htmlized-org-css-url): Modify docstring and options.
        * ob-tangle.el (org-babel-tangle-collect-blocks): Change argument
        name collid `org-babel-map-src-blocks' variable 'lang'.
  
 -      * org-protocol.el (org-protocol-convert-query-to-plist): New
 -      function.
 +      * org-protocol.el (org-protocol-convert-query-to-plist):
 +      New function.
        (org-protocol-do-capture): Use new function.
        (org-protocol-data-separator): Change default separator.
  
        (org-mew-open-by-message-id, org-mew-search, org-mew-capture)
        (org-mew-capture-guess-selection-keys): New functions.
  
 -2013-11-12  Trevor Murphy  <trevor.m.murphy@gmail.com>  (tiny change)
 +2013-11-12  Trevor Murphy  <trevor.m.murphy@gmail.com>
  
        * org.el (org-get-compact-tod): Always pad minutes to two places.
  
  
  2013-11-12  Vitalie Spinu  <spinuvit@gmail.com>
  
 -      * ob-tangle.el (org-babel-find-file-noselect-refresh): Call
 -      `find-file-noselect' with 'nowarn argument to surpress
 +      * ob-tangle.el (org-babel-find-file-noselect-refresh):
 +      Call `find-file-noselect' with 'nowarn argument to surpress
        `yes-or-no-p' reversion message.
  
 -      * ob-core.el (org-babel-where-is-src-block-head): Return
 -      `point-marker' instead of `point'.
 +      * ob-core.el (org-babel-where-is-src-block-head):
 +      Return `point-marker' instead of `point'.
  
  2013-11-12  Yann Hodique  <yann.hodique@gmail.com>
  
        if result is not a string and not nil.  If the result is nil,
        treat it as if it was the empty string.
  
 -      * org-clock.el (org-clock-notify-once-if-expired): Honor
 -      `org-clock-sound'.
 +      * org-clock.el (org-clock-notify-once-if-expired):
 +      Honor `org-clock-sound'.
  
  2013-11-12  Rasmus Pank  <rasmus.pank@gmail.com>
  
        * ob-C.el: Added C++ to `org-babel-load-languages' automatically
        after loading C.
  
 -      * org-src.el (org-src-lang-modes): Added association between
 +      * org-src.el (org-src-lang-modes): Add association between
        language C++ and `c++-mode'.
  
 -      * ox.el (org-export-smart-quotes-alist): Added ("da" "no" "nb"
 +      * ox.el (org-export-smart-quotes-alist): Add ("da" "no" "nb"
        "nn" "sv").
 -      (org-export-dictionary): Added some entries ("da" "no" "nb" "nn"
 +      (org-export-dictionary): Add some entries ("da" "no" "nb" "nn"
        "sv").
        (org-export-default-language): Mention other variables affected by
        language.
  
 -      * ox-latex.el (org-latex-babel-language-alist): Added 'nb', 'nn',
 +      * ox-latex.el (org-latex-babel-language-alist): Add 'nb', 'nn',
        and 'no' for Norwegian.  Removed 'no-no'.
        (org-latex-pdf-process): let `latexmk' be a preconfigured choice
        and change the wording of the docstring.
        (org-latex-guess-babel-language): Replace AUTO with language if
        AUTO is the option of the LaTeX package Babel.
 -      (org-latex-classes): Updated documentation with respect
 +      (org-latex-classes): Update documentation with respect
        to `org-latex-guess-babel-language'.
  
  2013-11-12  Дядов Васил Стоянов  <vdyadov@elvees.com>  (tiny change)
        * org-clock.el (org-clock-idle-time): Org-mode assumed that
        x11idle was an available command, and returned an idle time of 0
        if it was not
 -      (never idle): Added checks so that org-idle-time will come from
 +      (never idle): Add checks so that org-idle-time will come from
        emacs' own current-idle-time if x11idle cannot be found or if it
        cannot retrieve the idle time from X11
  
  
        * ob.el (org-babel-params-from-properties): Now splits
        multiple var arguments behind a single ":var".
 -      (org-babel-balanced-split): Separated balanced splitting of
 +      (org-babel-balanced-split): Separate balanced splitting of
        strings out into a new function.
        (org-babel-parse-multiple-vars): Splits multiple var arguments
        behind a single ":var".
  
  2011-07-28  Bastien Guerry  <bzg@gnu.org>
  
 -      * org-agenda.el (org-agenda-repeating-timestamp-show-all): Allow
 -      to use a list of TODO keywords as the value of this variable.
 +      * org-agenda.el (org-agenda-repeating-timestamp-show-all):
 +      Allow to use a list of TODO keywords as the value of this variable.
        The agenda will show repeating stamps for entries matching these TODO
        keywords.
        (org-agenda-get-timestamps, org-agenda-get-deadlines)
  
  2010-11-11  Eric Schulte  <schulte.eric@gmail.com>
  
 -      * ob-exp.el (org-babel-exp-results): Replaced old function call.
 +      * ob-exp.el (org-babel-exp-results): Replace old function call.
  
  2010-11-11  Eric Schulte  <schulte.eric@gmail.com>
  
  
  2010-11-11  Noorul Islam  <noorul@noorul.com>
  
 -      * org-latex.el (org-export-latex-links): Replaced hard coded
 +      * org-latex.el (org-export-latex-links): Replace hard coded
        hyperref format with custom variable
        `org-export-latex-hyperref-format'.
  
        (org-ascii-replace-entities): New function.
  
  2010-04-10  Carsten Dominik  <carsten.dominik@gmail.com>
-             Ulf Stegemann  <ulf@zeitform.de>
+           Ulf Stegemann  <ulf@zeitform.de>
  
        * org-entities.el: New file.
  
diff --combined lisp/progmodes/python.el
index 9680a4aa9d554f60a6358f161b73ae5498b9b965,48d80b99c6a02acb513b814c46b047ca20c070b9..b99e195f407694e5d855309d27c9adfa854fc461
@@@ -31,9 -31,9 +31,9 @@@
  ;; found in GNU/Emacs.
  
  ;; Implements Syntax highlighting, Indentation, Movement, Shell
 -;; interaction, Shell completion, Shell virtualenv support, Pdb
 -;; tracking, Symbol completion, Skeletons, FFAP, Code Check, Eldoc,
 -;; Imenu.
 +;; interaction, Shell completion, Shell virtualenv support, Shell
 +;; package support, Shell syntax highlighting, Pdb tracking, Symbol
 +;; completion, Skeletons, FFAP, Code Check, Eldoc, Imenu.
  
  ;; Syntax highlighting: Fontification of code is provided and supports
  ;; python's triple quoted strings properly.
  ;;       python-shell-interpreter-args
  ;;       "-i C:\\Python27\\Scripts\\ipython-script.py")
  
- ;; If you are experiencing missing or delayed output in your shells,
- ;; that's likely caused by your Operating System's pipe buffering
- ;; (e.g. this is known to happen running CPython 3.3.4 in Windows 7.
+ ;; Missing or delayed output used to happen due to differences between
+ ;; Operating Systems' pipe buffering (e.g. CPython 3.3.4 in Windows 7.
  ;; See URL `http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17304').  To
- ;; fix this, using CPython's "-u" commandline argument or setting the
- ;; "PYTHONUNBUFFERED" environment variable should help: See URL
- ;; `https://docs.python.org/3/using/cmdline.html#cmdoption-u'.
+ ;; avoid this, the `python-shell-unbuffered' defaults to non-nil and
+ ;; controls whether `python-shell-calculate-process-environment'
+ ;; should set the "PYTHONUNBUFFERED" environment variable on startup:
+ ;; See URL `https://docs.python.org/3/using/cmdline.html#cmdoption-u'.
  
  ;; The interaction relies upon having prompts for input (e.g. ">>> "
  ;; and "... " in standard Python shell) and output (e.g. "Out[1]: " in
  ;; (python-shell-exec-path . ("/path/to/env/bin/"))
  
  ;; Since the above is cumbersome and can be programmatically
 -;; calculated, the variable `python-shell-virtualenv-path' is
 +;; calculated, the variable `python-shell-virtualenv-root' is
  ;; provided.  When this variable is set with the path of the
  ;; virtualenv to use, `process-environment' and `exec-path' get proper
  ;; values in order to run shells inside the specified virtualenv.  So
  ;; the following will achieve the same as the previous example:
  
 -;; (setq python-shell-virtualenv-path "/path/to/env/")
 +;; (setq python-shell-virtualenv-root "/path/to/env/")
  
  ;; Also the `python-shell-extra-pythonpaths' variable have been
  ;; introduced as simple way of adding paths to the PYTHONPATH without
  ;; affecting existing values.
  
 +;; Shell package support: you can enable a package in the current
 +;; shell so that relative imports work properly using the
 +;; `python-shell-package-enable' command.
 +
 +;; Shell syntax highlighting: when enabled current input in shell is
 +;; highlighted.  The variable `python-shell-font-lock-enable' controls
 +;; activation of this feature globally when shells are started.
 +;; Activation/deactivation can be also controlled on the fly via the
 +;; `python-shell-font-lock-toggle' command.
 +
  ;; Pdb tracking: when you execute a block of code that contains some
  ;; call to pdb (or ipdb) it will prompt the block of code and will
  ;; follow the execution of pdb marking the current line with an arrow.
  ;; the shell completion in background so you should run
  ;; `python-shell-send-buffer' from time to time to get better results.
  
 -;; Skeletons: 6 skeletons are provided for simple inserting of class,
 -;; def, for, if, try and while.  These skeletons are integrated with
 -;; abbrev.  If you have `abbrev-mode' activated and
 +;; Skeletons: skeletons are provided for simple inserting of things like class,
 +;; def, for, import, if, try, and while.  These skeletons are
 +;; integrated with abbrev.  If you have `abbrev-mode' activated and
  ;; `python-skeleton-autoinsert' is set to t, then whenever you type
  ;; the name of any of those defined and hit SPC, they will be
  ;; automatically expanded.  As an alternative you can use the defined
 -;; skeleton commands: `python-skeleton-class', `python-skeleton-def'
 -;; `python-skeleton-for', `python-skeleton-if', `python-skeleton-try'
 -;; and `python-skeleton-while'.
 +;; skeleton commands: `python-skeleton-<foo>'.
  
  ;; FFAP: You can find the filename for a given module when using ffap
  ;; out of the box.  This feature needs an inferior python shell
      (define-key map "\C-c\C-td" 'python-skeleton-def)
      (define-key map "\C-c\C-tf" 'python-skeleton-for)
      (define-key map "\C-c\C-ti" 'python-skeleton-if)
 +    (define-key map "\C-c\C-tm" 'python-skeleton-import)
      (define-key map "\C-c\C-tt" 'python-skeleton-try)
      (define-key map "\C-c\C-tw" 'python-skeleton-while)
      ;; Shell interaction
@@@ -545,7 -536,7 +545,7 @@@ The type returned can be `comment', `st
                (res nil))
            (while (and (setq res (re-search-forward re limit t))
                        (or (python-syntax-context 'paren)
 -                          (equal (char-after (point-marker)) ?=))))
 +                          (equal (char-after (point)) ?=))))
            res))
       (1 font-lock-variable-name-face nil nil))
      ;; support for a, b, c = (1, 2, 3)
@@@ -1046,9 -1037,9 +1046,9 @@@ See `python-indent-line' for details.
    "De-indent current line."
    (interactive "*")
    (when (and (not (python-syntax-comment-or-string-p))
 -             (<= (point-marker) (save-excursion
 +             (<= (point) (save-excursion
                                    (back-to-indentation)
 -                                  (point-marker)))
 +                           (point)))
               (> (current-column) 0))
      (python-indent-line t)
      t))
@@@ -1125,10 -1116,12 +1125,10 @@@ any lines in the region are indented le
          (while (< (point) end)
            (if (and (< (current-indentation) count)
                     (not (looking-at "[ \t]*$")))
 -              (error "Can't shift all lines enough"))
 +              (user-error "Can't shift all lines enough"))
            (forward-line))
          (indent-rigidly start end (- count))))))
  
 -(add-to-list 'debug-ignored-errors "^Can't shift all lines enough")
 -
  (defun python-indent-shift-right (start end &optional count)
    "Shift lines contained in region START END by COUNT columns to the right.
  COUNT defaults to `python-indent-offset'.  If region isn't
@@@ -1778,7 -1771,6 +1778,7 @@@ position, else returns nil.
  (defcustom python-shell-prompt-input-regexps
    '(">>> " "\\.\\.\\. "                 ; Python
      "In \\[[0-9]+\\]: "                 ; IPython
 +    "   \\.\\.\\.: "                    ; IPython
      ;; Using ipdb outside IPython may fail to cleanup and leave static
      ;; IPython prompts activated, this adds some safeguard for that.
      "In : " "\\.\\.\\.: ")
@@@ -1814,16 -1806,21 +1814,24 @@@ It should not contain a caret (^) at th
  It should not contain a caret (^) at the beginning."
    :type 'string)
  
 -(defcustom python-shell-enable-font-lock t
 +(define-obsolete-variable-alias
 +  'python-shell-enable-font-lock 'python-shell-font-lock-enable "25.1")
 +
 +(defcustom python-shell-font-lock-enable t
    "Should syntax highlighting be enabled in the Python shell buffer?
  Restart the Python shell after changing this variable for it to take effect."
    :type 'boolean
    :group 'python
    :safe 'booleanp)
  
+ (defcustom python-shell-unbuffered t
+   "Should shell output be unbuffered?.
+ When non-nil, this may prevent delayed and missing output in the
+ Python shell.  See commentary for details."
+   :type 'boolean
+   :group 'python
+   :safe 'booleanp)
  (defcustom python-shell-process-environment nil
    "List of environment variables for Python shell.
  This variable follows the same rules as `process-environment'
@@@ -1852,7 -1849,7 +1860,7 @@@ default `exec-path'.
    :group 'python
    :safe 'listp)
  
 -(defcustom python-shell-virtualenv-path nil
 +(defcustom python-shell-virtualenv-root nil
    "Path to virtualenv root.
  This variable, when set to a string, makes the values stored in
  `python-shell-process-environment' and `python-shell-exec-path'
@@@ -1862,9 -1859,6 +1870,9 @@@ virtualenv.
    :group 'python
    :safe 'stringp)
  
 +(define-obsolete-variable-alias
 +  'python-shell-virtualenv-path 'python-shell-virtualenv-root "25.1")
 +
  (defcustom python-shell-setup-codes '(python-shell-completion-setup-code
                                        python-ffap-setup-code
                                        python-eldoc-setup-code)
@@@ -1956,9 -1950,7 +1964,9 @@@ detection and just returns nil.
                nil)))
        (when (and (not prompts)
                   python-shell-prompt-detect-failure-warning)
 -        (warn
 +        (lwarn
 +         '(python python-shell-prompt-regexp)
 +         :warning
           (concat
            "Python shell prompts cannot be detected.\n"
            "If your emacs session hangs when starting python shells\n"
@@@ -2081,43 -2073,38 +2089,45 @@@ uniqueness for different types of confi
              (mapconcat #'identity python-shell-process-environment "")
              (mapconcat #'identity python-shell-extra-pythonpaths "")
              (mapconcat #'identity python-shell-exec-path "")
 -            (or python-shell-virtualenv-path "")
 +            (or python-shell-virtualenv-root "")
              (mapconcat #'identity python-shell-exec-path "")))))
  
 -(defun python-shell-parse-command ()    ;FIXME: why name it "parse"?
 +(defun python-shell-calculate-command ()
    "Calculate the string used to execute the inferior Python process."
 -  ;; FIXME: process-environment doesn't seem to be used anywhere within
 -  ;; this let.
 -  (let ((process-environment (python-shell-calculate-process-environment))
 -        (exec-path (python-shell-calculate-exec-path)))
 +  (let ((exec-path (python-shell-calculate-exec-path)))
 +    ;; `exec-path' gets tweaked so that virtualenv's specific
 +    ;; `python-shell-interpreter' absolute path can be found by
 +    ;; `executable-find'.
      (format "%s %s"
 -            ;; FIXME: Why executable-find?
              (executable-find python-shell-interpreter)
              python-shell-interpreter-args)))
  
 +(define-obsolete-function-alias
 +  'python-shell-parse-command
 +  #'python-shell-calculate-command "25.1")
 +
 +(defun python-shell-calculate-pythonpath ()
 +  "Calculate the PYTHONPATH using `python-shell-extra-pythonpaths'."
 +  (let ((pythonpath (getenv "PYTHONPATH"))
 +        (extra (mapconcat 'identity
 +                          python-shell-extra-pythonpaths
 +                          path-separator)))
 +    (if pythonpath
 +        (concat extra path-separator pythonpath)
 +      extra)))
 +
  (defun python-shell-calculate-process-environment ()
 -  "Calculate process environment given `python-shell-virtualenv-path'."
 +  "Calculate process environment given `python-shell-virtualenv-root'."
    (let ((process-environment (append
                                python-shell-process-environment
                                process-environment nil))
 -        (virtualenv (if python-shell-virtualenv-path
 -                        (directory-file-name python-shell-virtualenv-path)
 +        (virtualenv (if python-shell-virtualenv-root
 +                        (directory-file-name python-shell-virtualenv-root)
                        nil)))
+     (when python-shell-unbuffered
+       (setenv "PYTHONUNBUFFERED" "1"))
      (when python-shell-extra-pythonpaths
 -      (setenv "PYTHONPATH"
 -              (format "%s%s%s"
 -                      (mapconcat 'identity
 -                                 python-shell-extra-pythonpaths
 -                                 path-separator)
 -                      path-separator
 -                      (or (getenv "PYTHONPATH") ""))))
 +      (setenv "PYTHONPATH" (python-shell-calculate-pythonpath)))
      (if (not virtualenv)
          process-environment
        (setenv "PYTHONHOME" nil)
      process-environment))
  
  (defun python-shell-calculate-exec-path ()
 -  "Calculate exec path given `python-shell-virtualenv-path'."
 -  (let ((path (append python-shell-exec-path
 -                      exec-path nil)))  ;FIXME: Why nil?
 -    (if (not python-shell-virtualenv-path)
 +  "Calculate exec path given `python-shell-virtualenv-root'."
 +  (let ((path (append
 +               ;; Use nil as the tail so that the list is a full copy,
 +               ;; this is a paranoid safeguard for side-effects.
 +               python-shell-exec-path exec-path nil)))
 +    (if (not python-shell-virtualenv-root)
          path
 -      (cons (expand-file-name "bin" python-shell-virtualenv-path)
 +      (cons (expand-file-name "bin" python-shell-virtualenv-root)
              path))))
  
 -(defun python-comint-output-filter-function (output)
 -  "Hook run after content is put into comint buffer.
 -OUTPUT is a string with the contents of the buffer."
 -  (ansi-color-filter-apply output))
 +(defvar python-shell--package-depth 10)
 +
 +(defun python-shell-package-enable (directory package)
 +  "Add DIRECTORY parent to $PYTHONPATH and enable PACKAGE."
 +  (interactive
 +   (let* ((dir (expand-file-name
 +                (read-directory-name
 +                 "Package root: "
 +                 (file-name-directory
 +                  (or (buffer-file-name) default-directory)))))
 +          (name (completing-read
 +                 "Package: "
 +                 (python-util-list-packages
 +                  dir python-shell--package-depth))))
 +     (list dir name)))
 +  (python-shell-send-string
 +   (format
 +    (concat
 +     "import os.path;import sys;"
 +     "sys.path.append(os.path.dirname(os.path.dirname('''%s''')));"
 +     "__package__ = '''%s''';"
 +     "import %s")
 +    directory package package)
 +   (python-shell-get-process)))
 +
 +(defun python-shell-accept-process-output (process &optional timeout regexp)
 +  "Accept PROCESS output with TIMEOUT until REGEXP is found.
 +Optional argument TIMEOUT is the timeout argument to
 +`accept-process-output' calls.  Optional argument REGEXP
 +overrides the regexp to match the end of output, defaults to
 +`comint-prompt-regexp.'.  Returns non-nil when output was
 +properly captured.
 +
 +This utility is useful in situations where the output may be
 +received in chunks, since `accept-process-output' gives no
 +guarantees they will be grabbed in a single call.  An example use
 +case for this would be the CPython shell start-up, where the
 +banner and the initial prompt are received separately."
 +  (let ((regexp (or regexp comint-prompt-regexp)))
 +    (catch 'found
 +      (while t
 +        (when (not (accept-process-output process timeout))
 +          (throw 'found nil))
 +        (when (looking-back regexp)
 +          (throw 'found t))))))
 +
 +(defun python-shell-comint-end-of-output-p (output)
 +  "Return non-nil if OUTPUT is ends with input prompt."
 +  (string-match
 +   ;; XXX: It seems on OSX an extra carriage return is attached
 +   ;; at the end of output, this handles that too.
 +   (concat
 +    "\r?\n?"
 +    ;; Remove initial caret from calculated regexp
 +    (replace-regexp-in-string
 +     (rx string-start ?^) ""
 +     python-shell--prompt-calculated-input-regexp)
 +    (rx eos))
 +   output))
 +
 +(define-obsolete-function-alias
 +  'python-comint-output-filter-function
 +  'ansi-color-filter-apply
 +  "25.1")
 +
 +(defun python-comint-postoutput-scroll-to-bottom (output)
 +  "Faster version of `comint-postoutput-scroll-to-bottom'.
 +Avoids `recenter' calls until OUTPUT is completely sent."
 +  (when (and (not (string= "" output))
 +             (python-shell-comint-end-of-output-p
 +              (ansi-color-filter-apply output)))
 +    (comint-postoutput-scroll-to-bottom output))
 +  output)
  
  (defvar python-shell--parent-buffer nil)
  
 -(defvar python-shell-output-syntax-table
 -  (let ((table (make-syntax-table python-dotty-syntax-table)))
 -    (modify-syntax-entry ?\' "." table)
 -    (modify-syntax-entry ?\" "." table)
 -    (modify-syntax-entry ?\( "." table)
 -    (modify-syntax-entry ?\[ "." table)
 -    (modify-syntax-entry ?\{ "." table)
 -    (modify-syntax-entry ?\) "." table)
 -    (modify-syntax-entry ?\] "." table)
 -    (modify-syntax-entry ?\} "." table)
 -    table)
 -  "Syntax table for shell output.
 -It makes parens and quotes be treated as punctuation chars.")
 +(defmacro python-shell-with-shell-buffer (&rest body)
 +  "Execute the forms in BODY with the shell buffer temporarily current.
 +Signals an error if no shell buffer is available for current buffer."
 +  (declare (indent 0) (debug t))
 +  (let ((shell-buffer (make-symbol "shell-buffer")))
 +    `(let ((,shell-buffer (python-shell-get-buffer)))
 +       (when (not ,shell-buffer)
 +         (error "No inferior Python buffer available."))
 +       (with-current-buffer ,shell-buffer
 +         ,@body))))
 +
 +(defvar python-shell--font-lock-buffer nil)
 +
 +(defun python-shell-font-lock-get-or-create-buffer ()
 +  "Get or create a font-lock buffer for current inferior process."
 +  (python-shell-with-shell-buffer
 +    (if python-shell--font-lock-buffer
 +        python-shell--font-lock-buffer
 +      (let ((process-name
 +             (process-name (get-buffer-process (current-buffer)))))
 +        (generate-new-buffer
 +         (format "*%s-font-lock*" process-name))))))
 +
 +(defun python-shell-font-lock-kill-buffer ()
 +  "Kill the font-lock buffer safely."
 +  (python-shell-with-shell-buffer
 +    (when (and python-shell--font-lock-buffer
 +               (buffer-live-p python-shell--font-lock-buffer))
 +      (kill-buffer python-shell--font-lock-buffer)
 +      (when (derived-mode-p 'inferior-python-mode)
 +        (setq python-shell--font-lock-buffer nil)))))
 +
 +(defmacro python-shell-font-lock-with-font-lock-buffer (&rest body)
 +  "Execute the forms in BODY in the font-lock buffer.
 +The value returned is the value of the last form in BODY.  See
 +also `with-current-buffer'."
 +  (declare (indent 0) (debug t))
 +  `(python-shell-with-shell-buffer
 +     (save-current-buffer
 +       (when (not (and python-shell--font-lock-buffer
 +                       (get-buffer python-shell--font-lock-buffer)))
 +         (setq python-shell--font-lock-buffer
 +               (python-shell-font-lock-get-or-create-buffer)))
 +       (set-buffer python-shell--font-lock-buffer)
 +       (set (make-local-variable 'delay-mode-hooks) t)
 +       (let ((python-indent-guess-indent-offset nil))
 +         (when (not (derived-mode-p 'python-mode))
 +           (python-mode))
 +         ,@body))))
 +
 +(defun python-shell-font-lock-cleanup-buffer ()
 +  "Cleanup the font-lock buffer.
 +Provided as a command because this might be handy if something
 +goes wrong and syntax highlighting in the shell gets messed up."
 +  (interactive)
 +  (python-shell-with-shell-buffer
 +    (python-shell-font-lock-with-font-lock-buffer
 +      (delete-region (point-min) (point-max)))))
 +
 +(defun python-shell-font-lock-comint-output-filter-function (output)
 +  "Clean up the font-lock buffer after any OUTPUT."
 +  (when (and (not (string= "" output))
 +             ;; Is end of output and is not just a prompt.
 +             (not (member
 +                   (python-shell-comint-end-of-output-p
 +                    (ansi-color-filter-apply output))
 +                   '(nil 0))))
 +    ;; If output is other than an input prompt then "real" output has
 +    ;; been received and the font-lock buffer must be cleaned up.
 +    (python-shell-font-lock-cleanup-buffer))
 +  output)
 +
 +(defun python-shell-font-lock-post-command-hook ()
 +  "Fontifies current line in shell buffer."
 +  (if (eq this-command 'comint-send-input)
 +      ;; Add a newline when user sends input as this may be a block.
 +      (python-shell-font-lock-with-font-lock-buffer
 +        (goto-char (line-end-position))
 +        (newline))
 +    (when (and (python-util-comint-last-prompt)
 +               (> (point) (cdr (python-util-comint-last-prompt))))
 +      (let ((input (buffer-substring-no-properties
 +                    (cdr (python-util-comint-last-prompt)) (point-max)))
 +            (old-input (python-shell-font-lock-with-font-lock-buffer
 +                         (buffer-substring-no-properties
 +                          (line-beginning-position) (point-max))))
 +            (current-point (point))
 +            (buffer-undo-list t))
 +        ;; When input hasn't changed, do nothing.
 +        (when (not (string= input old-input))
 +          (delete-region (cdr (python-util-comint-last-prompt)) (point-max))
 +          (insert
 +           (python-shell-font-lock-with-font-lock-buffer
 +             (delete-region (line-beginning-position)
 +                            (line-end-position))
 +             (insert input)
 +             ;; Ensure buffer is fontified, keeping it
 +             ;; compatible with Emacs < 24.4.
 +             (if (fboundp 'font-lock-ensure)
 +                 (funcall 'font-lock-ensure)
 +               (font-lock-default-fontify-buffer))
 +             ;; Replace FACE text properties with FONT-LOCK-FACE so
 +             ;; they are not overwritten by comint buffer's font lock.
 +             (python-util-text-properties-replace-name
 +              'face 'font-lock-face)
 +             (buffer-substring (line-beginning-position)
 +                               (line-end-position))))
 +          (goto-char current-point))))))
 +
 +(defun python-shell-font-lock-turn-on (&optional msg)
 +  "Turn on shell font-lock.
 +With argument MSG show activation message."
 +  (interactive "p")
 +  (python-shell-with-shell-buffer
 +    (python-shell-font-lock-kill-buffer)
 +    (set (make-local-variable 'python-shell--font-lock-buffer) nil)
 +    (add-hook 'post-command-hook
 +              #'python-shell-font-lock-post-command-hook nil 'local)
 +    (add-hook 'kill-buffer-hook
 +              #'python-shell-font-lock-kill-buffer nil 'local)
 +    (add-hook 'comint-output-filter-functions
 +              #'python-shell-font-lock-comint-output-filter-function
 +              'append 'local)
 +    (when msg
 +      (message "Shell font-lock is enabled"))))
 +
 +(defun python-shell-font-lock-turn-off (&optional msg)
 +  "Turn off shell font-lock.
 +With argument MSG show deactivation message."
 +  (interactive "p")
 +  (python-shell-with-shell-buffer
 +    (python-shell-font-lock-kill-buffer)
 +    (when (python-util-comint-last-prompt)
 +      ;; Cleanup current fontification
 +      (remove-text-properties
 +       (cdr (python-util-comint-last-prompt))
 +       (line-end-position)
 +       '(face nil font-lock-face nil)))
 +    (set (make-local-variable 'python-shell--font-lock-buffer) nil)
 +    (remove-hook 'post-command-hook
 +                 #'python-shell-font-lock-post-command-hook'local)
 +    (remove-hook 'kill-buffer-hook
 +                 #'python-shell-font-lock-kill-buffer 'local)
 +    (remove-hook 'comint-output-filter-functions
 +                 #'python-shell-font-lock-comint-output-filter-function
 +                 'local)
 +    (when msg
 +      (message "Shell font-lock is disabled"))))
 +
 +(defun python-shell-font-lock-toggle (&optional msg)
 +  "Toggle font-lock for shell.
 +With argument MSG show activation/deactivation message."
 +  (interactive "p")
 +  (python-shell-with-shell-buffer
 +    (set (make-local-variable 'python-shell-font-lock-enable)
 +         (not python-shell-font-lock-enable))
 +    (if python-shell-font-lock-enable
 +        (python-shell-font-lock-turn-on msg)
 +      (python-shell-font-lock-turn-off msg))
 +    python-shell-font-lock-enable))
  
  (define-derived-mode inferior-python-mode comint-mode "Inferior Python"
    "Major mode for Python inferior process.
@@@ -2384,17 -2153,13 +2394,17 @@@ interpreter is run.  Variable
  `python-shell-prompt-regexp',
  `python-shell-prompt-output-regexp',
  `python-shell-prompt-block-regexp',
 -`python-shell-enable-font-lock',
 +`python-shell-font-lock-enable',
  `python-shell-completion-setup-code',
  `python-shell-completion-string-code',
  `python-eldoc-setup-code', `python-eldoc-string-code',
  `python-ffap-setup-code' and `python-ffap-string-code' can
  customize this mode for different Python interpreters.
  
 +This mode resets `comint-output-filter-functions' locally, so you
 +may want to re-add custom functions to it using the
 +`inferior-python-mode-hook'.
 +
  You can also add additional setup code to be run at
  initialization of the interpreter via `python-shell-setup-codes'
  variable.
    (set (make-local-variable 'python-shell--prompt-calculated-input-regexp) nil)
    (set (make-local-variable 'python-shell--prompt-calculated-output-regexp) nil)
    (python-shell-prompt-set-calculated-regexps)
 -  (setq comint-prompt-regexp python-shell--prompt-calculated-input-regexp)
 +  (setq comint-prompt-regexp python-shell--prompt-calculated-input-regexp
 +        comint-prompt-read-only t)
    (setq mode-line-process '(":%s"))
 -  (make-local-variable 'comint-output-filter-functions)
 -  (add-hook 'comint-output-filter-functions
 -            'python-comint-output-filter-function)
 -  (add-hook 'comint-output-filter-functions
 -            'python-pdbtrack-comint-output-filter-function)
 +  (set (make-local-variable 'comint-output-filter-functions)
 +       '(ansi-color-process-output
 +         python-pdbtrack-comint-output-filter-function
 +         python-comint-postoutput-scroll-to-bottom))
    (set (make-local-variable 'compilation-error-regexp-alist)
         python-shell-compilation-regexp-alist)
 -  (define-key inferior-python-mode-map [remap complete-symbol]
 -    'completion-at-point)
    (add-hook 'completion-at-point-functions
 -            #'python-shell-completion-complete-at-point nil 'local)
 -  (add-hook 'comint-dynamic-complete-functions ;FIXME: really?
 -            #'python-shell-completion-complete-at-point nil 'local)
 +            #'python-shell-completion-at-point nil 'local)
    (define-key inferior-python-mode-map "\t"
      'python-shell-completion-complete-or-indent)
    (make-local-variable 'python-pdbtrack-buffers-to-kill)
    (make-local-variable 'python-pdbtrack-tracked-buffer)
    (make-local-variable 'python-shell-internal-last-output)
 -  (when python-shell-enable-font-lock
 -    (set-syntax-table python-mode-syntax-table)
 -    (set (make-local-variable 'font-lock-defaults)
 -         '(python-font-lock-keywords nil nil nil nil))
 -    (set (make-local-variable 'syntax-propertize-function)
 -         (eval
 -          ;; XXX: Unfortunately eval is needed here to make use of the
 -          ;; dynamic value of `comint-prompt-regexp'.
 -          `(syntax-propertize-rules
 -            (,comint-prompt-regexp
 -             (0 (ignore
 -                 (put-text-property
 -                  comint-last-input-start end 'syntax-table
 -                  python-shell-output-syntax-table)
 -                 ;; XXX: This might look weird, but it is the easiest
 -                 ;; way to ensure font lock gets cleaned up before the
 -                 ;; current prompt, which is needed for unclosed
 -                 ;; strings to not mess up with current input.
 -                 (font-lock-unfontify-region comint-last-input-start end))))
 -            (,(python-rx string-delimiter)
 -             (0 (ignore
 -                 (and (not (eq (get-text-property start 'field) 'output))
 -                      (python-syntax-stringify)))))))))
 -  (compilation-shell-minor-mode 1))
 +  (when python-shell-font-lock-enable
 +    (python-shell-font-lock-turn-on))
 +  (compilation-shell-minor-mode 1)
 +  (python-shell-accept-process-output
 +   (get-buffer-process (current-buffer))))
  
  (defun python-shell-make-comint (cmd proc-name &optional pop internal)
    "Create a Python shell comint buffer.
@@@ -2468,22 -2256,22 +2478,22 @@@ killed.
                  (mapconcat #'identity args " ")))
            (with-current-buffer buffer
              (inferior-python-mode))
 -          (accept-process-output process)
            (and pop (pop-to-buffer buffer t))
            (and internal (set-process-query-on-exit-flag process nil))))
        proc-buffer-name)))
  
  ;;;###autoload
 -(defun run-python (cmd &optional dedicated show)
 +(defun run-python (&optional cmd dedicated show)
    "Run an inferior Python process.
  Input and output via buffer named after
  `python-shell-buffer-name'.  If there is a process already
  running in that buffer, just switch to it.
  
 -With argument, allows you to define CMD so you can edit the
 -command used to call the interpreter and define DEDICATED, so a
 -dedicated process for the current buffer is open.  When numeric
 -prefix arg is other than 0 or 4 do not SHOW.
 +Argument CMD defaults to `python-shell-calculate-command' return
 +value.  When called interactively with `prefix-arg', it allows
 +the user to edit such value and choose whether the interpreter
 +should be DEDICATED for the current buffer.  When numeric prefix
 +arg is other than 0 or 4 do not SHOW.
  
  Runs the hook `inferior-python-mode-hook' after
  `comint-mode-hook' is run.  (Type \\[describe-mode] in the
@@@ -2491,13 -2279,12 +2501,13 @@@ process buffer for a list of commands.)
    (interactive
     (if current-prefix-arg
         (list
 -        (read-string "Run Python: " (python-shell-parse-command))
 +        (read-shell-command "Run Python: " (python-shell-calculate-command))
          (y-or-n-p "Make dedicated process? ")
          (= (prefix-numeric-value current-prefix-arg) 4))
 -     (list (python-shell-parse-command) nil t)))
 +     (list (python-shell-calculate-command) nil t)))
    (python-shell-make-comint
 -   cmd (python-shell-get-process-name dedicated) show)
 +   (or cmd (python-shell-calculate-command))
 +   (python-shell-get-process-name dedicated) show)
    dedicated)
  
  (defun run-python-internal ()
@@@ -2512,30 -2299,27 +2522,30 @@@ difference with global or dedicated she
  attached to a configuration, not a buffer.  This means that can
  be used for example to retrieve the sys.path and other stuff,
  without messing with user shells.  Note that
 -`python-shell-enable-font-lock' and `inferior-python-mode-hook'
 +`python-shell-font-lock-enable' and `inferior-python-mode-hook'
  are set to nil for these shells, so setup codes are not sent at
  startup."
 -  (let ((python-shell-enable-font-lock nil)
 +  (let ((python-shell-font-lock-enable nil)
          (inferior-python-mode-hook nil))
      (get-buffer-process
       (python-shell-make-comint
 -      (python-shell-parse-command)
 +      (python-shell-calculate-command)
        (python-shell-internal-get-process-name) nil t))))
  
  (defun python-shell-get-buffer ()
 -  "Return inferior Python buffer for current buffer."
 -  (let* ((dedicated-proc-name (python-shell-get-process-name t))
 -         (dedicated-proc-buffer-name (format "*%s*" dedicated-proc-name))
 -         (global-proc-name  (python-shell-get-process-name nil))
 -         (global-proc-buffer-name (format "*%s*" global-proc-name))
 -         (dedicated-running (comint-check-proc dedicated-proc-buffer-name))
 -         (global-running (comint-check-proc global-proc-buffer-name)))
 -    ;; Always prefer dedicated
 -    (or (and dedicated-running dedicated-proc-buffer-name)
 -        (and global-running global-proc-buffer-name))))
 +  "Return inferior Python buffer for current buffer.
 +If current buffer is in `inferior-python-mode', return it."
 +  (if (derived-mode-p 'inferior-python-mode)
 +      (current-buffer)
 +    (let* ((dedicated-proc-name (python-shell-get-process-name t))
 +           (dedicated-proc-buffer-name (format "*%s*" dedicated-proc-name))
 +           (global-proc-name  (python-shell-get-process-name nil))
 +           (global-proc-buffer-name (format "*%s*" global-proc-name))
 +           (dedicated-running (comint-check-proc dedicated-proc-buffer-name))
 +           (global-running (comint-check-proc global-proc-buffer-name)))
 +      ;; Always prefer dedicated
 +      (or (and dedicated-running dedicated-proc-buffer-name)
 +          (and global-running global-proc-buffer-name)))))
  
  (defun python-shell-get-process ()
    "Return inferior Python process for current buffer."
@@@ -2547,14 -2331,25 +2557,14 @@@ Arguments CMD, DEDICATED and SHOW are t
  are used to start the shell.  If those arguments are not
  provided, `run-python' is called interactively and the user will
  be asked for their values."
 -  (let* ((dedicated-proc-name (python-shell-get-process-name t))
 -         (dedicated-proc-buffer-name (format "*%s*" dedicated-proc-name))
 -         (global-proc-name  (python-shell-get-process-name nil))
 -         (global-proc-buffer-name (format "*%s*" global-proc-name))
 -         (dedicated-running (comint-check-proc dedicated-proc-buffer-name))
 -         (global-running (comint-check-proc global-proc-buffer-name))
 -         (current-prefix-arg 16))
 -    (when (and (not dedicated-running) (not global-running))
 -      (if (if (not cmd)
 -              ;; XXX: Refactor code such that calling `run-python'
 -              ;; interactively is not needed anymore.
 -              (call-interactively 'run-python)
 -            (run-python cmd dedicated show))
 -          (setq dedicated-running t)
 -        (setq global-running t)))
 -    ;; Always prefer dedicated
 -    (get-buffer-process (if dedicated-running
 -                            dedicated-proc-buffer-name
 -                          global-proc-buffer-name))))
 +  (let ((shell-process (python-shell-get-process)))
 +    (when (not shell-process)
 +      (if (not cmd)
 +          ;; XXX: Refactor code such that calling `run-python'
 +          ;; interactively is not needed anymore.
 +          (call-interactively 'run-python)
 +        (run-python cmd dedicated show)))
 +    (or shell-process (python-shell-get-process))))
  
  (defvar python-shell-internal-buffer nil
    "Current internal shell buffer for the current buffer.
@@@ -2572,7 -2367,13 +2582,7 @@@ there for compatibility with CEDET."
           (proc-buffer-name (format " *%s*" proc-name)))
      (when (not (process-live-p proc-name))
        (run-python-internal)
 -      (setq python-shell-internal-buffer proc-buffer-name)
 -      ;; XXX: Why is this `sit-for' needed?
 -      ;; `python-shell-make-comint' calls `accept-process-output'
 -      ;; already but it is not helping to get proper output on
 -      ;; 'gnu/linux when the internal shell process is not running and
 -      ;; a call to `python-shell-internal-send-string' is issued.
 -      (sit-for 0.1 t))
 +      (setq python-shell-internal-buffer proc-buffer-name))
      (get-buffer-process proc-buffer-name)))
  
  (define-obsolete-function-alias
@@@ -2622,7 -2423,16 +2632,7 @@@ detecting a prompt at the end of the bu
     string (ansi-color-filter-apply string)
     python-shell-output-filter-buffer
     (concat python-shell-output-filter-buffer string))
 -  (when (string-match
 -         ;; XXX: It seems on OSX an extra carriage return is attached
 -         ;; at the end of output, this handles that too.
 -         (concat
 -          "\r?\n"
 -          ;; Remove initial caret from calculated regexp
 -          (replace-regexp-in-string
 -           (rx string-start ?^) ""
 -           python-shell--prompt-calculated-input-regexp)
 -          "$")
 +  (when (python-shell-comint-end-of-output-p
           python-shell-output-filter-buffer)
      ;; Output ends when `python-shell-output-filter-buffer' contains
      ;; the prompt attached at the end of it.
@@@ -2822,24 -2632,18 +2832,24 @@@ If DELETE is non-nil, delete the file a
  (defun python-shell-switch-to-shell ()
    "Switch to inferior Python process buffer."
    (interactive)
 -  (pop-to-buffer (process-buffer (python-shell-get-or-create-process)) t))
 +  (process-buffer (python-shell-get-or-create-process)) t)
  
  (defun python-shell-send-setup-code ()
    "Send all setup code for shell.
  This function takes the list of setup code to send from the
  `python-shell-setup-codes' list."
 -  (let ((process (get-buffer-process (current-buffer))))
 -    (dolist (code python-shell-setup-codes)
 -      (when code
 -        (message "Sent %s" code)
 -        (python-shell-send-string
 -         (symbol-value code) process)))))
 +  (let ((process (python-shell-get-process))
 +        (code (concat
 +               (mapconcat
 +                (lambda (elt)
 +                  (cond ((stringp elt) elt)
 +                        ((symbolp elt) (symbol-value elt))
 +                        (t "")))
 +                python-shell-setup-codes
 +                "\n\n")
 +               "\n\nprint ('python.el: sent setup code')")))
 +    (python-shell-send-string code process)
 +    (python-shell-accept-process-output process)))
  
  (add-hook 'inferior-python-mode-hook
            #'python-shell-send-setup-code)
  
  (defcustom python-shell-completion-setup-code
    "try:
-     import readline, rlcompleter
+     import __builtin__
  except ImportError:
+     # Python 3
+     import builtins as __builtin__
+ try:
+     import readline, rlcompleter
+ except:
      def __PYTHON_EL_get_completions(text):
          return []
  else:
      def __PYTHON_EL_get_completions(text):
+         builtins = dir(__builtin__)
          completions = []
          try:
              splits = text.split()
              is_module = splits and splits[0] in ('from', 'import')
-             is_ipython = getattr(
-                 __builtins__, '__IPYTHON__',
-                 getattr(__builtins__, '__IPYTHON__active', False))
+             is_ipython = ('__IPYTHON__' in builtins or
+                           '__IPYTHON__active' in builtins)
              if is_module:
                  from IPython.core.completerlib import module_completion
                  completions = module_completion(text.strip())
-             elif is_ipython and getattr(__builtins__, '__IP', None):
+             elif is_ipython and '__IP' in builtins:
                  completions = __IP.complete(text)
-             elif is_ipython and getattr(__builtins__, 'get_ipython', None):
+             elif is_ipython and 'get_ipython' in builtins:
                  completions = get_ipython().Completer.all_completions(text)
              else:
                  i = 0
@@@ -2898,80 -2707,85 +2913,80 @@@ the full statement in the case of impor
    "24.4"
    "Completion string code must also autocomplete modules.")
  
 -(defcustom python-shell-completion-pdb-string-code
 -  "';'.join(globals().keys() + locals().keys())"
 -  "Python code used to get completions separated by semicolons for [i]pdb."
 -  :type 'string
 -  :group 'python)
 +(define-obsolete-variable-alias
 +  'python-shell-completion-pdb-string-code
 +  'python-shell-completion-string-code
 +  "25.1"
 +  "Completion string code must work for (i)pdb.")
  
 -(defun python-shell-completion-get-completions (process line input)
 -  "Do completion at point for PROCESS.
 -LINE is used to detect the context on how to complete given INPUT."
 +(defun python-shell-completion-get-completions (process import input)
 +  "Do completion at point using PROCESS for IMPORT or INPUT.
 +When IMPORT is non-nil takes precedence over INPUT for
 +completion."
    (with-current-buffer (process-buffer process)
      (let* ((prompt
 -            ;; Get last prompt of the inferior process buffer (this
 -            ;; intentionally avoids using `comint-last-prompt' because
 -            ;; of incompatibilities with Emacs 24.x).
 -            (save-excursion
 +            (let ((prompt-boundaries (python-util-comint-last-prompt)))
                (buffer-substring-no-properties
 -               (line-beginning-position) ;End of prompt.
 -               (re-search-backward "^"))))
 +               (car prompt-boundaries) (cdr prompt-boundaries))))
             (completion-code
              ;; Check whether a prompt matches a pdb string, an import
              ;; statement or just the standard prompt and use the
              ;; correct python-shell-completion-*-code string
 -            (cond ((and (> (length python-shell-completion-pdb-string-code) 0)
 -                        (string-match
 +            (cond ((and (string-match
                           (concat "^" python-shell-prompt-pdb-regexp) prompt))
 -                   python-shell-completion-pdb-string-code)
 +                   ;; Since there are no guarantees the user will remain
 +                   ;; in the same context where completion code was sent
 +                   ;; (e.g. user steps into a function), safeguard
 +                   ;; resending completion setup continuously.
 +                   (concat python-shell-completion-setup-code
 +                           "\nprint (" python-shell-completion-string-code ")"))
                    ((string-match
                      python-shell--prompt-calculated-input-regexp prompt)
                     python-shell-completion-string-code)
                    (t nil)))
 -           (input
 -            (if (string-match
 -                 (python-rx line-start (* space) (or "from" "import") space)
 -                 line)
 -                line
 -              input)))
 +           (subject (or import input)))
        (and completion-code
             (> (length input) 0)
             (let ((completions
                    (python-util-strip-string
                     (python-shell-send-string-no-output
 -                    (format completion-code input) process))))
 +                    (format completion-code subject) process))))
               (and (> (length completions) 2)
                    (split-string completions
                                  "^'\\|^\"\\|;\\|'$\\|\"$" t)))))))
  
 -(defun python-shell-completion-complete-at-point (&optional process)
 -  "Perform completion at point in inferior Python.
 +(defun python-shell-completion-at-point (&optional process)
 +  "Function for `completion-at-point-functions' in `inferior-python-mode'.
  Optional argument PROCESS forces completions to be retrieved
  using that one instead of current buffer's process."
    (setq process (or process (get-buffer-process (current-buffer))))
 -  (let* ((start
 +  (let* ((last-prompt-end (cdr (python-util-comint-last-prompt)))
 +         (import-statement
 +          (when (string-match-p
 +                 (rx (* space) word-start (or "from" "import") word-end space)
 +                 (buffer-substring-no-properties last-prompt-end (point)))
 +            (buffer-substring-no-properties last-prompt-end (point))))
 +         (start
            (save-excursion
 -            (with-syntax-table python-dotty-syntax-table
 -              (let* ((paren-depth (car (syntax-ppss)))
 -                     (syntax-string "w_")
 -                     (syntax-list (string-to-syntax syntax-string)))
 -                ;; Stop scanning for the beginning of the completion
 -                ;; subject after the char before point matches a
 -                ;; delimiter
 -                (while (member
 -                        (car (syntax-after (1- (point)))) syntax-list)
 -                  (skip-syntax-backward syntax-string)
 -                  (when (or (equal (char-before) ?\))
 -                            (equal (char-before) ?\"))
 -                    (forward-char -1))
 -                  (while (or
 -                          ;; honor initial paren depth
 -                          (> (car (syntax-ppss)) paren-depth)
 -                          (python-syntax-context 'string))
 -                    (forward-char -1)))
 -                (point)))))
 +            (if (not (re-search-backward
 +                      (python-rx
 +                       (or whitespace open-paren close-paren string-delimiter))
 +                      last-prompt-end
 +                      t 1))
 +                last-prompt-end
 +              (forward-char (length (match-string-no-properties 0)))
 +              (point))))
           (end (point)))
      (list start end
            (completion-table-dynamic
             (apply-partially
              #'python-shell-completion-get-completions
 -            process (buffer-substring-no-properties
 -                     (line-beginning-position) end))))))
 +            process import-statement)))))
 +
 +(define-obsolete-function-alias
 +  'python-shell-completion-complete-at-point
 +  'python-shell-completion-at-point
 +  "25.1")
  
  (defun python-shell-completion-complete-or-indent ()
    "Complete or indent depending on the context.
@@@ -2980,7 -2794,7 +2995,7 @@@ If not try to complete.
    (interactive)
    (if (string-match "^[[:space:]]*$"
                      (buffer-substring (comint-line-beginning-position)
 -                                      (point-marker)))
 +                                      (point)))
        (indent-for-tab-command)
      (completion-at-point)))
  
@@@ -3079,19 -2893,18 +3094,19 @@@ Argument OUTPUT is a string with the ou
  \f
  ;;; Symbol completion
  
 -(defun python-completion-complete-at-point ()
 -  "Complete current symbol at point.
 +(defun python-completion-at-point ()
 +  "Function for `completion-at-point-functions' in `python-mode'.
  For this to work as best as possible you should call
  `python-shell-send-buffer' from time to time so context in
  inferior Python process is updated properly."
    (let ((process (python-shell-get-process)))
 -    (if (not process)
 -        (error "Completion needs an inferior Python process running")
 -      (python-shell-completion-complete-at-point process))))
 +    (when process
 +      (python-shell-completion-at-point process))))
  
 -(add-to-list 'debug-ignored-errors
 -             "^Completion needs an inferior Python process running.")
 +(define-obsolete-function-alias
 +  'python-completion-complete-at-point
 +  'python-completion-at-point
 +  "25.1")
  
  \f
  ;;; Fill paragraph
@@@ -3311,7 -3124,8 +3326,7 @@@ JUSTIFY should be used (if applicable) 
    (save-restriction
      (narrow-to-region (progn
                          (while (python-syntax-context 'paren)
 -                          (goto-char (1- (point-marker))))
 -                        (point-marker)
 +                          (goto-char (1- (point))))
                          (line-beginning-position))
                        (progn
                          (when (not (python-syntax-context 'paren))
                              (skip-syntax-backward "^)")))
                          (while (and (python-syntax-context 'paren)
                                      (not (eobp)))
 -                          (goto-char (1+ (point-marker))))
 -                        (point-marker)))
 +                          (goto-char (1+ (point))))
 +                        (point)))
      (let ((paragraph-start "\f\\|[ \t]*$")
            (paragraph-separate ",")
            (fill-paragraph-function))
@@@ -3430,12 -3244,6 +3445,12 @@@ The skeleton will be bound to python-sk
    > _ \n
    '(python-skeleton--else) | ^)
  
 +(python-skeleton-define import nil
 +  "Import from module: "
 +  "from " str & " " | -5
 +  "import "
 +  ("Identifier: " str ", ") -2 \n _)
 +
  (python-skeleton-define try nil
    nil
    "try:" \n
    "class " str "(" ("Inheritance, %s: "
                      (unless (equal ?\( (char-before)) ", ")
                      str)
 -  & ")" | -2
 +  & ")" | -1
    ":" \n
    "\"\"\"" - "\"\"\"" \n
    > _ \n)
@@@ -3567,11 -3375,7 +3582,11 @@@ See `python-check-command' for the defa
    "def __PYDOC_get_help(obj):
      try:
          import inspect
 -        if hasattr(obj, 'startswith'):
 +        try:
 +            str_type = basestring
 +        except NameError:
 +            str_type = str
 +        if isinstance(obj, str_type):
              obj = eval(obj, globals())
          doc = inspect.getdoc(obj)
          if not doc and callable(obj):
              doc = doc.splitlines()[0]
      except:
          doc = ''
 -    try:
 -        exec('print doc')
 -    except SyntaxError:
 -        print(doc)"
 +    print (doc)"
    "Python code to setup documentation retrieval."
    :type 'string
    :group 'python)
@@@ -3611,7 -3418,8 +3626,7 @@@ If not FORCE-INPUT is passed then what 
  returns will be used.  If not FORCE-PROCESS is passed what
  `python-shell-get-process' returns is used."
    (let ((process (or force-process (python-shell-get-process))))
 -    (if (not process)
 -        (error "Eldoc needs an inferior Python process running")
 +    (when process
        (let ((input (or force-input
                         (python-info-current-symbol t))))
          (and input
@@@ -3641,6 -3449,9 +3656,6 @@@ Interactively, prompt for symbol.
                          nil nil symbol))))
    (message (python-eldoc--get-doc-at-point symbol)))
  
 -(add-to-list 'debug-ignored-errors
 -             "^Eldoc needs an inferior Python process running.")
 -
  \f
  ;;; Imenu
  
@@@ -4134,18 -3945,6 +4149,18 @@@ to \"^python-\".
                 (cdr pair))))
     (buffer-local-variables from-buffer)))
  
 +(defvar comint-last-prompt-overlay)     ; Shut up, byte compiler.
 +
 +(defun python-util-comint-last-prompt ()
 +  "Return comint last prompt overlay start and end.
 +This is for compatibility with Emacs < 24.4."
 +  (cond ((bound-and-true-p comint-last-prompt-overlay)
 +         (cons (overlay-start comint-last-prompt-overlay)
 +               (overlay-end comint-last-prompt-overlay)))
 +        ((bound-and-true-p comint-last-prompt)
 +         comint-last-prompt)
 +        (t nil)))
 +
  (defun python-util-forward-comment (&optional direction)
    "Python mode specific version of `forward-comment'.
  Optional argument DIRECTION defines the direction to move to."
        (goto-char comment-start))
      (forward-comment factor)))
  
 +(defun python-util-list-directories (directory &optional predicate max-depth)
 +  "List DIRECTORY subdirs, filtered by PREDICATE and limited by MAX-DEPTH.
 +Argument PREDICATE defaults to `identity' and must be a function
 +that takes one argument (a full path) and returns non-nil for
 +allowed files.  When optional argument MAX-DEPTH is non-nil, stop
 +searching when depth is reached, else don't limit."
 +  (let* ((dir (expand-file-name directory))
 +         (dir-length (length dir))
 +         (predicate (or predicate #'identity))
 +         (to-scan (list dir))
 +         (tally nil))
 +    (while to-scan
 +      (let ((current-dir (car to-scan)))
 +        (when (funcall predicate current-dir)
 +          (setq tally (cons current-dir tally)))
 +        (setq to-scan (append (cdr to-scan)
 +                              (python-util-list-files
 +                               current-dir #'file-directory-p)
 +                              nil))
 +        (when (and max-depth
 +                   (<= max-depth
 +                       (length (split-string
 +                                (substring current-dir dir-length)
 +                                "/\\|\\\\" t))))
 +          (setq to-scan nil))))
 +    (nreverse tally)))
 +
 +(defun python-util-list-files (dir &optional predicate)
 +  "List files in DIR, filtering with PREDICATE.
 +Argument PREDICATE defaults to `identity' and must be a function
 +that takes one argument (a full path) and returns non-nil for
 +allowed files."
 +  (let ((dir-name (file-name-as-directory dir)))
 +    (apply #'nconc
 +           (mapcar (lambda (file-name)
 +                     (let ((full-file-name (expand-file-name file-name dir-name)))
 +                       (when (and
 +                              (not (member file-name '("." "..")))
 +                              (funcall (or predicate #'identity) full-file-name))
 +                         (list full-file-name))))
 +                   (directory-files dir-name)))))
 +
 +(defun python-util-list-packages (dir &optional max-depth)
 +  "List packages in DIR, limited by MAX-DEPTH.
 +When optional argument MAX-DEPTH is non-nil, stop searching when
 +depth is reached, else don't limit."
 +  (let* ((dir (expand-file-name dir))
 +         (parent-dir (file-name-directory
 +                      (directory-file-name
 +                       (file-name-directory
 +                        (file-name-as-directory dir)))))
 +         (subpath-length (length parent-dir)))
 +    (mapcar
 +     (lambda (file-name)
 +       (replace-regexp-in-string
 +        (rx (or ?\\ ?/)) "." (substring file-name subpath-length)))
 +     (python-util-list-directories
 +      (directory-file-name dir)
 +      (lambda (dir)
 +        (file-exists-p (expand-file-name "__init__.py" dir)))
 +      max-depth))))
 +
  (defun python-util-popn (lst n)
    "Return LST first N elements.
  N should be an integer, when negative its opposite is used.
@@@ -4235,23 -3972,6 +4250,23 @@@ returned as is.
                n (1- n)))
        (reverse acc))))
  
 +(defun python-util-text-properties-replace-name
 +  (from to &optional start end)
 +  "Replace properties named FROM to TO, keeping its value.
 +Arguments START and END narrow the buffer region to work on."
 +  (save-excursion
 +    (goto-char (or start (point-min)))
 +    (while (not (eobp))
 +      (let ((plist (text-properties-at (point)))
 +            (next-change (or (next-property-change (point) (current-buffer))
 +                             (or end (point-max)))))
 +        (when (plist-get plist from)
 +          (let* ((face (plist-get plist from))
 +                 (plist (plist-put plist from nil))
 +                 (plist (plist-put plist to face)))
 +            (set-text-properties (point) next-change plist (current-buffer))))
 +        (goto-char next-change)))))
 +
  (defun python-util-strip-string (string)
    "Strip STRING whitespace and newlines from end and beginning."
    (replace-regexp-in-string
         #'python-indent-line-function)
    (set (make-local-variable 'indent-region-function) #'python-indent-region)
    ;; Because indentation is not redundant, we cannot safely reindent code.
 -  (setq-local electric-indent-inhibit t)
 -  (setq-local electric-indent-chars (cons ?: electric-indent-chars))
 +  (set (make-local-variable 'electric-indent-inhibit) t)
 +  (set (make-local-variable 'electric-indent-chars)
 +       (cons ?: electric-indent-chars))
  
    ;; Add """ ... """ pairing to electric-pair-mode.
    (add-hook 'post-self-insert-hook
         #'python-nav-end-of-defun)
  
    (add-hook 'completion-at-point-functions
 -            #'python-completion-complete-at-point nil 'local)
 +            #'python-completion-at-point nil 'local)
  
    (add-hook 'post-self-insert-hook
              #'python-indent-post-self-insert-function 'append 'local)
    (add-to-list 'hs-special-modes-alist
                 `(python-mode "^\\s-*\\(?:def\\|class\\)\\>" nil "#"
                               ,(lambda (_arg)
 -                                (python-nav-end-of-defun)) nil))
 +                                (python-nav-end-of-defun))
 +                             nil))
  
    (set (make-local-variable 'outline-regexp)
         (python-rx (* space) block-start))
diff --combined lisp/vc/vc-bzr.el
index 471c4799ca0787e80688544f94a854061041c33f,66c7ac4a3494c07b6d60489779bb52de407bfddb..7a1539bb7e369d15cc0226596bade057cae653a9
@@@ -634,8 -634,10 +634,8 @@@ or a superior directory."
                                             "" (replace-regexp-in-string
                                                 "\n[ \t]?" " " str)))))
  
 -(defun vc-bzr-checkin (files rev comment)
 -  "Check FILES in to bzr with log message COMMENT.
 -REV non-nil gets an error."
 -  (if rev (error "Can't check in a specific revision with bzr"))
 +(defun vc-bzr-checkin (files comment)
 +  "Check FILES in to bzr with log message COMMENT."
    (apply 'vc-bzr-command "commit" nil 0 files
           (cons "-m" (log-edit-extract-headers
                       `(("Author" . ,(vc-bzr--sanitize-header "--author"))
    (expand-file-name ".bzrignore"
                    (vc-bzr-root file)))
  
 -(defun vc-bzr-checkout (_file &optional _editable rev)
 +(defun vc-bzr-checkout (_file &optional rev)
    (if rev (error "Operation not supported")
      ;; Else, there's nothing to do.
      nil))
@@@ -981,7 -983,7 +981,7 @@@ stream.  Standard error output is disca
                (push (list new-name 'edited
                            (vc-bzr-create-extra-fileinfo old-name)) result)))
             ;; do nothing for non existent files
-            ((memq translated '(not-found ignored)))
+            ((eq translated 'not-found))
             (t
              (push (list (file-relative-name
                           (buffer-substring-no-properties
                    (file &optional keep noquery reset-vc-info))
  
  (defun vc-bzr-shelve (name)
 -  "Create a shelve."
 +  "Shelve the changes of the selected files."
    (interactive "sShelf name: ")
 -  (let ((root (vc-bzr-root default-directory)))
 +  (let ((root (vc-bzr-root default-directory))
 +        (fileset (vc-deduce-fileset)))
      (when root
 -      (vc-bzr-command "shelve" nil 0 nil "--all" "-m" name)
 +      (vc-bzr-command "shelve" nil 0 (nth 1 fileset) "--all" "-m" name)
        (vc-resynch-buffer root t t))))
  
  (defun vc-bzr-shelve-show (name)
    "Create a stash with the current tree state."
    (interactive)
    (vc-bzr-command "shelve" nil 0 nil "--all" "-m"
 -                (let ((ct (current-time)))
 -                  (concat
 -                   (format-time-string "Snapshot on %Y-%m-%d" ct)
 -                   (format-time-string " at %H:%M" ct))))
 +                (format-time-string "Snapshot on %Y-%m-%d at %H:%M"))
    (vc-bzr-command "unshelve" nil 0 nil "--apply" "--keep")
    (vc-resynch-buffer (vc-bzr-root default-directory) t t))
  
diff --combined lisp/vc/vc-git.el
index 75098904f32e7aac495c1eccce2c487de5d57a55,ae6b13a6c6097d4b0451e9fd513548cc6b1096fd..3a943132435d20d025075fe89fdfbff9ea367028
@@@ -66,7 -66,7 +66,7 @@@
  ;; - unregister (file)                             OK
  ;; * checkin (files rev comment)                   OK
  ;; * find-revision (file rev buffer)               OK
 -;; * checkout (file &optional editable rev)        OK
 +;; * checkout (file &optional rev)                 OK
  ;; * revert (file &optional contents-done)         OK
  ;; - rollback (files)                              COULD BE SUPPORTED
  ;; - merge (file rev1 rev2)                   It would be possible to merge
  ;; - clear-headers ()                              NOT NEEDED
  ;; - delete-file (file)                            OK
  ;; - rename-file (old new)                         OK
 -;; - find-file-hook ()                             NOT NEEDED
 +;; - find-file-hook ()                             OK
 +;; - conflicted-files                              OK
  
  ;;; Code:
  
@@@ -665,7 -664,7 +665,7 @@@ If toggling on, also insert its messag
    "Major mode for editing Git log messages.
  It is based on `log-edit-mode', and has Git-specific extensions.")
  
 -(defun vc-git-checkin (files _rev comment)
 +(defun vc-git-checkin (files comment)
    (let* ((file1 (or (car files) default-directory))
           (root (vc-git-root file1))
           (default-directory (expand-file-name root))
    (expand-file-name ".gitignore"
                    (vc-git-root file)))
  
 -(defun vc-git-checkout (file &optional _editable rev)
 +(defun vc-git-checkout (file &optional rev)
    (vc-git-command nil 0 file "checkout" (or rev "HEAD")))
  
  (defun vc-git-revert (file &optional contents-done)
@@@ -770,47 -769,6 +770,47 @@@ This prompts for a branch to merge from
      (with-current-buffer buffer (vc-run-delayed (vc-compilation-mode 'git)))
      (vc-set-async-update buffer)))
  
 +(defun vc-git-conflicted-files (directory)
 +  "Return the list of files with conflicts in DIRECTORY."
 +  (let* ((status
 +          (vc-git--run-command-string directory "status" "--porcelain" "--"))
 +         (lines (when status (split-string status "\n" 'omit-nulls)))
 +         files)
 +    (dolist (line lines files)
 +      (when (string-match "\\([ MADRCU?!][ MADRCU?!]\\) \\(.+\\)\\(?: -> \\(.+\\)\\)?"
 +                          line)
 +        (let ((state (match-string 1 line))
 +              (file (match-string 2 line)))
 +          ;; See git-status(1).
 +          (when (member state '("AU" "UD" "UA" ;; "DD"
 +                                "DU" "AA" "UU"))
 +            (push file files)))))))
 +
 +(defun vc-git-resolve-when-done ()
 +  "Call \"git add\" if the conflict markers have been removed."
 +  (save-excursion
 +    (goto-char (point-min))
 +    (unless (re-search-forward "^<<<<<<< " nil t)
 +      (vc-git-command nil 0 buffer-file-name "add")
 +      ;; Remove the hook so that it is not called multiple times.
 +      (remove-hook 'after-save-hook 'vc-git-resolve-when-done t))))
 +
 +(defun vc-git-find-file-hook ()
 +  "Activate `smerge-mode' if there is a conflict."
 +  (when (and buffer-file-name
 +             ;; FIXME
 +             ;; 1) the net result is to call git twice per file.
 +             ;; 2) v-g-c-f is documented to take a directory.
 +             ;; http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01126.html
 +             (vc-git-conflicted-files buffer-file-name)
 +             (save-excursion
 +               (goto-char (point-min))
 +               (re-search-forward "^<<<<<<< " nil 'noerror)))
 +    (vc-file-setprop buffer-file-name 'vc-state 'conflict)
 +    (smerge-start-session)
 +    (add-hook 'after-save-hook 'vc-git-resolve-when-done nil 'local)
 +    (message "There are unresolved conflicts in this file")))
 +
  ;;; HISTORY FUNCTIONS
  
  (autoload 'vc-setup-buffer "vc-dispatcher")
@@@ -884,7 -842,7 +884,7 @@@ If LIMIT is non-nil, show no more than 
         (if (not (eq vc-log-view-type 'long))
           (cadr vc-git-root-log-format)
         "^commit *\\([0-9a-z]+\\)"))
 -  ;; Allow expanding short log entries
 +  ;; Allow expanding short log entries.
    (when (eq vc-log-view-type 'short)
      (setq truncate-lines t)
      (set (make-local-variable 'log-view-expanded-log-entry-function)
@@@ -941,71 -899,16 +941,71 @@@ or BRANCH^ (where \"^\" can be repeated
        (indent-region (point-min) (point-max) 2)
        (buffer-string))))
  
 +
 +(defun vc-git-region-history (file buffer lfrom lto)
 +  (vc-git-command buffer 'async nil "log" "-p" ;"--follow" ;FIXME: not supported?
 +                  (format "-L%d,%d:%s" lfrom lto (file-relative-name file))))
 +
 +(require 'diff-mode)
 +
 +(defvar vc-git-region-history-mode-map
 +  (let ((map (make-composed-keymap
 +              nil (make-composed-keymap
 +                   (list diff-mode-map vc-git-log-view-mode-map)))))
 +    map))
 +
 +(defvar vc-git--log-view-long-font-lock-keywords nil)
 +(defvar font-lock-keywords)
 +(defvar vc-git-region-history-font-lock-keywords
 +  `((vc-git-region-history-font-lock)))
 +
 +(defun vc-git-region-history-font-lock (limit)
 +  (let ((in-diff (save-excursion
 +                   (beginning-of-line)
 +                   (or (looking-at "^\\(?:diff\\|commit\\)\\>")
 +                       (re-search-backward "^\\(?:diff\\|commit\\)\\>" nil t))
 +                   (eq ?d (char-after (match-beginning 0))))))
 +    (while
 +        (let ((end (save-excursion
 +                     (if (re-search-forward "\n\\(diff\\|commit\\)\\>"
 +                                            limit t)
 +                         (match-beginning 1)
 +                       limit))))
 +          (let ((font-lock-keywords (if in-diff diff-font-lock-keywords
 +                                      vc-git--log-view-long-font-lock-keywords)))
 +            (font-lock-fontify-keywords-region (point) end))
 +          (goto-char end)
 +          (prog1 (< (point) limit)
 +            (setq in-diff (eq ?d (char-after))))))
 +    nil))
 +
 +(define-derived-mode vc-git-region-history-mode
 +    vc-git-log-view-mode "Git-Region-History"
 +  "Major mode to browse Git's \"log -p\" output."
 +  (setq-local vc-git--log-view-long-font-lock-keywords
 +              log-view-font-lock-keywords)
 +  (setq-local font-lock-defaults
 +              (cons 'vc-git-region-history-font-lock-keywords
 +                    (cdr font-lock-defaults))))
 +
 +
  (autoload 'vc-switches "vc")
  
  (defun vc-git-diff (files &optional rev1 rev2 buffer)
    "Get a difference report using Git between two revisions of FILES."
    (let (process-file-side-effects)
 -    (apply #'vc-git-command (or buffer "*vc-diff*") 1 files
 -         (if (and rev1 rev2) "diff-tree" "diff-index")
 -         "--exit-code"
 -         (append (vc-switches 'git 'diff)
 -                 (list "-p" (or rev1 "HEAD") rev2 "--")))))
 +    (if vc-git-diff-switches
 +        (apply #'vc-git-command (or buffer "*vc-diff*") 1 files
 +               (if (and rev1 rev2) "diff-tree" "diff-index")
 +               "--exit-code"
 +               (append (vc-switches 'git 'diff)
 +                       (list "-p" (or rev1 "HEAD") rev2 "--")))
 +      (vc-git-command (or buffer "*vc-diff*") 1 files
 +                      "difftool" "--exit-code" "--no-prompt" "-x"
 +                      (concat "diff "
 +                              (mapconcat 'identity
 +                                         (vc-switches nil 'diff) " "))
 +                      (or rev1 "HEAD") rev2 "--"))))
  
  (defun vc-git-revision-table (_files)
    ;; What about `files'?!?  --Stef
                             (point)
                             (1- (point-max)))))))
          (or (vc-git-symbolic-commit prev-rev) prev-rev))
-     (vc-git--rev-parse (concat rev "^"))))
+     ;; We used to use "^" here, but that fails on MS-Windows if git is
+     ;; invoked via a batch file, in which case cmd.exe strips the "^"
+     ;; because it is a special character for cmd which process-file
+     ;; does not (and cannot) quote.
+     (vc-git--rev-parse (concat rev "~1"))))
  
  (defun vc-git--rev-parse (rev)
    (with-temp-buffer
@@@ -1306,16 -1213,18 +1310,18 @@@ This command shares argument histories 
    "A wrapper around `vc-do-command' for use in vc-git.el.
  The difference to vc-do-command is that this function always invokes
  `vc-git-program'."
-   (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
-          ;; http://debbugs.gnu.org/16897
-          (unless (and (not (cdr-safe file-or-list))
-                       (let ((file (or (car-safe file-or-list)
-                                       file-or-list)))
-                         (and file
-                              (eq ?/ (aref file (1- (length file))))
-                              (equal file (vc-git-root file)))))
-            file-or-list)
-          (cons "--no-pager" flags)))
+   (let ((coding-system-for-read vc-git-commits-coding-system)
+       (coding-system-for-write vc-git-commits-coding-system))
+     (apply 'vc-do-command (or buffer "*vc*") okstatus vc-git-program
+          ;; http://debbugs.gnu.org/16897
+          (unless (and (not (cdr-safe file-or-list))
+                       (let ((file (or (car-safe file-or-list)
+                                       file-or-list)))
+                         (and file
+                              (eq ?/ (aref file (1- (length file))))
+                              (equal file (vc-git-root file)))))
+            file-or-list)
+          (cons "--no-pager" flags))))
  
  (defun vc-git--empty-db-p ()
    "Check if the git db is empty (no commit done yet)."
    ;; directories.  We enable `inhibit-null-byte-detection', otherwise
    ;; Tramp's eol conversion might be confused.
    (let ((inhibit-null-byte-detection t)
+       (coding-system-for-read vc-git-commits-coding-system)
+       (coding-system-for-write vc-git-commits-coding-system)
        (process-environment (cons "PAGER=" process-environment)))
      (apply 'process-file vc-git-program nil buffer nil command args)))
  
diff --combined lisp/vc/vc-hg.el
index 62d0bb5ba5f3debd815dd45ecd71d1b76fdaaff1,c8b811feecc7da93ebf8480aa8b0760f2b59ab64..d8cda912b61988be71c6a8708cd28537fe54b8c8
@@@ -63,7 -63,7 +63,7 @@@
  ;; - unregister (file)                         OK
  ;; * checkin (files rev comment)               OK
  ;; * find-revision (file rev buffer)           OK
 -;; * checkout (file &optional editable rev)    OK
 +;; * checkout (file &optional rev)             OK
  ;; * revert (file &optional contents-done)     OK
  ;; - rollback (files)                          ?? PROBABLY NOT NEEDED
  ;; - merge (file rev1 rev2)                    NEEDED
@@@ -82,8 -82,8 +82,8 @@@
  ;; - annotate-current-time ()                  NOT NEEDED
  ;; - annotate-extract-revision-at-line ()      OK
  ;; TAG SYSTEM
 -;; - create-tag (dir name branchp)             NEEDED
 -;; - retrieve-tag (dir name update)            NEEDED
 +;; - create-tag (dir name branchp)             OK
 +;; - retrieve-tag (dir name update)            OK FIXME UPDATE BUFFERS
  ;; MISCELLANEOUS
  ;; - make-version-backups-p (file)             ??
  ;; - repository-hostname (dirname)             ??
@@@ -211,11 -211,18 +211,11 @@@ highlighting the Log View buffer.
                             (append
                              (list "TERM=dumb" "LANGUAGE=C" "HGPLAIN=1")
                              process-environment)))
 -                      (if (file-remote-p file)
 -                          (process-file
 -                           "env" nil t nil
 -                           "HGPLAIN=1" vc-hg-program
 -                           "--config" "alias.status=status"
 -                           "--config" "defaults.status="
 -                           "status" "-A" (file-relative-name file))
 -                        (process-file
 -                         vc-hg-program nil t nil
 -                         "--config" "alias.status=status"
 -                         "--config" "defaults.status="
 -                         "status" "-A" (file-relative-name file))))
 +                      (process-file
 +                       vc-hg-program nil t nil
 +                       "--config" "alias.status=status"
 +                       "--config" "defaults.status="
 +                       "status" "-A" (file-relative-name file)))
                      ;; Some problem happened.  E.g. We can't find an `hg'
                      ;; executable.
                      (error nil)))))))
@@@ -389,26 -396,8 +389,26 @@@ Optional arg REVISION is a revision to 
        (if (match-beginning 3)
          (match-string-no-properties 1)
        (cons (match-string-no-properties 1)
 -            (expand-file-name (match-string-no-properties 4)
 -                              (vc-hg-root default-directory)))))))
 +      (expand-file-name (match-string-no-properties 4)
 + (vc-hg-root default-directory)))))))
 +
 +;;; Tag system
 +
 +(defun vc-hg-create-tag (dir name branchp)
 +  "Attach the tag NAME to the state of the working copy."
 +  (let ((default-directory dir))
 +    (and (vc-hg-command nil 0 nil "status")
 +         (vc-hg-command nil 0 nil (if branchp "bookmark" "tag") name))))
 +
 +(defun vc-hg-retrieve-tag (dir name _update)
 +  "Retrieve the version tagged by NAME of all registered files at or below DIR."
 +  (let ((default-directory dir))
 +    (vc-hg-command nil 0 nil "update" name)
 +    ;; FIXME: update buffers if `update' is true
 +    ;; TODO: update *vc-change-log* buffer so can see @ if --graph
 +    ))
 +
 +;;; Miscellaneous
  
  (defun vc-hg-previous-revision (_file rev)
    (let ((newrev (1- (string-to-number rev))))
@@@ -470,7 -459,7 +470,7 @@@ COMMENT is ignored.
  
  (declare-function log-edit-extract-headers "log-edit" (headers string))
  
 -(defun vc-hg-checkin (files _rev comment)
 +(defun vc-hg-checkin (files comment)
    "Hg-specific version of `vc-backend-checkin'.
  REV is ignored."
    (apply 'vc-hg-command nil 0 files
                    (vc-hg-root file)))
  
  ;; Modeled after the similar function in vc-bzr.el
 -(defun vc-hg-checkout (file &optional _editable rev)
 +(defun vc-hg-checkout (file &optional rev)
    "Retrieve a revision of FILE.
  EDITABLE is ignored.
  REV is the revision to check out into WORKFILE."
     (vc-hg-after-dir-status update-function)))
  
  (defun vc-hg-dir-status-files (dir files _default-state update-function)
-   (apply 'vc-hg-command (current-buffer) 'async dir "status" "-C" files)
+   (apply 'vc-hg-command (current-buffer) 'async dir "status" "-mardui" "-C" files)
    (vc-run-delayed
     (vc-hg-after-dir-status update-function)))
  
diff --combined lisp/vc/vc.el
index aa9337ccf358f8dccc1cd1e650e69fad377d5916,0f4d7893b5ff78d35f98faa4dfd3b0b7626e83c5..bee1644472829dd430b731d4fa68cd577efc5e2c
@@@ -1,4 -1,4 +1,4 @@@
 -;;; vc.el --- drive a version-control system from within Emacs  -*- lexical-binding: t -*-
 +;;; vc.el --- drive a version-control system from within Emacs  -*- lexical-binding:t -*-
  
  ;; Copyright (C) 1992-1998, 2000-2014 Free Software Foundation, Inc.
  
@@@ -52,7 -52,7 +52,7 @@@
  
  ;; This mode is fully documented in the Emacs user's manual.
  ;;
 -;; Supported version-control systems presently include CVS, RCS, GNU
 +;; Supported version-control systems presently include CVS, RCS, SRC, GNU
  ;; Arch, Subversion, Bzr, Git, Mercurial, Monotone and SCCS
  ;; (or its free replacement, CSSC).
  ;;
  ;; When using Subversion or a later system, anything you do outside VC
  ;; *through the VCS tools* should safely interlock with VC
  ;; operations. Under these VC does little state caching, because local
 -;; operations are assumed to be fast.  The dividing line is
 +;; operations are assumed to be fast.
 +;;
 +;; The 'assumed to be fast' category includes SRC, even though it's
 +;; a wrapper around RCS.
  ;;
  ;; ADDING SUPPORT FOR OTHER BACKENDS
  ;;
  ;;   Unregister FILE from this backend.  This is only needed if this
  ;;   backend may be used as a "more local" backend for temporary editing.
  ;;
 -;; * checkin (files rev comment)
 +;; * checkin (files comment)
  ;;
 -;;   Commit changes in FILES to this backend.  REV is a historical artifact
 -;;   and should be ignored.  COMMENT is used as a check-in comment.
 -;;   The implementation should pass the value of vc-checkin-switches to
 -;;   the backend command.
 +;;   Commit changes in FILES to this backend. COMMENT is used as a
 +;;   check-in comment.  The implementation should pass the value of
 +;;   vc-checkin-switches to the backend command.  The revision argument
 +;;   of some older VC versions is no longer supported.
  ;;
  ;; * find-revision (file rev buffer)
  ;;
  ;;   The implementation should pass the value of vc-checkout-switches
  ;;   to the backend command.
  ;;
 -;; * checkout (file &optional editable rev)
 +;; * checkout (file &optional rev)
  ;;
 -;;   Check out revision REV of FILE into the working area.  If EDITABLE
 -;;   is non-nil, FILE should be writable by the user and if locking is
 -;;   used for FILE, a lock should also be set.  If REV is non-nil, that
 -;;   is the revision to check out (default is the working revision).
 -;;   If REV is t, that means to check out the head of the current branch;
 -;;   if it is the empty string, check out the head of the trunk.
 -;;   The implementation should pass the value of vc-checkout-switches
 -;;   to the backend command.
 +;;   Check out revision REV of FILE into the working area.  FILE
 +;;   should be writable by the user and if locking is used for FILE, a
 +;;   lock should also be set.  If REV is non-nil, that is the revision
 +;;   to check out (default is the working revision).  If REV is t,
 +;;   that means to check out the head of the current branch; if it is
 +;;   the empty string, check out the head of the trunk.  The
 +;;   implementation should pass the value of vc-checkout-switches to
 +;;   the backend command. The 'editable' argument of older VC versions
 +;;   is gone; all files are checked out editable.
  ;;
  ;; * revert (file &optional contents-done)
  ;;
  ;;   If the backend supports annotating through copies and renames,
  ;;   and displays a file name and a revision, then return a cons
  ;;   (REVISION . FILENAME).
 +;;
 +;; - region-history (FILE BUFFER LFROM LTO)
 +;;
 +;;   Insert into BUFFER the history (log comments and diffs) of the content of
 +;;   FILE between lines LFROM and LTO.  This is typically done asynchronously.
 +;;
 +;; - region-history-mode ()
 +;;
 +;;   Major mode to use for the output of `region-history'.
  
  ;; TAG SYSTEM
  ;;
  
  (require 'vc-hooks)
  (require 'vc-dispatcher)
 +(require 'cl-lib)
  
  (declare-function diff-setup-whitespace "diff-mode" ())
  
@@@ -999,9 -985,6 +999,9 @@@ current buffer.
        (if observer
          (vc-dired-deduce-fileset)
        (error "State changing VC operations not supported in `dired-mode'")))
 +     ((and (derived-mode-p 'log-view-mode)
 +         (setq backend (vc-responsible-backend default-directory)))
 +      (list backend default-directory))
       ((setq backend (vc-backend buffer-file-name))
        (if state-model-only-files
        (list backend (list buffer-file-name)
@@@ -1145,10 -1128,10 +1145,10 @@@ For old-style locking-based version con
              (let ((vsym (intern-soft revision-downcase)))
                (dolist (file files) (vc-transfer-file file vsym)))
            (dolist (file files)
 -              (vc-checkout file (eq model 'implicit) revision)))))
 +              (vc-checkout file revision)))))
         ((not (eq model 'implicit))
        ;; check the files out
 -      (dolist (file files) (vc-checkout file t)))
 +      (dolist (file files) (vc-checkout file)))
         (t
          ;; do nothing
          (message "Fileset is up-to-date"))))
        (if (yes-or-no-p (format
                          "%s is not up-to-date.  Get latest revision? "
                          (file-name-nondirectory file)))
 -          (vc-checkout file (eq model 'implicit) t)
 +          (vc-checkout file t)
          (when (and (not (eq model 'implicit))
                     (yes-or-no-p "Lock this revision? "))
 -          (vc-checkout file t)))))
 +          (vc-checkout file)))))
       ;; needs-merge
       ((eq state 'needs-merge)
        (dolist (file files)
                    "Revert to checked-in revision, instead? "))
              (error "Checkout aborted")
            (vc-revert-buffer-internal t t)
 -          (vc-checkout file t)))))
 +          (vc-checkout file)))))
       ;; Unknown fileset state
       (t
        (error "Fileset is in an unknown state %s" state)))))
@@@ -1433,27 -1416,29 +1433,27 @@@ Argument BACKEND is the backend you ar
        (replace-match ""))
      (write-region (point-min) (point-max) file)))
  
 -(defun vc-checkout (file &optional writable rev)
 +(defun vc-checkout (file &optional rev)
    "Retrieve a copy of the revision REV of FILE.
 -If WRITABLE is non-nil, make sure the retrieved file is writable.
  REV defaults to the latest revision.
  
  After check-out, runs the normal hook `vc-checkout-hook'."
 -  (and writable
 -       (not rev)
 +  (and (not rev)
         (vc-call make-version-backups-p file)
         (vc-up-to-date-p file)
         (vc-make-version-backup file))
    (let ((backend (vc-backend file)))
      (with-vc-properties (list file)
        (condition-case err
 -          (vc-call-backend backend 'checkout file writable rev)
 +          (vc-call-backend backend 'checkout file rev)
          (file-error
           ;; Maybe the backend is not installed ;-(
 -         (when writable
 +         (when t
             (let ((buf (get-file-buffer file)))
               (when buf (with-current-buffer buf (read-only-mode -1)))))
           (signal (car err) (cdr err))))
        `((vc-state . ,(if (or (eq (vc-checkout-model backend (list file)) 'implicit)
 -                             (not writable))
 +                             nil)
                           (if (vc-call-backend backend 'latest-on-branch-p file)
                               'up-to-date
                             'needs-update)
@@@ -1503,11 -1488,13 +1503,11 @@@ Type \\[vc-next-action] to check in cha
       ".\n")
      (message "Please explain why you stole the lock.  Type C-c C-c when done.")))
  
 -(defun vc-checkin (files backend &optional rev comment initial-contents)
 -  "Check in FILES.
 -The optional argument REV may be a string specifying the new revision
 -level (strongly deprecated).  COMMENT is a comment
 -string; if omitted, a buffer is popped up to accept a comment.  If
 -INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial contents
 -of the log entry buffer.
 +(defun vc-checkin (files backend &optional comment initial-contents)
 +  "Check in FILES. COMMENT is a comment string; if omitted, a
 +buffer is popped up to accept a comment.  If INITIAL-CONTENTS is
 +non-nil, then COMMENT is used as the initial contents of the log
 +entry buffer.
  
  If `vc-keep-workfiles' is nil, FILE is deleted afterwards, provided
  that the version control system supports this mode of operation.
@@@ -1533,7 -1520,7 +1533,7 @@@ Runs the normal hooks `vc-before-checki
         ;; vc-checkin-switches, but 'the' local buffer is
         ;; not a well-defined concept for filesets.
         (progn
 -         (vc-call-backend backend 'checkin files rev comment)
 +         (vc-call-backend backend 'checkin files comment)
           (mapc 'vc-delete-automatic-version-backups files))
         `((vc-state . up-to-date)
           (vc-checkout-time . ,(nth 5 (file-attributes file)))
@@@ -1891,19 -1878,6 +1891,19 @@@ saving the buffer.
         t (list backend (list rootdir) working-revision) nil nil
         (called-interactively-p 'interactive))))))
  
 +;;;###autoload
 +(defun vc-root-dir ()
 +  "Return the root directory for the current VC tree.
 +Return nil if the root directory cannot be identified."
 +  (let ((backend (vc-deduce-backend)))
 +    (if backend
 +        (condition-case err
 +            (vc-call-backend backend 'root default-directory)
 +          (vc-not-supported
 +           (unless (eq (cadr err) 'root)
 +             (signal (car err) (cdr err)))
 +           nil)))))
 +
  ;;;###autoload
  (defun vc-revision-other-window (rev)
    "Visit revision REV of the current file in another window.
@@@ -2161,8 -2135,12 +2161,12 @@@ checked out in that new branch.
  
  ;;;###autoload
  (defun vc-retrieve-tag (dir name)
-   "Descending recursively from DIR, retrieve the tag called NAME.
- If NAME is empty, it refers to the latest revisions.
+   "For each file in or below DIR, retrieve their tagged version NAME.
+ NAME can name a branch, in which case this command will switch to the
+ named branch in the directory DIR.
+ Interactively, prompt for DIR only for VCS that works at file level;
+ otherwise use the default directory of the current buffer.
+ If NAME is empty, it refers to the latest revisions of the current branch.
  If locking is used for the files in DIR, then there must not be any
  locked files at or below DIR (but if NAME is empty, locked files are
  allowed and simply skipped)."
@@@ -2240,11 -2218,19 +2244,11 @@@ earlier revisions.  Show up to LIMIT en
    ;; Don't switch to the output buffer before running the command,
    ;; so that any buffer-local settings in the vc-controlled
    ;; buffer can be accessed by the command.
 -  (let ((dir-present nil)
 -      (vc-short-log nil)
 +  (let* ((dir-present (cl-some #'file-directory-p files))
 +         (shortlog (not (null (memq (if dir-present 'directory 'file)
 +                                    vc-log-short-style))))
        (buffer-name "*vc-change-log*")
 -      type)
 -    (dolist (file files)
 -      (when (file-directory-p file)
 -      (setq dir-present t)))
 -    (setq vc-short-log
 -        (not (null (if dir-present
 -                       (memq 'directory vc-log-short-style)
 -                     (memq 'file vc-log-short-style)))))
 -    (setq type (if vc-short-log 'short 'long))
 -    (let ((shortlog vc-short-log))
 +         (type (if shortlog 'short 'long)))
        (vc-log-internal-common
         backend buffer-name files type
         (lambda (bk buf _type-arg files-arg)
         (vc-call-backend bk 'show-log-entry working-revision))
         (lambda (_ignore-auto _noconfirm)
         (vc-print-log-internal backend files working-revision
 -                                is-start-revision limit))))))
 +                              is-start-revision limit)))))
  
  (defvar vc-log-view-type nil
    "Set this to differentiate the different types of logs.")
      (with-current-buffer (get-buffer-create buffer-name)
        (set (make-local-variable 'vc-log-view-type) type))
      (setq retval (funcall backend-func backend buffer-name type files))
 +    (with-current-buffer (get-buffer buffer-name)
 +      (let ((inhibit-read-only t))
 +      ;; log-view-mode used to be called with inhibit-read-only bound
 +      ;; to t, so let's keep doing it, just in case.
 +      (vc-call-backend backend 'log-view-mode)
 +      (set (make-local-variable 'log-view-vc-backend) backend)
 +      (set (make-local-variable 'log-view-vc-fileset) files)
 +      (set (make-local-variable 'revert-buffer-function)
 +           rev-buff-func)))
 +    ;; Display after setting up major-mode, so display-buffer-alist can know
 +    ;; the major-mode.
      (pop-to-buffer buffer-name)
 -    (let ((inhibit-read-only t))
 -      ;; log-view-mode used to be called with inhibit-read-only bound
 -      ;; to t, so let's keep doing it, just in case.
 -      (vc-call-backend backend 'log-view-mode)
 -      (set (make-local-variable 'log-view-vc-backend) backend)
 -      (set (make-local-variable 'log-view-vc-fileset) files)
 -      (set (make-local-variable 'revert-buffer-function)
 -         rev-buff-func))
      (vc-run-delayed
       (let ((inhibit-read-only t))
         (funcall setup-buttons-func backend files retval)
@@@ -2394,29 -2377,6 +2398,29 @@@ When called interactively with a prefi
      (vc-incoming-outgoing-internal backend remote-location "*vc-outgoing*"
                                     'log-outgoing)))
  
 +;;;###autoload
 +(defun vc-region-history (from to)
 +  "Show the history of the region FROM..TO."
 +  (interactive "r")
 +  (let* ((lfrom (line-number-at-pos from))
 +         (lto   (line-number-at-pos to))
 +         (file buffer-file-name)
 +         (backend (vc-backend file))
 +         (buf (get-buffer-create "*VC-history*")))
 +    (with-current-buffer buf
 +      (setq-local vc-log-view-type 'long))
 +    (vc-call region-history file buf lfrom lto)
 +    (with-current-buffer buf
 +      (vc-call-backend backend 'region-history-mode)
 +      (set (make-local-variable 'log-view-vc-backend) backend)
 +      (set (make-local-variable 'log-view-vc-fileset) file)
 +      (set (make-local-variable 'revert-buffer-function)
 +         (lambda (_ignore-auto _noconfirm)
 +             (with-current-buffer buf
 +               (let ((inhibit-read-only t)) (erase-buffer)))
 +             (vc-call region-history file buf lfrom lto))))
 +    (display-buffer buf)))
 +
  ;;;###autoload
  (defun vc-revert ()
    "Revert working copies of the selected fileset to their repository contents.
@@@ -2494,7 -2454,7 +2498,7 @@@ depending on the underlying version-con
        (error "Please revert all modified workfiles before rollback")))
      ;; Accumulate changes associated with the fileset
      (vc-setup-buffer "*vc-diff*")
 -    (not-modified)
 +    (set-buffer-modified-p nil)
      (message "Finding changes...")
      (let* ((tip (vc-working-revision (car files)))
             ;; FIXME: `previous-revision' should take the fileset.
@@@ -2549,14 -2509,14 +2553,14 @@@ tip revision are merged into the workin
                    (and file (member file files))))))
        (dolist (file files)
        (if (vc-up-to-date-p file)
 -          (vc-checkout file nil t)
 +          (vc-checkout file t)
          (vc-maybe-resolve-conflicts
           file (vc-call-backend backend 'merge-news file)))))
       ;; For a locking VCS, check out each file.
       ((eq (vc-checkout-model backend files) 'locking)
        (dolist (file files)
        (if (vc-up-to-date-p file)
 -          (vc-checkout file nil t))))
 +          (vc-checkout file t))))
       (t
        (error "VC update is unsupported for `%s'" backend)))))
  
@@@ -2678,7 -2638,7 +2682,7 @@@ backend to NEW-BACKEND, and unregister 
          (when modified-file
            (vc-switch-backend file new-backend)
            (unless (eq (vc-checkout-model new-backend (list file)) 'implicit)
 -            (vc-checkout file t nil))
 +            (vc-checkout file))
            (rename-file modified-file file 'ok-if-already-exists)
            (vc-file-setprop file 'vc-checkout-time nil)))))
      (when move
      (when (or move edited)
        (vc-file-setprop file 'vc-state 'edited)
        (vc-mode-line file new-backend)
 -      (vc-checkin file new-backend nil comment (stringp comment)))))
 -
 -(defun vc-rename-master (oldmaster newfile templates)
 -  "Rename OLDMASTER to be the master file for NEWFILE based on TEMPLATES."
 -  (let* ((dir (file-name-directory (expand-file-name oldmaster)))
 -       (newdir (or (file-name-directory newfile) ""))
 -       (newbase (file-name-nondirectory newfile))
 -       (masters
 -        ;; List of potential master files for `newfile'
 -        (mapcar
 -         (lambda (s) (vc-possible-master s newdir newbase))
 -         templates)))
 -    (when (or (file-symlink-p oldmaster)
 -            (file-symlink-p (file-name-directory oldmaster)))
 -      (error "This is unsafe in the presence of symbolic links"))
 -    (rename-file
 -     oldmaster
 -     (catch 'found
 -       ;; If possible, keep the master file in the same directory.
 -       (dolist (f masters)
 -       (when (and f (string= (file-name-directory (expand-file-name f)) dir))
 -         (throw 'found f)))
 -       ;; If not, just use the first possible place.
 -       (dolist (f masters)
 -       (and f (or (not (setq dir (file-name-directory f)))
 -                  (file-directory-p dir))
 -            (throw 'found f)))
 -       (error "New file lacks a version control directory")))))
 +      (vc-checkin file new-backend comment (stringp comment)))))
  
  ;;;###autoload
  (defun vc-delete-file (file)
diff --combined nt/ChangeLog
index ae292add9c6a7d54a93a30538fd5a9a17484423a,e657e2b2a03425d8ab28a899819d1db1129762ef..6f9056275236277b2ce36acb141628fcd7279f8c
@@@ -8,25 -8,9 +8,25 @@@
  
        * nt/preprep.c: Use it.
  
 -2014-10-31  Eric S. Raymond  <esr@thyrsus.com>
 +2014-11-24  Glenn Morris  <rgm@gnu.org>
  
 -      * Neutralize language specific to a repository type.
 +      * Makefile.in (../src/emacs.res): New target.
 +
 +2014-11-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs.rc.in, emacsclient.rc.in: Rename from emacs.rc, emacsclient.rc.
 +      Let configure generate the real files, and set the version numbers.
 +      * Makefile.in (distclean): Delete *.rc.
 +      (emacs.res): Update deps for nt/emacsclient.rc now being in the
 +      build directory, not the source directory.
 +
 +      * Makefile.in (emacs.res): Add dependency on icons/hand.cur.
 +
 +2014-11-18  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (addpm${EXEEXT}, ddeclient${EXEEXT})
 +      (cmdproxy${EXEEXT}, runemacs${EXEEXT}, emacs.res):
 +      Use automatic variables.
  
  2014-10-26  Dani Moncayo <dmoncayo@gmail.com>
  
        the top level.
        (Setting up Emacs): Minor rewording to be more accurate.
  
 +2014-10-25  Eric S. Raymond  <esr@thyrsus.com>
 +
 +      * Neutralize language specific to a repository type.
 +
 +2014-10-22  Noam Postavsky  <npostavs@users.sourceforget.net>
 +
 +      * nt/cmdproxy.c (batch_file_p): New function.
 +      (spawn): If calling a quoted batch file pass NULL for progname.
 +      (Bug#18745)
 +
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in (VERSION): Bump version to 25.0.50.
 +
 +      * emacsclient.rc: Bump version to 25.0.50.
 +
 +      * emacs.rc: Bump version to 25.0.50.
 +
 +      * config.nt (VERSION): Bump version to 25.0.50.
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * gnulib.mk: Synchronize with lib/gnulib.mk.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (LDFLAGS): Explicitly set via configure.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (CPPFLAGS): Define.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (bootstrap-clean): New.
 +
 +2014-06-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * inc/ms-w32.h (POLL_FOR_INPUT): Define with HAVE_WINDOW_SYSTEM.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (DONT_INSTALL): Now empty.
 +      (addsection${EXEEXT}): Remove target.
 +      * addsection.c: Remove file.
 +
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      * inc/ms-w32.h: Switch to the system heap allocation scheme
 +      instead of GNU malloc and ralloc.
 +
 +      * inc/sys/mman.h: New file.
 +
 +      * INSTALL: Update for the new build requirements.
 +
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume C99 or later (Bug#17487).
 +      * gnulib.mk: Remove stdarg and stdbool modules.
 +
 +2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't require pkg-config when building from repository.
 +      * INSTALL: Remove no-longer-needed notes about pkg-config.
 +
 +2014-05-05  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * INSTALL: Update to the effect that pkg-config is now required
 +      for building from the repository.
  
 -2014-04-26  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
        * cmdproxy.c (make_absolute): Don't copy more characters from PATH
        than a single directory name can hold.  (Bug#17334)
  
 -2014-04-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-22  Eli Zaretskii  <eliz@gnu.org>
  
        * inc/ms-w32.h (lseek): Define only if not already a macro.
        Suggested by Fabrice Popineau <fabrice.popineau@gmail.com>.
  
 -2014-04-09  Ken Brown  <kbrown@cornell.edu>
 +2014-04-11  Ken Brown  <kbrown@cornell.edu>
  
        * emacs.rc: Revert last change.
  
 -2014-04-03  Ken Brown  <kbrown@cornell.edu>
 +2014-04-07  Ken Brown  <kbrown@cornell.edu>
  
        * emacs.rc: Don't use manifest on Cygwin.  (Bug#17176)
  
        * config.nt (HAVE_FACES): Remove, unused.
  
  2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
-             Eli Zaretskii  <eliz@gnu.org>
+           Eli Zaretskii  <eliz@gnu.org>
  
        * nmake.defs (FONT_CFLAGS):
        * gmake.defs (FONT_CFLAGS): Remove.
        * config.nt: Remove reference to UNEXEC_SRC.
  
  2008-06-23  Juanma Barranquero  <lekktu@gmail.com>
-             Eli Zaretskii  <eliz@gnu.org>
+           Eli Zaretskii  <eliz@gnu.org>
  
        * gmake.defs (DEBUG_FLAG, DEBUG_LINK) [!NODEBUG]:
        Don't hardcode -gstabs+, use DEBUG_INFO.
diff --combined src/ChangeLog
index dcb4666e1066f55347dc84e6abb0491a2b54c66e,5ecb0220026e7bfd5eff020dd589e956d591b508..ed111bf381415c3dc85f2ad348dab967893abab0
@@@ -1,9 -1,21 +1,32 @@@
 -2014-11-27  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * xdisp.c (handle_single_display_spec): When ignoring a fringe
+       bitmap display, reset the ignore_overlay_strings_at_pos_p flag.
+       (next_element_from_buffer): When done with overlays, reset the
+       ignore_overlay_strings_at_pos_p flag.  (Bug#19201)
 -2014-11-25  Eli Zaretskii  <eliz@gnu.org>
++2014-11-29  Eli Zaretskii  <eliz@gnu.org>
+       * w32fns.c (Fw32_shell_execute): Convert forward slashes in
+       DOCUMENT to backslashes, if DOCUMENT is a file.  (Bug#19141)
 -2014-11-25  Ulrich Müller  <ulm@gentoo.org>
++2014-11-29  Ulrich Müller  <ulm@gentoo.org>
+       * Makefile.in (temacs$(EXEEXT)): Use consistent flag settings
+       for paxctl and setfattr. Fixes temacs startup failure with
+       grsecurity/PaX enabled Linux kernel (bug#19067).
++2014-11-29  Ulf Jasper  <ulf.jasper@web.de>
++
++      * nsterm.m (ns_send_appdefined): Check for application defined
++      event on Cocoa (Bug#18993).  Backport from trunk.
++
 +2014-11-27  Oscar Fuentes  <ofv@wanadoo.es>
 +
 +      * src/w32.c: Use MINGW_W64 instead of _W64.
 +
 +      * src/w32heap.c: Likewise.
 +
  2014-11-17  Oscar Fuentes  <ofv@wanadoo.es>
  
        * src/w32.c: Use MINGW_W64 instead of _W64.
  
        * frame.c (Fhandle_switch_frame): Deactivate shift-region (bug#19003).
  
 -2014-11-15  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * nsterm.m (ns_send_appdefined): Check for application defined
 -      event on Cocoa (Bug#18993).  Backport from trunk.
 +      * gnutls.c (gnutls_ip_address_p): New function.
 +      (Fgnutls_boot): Only send SNI if the host name is not an IP address.
 +
 +2014-11-26  Toke Høiland-Jørgensen  <toke@toke.dk>  (tiny change)
 +
 +      * gnutls.c (Fgnutls_boot): Send the server name over (bug#18208).
 +
 +2014-11-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix gnutls problems caught by static checking.
 +      * gnutls.c (Fgnutls_boot): Remove unused local.
 +      (Fgnutls_boot): Fix pointer signedness.
 +
 +2014-11-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnutls.c (gnutls_certificate_details): Don't include certain
 +      certificate details on older gnutls versions (bug#19168).
 +      (syms_of_gnutls): Export gnutls_peer_status_warning_describe.
 +      (gnutls_certificate_details): Reversed check in last checkin.
 +
 +2014-11-25  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.c (Fgnutls_peer_status): Check GNUTLS_INITSTAGE, not gnutls_p.
 +      (Fgnutls_peer_status_warning_describe): Add function to describe a
 +      peer verification warning symbol.
 +      (Fgnutls_peer_status): Use it.
 +      (Fgnutls_boot): Use it.  Minor logging fixes.
 +
 +2014-11-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnutls.c: Fix compilation warnings given fix --enable-gcc-warnings.
 +
 +2014-11-24  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs.c (main) <--version>: Make use of PACKAGE_NAME.
 +
 +      * Makefile.in (emacs.res): Use ../nt rule, rather than duplicating it.
 +      (ntsource, WINDRES, EMACS_MANIFEST): Remove, now unused.
 +
 +2014-11-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnutls.c: Fix Windows function definition of
 +      gnutls_x509_crt_get_fingerprint.
 +
 +      * gnutls.c: Fix Windows return value for gnutls_pk_algorithm_get_name.
 +
 +      * gnutls.c (Fgnutls_boot): Save certificate for later inspection.
 +
 +      * process.h: Added more fields to Lisp_Process to track
 +      certificate details.
 +
 +      * gnutls.c (gnutls_hex_string, gnutls_certificate_details)
 +      (Fgnutls_peer_status): New functions to export TLS certificate
 +      details to Emacs Lisp.
 +
 +2014-11-23  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (gtk_adjustment_configure): Define for Gtk+ < 2.14.
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb): Remove wrong version
 +      check for gtk_adjustment_configure (Bug#19149).
 +      (gtk_adjustment_configure): Don't use 2.14 functions (Bug#19149).
  
 -2014-11-15  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (emacs.res): Add dependency on icons/hand.cur.  Use $<.
 +
 +2014-11-22  Martin Rudalics  <rudalics@gmx.at>
 +
 +      Don't shrink frame when using desktop-save-mode (Bug#19048).
 +      * w32fns.c (x_set_tool_bar_lines): Always call
 +      x_change_tool_bar_height (Bug#19048).
 +      (x_change_tool_bar_height): Mark frame as garbaged since
 +      adjust_frame_size might not have done that.
 +      * xfns.c (x_set_tool_bar_lines): Always call
 +      x_change_tool_bar_height (Bug#19048).
 +      (x_change_tool_bar_height): Mark frame as garbaged since
 +      adjust_frame_size might not have done that.
 +
 +2014-11-21  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * xml.c (parse_region): Take care of new optional parameter
 +      'discard-comments' of 'libxml-parse(html|xml)-region'.
 +      (Flibxml_parse_html_region, Flibxml_parse_xml_region): New
 +      optional parameter 'discard-comments'.
 +
 +2014-11-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve time stamp handling, and be more consistent about it.
 +      * editfns.c (invalid_time): New function.
 +      Use it instead of 'error ("Invalid time specification")'.
 +      (time_add, time_subtract, time_arith, Ftime_add, Ftime_less_p)
 +      (decode_float_time, lisp_to_timespec, lisp_time_struct):
 +      New functions.
 +      (make_time_tail, make_time): Remove.  All uses changed to use
 +      new functions or plain list4i.
 +      (disassemble_lisp_time): Return effective length if successful.
 +      Check that LOW is an integer, if it's combined with other components.
 +      (decode_time_components): Decode into struct lisp_time, not
 +      struct timespec, so that we can support a wide set of times
 +      regardless of whether time_t is signed.  Decode plain numbers
 +      as seconds since the Epoch, and nil as the current time.
 +      (lisp_time_argument, lisp_seconds_argument, Ffloat_time):
 +      Reimplement in terms of new functions.
 +      (Fencode_time): Just use list2i.
 +      (syms_of_editfns): Add time-add, time-subtract, time-less-p.
 +      * keyboard.c (decode_timer): Don't allow the new formats (floating
 +      point or nil) in timers.
 +      * systime.h (LO_TIME_BITS): New constant.  Use it everywhere in
 +      place of the magic number '16'.
 +      (struct lisp_time): New type.
 +      (decode_time_components): Use it.
 +      (lisp_to_timespec): New decl.
 +
 +2014-11-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * intervals.h (INTERVAL_WRITABLE_P): Check the `inhibit-read-only'
 +      text property.
 +
 +      * callint.c (Fcall_interactively): Pass in nil as argument to
 +      Fbarf_if_buffer_read_only.
 +
 +      * fileio.c (Finsert_file_contents): Ditto.
 +
 +      * insdel.c (prepare_to_modify_buffer_1): Pass start region in.
 +
 +      * textprop.c (verify_interval_modification): Check buffer
 +      readedness after the last interval.
 +
 +      * buffer.c (Fbarf_if_buffer_read_only): Don't raise an error if
 +      the text at POSITION (new optional argument) has the
 +      `inhibit-read-only' text property set.
 +
 +2014-11-16  Eli Zaretskii  <eliz@gnu.org>
  
        * window.c (window_scroll_pixel_based): Avoid truncation/rounding
        errors in computing the number of pixels to scroll.  Suggested by
        Kelly Dean <kelly@prtime.org>.  (Bug#19060)
  
 -2014-11-15  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-16  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsmenu.m (update_frame_tool_bar): If tool bar changes height,
        call updateFrameSize.
  
        * nsterm.m (setFrame:): Remove call to display (Bug#18757).
  
 -2014-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-16  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsfns.m (x_set_foreground_color, x_set_background_color)
        (x_set_cursor_color, Fxw_color_values): Block/unblock input,
        use SET_FRAME_GARBAGED instead of redraw_frame (Bug#19036).
  
 -2014-11-09  Eli Zaretskii  <eliz@gnu.org>
 +2014-11-15  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (ns_send_appdefined): Check for application defined
 +      event on Cocoa (Bug#18993).
 +      (run): Restore code before the previous 18993 fix.
 +
 +2014-11-14  David Reitter  <david.reitter@gmail.com>
 +
 +      * nsterm.m (run): Set timeout for event loop to prevent hang.
 +      (Bug#18993)
 +
 +2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * .gitignore: Add emacs-[1-9]*, to ignore files like emacs-25.0.50.1.
 +
 +2014-11-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfont.c (xfont_list_pattern): Do not allocate font entity object
 +      for each candidate font but attempt to reuse it from previous improper
 +      candidate, if any.
 +
 +2014-11-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid undefined behavior in color table hashing.
 +      * image.c (CT_HASH_RGB) [COLOR_TABLE_SUPPORT]: Remove, replacing with ...
 +      (ct_hash_rgb) [COLOR_TABLE_SUPPORT]: New function.  All uses changed.
 +      This function avoids undefined behavior with signed shift overflow.
 +
 +2014-11-10  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Finsert_file_contents): Invalidate buffer caches also
        when the inserted text does not need decoding.  (Bug#18982)
  
 -      * w32heap.c (allocate_heap): Set the lower limit of heap at 8MB.
 -      (Bug#18995)
 -
 -2014-11-09  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-10  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.h (EmacsScroller): judge returns bool.
  
        (judge): Returns bool == condemned.  Remove self from window.
        (setPosition:portion:whole:): Remove raise SIGIO (Bug#18757).
  
 +2014-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c (command_loop_1): Record this-command in recent-keys.
 +      (Frecent_keys): Rewrite. and add optional `include-cmds' arg.
 +
 +2014-11-09  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (ns_set_vertical_scroll_bar)
 +      (ns_set_horizontal_scroll_bar): Cleanup merge error.
 +
 +2014-11-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xgselect.c (xg_select): Don't assume n_gfds is nonnegative
 +      merely because tmo_in_millisec is nonnegative.  The 1st call
 +      to g_main_context_query could succeed while the 2nd one fails.
 +
 +      * frame.c (Fcan_run_window_configuration_change_hook): Return a value.
 +
  2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * nsterm.m (init): Replace OSX 10.9 check with IMPL_COCOA.
 -      (run): Ditto.  Only use non-system event loop if OSX version is
 +      * nsterm.m (run): Only use non-system event loop if OSX version is
        exactly 10.9 (Bug#18993).
        (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
        needed (Bug#18757).
  
 -2014-11-07  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * callproc.c (encode_current_directory): Support handling of file
        names prepended by "/:".  (Bug#18891)
  
 -2014-11-06  Alan Mackenzie  <acm@muc.de>
 +2014-11-08  Alan Mackenzie  <acm@muc.de>
  
        * syntax.c (back_comment): Fix off-by-one error (bug#18022).
  
 -2014-11-06  Dima Kogan  <dima@secretsauce.net>
 +2014-11-08  Dima Kogan  <dima@secretsauce.net>
  
        * xgselect.c (xg_select): Use g_main_context_acquire (bug#18861).
  
 -2014-11-05  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * dired.c (Ffile_attributes): Return Qnil, if Fexpand_file_name
        raises an error.  (Bug#18891)
  
 +2014-11-08  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (adjust_frame_size): Call x_set_window_size only if
 +      f->can_x_set_window_size is set.
 +      (make_frame): Initialize f->can_x_set_window_size and
 +      f->can_run_window_configuration_change_hook.
 +      (Fcan_run_window_configuration_change_hook): New function.
 +      * frame.h (frame): Split `official' into `can_x_set_window_size'
 +      and `can_run_window_configuration_change_hook'.
 +      * nsfns.m (Fx_create_frame): Set f->can_x_set_window_size.
 +      * w32fns.c (Fx_create_frame, x_create_tip_frame): Set
 +      f->can_x_set_window_size.
 +      * window.c (run_window_configuration_change_hook): Return
 +      immediately if either f->can_x_set_window_size or
 +      f->can_run_window_configuration_change_hook are false.
 +      (Fset_window_configuration): Instead of f->official set
 +      f->can_x_set_window_size.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame): Set
 +      f->can_x_set_window_size.
 +
 +2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (EmacsScroller.dealloc): Reinstate, removed at merge
 +      cleanup from 2014-11-01 (Bug#18972).
 +
 +2014-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c: Call gui-set-selection instead of x-set-selection.
 +      * xdisp.c (window-scroll-functions): Improve docstring.
 +
 +2014-11-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Uniquify the 'size' symbol.
 +      * frame.c (Qsize):
 +      * w32notify.c (Qsize): Remove.
 +      * lisp.h (Qsize): New decl.
 +      * lread.c (Qsize): Now extern.
 +      * w32notify.c (syms_of_w32notify): No need to defsym.
 +
 +2014-11-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * dispnew.c (change_frame_size_1): Fix call of
 +      adjust_frame_size.
 +      * frame.c (Qsize, Qframe_position, Qframe_outer_size)
 +      (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
 +      (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
 +      (Qtool_bar_size): New constants.
 +      (frame_inhibit_resize, adjust_frame_size): New argument to
 +      handle case where frame_inhibit_implied_resize is a list.
 +      (Fmake_terminal_frame, Fset_frame_height, Fset_frame_width)
 +      (Fset_frame_size, x_set_left_fringe, x_set_right_fringe)
 +      (x_set_right_divider_width, x_set_bottom_divider_width)
 +      (x_set_vertical_scroll_bars, x_set_horizontal_scroll_bars)
 +      (x_set_scroll_bar_width, x_set_scroll_bar_height):
 +      Update callers.
 +      (frame-inhibit-implied-resize): Rewrite doc-string.
 +      * frame.h (frame_inhibit_resize, adjust_frame_size):
 +      Fix external declarations.
 +      (Qframe_position, Qframe_outer_size)
 +      (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
 +      (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
 +      (Qtool_bar_size): Extern them.
 +      * gtkutil.c (FRAME_TOTAL_PIXEL_HEIGHT, FRAME_TOTAL_PIXEL_WIDTH)
 +      (xg_height_or_width_changed): Remove.
 +      (xg_frame_set_char_size): Adjust adjust_frame_size calls.
 +      (menubar_map_cb, xg_update_frame_menubar, free_frame_menubar)
 +      (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
 +      (xg_change_toolbar_position): Call adjust_frame_size directly.
 +      * nsfns.m (x_set_internal_border_width, Fx_create_frame):
 +      Fix calls of adjust_frame_size.
 +      * w32fns.c (x_set_internal_border_width, x_set_menu_bar_lines)
 +      (Fx_create_frame, x_create_tip_frame): Adjust adjust_frame_size calls.
 +      (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
 +      frame can get resized when tool-bar-lines parameter changes from
 +      or to zero.
 +      (Fw32_frame_menu_bar_size): Return fourth value.
 +      (Fw32_frame_rect): Block input around system calls
 +      (Fx_frame_geometry): New function.
 +      * w32menu.c (set_frame_menubar): Adjust adjust_frame_size call.
 +      * w32term.c (x_new_font): Adjust adjust_frame_size call.
 +      * widget.c (EmacsFrameSetCharSize): Adjust frame_inhibit_resize call.
 +      * window.c (Fset_window_configuration): Adjust adjust_frame_size call.
 +      * xfns.c (x_set_menu_bar_lines, x_set_internal_border_width)
 +      (Fx_create_frame): Adjust adjust_frame_size calls.
 +      (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
 +      frame can get resized when tool-bar-lines parameter changes from
 +      or to zero.
 +      (Fx_frame_geometry): New function.
 +      * xmenu.c (update_frame_menubar): On Lucid call
 +      adjust_frame_size with one pixel less height to avoid that
 +      repeatedly adding/removing the menu bar grows the frame.
 +      (free_frame_menubar): On Motif arrange to optionally preserve
 +      the old frame height when removing the menu bar.
 +      * xterm.c (x_new_font): Adjust adjust_frame_size call.
 +
  2014-11-03  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (Fdump_glyph_matrix, Fdump_frame_glyph_matrix): Doc fix.
  
        * nsfns.m (ns_set_doc_edited): Check for FRAME_NS (Bug#18925).
  
 -2014-10-31  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-11-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsimage.m (allocInitFromFile:): Initialize bmRep.
 +      (dealloc): Release bmRep.
 +
 +      * nsterm.h (EmacsImage): Remove imageListNext, refCount, reference,
 +      imageListSetNext, imageListNext.
 +
 +      * nsimage.m (ImageList, imageListNext, imageListSetNext:)
 +      (reference): Remove.
 +      (allocInitFromFile:): Remove searching ImageList and calling
 +      reference (Bug#18918).
 +      (dealloc): Remove handling if ImageList.
 +
 +2014-11-02  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * process.c (catch_child_signal): Fix incorrect assertion.
  
 -      * macfont.m (macfont_glyph_extents): Turn off syntetic bold
 +2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * macfont.m (macfont_draw):
 +      * nsterm.m (ns_mouse_position, judge): Clean up merge conflict.
 +
 +      * macfont.m (macfont_glyph_extents): Turn off synthetic bold
        if force_integral_p (i.e. no antialias).
 -      (macfont_draw): Check ns_antialias_text, also turn off syntetic
 +      (macfont_draw): Check ns_antialias_text, also turn off synthetic
        bold if no antialias (Bug#18876).
  
        * emacs.c (main): Don't chdir to $HOME on Cocoa if --chdir
        was given (Bug#18846).
  
 -2014-10-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
        * nsterm.h (ns_set_doc_edited): Declare taking no args.
  
        * nsfns.m (ns_set_doc_edited): Do all logic (check frames) here
        (getMouseMotionPart:window:x:y:): Remove, unused.
        (sendScrollEventAtLoc:fromEvent:): Make Lisp_Object win from window.
  
 -2014-10-30  Samuel Bronson  <naesten@gmail.com>
 +2014-11-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * unexmacosx.c (copy_data_segment): Port to GCC 4.6+ (Bug#9927).
 +      * keyboard.c (readable_events): When FLAGS include
 +      READABLE_EVENTS_FILTER_EVENTS, ignore BUFFER_SWITCH_EVENT events.
 +      This avoids returning non-nil from input-pending-p when only such
 +      events are in the queue.  (Bug#18856)
 +
 +2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsselect.m (QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME)
 +      (NXPrimaryPboard, NXSecondaryPboard): Declare static.
 +      (Qforeign_selection): Remove.
 +      (ns_get_local_selection): Identation fix.
 +      (syms_of_nsselect): Remove Qforeign_selection, ns-lost-selection-hooks
 +
 +      * nsselect.m (ns_get_local_selection): Remove calling of
 +      functions in Vselection_converter_alist (Bug#18911).
 +      (syms_of_nsselect): Remove Vselection_converter_alist.
 +
 +2014-10-31  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2014-10-28  Eli Zaretskii  <eliz@gnu.org>
 +      * font.c (copy_font_spec): Redesign to avoid Fcopy_alist
 +      and unnecessary initialization.  Adjust comments.
 +
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_cache_reset_to): Invalidate bidi_cache_last_idx by
 +      setting it to -1.
 +      (bidi_find_bracket_pairs): Pass to bidi_cache_reset_to a relative
 +      index, not an absolute one, as that's what the function expects.
 +
 +2014-10-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to realize
 +      font on an initial frame when running as a daemon (Bug#18869).
 +
 +      * fontset.c (toplevel): Adjust comment to match 2014-06-19 change.
 +
 +2014-10-30  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Fexpand_file_name): Use make_unibyte_string, not
        build_string, when importing a home directory.  (Bug#18873)
  
 -2014-10-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispnew.c (buffer_posn_from_coords): Use
 -      WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
 +      * dispnew.c (buffer_posn_from_coords):
 +      Use WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
        account for the header-line height.  (Bug#18839)
  
 -2014-10-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-10-28  Ulf Jasper  <ulf.jasper@web.de>
  
 -      * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
 -      [Backport]
 -      (erase_phys_cursor): Fix confusion between window-relative and
 -      text area-relative x-coordinates.  [Backport]
 +      * xml.c (parse_region): Do not forget the first document child.
  
 -2014-10-20  Glenn Morris  <rgm@gnu.org>
 +2014-10-25  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * minibuf.c (history-length): Increase default from 30 to 100.
 -      [Backport]
 +      * nsselect.m: pasteboard_changecount is new.
 +      (ns_store_pb_change_count, ns_get_pb_change_count)
 +      (ns_get_our_change_count_for): New functions.
 +      (ns_string_to_pasteboard_internal): Correct comment.
 +      type => gtype in eassert, Call ns_store_pb_change_count.
 +      (Fns_own_selection_internal): Remove data, use value (Bug#18799).
 +      (Fns_disown_selection_internal, Fns_selection_owner_p):
 +      Replace Vselection_alist check, with change count check.
 +      (Fns_get_selection): Initialize val to Qnil.  Only get local
 +      selection if change counts match (Bug#18799).
 +      (nxatoms_of_nsselect): Initialize pasteboard_changecount.
 +
 +2014-10-25  Noam Postavsky  <npostavs@users.sourceforget.net>
 +
 +      * src/w32proc.c (create_child): If calling a quoted batch file,
 +      pass NULL for exe.  (Bug#18745)
 +
 +2014-10-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_resolve_explicit, bidi_find_bracket_pairs)
 +      (bidi_resolve_brackets): Use end of string position rather than ZV
 +      when iterating over a string.  (Bug#18815)
 +
 +2014-10-24  Martin Rudalics  <rudalics@gmx.at>
  
 -2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * keyboard.c (make_lispy_position): Return coordinates also when
 +      on scroll bars, fringes, margins or not in a window.
 +      * xdisp.c (show_mouse_face): Don't change cursor face during
 +      mouse tracking.
 +
 +2014-10-23  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size)
 +      (frame_resize_pixelwise, frame_inhibit_implied_resize):
 +      Fix doc-strings (Bug#18789).
 +
 +2014-10-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (ACLOCAL_INPUTS): Omit unnecessary use of 'wildcard'.
 +
 +2014-10-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Optimize redisplay of simple bracketed text.
 +      * bidi.c (bidi_cache_reset_to): New function.
 +      (bidi_cache_reset): Call it.
 +      (bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos
 +      member to -1.
 +      (bidi_resolve_explicit): Reset bracket_pairing_pos and
 +      bracket_enclosed_type only if bracket_pairing_pos's value is not
 +      ZV.
 +      (MAX_BPA_STACK): Make sure the value is signed.
 +      (PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but
 +      stop pushing values onto the stack.
 +      (bidi_find_bracket_pairs): If the bracketed text is only on the
 +      base embedding level, remove all the states cached by this
 +      function from the cache, and return zero, so that the brackets in
 +      this segment of text are processed as normal neutrals.
 +      (bidi_resolve_brackets): Detect the brackets that are to be
 +      processed as neutrals, and don't call bidi_find_bracket_pairs on
 +      them.  (Bug#18778)
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * w32select.c (Fw32_selection_exists_p): Rename from
 +      Fx_selection_exists_p.
 +      (syms_of_w32select): Adjust accordingly.
 +
 +      * w16select.c (Fw16_selection_exists_p): Rename from
 +      Fx_selection_exists_p.
 +      (syms_of_win16select): Adjust accordingly.
 +
 +      * nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
 +      (Fns_own_selection_internal): Tighten scoping.
 +      (Fns_selection_exists_p): Rename from Fx_selection_exists_p.
 +      (Fns_get_selection): Rename from Fx_get_selection_internal.
 +      (Fns_get_selection_internal, Fns_store_selection_internal):
 +      Remove functions.
 +      (syms_of_nsselect): Adjust accordingly.
 +
 +2014-10-21  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32fns.c (Fw32_frame_menu_bar_size): New function.
 +      * w32term.c (x_set_window_size): Account for wrapped menu bar
 +      lines when setting up frame height (Bug#15174 and Bug#18720).
 +      (w32_add_wrapped_menu_bar_lines): New variable.
 +
 +2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xdisp.c (redisplay_window): Re-run pre-redisplay-function after we
        move point.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (xg_update_menubar, xg_update_menu_item): Only call
 +      g_object_notify for label if Gtk+ >= 2.16 (Bug#16522).
 +
 +      * xterm.h (x_output): Remove net_wm_state_hidden_seen.
 +
 +      * xterm.c (handle_one_xevent): Check return value from
 +      x_handle_net_wm_state, remove net_wm_state_hidden_seen (Bug#18722).
 +      (get_current_wm_state): Remove net_wm_state_hidden_seen setting.
 +
 +      * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on
 +      Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674).
 +      (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
 +      Gtk+ >= 3.14 (Bug#18674).
 +      (update_frame_tool_bar): Don't use  gtk_misc_set_padding on
 +      Gtk+ >= 3.14 (Bug#18674).
 +
 +2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * gtkutil.c: Remove no-longer-used code.
 +      (xg_update_menubar): Remove unused local and unnecessary call to
 +      gtk_menu_item_get_submenu.
 +      (XG_TOOL_BAR_PROXY_BUTTON, xg_tool_bar_proxy_callback)
 +      (xg_get_tool_bar_widgets, xg_tool_bar_proxy_help_callback)
 +      (TOOLBAR_TOP_WIDGET): Remove; no longer used.
 +
 +2014-10-18  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar.
 +
 +      * xterm.h (handlebox_widget): Remove.
 +
 +      * xmenu.c (set_frame_menubar): Remove GTK block that calls
 +      xg_have_tear_offs.
 +
 +      * gtkutil.h (xg_have_tear_offs): Remove declaration.
 +
 +      * gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
 +      to handle Gtk versions.
 +      (xg_get_file_with_chooser): Use them.
 +      (xg_have_tear_offs, tearoff_remove, tearoff_activate):
 +      Remove (create_menus): Remove teroff argument and code.
 +      Remove call to gtk_menu_set_title.
 +      (xg_update_menubar, xg_update_submenu): Remove tearoff code.
 +      Adjust args to create_menus.
 +      (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
 +      (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
 +      (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
 +      (xg_make_tool_item): Remove detach code.
 +      (xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
 +      (find_icon_from_name): New function.
 +      (update_frame_tool_bar): Remove GtkStockItem code, move to
 +      find_icon_from_name.  Let stock be a list of icon names to try.
 +      Only use gtk_image_new_from_stock on Gtk+ < 3.10.
 +      Replace TOOLBAR_TOP_WIDGET.
 +      (free_frame_tool_bar, xg_change_toolbar_position ):
 +      Replace TOOLBAR_TOP_WIDGET.
 +      (xg_initialize): Remove tearoff code.
 +
 +2014-10-18  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xterm.c (x_draw_bar_cursor, x_draw_hollow_cursor): Subtract 1
 +      pixel from the window's cursor glyph width, since X renders hollow
 +      blocks 1 pixel wider than the 'width' parameter.
 +
 +      * xdisp.c (get_phys_cursor_geometry): Don't subtract 1 pixel from
 +      glyph->pixel_width; this is now done in xterm.c.
 +
 +      Fix reordering of bracket characters in isolates.
 +      * bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to
 +      RESOLVED_ONLY; when non-zero, return from the cache only fully
 +      resolved states.  All callers changed.
 +      (CANONICAL_EQU): New macro.
 +      (PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical
 +      equivalent of the paired closing bracket character.
 +      (bidi_find_bracket_pairs): Set the bracket_pairing_pos member to
 +      the default non-negative value, to be checked later in
 +      bidi_resolve_brackets.  Use CANONICAL_EQU to test candidate
 +      characters against those pushed onto the BPA stack.
 +      (bidi_record_type_for_neutral): New function.
 +      (bidi_resolve_brackets): Record next_for_neutral and
 +      prev_for_neutral when embedding level gets pushed.  Force
 +      resolution of bracket pairs when entering a level run that was not
 +      yet BPA-resolved.
 +      (bidi_resolve_neutral): Add assertions before calling
 +      bidi_resolve_neutral_1.
 +      (bidi_level_of_next_char): Remove the code that attempted to
 +      resolve unresolved neutrals; that is now done by
 +      bidi_resolve_neutral.
 +
 +      * w32select.c (owner_callback): Mark with ALIGN_STACK attribute.
  
  2014-10-17  Eli Zaretskii  <eliz@gnu.org>
  
        Reported by Dmitry Antipov <dmantipov@yandex.ru>, see
        http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
  
 -2014-10-10  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-10-16  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_find_bracket_pairs): Avoid a loop that does nothing
 +      useful.
 +
 +2014-10-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c (bidi_find_bracket_pairs): Initialize local var.
 +      This pacifies GCC 4.9.1 with --enable-gcc-warnings.
 +      It's not clear to me whether the initialization is needed,
 +      but it can't hurt so I played it safe.
 +
 +2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
 +      * bidi.c (bidi_ignore_explicit_marks_for_paragraph_level):
 +      Remove variable.
 +      (bidi_get_type): Return the isolate initiators and terminator types.
 +      (bidi_isolate_fmt_char, bidi_paired_bracket_type)
 +      (bidi_fetch_char_skip_isolates, find_first_strong_char)
 +      (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
 +      (bidi_set_sos_type): Rename from bidi_set_sor_type and updated
 +      for the new features.
 +      (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
 +      push and pop correctly for isolates.
 +      (bidi_remember_char): Modify to accept an additional argument
 +      and record the bidi type according to its value.
 +      (bidi_cache_iterator_state): Accept an additional argument to only
 +      update an existing state.  Handle the new members of struct bidi_it.
 +      (bidi_cache_find): Arguments changed: no longer accepts a level,
 +      instead accepts a flag telling it whether it is okay to return
 +      unresolved neutrals.
 +      (bidi_initialize): Initiate and staticpro the bracket-type uniprop
 +      table.  Initialize new isolate-related members.
 +      (bidi_paragraph_init): Some code factored out into
 +      find_first_strong_char.
 +      (bidi_resolve_explicit_1): Function deleted, its code incorporated
 +      into bidi_resolve_explicit.
 +      (bidi_resolve_explicit): Support the isolate initiators and
 +      terminator.  Fix handling of embeddings and overrides according to
 +      new UBA requirements.  Record information about previously seen
 +      characters here (moved from bidi_level_of_next_char).
 +      (bidi_resolve_weak): Adapt to changes in struct members.
 +      (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
 +      (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
 +      (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
 +      paired bracket resolution.  Handle isolate initiators and
 +      terminator.
 +      (bidi_type_of_next_char): Remove unneeded code for BN limit.
 +      (bidi_level_of_next_char): Move the code that records information
 +      about previous characters to bidi_resolve_explicit.  Fix logic of
 +      resolving neutrals and make sure their cache entries are updated.
 +      Remove now unneeded special handling of PDF level.
 +
 +      * dispextern.h (struct glyph): Enlarge the width of resolved_level.
 +      (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
 +      enlarged per Unicode 6.3.
 +      (enum bidi_bracket_type_t): New data type.
 +      (struct bidi_saved_info): Leave only 2 type members out of 4.
 +      Remove bytepos.
 +      (struct bidi_stack): Add members necessary to support isolating
 +      sequences.
 +      (struct bidi_it): Add new members necessary to support isolating
 +      sequences and bracket pair resolution.
 +
 +      * xdisp.c (Fbidi_resolved_levels): New function.
 +      (syms_of_xdisp): Defsubr it.
 +      (append_glyph, append_composite_glyph, produce_image_glyph)
 +      (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
 +      assertions.
 +      (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
 +
 +      * term.c (append_glyph, append_composite_glyph)
 +      (append_glyphless_glyph): Convert aborts to assertions.
 +
 +      * .gdbinit (pgx): Display the character codepoint, resolved level,
 +      and bidi type also for glyphless glyphs.
 +
 +2014-10-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid unwanted point motion in Fline_beginning_position.
 +      * lisp.h (scan_newline_from_point): Add prototype.
 +      * search.c (scan_newline_from_point): New function, refactored from...
 +      * cmds.c (Fforward_line): ...adjusted user.
 +      * editfns.c (Fline_beginning_position): Use scan_newline_from_point
 +      and simplify the former since the latter doesn't move point.
 +
 +2014-10-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Cleanup terminal handling code.
 +      * dispextern.h (get_named_tty): Remove prototype but...
 +      * termhooks.h (get_named_terminal): ...resurrect it under
 +      more meaningful name.
 +      (get_terminal): Likewise, but with...
 +      (decode_live_terminal): ...this name.
 +      (decode_tty_terminal): Add prototype.
 +      * term.c (get_tty_terminal): Remove.
 +      (get_named_tty): Remove.
 +      (Ftty_display_color_p, Ftty_display_color_cells, Ftty_type)
 +      (Fcontrolling_tty_p, Fsuspend_tty, Fresume_tty):
 +      Use decode_tty_terminal.
 +      (Ftty_no_underline, Ftty_top_frame): Use decode_live_terminal.
 +      * terminal.c (get_terminal): Refactor to...
 +      (decode_terminal, decode_live_terminal): ...new functions.
 +      (decode_tty_terminal): Replacement for get_tty_terminal.
 +      (get_named_terminal): Likewise for get_named_tty.
 +      * coding.c (Fset_terminal_coding_system_internal)
 +      (Fterminal_coding_system, Fset_keyboard_coding_system_internal):
 +      (Fkeyboard_coding_system):
 +      * composite.c (Fcomposition_get_gstring):
 +      * dispnew.c (Fsend_string_to_terminal):
 +      * frame.c (Fmake_terminal_frame):
 +      * nsfns.m (check_ns_display_info):
 +      * w32fns.c, xfns.c (check_x_display_info):
 +      * xselect.c (frame_for_x_selection): Use decode_live_terminal.
 +      * keyboard.c (handle_interrupt_signal, handle_interrupt)
 +      (Fset_quit_char): Use get_named_terminal.
 +      (Fset_output_flow_control, Fset_input_meta_mode):
 +      Use decode_tty_terminal.
 +
 +2014-10-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.h (ALIGN_STACK): Use _WIN64, not _W64, to distinguish
 +      between 32-bit and 64-bit MinGW builds.  (Bug#18699)
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to Debian GNU/kFreeBSD 7 (wheezy) (Bug#18666).
        * process.c (accept4) [!HAVE_ACCEPT4]: New macro.
  
 -2014-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * frame.c (Fmouse_pixel_position): Call Vmouse_position_function
        (bug#18638).
  
 -2014-10-08  K. Handa  <handa@gnu.org>
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * editfns.c (dump_tz_string): No longer const.
 +      It might be modified.
 +
 +      * nsmenu.m (clear): Assume OS X 10.6 or later.
 +
 +2014-10-12  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * unexmacosx.c: Remove include ppc/reloc.h.
 +      (unrelocate, copy_dysymtab): Remove PPC code.
 +      (rebase_reloc_address): Remove, only used for PPC:
 +
 +      * nsterm.m: Always include macfont.h on COCOA.
 +      (ns_update_auto_hide_menu_bar, ns_draw_fringe_bitmap)
 +      (ns_dumpglyphs_image, ns_check_menu_open)
 +      (applicationDidFinishLaunching)
 +      (antialiasThresholdDidChange:)
 +      (keyDown:, toggleFullScreen:, setPosition:portion:whole:):
 +      Remove checks for OSX <= 10.5/10.6.
 +      (changeFont:): Use macfont on COCOA, nsfont on GNUSTEP.
 +      (syms_of_nsterm): Call syms_of_macfont on COCOA, syms_of_nsfont on
 +      GNUSTEP.
 +
 +      * nsterm.h (MAC_OS_X_VERSION_10_4, MAC_OS_X_VERSION_10_5): Remove.
 +      (NS_HAVE_NSINTEGER): Remove block.
 +      Remove >= OSX 10.6 tests.
 +
 +      * nsmenu.m (NSMenuDidBeginTrackingNotification): Remove.
 +      (x_activate_menubar, trackingNotification:): Remove check for
 +      OSX >= 10.5.
 +      (menuNeedsUpdate:): Remove check for OSX < 10.5.
 +
 +      * nsimage.m (allocInitFromFile:): Remove code for OSX < 10.6.
 +
 +      * nsfns.m: Always include macfont.h on COCOA.
 +      (ns_filename_from_panel, ns_directory_from_panel)
 +      (Fx_create_frame, Fns_popup_font_panel, ns_run_file_dialog)
 +      (Fns_read_file_name, Fns_list_services): Remove code for OSX < 10.6
 +
 +      * macfont.m: Remove >= 1050 check.
 +      (macfont_create_family_with_symbol)
 +      (macfont_get_glyph_for_character)
 +      (mac_font_get_glyphs_for_variants)
 +      (mac_ctfont_create_available_families, syms_of_macfont):
 +      Remove code for OSX < 10.6.
 +      (mac_font_family_group, mac_font_family_compare): Remove, only used
 +      for OSX < 10.6.
 +
 +      * macfont.h (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_FORMAT_BITMAP)
 +      (mac_font_copy_non_synthetic_table): Remove versions for OSX < 10.6
 +
 +      * Makefile.in: Replace nsfont.o macfont.o with ns_fontfile in
 +      comment.
 +
 +2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix putenv race conditions with undefined behavior (Bug#8705).
 +      Do all putenv calls before Emacs creates any threads.
 +      Use a safer way to modify the TZ environment variable in the
 +      presence of multiple threads.  For further thread-safety,
 +      prefer localtime_r and gmtime_r to localtime and gmtime,
 +      and prefer struct tm's tm_gmtoff (if available) to calling
 +      both localtime_r and gmtime_r.
 +      * dbusbind.c (Fdbus__init_bus): Move xputenv call from here ...
 +      (init_dbusbind): ... to this new function.
 +      * emacs.c (main) [HAVE_DBUS]: Call it before creating threads.
 +      * xterm.c (x_term_init): Move xputenv call from here ...
 +      (init_xterm): ... to this new function.
 +      * emacs.c (main) [USE_GTK]: Call it before creating threads.
 +      * editfns.c (HAVE_TM_GMTOFF): Default to false.
 +      (dump_tz_string): New constant.
 +      (init_editfns): Use it.  This centralizes the dump_tz stuff.
 +      Call set_time_zone_rule here, so that its xputenv is done
 +      before Emacs goes multithreaded.
 +      (mktime_z) [!HAVE_TZALLOC]: New function, which is typically
 +      thread-safe enough for Emacs.
 +      (format_time_string, Fdecode_time, Fcurrent_time_string)
 +      (Fcurrent_time_zone):
 +      Prefer localtime_r and gmtime_r, which are more thread-safe, to
 +      localtime and gmtime.  Remove now-unnecessary calls to block_input.
 +      (tm_gmtoff): New static function.
 +      (Fdecode_time, Fcurrent_time_zone): Use it.
 +      (Fencode_time): Use mktime_z, for better thread-safety.
 +      (set_time_zone_rule): Now static.  Rewrite to be mostly thread-safe,
 +      i.e., not quite thread-safe but good enough for Emacs typical usage.
 +      Do not reclaim storage that is in the environment; let it leak.
 +      Always call tzset, since localtime_r does not.
 +      * emacs.c (dump_tz, Fdump_emacs) [HAVE_TZSET]: Remove dump_tz stuff.
 +      This is now done in init_editfns.
 +      * systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]:
 +      New macros and declarations, for platforms lacking tzalloc & friends.
 +
 +2014-10-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (USE_STACK_STRING): Now true only if USE_STACK CONS.
 +      On x86 platforms this works around GCC bug 63495
 +      <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495>,
 +      and more generally should fix a portability problem in Emacs.
 +      Problem reported by Stefan Monnier in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      Enhance terpri to allow conditionally output a newline.  (Bug#18652)
 +      * keymap.c (describe_vector_princ):
 +      * keyboard.c (Fcommand_error_default_function): Adapt to change to
 +      Fterpri.
 +
 +      * print.c (printchar_stdout_last): Declare.
 +      (printchar): Record the last char written to stdout.
 +      (Fterpri): Add optional argument ENSURE.
 +
 +2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32inevt.c (maybe_generate_resize_event): Pass non-zero as the
 +      DELAY argument to change_frame_size, so that the frame size
 +      changes, if any are needed, are delayed until the next redisplay.
 +      This is to avoid a too early QUIT inside change_frame_size, when
 +      it calls Lisp in frame_windows_min_size, in case one of the events
 +      we've read sets the quit-flag.  (Bug#18649)
 +
 +      * w32fns.c (check_x_display_info): Accept terminal objects as
 +      argument, to follow what xfns.c does.
 +
 +2014-10-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(srcdir)/macuvs.h)
 +      ($(lispsource)/international/charprop.el): Add explicit FORCE.
 +
 +2014-10-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * decompress.c (init_zlib_functions): Move the message about zlib
 +      being unavailable from here...
 +      (Fzlib_decompress_region): ...to here.  (Bug#18650)
 +
 +2014-10-07  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.c (Ffont_get_glyphs): Use validate_subarray and fix
 +      the case where an optional string is used.  Adjust docstring.
 +
 +2014-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.mk (lisp): Remove w32-common-fns.elc.
 +
 +2014-10-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (Qleft, Qright): Remove duplicate definitions (Bug#9927).
 +      These were already defined in buffer.c, and the duplicate
 +      definitions cause problems on platforms like 'gcc -fno-common'.
 +      Reported by Peter Dyballa in: http://bugs.gnu.org/9927#137
 +
 +2014-10-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (updateFrameSize:): Only call update_frame_tool_bar
 +      if toolbar is visible.
 +
 +      * nsfont.m (nsfont_draw): Use CGFloat for GNUstep newer than
 +      0.23 (Bug#18030).
 +
 +      * nsterm.m (syms_of_nsterm): ns-use-fullscreen-animation is new.
 +      (toggleFullScreen:): Use ns-use-fullscreen-animation for animate.
 +      (ns_select, ns_read_socket): Use unwind_protect to decrease
 +      apploopnr (Bug#18345).
 +      (ns_draw_window_cursor): Adjust y for hbar cursor only if smaller than
 +      line height (Bug#17977).
 +
 +      * macfont.m: Fix indentation and import changes from macport 24.3.94.
 +      (macfont_closest_traits_index): New function.
 +      (macfont_closest_traits_index_p): Rename from
 +      macfont_closest_traits_index.
 +      (macfont_list): Use macfont_closest_traits_index_p.
 +
 +2014-10-05  K. Handa  <handa@gnu.org>
  
        * coding.c (detect_coding_iso_2022): Set coding->rejected
        correctly when an invalid escape sequence is found (Bug#18610).
  
 -2014-10-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-10-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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 an entity itself (Bug#17125).
 +      * gtkutil.c (create_menus): Only add tearoffs to empty menus.
 +      (xg_update_submenu): Remove has_tearoff_p, pass 1 to create_menus
 +      for add_tearoff_p.
  
 -2014-10-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-10-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c (scroll_bar_width, scroll_bar_height):
 +      Fix doc-strings.
 +      * window.c (Fset_window_scroll_bars): Fix doc-string.
 +      (Fwindow_scroll_bars): Have it return what the doc-string says.
 +
 +2014-10-03  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_by_lines): Call reseat_1 after moving the
        iterator backwards, to resync the bidi iterator.  (Bug#18584)
  
 -2014-10-01  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-10-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Consistently use min and max macros from lisp.h.
 +      * coding.c (min, max):
 +      * font.c (MAX):
 +      * unexhp9k800.c (min):
 +      * unexw32.c (min, max): Use definitions from lisp.h.
 +      * regex.c (MAX, MIN) [!emacs]: Define own max and min as such.
 +      Adjust users.
 +      * gmalloc.c (min): Tiny style change.
 +
 +      * fileio.c (emacs_readlinkat, Finsert_file_contents):
 +      * w32fns.c, xfns.c (x_create_tip_frame): Use AUTO_STRING.
 +
 +2014-10-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix x-focus-frame bug with "Not an in-range integer" (Bug#18586).
 +      * xselect.c (X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX, X_LONG_MIN)
 +      (X_ULONG_MAX): Move these macros to xterm.h.
 +      (x_fill_property_data): Be more generous about allowing either
 +      signed or unsigned data of the appropriate width.
 +      * xterm.h (x_display_set_last_user_time): New function.
 +      All setters of last_user_time changd to use this function.
 +      If ENABLE_CHECKING, check that the times are in range.
 +
 +2014-10-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (adjust_decode_mode_spec_buffer): Use 'int' instead of
 +      'ssize_t'.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
 +
 +2014-10-02  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to
        make a font_object from a tty frame (Bug#18573).
        (Finternal_set_lisp_face_attribute): Add FIXME comment.
  
 +2014-10-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (mark_overlay): Assume that overlay boundaries are
 +      always markers.  Add comment.
 +      * lread.c (read_internal_start): Use convenient validate_subarray.
 +      Adjust docstring.
 +      (Fread_from_string): Adjust docstring.
 +
 +2014-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * lisp.h: Fix up compilation for USE_STACK_LISP_OBJECTS=false.
 +
 +      * nsselect.m (ns-own-selection-internal, ns-disown-selection-internal):
 +      Rename from the "x-" prefix.
 +
 +2014-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xselect.c (selection-converter-alist): Fix docstring.
 +
 +2014-10-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (sys_spawnve): Avoid modification of the CMDNAME
 +      argument passed by the caller, when we mirror all slashes into
 +      backslashes.
 +
 +2014-10-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb):
 +      Resurrect old code and fix compilation with GTK < 2.13.6.
 +
 +2014-10-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use AUTO_CONS instead of SCOPED_CONS, etc.
 +      * frame.h (AUTO_FRAME_ARG): Rename from FRAME_PARAMETER.
 +      * lisp.h (AUTO_CONS): Rename from scoped_cons.
 +      (AUTO_LIST1): Rename from scoped_list1.
 +      (AUTO_LIST2): Rename from scoped_list2.
 +      (AUTO_LIST3): Rename from scoped_list3.
 +      (AUTO_LIST4): Rename from scoped_list4.
 +      (AUTO_STRING): Rename from SCOPED_STRING.
 +      * frame.h (AUTO_FRAME_ARG):
 +      * lisp.h (AUTO_CONS, AUTO_LIST1, AUTO_LIST2, AUTO_LIST3)
 +      (AUTO_LIST4, AUTO_STRING):
 +      Prepend a new argument 'name'.
 +      Declare a variable instead of yielding a value.
 +      All uses changed.
 +      * lisp.h (STACK_CONS, AUTO_CONS_EXPR): New internal macros.
 +
  2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * w32fns.c (w32_createwindow): Accept an additional argument, an
        array of 2 values specifying the coordinates of the frame's
        top-left corner.  Use these values instead of calling x_get_arg,
        which can cons Lisp objects, and therefore cannot be called except
 -      from the main thread.  Remove redundant tests for the default values.
 +      from the main thread.  Remove redundant tests for the default
 +      values.
        (my_create_window): Move the calculation of the coordinates of the
        frame's top-left edge here.  Pass them to the input thread via the
        second parameter of the WM_EMACS_CREATEWINDOW message.
        See http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00892.html
        for the details.
  
 -2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (cursor_row_fully_visible_p): Update commentary.
        (redisplay_window): Treat the frame's frozen_window_starts flag
  
        * window.c (Frecenter): Set the window's redisplay flag.
  
 -2014-09-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-30  Eli Zaretskii  <eliz@gnu.org>
  
        * w32term.c (w32_read_socket): Don't use frame dimensions for
        resizing if GetClientRect returned an empty (0, 0, 0, 0)
        (adjust_decode_mode_spec_buffer): Add assertion to avoid passing
        negative values to xrealloc.  (Bug#18528)
  
 +2014-09-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Remove now-unnecessary check.
 +      Suggested by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00891.html
 +
 +      * xterm.c (x_term_init): Allocate temps on stack, not on heap.
 +
 +      * frame.c (x_set_frame_parameters): Port --enable-gcc-warnings
 +      to Ubuntu 14.04.1 x86-64.
 +
 +      Simplify stack-allocated Lisp objects, and make them more portable.
 +      The build_local_string macro was used in two ways: (1) string
 +      literals for which scoped allocation suffices, and (2) file name
 +      components, where it's not safe in general to assume bounded-size
 +      ASCII data.  Simplify by defining a new macro SCOPED_STRING that
 +      allocates a block-scope string, and by using SCOPED_STRING for (1)
 +      and build_string for (2).  Furthermore, actually use stack
 +      allocation only for objects known to have sufficient alignment.
 +      This simpler implementation means Emacs can make
 +      USE_STACK_LISP_OBJECTS the default unless GC_MARK_STACK !=
 +      GC_MAKE_GCPROS_NOOPS.
 +      * lisp.h (GCALIGNED): Align even if !USE_STACK_LISP_OBJECTS,
 +      for fewer differences among implementations.
 +      (struct Lisp_String): Now GCALIGNED.
 +      (USE_STACK_LISP_OBJECTS): Default to true, since the
 +      implementation no longer insists on a nonempty GCALIGNED.
 +      But make it false if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS.
 +      (SCOPED_CONS_INITIALIZER): Remove, since it's no longer needed
 +      separately.  Move definiens to scoped_cons.  The old definition
 +      was incorrect when GCALIGNED was defined to be empty.
 +      (union Aligned_String): New type.
 +      (USE_STACK_CONS, USE_STACK_STRING): New constants, so that the
 +      implementation ports to compilers that don't align strictly enough.
 +      Don't worry about the union sizes; it's not worth bothering about.
 +      (scoped_cons, scoped_list1, scoped_list3, scoped_list4):
 +      Rewrite using USE_STACK_CONS.
 +      (scoped_cons): Assume the use of union Aligned_Cons.
 +      (lisp_string_size, make_local_string, build_local_string): Remove.
 +      Unless otherwise specified, all callers of build_local_string
 +      changed to use SCOPED_STRING.
 +      (SCOPED_STRING): New macro.
 +      * data.c (wrong_choice):
 +      * menu.c (single_menu_item):
 +      * process.c (Fformat_network_address):
 +      Hoist use of SCOPED_STRING out of a scope, so that its returned
 +      object lives long enough.
 +      * fileio.c (Fexpand_file_name): Use build_string, not SCOPED_STRING,
 +      as the string might be long or might not be ASCII.
 +
 +2014-09-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * msdos.c (internal_terminal_init): Bump version to 25.
 +
 +2014-09-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Keep stack-allocated Lisp objects fast rather than versatile.
 +      * lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such.
 +      (SCOPED_CONS_INITIALIZER): New macro.
 +      (scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it.
 +      (USE_LOCAL_ALLOCA): Remove.
 +      (local_cons, local_list1, local_list2, local_list3, local_list4):
 +      Remove.  Stack overflow checking makes them too slow.
 +      (make_local_vector): Likewise.  Also we just don't have enough
 +      users for it.
 +      (enum LISP_STRING_OVERHEAD): Remove.
 +      (local_string_init, local_vector_init): Remove prototypes.
 +      (make_local_string, build_local_string): Redesign to target short
 +      compile-time string constants, fall back to regular string allocation
 +      where appropriate.
 +      (lisp_string_size): New function.
 +      (verify_ascii) [ENABLE_CHECKING]: Add prototype.
 +      * alloc.c (local_string_init, local_vector_init): Remove.
 +      (verify_ascii) [ENABLE_CHECKING]: New function.
 +      * buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c:
 +      * fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c:
 +      * menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c:
 +      * xselect.c, xterm.c: All related users changed.
 +
 +2014-09-28  Ken Brown  <kbrown@cornell.edu>
 +
 +      * sheap.c (bss_sbrk_buffer_beg): Remove redundant variable.
 +      * gmalloc.c [CYGWIN]: Adapt to change in sheap.c.
 +
 +2014-09-27  Ken Brown  <kbrown@cornell.edu>
 +
 +      Fix implementation of HYBRID_MALLOC on Cygwin.
 +      * sheap.c (bss_sbrk_buffer_end): Cast to void *.
 +      (bss_sbrk_buffer_beg): New variable.  Use it...
 +      * gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
 +      incorrect definition.
 +
 +2014-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c (track-mouse): Rename to internal--track-mouse.
 +      Make it into a function and change arg to be a function.
 +
 +      * lisp.mk (lisp): Add elisp-mode.elc.
 +
 +2014-09-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xfns.c (x_default_scroll_bar_color_parameter):
 +      Use USE_LOCAL_ALLOCA only if USE_TOOLKIT_SCROLL_BARS,
 +      to pacify --enable-gcc-warnings in non-scrollbar builds.
 +
 +2014-09-26  Ken Brown  <kbrown@cornell.edu>
 +
 +      * w32term.h (ALIGN_STACK): Fix the cpp condition.
 +
 +2014-09-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Default to false for 32-bit
 +      MinGW builds that use GCC before 4.2.
 +
 +      Default to stack objects on DOS_NT platforms as well.
 +      * w32term.h (ALIGN_STACK) [__GNUC__]: Define to
 +      __attribute__((force_align_arg_pointer)) for GCC 4.2 and later.
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Remove the !DOS_NT condition.
 +
 +      * w32proc.c (enum_locale_fn, enum_codepage_fn): Add the
 +      ALIGN_STACK attribute.
 +
 +      * w32fns.c (w32_monitor_enum): Add the ALIGN_STACK attribute.
 +
 +      * w32uniscribe.c (add_opentype_font_name_to_list): Add the
 +      ALIGN_STACK attribute.
 +
 +      * w32font.c (add_font_name_to_list, add_font_entity_to_list)
 +      (add_one_font_entity_to_list): Add the ALIGN_STACK attribute.
 +
 +2014-09-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (frame_inhibit_resize):
 +      * widget.c (EmacsFrameResize):
 +      * window.c (resize_frame_windows, Fset_window_configuration):
 +      * xdisp.c (expose_frame):
 +      * xfns.c (x_change_tool_bar_height):
 +      * xmenu.c (update_frame_menubar):
 +      * xterm.c (handle_one_xevent, x_new_font, x_set_window_size_1):
 +      Remove code left dead after 2014-07-27 changes.
 +
 +2014-09-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix local_cons etc. to not exhaust the stack when in a loop.
 +      Problem reported in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00696.html
 +      * buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
 +      * charset.c (load_charset_map_from_file, Ffind_charset_region)
 +      (Ffind_charset_string):
 +      * chartab.c (uniprop_encode_value_numeric, uniprop_table):
 +      * data.c (wrong_range):
 +      * editfns.c (Fpropertize, format2):
 +      * emacs.c (init_cmdargs, decode_env_path):
 +      * fileio.c (auto_save_error):
 +      * fns.c (Fyes_or_no_p):
 +      * font.c (font_style_to_value, font_parse_xlfd)
 +      (font_parse_family_registry, font_delete_unmatched)
 +      (font_add_log):
 +      * fontset.c (Fset_fontset_font):
 +      * frame.c (x_get_arg):
 +      * keyboard.c (echo_dash, safe_run_hooks_error, parse_menu_item)
 +      (read_char_minibuf_menu_prompt):
 +      * keymap.c (silly_event_symbol_error, describe_vector):
 +      * lread.c (load_warn_old_style_backquotes):
 +      * menu.c (single_menu_item):
 +      * minibuf.c (Fread_buffer):
 +      * process.c (status_message, Fformat_network_address)
 +      (server_accept_connection):
 +      * textprop.c (copy_text_properties):
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction):
 +      * xfns.c (x_default_scroll_bar_color_parameter):
 +      * xfont.c (xfont_open):
 +      * xselect.c (x_clipboard_manager_error_1):
 +      * xterm.c (x_term_init):
 +      Put USE_LOCAL_ALLOCA at the start of the function.
 +      * fns.c (maybe_resize_hash_table): Use build_string instead of
 +      build_local_string, since we'd otherwise need a conditional
 +      USE_LOCAL_ALLOCA here, but this is just debugging output and is
 +      not worth the bother of optimization.
 +      * font.c (font_delete_unmatched): Remove by-hand code that
 +      observed MAX_ALLOCA limit, since it's now done automatically.
 +      * keymap.c (Fsingle_key_description): Put USE_SAFE_ALLOCA at top,
 +      since build_local_string needs its sa_alloc.
 +      * lisp.h (lisp_word_count): New function.
 +      (SAFE_ALLOCA_LISP): Use it.
 +      (USE_LOCAL_ALLOCA): New macro.
 +      (local_cons, make_local_vector, make_local_string):
 +      Observe the MAX_ALLOCA limit.
 +      (LISP_STRING_OVERHEAD): New constant.
 +      (make_local_string): Use it.
 +
 +2014-09-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Default to stack objects on non-GNU/Linux, non-DOS_NT platforms.
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Also default to true
 +      if !defined DOS_NT && !defined GNU_LINUX.  I've tested this on AIX
 +      and Solaris and it's likely to work on similar platforms.
 +
 +      Avoid signed integer overflow when converting Time to ptrdiff_t.
 +      * keyboard.c (INPUT_EVENT_POS_MAX, INPUT_EVENT_POS_MIN):
 +      New macros.
 +      (position_to_Time, Time_to_position): New functions.
 +      (gen_help_event, kbd_buffer_get_event): Use them.
 +      * systime.h (Time) [emacs && !HAVE_X_WINDOWS]:
 +      Go back to plain 'unsigned long', so that 'Time' is the same
 +      for both X and non-X builds; this is less likely to cause surprise.
 +      * termhooks.h: Remove compile-time check that Time and ptrdiff_t
 +      are the same size; this is no longer required.
 +
 +      * keyboard.c (make_lispy_event): Avoid unnecessary tests
 +      of bit 28 and of whether an unsigned value is negative.
 +      This simplifies the code a bit, and pacifies clang 3.4.
 +
 +2014-09-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * systime.h (Time): Define as size_t, to be consistent with 64-bit
 +      Windows builds, where 'long' is a 32-bit type.
 +
 +      * w32inevt.h (w32_console_mouse_position): Update the argument
 +      types to use 'Time'.
 +
 +      * w32term.c (w32_mouse_position)
 +      (x_horizontal_scroll_bar_report_motion)
 +      (x_scroll_bar_report_motion): Update the argument types to use
 +      'Time'.
 +
 +2014-09-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * termhooks.h (enum scroll_bar_part): Begin from 0 to allow...
 +      (struct input_event): ...unsigned bitfields.  Likewise for
 +      `event_kind' member.  Prefer unsigned for `code' and 'modifiers'.
 +      Use `timestamp' for HELP_EVENT position.  Add compile-time assert.
 +      * keyboard.c (gen_help_event, kbd_buffer_store_help_event)
 +      (kbd_buffer_get_event): Adjust users.
 +      (scroll_bar_parts): Add Qnil to match scroll_bar_nowhere.
 +      (make_scroll_bar_position): New function, refactored out of...
 +      (make_lispy_event): ...adjusted user.
 +      * nsterm.h (EmacsScroller): Use enum for `last_hit_part' member.
 +      * nsterm.m (ns_mouse_position, mouseUp):
 +      * term.c (term_mouse_position):
 +      * w32inevt.c (w32_console_mouse_position):
 +      * w32term.c (w32_mouse_position):
 +      * xterm.c (XTmouse_position): Use scroll_bar_above_handle.
 +      (x_send_scroll_bar_event, xm_scroll_callback, xg_scroll_callback):
 +      Prefer enum and explicit enum members to integers and numeric values.
 +
 +      * chartab.c (uniprop_encode_value_numeric):
 +      * font.c (font_style_to_value): Use make_local_vector.
 +      (font_delete_unmatched): Use local_cons but respect MAX_ALLOCA.
 +      * keymap.c (append_key): Use scoped_list1.
 +
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Enable by default if GNU_LINUX
 +      && __GNUC__ && !__clang__.  Mention known problems.  Adjust comment.
 +
 +2014-09-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some slow uses and misuses of strcat.
 +      * doc.c (get_doc_string):
 +      * gtkutil.c (get_utf8_string):
 +      * xsmfns.c (x_session_initialize):
 +      Avoid recomputation of string length.
 +      * ftfont.c (ftfont_spec_pattern):
 +      * xfns.c (xic_create_fontsetname):
 +      Don't assume output buffer is initially zero.
 +
 +2014-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (lispstpcpy): Rename from lispstrcpy, and act like stpcpy.
 +      All callers changed.
 +      * xterm.c (x_term_init): Use new functionality to avoid two needs
 +      to compute a string length.
 +
 +      * dispextern.h, xdisp.c (window_box_right_offset): Now static.
 +
 +2014-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use known length of a Lisp string to copy it faster.
 +      * lisp.h (lispstrcpy): New function.  Add comment.
 +      * callproc.c (child_setup):
 +      * dbusbind.c (xd_append_arg):
 +      * doc.c (get_doc_string):
 +      * font.c (Ffont_xlfd_name):
 +      * frame.c (xrdb_get_resource):
 +      * process.c (Fmake_network_process, network_interface_info):
 +      * w32fns.c (Fx_open_connection):
 +      * w32proc.c (sys_spawnve):
 +      * xfns.c (select_visual):
 +      * xfont.c (xfont_list):
 +      * xsmfns.c (x_session_initialize):
 +      * xterm.c (x_term_init): Use it.
 +
 +2014-09-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix SAFE_ALLOCA to not exhaust the stack when in a loop.
 +      Problem reported by Dmitry Antipov in thread leading to:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00713.html
 +      This patch fixes only SAFE_ALLOCA, SAFE_NALLOCA, and SAFE_ALLOCA_LISP;
 +      the experimental local_* macros enabled by USE_LOCAL_ALLOCATORS
 +      remain unfixed.
 +      * callproc.c (call_process): Save and restore sa_avail.
 +      * lisp.h (USE_SAFE_ALLOCA): Define sa_avail.
 +      (AVAIL_ALLOCA): New macro.
 +      (SAFE_ALLOCA, SAFE_NALLOCA, SAFE_ALLOCA_LISP):
 +      Use it, and check against sa_avail rather than MAX_ALLOCA.
 +
  2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
  
        On OSX, do not free font-specific data more than once (Bug#18501).
        * macfont.m (macfont_close): Release and free font-specific data
        only if it wasn't previously freed.
  
 -2014-09-21  David Caldwell <david@porkrind.org>  (tiny change)
 +2014-09-22  David Caldwell <david@porkrind.org>  (tiny change)
  
        * unexmacosx.c (dump_it): Improve error message.
  
 -2014-09-18  Juri Linkov  <juri@jurta.org>
 +2014-09-22  Juri Linkov  <juri@jurta.org>
  
        * image.c (imagemagick_load_image): Add delay to imagemagick metadata.
        (Bug#10747, bug#18334)
  
 -2014-09-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.c (Fmouse_position, Fset_mouse_position): Clarify the
        units in which the position is measured.  (Bug#18493)
        * xdisp.c (redisplay_internal): Force redisplay of all windows
        that show a buffer whose narrowing has changed.  (Bug#18490)
  
 -2014-09-16  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor):
        * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor): In R2L
        every window except the leftmost one.  Reported by Martin Rudalics
        <rudalics@gmx.at>.
  
 -2014-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
  
        Always use matched specpdl entry to record call arguments (Bug#18473).
        * lisp.h (record_in_backtrace): Adjust prototype.
        overflow on string size calculation.
        * data.c (Faset): Likewise for byte index.
  
 -2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
  
        Fix display of R2L lines in partial-width windows.
        * xdisp.c (init_iterator): Don't use it->bidi_p before it is
        of the right one.
        (produce_special_glyphs): Fix bogus assignments.
  
 -2014-09-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fileio.c (Fexpand_file_name) [DOS_NT]: Make sure newdirlim is
 +      always set to a valid value.  Make sure the size passed to alloca
 +      is always positive.  (Bug#18516)
  
 -      * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of
 -      pipes.
 +2014-09-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid extra call to oblookup when interning symbols.
 +      * lisp.h (intern_driver): Add prototype.
 +      * lread.c (intern_driver): New function.
 +      (intern1, intern_c_string_1, Fintern):
 +      * font.c (font_intern_prop):
 +      * w32font.c (intern_font_name): Use it.
 +
 +2014-09-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor improvements to new stack-allocated Lisp objects.
 +      * frame.h (FRAME_PARAMETER):
 +      Prefer scoped_list1 to local_list1 where either would do.
 +      * lisp.h (scoped_list4): New macro.
 +      (local_cons, local_list1, local_list2, local_list3, local_list4)
 +      (make_local_vector, make_local_string, build_local_string):
 +      Prefer functions to macros where either would do.
 +      * xdisp.c (build_desired_tool_bar_string):
 +      Prefer scoped_list4 to local_list4 where either would do.
 +
 +2014-09-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      More and more stack-allocated Lisp objects if USE_LOCAL_ALLOCATORS.
 +      * lisp.h (local_list4) [USE_LOCAL_ALLOCATORS]: New macro.
 +      [!USE_LOCAL_ALLOCATORS]: Fall back to regular list4.
 +      * frame.h (FRAME_PARAMETER): New macro.
 +      * dispnew.c (init_display):
 +      * fontset.c (Fset_fontset_font):
 +      * frame.c (x_default_parameter):
 +      * xfaces.c (set_font_frame_param, Finternal_merge_in_global_face):
 +      * xfns.c (x_default_scroll_bar_color_parameter)
 +      (x_default_font_parameter, x_create_tip_frame): Use it.
 +      * editfns.c (Fpropertize): Use local_cons.
 +      * process.c (status_message): Use build_local_string.
 +      * xfont.c (xfont_open): Use make_local_string.
 +      * xdisp.c (build_desired_tool_bar_string): Use local_list4.
 +
 +2014-09-18  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port USE_LOCAL_ALLOCATORS code to clang 3.4 x86-64.
 +      * lisp.h (USE_LOCAL_ALLOCATORS): Define only if __GNUC__ &&
 +      !__clang__.  This works with GCC and with clang and is safer for
 +      compilers we don't know about.
 +      (local_cons): Rename parameter to make capture less likely.
 +
 +2014-09-17  Samuel Bronson  <naesten@gmail.com>
 +
 +      * unexmacosx.c (copy_data_segment): Port to GCC 4.6+ (Bug#9927).
 +
 +2014-09-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix minor problems found by static checking.
 +      * alloc.c, lisp.h (SAVE_TYPE_INT_OBJ, make_save_int_obj):
 +      Remove; now unused.
 +      * buffer.h (decode_buffer): Doc and indentation fixes.
 +      * fns.c (Qstring_collate_lessp, Qstring_collate_equalp): Now static.
 +
 +2014-09-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid clang-specific warnings.
 +      * buffer.c (init_buffer): Shut up -Wself-assign.
 +      * process.c (server_accept_connection): Shut up -Wunsequenced.
 +
 +2014-09-16  Daniel Colascione  <dancol@dancol.org>
 +
 +      * fns.c (sxhash): For symbols, use address as hash code.
 +
 +2014-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If USE_LOCAL_ALLOCATORS, allocate even more Lisp objects on stack.
 +      * charset.c (load_charset_map_from_file): Use scoped_list2
 +      and build_local_string.
 +      * buffer.c (Fother_buffer, other_buffer_safely, init_buffer):
 +      * emacs.c (init_cmdargs, decode_env_path):
 +      * fileio.c (Fexpand_file_name):
 +      * fns.c (maybe_resize_hash_table) [ENABLE_CHECKING]:
 +      * frame.c (x_get_arg):
 +      * keyboard.c (safe_run_hooks_error):
 +      * lread.c (load_warn_old_style_backquotes):
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction):
 +      * xfns.c (x_default_scroll_bar_color_parameter, select_visual):
 +      * xselect.c (x_clipboard_manager_error_1)
 +      (x_clipboard_manager_save_all):
 +      * xterm.c (x_term_init): Use build_local_string.
 +
 +      Avoid more integer overflows on string size calculations.
 +      * category.c (Fmake_category_set):
 +      * xdisp.c (get_overlay_arrow_glyph_row):
 +      * w32font.c (intern_font_name): Prefer ptrdiff_t to int.
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sound.c [WINDOWSNT]: Include w32common.h and mbstring.h.
 +      (SOUND_WARNING) [WINDOWSNT]: Include in do..while and improve the
 +      error message format.  Use message_with_string to have non-ASCII
 +      file names properly displayed.
 +      (do_play_sound) [WINDOWSNT]: Use Unicode APIs to play sound files
 +      when w32-unicode-filenames is non-nil, but not on Windows 9X,
 +      where these APIs are not available even in UNICOWS.DLL.
 +      Improve the format of error messages and include the file name in them
 +      where appropriate.
 +      (Fplay_sound_internal) [WINDOWSNT]: Make the MS-Windows branch
 +      call play-sound-functions, per documentation.
 +
 +      * w32.c (w32_get_long_filename, w32_get_short_filename):
 +      Constify the input file name arguments.
 +
 +      * w32.h (w32_get_long_filename, w32_get_short_filename):
 +      Update prototypes.
 +
 +2014-09-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If USE_LOCAL_ALLOCATORS, allocate some Lisp objects on stack.
 +      * lisp.h (local_cons, local_list1, local_list2, local_list3)
 +      [USE_LOCAL_ALLOCATORS]: New macros.
 +      [!USE_LOCAL_ALLOCATORS]: Fall back to regular functions.
 +      (build_local_string): Avoid argument name expansion clash with
 +      make_local_string.
 +      * alloc.c (toplevel)
 +      [USE_LOCAL_ALLOCATORS && GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS]:
 +      Preprocessor guard to avoid impossible configuration.
 +      * charset.c (Ffind_charset_region, Ffind_charset_string):
 +      Use make_local_vector.
 +      * lread.c (read1, substitute_object_recurse): Use scoped_cons.
 +      * textprop.c (Fput_text_property, Fadd_face_text_property):
 +      Use scoped_list2.
 +      (copy_text_properties): Use local_cons and local_list3.
 +      * chartab.c (uniprop_table):
 +      * data.c (wrong_choice, wrong_range):
 +      * doc.c (get_doc_string):
 +      * editfns.c (format2):
 +      * fileio.c (Fexpand_file_name, auto_save_error):
 +      * fns.c (Fyes_or_no_p):
 +      * font.c (font_parse_xlfd, font_parse_family_registry, font_add_log):
 +      * fontset.c (Fset_fontset_font):
 +      * keyboard.c (echo_add_key, echo_dash, parse_menu_item)
 +      (read_char_minibuf_menu_prompt):
 +      * keymap.c (silly_event_symbol_error, describe_vector):
 +      * menu.c (single_menu_item):
 +      * minibuf.c (Fread_buffer):
 +      * process.c (status_message, Fformat_network_address)
 +      (server_accept_connection): Use make_local_string and
 +      build_local_string.  Prefer compound literals where appropriate.
 +
 +2014-09-15  Daniel Colascione  <dancol@dancol.org>
 +
 +      * fns.c (Fsort): Tweak sort docstring.
 +
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes.
        (sys_write): When a write to a non-blocking pipe returns ENOSPC,
        set errno to EAGAIN instead, to allow the caller to retry the
        write after some waiting.  Fixes deadlocks when Emacs exchanges a
        lot of data through the pipe.  (Bug#18420)
  
 -2014-09-13  Eli Zaretskii  <eliz@gnu.org>
 -
        * sound.c (Fplay_sound_internal): Encode the sound file name in
        the ANSI codepage.  Expand it against data-directory, as per docs,
        not against the current directory.  No need to make a local copy
        the string with "?" replacement characters, which will fail the
        caller.  This avoids returning a random value in that case.
  
 -2014-09-11  Martin Rudalics  <rudalics@gmx.at>
 +2014-09-15  Martin Rudalics  <rudalics@gmx.at>
  
        * window.c (Fresize_mini_window_internal): Set w->total_lines
        from w->pixel_height (Bug#18422).
  
 -2014-09-09  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-09-15  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.m (updateFrameSize:, initFrameFromEmacs:)
        (toggleFullScreen:): Take frame_resize_pixelwise into account when
        setting resize increments (Bug#18435).
  
 -2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-15  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (pos_visible_p): Properly save and restore the iterator
        state around the call to line_bottom, since it can move the
        iterator to another screen line.  This fixes off-by-one errors in
        the reported row in some rare cases.
  
 -2014-09-07  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-14  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
 -      always make sure the marginal areas of the row are in sync with
 -      what the window wants.  (Bug#18419)
 +      * callproc.c (init_callproc): Fix bug introduced at
 +      2014-09-07 (Bug#18474).
  
 -2014-09-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-13  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * data.c (set_internal): Use assq_no_quit, not Fassq, to find an
 -      existing binding of a variable, to avoid silently aborting
 -      commands that use specbind.  (Bug#18331)
 +      Prefer ptrdiff_t to int and avoid integer overflows.
 +      * fileio.c (make_temp_name):
 +      * font.c (font_parse_family_registry): Avoid integer
 +      overflow on string size calculation.
 +      * data.c (Faset): Likewise for byte index.
  
 -2014-09-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-12  Detlev Zundel  <dzu@member.fsf.org>
  
 -      * dispnew.c (buffer_posn_from_coords): Fix an off-by-one error in
 -      the reported row in the case of a window with a header line, by
 -      improving on the fix committed in 2011-10-08T10:58:50Z!eliz@gnu.org
 -      eliz@gnu.org-20111008105850-ht4tvsayohvr1kjc.  (Bug#18384)
 +      * buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).
  
 -2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * eval.c (internal_lisp_condition_case): Don't overrun the stack
 -      when configured --with-wide-int on typical 32-bit platforms.
 +      * lisp.h (make_local_string): Nitpick indent.
 +      * print.c (Fprin1_to_string): Remove unused GCPROs.
  
 -2014-08-31  Eli Zaretskii  <eliz@gnu.org>
 +      More debugging aids around GCPROs.
 +      * lisp.h (struct gcpro) [DEBUG_GCPRO]: Add extra members.
 +      (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, GCPRO7):
 +      Minor restyle.  If DEBUG_GCPRO, initialize extra fields.
  
 -      * xdisp.c (display_and_set_cursor): Call erase_phys_cursor also
 -      when HPOS is negative, for the benefit of R2L glyph rows whose
 -      newline overflows into the fringe.
 +      * lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
 +      bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
  
 -2014-08-30  Ken Brown  <kbrown@cornell.edu>
 +      Remove redundant GCPROs around Ffuncall and Fapply calls.
 +      This is safe because Ffuncall protects all of its arguments by itself.
 +      * charset.c (map_charset_for_dump): Remove redundant GCPRO.
 +      * eval.c (Fapply, apply1, call0, call1, call2, call3, call4, call5)
 +      (call6, call7): Likewise.  Use compound literals where applicable.
 +      (run_hook_with_args_2): Use compound literal.
  
 -      * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define.
 -      (Bug#18366)
 +2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2014-08-28  Eli Zaretskii  <eliz@gnu.org>
 +      Pacify --enable-gcc-warnings when no window system is used.
 +      These warnings found that subscript error, so they seem worthwhile.
 +      * composite.c (char_composable_p): Simplify a bit.
 +      * frame.c (x_set_frame_parameters): Add an IF_LINT.
 +      * frame.c (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
 +      * window.c (set_window_scroll_bars):
 +      Use USE_HORIZONTAL_SCROLL_BARS for simplicity.
 +      * frame.h [! USE_HORIZONTAL_SCROLL_BARS]:
 +      Ignore -Wsuggest-attribute=const.
 +      * window.h (USE_HORIZONTAL_SCROLL_BARS): New macro.
 +      (WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Use it.
  
 -      * syntax.c (scan_lists): Don't examine positions before BEGV.
 -      (Bug#18339)
 +2014-09-10  Paul Eggert  <eggert@penguin.cs.ucla.edu>
  
 -2014-08-25  Eli Zaretskii  <eliz@gnu.org>
 +      * charset.c (Fget_unused_iso_final_char): Fix subscript error.
 +      Use check_iso_charset_parameter instead of doing the checks by hand.
 +      (check_iso_charset_parameter): Move up.  Check parameters a bit
 +      more carefully, and return true for 96-char sets.  All callers changed.
  
 -      * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Don't define.
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2014-08-18  Eli Zaretskii  <eliz@gnu.org>
 +      Simplify lisp.h by removing the __COUNTER__ business.
 +      Problem reported by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00220.html
 +      * lisp.h (make_local_vector, make_local_string)
 +      (build_local_string): Simplify by not bothering with __COUNTER__.
 +      The __COUNTER__ business wasn't working properly, and was needed
 +      only for hypothetical future expansion anyway.
  
 -      * xdisp.c (handle_stop): Improve commentary.
 +2014-09-10  Alp Aker  <alp.tekin.aker@gmail.com>
  
 -      * indent.c (Fvertical_motion): Fix vertical motion up through a
 -      display property after a newline.  (Bug#18276)
 +      * nsterm.m (ns_draw_fringe_bitmap): Use the same logic as other
 +      terms to determine bitmap color.  (Bug#18437)
  
 -2014-08-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-09-10  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (display_line): Don't assume that the call to
 -      reseat_at_next_visible_line_start ends up at a character
 -      immediately following the newline on the previous line.
 -      Avoids setting the ends_at_zv_p flag on screen lines that are not at or
 -      beyond ZV, which causes infloop in redisplay.  For the details, see
 -      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00368.html.
 +      * w32.c (sys_write): Use SAFE_NALLOCA for the NL -> CRLF
 +      translation buffer.
  
 -      * dispnew.c (buffer_posn_from_coords): Fix mirroring of X
 -      coordinate for hscrolled R2L screen lines.  (Bug#18277)
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2014-08-11  Ken Brown  <kbrown@cornell.edu>
 +      * xterm.c (handle_one_xevent): Add braces to pacify gcc -Wall.
 +
 +2014-09-10  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.c (handle_one_xevent): Detect iconified by looking at
 +      _NET_WM_STATE_HIDDEN.
 +
 +2014-09-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * lisp.h (DEFINE_GDB_SYMBOL_ENUM): Remove.
 +      These can generate a constant with the correct value but the wrong
 +      width, which doesn't work as a printf argument.  All uses removed.
 +      Problem reported by Dmitry Antipov in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00213.html
 +      (ENUMABLE): Remove; no longer needed.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      Remove; no longer needed because of the above change.
 +      Each definiens moved to the only use.
 +
 +      Improve the experimental local and scoped allocation.
 +      * alloc.c (local_string_init, local_vector_init):
 +      New functions, defined if USE_LOCAL_ALLOCATORS.
 +      Mostly, these are moved here from lisp.h, as it's not
 +      clear it's worth making them inline.
 +      * lisp.h (USE_STACK_LISP_OBJECTS): Default to false.
 +      (GCALIGNED): Depend on HAVE_STRUCT_ATTRIBUTE_ALIGNED and
 +      USE_STACK_LISP_OBJECTS, not on a laundry list.
 +      (local_string_init, local_vector_init): New decls.
 +      (union Aligned_Cons): New type.
 +      (scoped_cons): Use it.  Give up on the char trick, as it's a too
 +      much of a maintenance hassle; if someone wants this speedup
 +      they'll just need to convince their compiler to align properly.
 +      Conversely, use the speedup if struct Lisp_Cons happens to
 +      be aligned even without a directive.  Better yet, help it along
 +      by using union Aligned_Cons rather than struct Lisp_Cons.
 +      (pointer_valid_for_lisp_object): Remove.  This check is not
 +      necessary, since make_lisp_ptr is already doing it.  All uses removed.
 +      (local_vector_init, local_string_init): Move to alloc.c.
 +      (build_local_vector): Remove this awkward macro, replacing with ...
 +      (make_local_vector): New macro, which acts more like a function.
 +      Use statement expressions and use __COUNTER__ to avoid macro
 +      capture.  Fall back on functions if these features are not supported.
 +      (build_local_string, make_local_string): Likewise.
 +
 +2014-09-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.c (x_term_init): Consolidate duplicated code.
 +      [USE_LUCID]: Revert 2014-04-02 change (Bug#18403).  Add comment.
 +      (x_delete_terminal): Do not close X connection fd (Bug#18403).
 +      Add eassert and mark dpyinfo as dead only if it was alive.
 +
 +      Add macros to allocate temporary Lisp objects with alloca.
 +      Respect MAX_ALLOCA and fall back to regular GC for large objects.
 +      * character.h (parse_str_as_multibyte): Move prototype to ...
 +      * lisp.h (parse_str_as_multibyte): ... here.
 +      (struct Lisp_Cons): Add GCALIGNED attribute if supported.
 +      (scoped_cons, scoped_list2, build_local_vector, build_local_string):
 +      New macros.
 +      (scoped_cons_init, pointer_valid_for_lisp_object, local_vector_init)
 +      (local_string_init): New functions.
 +      * alloc.c (verify_alloca) [ENABLE_CHECKING]: New function.
 +      (init_alloc_once): Call it.
 +
 +      Cleanup last change and make all new stuff conditional.
 +      * lisp.h (build_local_string): Rename to ...
 +      (make_local_string): ... this macro.
 +      (build_local_string, scoped_list1, scoped_list3): New macros.
 +      (toplevel) [USE_STACK_LISP_OBJECTS]: Define all new macros
 +      and functions as such, use regular fallbacks otherwise.
 +      * alloc.c (verify_alloca) [USE_STACK_LISP_OBJECTS]: Define
 +      conditionally.
 +
 +2014-09-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
 +      always make sure the marginal areas of the row are in sync with
 +      what the window wants.  (Bug#18419)
 +
 +      * data.c (set_internal): Use assq_no_quit, not Fassq, to find an
 +      existing binding of a variable, to avoid silently aborting
 +      commands that use specbind.  (Bug#18331)
 +
 +2014-09-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix bug uncovered by changing alloca to auto buffer (Bug#18410).
 +      * coding.c (growable_destination): New function.
 +      (produce_chars): Use it for sanity checks.  Do not fiddle with
 +      dst_end if the source and destination are both nil, as it's
 +      the caller's responsibility to avoid overlap.
 +      * keyboard.c (read_decoded_event_from_main_queue):
 +      The destination must be MAX_MULTIBYTE_LENGTH times the max source
 +      length, not 4 times, to prevent decode_coding_c_string from trying
 +      to reallocate a destination.  This removes the need for the FIXME.
 +
 +      * callproc.c (exec_failed) [DOS_NT]: Define a dummy.
 +      All callers simplified.  Add a comment about exec_failed, vfork,
 +      and alloca.
 +
 +      Adjust drag-and-drop fix when window is above top (Bug#18303).
 +      * xselect.c (x_fill_property_data): Don't let sign bit of negative
 +      XCDR bleed into XCAR's encoded value.  Improve checks for
 +      out-of-range data while we're at it.
 +
 +2014-09-07  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xselect.c (x_fill_property_data): Handle negative XCDR when data
 +      is CONSP (Bug#18303).
 +
 +2014-09-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * callproc.c (child_setup) [WINDOWSNT]: Don't call exec_failed if
 +      'alloca' gets passed arguments larger than MAX_ALLOCA.
 +
 +      * font.c (MAX): Define if not defined elsewhere.
 +
 +2014-09-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (read_decoded_event_from_main_queue): Reinstitute alloca
 +      here for destination buffer, to work around what appears to be a
 +      bug in decode_coding_c_string when the source and destination are
 +      both C strings.
 +
 +      Use SAFE_ALLOCA etc. to avoid unbounded stack allocation (Bug#18410).
 +      This follows up on the recent thread in emacs-devel on alloca; see:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00042.html
 +      This patch also cleans up alloca-related glitches noted while
 +      examining the code looking for unbounded alloca.
 +      * alloc.c (listn):
 +      * callproc.c (init_callproc):
 +      Rewrite to avoid need for alloca.
 +      * buffer.c (mouse_face_overlay_overlaps)
 +      (report_overlay_modification):
 +      * buffer.h (GET_OVERLAYS_AT):
 +      * coding.c (make_subsidiaries):
 +      * doc.c (Fsnarf_documentation):
 +      * editfns.c (Fuser_full_name):
 +      * fileio.c (Ffile_name_directory, Fexpand_file_name)
 +      (search_embedded_absfilename, Fsubstitute_in_file_name):
 +      * fns.c (Fmake_hash_table):
 +      * font.c (font_vconcat_entity_vectors, font_update_drivers):
 +      * fontset.c (fontset_pattern_regexp, Ffontset_info):
 +      * frame.c (Fmake_terminal_frame, x_set_frame_parameters)
 +      (xrdb_get_resource, x_get_resource_string):
 +      * ftfont.c (ftfont_get_charset, ftfont_check_otf, ftfont_drive_otf):
 +      * ftxfont.c (ftxfont_draw):
 +      * image.c (xbm_load, xpm_load, jpeg_load_body):
 +      * keyboard.c (echo_add_key, menu_bar_items, tool_bar_items)
 +
 +      * keymap.c (Fdescribe_buffer_bindings, describe_map):
 +      * lread.c (openp):
 +      * menu.c (digest_single_submenu, find_and_call_menu_selection)
 +      (find_and_return_menu_selection):
 +      * print.c (PRINTFINISH):
 +      * process.c (Fformat_network_address):
 +      * scroll.c (do_scrolling, do_direct_scrolling, scrolling_1):
 +      * search.c (search_buffer, Fmatch_data, Fregexp_quote):
 +      * sound.c (wav_play, au_play):
 +      * syntax.c (skip_chars):
 +      * term.c (tty_menu_activate, tty_menu_show):
 +      * textprop.c (get_char_property_and_overlay):
 +      * window.c (Fset_window_configuration):
 +      * xdisp.c (safe__call, next_overlay_change, vmessage)
 +      (compute_overhangs_and_x, draw_glyphs, note_mouse_highlight):
 +      * xfaces.c (face_at_buffer_position):
 +      * xmenu.c (x_menu_show):
 +      Use SAFE_ALLOCA etc. instead of plain alloca, since the
 +      allocation size isn't bounded.
 +      * callint.c (Fcall_interactively): Redo memory_full check
 +      so that it can be done at compile-time on some platforms.
 +      * coding.c (MAX_LOOKUP_MAX): New constant.
 +      (get_translation_table): Use it.
 +      * callproc.c (call_process): Use SAFE_NALLOCA instead of
 +      SAFE_ALLOCA, to catch integer overflows on size calculation.
 +      (exec_failed) [!DOS_NT]: New function.
 +      (child_setup) [!DOS_NT]: Use it.
 +      * editfns.c (Ftranspose_regions):
 +      Hoist USE_SAFE_ALLOC + SAFE_FREE out of 'if'.
 +      * editfns.c (check_translation):
 +      Allocate larger buffers on the heap.
 +      * eval.c (internal_lisp_condition_case):
 +      Check for MAX_ALLOCA overflow.
 +      * fns.c (sort_vector): Use SAFE_ALLOCA_LISP rather than Fmake_vector.
 +      (Fbase64_encode_region, Fbase64_decode_region):
 +      Avoid unnecessary calls to SAFE_FREE before 'error'.
 +      * buffer.c (mouse_face_overlay_overlaps):
 +      * editfns.c (Fget_pos_property, check_translation):
 +      * eval.c (Ffuncall):
 +      * font.c (font_unparse_xlfd, font_find_for_lface):
 +      * ftfont.c (ftfont_drive_otf):
 +      * keyboard.c (echo_add_key, read_decoded_event_from_main_queue)
 +      (menu_bar_items, tool_bar_items):
 +      * sound.c (Fplay_sound_internal):
 +      * xdisp.c (load_overlay_strings, dump_glyph_row):
 +      Use an ordinary auto buffer rather than alloca, since the
 +      allocation size is fixed and small.
 +      * ftfont.c: Include <c-strcase.h>.
 +      (matching_prefix): New function.
 +      (get_adstyle_property): Use it, to avoid need for alloca.
 +      * keyboard.c (echo_add_key):
 +      * keymap.c (describe_map): Use ptrdiff_t, not int.
 +      * keyboard.c (echo_add_key): Prefer sizeof to strlen.
 +      * keymap.c (Fdescribe_buffer_bindings): Use SBYTES, not SCHARS,
 +      when counting bytes.
 +      * lisp.h (xlispstrdupa): Remove, replacing with ...
 +      (SAFE_ALLOCA_STRING): ... new macro with different API.
 +      This fixes a portability problem, namely, alloca result
 +      passed to another function.  All uses changed.
 +      (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Check for MAX_ALLOCA,
 +      not MAX_ALLOCA - 1.
 +      * regex.c (REGEX_USE_SAFE_ALLOCA, REGEX_SAFE_FREE)
 +      (REGEX_ALLOCATE): New macros.
 +      (REGEX_REALLOCATE, REGEX_ALLOCATE_STACK, REGEX_REALLOCATE_STACK)
 +      (REGEX_FREE_STACK, FREE_VARIABLES, re_match_2_internal):
 +      Use them.
 +      * xdisp.c (message3): Use SAFE_ALLOCA_STRING rather than doing it
 +      by hand.
 +      (decode_mode_spec_coding): Store directly into buf rather than
 +      into an alloca temporary and copying the temporary to the buf.
 +
 +2014-09-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (EMACS_HEAPSIZE): Remove, no longer used.  (Bug#18416)
 +
 +2014-09-04  Jan D  <jan.h.d@swipnet.se>
 +
 +      * xterm.c (x_term_init): Don't call x_session_initialize if running
 +      as a daemon (Bug#18375).
 +
 +      * xsmfns.c: Initialize ice_fd.
 +
 +2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Less chatter in 'make' output.
 +      * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at)
 +      (am__v_at_, am__v_at_0, am__v_at_1):  New macros, taken from Automake.
 +      ($(etc)/DOC, buildobj.h, gl-stamp): Use them.
 +
 +2014-09-03  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c (scroll-bar-height): Fix typo in doc-string.
 +      * frame.c (Vdefault_frame_horizontal_scroll_bars):
 +      Remove variable.
 +      * nsfns.m (Fx_create_frame):
 +      * w32fns.c (Fx_create_frame):
 +      * xfns.c (Fx_create_frame): Default horizontal scroll bars to
 +      nil.
 +
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (buffer_posn_from_coords): Fix an off-by-one error in
 +      the reported row in the case of a window with a header line, by
 +      improving on the fix committed in 2011-10-08T10:58:50Z!eliz@gnu.org
 +      eliz@gnu.org-20111008105850-ht4tvsayohvr1kjc.  (Bug#18384)
 +
 +2014-09-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * eval.c (internal_lisp_condition_case): Don't overrun the stack
 +      when configured --with-wide-int on typical 32-bit platforms.
 +
 +2014-09-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (display_and_set_cursor): Call erase_phys_cursor also
 +      when HPOS is negative, for the benefit of R2L glyph rows whose
 +      newline overflows into the fringe.
 +
 +2014-09-03  Ken Brown  <kbrown@cornell.edu>
 +
 +      * conf_post.h (strnicmp) [CYGWIN && HAVE_NTGUI]: Define.  (Bug#18366)
 +
 +2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor cleanup of recent strlen-avoiding patch.
 +      * fileio.c (CHECK_LENGTH): Remove.
 +      Rewrite callers so that they don't need it.
 +      (Fexpand_file_name) [DOS_NT]: Fix a case where directory length
 +      variable wasn't set.
 +
 +2014-09-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fileio.c (CHECK_LENGTH): New macro.
 +      (Fexpand_file_name): Use it and get rid of a few more calls
 +      to strlen and strcat.
 +      * callproc.c (egetenv_internal): Add arg and rename from egetenv ...
 +      * lisp.h (egetenv): ... because of a new inline function used to
 +      avoid calls to strlen for a compile-time constants.
 +
 +      * buffer.h (decode_buffer): New function.
 +      * buffer.c (Fbuffer_name, Fbuffer_file_name, Fbuffer_base_buffer)
 +      (Fbuffer_local_variables, Fbuffer_modified_p, Fbuffer_modified_tick)
 +      (Fbuffer_chars_modified_tick, Fdelete_all_overlays):
 +      * data.c (Flocal_variables_p):
 +      * fileio.c (Fverify_visited_file_modtime):
 +      * marker.c (live_buffer): Use it.
 +
 +2014-09-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Avoid extra calls to strlen in filesystem I/O routines.
 +      * fileio.c (Fexpand_file_name): Avoid calls to strlen if
 +      the length of 'newdir' is known or may be precalculated.
 +      (file_accessible_directory_p): Prefer to pass Lisp_Object,
 +      not 'char *', and so use precalculated length.
 +      (Ffile_accessible_directory_p):
 +      * callproc.c (encode_current_directory, init_callproc):
 +      * charset.c (init_charset):
 +      * lread.c (load_path_check, load_path_default): Adjust users.
 +      * lisp.h (file_accessible_directory_p): Tweak prototype.
 +
 +2014-09-01  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32proc.c (w32_compare_strings): Support "C" and "POSIX"
 +      locales.
 +
 +2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      --enable-silent-rules now suppresses more chatter.
 +      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_CC, am__v_CC_)
 +      (am__v_CC_0, am__v_CC_1, AM_V_CCLD, am__v_CCLD_, am__v_CCLD_0)
 +      (am__v_CCLD_1): New macros, taken from Automake.
 +      (.c.o, .m.o, temacs$(EXEEXT)): Use them.
 +
 +      Clean up extern decls a bit.
 +      * bytecode.c: Include blockinput.h and keyboard.h rather
 +      than rolling their APIs by hand.
 +      * emacs.c: Include regex.h and rely on its and lisp.h's API
 +      rather than rolling them by hand.
 +      * lastfile.c: Include lisp.h, to check this file's API.
 +      * lisp.h (lisp_eval_depth, my_edata, my_endbss, my_endbss_static):
 +      New decls.
 +      * regex.h (re_max_failures): New decl.
 +      * unexcw.c, unexmacosx.c, unexw32.c:
 +      Rely on lisp.h's API rather than rolling it by hand.
 +      * vm-limit.c (__after_morecore_hook, __morecore, real_morecore):
 +      Declare at top level, to pacify GCC -Wnested-externs.
 +
 +2014-08-31  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (get_glyph_string_clip_rects): Don't let the width of a
 +      clipping rectangle become negative (i.e. large positive, since
 +      it's an unsigned data type).  This can happen in R2L hscrolled
 +      glyph rows, and caused us to draw the cursor glyph on the fringe.
 +      For the details, see
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00543.html.
 +
 +2014-08-31  Ken Brown  <kbrown@cornell.edu>
 +
 +      * gmalloc.c: Don't include <stdlib.h>.  Declare system malloc and
 +      friends before defining hybrid_malloc and friends if HYBRID_MALLOC
 +      is defined.  (Bug#18368)
 +
 +2014-08-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Vector-sorting fixes (Bug#18361).
 +      It's not safe to call qsort or qsort_r, since they have undefined
 +      behavior if the user-specified predicate is not a total order.
 +      Also, watch out for garbage-collection while sorting vectors.
 +      * fns.c: Include <vla.h>.
 +      (sort_vector_predicate) [!HAVE_QSORT_R]: Remove.
 +      (sort_vector_compare): Remove, replacing with ....
 +      (inorder, merge_vectors, sort_vector_inplace, sort_vector_copy):
 +      ... these new functions.
 +      (sort_vector): Rewrite to use the new functions.
 +      GCPRO locals, since the predicate can invoke the GC.
 +      Since it's in-place return void; caller changed.
 +      (merge): Use 'inorder', for clarity.
 +
 +      * sysdep.c (str_collate): Clear errno just before wcscoll(_l).
 +      One can't hoist this out of the 'if', because intervening calls to
 +      newlocale, twolower, etc. can change errno.
 +
 +2014-08-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Improve the
 +      wording of the error messages.
 +      (str_collate) [WINDOWSNT]: Signal an error if w32_compare_strings
 +      sets errno.
 +
 +      * w32proc.c (get_lcid_callback): Accept locale specifications
 +      without the country part, as in "enu" vs "enu_USA".
 +      (w32_compare_strings): Signal an error if a locale was specified,
 +      but couldn't be translated into a valid LCID.
 +
 +2014-08-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Move up setting errno.
 +
 +2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (str_collate) [__STDC_ISO_10646__]: Do not look at
 +      errno after towlower_l.  errno's value is not specified after
 +      towlower_l.  Instead, assume that towlower_l returns its argument
 +      on failure, which is portable in practice.
 +
 +2014-08-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp): Doc fix.
 +
 +      * w32proc.c (w32_compare_strings): Accept additional argument
 +      IGNORE_CASE.  Set up the flags for CompareStringW to ignore case
 +      if requested.  If w32-collate-ignore-punctuation is non-nil, add
 +      NORM_IGNORESYMBOLS to the flags.
 +      (LINGUISTIC_IGNORECASE): Define if not already defined.
 +      (syms_of_ntproc) <Vw32_collate_ignore_punctuation>: New variable.
 +
 +      * sysdep.c (str_collate) [WINDOWSNT]: Adapt to the interface
 +      change.
 +
 +2014-08-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (LC_CTYPE, LC_CTYPE_MASK, towlower_l):
 +      Define substitutes for platforms that lack them.
 +      (str_collate): Add arguments locale and ignore_case.
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp):
 +      Add optional arguments LOCALE and IGNORE-CASE.
 +
 +      * lisp.h (str_collate): Adapt argument list.
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Add vectors support to Fsort.
 +      * fns.c (sort_vector, sort_vector_compare): New functions.
 +      (sort_list): Likewise, refactored out of ...
 +      (Fsort): ... adjusted user.  Mention vectors in docstring.
 +      (sort_vector_predicate) [!HAVE_QSORT_R]: New variable.
 +      * alloc.c (make_save_int_obj): New function.
 +      * lisp.h (enum Lisp_Save_Type): New member SAVE_TYPE_INT_OBJ.
 +      (make_save_int_obj): Add prototype.
 +
 +      Fix last change to support Darwin/OSX and FreeBSD (Bug#18354).
 +      * sysdep.c (sort_vector_compare) [DARWIN_OS || __FreeBSD__]:
 +      Conditionally define to match system's qsort_r signature.
 +      (sort_vector) [DARWIN_OS || __FreeBSD__]: Likewise in call to qsort_r.
 +
 +2014-08-28  Ken Brown  <kbrown@cornell.edu>
 +
 +      Add support for HYBRID_MALLOC, allowing the use of gmalloc before
 +      dumping and the system malloc after dumping.  (Bug#18222)
 +
 +      * conf_post.h (malloc, realloc, calloc, free) [HYBRID_MALLOC]:
 +      Define as macros, expanding to hybrid_malloc, etc.
 +      (HYBRID_GET_CURRENT_DIR_NAME): New macro.
 +      (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Define as
 +      macro.
 +      * gmalloc.c: Set up the infrastructure for HYBRID_MALLOC, with a
 +      full implementation on Cygwin.  Remove Cygwin-specific code that
 +      is no longer needed.
 +      (malloc, realloc, calloc, free, aligned_alloc) [HYBRID_MALLOC]:
 +      Redefine as macros expanding to gmalloc, grealloc, etc.
 +      (DUMPED, ALLOCATED_BEFORE_DUMPING) [CYGWIN]: New macros.
 +      (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]: Undefine.
 +      (USE_PTHREAD, posix_memalign) [HYBRID_MALLOC]: Don't define.
 +      (hybrid_malloc, hybrid_calloc, hybrid_free, hybrid_realloc)
 +      [HYBRID_MALLOC]:
 +      (hybrid_get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
 +      (hybrid_aligned_alloc) [HYBRID_MALLOC && (HAVE_ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: New functions.
 +      * alloc.c (aligned_alloc) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: Define as macro expanding to
 +      hybrid_aligned_alloc; declare.
 +      (USE_ALIGNED_ALLOC) [HYBRID_MALLOC && (ALIGNED_ALLOC ||
 +      HAVE_POSIX_MEMALIGN)]: Define.
 +      (refill_memory_reserve) [HYBRID_MALLOC]: Do nothing.
 +      * sysdep.c (get_current_dir_name) [HYBRID_GET_CURRENT_DIR_NAME]:
 +      Define as macro, expanding to gget_current_dir_name, and define
 +      the latter.
 +      * emacs.c (main) [HYBRID_MALLOC]: Don't call memory_warnings() or
 +      malloc_enable_thread().  Don't initialize malloc.
 +      * lisp.h (NONPOINTER_BITS) [CYGWIN]: Define (because GNU_MALLOC is
 +      no longer defined on Cygwin).
 +      (refill_memory_reserve) [HYBRID_MALLOC]: Don't declare.
 +      * sheap.c (bss_sbrk_buffer_end): New variable.
 +      * unexcw.c (__malloc_initialized): Remove variable.
 +      * ralloc.c: Throughout, treat HYBRID_MALLOC the same as
 +      SYSTEM_MALLOC.
 +      * xdisp.c (decode_mode_spec) [HYBRID_MALLOC]: Don't check
 +      Vmemory_full.
 +
 +2014-08-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click):
 +      In `event->y' return entire range (the size of the scroll bar minus
 +      that of the thumb).
 +      * xterm.c (xm_scroll_callback, xaw_jump_callback): In `whole'
 +      return entire range (the scaled size of the scroll bar minus
 +      that of the slider).  In `portion' return the scaled position of
 +      the slider.
 +      (xaw_jump_callback): Restore part of code for vertical scroll
 +      bar broken in change from 2014-07-27.
 +      (xaw_scroll_callback): Provide incremental scrolling with
 +      horizontal scroll bars.
 +
 +2014-08-28  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Don't define.
 +
 +      * indent.c (Fvertical_motion): Fix vertical motion up through a
 +      display property after a newline.  (Bug#18276)
 +
 +      * xdisp.c (display_line): Don't assume that the call to
 +      reseat_at_next_visible_line_start ends up at a character
 +      immediately following the newline on the previous line.
 +      Avoids setting the ends_at_zv_p flag on screen lines that are not at or
 +      beyond ZV, which causes infloop in redisplay.  For the details, see
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00368.html.
 +
 +      * dispnew.c (buffer_posn_from_coords): Fix mirroring of X
 +      coordinate for hscrolled R2L screen lines.  (Bug#18277)
 +
 +2014-08-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (LC_COLLATE, LC_COLLATE_MASK): Give individual defaults
 +      (Bug#18051).
 +
 +2014-08-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * syntax.c (scan_lists): Don't examine positions before BEGV.
 +      (Bug#18339)
 +
 +2014-08-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve robustness of new string-collation code (Bug#18051).
 +      * sysdep.c (LC_COLLATE, LC_COLLATE_MASK, freelocale, locale_t)
 +      (newlocale, wcscoll_l): Define substitutes for platforms that
 +      lack them, so as to simplify the mainline code.
 +      (str_collate): Simplify the code by assuming the above definitions.
 +      Use wcscoll_l, not uselocale, as uselocale is too fragile.
 +      For example, the old version left the Emacs in the wrong locale if
 +      wcscoll reported an error.  Use 'int', not ptrdiff_t, for the int
 +      result.  Report an error if newlocale fails.
 +
 +2014-08-27  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * lisp.h (str_collate):
 +      * sysdep.c (str_collate): Return int.
 +      (str_collate) [__STDC_ISO_10646__]: Propagate error of wcscoll.
 +
 +2014-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix some glitches in previous change.
 +      * sysdep.c (stack_direction): Replace stack_grows_down
 +      to simplify calculation of stack boundaries.
 +      (handle_sigsegv): Check whether we really crash somewhere near
 +      to stack boundary, and handle fatal signal as usual if not.
 +      (init_sigsegv): Adjust accordingly.
 +      * keyboard.c (Vtop_level_message): Rename to
 +      Vinternal__top_level_message, as suggested by Stefan Monnier in
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00493.html
 +      All related users changed.
 +
 +2014-08-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Handle C stack overflow caused by too nested Lisp evaluation.
 +      * lisp.h (toplevel) [HAVE_STACK_OVERFLOW_HANDLING]: Declare
 +      siglongjmp point to transfer control from SIGSEGV handler.
 +      * keyboard.c (return_to_command_loop, recover_top_level_message)
 +      [HAVE_STACK_OVERFLOW_HANDLING]: New variables.
 +      (regular_top_level_message): New variable.
 +      (command_loop) [HAVE_STACK_OVERFLOW_HANDLING]: Handle non-local
 +      exit from SIGSEGV handler and adjust message displayed by Vtop_level
 +      if appropriate.
 +      (syms_of_keyboard): DEFVAR Vtop_level_message and initialize
 +      new variables described above.
 +      * sysdep.c [HAVE_SYS_RESOURCE_H]: Include sys/resource.h as such.
 +      (stack_grows_down, sigsegv_stack, handle_sigsegv)
 +      [HAVE_STACK_OVERFLOW_HANDLING]: New variables and function.
 +      (init_sigsegv): New function.
 +      (init_signals): Use it.
 +
 +2014-08-25  Ken Brown  <kbrown@cornell.edu>
 +
 +      * emacs.c (main): Remove use of obsolete macro
 +      G_SLICE_ALWAYS_MALLOC.
 +
 +2014-08-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Implement locale-sensitive string collation for MS-Windows.
 +      * w32proc.c (get_lcid_callback, get_lcid, w32_compare_strings):
 +      New functions.  (Bug#18051)
 +
 +      * w32.h (w32_compare_strings): Add prototype.
 +
 +      * w32.c <g_b_init_compare_string_w>: New global flag.
 +      (globals_of_w32): Initialize it.
 +
 +      * sysdep.c (str_collate) [WINDOWSNT]: Implementation for MS-Windows.
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp)
 +      [WINDOWSNT]: Call str_collate on MS-Windows.
 +
 +2014-08-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      One more minor cleanup of font subsystem.
 +      * font.h (struct font_driver): Convert text_extents to
 +      return void because returned value is never actually used.
 +      * macfont.m (macfont_text_extents):
 +      * w32font.c (w32font_text_extents):
 +      * xftfont.c (xftfont_text_extents): Adjust to return void
 +      and assume that 'metrics' argument is always non-NULL.
 +      * ftfont.c (ftfont_text_extents):
 +      * xfont.c (xfont_text_extents): Likewise.  Avoid redundant memset.
 +
 +2014-08-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor cleanups of str_collate fix (Bug#18051).
 +      * fns.c (str_collate): Move decl from here ...
 +      * lisp.h (str_collate): ... to here.
 +      * sysdep.c (str_collate): Prune away some of the forest of ifdefs.
 +      Remove unnecessary casts.  Use SAFE_NALLOCA to avoid
 +      potential problems with integer overflow.  Don't assume
 +      setlocale succeeds.  Remove unnecessary test before restoring
 +      locale via setlocale, and free the copied setlocale string
 +      when done with it.
 +
 +2014-08-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * fns.c (Fstring_collate_lessp, Fstring_collate_equalp): New DEFUNs.
 +
 +      * sysdep.c (str_collate): New function.  (Bug#18051)
 +
 +2014-08-23  Karol Ostrovsky  <karol.ostrovsky@gmail.com>  (tiny change)
 +
 +      * Makefile.in (emacs$(EXEEXT)): Retry deletion of bootstrap-emacs
 +      if the initial "rm -f" fails.  This is for MinGW builds, where
 +      MS-Windows will not allow deleting the executable file of a
 +      running program.
 +
 +2014-08-20  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.c (w32_scroll_bar_handle_click)
 +      (w32_horizontal_scroll_bar_handle_click)
 +      (x_scroll_bar_report_motion)
 +      (x_horizontal_scroll_bar_report_motion): For SB_THUMBPOSITION and
 +      SB_THUMBTRACK, use the 32-bit position information returned by
 +      GetScrollInfo, not the 16-bit information returned in the Windows
 +      message sent to us.
 +
 +2014-08-19  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click): Fix the
 +      second coordinate ('y') reported for dragging the horizontal
 +      scroll bar thumb.
 +
 +2014-08-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +
 +      * xdisp.c (erase_phys_cursor): Fix confusion between window-relative
 +      and text area-relative x-coordinates.
 +
 +2014-08-17  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Avoid overwriting the reversed_p flags in the glyph matrices when
 +      init_iterator or start_display are called.
 +      * xdisp.c (init_iterator): Don't initialize the reversed_p flag of
 +      the glyph row here.
 +      (tool_bar_height, redisplay_tool_bar, try_window)
 +      (try_window_reusing_current_matrix, try_window_id)
 +      (get_overlay_arrow_glyph_row, display_menu_bar): Initialize the
 +      reversed_p flag of the iterator's glyph row where the glyph row
 +      is going to be redrawn.
 +
 +2014-08-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xdisp.c (set_horizontal_scroll_bar): Don't use uninitialized local.
 +
 +2014-08-16  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_horizontal_scroll_bar_handle_click): In y part
 +      of emacs_event return length from si.nPage to si.nMax.
 +      * xdisp.c (set_horizontal_scroll_bar): For right-to-left text
 +      interchange start and end of thumb.
 +
 +2014-08-15  Ken Brown  <kbrown@cornell.edu>
  
        * gmalloc.c (_malloc_mutex, _aligned_blocks_mutex) [CYGWIN]: Use
        ERRORCHECK mutexes.  (Bug#18222)
  
 +2014-08-12  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (set_menu_bar_lines_1): Remove.
 +      (set_menu_bar_lines): Call change_frame_size instead of
 +      set_menu_bar_lines_1.
 +
 +2014-08-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfns.m (Fx_create_frame): Call adjust_frame_size,
 +      set f->official.
 +
  2014-08-11  Glenn Morris  <rgm@gnu.org>
  
        * fileio.c: Revert 2013-01-31 change, which chose coding system for
        Move last piece back here from Fwrite_region.
        (Fwrite_region, syms_of_fileio): Update for above changes.
  
 -2014-08-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_new_total, Fwindow_new_normal)
 -      (Fwindow_new_pixel, Fset_window_new_pixel)
 -      (Fset_window_new_total, Fset_window_new_normal): Second attempt
 -      to fix the doc-strings of these functions.  See:
 -      http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-08/msg00287.html
 -
 -2014-08-08  Martin Rudalics  <rudalics@gmx.at>
 +2014-08-11  Martin Rudalics  <rudalics@gmx.at>
  
        * window.c (Fwindow_valid_p): Fix doc-string (Bug#18194).
        (Fwindow_new_total, Fwindow_normal_size, Fwindow_new_normal)
        (Fwindow_new_pixel, Fset_window_new_pixel)
        (Fset_window_new_total, Fset_window_new_normal)
        (Fwindow_resize_apply): Fix doc-strings (see Bug#18112).
 +      See also:
 +      http://lists.gnu.org/archive/html/bug-gnu-emacs/2014-08/msg00287.html
  
 -2014-08-07  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-11  Eli Zaretskii  <eliz@gnu.org>
  
        * fontset.c (Finternal_char_font): Recompute basic faces if the
        frame's face cache was cleared.  (Bug#18162)
  
 -2014-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-08-11  Dmitry Antipov  <dmantipov@yandex.ru>
  
        Fix bug with uninitialized undo list of an indirect buffer (Bug#18180).
        * buffer.c (Fmake_indirect_buffer): Initialize undo list with the
        base buffer's undo list.
  
 -2014-08-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-08-10  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Fix a couple of recent inadvertent breaks of the MSDOS port.
 +      * msdos.c: include required menu.h
 +      * term.c: set correct menu_show_hook on MSDOS.
  
 -      Fix bug with an attempt to select uninitialized frame (Bug#18161).
 -      * xfns.c (Fx_create_frame): Move call to change_frame_size to
 -      a section where Lisp evaluation is disabled.  This way a pointer
 -      to uninitialized frame is not accessible from Lisp, which becomes
 -      critical if following call to x_figure_window_size throws an error.
 +2014-08-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      Fix handling of menu bar line on TTY frames (Bug#18136)
 +      (Bug#18196).
 +      * dispnew.c (handle_window_change_signal):
 +      * keyboard.c (Fsuspend_emacs): Call change_frame_size with
 +      frame's menu bar lines subtracted from height.
 +      * frame.c (frame_inhibit_resize): Inhibit resizing of TTY
 +      frames.
 +      (adjust_frame_size): Count in menu bar when setting FrameRows.
 +      (make_terminal_frame): When setting up the frame's lines and
 +      text height don't count in the menu bar.
 +      (Fmake_terminal_frame): Call adjust_frame_size with menu bar
 +      lines subtracted from height.
 +      (do_switch_frame): Set tty's FrameRows to number of total lines
 +      of frame.
 +      (Fframe_pixel_height, Fframe_pixel_width): If no window system
 +      is used, return total number of lines and columns.
 +      * menu.c (emulate_dialog_with_menu): Use FRAME_TOTAL_LINES instead
 +      of FRAME_LINES.
 +      * term.c (OUTPUT, tty_set_terminal_modes)
 +      (tty_set_terminal_window, tty_set_scroll_region)
 +      (tty_clear_to_end, tty_write_glyphs, tty_write_glyphs_with_face)
 +      (tty_ins_del_lines, tty_menu_display, tty_menu_activate):
 +      Use FRAME_TOTAL_LINES instead of FRAME_LINES.
 +      (Fresume_tty): Use FRAME_TOTAL_LINES instead of FRAME_LINES.
 +      Call change_frame_size with frame's menu bar lines subtracted
 +      from height.
 +      * w32console.c (w32con_clear_to_end, w32con_clear_frame)
 +      (w32con_ins_del_lines): Use FRAME_TOTAL_LINES instead of
 +      FRAME_LINES.
  
 -2014-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-08-09  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * alloc.c (Fmemory_info): Remove a stray brace.
 +
 +      * process.c: Fix a comment typo.
 +
 +      * msdos.c, dosfns.c (init_dosfns): Remove support for DJGPP < 2.02.
 +
 +2014-08-09  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * widgetprv.h (EmacsFramePart): Remove font.
 +
 +      * widget.c (DEFAULT_FACE_FONT, EmacsFrameSetValues, setup_frame_gcs)
 +      (resources, setup_frame_cursor_bits): Remove unused variables and
 +      functions, esp. wrt. font (Bug#18227).
 +
 +2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xterm.c (x_delete_terminal): Plug file descriptor leak (Bug#17691).
 +
 +2014-08-07  Reuben Thomas  <rrt@sc3d.org>
 +
 +      Refer to MS-DOS using the same name everywhere.
 +
 +      * editfns.c: Fix a couple of ``MS-DOG''s missed in the previous
 +      commit.
 +      * xfaces.c: ditto.
 +
 +2014-08-05  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32term.c (w32_redeem_scroll_bar):
 +      * xterm.c (XTredeem_scroll_bar): Revert part of last change by
 +      not redeeming scroll bars that have been turned off.
 +
 +2014-08-05 Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c (safe_run_hooks): Follow the convenient style to bind
 +      inhibit-quit to t and pass 2 args to safe_run_hook_funcall.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00077.html>.
 +      (safe_run_hook_funcall): Adjust accordingly.
 +
 +2014-08-04  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS):
 +      Condition correctly according to toolkit used.
 +      * frame.c (make_initial_frame, make_terminal_frame)
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height)
 +      (Vdefault_frame_horizontal_scroll_bars): Correctly condition
 +      assignments according to presence of toolkit scrollbars.
 +      * window.h (WINDOW_HAS_HORIZONTAL_SCROLL_BAR):
 +      Condition correctly according to toolkit used.
 +      * window.c (set_window_scroll_bars): Set horizontal scroll bar
 +      only if toolkit supports it.
 +      * w32term.c (w32_redeem_scroll_bar): Always redeem scroll bar if
 +      present.
 +      * xterm.c (x_scroll_bar_create): Initialize horizontal slot for
 +      non-toolkit builds.
 +      (XTredeem_scroll_bar): Always redeem scroll bar if present.
 +
 +2014-08-04 Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c (safe_run_hook_funcall): Avoid consing around
 +      Vinhibit_quit and prefer internal_condition_case_n to pass args.
 +      (safe_run_hooks_error, safe_run_hooks_1): Adjust accordingly.
 +      (safe_run_hooks): Remove comment which is not relevant any more.
 +
 +2014-08-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't let big frames overrun the stack.
 +      * dispnew.c (mirrored_line_dance, mirror_line_dance, scrolling):
 +      Use SAFE_NALLOCA, not alloca.
  
        Fix bug with clang + directory_files_internal + GC (Bug#16986).
        * dired.c (directory_files_internal): Use a volatile variable
        so that x_delete_terminal has a file descriptor to pass to
        delete_keyboard_wait_descriptor.
  
 +      Don't mishandle year-9999 dates (Bug#18176).
 +      * editfns.c (decode_time_components): Store an invalid timespec
 +      on overflow, instead of returning false, so that the caller can
 +      distinguish overflow from other errors.
 +      (lisp_time_argument, lisp_seconds_argument): If the time is out
 +      of range, signal a time overflow instead of an invalid time spec.
 +      * keyboard.c (decode_timer): Treat time overflow like other
 +      timespec errors.
 +
 +      Avoid undefined behavior with signed left shift.
 +      Caught by 'gcc -fsanitize=undefined'.
 +      * dispextern.h, scroll.c (scrolling_max_lines_saved, scrolling_1):
 +      * dispnew.c (line_hash_code, scrolling):
 +      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 +      Use 'unsigned', not 'int', for line hashes.
 +      (scrolling_max_lines_saved): Avoid mystery constants for hash sizes.
 +
 +2014-08-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Make compare-strings more compatible with old behavior (Bug#17903).
 +      * fns.c (Fcompare_strings): Silently bring too-large ends into range.
 +
 +2014-08-02  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * gtkutil.c (create_dialog): Force min spacing 10 between buttons.
 +      Don't add label between left and right buttons (Bug#18129).
 +
 +2014-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Make functions static that no longer need to be extern.
 +      * frame.c, frame.h (set_menu_bar_lines):
 +      * keyboard.c (Qleftmost, Qrightmost):
 +      * xfns.c, frame.h, menu.h (x_set_menu_bar_lines, x_set_tool_bar_lines)
 +      (x_set_internal_border_width):
 +      Now static.
 +
  2014-08-01  Eli Zaretskii  <eliz@gnu.org>
  
        Fix display of R2L lines when the last character fits only partially.
        line.  When the last glyph fits only partially, give the row a
        negative x offset.
  
 -2014-07-29  Eli Zaretskii  <eliz@gnu.org>
 -
        Fix hscroll of R2L lines that begin with a TAB or another wide glyph.
        * xdisp.c (append_stretch_glyph): In a R2L glyph row, decrease the
        pixel width of the first glyph that is hscrolled from display.
        (display_line): In R2L glyph rows, don't give a negative offset to
        row->x when the first glyph begins before first_visible_x.
  
 -2014-07-29  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (display_line): If called with iterator set up to write
 +      to a marginal area, delay the call to handle_line_prefix until we
 +      switch back to the text area.  (Bug#18035)
 +
 +      * .gdbinit (xwindow): The members total_cols, total_lines,
 +      left_col, and top_line are C integers (and has been so for the
 +      last 1.5 years).
 +
 +2014-08-01  Andreas Schwab  <schwab@suse.de>
  
        * macros.c (Fstart_kbd_macro): Initialize kbd_macro_ptr and
        kbd_macro_end together with kbd_macro_buffer.  (Bug#18140)
  
 -2014-07-28  Eli Zaretskii  <eliz@gnu.org>
 +2014-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * xdisp.c (display_line): If called with iterator set up to write
 -      to a marginal area, delay the call to handle_line_prefix until we
 -      switch back to the text area.  (Bug#18035)
 +      * atimer.c (toplevel) [HAVE_TIMERFD]: Include errno.h.
 +      (timerfd_callback): Ignore weird events with no data.  Add tight
 +      assertions and comments.
 +      (init_atimer) [HAVE_TIMERFD]: Add environment variable to optionally
 +      disable timerfd-based timer.  Use TFD_NONBLOCK for timer descriptor.
 +
 +2014-08-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c (x_set_frame_parameters): Fix typo in previous patch.
 +      I had confused && with ||.
 +
 +2014-07-31  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Simplify timerfd configuration and fix some minor glitches.
 +      * atimer.c (TIMERFD_CREATE_FLAGS): Remove; we now assume TFD_CLOEXEC.
 +      (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
 +      Fall back on timer_create if timerfd_create fails at runtime.
 +      (resolution) [HAVE_CLOCK_GETRES]: Remove; we now rely on the
 +      kernel primitives to do resolution.  All uses removed.
 +      (timerfd) [!HAVE_TIMERFD]: Define to be -1, for convenience.
 +      (turn_on_atimers): Clear timer_create-based timers too,
 +      for consistency.
 +
 +      * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
 +      Without this change, the code can access the local variable 'width'
 +      even when it has not been initialized, and likewise for 'height';
 +      in either case this leads to undefined behavior.
 +
 +2014-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xrdb.c (x_load_resources) [USE_MOTIF]: Although not strictly
 +      necessary, put horizontal scroll bar resources as well.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00430.html>.
 +      * xterm.c (x_sync_with_move): Really wait 0.5s, not 0.0005s.
 +
 +2014-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xrdb.c (x_load_resources) [!USE_MOTIF]: Put horizontal scroll bar
 +      background value to match the resource of its vertical counterpart.
 +
 +2014-07-29  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (adjust_frame_size): Use FRAME_WINDOW_P instead of
 +      FRAME_X_WINDOW when calling x_set_window_size (Bug#18138).
 +
 +2014-07-28  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (x_set_frame_parameters): Revert part of 2014-07-24
 +      change that added the top margin height to the requested height
 +      and revert (undocumented) part of 2014-07-28 change that changed
 +      the logic of whether a size change occurred.
 +
 +2014-07-28  Eli Zaretskii  <eliz@gnu.org>
  
        * .gdbinit (xwindow): The members total_cols, total_lines,
        left_col, and top_line are C integers (and has been so for the
        last 1.5 years).
  
 -2014-07-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * .gdbinit (xsubchartable): The members 'depth' and 'min_char' are
 +      now C integers.
 +
 +2014-07-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      On GNU/Linux, use timerfd for asynchronous timers.
 +      * atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h.
 +      (toplevel): Rename alarm_timer_ok to special_timer_available.
 +      [HAVE_TIMERFD]: Declare timerfd.
 +      [HAVE_CLOCK_GETRES]: Declare resolution.
 +      (start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to
 +      system timer resolution.
 +      (set_alarm) [HAVE_TIMERFD]: Use timerfd_settime.
 +      (timerfd_callback) [HAVE_TIMERFD]: New function.
 +      (atimer_result, debug_timer_callback, Fdebug_timer_check)
 +      [ENABLE_CHECKING]: New function for the sake of automated tests.
 +      (init_atimer) [HAVE_TIMERFD]: Setup timerfd.
 +      [HAVE_CLOCK_GETRES]: Likewise for system timer resolution.
 +      [ENABLE_CHECKING]: Defsubr test function.
 +      * atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype.
 +      * lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise.
 +      * process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function.
 +
 +      Fix --without-x build and pacify --enable-gcc-warnings.
 +      Problems reported in Bug#18122 and Bug#18124.
 +      * frame.c (get_frame_param): Define even if !HAVE_WINDOW_SYSTEM.
 +      (frame_windows_min_size): Now static.
 +      * frame.h (FRAME_HAS_HORIZONTAL_SCROLL_BARS) [!HAVE_WINDOW_SYSTEM]:
 +      Define as no-op.
 +      (adjust_frame_size): Always declare prototype.
 +
 +      Fix Gnus-related issues reported by David Kastrup <dak@gnu.org> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00370.html>.
 +      * atimer.c (timerfd_callback): Always read expiration data.
 +      Add comment.
 +      (turn_on_atimers) [HAVE_TIMERFD]: Disarm timerfd timer.
 +      * process.c (add_timer_wait_descriptor): Add timer descriptor
 +      to input_wait_mask and non_process_wait_mask as well.
 +
 +2014-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c (x_set_frame_parameters): Don't use uninitialized locals.
 +
 +2014-07-27  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (applicationDidFinishLaunching antialiasThresholdDidChange):
 +      Reinstate code removed by the prevoius commit to this file.
 +
 +2014-07-27  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.h (struct buffer): New fields scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      * buffer.c (bset_scroll_bar_height)
 +      (bset_horizontal_scroll_bar_type): New functions.
 +      (Fbuffer_swap_text): Handle old_pointm field.
 +      (init_buffer_once): Set defaults for scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (syms_of_buffer): New variables scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      * dispextern.h (window_part): Rename ON_SCROLL_BAR to
 +      ON_VERTICAL_SCROLL_BAR.  Add ON_HORIZONTAL_SCROLL_BAR.
 +      (set_vertical_scroll_bar): Remove prototype.
 +      (x_change_tool_bar_height): Add prototype.
 +      * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
 +      (window_to_frame_vpos, update_frame_1, scrolling, init_display):
 +      Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
 +      and FRAME_LINES.
 +      (adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
 +      (update_window): Start mode_line_row->y after horizontal scroll
 +      bar.
 +      (change_frame_size_1): Call adjust_frame_size.
 +      (init_display): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qframe_windows_min_size): New symbol.
 +      * frame.h (struct frame): List tool bar fields after menu bar
 +      fields.  Add official, total_lines, horizontal_scroll_bars,
 +      config_scroll_bar_height and config_scroll_bar_lines fields.
 +      (FRAME_HAS_HORIZONTAL_SCROLL_BARS)
 +      (FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
 +      (FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
 +      (FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
 +      (FRAME_WINDOWS_HEIGHT): New macros.
 +      (SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
 +      (FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
 +      (FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
 +      horizontal scroll bar.
 +      (frame_inhibit_resize, adjust_frame_size)
 +      (frame_windows_min_size): Add declarations.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (x_set_scroll_bar_default_height, x_set_left_fringe)
 +      (x_set_right_fringe, x_set_vertical_scroll_bars)
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
 +      (x_set_scroll_bar_height): Add external declarations.
 +      * frame.c: (frame_inhibit_resize, frame_windows_min_size)
 +      (adjust_frame_size): New functions.
 +      (make_frame): Initial horizontal_scroll_bars field.
 +      Use SET_FRAME_LINES.  Don't allow horizontal scroll bar in
 +      minibuffer window.
 +      (make_initial_frame, make_terminal_frame): No horizontal scroll
 +      bar in initial and terminal frames.  Use adjust_frame_size.
 +      (Fframe_total_cols): Fix doc-string.
 +      (Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
 +      (Fset_frame_height, Fset_frame_width, Fset_frame_size):
 +      Rewrite using adjust_frame_size.
 +      (Qscroll_bar_height, Qhorizontal_scroll_bars)
 +      (Qframe_windows_min_size): New symbols.
 +      (x_set_frame_parameters): Remove call of check_frame_size.
 +      (x_report_frame_params): Return scroll_bar_height value.
 +      (x_set_left_fringe, x_set_right_fringe): New functions.
 +      (adjust_frame_height, x_set_internal_border_width)
 +      (x_set_fringe_width): Remove.
 +      (x_set_internal_border_width, x_set_vertical_scroll_bars)
 +      (x_set_scroll_bar_width, x_set_right_divider_width)
 +      (x_set_bottom_divider_width): Rewrite using adjust_frame_size.
 +      (x_set_horizontal_scroll_bars, x_set_scroll_bar_height):
 +      New functions.
 +      (x_figure_window_size): Rewrite to make frame display the
 +      expected number of lines.
 +      (Vdefault_frame_scroll_bars): Rewrite doc-string.
 +      (Vdefault_frame_horizontal_scroll_bars)
 +      (Vframe_initial_frame_tool_bar_height)
 +      (frame_inhibit_implied_resize): New variables.
 +      * fringe.c (compute_fringe_widths): Remove.
 +      * gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb)
 +      (xg_get_default_scrollbar_height)
 +      (xg_clear_under_internal_border): Extern.
 +      * gtkutil.c (xg_frame_resized): Don't call
 +      do_pending_window_change.
 +      (xg_frame_set_char_size): Use adjust_frame_size.
 +      (style_changed_cb): Call update_theme_scrollbar_height and
 +      x_set_scroll_bar_default_height.
 +      (x_wm_set_size_hint): Don't call check_frame_size.
 +      (update_theme_scrollbar_height)
 +      (xg_get_default_scrollbar_height)
 +      (xg_create_horizontal_scroll_bar)
 +      (xg_update_horizontal_scrollbar_pos)
 +      (xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
 +      (xg_create_scroll_bar): Set horizontal slot of bar.
 +      (xg_initialize): Call update_theme_scrollbar_height.
 +      (xg_clear_under_internal_border): No more static.
 +      * insdel.c (adjust_suspend_auto_hscroll): New function.
 +      (adjust_markers_for_delete, adjust_markers_for_insert)
 +      (adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
 +      * keyboard.c (readable_events, discard_mouse_events)
 +      (make_lispy_event): Handle horizontal scroll bar click events.
 +      (Fsuspend_emacs): When changing the size of a tty frame do not
 +      pass height of menu bar.
 +      (Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
 +      (Qright, Qleftmost, Qrightmost): New symbols.
 +      * menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
 +      FRAME_LINES.
 +      * minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
 +      * nsfns.m (x_set_internal_border_width): New function.
 +      * nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
 +      Remove extended fringe code.
 +      (x_set_window_size, x_new_font): Don't call
 +      compute_fringe_widths.
 +      * term.c (Fresume_tty): When changing the size of a tty frame do
 +      not pass height of menu bar.
 +      (clear_tty_hooks, set_tty_hooks):
 +      Clear horizontal_scroll_bar_hook.
 +      (init_tty): Frame has no horizontal scroll bars.
 +      * termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
 +      scroll_bar_before_handle, scroll_bar_horizontal_handle,
 +      scroll_bar_after_handle, scroll_bar_left_arrow,
 +      scroll_bar_right_arrow, scroll_bar_to_leftmost and
 +      scroll_bar_to_rightmost entries.
 +      (enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
 +      (struct terminal): Add set_horizontal_scroll_bar_hook.
 +      * w32console.c (initialize_w32_display):
 +      Clear horizontal_scroll_bar_hook.
 +      * w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
 +      FRAME_X_DISPLAY.
 +      (x_clear_under_internal_border, x_set_internal_border_width):
 +      New functions.
 +      (x_set_menu_bar_lines): Rewrite using frame_inhibit_resize.
 +      Set windows_or_buffers_changed when adding the menu bar.
 +      (x_set_tool_bar_lines): Rewrite using adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (w32_createhscrollbar): New functions.
 +      (w32_createscrollbar): Rename to w32_createvscrollbar.
 +      (w32_createwindow): Init WND_HSCROLLBAR_INDEX.
 +      (w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
 +      WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR.
 +      Add WM_EMACS_SHOWCURSOR.
 +      (w32_wnd_proc): Handle WM_HSCROLL case.  In WM_WINDOWPOSCHANGING
 +      case do not artificially impose WM size hints.
 +      Handle WM_EMACS_SHOWCURSOR case.  Replace WM_EMACS_CREATESCROLLBAR case
 +      by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
 +      cases.
 +      (my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
 +      WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Make both scrollbars the system standard
 +      width and height.  Use official field of frame structure to
 +      inhibit running window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (w32_frame_parm_handlers): Remove x_set_fringe_width
 +      entries. Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe and
 +      x_set_right_fringe.
 +      * w32inevt.c (resize_event, maybe_generate_resize_event): Do not
 +      pass height of menu bar to change_frame_size.
 +      * w32menu.c (set_frame_menubar): Rewrite using
 +      frame_inhibit_resize.
 +      * w32term.h (struct w32_display_info):
 +      Add horizontal_scroll_bar_cursor and cursor_display_counter.
 +      (struct scroll_bar): Add horizontal.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
 +      (WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR):
 +      Define instead of WM_EMACS_CREATESCROLLBAR.
 +      (WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
 +      WND_SCROLLBAR_INDEX.
 +      * w32term.c (horizontal_scroll_bar_min_handle)
 +      (horizontal_scroll_bar_left_border)
 +      (horizontal_scroll_bar_right_border): New integers.
 +      (x_set_frame_alpha): Replace x_highlight_frame by
 +      w32_focus_frame.
 +      (x_window_to_scroll_bar): New argument "type".  Update callers
 +      accordingly.
 +      (w32_set_horizontal_scroll_bar_thumb)
 +      (x_horizontal_scroll_bar_report_motion)
 +      (w32_set_horizontal_scroll_bar)
 +      (w32_horizontal_scroll_bar_handle_click)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (w32_mouse_position): Discriminate horizontal and vertical
 +      scrollbar cases.
 +      (my_create_scrollbar): Replace with two new functions
 +      my_create_vscrollbar and my_create_hscrollbar.
 +      (x_scroll_bar_create): New argument "horizontal".
 +      Update callers accordingly.
 +      (x_scroll_bar_remove, w32_condemn_scroll_bars)
 +      (w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
 +      scroll bar case.
 +      (w32_read_socket): Handle WM_HSCROLL cae.
 +      (x_new_font): Don't recompute fringe widths.
 +      Use frame_inhibit_resize.  Calculate new menu bar height iff we
 +      build without toolkit.  Always clear under internal border.
 +      (x_set_window_size): Don't check frame size or recompute
 +      fringes.  Reset fullscreen status before applying sizes.
 +      Always resize as requested by pixelwise argument.  Don't call
 +      do_pending_window_change.
 +      (x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
 +      (w32_initialize_display_info): Initialize dpyinfo's
 +      horizontal_scroll_bar_cursor entry.
 +      (w32_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (w32_initialize): Init horizontal_scroll_bar_min_handle and
 +      horizontal_scroll_bar_left_border.
 +      (w32fullscreen_hook): Intermittently resize window to normal
 +      when switching from fullscreen to maximized state.
 +      (run_window_configuration_change_hook): Don't run it if frame is
 +      not official yet.
 +      (unwind_change_frame): Remove.
 +      (Fset_window_configuration): Rewrite using frame's official field.
 +      * widget.c (set_frame_size): Don't call compute_fringe_widths.
 +      (EmacsFrameSetCharSize): Obey frame_inhibit_resize.
 +      * window.h (struct window): New fields old_pointm,
 +      horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
 +      scroll_bar_height and suspend_auto_hscroll.
 +      (wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
 +      New functions.
 +      (sanitize_window_sizes): Extern.
 +      (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
 +      (WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
 +      (WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
 +      (WINDOW_CONFIG_SCROLL_BAR_LINES)
 +      (WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT):
 +      New macros.
 +      (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
 +      (WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
 +      (WINDOW_VERTICAL_SCROLL_BAR_TYPE)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
 +      (WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
 +      (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
 +      (WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
 +      * window.c (wset_old_pointm, Fwindow_scroll_bar_height)
 +      (Fwindow_old_point, sanitize_window_sizes): New functions.
 +      (Qwindow_sanitize_window_sizes): New symbol.
 +      (window_body_height): Count in horizontal scroll bar.
 +      (set_window_hscroll, Fscroll_left, Fscroll_right):
 +      Set suspend_auto_hscroll slot.
 +      (Fwindow_inside_edges): Count fringes pixelwise.
 +      (coordinates_in_window, Fcoordinates_in_window_p):
 +      Consider horizontal scroll bar.
 +      (check_frame_size, adjust_window_margins): Remove functions and
 +      corresponding calls.
 +      (set_window_buffer): Initialize old_pointm and horizontal scroll bars.
 +      (temp_output_buffer_show): Reset hscroll related fields.
 +      Initialize old_pointm.
 +      (make_parent_window): Initialize old_pointm.
 +      (make_window): Initialize old_pointm, horizontal scroll bar type,
 +      and scroll bar height.
 +      (resize_frame_windows): Don't count top margin in new sizes.
 +      Don't use safe sizes when shrinking a frame; let the window
 +      manager do the clipping.
 +      (Fsplit_window_internal): Inherit horizontal scroll bar type and
 +      height.
 +      (Fdelete_window_internal): Unchain old_pointm marker.
 +      (window_scroll_pixel_based, Fscroll_other_window):
 +      Adjust old_pointm.
 +      (Fwindow_text_width, Fwindow_text_height): New argument
 +      "pixelwise".
 +      (struct saved_window): New fields, old_pointm, hscroll_whole,
 +      suspend_auto_hscroll, scroll_bar_height and
 +      horizontal_scroll_bar_type.
 +      (Fset_window_configuration, save_window_save): Set new fields of
 +      saved_window.
 +      (apply_window_adjustment): Don't call adjust_window_margins.
 +      (set_window_margins): Don't change margins if new sizes don't
 +      fit into window.
 +      (set_window_scroll_bars): New argument "horizontal_type".
 +      Handle horizontal scroll bars.  Don't change scroll bars if they
 +      don't fit into window.
 +      (Fset_window_scroll_bars): New argument "horizontal_type".
 +      (Fwindow_scroll_bars): Return values for horizontal scroll bars.
 +      (compare_window_configurations): Compare horizontal scroll bar
 +      settings.
 +      * xdisp.c (window_text_bottom_y, window_box_height): Count in
 +      horizontal scroll bar height.
 +      (pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
 +      instead of FRAME_LINES.
 +      (remember_mouse_glyph): Case ON_SCROLL_BAR changed to
 +      ON_VERTICAL_SCROLL_BAR.
 +      (with_echo_area_buffer): Initialize old_pointm.
 +      (with_echo_area_buffer_unwind_data): Store old_pointm values in
 +      vector.
 +      (unwind_with_echo_area_buffer): Handle old_pointm.
 +      (update_tool_bar): Set do_update when the tool bar window has at
 +      least one line (since this is what the user sets).
 +      (MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
 +      (redisplay_tool_bar): Return early when toolbar has zero lines.
 +      Call x_change_tool_bar_height.  Don't use max_tool_bar_height.
 +      (hscroll_window_tree): Handle suspension of auto_hscroll and
 +      old_pointm.
 +      (set_horizontal_scroll_bar): New function.
 +      (redisplay_window): Set ignore_mouse_drag_p when tool bar has
 +      more than one line.  Handle horizontal scroll bars.
 +      (note_mouse_highlight): Handle horizontal scrol bars.
 +      (expose_frame): Set dimensions of XRectangle from frame's text
 +      sizes.
 +      (Vvoid_text_area_pointer): Update doc-string.
 +      * xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
 +      (x_change_tool_bar_height, x_set_scroll_bar_default_height)
 +      (x_set_internal_border_width): New functions.
 +      (x_set_tool_bar_lines): Call x_change_tool_bar_height.
 +      (unwind_create_frame_1): Remove.
 +      (Fx_create_frame): Handle horizontal scroll bars.  Use official
 +      field of frame structure to inhibit running
 +      window-configuration-change-hook.
 +      (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
 +      pixelwise.  Handle frame's official field.
 +      (x_frame_parm_handlers): Add x_set_scroll_bar_height,
 +      x_set_horizontal_scroll_bars, x_set_left_fringe,
 +      x_set_right_fringe.
 +      * xmenu.c (update_frame_menubar, free_frame_menubar):
 +      Use adjust_frame_size.
 +      * xterm.h (struct x_display_info):
 +      Add horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
 +      slots.
 +      (struct scroll_bar): Add horizontal slot.
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
 +      (HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
 +      (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
 +      (HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_TOP_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
 +      (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
 +      (x_clear_under_internal_border): Remove.
 +      * xterm.c (XTmouse_position): Handle horizontal scroll bars.
 +      (x_window_to_scroll_bar): New argument TYPE.  Update callers.
 +      (x_send_scroll_bar_event, x_scroll_bar_create): New arguments
 +      HORIZONTAL.  Update callers.
 +      (horizontal_action_hook_id): New action hook id.
 +      (x_horizontal_scroll_bar_to_input_event)
 +      (x_create_horizontal_toolkit_scroll_bar)
 +      (xt_horizontal_action_hook)
 +      (x_set_toolkit_horizontal_scroll_bar_thumb)
 +      (XTset_horizontal_scroll_bar, x_net_wm_state)
 +      (x_horizontal_scroll_bar_report_motion): New functions.
 +      (xg_scroll_callback, x_scroll_bar_handle_click):
 +      Handle horizontal scroll bars.
 +      (SCROLL_BAR_HORIZONTAL_NAME): Define.
 +      (XTset_vertical_scroll_bar): Attempt to clear areas not covered
 +      by scroll bar.
 +      (XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite.
 +      Handle horizontal scroll bars.
 +      (handle_one_xevent): Handle horizontal scroll bar events.
 +      Call x_net_wm_state.
 +      (x_set_window_size_1, x_wm_set_size_hint): Don't call
 +      check_frame_size.
 +      (x_set_window_size): Don't call check_frame_size and
 +      do_pending_window_change.
 +      (x_term_init): Init horizontal_scroll_bar_cursor display info.
 +      (x_create_terminal): Add set_horizontal_scroll_bar_hook.
 +      (x_scroll_bar_set_handle): Add some checks when calling
 +      x_clear_area.
 +
 +2014-07-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Revert previous change.
 +      There is certainly nothing wrong with writing code like 'lo <= i
 +      && i <= hi', even if LO happens to a constant.  There isn't even
 +      anything wrong in general with writing 'a <= b' if A happens to
 +      be a constant.  At any rate stylistic changes shouldn't
 +      be done like this without discussion.
 +
 +2014-07-26  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * alloc.c (xnmalloc, xnrealloc, xpalloc, make_save_value)
 +      (Fgarbage_collect): Reorder conditions that are written backwards.
 +      * data.c (cons_to_unsigned): Likewise.
 +      * dispnew.c (update_frame_1, sit_for): Likewise.
 +      * fileio.c (file_offset): Likewise.
 +      * filelock.c (read_lock_data, lock_file): Likewise.
 +      * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
 +      Likewise.
 +      * font.c (font_intern_prop, font_style_symbolic): Likewise.
 +      * lisp.h (FIXNUM_OVERFLOW_P): Likewise.
 +      * lread.c (read1): Likewise.
 +      * minibuf.c (read_minibuf_noninteractive): Likewise.
 +      * nsterm.m (x_set_frame_alpha): Likewise.
 +      * process.c (wait_reading_process_output): Likewise.
 +      * region-cache.c (delete_cache_boundaries): Likewise.
 +      * xterm.c (x_set_frame_alpha): Likewise.
 +
 +2014-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * dispextern.h, xdisp.c (hourglass_shown_p, hourglass_atimer):
 +      Now static.
 +
 +2014-07-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * atimer.c (set_alarm) [HAVE_ITIMERSPEC]: Use TIMER_ABSTIME
 +      because atimer expiration is absolute rather than relative.
 +
 +2014-07-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32term.h (current_popup_menu, menubar_in_use):
 +      Move declarations from w32term.c.
 +
 +2014-07-25  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * w32fns.c (menubar_in_use): No more static.
 +      * w32term.c (current_popup_menu, menubar_in_use): Declare.
 +
 +2014-07-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Move hourglass machinery to RIF.
 +      * dispextern.h (struct redisplay_interface): New members
 +      show_hourglass and hide_hourglass.  Indent comments.
 +      (show_hourglass, hide_hourglass): Remove prototypes.
 +      * nsterm.m (show_hourgass, hide_hourglass): Refactor to ...
 +      (ns_show_hourglass, ns_hide_hourglass): ... new no-ops.
 +      (ns_redisplay_interface): Add them.
 +      * w32fns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * w32term.c (w32_show_hourglass, w32_hide_hourglass): ... these.
 +      (w32_arrow_cursor): New function to hack around non-GUI frames.
 +      (w32_redisplay_interface): Add new functions.
 +      * w32term.h (w32_arror_cursor): Add prototype.
 +      * xdisp.c (show_hourglass): New function, refactored out from
 +      platform-dependent code.
 +      (cancel_hourglass): Now call to RIF function.
 +      * xfns.c (show_hourglass, hide_hourglass): Refactor to ...
 +      * xterm.c (x_show_hourglass, x_hide_hourglass): ... these.
 +      (x_redisplay_interface): Add new functions.
 +
 +2014-07-24  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix error reported by Angelo Graziosi <angelo.graziosi@alice.it> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00274.html>
 +      and complete previous change.
 +      * frame.c (adjust_frame_height): New function.
 +      (Fset_frame_height, Fset_frame_size): Use it.
 +      (x_set_frame_parameters): Take frame top margin into account.
 +
 +2014-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fset_frame_height): Take frame top margin into account.
 +      Incorrect behavior was reported by Martin Rudalics <rudalics@gmx.at> in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00258.html>
 +
 +2014-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.h (struct x_output) [USE_X_TOOLKIT || USE_GTK]: Define
 +      menubar_height as such.  Tweak comment.
 +      [USE_LUCID && USE_TOOLKIT_SCROLL_BARS]: Likewise for
 +      scroll_bar_top_shadow_pixel and scroll_bar_bottom_shadow_pixel.
 +      All related users changed.
 +      (FRAME_MENUBAR_HEIGHT) [!USE_X_TOOLKIT && !USE_GTK]: No-op.
 +      * xterm.c (handle_one_xevent):
 +      * gtkutil.c (xg_event_is_for_menubar):
 +      * xfns.c (x_window) [USE_X_TOOLKIT]:
 +      * xmenu.c (set_frame_menubar, free_frame_menubar):
 +      Prefer to use FRAME_MENUBAR_HEIGHT.
 +
 +2014-07-21  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (Fframe_parameters): Always report frame height without
 +      menu and tool bar lines.
 +
 +2014-07-21  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsterm.m (applicationDidFinishLaunching:): Call
        antialiasThresholdDidChange, register for antialias changes (Bug#17534).
  
        * macfont.h (macfont_update_antialias_threshold): Declare.
  
 -2014-07-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-21  Eli Zaretskii  <eliz@gnu.org>
  
        * w32select.c (setup_windows_coding_system):
        Apply CODING_ANNOTATION_MASK to the common_flags member of struct
        row has zero buffer position as their start position.
        Reported by martin rudalics <rudalics@gmx.at>.
  
 -2014-07-16  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (move_it_vertically_backward, move_it_by_lines): Prevent
        infinite looping in redisplay when display lines don't have enough
        space to display even a single character.  (Bug#18036)
  
 -2014-07-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.h (struct frame) [USE_X_TOOLKIT]: New member shell_position.
 +      * xfns.c (x_window): Use it to allow xfree later.
 +      (x_encode_text): Drop 3rd arg; unused.  Tweak comment and adjust users
 +      where appropriate.  Use bool for booleans and remove redundant checks.
 +      (Fx_backspace_delete_keys_p): Use XkbFreeKeyboard; explain why.
 +      * xterm.c (x_free_frame_resources): Free shell_position.
 +
 +2014-07-19  K. Handa  <handa@gnu.org>
 +
 +      * xfaces.c (realize_x_face): Call font_load_for_lface with no
 +      mandatory font spec (Bug#17973).
 +
 +2014-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * font.c (font_score): Return the worst score if the size of
 +      ENTITY is wrong by more than a factor 2 (Bug#17973).
 +
 +2014-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * frame.c (frame_unspecified_color): New function
 +      refactored out from ...
 +      (Fframe_parameters, Fframe_parameter): ... adjusted users.
 +      (x_fullscreen_adjust, set_frame_param): Move Windows-specific
 +      function to ...
 +      * w32term.c (x_fullscreen_adjust, set_frame_param): ... static here.
 +      * frame.h (x_fullscreen_adjust) [HAVE_NTGUI]:
 +      * lisp.h (set_frame_param): Remove prototype.
 +      * xterm.c (x_display_pixel_width, x_display_pixel_height): Now ...
 +      * xterm.h (x_display_pixel_width, x_display_pixel_height): ...
 +      inlined from here.
 +
 +      Prefer 'x_display_info *' to 'Display *' in X selection code.
 +      This helps to avoid unneeded calls to x_display_info_for_display.
 +      * xterm.h (struct selection_input_event): Record 'x_display_info *'
 +      instead of 'Display *'.
 +      (SELECTION_EVENT_DPYINFO): New macro.
 +      (SELECTION_EVENT_DISPLAY): Now inline function to prohibit using
 +      it as an lvalue.  Mention this in comment.
 +      * xterm.c (handle_one_xevent): Use SELECTION_EVENT_DPYINFO.
 +      * xselect.c (x_get_window_property_as_lisp_data, x_atom_to_symbol)
 +      (selection_data_to_lisp_data, receive_incremental_selection):
 +      Convert to use 'x_display_info *'.  Adjust users where appropriate.
 +      (lisp_data_to_selection_data): Likewise.  Also pass 'struct
 +      selection data *' as last arg to not return values in args.
 +      (unexpect_property_change): Use common removal technique.
 +
 +2014-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * print.c (print_preprocess): Adjust to match changed
 +      sub char-table structure and avoid crash (Bug#18038).
 +
 +      * data.c (wrong_choice): Not static any more.
 +      * lisp.h (wrong_choice): Add prototype.
 +      * frame.h (struct frame) [USE_X_TOOLKIT || HAVE_NTGUI]:
 +      Declare namebuf as such.  Tweak comment.
 +      [USE_GTK]: Likewise for tool_bar_position.
 +      (fset_tool_bar_position) [USE_GTK]: Ditto.
 +      (FRAME_TOOL_BAR_POSITION): New macro.
 +      * frame.c (x_report_frame_params):
 +      * gtkutil.c (update_frame_tool_bar):
 +      * xfns.c (Fx_create_frame): Use it.
 +      (x_set_tool_bar_position): Add meaningful diagnostic messages.
 +
 +2014-07-16  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (decode_mode_spec): Call file-remote-p on the current
        buffer's default-directory only if it is a string.  (Bug#17986)
  
 +2014-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      More precise control over values of some buffer-local variables.
 +      * keyboard.c (Qvertical_scroll_bar):
 +      * frame.c (Qleft, Qright): Move to ...
 +      * buffer.c (Qleft, Qright, Qvertical_scroll_bar): ... here.
 +      * buffer.c (Qchoice, Qrange, Qoverwrite_mode, Qfraction): New symbols.
 +      (syms_of_buffer): DEFSYM all of the above, attach special properties.
 +      Use special symbols to DEFVAR_PER_BUFFER overwrite-mode,
 +      vertical-scroll-bar, scroll-up-aggressively
 +      and scroll-down-aggressively.
 +      * buffer.h (Qchoice, Qrange, Qleft, Qright, Qvertical_scroll_bar):
 +      Add declarations.
 +      * nsfns.m, frame.h (Qleft, Qright):
 +      * nsterm.m (Qleft): Remove declarations.
 +      * gtkutil.c (toplevel): Include buffer.h.
 +      * data.c (wrong_choice, wrong_range): New functions.
 +      (store_symval_forwarding): Handle special properties of buffer-local
 +      variables and use functions from the above to signal error, if any.
 +
 +      * frame.h (enum fullscreen_type) [HAVE_WINDOW_SYSTEM]: Use more natural
 +      values.  Add comment.
 +      (struct frame): Re-arrange layout to avoid extra padding and use bit
 +      fields for output_method, want_fullscreen and vertical_scroll_bar_type.
 +      (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
 +      (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
 +      (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT) [!HAVE_WINDOW_SYSTEM]:
 +      Define as no-ops because there are no scroll bars anyway.
 +      * frame.c (make_frame, make_terminal_frame, make_initial_frame):
 +      Adjust users.
 +
 +      * font.c (fset_font_data) [HAVE_XFT || HAVE_FREETYPE]:
 +      Add convenient setter.
 +      (font_put_frame_data, font_get_frame_data): Use it.
 +
 +2014-07-15  Daiki Ueno  <ueno@gnu.org>
 +
 +      * nsgui.h (XCHAR2B_BYTE1): Add missing parentheses around
 +      pointer argument, before dereferencing.
 +      (XCHAR2B_BYTE2): Likewise.
 +
 +2014-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (toplevel): Use LWLIB_ID for next_menubar_widget_id.
 +      (pop_down_menu) [USE_X_TOOLKIT]: Accept integer arg.
 +      (create_and_show_popup_menu, create_and_show_dialog) [USE_X_TOOLKIT]:
 +      Use record_unwind_protect_int and avoid consing.
 +      (syms_of_xmenu) [USE_X_TOOLKIT]: Declare WIDGET_ID_TICK_START.
 +
 +      * regex.c (re_search_2): Use ssize_t to avoid integer overflow.
 +
 +2014-07-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use binary-io module, O_BINARY, and "b" flag (Bug#18006).
 +      * callproc.c (create_temp_file): Use mkostemp's O_BINARY flag.
 +      * emacs.c [MSDOS]:
 +      * emacs.c (main) [DOS_NT]: Don't mess with _fmode.
 +      (main) [MSDOS]: Use SET_BINARY instead of setmode.
 +      * minibuf.c: Include binary-io.h instead of fcntl.h.
 +      (read_minibuf_noninteractive):
 +      Use set_binary_mode instead of handcrafted code.
 +      Don't call emacs_set_tty if emacs_get_tty failed.
 +      * sysdep.c, systty.h (emacs_get_tty): Return int, not void.
 +      * sysdep.c (emacs_open, emacs_pipe): Use O_BINARY.
 +      * w32.c (pipe2): Adjust eassert to include O_BINARY.
 +
 +      * macros.c (Fstart_kbd_macro): Avoid need for overflow check.
 +      This works around a GCC compiler bug when Emacs is configured with
 +      --enable-gcc-warnings.
 +
 +2014-07-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (CHECK_VECTOR_OR_STRING): Return number of elements
 +      or characters in string, respectively.  Add comment.
 +      * fringe.c (Fdefine_fringe_bitmap):
 +      * fns.c (Fsubstring, substring_both): Use it.
 +      * keymap.c (Fdefine_key, Flookup_key):
 +      * macros.c (Fstart_kbd_macro): Likewise.  Avoid call to Flength.
 +
 +      * term.c (tty_menu_add_pane, tty_menu_add_selection):
 +      Use menu_item_width.
 +      (tty_menu_show): Simplify because tty_menu_create never return NULL.
 +
 +2014-07-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve behavior of 'bzr up; cd src; make -k'.
 +      * Makefile.in (top_srcdir): New var.
 +      (ntsource, lispsource, ALL_CFLAGS, gl-stamp, emacs.res):
 +      Use '$(top_srcdir)' instead of '$(srcdir)/..';
 +      its expansion is a bit shorter.
 +      (../config.status): Actually build config.status instead of
 +      just complaining.
 +      (ACLOCAL_INPUTS, AUTOCONF_INPUTS):
 +      New macros, copied and relocated from ../Makefile.in.
 +      ($(top_srcdir)/aclocal.m4, $(top_srcdir)/configure, config.in)
 +      (../config.status, Makefile): New dependencies and rules,
 +      copied with relocation from ../Makefile.in.  This should be more
 +      likely to rebuild the build machinery properly if you do a 'make'
 +      in the src directory.
 +
  2014-07-12  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (display_line): Don't call FETCH_BYTE with argument less
        * xfns.c (Fx_file_dialog) [USE_MOTIF, USE_GTK]: Update the doc
        string to match the one in w32fns.c.
  
 -2014-07-08  Eli Zaretskii  <eliz@gnu.org>
 +      * minibuf.c (read_minibuf_noninteractive) [WINDOWSNT]: Switch
 +      stdin to binary mode only if it is connected to a terminal.
 +
 +2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Coalesce extern decls.
 +      * minibuf.c (emacs_get_tty, emacs_set_tty, suppress_echo_on_tty):
 +      * sysdep.c (emacs_get_tty, emacs_set_tty):
 +      Move duplicate extern decls from here ...
 +      * systty.h: ... to here, so that there's just one copy.
 +
 +2014-07-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (changeFont:): Add ifdef NS_IMPL_COCOA.
 +
 +      * nsfns.m (Fns_popup_font_panel): Ditto.
 +
 +2014-07-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * minibuf.c (read_minibuf_noninteractive): Finish reading on '\r',
 +      not only on '\n'.
 +      [WINDOWSNT]: Switch stdin to binary mode when not echoing input.
 +
 +      * sysdep.c (emacs_get_tty, emacs_set_tty, suppress_echo_on_tty)
 +      [DOS_NT]: Implement for WINDOWSNT.
 +
 +      * systty.h (struct emacs_tty) [DOS_NT]: The struct member is now
 +      unsigned.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (suppress_echo_on_tty): New function.
 +      * minibuf.c (read_minibuf_noninteractive): Use it.
 +
 +2014-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (Fmemory_info) [HAVE_LINUX_SYSINFO]: Return nil if
 +      sysinfo failed.  Adjust docstring.
 +
 +2014-07-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Implement memory-info for MS-DOS.
 +      * dosfns.c (dos_memory_info): New function.
 +      * dosfns.h (dos_memory_info): Add prototype.
 +      * alloc.c (Fmemory_info) [MSDOS]: Call dos_memory_info.
 +      * vm-limit.c (get_lim_data) [MSDOS]: Call dos_memory_info, instead
 +      of doing some of its job.
 +
 +      * minibuf.c (read_minibuf_noninteractive) [WINDOWSNT]: Don't
 +      reference termios structure members.
 +
 +2014-07-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * sysdep.c (emacs_get_tty, emacs_set_tty): Make them externally visible.
 +
 +      * minibuf.c (top): Include systty.h.  Declare external
 +      emacs_get_tty and emacs_set_tty.
 +      (Vread_hide_char): New lisp variable.
 +      (read_minibuf_noninteractive): Hide characters with
 +      Vread_hide_char if it is a character.  (Bug#17839)
 +
 +2014-07-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Implement memory-info for MS-Windows.
 +      * w32.c (w32_memory_info): New function.
 +      * w32.h (w32_memory_info): Prototype it.
 +      * alloc.c (Fmemory_info) [WINDOWSNT]: Call it.
 +
 +2014-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * coding.h (struct coding_system): Remove 'error_positions' (unused)
 +      and 'errors' (set but unused) fields.  Use bitfields for 'eol_seen',
 +      'mode', 'common_flags' and 'result' fields, adjust layout to avoid
 +      extra padding and shrink struct coding_system by 56 bytes (x86_64).
 +      * coding.c (decode_coding_utf_8, decode_coding_utf_16)
 +      (decode_coding_emacs_mule, decode_coding_iso_2022, decode_coding_sjis)
 +      (decode_coding_big5, decode_coding_charset, decode_coding)
 +      (encode_coding): Adjust users.
 +
 +      * alloc.c (Fmemory_info): New function.
 +
 +2014-07-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * syntax.c (back_comment): Use more-natural location for label.
 +
 +      * font.c, font.h (font_unparse_fcname): Now static.
 +      Define only if HAVE_XFT || HAVE_FREETYPE || HAVE_NS.
 +
 +2014-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Next minor cleanup of font subsystem.
 +      * font.h (enum font_property_index): Remove FONT_ENTITY_INDEX (no
 +      users) and FONT_FORMAT_INDEX (set by a few font drivers but never
 +      really used).
 +      (FONT_ENTITY_NOT_LOADABLE, FONT_ENTITY_SET_NOT_LOADABLE): Remove;
 +      unused.
 +      * ftfont.h (ftfont_font_format): Remove prototype.
 +      * ftfont.c (ftfont_font_format): Remove; now unused.
 +      (ftfont_open):
 +      * nsfont.m (nsfont_open):
 +      * w32font.c (w32font_open_internal):
 +      * w32uniscribe.c (uniscribe_open):
 +      * xfont.c (xfont_open):
 +      * xftfont.c (xftfont_open): All users changed.
 +
 +      * coding.c (ALLOC_CONVERSION_WORK_AREA): Prefer ptrdiff_t to int and
 +      so avoid integer overflow if decoded gap size exceeds INT_MAX bytes.
 +
 +2014-07-09  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_to): Adjust calculation of line_start_x to what
        x_produce_glyphs does when it generates a stretch glyph that
        represents a TAB.  (Bug#17969)
  
 -2014-07-05  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (pos_visible_p): If CHARPOS is at beginning of window,
        and there is a display property at that position, don't call
        move_it_to to move to a position before window start.  (Bug#17942)
        Fix condition for finding CHARPOS by the first call to move_it_to.
        (Bug#17944)
  
 -2014-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * syntax.c (find_defun_start): Try the cache even
        if !open_paren_in_column_0_is_defun_start.
        (back_comment): If find_defun_start was pessimistic, use the
        scan_sexps_forward result to improve the cache (bug#16526).
  
 -2014-07-04  Daniel Colascione  <dancol@dancol.org>
 -
 -      Backport from trunk.
 -      * 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 (Bug#17928).
 -      (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-07-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-09  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (redisplay_window): If redisplay of a window ends up
        with point in a partially visible line at end of the window, make
        * w32.c (network_interface_info): Make sure the argument is a
        Lisp string.
  
 -2014-07-01  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c (read_and_dispose_of_process_output): Fix typo
 +      in previous patch: we want nonnegative fds, not nonzero fds.
 +
 +2014-07-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * chartab.c (char_table_translate): Move to...
 +      * character.h (char_table_translate): ... inline function here.
 +      Avoid Faref and assume that args are always valid.  This helps to
 +      speedup search, which is especially important for a huge buffers.
 +      * lisp.h (char_table_translate): Remove prototype.
 +
 +      * nsfont.m (nsfont_close): Free glyphs and metrics arrays as well.
 +      * font.c (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
 +      New function, with an intention to avoid code duplication between
 +      a few font drivers.
 +      * font.h (font_build_object) [HAVE_XFT || HAVE_FREETYPE || HAVE_NS]:
 +      Add prototype.
 +      * ftfont.c (ftfont_open):
 +      * macfont.m (macfont_open):
 +      * xftfont.c (xftfont_open): Use it.
 +
 +2014-07-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c: Add sanity checks for file descriptors (Bug#17844).
 +      (wait_reading_process_output, Fprocess_filter_multibyte_p):
 +      Check that infd is nonnegative before using it as an fd.
 +      (read_and_dispose_of_process_output, Fprocess_send_eof):
 +      Likewise, for outfd.
 +      (wait_reading_process_output): Omit unnecessary check of infd.
 +
 +2014-07-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Minor fixups related to usage of the 'long' type.
 +      * gnutls.c (emacs_gnutls_handshake):
 +      * xfaces.c (dump_realized_face):
 +      Work even if 'long' is narrower than 'void *'.
 +      * termcap.c (scan_file):
 +      * xselect.c (x_decline_selection_request)
 +      (x_reply_selection_request, x_get_window_property):
 +      * xterm.c (x_set_frame_alpha):
 +      Remove unnecessary 'L' suffixes of integer constants.
 +      * xfns.c (hack_wm_protocols):
 +      * xselect.c (x_fill_property_data):
 +      * xterm.c (x_set_offset, x_set_window_size_1, x_make_frame_invisible):
 +      Remove unnecessary casts to 'long'.
 +      (set_machine_and_pid_properties): Don't assume pid_t fits in 32 bits.
 +
 +      Minor ImageMagick safety fixes.
 +      * image.c (imagemagick_compute_animated_image):
 +      Remove useless assignment to local.  Avoid problems if dest_width is 0.
 +      (imagemagick_load_image): Use int for pixel counts that can't
 +      exceed INT_MAX.  Avoid problem if PixelGetNextIteratorRow returns
 +      a row width greater than the image width (or greater than LONG_MAX!).
 +
 +2014-07-04  K. Handa  <handa@gnu.org>
 +
 +      * coding.c (MIN_CHARBUF_SIZE): Delete it.
 +      (MAX_CHARBUF_EXTRA_SIZE): New macro.
 +      (ALLOC_CONVERSION_WORK_AREA): Use MAX_CHARBUF_EXTRA_SIZE.
 +
 +2014-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.h (struct font_driver): Remove get_outline and free_outline;
 +      not used by any font driver.
 +      * ftfont.c (ftfont_driver):
 +      * macfont.m (macfont_driver):
 +      * nsfont.m (nsfont_driver):
 +      * w32font.c (w32font_driver):
 +      * w32uniscribe.c (uniscribe_font_driver):
 +      * xfont.c (xfont_driver): Related users changed.
 +      * xselect.c (x_get_window_property): Use convenient xmalloc.
 +      Call to xfree only if some data was really allocated.
 +
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      On MS-Windows, display busy cursor on all GUI frames.
 +      This is similar to what we have on X.  Quickly tested by Dani Moncayo.
 +      * w32fns.c (toplevel): Remove hourglass_hwnd; no longer used.
 +      (w32_show_hourglass, w32_hide_hourglass, w32_note_current_window):
 +      Likewise.
 +      (hide_hourglass, show_hourglass): Redesign to match X counterparts.
 +      * xdisp.c (start_hourglass): Remove Windows-specific bits.
 +
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use convenient alists to manage per-frame font driver-specific data.
 +      * frame.h (struct frame): Rename font_data_list to...
 +      [HAVE_XFT || HAVE_FREETYPE]: ... font_data, which is a Lisp_Object now.
 +      * font.h (struct font_data_list): Remove; no longer need a special
 +      data type.
 +      (font_put_frame_data, font_get_frame_data) [HAVE_XFT || HAVE_FREETYPE]:
 +      Adjust prototypes.
 +      * font.c (font_put_frame_data, font_get_frame_data)
 +      [HAVE_XFT || HAVE_FREETYPE]: Prefer alist functions to ad-hoc list
 +      management.
 +      * xftfont.c (xftfont_get_xft_draw, xftfont_end_for_frame):
 +      Related users changed.
 +      * ftxfont.c (ftxfont_get_gcs, ftxfont_end_for_frame): Likewise.
 +      Prefer convenient xmalloc and xfree.
 +
 +2014-07-03  Eli Zaretskii  <eliz@gnu.org>
  
        * dispnew.c (prepare_desired_row): Accept 2 additional arguments:
        the window whose glyph row is being prepared and a flag whether it
  
        * dispextern.h (prepare_desired_row): Adjust prototype.
  
 -2014-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
  
        * xfaces.c (init_frame_faces): Always realize basic faces (Bug#17889).
        * menu.c (Fx_popup_dialog): Set Vmenu_updating_frame to avoid crash
        caused by xw_popup_dialog in daemon mode (Bug#17891).
  
 -2014-06-30  Eli Zaretskii  <eliz@gnu.org>
 +2014-07-03  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.c (do_switch_frame): When switching to another TTY frame,
        make sure FrameCols and FrameRows are in sync with the new frame's
        data.  (Bug#17875)
  
 +2014-07-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.
 +      * lisp.h (struct Lisp_Sub_Char_Table): Use C integers for depth and
 +      min_char slots.  Adjust comment.
 +      (enum char_table_specials): Rename from CHAR_TABLE_STANDARD_SLOTS.
 +      Add SUB_CHAR_TABLE_OFFSET member.
 +      (make_uninit_sub_char_table): New function.
 +      (toplevel): Add compile-time assert to verify suitable member layout
 +      in Lisp_Sub_Char_Table.
 +      * alloc.c (mark_char_table): Add extra argument to denote char table
 +      subtype.  Adjust to match new layout of sub char-table.
 +      (mark_object): Always mark sub char-tables with mark_char_table.
 +      * chartab.c (make_sub_char_table, copy_sub_char_table)
 +      (sub_char_table_ref, sub_char_table_ref_and_range, sub_char_table_set)
 +      (sub_char_table_set_range, optimize_sub_char_table, map_sub_char_table)
 +      (map_sub_char_table_for_charset, uniprop_table_uncompress):
 +      All related users changed.
 +      * lread.c (read1): Adjust to match new layout of sub char-table.
 +      * print.c (print_object): Likewise (Bug#17898).
 +
 +2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keymap.c (get_keyelt): Simplify.
 +      (copy_keymap_item): Remove left-over code for when we had
 +      key-shortcut caches.
 +
 +2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (judge): EmacsScroller: Move dealloc code here.
 +      (dealloc): Remove for EmacsScroller.
 +
 +      * nsterm.h (EmacsScroller): Remove dealloc.
 +
 +2014-06-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * coding.c (MIN_CHARBUF_SIZE): Enlarge to 32.  (Bug#17881)
 +
 +2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (update_frame_tool_bar): Set wait_for_tool_bar to NO
 +      when setNeedsDisplay is called so we don't trigger redisplay for every
 +      tool bar update.
 +
 +      * nsterm.m (any_help_event_p): New variable.
 +      (mouseMoved:): Set any_help_event_p to YES if help event is
 +      generated.  Remove else with empty help event that triggered redisplay
 +      for every mouse move.
 +      (windowDidResignKey:): If any_help_event_p, generate empty help event.
 +
 +2014-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xfns.c (Qsuppress_icon): Remove; no real users.
 +      (syms_of_xfns): Don't DEFSYM it.  Remove ancient comments.
 +      * w32fns.c (Qsuppress_icon): Remove, for the same reason.
 +      (syms_of_w32fns): Don't DEFSYM it.
 +
 +2014-06-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (ns-app): Mark as PHONY.
 +
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (mostlyclean): There are no libXMenu11.a,
 +      liblw.a in this directory.
 +
  2014-06-28  Andreas Schwab  <schwab@linux-m68k.org>
  
        * coding.c (encode_coding_utf_8): Correctly count produced_chars
        also in unibyte case.  (Bug#17865)
  
 -2014-06-25  Glenn Morris  <rgm@gnu.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase a bit.  (Bug#17846)
 +2014-06-28  K. Handa  <handa@gnu.org>
 +
 +      * coding.c (MAX_CHARBUF_SIZE): Rename from CHARBUF_SIZE.
 +      (MIN_CHARBUF_SIZE): New macro.
 +      (ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.
 +
 +2014-06-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Replace BOOTSTRAPEMACS sleight-of-hand
 +      with an order-only dependence on bootstrap-emacs.  (Bug#2151)
 +      (.el.elc): Replace suffix rule with pattern rule.
 +      (%.elc): New pattern rule, with order-only prerequisite.
 +      ($(lisp)): No more need to depend on BOOTSTRAPEMACS.
 +      ($(lispsource)/loaddefs.el): Use an order-only prerequisite
 +      in place of BOOTSTRAPEMACS.
 +
 +2014-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fns.c (Fcompare_strings): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Consistently use validate_subarray to verify substring.
 +      * fns.c (validate_substring): Not static any more.  Adjust to
 +      use ptrdiff_t, not EMACS_INT, because string and vector limits
 +      can't exceed ptrdiff_t even if EMACS_INT is wider.
 +      (Fcompare_strings, Fsubstring, Fsubstring_no_properties)
 +      (secure_hash): Adjust user.
 +      * lisp.h (validate_subarray): Add prototype.
 +      * coding.c (Fundecodable_char_position):
 +      * composite.c (Fcomposition_get_gstring, Fcompose_string_internal):
 +      Use validate_subarray.  Adjust comment to mention substring.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not allow out-of-range character position in Fcompare_strings.
 +      * fns.c (validate_subarray): Add prototype.
 +      (Fcompare_substring): Use validate_subarray to check ranges.
 +      Adjust comment to mention that the semantics was changed.  Also see
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00447.html.
 +
 +2014-06-24  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Be more consistent about the 'Qfoo' naming convention.
 +      * image.c (Fimagemagick_types):
 +      * lisp.h (lisp_h_CHECK_TYPE, CHECK_TYPE, CHECK_ARRAY):
 +      * process.c (Fmake_network_process):
 +      Rename C local identifier 'Qfoo to avoid giving the false
 +      impression that it stands for the symbol 'foo'.
 +
 +2014-06-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Simplify and cleanup character conversion stuff.
 +      * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe):
 +      Remove prototypes.
 +      * character.c (multibyte_char_to_unibyte)
 +      (multibyte_char_to_unibyte_safe): Remove; no longer used.
 +      * character.h (make_char): Remove; unused.
 +      (CHAR_TO_BYTE8, CHAR_TO_BYTE_SAFE): Simplify.
 +      (ASCII_BYTE_P): Remove; ASCII_CHAR_P does the same thing.
 +      * buffer.c, charset.c, charset.h, cmds.c, coding.c, editfns.c:
 +      * fileio.c, indent.c, insdel.c, keyboard.c, lread.c, print.c:
 +      * search.c, term.c, xdisp.c, xterm.c: Related users changed.
 +
 +2014-06-22  Mario Lang  <mlang@delysid.org>
 +
 +      * w32fns.c (Fw32_shell_execute): The the -> the.
 +
 +2014-06-22  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (mouse_position_for_popup):
 +      * xselect.c (mouse_position_for_drop): Do not duplicate ...
 +      * xfns.c (x_relative_mouse_position): ... and prefer this function.
 +      * menu.c (Fx_popup_menu):
 +      * xselect.c (x_handle_dnd_message): Adjust users.
 +      * menu.h (mouse_position_for_popup): Remove prototype.
 +      * xterm.h (x_relative_mouse_position): Add prototype.
 +      * xterm.c (x_find_topmost_parent): Break from the loop and do not
 +      call XFree if XQueryTree returns zero.
  
  2014-06-21  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Ffile_acl): Port to OS X, where acl_get_file (...,
        ACL_TYPE_ACCESS) doesn't work.
  
 -2014-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
        before checking key-translation-map (bug#17659).
  
 -2014-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +2014-06-21  Dmitry Antipov  <dmantipov@yandex.ru>
  
        * font.c (font_make_object): Avoid dangling pointer which may
        crash GC (Bug#17771).
  
 -2014-06-18  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-21  Eli Zaretskii  <eliz@gnu.org>
  
        * image.c [5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)]: Declare the
        prototype of DGifCloseFile as appropriate for older and newer
        (gif_load): Call gif_close instead of DGifCloseFile.  Divulge the
        error string where appropriate.  (Bug#17790)
  
 -2014-06-16  Eli Zaretskii  <eliz@gnu.org>
 -
        * xdisp.c (Fmove_point_visually): Instead of testing for keyboard
        macro execution, make sure point didn't move since last complete
        redisplay, as the condition for using the glyph matrix
        information.  (Bug#17777)
  
 -2014-06-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Minor cleanup of fonset code.
 +      * fontset.c (FONTSET_ID, set_fontset_id, FONTSET_NAME)
 +      (set_fontset_name, FONTSET_ASCII, set_fontset_ascii)
 +      (FONTSET_BASE, set_fontset_base, FONTSET_FRAME)
 +      (set_fontset_frame, FONTSET_NOFONT_FACE, set_fontset_nofont_face)
 +      (FONTSET_DEFAULT, set_fontset_default, FONTSET_FALLBACK)
 +      (set_fontset_fallback): Reorder extra slots and avoid unused slots.
 +      (free_realized_fontset): Remove because a no-op since 2008.
 +      (free_face_fontset): Adjust user.
 +      (syms_of_fontset): Shrink fontset by one extra slot.
 +
 +2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Omit redundant extern decls.
 +      Most of this patch is from Dmitry Antipov, in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
 +      * commands.h (update_mode_lines):
 +      * frame.h (Qbackground_color, Qforeground_color)
 +      (x_set_menu_bar_lines):
 +      * ftfont.c (ftfont_font_format):
 +      * intervals.h (Qkeymap, Qfont):
 +      * keyboard.c (timer_check, safe_run_hooks, Qregion_extract_function):
 +      * lisp.h (Ffboundp, Qnil, Qt, Qlambda, Qintegerp, Qwholenump)
 +      (Qsymbolp, Qlisp, Qconsp, Qstringp, Qarrayp, Qbufferp, Qmarkerp)
 +      (Qvectorp, Qbuffer_or_string_p, Qchar_table_p, Qvector_or_char_table_p)
 +      (Qfloatp, Qnumberp, Qfont_spec, Qfont_entity, Qfont_object)
 +      (Fbyteorder, wrong_type_argument, Fmax_char, syms_of_composite)
 +      (Fidentity, extract_float, init_display, syms_of_display, Qdisplay):
 +      (Qimage, Qbox, redisplay_preserve_echo_area, char_table_ref)
 +      (char_table_set, char_table_translate, Qautoload, Qbottom, Qtop)
 +      (Qvisible, Qfont, Qfront_sticky, Qrear_nonsticky, init_sigio)
 +      (Qtool_bar, Qheader_line):
 +      * macros.c (Fexecute_kbd_macro):
 +      * xdisp.c (Ftool_bar_height, Ftool_bar_height):
 +      * xterm.c (x_delete_terminal, XSetIMValues):
 +      * xterm.h (x_set_window_size, x_query_color, x_get_focus_frame)
 +      (x_implicitly_set_name, popup_activated)
 +      (widget_store_internal_border):
 +      Remove redundant decls.
 +      * frame.c [USE_X_TOOLKIT]: Include widget.h.
 +      * keyboard.c (Fexit_recursive_edit, Fabort_recursive_edit):
 +      Remove _Noreturn, as make-docfile now does that for us.
 +      * lisp.h (DEFUN): Don't declare fnname here; rely on make-docfile.
 +      (Qregion_extract_function): New decl.
 +      * window.c, xfns.c: Include menu.h.
 +
 +2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * callint.c (Fcall_interactively): Fix up last change (bug#17701).
 +
 +2014-06-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fileio.c (Fread_file_name): Do not pass redundant args and ...
 +      * callint.c (read_file_name): ... convert to static here.
 +      * lisp.h (Fread_file_name): Do not EXFUN it.
 +      (STRING_COPYIN): Remove; unused.
 +      * composite.c (CHAR_COMPOSABLE_P): Replace unsafe macro with ...
 +      (char_composable_p): ... static function.  All users changed.
 +      * eval.c (toplevel): Remove redundant #include directives.
 +      * xterm.c (x_initialize): Add static to match prototype.
 +      * ccl.c (Fccl_execute_on_string):
 +      * font.c (fon_intern_prop): Use make_specified_string.
 +
 +2014-06-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (ns-app): Fix typo that broke build on OS X.
 +      Reported by David Caldwell in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00251.html
 +
 +2014-06-16  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Do not ask for XRender extension each time XFT font is opened.
 +      * xftfont.c (xftfont_open): Move call to XRenderQueryExtension ...
 +      * xterm.c (x_term_init) [HAVE_XFT]: ... to here.  Adjust comment.
 +
 +2014-06-15  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in: Use `make -C' rather than `cd && make' throughout.
 +
 +2014-06-15  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (Fmove_point_visually): Don't use the glyph matrix
        information if we are in the middle of executing a keyboard macro,
        since redisplay doesn't update the screen until the macro is
        finished.  (Bug#17777)
  
 -2014-06-13  Eli Zaretskii  <eliz@gnu.org>
 -
        * alloc.c (cleanup_vector): Don't dereference a font driver
        pointer if it is NULL.  (Bug#17771)
  
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
 +      ($(lispsource)/international/charprop.el)
 +      ($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
 +      ($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
 +      ($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
 +      GNU make automatically passes command-line arguments to sub-makes.
 +
 +2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid hangs in accept-process-output (Bug#17647).
 +      * lisp.h, process.c (wait_reading_process_input):
 +      Return int, not bool.  All uses changed.
 +      * process.c (SELECT_CANT_DO_WRITE_MASK):
 +      Remove macro, replacing with ...
 +      (SELECT_CAN_DO_WRITE_MASK): ... new constant, with inverted sense.
 +      All uses changed.
 +      (status_notify): New arg WAIT_PROC.  Return int, not void.
 +      All uses changed.
 +
 +2014-06-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * menu.c (Fx_popup_menu): Don't call the frame's menu_show_hook if
 +      the frame is the initial frame, because the hook is not set up
 +      then, and Emacs crashes.
 +      Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
 +
 +2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keymap.c (silly_event_symbol_error): Don't recommend the use
 +      of strings.
 +
  2014-06-11  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (set_cursor_from_row): Fix an off-by-one error when
        matching overlay strings with 'cursor' property against buffer
        positions traversed in the glyph row.  (Bug#17744)
  
 -2014-06-08  Glenn Morris  <rgm@gnu.org>
 +2014-06-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.h (EmacsApp): Always compile in shouldKeepRunning, isFirst
 +      on Cocoa.
 +
 +      * nsterm.m (run): Always compile for Cocoa.  Use runtime check to
 +      determine 10.9 (Bug#17751).
 +
 +      * macfont.m (macfont_draw): Positions were not freed.
 +
 +2014-06-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...
 +      * xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
 +      function.  Also adjust comment.
 +      * fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.
 +
 +      * dispextern.h (struct face) [HAVE_XFT]: Ifdef 'extra' member.
 +      * font.c (font_done_for_face):
 +      * xfaces.c (realize_non_ascii_face): Adjust user.
 +      * font.h (struct font_driver): Convert 'prepare_face' to return
 +      void because its return value is never used anyway.
 +      * xfont.c (xfont_prepare_face): Return void.
 +      * xftfont.c (xftfont_prepare_face): Likewise.  Use xmalloc.
 +      (xftfont_done_face): Use xfree.
 +
 +      * dispextern.h (last_tool_bar_item): Remove declaration.
 +      * frame.h (struct frame): New member last_tool_bar_item.
 +      * frame.c (make_frame): Initialize it.
 +      * xdisp.c (toplevel): Remove last_tool_bar_item.
 +      (handle_tool_bar_click, note_tool_bar_highlight):
 +      * w32term.c (w32_read_socket, w32_initialize):
 +      * xterm.c (handle_one_xevent, x_initialize): Adjust users.
 +
 +      * frame.h (window_system_available) [!HAVE_WINDOW_SYSTEM]: Always false.
 +      * frame.c (window_system_available) [HAVE_WINDOW_SYSTEM]: Now here.
 +
 +2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Say (accept-process-output P)'s result pertains to P if P is non-nil.
 +      * process.c (Faccept_process_output)
 +      (wait_reading_process_output): Mention that if PROCESS is non-nil,
 +      the return value is about PROCESS, not about other processes.
 +
 +2014-06-09  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Further adjustments to mark_object and friends.
 +      Now the mark_object's stack is just 32 bytes on a 64-bit
 +      system, which means extra 20% off the stack usage.
 +      * alloc.c (mark_save_value): As before, refactored out from ...
 +      (mark_object): ... adjusted user.  Also add comment.
 +
 +2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix core dump after a dropped X connection (Bug#17704).
 +      * sysdep.c (stuff_char): Don't abort merely because the selected frame
 +      is dead, as we may be shutting down.
 +
 +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.
 +      (tty_menu_activate): Send the hide cursor command only once in an
 +      iteration through the outer 'while' loop.
 +
 +      * dispnew.c (update_frame_1): Accept an additional argument
 +      SET_CURSOR_P, and position the cursor at the end of the frame
 +      update only if that argument is non-zero.  All callers changed to
 +      provide the additional argument as non-zero, except for
 +      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.
 +
 +      * dispextern.h (update_frame_with_menu): Update prototype.
 +
 +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-08  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * dispnew.c (update_frame_with_menu): Set display_completed.
 +
 +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-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-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.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      New macros.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
 +      with PT, not GPT.  (Bug#16433)
 +
 +      Revert last changes to GDB-visible symbols.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      Delete macros.
 +
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)
 +
 +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.
 +      * conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
 +      * 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-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-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
 +      optimizes away the relevant external symbols.  Use enums instead;
 +      this suffices for the AIX port, which is 32-bit-only anyway.
 +      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 +      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 +      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 +      New macros.
 +
 +      Include sources used to create macuvs.h.
 +      * Makefile.in ($(srcdir)/macuvs.h): New rule.
 +      * macuvs.h: Use automatically-generated header.
 +
 +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.
  
 -      * fileio.c (write-region-inhibit-fsync): Doc tweak.
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.
 +      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-06-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
 -      contains garbage on WINDOWSNT (which could potentially infloop at
 -      exit).
 +      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.
  
 -      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.
 -      (tty_menu_activate): Send the hide cursor command only once in an
 -      iteration through the outer 'while' loop.
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dispnew.c (update_frame_1): Accept an additional argument
 -      SET_CURSOR_P, and position the cursor at the end of the frame
 -      update only if that argument is non-zero.  All callers changed to
 -      provide the additional argument as non-zero, except for
 -      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.
 +      * 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.
  
 -      * dispextern.h (update_frame_with_menu): Update prototype.
 +      * callint.c (Qfuncall_interactively): New var.
 +      (Qcall_interactively): Remove.
 +      (Ffuncall_interactively): New function.
 +      (Fcall_interactively): Use it.
 +      (syms_of_callint): Defsubr it.
  
 -2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * callproc.c (call_process): Don't check read-only if we don't insert
 -      anything (bug#17666).
 +      * bytecode.c (FETCH) [BYTE_CODE_SAFE]: Check the bytecode wasn't
 +      relocated from under us.
  
 -2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
  
 -      * dispnew.c (update_frame_with_menu): Set display_completed.
 +      Use mmap(2) emulation for allocating buffer text on MS-Windows.
 +      * Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 +      configure, not from HEAPSIZE.
 +      (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 +      for MinGW, since it no longer uses gmalloc.
  
 -      * frame.c (x_set_frame_parameters): Don't read uninitialized storage.
 +      * 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.
  
 -2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>
 +      * emacs.c: Remove mmap_set_vars calls.
  
 -      * xterm.c (xg_scroll_callback): Remove position, for jump set portion
 -      to min(value, whole).
 +      * image.c (free_image): Undef free for Windows because it is
 +      redirected to our private version.
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +      * 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.
  
 -      Bring back the changes to GDB-visible symbols, but only on AIX.
 -      And only if it's not pre-4.2 GCC.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      New macros.
 +      * 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.
  
 -2014-05-31  Eli Zaretskii  <eliz@gnu.org>
 +      * w32heap.h: Declare dumped_data and mmap_* function prototypes.
  
 -      * fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
 -      with PT, not GPT.  (Bug#16433)
 +2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Revert last changes to GDB-visible symbols.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      Delete macros.
 +      * image.c (imagemagick_load_image): Use MagickRealType for local
 +      'color_scale', instead of double, to avoid a GCC warning about
 +      double promotion.
  
 -2014-05-31  Glenn Morris  <rgm@gnu.org>
 +      * xfns.c (Fx_window_property): Remove unused local.
  
 -      * cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)
 +      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-30  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
 -      Fix port to 32-bit AIX with xlc (Bug#17598).
 -      * alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
 -      * conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
 -      * 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.
 +      * w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if undefined.
  
 -2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Ken Brown  <kbrown@cornell.edu>
  
 -      * 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)
 +      * w32term.c (x_delete_display): Don't free dpyinfo->w32_id_name,
 +      even if !CYGWIN (see bug#17510).
  
 -2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      Port the GDB-visible symbols to AIX.
 -      Without them, GDB doesn't work to debug Emacs, since the AIX linker
 -      optimizes away the relevant external symbols.  Use enums instead;
 -      this suffices for the AIX port, which is 32-bit-only anyway.
 -      * lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
 -      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
 -      (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
 -      New macros.
 +      * nsfns.m (Fns_do_applescript): Surround NSApp run
 +      with calls to ns_init_events, ns_finish_events (Bug#17424).
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 +      * nsterm.h (ns_init_events, ns_finish_events): Declare.
  
 -      Include sources used to create macuvs.h.
 -      * Makefile.in ($(srcdir)/macuvs.h): New rule.
 -      * macuvs.h: Use automatically-generated header.
 +      * 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-25  Eli Zaretskii  <eliz@gnu.org>
 +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.
        (tty_menu_activate): Return the cursor to the active menu item
        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.
        * doc.c (store_function_docstring): Warn when we don't know where to
        put a docstring.
        (Fsubstitute_command_keys): Don't advertise the fact that
 -      text-properties are dropped, since we think it's a bug that we'll fix
 -      in 24.5.
 +      text-properties are dropped, since we think it's a bug that we'll fix.
  
        * frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date.
        * xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame.
        (imagemagick_get_animation_cache): Fix a double-free error.
        (imagemagick_load_image): Remove the ping_wand code, which only
        apparently saved time on invalid animated images, and slowed down
 -      everything else.  Optimise for the common case.
 +      everything else.  Optimize for the common case.
  
  2013-08-16  Xue Fuqiao  <xfq.free@gmail.com>
  
diff --combined src/Makefile.in
index 61cb938aeff0a927bdbc369b9c9a484844f71ada,99f9981dfe5d589d67d93c60a648e779d309ee84..00ac04aa83652f7eb17bfc65909749066668dc2c
@@@ -1,7 -1,7 +1,7 @@@
  ### @configure_input@
  
 -# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2014 Free Software
 -# Foundation, Inc.
 +# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2014
 +#   Free Software Foundation, Inc.
  
  # This file is part of GNU Emacs.
  
@@@ -28,11 -28,12 +28,11 @@@ SHELL = @SHELL
  # Here are the things that we expect ../configure to edit.
  # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
  srcdir = @srcdir@
 +top_srcdir = @top_srcdir@
  # MinGW CPPFLAGS may use this.
  abs_top_srcdir=@abs_top_srcdir@
 -ntsource = $(srcdir)/../nt
  VPATH = $(srcdir)
  CC = @CC@
 -WINDRES = @WINDRES@
  CFLAGS = @CFLAGS@
  CPPFLAGS = @CPPFLAGS@
  LDFLAGS = @LDFLAGS@
@@@ -47,7 -48,7 +47,7 @@@ MKDIR_P = @MKDIR_P
  # LIBS = @LIBS@
  LIBOBJS = @LIBOBJS@
  
 -lispsource = $(srcdir)/../lisp
 +lispsource = $(top_srcdir)/lisp
  lib = ../lib
  libsrc = ../lib-src
  etc = ../etc
@@@ -76,7 -77,6 +76,7 @@@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE
  C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
  
  GNUSTEP_CFLAGS=@GNUSTEP_CFLAGS@
 +PNG_CFLAGS=@PNG_CFLAGS@
  
  ## Define C_SWITCH_X_SITE to contain any special flags your compiler
  ## may need to deal with X Windows.  For instance, if you've defined
@@@ -121,7 -121,7 +121,7 @@@ LIBS_SYSTEM=@LIBS_SYSTEM
  ## -lm, or empty.
  LIB_MATH=@LIB_MATH@
  
 -## -lpthreads, or empty.
 +## -lpthread, or empty.
  LIB_PTHREAD=@LIB_PTHREAD@
  
  LIBIMAGE=@LIBTIFF@ @LIBJPEG@ @LIBPNG@ @LIBGIF@ @LIBXPM@
@@@ -230,9 -230,6 +230,9 @@@ XRANDR_CFLAGS = @XRANDR_CFLAGS
  XINERAMA_LIBS = @XINERAMA_LIBS@
  XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
  
 +XFIXES_LIBS = @XFIXES_LIBS@
 +XFIXES_CFLAGS = @XFIXES_CFLAGS@
 +
  ## widget.o if USE_X_TOOLKIT, otherwise empty.
  WIDGET_OBJ=@WIDGET_OBJ@
  
@@@ -248,7 -245,7 +248,7 @@@ MSDOS_OBJ 
  MSDOS_X_OBJ =
  
  NS_OBJ=@NS_OBJ@
 -## nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o if HAVE_NS.
 +## nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o ns_fontfile if HAVE_NS.
  NS_OBJC_OBJ=@NS_OBJC_OBJ@
  ## Only set if NS_IMPL_GNUSTEP.
  GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@
@@@ -262,6 -259,8 +262,6 @@@ W32_LIBS=@W32_LIBS
  
  ## emacs.res if HAVE_W32
  EMACSRES = @EMACSRES@
 -## emacs-*.manifest if HAVE_W32
 -EMACS_MANIFEST = @EMACS_MANIFEST@
  ## If HAVE_W32, compiler arguments for including
  ## the resource file in the binary.
  ## Cygwin: -Wl,emacs.res
@@@ -287,39 -286,26 +287,39 @@@ LIBSELINUX_LIBS = @LIBSELINUX_LIBS
  LIBGNUTLS_LIBS = @LIBGNUTLS_LIBS@
  LIBGNUTLS_CFLAGS = @LIBGNUTLS_CFLAGS@
  
 -LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
 -
  INTERVALS_H = dispextern.h intervals.h composite.h
  
  GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
  
  RUN_TEMACS = ./temacs
  
 -## Invoke ../nt/addsection for MinGW, ":" elsewhere.
 -TEMACS_POST_LINK = @TEMACS_POST_LINK@
 -ADDSECTION = @ADDSECTION@
 -EMACS_HEAPSIZE = @EMACS_HEAPSIZE@
 -MINGW_TEMACS_POST_LINK = \
 - mv temacs$(EXEEXT) temacs.tmp; \
 - ../nt/addsection temacs.tmp temacs$(EXEEXT) EMHEAP $(EMACS_HEAPSIZE)
 -
  UNEXEC_OBJ = @UNEXEC_OBJ@
  
  CANNOT_DUMP=@CANNOT_DUMP@
  
 +# 'make' verbosity.
 +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
 +
 +AM_V_CC = $(am__v_CC_@AM_V@)
 +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
 +am__v_CC_0 = @echo "  CC      " $@;
 +am__v_CC_1 =
 +
 +AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 +am__v_CCLD_0 = @echo "  CCLD    " $@;
 +am__v_CCLD_1 =
 +
 +AM_V_GEN = $(am__v_GEN_@AM_V@)
 +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 +am__v_GEN_0 = @echo "  GEN     " $@;
 +am__v_GEN_1 =
 +
 +AM_V_at = $(am__v_at_@AM_V@)
 +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 +am__v_at_0 = @
 +am__v_at_1 =
 +
  DEPDIR=deps
  ## -MMD -MF $(DEPDIR)/$*.d if AUTO_DEPEND; else empty.
  DEPFLAGS=@DEPFLAGS@
@@@ -336,11 -322,10 +336,11 @@@ MKDEPDIR=@MKDEPDIR
  ##
  ## FIXME? MYCPPFLAGS only referenced in etc/DEBUG.
  ALL_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \
 -  -I$(lib) -I$(srcdir)/../lib \
 +  -I$(lib) -I$(top_srcdir)/lib \
    $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
    $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
 -  $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) \
 +  $(PNG_CFLAGS) $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
 +  $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) $(XFIXES_CFLAGS) \
    $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
    $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
    $(LIBGNUTLS_CFLAGS) $(GFILENOTIFY_CFLAGS) \
@@@ -350,10 -335,10 +350,10 @@@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJ
  .SUFFIXES: .m
  .c.o:
        @$(MKDEPDIR)
 -      $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(PROFILING_CFLAGS) $<
 +      $(AM_V_CC)$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(PROFILING_CFLAGS) $<
  .m.o:
        @$(MKDEPDIR)
 -      $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $(PROFILING_CFLAGS) $<
 +      $(AM_V_CC)$(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $(PROFILING_CFLAGS) $<
  
  ## lastfile must follow all files whose initialized data areas should
  ## be dumped as pure by dump-emacs.
@@@ -420,33 -405,29 +420,33 @@@ LIBES = $(LIBS) $(W32_LIBS) $(LIBS_GNUS
     $(LIBX_OTHER) $(LIBSOUND) \
     $(RSVG_LIBS) $(IMAGEMAGICK_LIBS) $(LIB_ACL) $(LIB_CLOCK_GETTIME) \
     $(LIB_EACCESS) $(LIB_FDATASYNC) $(LIB_TIMER_TIME) $(DBUS_LIBS) \
 -   $(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) \
 +   $(LIB_EXECINFO) $(XRANDR_LIBS) $(XINERAMA_LIBS) $(XFIXES_LIBS) \
     $(LIBXML2_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \
     $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) $(SETTINGS_LIBS) $(LIBSELINUX_LIBS) \
     $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \
 -   $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) $(LIB_PTHREAD_SIGMASK) \
 +   $(LIBGNUTLS_LIBS) $(LIB_PTHREAD) \
     $(GFILENOTIFY_LIBS) $(LIB_MATH) $(LIBZ)
  
  all: emacs$(EXEEXT) $(OTHER_FILES)
  .PHONY: all
  
  $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
 -      cd ../leim && $(MAKE) $(MFLAGS) leim-list.el EMACS="$(bootstrap_exe)"
 +      $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)"
  
 +## FORCE it so that admin/unidata can decide whether these files
 +## are up-to-date.  Although since charprop depends on bootstrap-emacs,
 +## and emacs (which recreates bootstrap-emacs) depends on charprop,
 +## in practice this rule was always run anyway.
  $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \
 -  bootstrap-emacs$(EXEEXT)
 -      cd ../admin/unidata && $(MAKE) $(MFLAGS) all EMACS="../$(bootstrap_exe)"
 +  bootstrap-emacs$(EXEEXT) FORCE
 +      $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)"
  
  ## The dumped Emacs is as functional and more efficient than
  ## bootstrap-emacs, so we replace the latter with the former.
  ## Strictly speaking, emacs does not depend directly on all of $lisp,
  ## since not all pieces are used on all platforms.  But DOC depends
  ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
 -emacs$(EXEEXT): temacs$(EXEEXT) $(ADDSECTION) \
 +emacs$(EXEEXT): temacs$(EXEEXT) \
                  $(etc)/DOC $(lisp) $(leimdir)/leim-list.el \
                  $(lispsource)/international/charprop.el
        if test "$(CANNOT_DUMP)" = "yes"; then \
        else \
          LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \
          test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \
 -        rm -f bootstrap-emacs$(EXEEXT); \
 +        while test -f bootstrap-emacs$(EXEEXT); do \
 +          rm -f bootstrap-emacs$(EXEEXT); \
 +        done; \
          ln emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
        fi
  
  ## in the contents of the DOC file.
  ##
  $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp)
 -      $(MKDIR_P) $(etc)
 -      -rm -f $(etc)/DOC
 -      $(libsrc)/make-docfile -d $(srcdir) $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC
 -      $(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) `sed -n -e 's| \\\\||' -e 's|^[   ]*$$(lispsource)/||p' $(srcdir)/lisp.mk`
 +      $(AM_V_GEN)$(MKDIR_P) $(etc)
 +      -$(AM_V_at)rm -f $(etc)/DOC
 +      $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
 +        $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC
 +      $(AM_V_at)$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) \
 +        `sed -n -e 's| \\\\||' -e 's|^[       ]*$$(lispsource)/||p' \
 +           $(srcdir)/lisp.mk`
  
  $(libsrc)/make-docfile$(EXEEXT):
 -      cd $(libsrc); $(MAKE) $(MFLAGS) make-docfile$(EXEEXT)
 +      $(MAKE) -C $(libsrc) make-docfile$(EXEEXT)
  
  buildobj.h: Makefile
 -      for i in $(ALLOBJS); do \
 +      $(AM_V_GEN)for i in $(ALLOBJS); do \
          echo "$$i" | sed 's,.*/,,; s/\.obj$$/\.o/; s/^/"/; s/$$/",/' \
            || exit; \
        done >$@.tmp
 -      mv $@.tmp $@
 +      $(AM_V_at)mv $@.tmp $@
  
  globals.h: gl-stamp; @true
  
  GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
  
  gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
 -      $(libsrc)/make-docfile -d $(srcdir) -g $(obj) > gl.tmp
 -      $(srcdir)/../build-aux/move-if-change gl.tmp globals.h
 -      echo timestamp > $@
 +      $(AM_V_GEN)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > gl.tmp
 +      $(AM_V_at)$(top_srcdir)/build-aux/move-if-change gl.tmp globals.h
 +      $(AM_V_at)echo timestamp > $@
  
  $(ALLOBJS): globals.h
  
  $(lib)/libgnu.a: $(config_h)
 -      cd $(lib) && $(MAKE) libgnu.a
 +      $(MAKE) -C $(lib) libgnu.a
  
  ## We have to create $(etc) here because init_cmdargs tests its
  ## existence when setting Vinstallation_directory (FIXME?).
  ## to start if Vinstallation_directory has the wrong value.
  temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
                 $(lib)/libgnu.a $(EMACSRES)
 -      $(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
 +      $(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
          -o temacs $(ALLOBJS) $(lib)/libgnu.a $(W32_RES_LINK) $(LIBES)
        $(MKDIR_P) $(etc)
 -      $(TEMACS_POST_LINK)
        test "$(CANNOT_DUMP)" = "yes" || \
          test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT)
        test "$(CANNOT_DUMP)" = "yes" || test -z "$(SETFATTR)" || \
-         $(SETFATTR) -n user.pax.flags -v r $@
+         $(SETFATTR) -n user.pax.flags -v er $@
  
  ## The following oldxmenu-related rules are only (possibly) used if
  ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them.
  $(lwlibdir)/liblw.a: $(config_h) globals.h lisp.h FORCE
 -      cd $(lwlibdir) && \
 -        $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' \
 -          liblw.a
 +      $(MAKE) -C $(lwlibdir) liblw.a
  $(oldXMenudir)/libXMenu11.a: FORCE
 -      cd $(oldXMenudir) && \
 -        $(MAKE) $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' \
 -          libXMenu11.a
 +      $(MAKE) -C $(oldXMenudir) libXMenu11.a
  FORCE:
  .PHONY: FORCE
  
 -../config.status: config.in epaths.in
 -      @echo "The file ${?:.in=.h} needs to be set up from $?."
 -      @echo "Please run the 'configure' script again."
 -      exit 1
 +ACLOCAL_INPUTS = $(top_srcdir)/configure.ac $(top_srcdir)/m4/*.m4
 +AUTOCONF_INPUTS = $(top_srcdir)/configure.ac $(top_srcdir)/aclocal.m4
 +$(top_srcdir)/aclocal.m4: $(ACLOCAL_INPUTS)
 +$(top_srcdir)/configure config.in: $(AUTOCONF_INPUTS)
 +.PRECIOUS: ../config.status Makefile
 +../config.status: $(top_srcdir)/configure $(top_srcdir)/lisp/version.el
 +Makefile: ../config.status $(srcdir)/Makefile.in
 +$(top_srcdir)/aclocal.m4 $(top_srcdir)/configure config.in ../config.status \
 +  Makefile:
 +      $(MAKE) -C .. am--refresh
  
  doc.o: buildobj.h
  
 -emacs.res: $(ntsource)/emacs.rc \
 -         $(ntsource)/icons/emacs.ico \
 -         $(ntsource)/$(EMACS_MANIFEST)
 -      $(WINDRES) -O COFF --include-dir=$(srcdir)/../nt \
 -        -o $@ $(ntsource)/emacs.rc
 +emacs.res: FORCE
 +      $(MAKE) -C ../nt ../src/emacs.res
  
 +.PHONY: ns-app
  ns-app: emacs$(EXEEXT)
 -      cd ../nextstep && $(MAKE) $(MFLAGS) all
 +      $(MAKE) -C ../nextstep all
  
  .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
  .PHONY: versionclean extraclean
  
  mostlyclean:
 -      rm -f temacs$(EXEEXT) core *.core \#* *.o libXMenu11.a liblw.a
 +      rm -f temacs$(EXEEXT) core *.core \#* *.o
        rm -f ../etc/DOC
        rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT)
        rm -f buildobj.h
@@@ -608,10 -585,10 +608,10 @@@ TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir
  ## Arrange to make tags tables for ../lisp and ../lwlib,
  ## which the above TAGS file for the C files includes by reference.
  ../lisp/TAGS:
 -      cd ../lisp && $(MAKE) TAGS ETAGS="$(ETAGS)"
 +      $(MAKE) -C ../lisp TAGS ETAGS="$(ETAGS)"
  
  $(lwlibdir)/TAGS:
 -      cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)"
 +      $(MAKE) -C $(lwlibdir) TAGS ETAGS="$(ETAGS)"
  
  tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS
  .PHONY: tags
  ## such as loaddefs.el or *.elc can typically be produced by any old
  ## Emacs executable, so we would like to avoid rebuilding them whenever
  ## we build a new Emacs executable.
 +##
 +## (In other words, changing a single file src/foo.c would force
 +## dumping a new bootstrap-emacs, then re-byte-compiling all preloaded
 +## elisp files, and only then dump the actual src/emacs, which is not
 +## wrong, but is overkill in 99.99% of the cases.)
 +##
  ## To solve the circularity, we use 2 different Emacs executables,
  ## "emacs" is the main target and "bootstrap-emacs" is the one used
  ## to build the *.elc and loaddefs.el files.
 -## To solve the freshness issue, we used to use a third file "witness-emacs"
 -## which was used to witness the fact that there is a bootstrap-emacs
 -## executable, and then have dependencies on witness-emacs rather than
 -## bootstrap-emacs, but that lead to problems in parallel builds (because
 -## witness-emacs needed to be free from dependencies (to avoid rebuilding
 -## it), so it was compiled in parallel, leading typically to having 2
 -## processes dumping bootstrap-emacs at the same time).
 -## So instead, we replace the witness-emacs dependencies by conditional
 -## bootstrap-dependencies (via $(BOOTSTRAPEMACS)).  Of course, since we do
 -## not want to rely on GNU Make features, we have to rely on an external
 -## script to do the conditional part of the dependency
 -## (i.e. see the $(SUBDIR) rule ../Makefile.in).
 -
 -.SUFFIXES: .elc .el
 -
 -## These suffix rules do not allow additional dependencies, sadly, so
 -## instead of adding a $(BOOTSTRAPEMACS) dependency here, we add it
 -## separately below.
 -## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)"
 -.el.elc:
 -      @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \
 -                           THEFILE=$< EMACS="$(bootstrap_exe)"
 -
 -## Since the .el.elc rule cannot specify an extra dependency, we do it here.
 -$(lisp): $(BOOTSTRAPEMACS)
 +## To solve the freshness issue, in the past we tried various clever tricks,
 +## but now that we require GNU make, we can simply specify
 +## bootstrap-emacs$(EXEEXT) as an order-only prerequisite.
 +
 +%.elc: %.el | bootstrap-emacs$(EXEEXT)
 +      @$(MAKE) -C ../lisp compile-onefile THEFILE=$< EMACS="$(bootstrap_exe)"
  
  ## VCSWITNESS points to the file that holds info about the current checkout.
  ## We use it as a heuristic to decide when to rebuild loaddefs.el.
  ## If empty it is ignored; the parent makefile can set it to some other value.
  VCSWITNESS =
  
 -$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
 -      cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS="$(bootstrap_exe)"
 +$(lispsource)/loaddefs.el: $(VCSWITNESS) | bootstrap-emacs$(EXEEXT)
 +      $(MAKE) -C ../lisp autoloads EMACS="$(bootstrap_exe)"
  
  ## Dump an Emacs executable named bootstrap-emacs containing the
  ## files from loadup.el in source form.
  bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
 -      cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs
 +      $(MAKE) -C ../lisp update-subdirs
        if test "$(CANNOT_DUMP)" = "yes"; then \
          rm -f bootstrap-emacs$(EXEEXT); \
          ln temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
          mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
        fi
        @: Compile some files earlier to speed up further compilation.
 -      cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS="$(bootstrap_exe)"
 +      $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"
  
  ## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk.
  @deps_frag@
diff --combined src/keyboard.c
index 908eb59ff9ce769e27a799dd0a1f739db0f34030,29bf9ed9e1ab8758e7d6fd7510e52785e5c64cd4..6dc0b820eb92be7a333aa0a48b2efe4f0f7b3ec1
@@@ -133,19 -133,6 +133,19 @@@ static ptrdiff_t this_single_command_ke
  static ptrdiff_t before_command_key_count;
  static ptrdiff_t before_command_echo_length;
  
 +#ifdef HAVE_STACK_OVERFLOW_HANDLING
 +
 +/* For longjmp to recover from C stack overflow.  */
 +sigjmp_buf return_to_command_loop;
 +
 +/* Message displayed by Vtop_level when recovering from C stack overflow.  */
 +static Lisp_Object recover_top_level_message;
 +
 +#endif /* HAVE_STACK_OVERFLOW_HANDLING */
 +
 +/* Message normally displayed by Vtop_level.  */
 +static Lisp_Object regular_top_level_message;
 +
  /* For longjmp to where kbd input is being done.  */
  
  static sys_jmp_buf getcjmp;
@@@ -231,7 -218,7 +231,7 @@@ static ptrdiff_t last_point_position
     'volatile' here.  */
  Lisp_Object internal_last_event_frame;
  
 -static Lisp_Object Qx_set_selection, Qhandle_switch_frame;
 +static Lisp_Object Qgui_set_selection, Qhandle_switch_frame;
  static Lisp_Object Qhandle_select_window;
  Lisp_Object QPRIMARY;
  
@@@ -241,7 -228,7 +241,7 @@@ static Lisp_Object Qbackward_char
  Lisp_Object Qundefined;
  static Lisp_Object Qtimer_event_handler;
  
 -/* read_key_sequence stores here the command definition of the
 +/* `read_key_sequence' stores here the command definition of the
     key sequence that it reads.  */
  static Lisp_Object read_key_sequence_cmd;
  static Lisp_Object read_key_sequence_remapped;
@@@ -361,6 -348,7 +361,6 @@@ static Lisp_Object Qmodifier_cache
  Lisp_Object Qmode_line;
  Lisp_Object Qvertical_line;
  Lisp_Object Qright_divider, Qbottom_divider;
 -static Lisp_Object Qvertical_scroll_bar;
  Lisp_Object Qmenu_bar;
  
  static Lisp_Object Qecho_keystrokes;
  static void recursive_edit_unwind (Lisp_Object buffer);
  static Lisp_Object command_loop (void);
  static Lisp_Object Qcommand_execute;
 -struct timespec timer_check (void);
  
  static void echo_now (void);
  static ptrdiff_t echo_length (void);
@@@ -388,6 -377,12 +388,6 @@@ bool interrupt_input
  /* Nonzero while interrupts are temporarily deferred during redisplay.  */
  bool interrupts_deferred;
  
 -/* If we support a window system, turn on the code to poll periodically
 -   to detect C-g.  It isn't actually used when doing interrupt input.  */
 -#ifdef HAVE_WINDOW_SYSTEM
 -#define POLL_FOR_INPUT
 -#endif
 -
  /* The time when Emacs started being idle.  */
  
  static struct timespec timer_idleness_start_time;
@@@ -500,12 -495,10 +500,12 @@@ kset_system_key_syms (struct kboard *kb
  static void
  echo_add_key (Lisp_Object c)
  {
 -  int size = KEY_DESCRIPTION_SIZE + 100;
 -  char *buffer = alloca (size);
 +  char initbuf[KEY_DESCRIPTION_SIZE + 100];
 +  ptrdiff_t size = sizeof initbuf;
 +  char *buffer = initbuf;
    char *ptr = buffer;
    Lisp_Object echo_string;
 +  USE_SAFE_ALLOCA;
  
    echo_string = KVAR (current_kboard, echo_string);
  
    else if (SYMBOLP (c))
      {
        Lisp_Object name = SYMBOL_NAME (c);
 -      int nbytes = SBYTES (name);
 +      ptrdiff_t nbytes = SBYTES (name);
  
        if (size - (ptr - buffer) < nbytes)
        {
 -        int offset = ptr - buffer;
 +        ptrdiff_t offset = ptr - buffer;
          size = max (2 * size, size + nbytes);
 -        buffer = alloca (size);
 +        buffer = SAFE_ALLOCA (size);
          ptr = buffer + offset;
        }
  
    if ((NILP (echo_string) || SCHARS (echo_string) == 0)
        && help_char_p (c))
      {
 -      const char *text = " (Type ? for further options)";
 -      int len = strlen (text);
 +      static const char text[] = " (Type ? for further options)";
 +      int len = sizeof text - 1;
  
        if (size - (ptr - buffer) < len)
        {
 -        int offset = ptr - buffer;
 +        ptrdiff_t offset = ptr - buffer;
          size += len;
 -        buffer = alloca (size);
 +        buffer = SAFE_ALLOCA (size);
          ptr = buffer + offset;
        }
  
  
    /* Replace a dash from echo_dash with a space, otherwise add a space
       at the end as a separator between keys.  */
 +  AUTO_STRING (space, " ");
    if (STRINGP (echo_string) && SCHARS (echo_string) > 1)
      {
        Lisp_Object last_char, prev_char, idx;
        if (XINT (last_char) == '-' && XINT (prev_char) != ' ')
        Faset (echo_string, idx, make_number (' '));
        else
 -      echo_string = concat2 (echo_string, build_string (" "));
 +      echo_string = concat2 (echo_string, space);
      }
    else if (STRINGP (echo_string) && SCHARS (echo_string) > 0)
 -    echo_string = concat2 (echo_string, build_string (" "));
 +    echo_string = concat2 (echo_string, space);
  
    kset_echo_string
      (current_kboard,
       concat2 (echo_string, make_string (buffer, ptr - buffer)));
 +  SAFE_FREE ();
  }
  
  /* Add C to the echo string, if echoing is going on.  C can be a
@@@ -631,9 -622,9 +631,9 @@@ echo_dash (void
  
    /* Put a dash at the end of the buffer temporarily,
       but make it go away when the next character is added.  */
 -  kset_echo_string
 -    (current_kboard,
 -     concat2 (KVAR (current_kboard, echo_string), build_string ("-")));
 +  AUTO_STRING (dash, "-");
 +  kset_echo_string (current_kboard,
 +                  concat2 (KVAR (current_kboard, echo_string), dash));
    echo_now ();
  }
  
@@@ -1126,7 -1117,7 +1126,7 @@@ Default value of `command-error-functio
      {
        print_error_message (data, Qexternal_debugging_output,
                           SSDATA (context), signal);
 -      Fterpri (Qexternal_debugging_output);
 +      Fterpri (Qexternal_debugging_output, Qnil);
        Fkill_emacs (make_number (-1));
      }
    else
@@@ -1151,17 -1142,6 +1151,17 @@@ static Lisp_Object top_level_1 (Lisp_Ob
  Lisp_Object
  command_loop (void)
  {
 +#ifdef HAVE_STACK_OVERFLOW_HANDLING
 +  /* At least on GNU/Linux, saving signal mask is important here.  */
 +  if (sigsetjmp (return_to_command_loop, 1) != 0)
 +    {
 +      /* Comes here from handle_sigsegv, see sysdep.c.  */
 +      init_eval ();
 +      Vinternal__top_level_message = recover_top_level_message;
 +    }
 +  else
 +    Vinternal__top_level_message = regular_top_level_message;
 +#endif /* HAVE_STACK_OVERFLOW_HANDLING */
    if (command_loop_level > 0 || minibuf_level > 0)
      {
        Lisp_Object val;
@@@ -1242,7 -1222,7 +1242,7 @@@ user_error (const char *msg
    xsignal1 (Quser_error, build_string (msg));
  }
  
 -_Noreturn
 +/* _Noreturn will be added to prototype by make-docfile.  */
  DEFUN ("exit-recursive-edit", Fexit_recursive_edit, Sexit_recursive_edit, 0, 0, "",
         doc: /* Exit from the innermost recursive edit or minibuffer.  */)
    (void)
    user_error ("No recursive edit is in progress");
  }
  
 -_Noreturn
 +/* _Noreturn will be added to prototype by make-docfile.  */
  DEFUN ("abort-recursive-edit", Fabort_recursive_edit, Sabort_recursive_edit, 0, 0, "",
         doc: /* Abort the command that requested this recursive edit or minibuffer input.  */)
    (void)
@@@ -1286,9 -1266,13 +1286,9 @@@ tracking_off (Lisp_Object old_value
      }
  }
  
 -DEFUN ("track-mouse", Ftrack_mouse, Strack_mouse, 0, UNEVALLED, 0,
 -       doc: /* Evaluate BODY with mouse movement events enabled.
 -Within a `track-mouse' form, mouse motion generates input events that
 -you can read with `read-event'.
 -Normally, mouse motion is ignored.
 -usage: (track-mouse BODY...)  */)
 -  (Lisp_Object args)
 +DEFUN ("internal--track-mouse", Ftrack_mouse, Strack_mouse, 1, 1, 0,
 +       doc: /* Call BODYFUN with mouse movement events enabled.  */)
 +  (Lisp_Object bodyfun)
  {
    ptrdiff_t count = SPECPDL_INDEX ();
    Lisp_Object val;
  
    do_mouse_tracking = Qt;
  
 -  val = Fprogn (args);
 +  val = call0 (bodyfun);
    return unbind_to (count, val);
  }
  
     If ignore_mouse_drag_p is non-zero, ignore (implicit) mouse movement
     after resizing the tool-bar window.  */
  
 -#if !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS
 -static
 -#endif
  bool ignore_mouse_drag_p;
  
  static struct frame *
@@@ -1336,11 -1323,14 +1336,11 @@@ some_mouse_moved (void
  
  static int read_key_sequence (Lisp_Object *, int, Lisp_Object,
                                bool, bool, bool, bool);
 -void safe_run_hooks (Lisp_Object);
  static void adjust_point_for_property (ptrdiff_t, bool);
  
  /* The last boundary auto-added to buffer-undo-list.  */
  Lisp_Object last_undo_boundary;
  
 -extern Lisp_Object Qregion_extract_function;
 -
  /* FIXME: This is wrong rather than test window-system, we should call
     a new set-selection, which will then dispatch to x-set-selection, or
     tty-set-selection, or w32-set-selection, ...  */
@@@ -1459,7 -1449,7 +1459,7 @@@ command_loop_1 (void
        Vthis_command_keys_shift_translated = Qnil;
  
        /* Read next key sequence; i gets its length.  */
 -      i = read_key_sequence (keybuf, sizeof keybuf / sizeof keybuf[0],
 +      i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
                             Qnil, 0, 1, 1, 0);
  
        /* A filter may have run while we were reading the input.  */
  
        /* Execute the command.  */
  
 +      {
 +      total_keys += total_keys < NUM_RECENT_KEYS;
 +      ASET (recent_keys, recent_keys_index,
 +            Fcons (Qnil, cmd));
 +      if (++recent_keys_index >= NUM_RECENT_KEYS)
 +        recent_keys_index = 0;
 +      }
        Vthis_command = cmd;
        Vreal_this_command = cmd;
        safe_run_hooks (Qpre_command_hook);
                    = call1 (Fsymbol_value (Qregion_extract_function), Qnil);
                  if (XINT (Flength (txt)) > 0)
                    /* Don't set empty selections.  */
 -                  call2 (Qx_set_selection, QPRIMARY, txt);
 +                  call2 (Qgui_set_selection, QPRIMARY, txt);
                }
  
              if (current_buffer != prev_buffer || MODIFF != prev_modiff)
@@@ -1714,7 -1697,7 +1714,7 @@@ read_menu_command (void
       menus.  */
    specbind (Qecho_keystrokes, make_number (0));
  
 -  i = read_key_sequence (keybuf, sizeof keybuf / sizeof keybuf[0],
 +  i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
                         Qnil, 0, 1, 1, 1);
  
    unbind_to (count, Qnil);
@@@ -1883,27 -1866,30 +1883,27 @@@ adjust_point_for_property (ptrdiff_t la
      }
  }
  
 -/* Subroutine for safe_run_hooks: run the hook HOOK.  */
 +/* Subroutine for safe_run_hooks: run the hook, which is ARGS[1].  */
  
  static Lisp_Object
 -safe_run_hooks_1 (void)
 +safe_run_hooks_1 (ptrdiff_t nargs, Lisp_Object *args)
  {
 -  eassert (CONSP (Vinhibit_quit));
 -  return call0 (XCDR (Vinhibit_quit));
 +  eassert (nargs == 2);
 +  return call0 (args[1]);
  }
  
  /* Subroutine for safe_run_hooks: handle an error by clearing out the function
     from the hook.  */
  
  static Lisp_Object
 -safe_run_hooks_error (Lisp_Object error_data)
 +safe_run_hooks_error (Lisp_Object error, ptrdiff_t nargs, Lisp_Object *args)
  {
 -  Lisp_Object hook
 -    = CONSP (Vinhibit_quit) ? XCAR (Vinhibit_quit) : Vinhibit_quit;
 -  Lisp_Object fun = CONSP (Vinhibit_quit) ? XCDR (Vinhibit_quit) : Qnil;
 -  Lisp_Object args[4];
 -  args[0] = build_string ("Error in %s (%S): %S");
 -  args[1] = hook;
 -  args[2] = fun;
 -  args[3] = error_data;
 -  Fmessage (4, args);
 +  eassert (nargs == 2);
 +  AUTO_STRING (format, "Error in %s (%S): %S");
 +  Lisp_Object hook = args[0];
 +  Lisp_Object fun = args[1];
 +  Fmessage (4, (Lisp_Object []) {format, hook, fun, error});
 +
    if (SYMBOLP (hook))
      {
        Lisp_Object val;
  static Lisp_Object
  safe_run_hook_funcall (ptrdiff_t nargs, Lisp_Object *args)
  {
 -  eassert (nargs == 1);
 -  if (CONSP (Vinhibit_quit))
 -    XSETCDR (Vinhibit_quit, args[0]);
 -  else
 -    Vinhibit_quit = Fcons (Vinhibit_quit, args[0]);
 +  Lisp_Object iargs[2];
  
 -  internal_condition_case (safe_run_hooks_1, Qt, safe_run_hooks_error);
 +  eassert (nargs == 2);
 +  /* Yes, run_hook_with_args works this way.  */
 +  iargs[0] = args[1];
 +  iargs[1] = args[0];
 +  internal_condition_case_n (safe_run_hooks_1, 2, iargs,
 +                           Qt, safe_run_hooks_error);
    return Qnil;
  }
  
  void
  safe_run_hooks (Lisp_Object hook)
  {
 -  /* FIXME: our `internal_condition_case' does not provide any way to pass data
 -     to its body or to its handlers other than via globals such as
 -     dynamically-bound variables ;-)  */
 +  Lisp_Object args[2];
 +  struct gcpro gcpro1;
    ptrdiff_t count = SPECPDL_INDEX ();
 -  specbind (Qinhibit_quit, hook);
  
 -  run_hook_with_args (1, &hook, safe_run_hook_funcall);
 +  args[0] = hook;
 +  args[1] = hook;
  
 +  GCPRO1 (hook);
 +  specbind (Qinhibit_quit, Qt);
 +  run_hook_with_args (2, args, safe_run_hook_funcall);
    unbind_to (count, Qnil);
 +  UNGCPRO;
  }
  
  \f
@@@ -2109,13 -2091,16 +2109,13 @@@ bind_polling_period (int n
  \f
  /* Apply the control modifier to CHARACTER.  */
  
 -#ifndef HAVE_NTGUI
 -static
 -#endif
  int
  make_ctrl_char (int c)
  {
    /* Save the upper bits here.  */
    int upper = c & ~0177;
  
 -  if (! ASCII_BYTE_P (c))
 +  if (! ASCII_CHAR_P (c))
      return c |= ctrl_modifier;
  
    c &= 0177;
@@@ -2317,10 -2302,8 +2317,10 @@@ read_decoded_event_from_main_queue (str
                                      bool *used_mouse_menu)
  {
  #define MAX_ENCODED_BYTES 16
 +#ifndef WINDOWSNT
    Lisp_Object events[MAX_ENCODED_BYTES];
    int n = 0;
 +#endif
    while (true)
      {
        Lisp_Object nextevt
            { /* An encoded byte sequence, let's try to decode it.  */
              struct coding_system *coding
                = TERMINAL_KEYBOARD_CODING (terminal);
 -            unsigned char *src = alloca (n);
 +            unsigned char src[MAX_ENCODED_BYTES];
 +            unsigned char dest[MAX_ENCODED_BYTES * MAX_MULTIBYTE_LENGTH];
              int i;
              for (i = 0; i < n; i++)
                src[i] = XINT (events[i]);
              if (meta_key != 2)
                for (i = 0; i < n; i++)
                  src[i] &= ~0x80;
 -            coding->destination = alloca (n * 4);
 -            coding->dst_bytes = n * 4;
 +            coding->destination = dest;
 +            coding->dst_bytes = sizeof dest;
              decode_coding_c_string (coding, src, n, Qnil);
              eassert (coding->produced_char <= n);
              if (coding->produced_char == 0)
      }
  }
  
 +static bool
 +echo_keystrokes_p (void)
 +{
 +  return (FLOATP (Vecho_keystrokes) ? XFLOAT_DATA (Vecho_keystrokes) > 0.0
 +        : INTEGERP (Vecho_keystrokes) ? XINT (Vecho_keystrokes) > 0 : false);
 +}
 +
  /* Read a character from the keyboard; call the redisplay if needed.  */
  /* commandflag 0 means do not autosave, but do redisplay.
     -1 means do not redisplay, but do autosave.
@@@ -2456,6 -2431,7 +2456,6 @@@ read_char (int commandflag, Lisp_Objec
  
   retry:
  
 -  reread = 0;
    if (CONSP (Vunread_post_input_method_events))
      {
        c = XCAR (Vunread_post_input_method_events);
          && NILP (XCDR (c)))
        c = XCAR (c);
  
 -      reread = 1;
 +      reread = true;
        goto reread_first;
      }
 +  else
 +    reread = false;
 +
  
    if (CONSP (Vunread_command_events))
      {
        c = XCAR (Vunread_command_events);
        Vunread_command_events = XCDR (Vunread_command_events);
  
 -      reread = 1;
 -
        /* Undo what sit-for did when it unread additional keys
         inside universal-argument.  */
  
 -      if (CONSP (c)
 -        && EQ (XCAR (c), Qt))
 -      {
 -        reread = 0;
 -        c = XCDR (c);
 -      }
 +      if (CONSP (c) && EQ (XCAR (c), Qt))
 +      c = XCDR (c);
 +      else
 +      reread = true;
  
        /* Undo what read_char_x_menu_prompt did when it unread
         additional keys returned by Fx_popup_menu.  */
          && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
          && NILP (XCDR (c)))
        c = XCAR (c);
 -      reread = 1;
 +      reread = true;
        goto reread_for_input_method;
      }
  
        /* We must have saved the outer value of getcjmp here,
         so restore it now.  */
        restore_getcjmp (save_jump);
 +      pthread_sigmask (SIG_SETMASK, &empty_mask, 0);
        unbind_to (jmpcount, Qnil);
        XSETINT (c, quit_char);
        internal_last_event_frame = selected_frame;
        && !current_kboard->immediate_echo
        && this_command_key_count > 0
        && ! noninteractive
 -      && (FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -      && NILP (Fzerop (Vecho_keystrokes))
 +      && echo_keystrokes_p ()
        && (/* No message.  */
          NILP (echo_area_buffer[0])
          /* Or empty message.  */
      {
        c = XCAR (Vunread_command_events);
        Vunread_command_events = XCDR (Vunread_command_events);
 +
 +      if (CONSP (c) && EQ (XCAR (c), Qt))
 +      c = XCDR (c);
 +      else
 +      reread = true;
      }
  
    /* Read something from current KBOARD's side queue, if possible.  */
      {
        c = read_decoded_event_from_main_queue (end_time, local_getcjmp,
                                                prev_event, used_mouse_menu);
 -      if (NILP(c) && end_time &&
 -          timespec_cmp (*end_time, current_timespec ()) <= 0)
 +      if (NILP (c) && end_time
 +        && timespec_cmp (*end_time, current_timespec ()) <= 0)
          {
            goto exit;
          }
      {
  
        /* Don't echo mouse motion events.  */
 -      if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -        && NILP (Fzerop (Vecho_keystrokes))
 +      if (echo_keystrokes_p ()
          && ! (EVENT_HAS_PARAMETERS (c)
                && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
        {
@@@ -3275,7 -3248,8 +3275,7 @@@ record_menu_key (Lisp_Object c
  #endif
  
    /* Don't echo mouse motion events.  */
 -  if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -      && NILP (Fzerop (Vecho_keystrokes)))
 +  if (echo_keystrokes_p ())
      {
        echo_char (c);
  
@@@ -3497,13 -3471,11 +3497,13 @@@ readable_events (int flags
                    event->kind == FOCUS_IN_EVENT)
  #ifdef USE_TOOLKIT_SCROLL_BARS
                  && !((flags & READABLE_EVENTS_IGNORE_SQUEEZABLES)
 -                     && event->kind == SCROLL_BAR_CLICK_EVENT
 +                     && (event->kind == SCROLL_BAR_CLICK_EVENT
 +                         || event->kind == HORIZONTAL_SCROLL_BAR_CLICK_EVENT)
                       && event->part == scroll_bar_handle
                       && event->modifiers == 0)
  #endif
 -                )
 +                && !((flags & READABLE_EVENTS_FILTER_EVENTS)
 +                     && event->kind == BUFFER_SWITCH_EVENT))
                return 1;
              event++;
                if (event == kbd_buffer + KBD_BUFFER_SIZE)
@@@ -3732,34 -3704,6 +3732,34 @@@ kbd_buffer_unget_event (register struc
      }
  }
  
 +/* Limit help event positions to this range, to avoid overflow problems.  */
 +#define INPUT_EVENT_POS_MAX \
 +  ((ptrdiff_t) min (PTRDIFF_MAX, min (TYPE_MAXIMUM (Time) / 2, \
 +                                    MOST_POSITIVE_FIXNUM)))
 +#define INPUT_EVENT_POS_MIN (-1 - INPUT_EVENT_POS_MAX)
 +
 +/* Return a Time that encodes position POS.  POS must be in range.  */
 +
 +static Time
 +position_to_Time (ptrdiff_t pos)
 +{
 +  eassert (INPUT_EVENT_POS_MIN <= pos && pos <= INPUT_EVENT_POS_MAX);
 +  return pos;
 +}
 +
 +/* Return the position that ENCODED_POS encodes.
 +   Avoid signed integer overflow.  */
 +
 +static ptrdiff_t
 +Time_to_position (Time encoded_pos)
 +{
 +  if (encoded_pos <= INPUT_EVENT_POS_MAX)
 +    return encoded_pos;
 +  Time encoded_pos_min = INPUT_EVENT_POS_MIN;
 +  eassert (encoded_pos_min <= encoded_pos);
 +  ptrdiff_t notpos = -1 - encoded_pos;
 +  return -1 - notpos;
 +}
  
  /* Generate a HELP_EVENT input_event and store it in the keyboard
     buffer.
@@@ -3778,12 -3722,14 +3778,12 @@@ gen_help_event (Lisp_Object help, Lisp_
  {
    struct input_event event;
  
 -  EVENT_INIT (event);
 -
    event.kind = HELP_EVENT;
    event.frame_or_window = frame;
    event.arg = object;
    event.x = WINDOWP (window) ? window : frame;
    event.y = help;
 -  event.code = pos;
 +  event.timestamp = position_to_Time (pos);
    kbd_buffer_store_event (&event);
  }
  
@@@ -3800,7 -3746,7 +3800,7 @@@ kbd_buffer_store_help_event (Lisp_Objec
    event.arg = Qnil;
    event.x = Qnil;
    event.y = help;
 -  event.code = 0;
 +  event.timestamp = 0;
    kbd_buffer_store_event (&event);
  }
  
@@@ -3822,8 -3768,7 +3822,8 @@@ discard_mouse_events (void
  #ifdef HAVE_GPM
          || sp->kind == GPM_CLICK_EVENT
  #endif
 -        || sp->kind == SCROLL_BAR_CLICK_EVENT)
 +        || sp->kind == SCROLL_BAR_CLICK_EVENT
 +        || sp->kind == HORIZONTAL_SCROLL_BAR_CLICK_EVENT)
        {
          sp->kind = NO_EVENT;
        }
@@@ -4115,7 -4060,7 +4115,7 @@@ kbd_buffer_get_event (KBOARD **kbp
  
          frame = event->frame_or_window;
          object = event->arg;
 -        position = make_number (event->code);
 +        position = make_number (Time_to_position (event->timestamp));
          window = event->x;
          help = event->y;
          clear_event (event);
@@@ -4429,15 -4374,9 +4429,15 @@@ decode_timer (Lisp_Object timer, struc
    vector = XVECTOR (timer)->contents;
    if (! NILP (vector[0]))
      return 0;
 +  if (! INTEGERP (vector[2]))
 +    return false;
  
 -  return decode_time_components (vector[1], vector[2], vector[3], vector[8],
 -                               result, 0);
 +  struct lisp_time t;
 +  if (! decode_time_components (vector[1], vector[2], vector[3], vector[8],
 +                              &t, 0))
 +    return false;
 +  *result = lisp_to_timespec (t);
 +  return timespec_valid_p (*result);
  }
  
  
@@@ -5228,20 -5167,15 +5228,20 @@@ static const char *const lispy_drag_n_d
  
  /* Scroll bar parts.  */
  static Lisp_Object Qabove_handle, Qhandle, Qbelow_handle;
 -Lisp_Object Qup, Qdown, Qbottom;
 +static Lisp_Object Qbefore_handle, Qhorizontal_handle, Qafter_handle;
 +Lisp_Object Qup, Qdown, Qtop, Qbottom;
 +static Lisp_Object Qleftmost, Qrightmost;
  static Lisp_Object Qend_scroll;
 -Lisp_Object Qtop;
  static Lisp_Object Qratio;
  
 -/* An array of scroll bar parts, indexed by an enum scroll_bar_part value.  */
 +/* An array of scroll bar parts, indexed by an enum scroll_bar_part value.
 +   Note that Qnil corresponds to scroll_bar_nowhere and should not appear
 +   in Lisp events.  */
  static Lisp_Object *const scroll_bar_parts[] = {
 -  &Qabove_handle, &Qhandle, &Qbelow_handle,
 -  &Qup, &Qdown, &Qtop, &Qbottom, &Qend_scroll, &Qratio
 +  &Qnil, &Qabove_handle, &Qhandle, &Qbelow_handle,
 +  &Qup, &Qdown, &Qtop, &Qbottom, &Qend_scroll, &Qratio,
 +  &Qbefore_handle, &Qhorizontal_handle, &Qafter_handle,
 +  &Qleft, &Qright, &Qleftmost, &Qrightmost, &Qend_scroll, &Qratio
  };
  
  /* A vector, indexed by button number, giving the down-going location
@@@ -5291,7 -5225,7 +5291,7 @@@ make_lispy_position (struct frame *f, L
        /* It's a click in window WINDOW at frame coordinates (X,Y)  */
        struct window *w = XWINDOW (window);
        Lisp_Object string_info = Qnil;
 -      ptrdiff_t textpos = -1;
 +      ptrdiff_t textpos = 0;
        int col = -1, row = -1;
        int dx  = -1, dy  = -1;
        int width = -1, height = -1;
                                     &object, &dx, &dy, &width, &height);
          if (STRINGP (string))
            string_info = Fcons (string, make_number (charpos));
 -        textpos = (w == XWINDOW (selected_window)
 -                   && current_buffer == XBUFFER (w->contents))
 -          ? PT : marker_position (w->pointm);
 +        textpos = -1;
  
          xret = wx;
          yret = wy;
                                         &object, &dx, &dy, &width, &height);
          if (STRINGP (string))
            string_info = Fcons (string, make_number (charpos));
 +        xret = wx;
          yret = wy - WINDOW_HEADER_LINE_HEIGHT (w);
        }
        else if (part == ON_LEFT_FRINGE)
        {
          posn = Qleft_fringe;
          col = 0;
 +        xret = wx;
          dx = wx
            - (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS (w)
               ? 0 : window_box_width (w, LEFT_MARGIN_AREA));
        {
          posn = Qright_fringe;
          col = 0;
 +        xret = wx;
          dx = wx
            - window_box_width (w, LEFT_MARGIN_AREA)
            - window_box_width (w, TEXT_AREA)
          posn = Qvertical_line;
          width = 1;
          dx = 0;
 +        xret = wx;
 +        dy = yret = wy;
 +      }
 +      else if (part == ON_VERTICAL_SCROLL_BAR)
 +      {
 +        posn = Qvertical_scroll_bar;
 +        width = WINDOW_SCROLL_BAR_AREA_WIDTH (w);
 +        dx = xret = wx;
 +        dy = yret = wy;
 +      }
 +      else if (part == ON_HORIZONTAL_SCROLL_BAR)
 +      {
 +        posn = Qhorizontal_scroll_bar;
 +        width = WINDOW_SCROLL_BAR_AREA_HEIGHT (w);
 +        dx = xret = wx;
          dy = yret = wy;
        }
 -      /* Nothing special for part == ON_SCROLL_BAR.  */
        else if (part == ON_RIGHT_DIVIDER)
        {
          posn = Qright_divider;
        /* For clicks in the text area, fringes, or margins, call
         buffer_posn_from_coords to extract TEXTPOS, the buffer
         position nearest to the click.  */
 -      if (textpos < 0)
 +      if (!textpos)
        {
          Lisp_Object string2, object2 = Qnil;
          struct display_pos p;
        }
  #endif
  
 -      /* Object info */
 +      /* Object info */
        extra_info
        = list3 (object,
                 Fcons (make_number (dx), make_number (dy)),
                 Fcons (make_number (width), make_number (height)));
  
 -      /* String info */
 +      /* String info */
        extra_info = Fcons (string_info,
 -                        Fcons (make_number (textpos),
 +                        Fcons (textpos < 0 ? Qnil : make_number (textpos),
                                 Fcons (Fcons (make_number (col),
                                               make_number (row)),
                                        extra_info)));
      }
    else if (f != 0)
 -    XSETFRAME (window, f);
 +    {
 +      /* Return mouse pixel coordinates here.  */
 +      XSETFRAME (window, f);
 +      xret = XINT (x);
 +      yret = XINT (y);
 +    }
    else
      window = Qnil;
  
@@@ -5507,16 -5421,6 +5507,16 @@@ toolkit_menubar_in_use (struct frame *f
  #endif
  }
  
 +/* Build the part of Lisp event which represents scroll bar state from
 +   EV.  TYPE is one of Qvertical_scroll_bar or Qhorizontal_scroll_bar.  */
 +
 +static Lisp_Object
 +make_scroll_bar_position (struct input_event *ev, Lisp_Object type)
 +{
 +  return list5 (ev->frame_or_window, type, Fcons (ev->x, ev->y),
 +              make_number (ev->timestamp), *scroll_bar_parts[ev->part]);
 +}
 +
  /* Given a struct input_event, build the lisp event which represents
     it.  If EVENT is 0, build a mouse movement event from the mouse
     movement buffer, which should have a movement event in it.
@@@ -5576,13 -5480,14 +5576,13 @@@ make_lispy_event (struct input_event *e
      case NON_ASCII_KEYSTROKE_EVENT:
        button_down_time = 0;
  
 -      for (i = 0; i < sizeof (lispy_accent_codes) / sizeof (int); i++)
 +      for (i = 0; i < ARRAYELTS (lispy_accent_codes); i++)
        if (event->code == lispy_accent_codes[i])
          return modify_event_symbol (i,
                                      event->modifiers,
                                      Qfunction_key, Qnil,
                                      lispy_accent_keys, &accent_key_syms,
 -                                    (sizeof (lispy_accent_keys)
 -                                     / sizeof (lispy_accent_keys[0])));
 +                                      ARRAYELTS (lispy_accent_keys));
  
  #if 0
  #ifdef XK_kana_A
                                    event->modifiers & ~shift_modifier,
                                    Qfunction_key, Qnil,
                                    lispy_kana_keys, &func_key_syms,
 -                                  (sizeof (lispy_kana_keys)
 -                                   / sizeof (lispy_kana_keys[0])));
 +                                    ARRAYELTS (lispy_kana_keys));
  #endif /* XK_kana_A */
  #endif /* 0 */
  
                                    event->modifiers,
                                    Qfunction_key, Qnil,
                                    iso_lispy_function_keys, &func_key_syms,
 -                                  (sizeof (iso_lispy_function_keys)
 -                                   / sizeof (iso_lispy_function_keys[0])));
 +                                    ARRAYELTS (iso_lispy_function_keys));
  #endif
  
 -      /* Handle system-specific or unknown keysyms.  */
 -      if (event->code & (1 << 28)
 -        || event->code - FUNCTION_KEY_OFFSET < 0
 -        || (event->code - FUNCTION_KEY_OFFSET
 -            >= sizeof lispy_function_keys / sizeof *lispy_function_keys)
 -        || !lispy_function_keys[event->code - FUNCTION_KEY_OFFSET])
 -      {
 -        /* We need to use an alist rather than a vector as the cache
 -           since we can't make a vector long enough.  */
 -        if (NILP (KVAR (current_kboard, system_key_syms)))
 -          kset_system_key_syms (current_kboard, Fcons (Qnil, Qnil));
 -        return modify_event_symbol (event->code,
 -                                    event->modifiers,
 -                                    Qfunction_key,
 -                                    KVAR (current_kboard, Vsystem_key_alist),
 -                                    0, &KVAR (current_kboard, system_key_syms),
 -                                    PTRDIFF_MAX);
 -      }
 -
 -      return modify_event_symbol (event->code - FUNCTION_KEY_OFFSET,
 +      if ((FUNCTION_KEY_OFFSET <= event->code
 +         && (event->code
 +             < FUNCTION_KEY_OFFSET + ARRAYELTS (lispy_function_keys)))
 +        && lispy_function_keys[event->code - FUNCTION_KEY_OFFSET])
 +      return modify_event_symbol (event->code - FUNCTION_KEY_OFFSET,
 +                                  event->modifiers,
 +                                  Qfunction_key, Qnil,
 +                                  lispy_function_keys, &func_key_syms,
 +                                  ARRAYELTS (lispy_function_keys));
 +
 +      /* Handle system-specific or unknown keysyms.
 +       We need to use an alist rather than a vector as the cache
 +       since we can't make a vector long enough.  */
 +      if (NILP (KVAR (current_kboard, system_key_syms)))
 +      kset_system_key_syms (current_kboard, Fcons (Qnil, Qnil));
 +      return modify_event_symbol (event->code,
                                  event->modifiers,
 -                                Qfunction_key, Qnil,
 -                                lispy_function_keys, &func_key_syms,
 -                                (sizeof (lispy_function_keys)
 -                                 / sizeof (lispy_function_keys[0])));
 +                                Qfunction_key,
 +                                KVAR (current_kboard, Vsystem_key_alist),
 +                                0, &KVAR (current_kboard, system_key_syms),
 +                                PTRDIFF_MAX);
  
  #ifdef HAVE_NTGUI
      case MULTIMEDIA_KEY_EVENT:
 -      if (event->code < (sizeof (lispy_multimedia_keys)
 -                         / sizeof (lispy_multimedia_keys[0]))
 +      if (event->code < ARRAYELTS (lispy_multimedia_keys)
            && event->code > 0 && lispy_multimedia_keys[event->code])
          {
            return modify_event_symbol (event->code, event->modifiers,
                                        Qfunction_key, Qnil,
                                        lispy_multimedia_keys, &func_key_syms,
 -                                      (sizeof (lispy_multimedia_keys)
 -                                       / sizeof (lispy_multimedia_keys[0])));
 +                                      ARRAYELTS (lispy_multimedia_keys));
          }
        return Qnil;
  #endif
  #endif
  #ifndef USE_TOOLKIT_SCROLL_BARS
      case SCROLL_BAR_CLICK_EVENT:
 +    case HORIZONTAL_SCROLL_BAR_CLICK_EVENT:
  #endif
        {
        int button = event->code;
          }
  #ifndef USE_TOOLKIT_SCROLL_BARS
        else
 -        {
 -          /* It's a scrollbar click.  */
 -          Lisp_Object window;
 -          Lisp_Object portion_whole;
 -          Lisp_Object part;
 -
 -          window = event->frame_or_window;
 -          portion_whole = Fcons (event->x, event->y);
 -          part = *scroll_bar_parts[(int) event->part];
 -
 -          position = list5 (window, Qvertical_scroll_bar,
 -                            portion_whole, make_number (event->timestamp),
 -                            part);
 -        }
 +        /* It's a scrollbar click.  */
 +        position = make_scroll_bar_position (event, Qvertical_scroll_bar);
  #endif /* not USE_TOOLKIT_SCROLL_BARS */
  
        if (button >= ASIZE (button_down_location))
  
      case SCROLL_BAR_CLICK_EVENT:
        {
 -      Lisp_Object position, head, window, portion_whole, part;
 +      Lisp_Object position, head;
 +
 +      position = make_scroll_bar_position (event, Qvertical_scroll_bar);
  
 -      window = event->frame_or_window;
 -      portion_whole = Fcons (event->x, event->y);
 -      part = *scroll_bar_parts[(int) event->part];
 +      /* Always treat scroll bar events as clicks.  */
 +      event->modifiers |= click_modifier;
 +      event->modifiers &= ~up_modifier;
  
 -      position = list5 (window, Qvertical_scroll_bar, portion_whole,
 -                        make_number (event->timestamp), part);
 +      if (event->code >= ASIZE (mouse_syms))
 +          mouse_syms = larger_vector (mouse_syms,
 +                                    event->code - ASIZE (mouse_syms) + 1,
 +                                    -1);
 +
 +      /* Get the symbol we should use for the mouse click.  */
 +      head = modify_event_symbol (event->code,
 +                                  event->modifiers,
 +                                  Qmouse_click,
 +                                  Vlispy_mouse_stem,
 +                                  NULL, &mouse_syms,
 +                                  ASIZE (mouse_syms));
 +      return list2 (head, position);
 +      }
 +
 +    case HORIZONTAL_SCROLL_BAR_CLICK_EVENT:
 +      {
 +      Lisp_Object position, head;
 +
 +      position = make_scroll_bar_position (event, Qhorizontal_scroll_bar);
  
        /* Always treat scroll bar events as clicks.  */
        event->modifiers |= click_modifier;
@@@ -6366,7 -6270,7 +6366,7 @@@ static const char *const modifier_names
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    0, 0, "alt", "super", "hyper", "shift", "control", "meta"
  };
 -#define NUM_MOD_NAMES (sizeof (modifier_names) / sizeof (modifier_names[0]))
 +#define NUM_MOD_NAMES ARRAYELTS (modifier_names)
  
  static Lisp_Object modifier_symbols;
  
@@@ -6974,20 -6878,6 +6974,20 @@@ gobble_input (void
              }
              }
  
 +        /* If there was no error, make sure the pointer
 +           is visible for all frames on this terminal.  */
 +        if (nr >= 0)
 +          {
 +            Lisp_Object tail, frame;
 +
 +            FOR_EACH_FRAME (tail, frame)
 +              {
 +                struct frame *f = XFRAME (frame);
 +                if (FRAME_TERMINAL (f) == t)
 +                  frame_make_pointer_visible (f);
 +              }
 +          }
 +
            if (hold_quit.kind != NO_EVENT)
              kbd_buffer_store_event (&hold_quit);
          }
    if (err && !nread)
      nread = -1;
  
 -  frame_make_pointer_visible ();
 -
    return nread;
  }
  
@@@ -7403,7 -7295,7 +7403,7 @@@ store_user_signal_events (void
  }
  
  \f
 -static void menu_bar_item (Lisp_Object, Lisp_Object, Lisp_Object, void*);
 +static void menu_bar_item (Lisp_Object, Lisp_Object, Lisp_Object, void *);
  static Lisp_Object menu_bar_one_keymap_changed_items;
  
  /* These variables hold the vector under construction within
@@@ -7413,7 -7305,7 +7413,7 @@@ static Lisp_Object menu_bar_items_vecto
  static int menu_bar_items_index;
  
  
 -static const charseparator_names[] = {
 +static const char *separator_names[] = {
    "space",
    "no-line",
    "single-line",
@@@ -7477,14 -7369,11 +7477,14 @@@ menu_bar_items (Lisp_Object old
       in the current keymaps, or nil where it is not a prefix.  */
    Lisp_Object *maps;
  
 +  Lisp_Object mapsbuf[3];
    Lisp_Object def, tail;
  
    ptrdiff_t mapno;
    Lisp_Object oquit;
  
 +  USE_SAFE_ALLOCA;
 +
    /* In order to build the menus, we need to call the keymap
       accessors.  They all call QUIT.  But this function is called
       during redisplay, during which a quit is fatal.  So inhibit
        && !NILP (Voverriding_local_map))
        {
        /* Yes, use them (if non-nil) as well as the global map.  */
 -      maps = alloca (3 * sizeof (maps[0]));
 +      maps = mapsbuf;
        nmaps = 0;
        if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map)))
          maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map);
        Lisp_Object tem;
        ptrdiff_t nminor;
        nminor = current_minor_maps (NULL, &tmaps);
 -      maps = alloca ((nminor + 4) * sizeof *maps);
 +      SAFE_NALLOCA (maps, 1, nminor + 4);
        nmaps = 0;
        tem = KVAR (current_kboard, Voverriding_terminal_local_map);
        if (!NILP (tem) && !NILP (Voverriding_local_map_menu_flag))
    {
      int i = menu_bar_items_index;
      if (i + 4 > ASIZE (menu_bar_items_vector))
 -      menu_bar_items_vector =
 -      larger_vector (menu_bar_items_vector, 4, -1);
 +      menu_bar_items_vector
 +      larger_vector (menu_bar_items_vector, 4, -1);
      /* Add this item.  */
      ASET (menu_bar_items_vector, i, Qnil); i++;
      ASET (menu_bar_items_vector, i, Qnil); i++;
    }
  
    Vinhibit_quit = oquit;
 +  SAFE_FREE ();
    return menu_bar_items_vector;
  }
  \f
@@@ -7918,12 -7806,11 +7918,12 @@@ parse_menu_item (Lisp_Object item, int 
  
    { /* This is a command.  See if there is an equivalent key binding.  */
      Lisp_Object keyeq = AREF (item_properties, ITEM_PROPERTY_KEYEQ);
 +    AUTO_STRING (space_space, "  ");
  
      /* The previous code preferred :key-sequence to :keys, so we
         preserve this behavior.  */
      if (STRINGP (keyeq) && !CONSP (keyhint))
 -      keyeq = concat2 (build_string ("  "), Fsubstitute_command_keys (keyeq));
 +      keyeq = concat2 (space_space, Fsubstitute_command_keys (keyeq));
      else
        {
        Lisp_Object prefix = keyeq;
                if (STRINGP (XCDR (prefix)))
                  tem = concat2 (tem, XCDR (prefix));
              }
 -          keyeq = concat2 (build_string ("  "), tem);
 -          /* keyeq = concat3(build_string("  ("),tem,build_string(")")); */
 +          keyeq = concat2 (space_space, tem);
          }
        else
          keyeq = Qnil;
@@@ -8025,8 -7913,7 +8025,8 @@@ static Lisp_Object QCrtl
  /* Function prototypes.  */
  
  static void init_tool_bar_items (Lisp_Object);
 -static void process_tool_bar_item (Lisp_Object, Lisp_Object, Lisp_Object, void*);
 +static void process_tool_bar_item (Lisp_Object, Lisp_Object, Lisp_Object,
 +                                 void *);
  static bool parse_tool_bar_item (Lisp_Object, Lisp_Object);
  static void append_tool_bar_item (void);
  
@@@ -8039,11 -7926,9 +8039,11 @@@ Lisp_Objec
  tool_bar_items (Lisp_Object reuse, int *nitems)
  {
    Lisp_Object *maps;
 +  Lisp_Object mapsbuf[3];
    ptrdiff_t nmaps, i;
    Lisp_Object oquit;
    Lisp_Object *tmaps;
 +  USE_SAFE_ALLOCA;
  
    *nitems = 0;
  
        && !NILP (Voverriding_local_map))
      {
        /* Yes, use them (if non-nil) as well as the global map.  */
 -      maps = alloca (3 * sizeof *maps);
 +      maps = mapsbuf;
        nmaps = 0;
        if (!NILP (KVAR (current_kboard, Voverriding_terminal_local_map)))
        maps[nmaps++] = KVAR (current_kboard, Voverriding_terminal_local_map);
        Lisp_Object tem;
        ptrdiff_t nminor;
        nminor = current_minor_maps (NULL, &tmaps);
 -      maps = alloca ((nminor + 4) * sizeof *maps);
 +      SAFE_NALLOCA (maps, 1, nminor + 4);
        nmaps = 0;
        tem = KVAR (current_kboard, Voverriding_terminal_local_map);
        if (!NILP (tem) && !NILP (Voverriding_local_map_menu_flag))
  
    Vinhibit_quit = oquit;
    *nitems = ntool_bar_items / TOOL_BAR_ITEM_NSLOTS;
 +  SAFE_FREE ();
    return tool_bar_items_vector;
  }
  
@@@ -8552,7 -8436,7 +8552,7 @@@ static Lisp_Objec
  read_char_minibuf_menu_prompt (int commandflag,
                               Lisp_Object map)
  {
 -  register Lisp_Object name;
 +  Lisp_Object name;
    ptrdiff_t nlength;
    /* FIXME: Use the minibuffer's frame width.  */
    ptrdiff_t width = FRAME_COLS (SELECTED_FRAME ()) - 4;
                      /* Insert button prefix.  */
                      Lisp_Object selected
                        = AREF (item_properties, ITEM_PROPERTY_SELECTED);
 +                    AUTO_STRING (radio_yes, "(*) ");
 +                    AUTO_STRING (radio_no , "( ) ");
 +                    AUTO_STRING (check_yes, "[X] ");
 +                    AUTO_STRING (check_no , "[ ] ");
                      if (EQ (tem, QCradio))
 -                      tem = build_string (NILP (selected) ? "(*) " : "( ) ");
 +                      tem = NILP (selected) ? radio_yes : radio_no;
                      else
 -                      tem = build_string (NILP (selected) ? "[X] " : "[ ] ");
 +                      tem = NILP (selected) ? check_yes : check_no;
                      s = concat2 (tem, s);
                    }
  
@@@ -9055,7 -8935,8 +9055,7 @@@ read_key_sequence (Lisp_Object *keybuf
          echo_now ();
        }
        else if (cursor_in_echo_area
 -             && (FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -             && NILP (Fzerop (Vecho_keystrokes)))
 +             && echo_keystrokes_p ())
        /* This doesn't put in a dash if the echo buffer is empty, so
           you don't always see a dash hanging out in the minibuffer.  */
        echo_dash ();
        {
          key = keybuf[t];
          add_command_key (key);
 -        if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -            && NILP (Fzerop (Vecho_keystrokes))
 +        if (echo_keystrokes_p ()
              && current_kboard->immediate_echo)
            {
              echo_add_key (key);
       Better ideas?  */
    for (; t < mock_input; t++)
      {
 -      if ((FLOATP (Vecho_keystrokes) || INTEGERP (Vecho_keystrokes))
 -        && NILP (Fzerop (Vecho_keystrokes)))
 +      if (echo_keystrokes_p ())
        echo_char (keybuf[t]);
        add_command_key (keybuf[t]);
      }
@@@ -9883,7 -9766,7 +9883,7 @@@ read_key_sequence_vs (Lisp_Object promp
  
    memset (keybuf, 0, sizeof keybuf);
    GCPRO1 (keybuf[0]);
 -  gcpro1.nvars = (sizeof keybuf / sizeof (keybuf[0]));
 +  gcpro1.nvars = ARRAYELTS (keybuf);
  
    if (NILP (continue_echo))
      {
      cancel_hourglass ();
  #endif
  
 -  i = read_key_sequence (keybuf, (sizeof keybuf / sizeof (keybuf[0])),
 +  i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
                         prompt, ! NILP (dont_downcase_last),
                         ! NILP (can_return_switch_frame), 0, 0);
  
@@@ -10060,34 -9943,23 +10060,34 @@@ If CHECK-TIMERS is non-nil, timers tha
          ? Qt : Qnil);
  }
  
 -DEFUN ("recent-keys", Frecent_keys, Srecent_keys, 0, 0, 0,
 -       doc: /* Return vector of last 300 events, not counting those from keyboard macros.  */)
 -  (void)
 +DEFUN ("recent-keys", Frecent_keys, Srecent_keys, 0, 1, 0,
 +       doc: /* Return vector of last few events, not counting those from keyboard macros.
 +If INCLUDE-CMDS is non-nil, include the commands that were run,
 +represented as events of the form (nil . COMMAND).  */)
 +  (Lisp_Object include_cmds)
  {
 -  Lisp_Object *keys = XVECTOR (recent_keys)->contents;
 -  Lisp_Object val;
 +  bool cmds = !NILP (include_cmds);
  
 -  if (total_keys < NUM_RECENT_KEYS)
 -    return Fvector (total_keys, keys);
 +  if (!total_keys
 +      || (cmds && total_keys < NUM_RECENT_KEYS))
 +    return Fvector (total_keys,
 +                  XVECTOR (recent_keys)->contents);
    else
      {
 -      val = Fvector (NUM_RECENT_KEYS, keys);
 -      vcopy (val, 0, keys + recent_keys_index,
 -           NUM_RECENT_KEYS - recent_keys_index);
 -      vcopy (val, NUM_RECENT_KEYS - recent_keys_index,
 -           keys, recent_keys_index);
 -      return val;
 +      Lisp_Object es = Qnil;
 +      int i = (total_keys < NUM_RECENT_KEYS
 +             ? 0 : recent_keys_index);
 +      eassert (recent_keys_index < NUM_RECENT_KEYS);
 +      do
 +      {
 +        Lisp_Object e = AREF (recent_keys, i);
 +        if (cmds || !CONSP (e) || !NILP (XCAR (e)))
 +          es = Fcons (e, es);
 +        if (++i >= NUM_RECENT_KEYS)
 +          i = 0;
 +      } while (i != recent_keys_index);
 +      es = Fnreverse (es);
 +      return Fvconcat (1, &es);
      }
  }
  
@@@ -10310,9 -10182,7 +10310,9 @@@ On such systems, Emacs starts a subshel
       with a window system; but suspend should be disabled in that case.  */
    get_tty_size (fileno (CURTTY ()->input), &width, &height);
    if (width != old_width || height != old_height)
 -    change_frame_size (SELECTED_FRAME (), width, height, 0, 0, 0, 0);
 +    change_frame_size (SELECTED_FRAME (), width,
 +                     height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()),
 +                     0, 0, 0, 0);
  
    /* Run suspend-resume-hook.  */
    hook = intern ("suspend-resume-hook");
@@@ -10395,7 -10265,7 +10395,7 @@@ static voi
  handle_interrupt_signal (int sig)
  {
    /* See if we have an active terminal on our controlling tty.  */
 -  struct terminal *terminal = get_named_tty ("/dev/tty");
 +  struct terminal *terminal = get_named_terminal ("/dev/tty");
    if (!terminal)
      {
        /* If there are no frames there, let's pretend that we are a
@@@ -10449,7 -10319,7 +10449,7 @@@ handle_interrupt (bool in_signal_handle
    cancel_echoing ();
  
    /* XXX This code needs to be revised for multi-tty support.  */
 -  if (!NILP (Vquit_flag) && get_named_tty ("/dev/tty"))
 +  if (!NILP (Vquit_flag) && get_named_terminal ("/dev/tty"))
      {
        if (! in_signal_handler)
        {
@@@ -10661,10 -10531,9 +10661,10 @@@ Emacs reads input in CBREAK mode; see `
  See also `current-input-mode'.  */)
    (Lisp_Object flow, Lisp_Object terminal)
  {
 -  struct terminal *t = get_terminal (terminal, 1);
 +  struct terminal *t = decode_tty_terminal (terminal);
    struct tty_display_info *tty;
 -  if (t == NULL || (t->type != output_termcap && t->type != output_msdos_raw))
 +
 +  if (!t)
      return Qnil;
    tty = t->display_info.tty;
  
@@@ -10704,11 -10573,11 +10704,11 @@@ the currently selected frame
  See also `current-input-mode'.  */)
    (Lisp_Object meta, Lisp_Object terminal)
  {
 -  struct terminal *t = get_terminal (terminal, 1);
 +  struct terminal *t = decode_tty_terminal (terminal);
    struct tty_display_info *tty;
    int new_meta;
  
 -  if (t == NULL || (t->type != output_termcap && t->type != output_msdos_raw))
 +  if (!t)
      return Qnil;
    tty = t->display_info.tty;
  
@@@ -10745,10 -10614,9 +10745,10 @@@ process
  See also `current-input-mode'.  */)
    (Lisp_Object quit)
  {
 -  struct terminal *t = get_named_tty ("/dev/tty");
 +  struct terminal *t = get_named_terminal ("/dev/tty");
    struct tty_display_info *tty;
 -  if (t == NULL || (t->type != output_termcap && t->type != output_msdos_raw))
 +
 +  if (!t)
      return Qnil;
    tty = t->display_info.tty;
  
@@@ -10825,7 -10693,7 +10825,7 @@@ The elements of this list correspond t
      }
    XSETFASTINT (val[3], quit_char);
  
 -  return Flist (sizeof (val) / sizeof (val[0]), val);
 +  return Flist (ARRAYELTS (val), val);
  }
  
  DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, 2, 4, 0,
@@@ -11091,15 -10959,6 +11091,15 @@@ syms_of_keyboard (void
    Vlispy_mouse_stem = build_pure_c_string ("mouse");
    staticpro (&Vlispy_mouse_stem);
  
 +  regular_top_level_message = build_pure_c_string ("Back to top level");
 +#ifdef HAVE_STACK_OVERFLOW_HANDLING
 +  recover_top_level_message
 +    = build_pure_c_string ("Re-entering top level after C stack overflow");
 +#endif
 +  DEFVAR_LISP ("internal--top-level-message", Vinternal__top_level_message,
 +             doc: /* Message displayed by `normal-top-level'.  */);
 +  Vinternal__top_level_message = regular_top_level_message;
 +
    /* Tool-bars.  */
    DEFSYM (QCimage, ":image");
    DEFSYM (Qhelp_echo, "help-echo");
  
    DEFSYM (Qmode_line, "mode-line");
    DEFSYM (Qvertical_line, "vertical-line");
 -  DEFSYM (Qvertical_scroll_bar, "vertical-scroll-bar");
    DEFSYM (Qmenu_bar, "menu-bar");
    DEFSYM (Qright_divider, "right-divider");
    DEFSYM (Qbottom_divider, "bottom-divider");
    DEFSYM (Qbottom, "bottom");
    DEFSYM (Qend_scroll, "end-scroll");
    DEFSYM (Qratio, "ratio");
 +  DEFSYM (Qbefore_handle, "before-handle");
 +  DEFSYM (Qhorizontal_handle, "horizontal-handle");
 +  DEFSYM (Qafter_handle, "after-handle");
 +  DEFSYM (Qleft, "left");
 +  DEFSYM (Qright, "right");
 +  DEFSYM (Qleftmost, "leftmost");
 +  DEFSYM (Qrightmost, "rightmost");
  
    DEFSYM (Qevent_kind, "event-kind");
    DEFSYM (Qevent_symbol_elements, "event-symbol-elements");
  
    DEFSYM (Qpolling_period, "polling-period");
  
 -  DEFSYM (Qx_set_selection, "x-set-selection");
 +  DEFSYM (Qgui_set_selection, "gui-set-selection");
    DEFSYM (QPRIMARY, "PRIMARY");
    DEFSYM (Qhandle_switch_frame, "handle-switch-frame");
    DEFSYM (Qhandle_select_window, "handle-select-window");
  
    {
      int i;
 -    int len = sizeof (head_table) / sizeof (head_table[0]);
 +    int len = ARRAYELTS (head_table);
  
      for (i = 0; i < len; i++)
        {
    staticpro (&button_down_location);
    mouse_syms = Fmake_vector (make_number (5), Qnil);
    staticpro (&mouse_syms);
 -  wheel_syms = Fmake_vector (make_number (sizeof (lispy_wheel_names)
 -                                        / sizeof (lispy_wheel_names[0])),
 +  wheel_syms = Fmake_vector (make_number (ARRAYELTS (lispy_wheel_names)),
                             Qnil);
    staticpro (&wheel_syms);
  
    {
      int i;
 -    int len = sizeof (modifier_names) / sizeof (modifier_names[0]);
 +    int len = ARRAYELTS (modifier_names);
  
      modifier_symbols = Fmake_vector (make_number (len), Qnil);
      for (i = 0; i < len; i++)
@@@ -11549,7 -11403,6 +11549,7 @@@ and tests the value when the command re
  Buffer modification stores t in this variable.  */);
    Vdeactivate_mark = Qnil;
    DEFSYM (Qdeactivate_mark, "deactivate-mark");
 +  Fmake_variable_buffer_local (Qdeactivate_mark);
  
    DEFVAR_LISP ("pre-command-hook", Vpre_command_hook,
               doc: /* Normal hook run before each command is executed.
@@@ -11868,7 -11721,7 +11868,7 @@@ keys_of_keyboard (void
       - we enter the second prompt.
         current-prefix-arg is non-nil, prefix-arg is nil.
       - before running the first real event, we run the special iconify-frame
-        event, but we pass the `special' arg to execute-command so
+        event, but we pass the `special' arg to command-execute so
         current-prefix-arg and prefix-arg are left untouched.
       - here we foolishly copy the non-nil current-prefix-arg to prefix-arg.
       - the next key event will have a spuriously non-nil current-prefix-arg.  */
diff --combined src/w32fns.c
index e51497043354456274cdcc026540fa2b02ff05a8,8bd5e8132b3eb9673fddec80b085707f1016ade1..fc10e74cdff3dcb1a00c6932f47637e3cb20f60e
@@@ -89,10 -89,14 +89,10 @@@ extern void w32_free_menu_strings (HWND
  extern const char *map_w32_filename (const char *, const char **);
  extern char * w32_strerror (int error_no);
  
 -/* If non-NULL, a handle to a frame where to display the hourglass cursor.  */
 -static HWND hourglass_hwnd = NULL;
 -
  #ifndef IDC_HAND
  #define IDC_HAND MAKEINTRESOURCE(32649)
  #endif
  
 -Lisp_Object Qsuppress_icon;
  Lisp_Object Qundefined_color;
  Lisp_Object Qcancel_timer;
  Lisp_Object Qfont_param;
@@@ -224,12 -228,16 +224,12 @@@ static int w32_unicode_gui
  
  /* From w32menu.c  */
  extern HMENU current_popup_menu;
 -static int menubar_in_use = 0;
 +int menubar_in_use = 0;
  
  /* From w32uniscribe.c  */
  extern void syms_of_w32uniscribe (void);
  extern int uniscribe_available;
  
 -/* Function prototypes for hourglass support.  */
 -static void w32_show_hourglass (struct frame *);
 -static void w32_hide_hourglass (void);
 -
  #ifdef WINDOWSNT
  /* From w32inevt.c */
  extern int faked_key;
@@@ -263,9 -271,9 +263,9 @@@ static unsigned int sound_type = 0xFFFF
     the first display on the list.  */
  
  struct w32_display_info *
 -check_x_display_info (Lisp_Object frame)
 +check_x_display_info (Lisp_Object object)
  {
 -  if (NILP (frame))
 +  if (NILP (object))
      {
        struct frame *sf = XFRAME (selected_frame);
  
        else
        return &one_w32_display_info;
      }
 -  else if (STRINGP (frame))
 -    return x_display_info_for_name (frame);
 +  else if (TERMINALP (object))
 +    {
 +      struct terminal *t = decode_live_terminal (object);
 +
 +      if (t->type != output_w32)
 +        error ("Terminal %d is not a W32 display", t->id);
 +
 +      return t->display_info.w32;
 +    }
 +  else if (STRINGP (object))
 +    return x_display_info_for_name (object);
    else
      {
        struct frame *f;
  
 -      CHECK_LIVE_FRAME (frame);
 -      f = XFRAME (frame);
 +      CHECK_LIVE_FRAME (object);
 +      f = XFRAME (object);
        if (! FRAME_W32_P (f))
        error ("Non-W32 frame used");
        return FRAME_DISPLAY_INFO (f);
@@@ -337,7 -336,8 +337,7 @@@ void x_explicitly_set_name (struct fram
  void x_set_menu_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
  void x_set_title (struct frame *, Lisp_Object, Lisp_Object);
  void x_set_tool_bar_lines (struct frame *, Lisp_Object, Lisp_Object);
 -
 -
 +void x_set_internal_border_width (struct frame *f, Lisp_Object, Lisp_Object);
  \f
  
  /* Store the screen positions of frame F into XPTR and YPTR.
@@@ -723,7 -723,8 +723,7 @@@ w32_default_color_map (void
  
    cmap = Qnil;
  
 -  for (i = 0; i < sizeof (w32_color_map) / sizeof (w32_color_map[0]);
 -       pc++, i++)
 +  for (i = 0; i < ARRAYELTS (w32_color_map); pc++, i++)
      cmap = Fcons (Fcons (build_string (pc->name),
                         make_number (pc->colorref)),
                  cmap);
@@@ -1369,23 -1370,23 +1369,23 @@@ x_set_mouse_color (struct frame *f, Lis
      {
        CHECK_NUMBER (Vx_window_horizontal_drag_shape);
        horizontal_drag_cursor
 -      = XCreateFontCursor (FRAME_X_DISPLAY (f),
 +      = XCreateFontCursor (FRAME_W32_DISPLAY (f),
                             XINT (Vx_window_horizontal_drag_shape));
      }
    else
      horizontal_drag_cursor
 -      = XCreateFontCursor (FRAME_X_DISPLAY (f), XC_sb_h_double_arrow);
 +      = XCreateFontCursor (FRAME_W32_DISPLAY (f), XC_sb_h_double_arrow);
  
    if (!NILP (Vx_window_vertical_drag_shape))
      {
        CHECK_NUMBER (Vx_window_vertical_drag_shape);
        vertical_drag_cursor
 -      = XCreateFontCursor (FRAME_X_DISPLAY (f),
 +      = XCreateFontCursor (FRAME_W32_DISPLAY (f),
                             XINT (Vx_window_vertical_drag_shape));
      }
    else
      vertical_drag_cursor
 -      = XCreateFontCursor (FRAME_X_DISPLAY (f), XC_sb_v_double_arrow);
 +      = XCreateFontCursor (FRAME_W32_DISPLAY (f), XC_sb_v_double_arrow);
  
    /* Check and report errors with the above calls.  */
    x_check_errors (FRAME_W32_DISPLAY (f), "can't set cursor shape: %s");
@@@ -1607,53 -1608,8 +1607,53 @@@ x_set_icon_name (struct frame *f, Lisp_
    unblock_input ();
  #endif
  }
 -
  \f
 +void
 +x_clear_under_internal_border (struct frame *f)
 +{
 +  int border = FRAME_INTERNAL_BORDER_WIDTH (f);
 +
 +  /* Clear border if it's larger than before.  */
 +  if (border != 0)
 +    {
 +      HDC hdc = get_frame_dc (f);
 +      int width = FRAME_PIXEL_WIDTH (f);
 +      int height = FRAME_PIXEL_HEIGHT (f);
 +
 +      block_input ();
 +      w32_clear_area (f, hdc, 0, FRAME_TOP_MARGIN_HEIGHT (f), width, border);
 +      w32_clear_area (f, hdc, 0, 0, border, height);
 +      w32_clear_area (f, hdc, width - border, 0, border, height);
 +      w32_clear_area (f, hdc, 0, height - border, width, border);
 +      release_frame_dc (f, hdc);
 +      unblock_input ();
 +    }
 +}
 +
 +
 +void
 +x_set_internal_border_width (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 +{
 +  int border;
 +
 +  CHECK_TYPE_RANGED_INTEGER (int, arg);
 +  border = max (XINT (arg), 0);
 +
 +  if (border != FRAME_INTERNAL_BORDER_WIDTH (f))
 +    {
 +      FRAME_INTERNAL_BORDER_WIDTH (f) = border;
 +
 +      if (FRAME_X_WINDOW (f) != 0)
 +      {
 +        adjust_frame_size (f, -1, -1, 3, 0, Qinternal_border_width);
 +
 +        if (FRAME_VISIBLE_P (f))
 +          x_clear_under_internal_border (f);
 +      }
 +    }
 +}
 +
 +
  void
  x_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
  {
    FRAME_MENU_BAR_LINES (f) = 0;
    FRAME_MENU_BAR_HEIGHT (f) = 0;
    if (nlines)
 -    FRAME_EXTERNAL_MENU_BAR (f) = 1;
 +    {
 +      FRAME_EXTERNAL_MENU_BAR (f) = 1;
 +      windows_or_buffers_changed = 23;
 +    }
    else
      {
        if (FRAME_EXTERNAL_MENU_BAR (f) == 1)
  
        /* Adjust the frame size so that the client (text) dimensions
         remain the same.  This depends on FRAME_EXTERNAL_MENU_BAR being
 -       set correctly.  */
 -      x_set_window_size (f, 0, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 1);
 -      do_pending_window_change (0);
 +       set correctly.  Note that we resize twice: The first time upon
 +       a request from the window manager who wants to keep the height
 +       of the outer rectangle (including decorations) unchanged, and a
 +       second time because we want to keep the height of the inner
 +       rectangle (without the decorations unchanged).  */
 +      adjust_frame_size (f, -1, -1, 2, 1, Qmenu_bar_lines);
 +
 +      /* Not sure whether this is needed.  */
 +      x_clear_under_internal_border (f);
      }
 -  adjust_frame_glyphs (f);
  }
  
  
  void
  x_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
  {
 -  int delta, nlines, root_height;
 -  int unit = FRAME_LINE_HEIGHT (f);
 +  int nlines;
  
    /* Treat tool bars like menu bars.  */
    if (FRAME_MINIBUF_ONLY_P (f))
    else
      nlines = 0;
  
 -  /* Make sure we redisplay all windows in this frame.  */
 -  windows_or_buffers_changed = 23;
 +  x_change_tool_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
 +}
  
 -  /* DELTA is in pixels now.  */
 -  delta = (nlines - FRAME_TOOL_BAR_LINES (f)) * unit;
  
 -  /* Don't resize the tool-bar to more than we have room for.  Note: The
 -     calculations below and the subsequent call to resize_frame_windows
 -     are inherently flawed because they can make the toolbar higher than
 -     the containing frame.  */
 -  if (delta > 0)
 -    {
 -      root_height = WINDOW_PIXEL_HEIGHT (XWINDOW (FRAME_ROOT_WINDOW (f)));
 -      if (root_height - delta < unit)
 -      {
 -        delta = root_height - unit;
 -        /* When creating a new frame and toolbar mode is enabled, we
 -           need at least one toolbar line.  */
 -        nlines = max (FRAME_TOOL_BAR_LINES (f) + delta / unit, 1);
 -      }
 -    }
 +/* Set the pixel height of the tool bar of frame F to HEIGHT.  */
 +void
 +x_change_tool_bar_height (struct frame *f, int height)
 +{
 +  Lisp_Object frame;
 +  int unit = FRAME_LINE_HEIGHT (f);
 +  int old_height = FRAME_TOOL_BAR_HEIGHT (f);
 +  int lines = (height + unit - 1) / unit;
 +  int old_text_height = FRAME_TEXT_HEIGHT (f);
  
 -  FRAME_TOOL_BAR_LINES (f) = nlines;
 -  FRAME_TOOL_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
 -  ++windows_or_buffers_changed;
 -  resize_frame_windows (f, FRAME_TEXT_HEIGHT (f), 0, 1);
 -  adjust_frame_glyphs (f);
 +  /* Make sure we redisplay all windows in this frame.  */
 +  windows_or_buffers_changed = 23;
 +
 +  /* Recalculate tool bar and frame text sizes.  */
 +  FRAME_TOOL_BAR_HEIGHT (f) = height;
 +  FRAME_TOOL_BAR_LINES (f) = lines;
 +  /* Store `tool-bar-lines' and `height' frame parameters.  */
 +  store_frame_param (f, Qtool_bar_lines, make_number (lines));
 +  store_frame_param (f, Qheight, make_number (FRAME_LINES (f)));
  
 -  /* We also have to make sure that the internal border at the top of
 -     the frame, below the menu bar or tool bar, is redrawn when the
 -     tool bar disappears.  This is so because the internal border is
 -     below the tool bar if one is displayed, but is below the menu bar
 -     if there isn't a tool bar.  The tool bar draws into the area
 -     below the menu bar.  */
    if (FRAME_W32_WINDOW (f) && FRAME_TOOL_BAR_HEIGHT (f) == 0)
      {
        clear_frame (f);
        clear_current_matrices (f);
      }
  
 -  /* If the tool bar gets smaller, the internal border below it
 -     has to be cleared.  It was formerly part of the display
 -     of the larger tool bar, and updating windows won't clear it.  */
 -  if (FRAME_INTERNAL_BORDER_WIDTH (f) != 0 && FRAME_VISIBLE_P (f))
 -    {
 -      int height = FRAME_INTERNAL_BORDER_WIDTH (f);
 -      int width = FRAME_PIXEL_WIDTH (f);
 -      int y = nlines * unit;
 -      HDC hdc = get_frame_dc (f);
 +  if ((height < old_height) && WINDOWP (f->tool_bar_window))
 +    clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
  
 -      block_input ();
 -      w32_clear_area (f, hdc, 0, y, width, height);
 -      release_frame_dc (f, hdc);
 -      unblock_input ();
 -    }
 +  /* Recalculate toolbar height.  */
 +  f->n_tool_bar_rows = 0;
  
 -  if (delta < 0 && WINDOWP (f->tool_bar_window))
 -    clear_glyph_matrix (XWINDOW (f->tool_bar_window)->current_matrix);
 +  adjust_frame_size (f, -1, -1, (old_height == 0 || height == 0) ? 2 : 4, 0,
 +                   Qtool_bar_lines);
  
 -  run_window_configuration_change_hook (f);
 +  /* adjust_frame_size might not have done anything, garbage frame
 +     here.  */
 +  adjust_frame_glyphs (f);
 +  SET_FRAME_GARBAGED (f);
 +  if (FRAME_X_WINDOW (f))
 +    x_clear_under_internal_border (f);
  }
  
  
@@@ -1884,16 -1848,6 +1884,16 @@@ x_set_scroll_bar_default_width (struct 
      = (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) + unit - 1) / unit;
  }
  
 +
 +void
 +x_set_scroll_bar_default_height (struct frame *f)
 +{
 +  int unit = FRAME_LINE_HEIGHT (f);
 +
 +  FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = GetSystemMetrics (SM_CXHSCROLL);
 +  FRAME_CONFIG_SCROLL_BAR_LINES (f)
 +    = (FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) + unit - 1) / unit;
 +}
  \f
  /* Subroutines for creating a frame.  */
  
@@@ -1948,7 -1902,7 +1948,7 @@@ w32_init_class (HINSTANCE hinst
  }
  
  static HWND
 -w32_createscrollbar (struct frame *f, struct scroll_bar * bar)
 +w32_createvscrollbar (struct frame *f, struct scroll_bar * bar)
  {
    return CreateWindow ("SCROLLBAR", "", SBS_VERT | WS_CHILD | WS_VISIBLE,
                       /* Position and size of scroll bar.  */
                       FRAME_W32_WINDOW (f), NULL, hinst, NULL);
  }
  
 +static HWND
 +w32_createhscrollbar (struct frame *f, struct scroll_bar * bar)
 +{
 +  return CreateWindow ("SCROLLBAR", "", SBS_HORZ | WS_CHILD | WS_VISIBLE,
 +                     /* Position and size of scroll bar.  */
 +                     bar->left, bar->top, bar->width, bar->height,
 +                     FRAME_W32_WINDOW (f), NULL, hinst, NULL);
 +}
 +
  static void
  w32_createwindow (struct frame *f, int *coords)
  {
        SetWindowLong (hwnd, WND_FONTWIDTH_INDEX, FRAME_COLUMN_WIDTH (f));
        SetWindowLong (hwnd, WND_LINEHEIGHT_INDEX, FRAME_LINE_HEIGHT (f));
        SetWindowLong (hwnd, WND_BORDER_INDEX, FRAME_INTERNAL_BORDER_WIDTH (f));
 -      SetWindowLong (hwnd, WND_SCROLLBAR_INDEX, FRAME_SCROLL_BAR_AREA_WIDTH (f));
 +      SetWindowLong (hwnd, WND_VSCROLLBAR_INDEX, FRAME_SCROLL_BAR_AREA_WIDTH (f));
 +      SetWindowLong (hwnd, WND_HSCROLLBAR_INDEX, FRAME_SCROLL_BAR_AREA_HEIGHT (f));
        SetWindowLong (hwnd, WND_BACKGROUND_INDEX, FRAME_BACKGROUND_PIXEL (f));
  
        /* Enable drag-n-drop.  */
@@@ -2427,8 -2371,7 +2427,8 @@@ w32_name_of_message (UINT msg
        M (WM_EMACS_KILL),
        M (WM_EMACS_CREATEWINDOW),
        M (WM_EMACS_DONE),
 -      M (WM_EMACS_CREATESCROLLBAR),
 +      M (WM_EMACS_CREATEVSCROLLBAR),
 +      M (WM_EMACS_CREATEHSCROLLBAR),
        M (WM_EMACS_SHOWWINDOW),
        M (WM_EMACS_SETWINDOWPOS),
        M (WM_EMACS_DESTROYWINDOW),
        M (WM_EMACS_SHOW_CARET),
        M (WM_EMACS_HIDE_CARET),
        M (WM_EMACS_SETCURSOR),
 +      M (WM_EMACS_SHOWCURSOR),
        M (WM_EMACS_PAINT),
        M (WM_CHAR),
  #undef M
@@@ -3504,7 -3446,6 +3504,7 @@@ w32_wnd_proc (HWND hwnd, UINT msg, WPAR
          track_mouse_event_fn (&tme);
          track_mouse_window = hwnd;
        }
 +    case WM_HSCROLL:
      case WM_VSCROLL:
        if (w32_mouse_move_interval <= 0
          || (msg == WM_MOUSEMOVE && button_state == 0))
        return 0;
  
      case WM_WINDOWPOSCHANGING:
 -      /* Don't restrict the sizing of tip frames.  */
 -      if (frame_resize_pixelwise || hwnd == tip_window)
 -      return 0;
 +      /* Don't restrict the sizing of any kind of frames.  If the window
 +       manager doesn't, there's no reason to do it ourselves.  */
 +#if 0
 +        if (frame_resize_pixelwise || hwnd == tip_window)
 +#endif
 +        return 0;
  
 +#if 0
        /* Don't restrict the sizing of fullscreened frames, allowing them to be
           flush with the sides of the screen.  */
        f = x_window_to_frame (dpyinfo, hwnd);
            DWORD font_width;
            DWORD line_height;
            DWORD internal_border;
 -          DWORD scrollbar_extra;
 +          DWORD vscrollbar_extra;
 +          DWORD hscrollbar_extra;
            RECT wr;
  
            wp.length = sizeof (wp);
            font_width = GetWindowLong (hwnd, WND_FONTWIDTH_INDEX);
            line_height = GetWindowLong (hwnd, WND_LINEHEIGHT_INDEX);
            internal_border = GetWindowLong (hwnd, WND_BORDER_INDEX);
 -          scrollbar_extra = GetWindowLong (hwnd, WND_SCROLLBAR_INDEX);
 +          vscrollbar_extra = GetWindowLong (hwnd, WND_VSCROLLBAR_INDEX);
 +          hscrollbar_extra = GetWindowLong (hwnd, WND_HSCROLLBAR_INDEX);
  
            leave_crit ();
  
            /* Force width and height of client area to be exact
               multiples of the character cell dimensions.  */
            wdiff = (lppos->cx - (rect.right - rect.left)
 -                   - 2 * internal_border - scrollbar_extra)
 +                   - 2 * internal_border - vscrollbar_extra)
              % font_width;
            hdiff = (lppos->cy - (rect.bottom - rect.top)
 -                   - 2 * internal_border)
 +                   - 2 * internal_border - hscrollbar_extra)
              % line_height;
  
            if (wdiff || hdiff)
        }
  
        goto dflt;
 +#endif
  
      case WM_GETMINMAXINFO:
        /* Hack to allow resizing the Emacs frame above the screen size.
        return 0;
        }
  
 -    case WM_EMACS_CREATESCROLLBAR:
 -      return (LRESULT) w32_createscrollbar ((struct frame *) wParam,
 -                                          (struct scroll_bar *) lParam);
 +    case WM_EMACS_SHOWCURSOR:
 +      {
 +      ShowCursor ((BOOL) wParam);
 +
 +      return 0;
 +      }
 +
 +    case WM_EMACS_CREATEVSCROLLBAR:
 +      return (LRESULT) w32_createvscrollbar ((struct frame *) wParam,
 +                                           (struct scroll_bar *) lParam);
 +
 +    case WM_EMACS_CREATEHSCROLLBAR:
 +      return (LRESULT) w32_createhscrollbar ((struct frame *) wParam,
 +                                           (struct scroll_bar *) lParam);
  
      case WM_EMACS_SHOWWINDOW:
        return ShowWindow ((HWND) wParam, (WPARAM) lParam);
@@@ -4203,8 -4126,7 +4203,8 @@@ my_create_tip_window (struct frame *f
        SetWindowLong (tip_window, WND_BACKGROUND_INDEX, FRAME_BACKGROUND_PIXEL (f));
  
        /* Tip frames have no scrollbars.  */
 -      SetWindowLong (tip_window, WND_SCROLLBAR_INDEX, 0);
 +      SetWindowLong (tip_window, WND_VSCROLLBAR_INDEX, 0);
 +      SetWindowLong (tip_window, WND_HSCROLLBAR_INDEX, 0);
  
        /* Do this to discard the default setting specified by our parent. */
        ShowWindow (tip_window, SW_HIDE);
@@@ -4436,6 -4358,7 +4436,6 @@@ This function is an internal primitive-
    Lisp_Object name;
    int minibuffer_only = 0;
    long window_prompting = 0;
 -  int width, height;
    ptrdiff_t count = SPECPDL_INDEX ();
    struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
    Lisp_Object display;
  
    XSETFRAME (frame, f);
  
 -  /* By default, make scrollbars the system standard width. */
 -  x_set_scroll_bar_default_width (f);
 +  /* By default, make scrollbars the system standard width and height. */
 +  FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = GetSystemMetrics (SM_CXVSCROLL);
 +  FRAME_CONFIG_SCROLL_BAR_HEIGHT (f) = GetSystemMetrics (SM_CXHSCROLL);
  
    f->terminal = dpyinfo->terminal;
  
  #endif /* GLYPH_DEBUG */
  
    /* Specify the parent under which to make this window.  */
 -
    if (!NILP (parent))
      {
        f->output_data.w32->parent_desc = (Window) XFASTINT (parent);
      {
        fset_name (f, name);
        f->explicit_name = 1;
 -      /* use the frame's title when getting resources for this frame.  */
 +      /* Use the frame's title when getting resources for this frame.  */
        specbind (Qx_resource_name, name);
      }
  
  
    x_default_parameter (f, parameters, Qfont_backend, Qnil,
                       "fontBackend", "FontBackend", RES_TYPE_STRING);
 +
    /* Extract the window parameters from the supplied values
       that are needed to determine window geometry.  */
    x_default_font_parameter (f, parameters);
 +
    x_default_parameter (f, parameters, Qborder_width, make_number (2),
                       "borderWidth", "BorderWidth", RES_TYPE_NUMBER);
  
                         "internalBorder", "InternalBorder", RES_TYPE_NUMBER);
        if (! EQ (value, Qunbound))
        parameters = Fcons (Fcons (Qinternal_border_width, value),
 -                            parameters);
 +                          parameters);
      }
    /* Default internalBorderWidth to 0 on Windows to match other programs.  */
    x_default_parameter (f, parameters, Qinternal_border_width, make_number (0),
                       NULL, NULL, RES_TYPE_NUMBER);
    x_default_parameter (f, parameters, Qvertical_scroll_bars, Qright,
                       "verticalScrollBars", "ScrollBars", RES_TYPE_SYMBOL);
 +  x_default_parameter (f, parameters, Qhorizontal_scroll_bars, Qnil,
 +                     "horizontalScrollBars", "ScrollBars", RES_TYPE_SYMBOL);
  
    /* Also do the stuff which must be set before the window exists.  */
    x_default_parameter (f, parameters, Qforeground_color, build_string ("black"),
                       "rightFringe", "RightFringe", RES_TYPE_NUMBER);
    /* Process alpha here (Bug#16619).  */
    x_default_parameter (f, parameters, Qalpha, Qnil,
 -                       "alpha", "Alpha", RES_TYPE_NUMBER);
 +                     "alpha", "Alpha", RES_TYPE_NUMBER);
  
 -  /* Init faces before x_default_parameter is called for scroll-bar
 -     parameters because that function calls x_set_scroll_bar_width,
 -     which calls change_frame_size, which calls Fset_window_buffer,
 -     which runs hooks, which call Fvertical_motion.  At the end, we
 -     end up in init_iterator with a null face cache, which should not
 -     happen.  */
 +  /* Init faces first since we need the frame's column width/line
 +     height in various occasions.  */
    init_frame_faces (f);
  
 -  /* Avoid calling window-configuration-change-hook; otherwise we
 -     could get an infloop in next_frame since the frame is not yet in
 -     Vframe_list.  */
 -  {
 -    ptrdiff_t count2 = SPECPDL_INDEX ();
 -
 -    record_unwind_protect (unwind_create_frame_1, inhibit_lisp_code);
 -    inhibit_lisp_code = Qt;
 -
 -    /* PXW: This is a duplicate from below.  We have to do it here since
 -       otherwise x_set_tool_bar_lines will work with the character sizes
 -       installed by init_frame_faces while the frame's pixel size is still
 -       calculated from a character size of 1 and we subsequently hit the
 -       eassert (height >= 0) assertion in window_box_height.  The
 -       non-pixelwise code apparently worked around this because it had one
 -       frame line vs one toolbar line which left us with a zero root
 -       window height which was obviously wrong as well ...  */
 -    change_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
 -                     FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 1, 0, 0, 1);
 -
 -    /* The X resources controlling the menu-bar and tool-bar are
 -       processed specially at startup, and reflected in the mode
 -       variables; ignore them here.  */
 -    x_default_parameter (f, parameters, Qmenu_bar_lines,
 -                       NILP (Vmenu_bar_mode)
 -                       ? make_number (0) : make_number (1),
 -                       NULL, NULL, RES_TYPE_NUMBER);
 -    x_default_parameter (f, parameters, Qtool_bar_lines,
 -                       NILP (Vtool_bar_mode)
 -                       ? make_number (0) : make_number (1),
 -                       NULL, NULL, RES_TYPE_NUMBER);
 -
 -    unbind_to (count2, Qnil);
 -  }
 +  /* The following call of change_frame_size is needed since otherwise
 +     x_set_tool_bar_lines will already work with the character sizes
 +     installed by init_frame_faces while the frame's pixel size is
 +     still calculated from a character size of 1 and we subsequently
 +     hit the (height >= 0) assertion in window_box_height.
 +
 +     The non-pixelwise code apparently worked around this because it
 +     had one frame line vs one toolbar line which left us with a zero
 +     root window height which was obviously wrong as well ...  */
 +  adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
 +                   FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 5, 1, Qnil);
 +
 +  /* The X resources controlling the menu-bar and tool-bar are
 +     processed specially at startup, and reflected in the mode
 +     variables; ignore them here.  */
 +  x_default_parameter (f, parameters, Qmenu_bar_lines,
 +                     NILP (Vmenu_bar_mode)
 +                     ? make_number (0) : make_number (1),
 +                     NULL, NULL, RES_TYPE_NUMBER);
 +  x_default_parameter (f, parameters, Qtool_bar_lines,
 +                     NILP (Vtool_bar_mode)
 +                     ? make_number (0) : make_number (1),
 +                     NULL, NULL, RES_TYPE_NUMBER);
  
    x_default_parameter (f, parameters, Qbuffer_predicate, Qnil,
                       "bufferPredicate", "BufferPredicate", RES_TYPE_SYMBOL);
    x_default_parameter (f, parameters, Qtitle, Qnil,
                       "title", "Title", RES_TYPE_STRING);
    x_default_parameter (f, parameters, Qfullscreen, Qnil,
 -                       "fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
 +                     "fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
  
    f->output_data.w32->dwStyle = WS_OVERLAPPEDWINDOW;
    f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
                       "cursorType", "CursorType", RES_TYPE_SYMBOL);
    x_default_parameter (f, parameters, Qscroll_bar_width, Qnil,
                       "scrollBarWidth", "ScrollBarWidth", RES_TYPE_NUMBER);
 +  x_default_parameter (f, parameters, Qscroll_bar_height, Qnil,
 +                     "scrollBarHeight", "ScrollBarHeight", RES_TYPE_NUMBER);
 +
 +  /* Allow x_set_window_size, now.  */
 +  f->can_x_set_window_size = true;
  
 -  /* Dimensions, especially FRAME_LINES (f), must be done via change_frame_size.
 -     Change will not be effected unless different from the current
 -     FRAME_LINES (f).  */
 -  width = FRAME_TEXT_WIDTH (f);
 -  height = FRAME_TEXT_HEIGHT (f);
 -  FRAME_TEXT_HEIGHT (f) = 0;
 -  SET_FRAME_WIDTH (f, 0);
 -  change_frame_size (f, width, height, 1, 0, 0, 1);
 +  adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qnil);
  
    /* Tell the server what size and position, etc, we want, and how
       badly we want them.  This should be done after we have the menu
@@@ -5035,7 -4971,7 +5035,7 @@@ If omitted or nil, that stands for the 
    return Qnil;
  }
  
 -static BOOL CALLBACK
 +static BOOL CALLBACK ALIGN_STACK
  w32_monitor_enum (HMONITOR monitor, HDC hdc, RECT *rcMonitor, LPARAM dwData)
  {
    Lisp_Object *monitor_list = (Lisp_Object *) dwData;
@@@ -5362,7 -5298,7 +5362,7 @@@ terminate Emacs if we can't open the co
    {
      char basename[ MAX_PATH ], *str;
  
 -    strcpy (basename, SDATA (Vinvocation_name));
 +    lispstpcpy (basename, Vinvocation_name);
      str = strrchr (basename, '.');
      if (str) *str = 0;
      Vinvocation_name = build_string (basename);
@@@ -5574,6 -5510,100 +5574,6 @@@ no value of TYPE (always string in the 
  
  #endif /* TODO */
  
 -\f
 -/***********************************************************************
 -                              Busy cursor
 - ***********************************************************************/
 -
 -void
 -w32_note_current_window (void)
 -{
 -  struct frame * f = SELECTED_FRAME ();
 -
 -  if (!FRAME_W32_P (f))
 -    return;
 -
 -  hourglass_hwnd = FRAME_W32_WINDOW (f);
 -}
 -
 -void
 -show_hourglass (struct atimer *timer)
 -{
 -  struct frame *f;
 -
 -  hourglass_atimer = NULL;
 -
 -  block_input ();
 -  f = x_window_to_frame (&one_w32_display_info,
 -                                     hourglass_hwnd);
 -
 -  if (f)
 -    f->output_data.w32->hourglass_p = 0;
 -  else
 -    f = SELECTED_FRAME ();
 -
 -  if (!FRAME_W32_P (f))
 -    {
 -      unblock_input ();
 -      return;
 -    }
 -
 -  w32_show_hourglass (f);
 -  unblock_input ();
 -}
 -
 -void
 -hide_hourglass (void)
 -{
 -  block_input ();
 -  w32_hide_hourglass ();
 -  unblock_input ();
 -}
 -
 -
 -/* Display an hourglass cursor.  Set the hourglass_p flag in display info
 -   to indicate that an hourglass cursor is shown.  */
 -
 -static void
 -w32_show_hourglass (struct frame *f)
 -{
 -  if (!hourglass_shown_p)
 -    {
 -      f->output_data.w32->hourglass_p = 1;
 -      if (!menubar_in_use && !current_popup_menu)
 -      SetCursor (f->output_data.w32->hourglass_cursor);
 -      hourglass_shown_p = 1;
 -    }
 -}
 -
 -
 -/* Hide the hourglass cursor on all frames, if it is currently shown.  */
 -
 -static void
 -w32_hide_hourglass (void)
 -{
 -  if (hourglass_shown_p)
 -    {
 -      struct frame *f = x_window_to_frame (&one_w32_display_info,
 -                                         hourglass_hwnd);
 -      if (f)
 -      f->output_data.w32->hourglass_p = 0;
 -      else
 -      /* If frame was deleted, restore to selected frame's cursor.  */
 -      f = SELECTED_FRAME ();
 -
 -      if (FRAME_W32_P (f))
 -      SetCursor (f->output_data.w32->current_cursor);
 -      else
 -      /* No cursors on non GUI frames - restore to stock arrow cursor.  */
 -      SetCursor (w32_load_cursor (IDC_ARROW));
 -
 -      hourglass_shown_p = 0;
 -    }
 -}
 -
 -
 -\f
  /***********************************************************************
                                Tool tips
   ***********************************************************************/
@@@ -5663,8 -5693,7 +5663,8 @@@ x_create_tip_frame (struct w32_display_
    f->wants_modeline = 0;
    XSETFRAME (frame, f);
  
 -  buffer = Fget_buffer_create (build_string (" *tip*"));
 +  AUTO_STRING (tip, " *tip*");
 +  buffer = Fget_buffer_create (tip);
    /* Use set_window_buffer instead of Fset_window_buffer (see
       discussion of bug#11984, bug#12025, bug#12026).  */
    set_window_buffer (FRAME_ROOT_WINDOW (f), buffer, 0, 0);
                       "cursorColor", "Foreground", RES_TYPE_STRING);
    x_default_parameter (f, parms, Qborder_color, build_string ("black"),
                       "borderColor", "BorderColor", RES_TYPE_STRING);
 +  x_default_parameter (f, parms, Qalpha, Qnil,
 +                       "alpha", "Alpha", RES_TYPE_NUMBER);
  
 -  /* Init faces before x_default_parameter is called for scroll-bar
 -     parameters because that function calls x_set_scroll_bar_width,
 -     which calls change_frame_size, which calls Fset_window_buffer,
 -     which runs hooks, which call Fvertical_motion.  At the end, we
 -     end up in init_iterator with a null face cache, which should not
 -     happen.  */
 +  /* Init faces before x_default_parameter is called for the
 +     scroll-bar-width parameter because otherwise we end up in
 +     init_iterator with a null face cache, which should not happen.  */
    init_frame_faces (f);
  
    f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED;
       from the current FRAME_LINES (f).  */
    width = FRAME_COLS (f);
    height = FRAME_LINES (f);
 -  FRAME_LINES (f) = 0;
    SET_FRAME_COLS (f, 0);
 -  change_frame_size (f, width, height, 1, 0, 0, 0);
 +  SET_FRAME_LINES (f, 0);
 +  adjust_frame_size (f, width * FRAME_COLUMN_WIDTH (f),
 +                   height * FRAME_LINE_HEIGHT (f), 0, 1, Qnil);
  
    /* Add `tooltip' frame parameter's default value. */
    if (NILP (Fframe_parameter (frame, Qtooltip)))
       below.  And the frame needs to be on Vframe_list or making it
       visible won't work.  */
    Vframe_list = Fcons (frame, Vframe_list);
 +  f->can_x_set_window_size = true;
  
    /* Setting attributes of faces of the tooltip frame from resources
       and similar will increment face_change_count, which leads to the
@@@ -6872,33 -6900,24 +6872,33 @@@ operations
                 specified DOCUMENT.
   \"find\"    - initiate search starting from DOCUMENT, which must specify
                 a directory.
 + \"delete\"  - move DOCUMENT, a file or a directory, to Recycle Bin.
 + \"copy\"    - copy DOCUMENT, which must be a file or a directory, into
 +               the clipboard.
 + \"cut\"     - move DOCUMENT, a file or a directory, into the clipboard.
 + \"paste\"   - paste the file whose name is in the clipboard into DOCUMENT,
 +               which must be a directory.
 + \"pastelink\"
 +           - create a shortcut in DOCUMENT (which must be a directory)
 +               the file or directory whose name is in the clipboard.
   \"runas\"   - run DOCUMENT, which must be an excutable file, with
                 elevated privileges (a.k.a. \"as Administrator\").
   \"properties\"
 -           - open the the property sheet dialog for DOCUMENT; works
 -               for *.lnk desktop shortcuts, and little or nothing else.
 +           - open the property sheet dialog for DOCUMENT.
   nil       - invoke the default OPERATION, or \"open\" if default is
                 not defined or unavailable.
  
  DOCUMENT is typically the name of a document file or a URL, but can
  also be an executable program to run, or a directory to open in the
 -Windows Explorer.  If it is a file, it must be a local one; this
 -function does not support remote file names.
 +Windows Explorer.  If it is a file or a directory, it must be a local
 +one; this function does not support remote file names.
  
  If DOCUMENT is an executable program, the optional third arg PARAMETERS
 -can be a string containing command line parameters that will be passed
 -to the program.  Some values of OPERATION also require parameters (e.g.,
 -\"printto\" requires the printer address).  Otherwise, PARAMETERS should
 -be nil or unspecified.
 +can be a string containing command line parameters, separated by blanks,
 +that will be passed to the program.  Some values of OPERATION also require
 +parameters (e.g., \"printto\" requires the printer address).  Otherwise,
 +PARAMETERS should be nil or unspecified.  Note that double quote characters
 +in PARAMETERS must each be enclosed in 2 additional quotes, as in \"\"\".
  
  Optional fourth argument SHOW-FLAG can be used to control how the
  application will be displayed when it is invoked.  If SHOW-FLAG is nil
@@@ -6916,13 -6935,11 +6916,13 @@@ a ShowWindow flag
    char *errstr;
    Lisp_Object current_dir = BVAR (current_buffer, directory);;
    wchar_t *doc_w = NULL, *params_w = NULL, *ops_w = NULL;
 +#ifdef CYGWIN
    intptr_t result;
 -#ifndef CYGWIN
 +#else
    int use_unicode = w32_unicode_filenames;
    char *doc_a = NULL, *params_a = NULL, *ops_a = NULL;
    Lisp_Object absdoc, handler;
 +  BOOL success;
    struct gcpro gcpro1;
  #endif
  
                                     GUI_SDATA (current_dir),
                                     (INTEGERP (show_flag)
                                      ? XINT (show_flag) : SW_SHOWDEFAULT));
 +
 +  if (result > 32)
 +    return Qt;
 +
 +  switch (result)
 +    {
 +    case SE_ERR_ACCESSDENIED:
 +      errstr = w32_strerror (ERROR_ACCESS_DENIED);
 +      break;
 +    case SE_ERR_ASSOCINCOMPLETE:
 +    case SE_ERR_NOASSOC:
 +      errstr = w32_strerror (ERROR_NO_ASSOCIATION);
 +      break;
 +    case SE_ERR_DDEBUSY:
 +    case SE_ERR_DDEFAIL:
 +      errstr = w32_strerror (ERROR_DDE_FAIL);
 +      break;
 +    case SE_ERR_DDETIMEOUT:
 +      errstr = w32_strerror (ERROR_TIMEOUT);
 +      break;
 +    case SE_ERR_DLLNOTFOUND:
 +      errstr = w32_strerror (ERROR_DLL_NOT_FOUND);
 +      break;
 +    case SE_ERR_FNF:
 +      errstr = w32_strerror (ERROR_FILE_NOT_FOUND);
 +      break;
 +    case SE_ERR_OOM:
 +      errstr = w32_strerror (ERROR_NOT_ENOUGH_MEMORY);
 +      break;
 +    case SE_ERR_PNF:
 +      errstr = w32_strerror (ERROR_PATH_NOT_FOUND);
 +      break;
 +    case SE_ERR_SHARE:
 +      errstr = w32_strerror (ERROR_SHARING_VIOLATION);
 +      break;
 +    default:
 +      errstr = w32_strerror (0);
 +      break;
 +    }
 +
  #else  /* !CYGWIN */
 +
    current_dir = ENCODE_FILE (current_dir);
    /* We have a situation here.  If DOCUMENT is a relative file name,
       but its name includes leading directories, i.e. it lives not in
        Lisp_Object absdoc_encoded = ENCODE_FILE (absdoc);
  
        if (faccessat (AT_FDCWD, SSDATA (absdoc_encoded), F_OK, AT_EACCESS) == 0)
-       document = absdoc_encoded;
+       {
+         /* ShellExecute fails if DOCUMENT is a UNC with forward
+            slashes (expand-file-name above converts all backslashes
+            to forward slashes).  Now that we know DOCUMENT is a
+            file, we can mirror all forward slashes into backslashes.  */
+         unixtodos_filename (SSDATA (absdoc_encoded));
+         document = absdoc_encoded;
+       }
        else
        document = ENCODE_FILE (document);
      }
    if (use_unicode)
      {
        wchar_t document_w[MAX_PATH], current_dir_w[MAX_PATH];
 +      SHELLEXECUTEINFOW shexinfo_w;
  
        /* Encode filename, current directory and parameters, and
         convert operation to UTF-16.  */
            *d++ = *s++;
          *d = 0;
        }
 -      result = (intptr_t) ShellExecuteW (NULL, ops_w, doc_w, params_w,
 -                                       current_dir_w,
 -                                       (INTEGERP (show_flag)
 -                                        ? XINT (show_flag) : SW_SHOWDEFAULT));
 +
 +      /* Using ShellExecuteEx and setting the SEE_MASK_INVOKEIDLIST
 +       flag succeeds with more OPERATIONs (a.k.a. "verbs"), as it is
 +       able to invoke verbs from shortcut menu extensions, not just
 +       static verbs listed in the Registry.  */
 +      memset (&shexinfo_w, 0, sizeof (shexinfo_w));
 +      shexinfo_w.cbSize = sizeof (shexinfo_w);
 +      shexinfo_w.fMask =
 +      SEE_MASK_INVOKEIDLIST | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_FLAG_NO_UI;
 +      shexinfo_w.hwnd = NULL;
 +      shexinfo_w.lpVerb = ops_w;
 +      shexinfo_w.lpFile = doc_w;
 +      shexinfo_w.lpParameters = params_w;
 +      shexinfo_w.lpDirectory = current_dir_w;
 +      shexinfo_w.nShow =
 +      (INTEGERP (show_flag) ? XINT (show_flag) : SW_SHOWDEFAULT);
 +      success = ShellExecuteExW (&shexinfo_w);
      }
    else
      {
        char document_a[MAX_PATH], current_dir_a[MAX_PATH];
 +      SHELLEXECUTEINFOA shexinfo_a;
  
        filename_to_ansi (SSDATA (current_dir), current_dir_a);
        filename_to_ansi (SSDATA (document), document_a);
          /* Assume OPERATION is pure ASCII.  */
          ops_a = SSDATA (operation);
        }
 -      result = (intptr_t) ShellExecuteA (NULL, ops_a, doc_a, params_a,
 -                                       current_dir_a,
 -                                       (INTEGERP (show_flag)
 -                                        ? XINT (show_flag) : SW_SHOWDEFAULT));
 +      memset (&shexinfo_a, 0, sizeof (shexinfo_a));
 +      shexinfo_a.cbSize = sizeof (shexinfo_a);
 +      shexinfo_a.fMask =
 +      SEE_MASK_INVOKEIDLIST | SEE_MASK_FLAG_DDEWAIT | SEE_MASK_FLAG_NO_UI;
 +      shexinfo_a.hwnd = NULL;
 +      shexinfo_a.lpVerb = ops_a;
 +      shexinfo_a.lpFile = doc_a;
 +      shexinfo_a.lpParameters = params_a;
 +      shexinfo_a.lpDirectory = current_dir_a;
 +      shexinfo_a.nShow =
 +      (INTEGERP (show_flag) ? XINT (show_flag) : SW_SHOWDEFAULT);
 +      success = ShellExecuteExA (&shexinfo_a);
      }
 -#endif /* !CYGWIN */
  
 -  if (result > 32)
 +  if (success)
      return Qt;
  
 -  switch (result)
 -    {
 -    case SE_ERR_ACCESSDENIED:
 -      errstr = w32_strerror (ERROR_ACCESS_DENIED);
 -      break;
 -    case SE_ERR_ASSOCINCOMPLETE:
 -    case SE_ERR_NOASSOC:
 -      errstr = w32_strerror (ERROR_NO_ASSOCIATION);
 -      break;
 -    case SE_ERR_DDEBUSY:
 -    case SE_ERR_DDEFAIL:
 -      errstr = w32_strerror (ERROR_DDE_FAIL);
 -      break;
 -    case SE_ERR_DDETIMEOUT:
 -      errstr = w32_strerror (ERROR_TIMEOUT);
 -      break;
 -    case SE_ERR_DLLNOTFOUND:
 -      errstr = w32_strerror (ERROR_DLL_NOT_FOUND);
 -      break;
 -    case SE_ERR_FNF:
 -      errstr = w32_strerror (ERROR_FILE_NOT_FOUND);
 -      break;
 -    case SE_ERR_OOM:
 -      errstr = w32_strerror (ERROR_NOT_ENOUGH_MEMORY);
 -      break;
 -    case SE_ERR_PNF:
 -      errstr = w32_strerror (ERROR_PATH_NOT_FOUND);
 -      break;
 -    case SE_ERR_SHARE:
 -      errstr = w32_strerror (ERROR_SHARING_VIOLATION);
 -      break;
 -    default:
 -      errstr = w32_strerror (0);
 -      break;
 -    }
 +  errstr = w32_strerror (0);
 +
 +#endif /* !CYGWIN */
 +
    /* The error string might be encoded in the locale's encoding.  */
    if (!NILP (Vlocale_coding_system))
      {
@@@ -7367,37 -7359,6 +7374,37 @@@ This is a direct interface to the Windo
    return Qt;
  }
  
 +DEFUN ("w32-frame-menu-bar-size", Fw32_frame_menu_bar_size, Sw32_frame_menu_bar_size, 0, 1, 0,
 +       doc: /* Return sizes of menu bar on frame FRAME.
 +The return value is a list of four elements: The current width and
 +height of FRAME's menu bar in pixels, the height of one menu bar line in
 +a wrapped menu bar in pixels, and the height of a single line menu bar
 +in pixels.
 +
 +If FRAME is omitted or nil, the selected frame is used.  */)
 +  (Lisp_Object frame)
 +{
 +  struct frame *f = decode_any_frame (frame);
 +  MENUBARINFO menu_bar;
 +  int width, height, single_height, wrapped_height;
 +
 +  block_input ();
 +
 +  single_height = GetSystemMetrics (SM_CYMENU);
 +  wrapped_height = GetSystemMetrics (SM_CYMENUSIZE);
 +  menu_bar.cbSize = sizeof (menu_bar);
 +  menu_bar.rcBar.right = menu_bar.rcBar.left = 0;
 +  menu_bar.rcBar.top = menu_bar.rcBar.bottom = 0;
 +  GetMenuBarInfo (FRAME_W32_WINDOW (f), 0xFFFFFFFD, 0, &menu_bar);
 +  width = menu_bar.rcBar.right - menu_bar.rcBar.left;
 +  height = menu_bar.rcBar.bottom - menu_bar.rcBar.top;
 +
 +  unblock_input ();
 +
 +  return list4 (make_number (width), make_number (height),
 +              make_number (wrapped_height), make_number (single_height));
 +}
 +
  DEFUN ("w32-frame-rect", Fw32_frame_rect, Sw32_frame_rect, 0, 2, 0,
         doc: /* Return boundary rectangle of FRAME in screen coordinates.
  FRAME must be a live frame and defaults to the selected one.
@@@ -7412,131 -7373,15 +7419,131 @@@ title bar and decorations.  */
    struct frame *f = decode_live_frame (frame);
    RECT rect;
  
 +  block_input ();
 +
    if (!NILP (client))
      GetClientRect (FRAME_W32_WINDOW (f), &rect);
    else
      GetWindowRect (FRAME_W32_WINDOW (f), &rect);
  
 +  unblock_input ();
 +
    return list4 (make_number (rect.left), make_number (rect.top),
                make_number (rect.right), make_number (rect.bottom));
  }
  
 +DEFUN ("x-frame-geometry", Fx_frame_geometry, Sx_frame_geometry, 0, 1, 0,
 +       doc: /* Return geometric attributes of frame FRAME.
 +FRAME must be a live frame and defaults to the selected one.
 +
 +The return value is an association list containing the following
 +elements (all size values are in pixels).
 +
 +- `frame-outer-size' is a cons of the outer width and height of FRAME.
 +  The outer size includes the title bar and the external borders as well
 +  as any menu and/or tool bar of frame.
 +
 +- `border' is a cons of the horizontal and vertical width of FRAME's
 +  external borders.
 +
 +- `title-bar-height' is the height of the title bar of FRAME.
 +
 +- `menu-bar-external' if `t' means the menu bar is by default external
 +  (not included in the inner size of FRAME).
 +
 +- `menu-bar-size' is a cons of the width and height of the menu bar of
 +  FRAME.
 +
 +- `tool-bar-external' if `t' means the tool bar is by default external
 +  (not included in the inner size of FRAME).
 +
 +- `tool-bar-side' tells tells on which side the tool bar on FRAME is by
 +  default and can be one of `left', `top', `right' or `bottom'.
 +
 +- `tool-bar-size' is a cons of the width and height of the tool bar of
 +  FRAME.
 +
 +- `frame-inner-size' is a cons of the inner width and height of FRAME.
 +  This excludes FRAME's title bar and external border as well as any
 +  external menu and/or tool bar.  */)
 +  (Lisp_Object frame)
 +{
 +  struct frame *f = decode_live_frame (frame);
 +  Lisp_Object geometry = Qnil;
 +  RECT frame_outer_edges, frame_inner_edges;
 +  MENUBARINFO menu_bar;
 +  int  border_width, border_height, title_height;
 +  int single_bar_height, wrapped_bar_height, menu_bar_height;
 +  Lisp_Object fullscreen = Fframe_parameter (frame, Qfullscreen);
 +
 +  block_input ();
 +
 +  /* Outer frame rectangle, including outer borders and title bar. */
 +  GetWindowRect (FRAME_W32_WINDOW (f), &frame_outer_edges);
 +  /* Inner frame rectangle, excluding borders and title bar.  */
 +  GetClientRect (FRAME_W32_WINDOW (f), &frame_inner_edges);
 +  /* Outer border.  */
 +  border_width = GetSystemMetrics (SM_CXFRAME);
 +  border_height = GetSystemMetrics (SM_CYFRAME);
 +  /* Title bar.  */
 +  title_height = GetSystemMetrics (SM_CYCAPTION);
 +  /* Menu bar.  */
 +  menu_bar.cbSize = sizeof (menu_bar);
 +  menu_bar.rcBar.right = menu_bar.rcBar.left = 0;
 +  menu_bar.rcBar.top = menu_bar.rcBar.bottom = 0;
 +  GetMenuBarInfo (FRAME_W32_WINDOW (f), 0xFFFFFFFD, 0, &menu_bar);
 +  single_bar_height = GetSystemMetrics (SM_CYMENU);
 +  wrapped_bar_height = GetSystemMetrics (SM_CYMENUSIZE);
 +  unblock_input ();
 +
 +  menu_bar_height = menu_bar.rcBar.bottom - menu_bar.rcBar.top;
 +  /* Fix menu bar height reported by GetMenuBarInfo.  */
 +  if (menu_bar_height > single_bar_height)
 +    /* A wrapped menu bar.  */
 +    menu_bar_height += single_bar_height - wrapped_bar_height;
 +  else if (menu_bar_height > 0)
 +    /* A single line menu bar.  */
 +    menu_bar_height = single_bar_height;
 +
 +  return
 +    listn (CONSTYPE_PURE, 10,
 +         Fcons (Qframe_position,
 +                Fcons (make_number (frame_outer_edges.left),
 +                       make_number (frame_outer_edges.top))),
 +         Fcons (Qframe_outer_size,
 +                Fcons (make_number
 +                       (frame_outer_edges.right - frame_outer_edges.left),
 +                       make_number
 +                       (frame_outer_edges.bottom - frame_outer_edges.top))),
 +         Fcons (Qexternal_border_size,
 +                ((EQ (fullscreen, Qfullboth) || EQ (fullscreen, Qfullscreen))
 +                 ? Fcons (make_number (0), make_number (0))
 +                 : Fcons (make_number (border_width),
 +                          make_number (border_height)))),
 +         Fcons (Qtitle_height,
 +                ((EQ (fullscreen, Qfullboth) || EQ (fullscreen, Qfullscreen))
 +                 ? make_number (0)
 +                 : make_number (title_height))),
 +         Fcons (Qmenu_bar_external, Qt),
 +         Fcons (Qmenu_bar_size,
 +                Fcons (make_number
 +                       (menu_bar.rcBar.right - menu_bar.rcBar.left),
 +                       make_number (menu_bar_height))),
 +         Fcons (Qtool_bar_external, Qnil),
 +         Fcons (Qtool_bar_position, Qtop),
 +         Fcons (Qtool_bar_size,
 +                Fcons (make_number (FRAME_TOOL_BAR_LINES (f)
 +                                    ? (FRAME_PIXEL_WIDTH (f)
 +                                       - 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
 +                                    : 0),
 +                       make_number (FRAME_TOOL_BAR_HEIGHT (f)))),
 +         Fcons (Qframe_inner_size,
 +                Fcons (make_number
 +                       (frame_inner_edges.right - frame_inner_edges.left),
 +                       make_number
 +                       (frame_inner_edges.bottom - frame_inner_edges.top))));
 +}
 +
  DEFUN ("w32-battery-status", Fw32_battery_status, Sw32_battery_status, 0, 0, 0,
         doc: /* Get power status information from Windows system.
  
@@@ -7678,8 -7523,8 +7685,8 @@@ If the underlying system call fails, va
        (char *, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER)
        = GetProcAddress (hKernel, "GetDiskFreeSpaceExA");
      bool have_pfn_GetDiskFreeSpaceEx =
 -      (w32_unicode_filenames && pfn_GetDiskFreeSpaceExW
 -       || !w32_unicode_filenames && pfn_GetDiskFreeSpaceExA);
 +      ((w32_unicode_filenames && pfn_GetDiskFreeSpaceExW)
 +       || (!w32_unicode_filenames && pfn_GetDiskFreeSpaceExA));
  
      /* On Windows, we may need to specify the root directory of the
         volume holding FILENAME.  */
@@@ -8201,19 -8046,17 +8208,19 @@@ frame_parm_handler w32_frame_parm_handl
    x_set_mouse_color,
    x_explicitly_set_name,
    x_set_scroll_bar_width,
 +  x_set_scroll_bar_height,
    x_set_title,
    x_set_unsplittable,
    x_set_vertical_scroll_bars,
 +  x_set_horizontal_scroll_bars,
    x_set_visibility,
    x_set_tool_bar_lines,
    0, /* x_set_scroll_bar_foreground, */
    0, /* x_set_scroll_bar_background, */
    x_set_screen_gamma,
    x_set_line_spacing,
 -  x_set_fringe_width,
 -  x_set_fringe_width,
 +  x_set_left_fringe,
 +  x_set_right_fringe,
    0, /* x_set_wait_for_wm, */
    x_set_fullscreen,
    x_set_font_backend,
@@@ -8230,6 -8073,7 +8237,6 @@@ syms_of_w32fns (void
  
    w32_visible_system_caret_hwnd = NULL;
  
 -  DEFSYM (Qsuppress_icon, "suppress-icon");
    DEFSYM (Qundefined_color, "undefined-color");
    DEFSYM (Qcancel_timer, "cancel-timer");
    DEFSYM (Qhyper, "hyper");
    DEFSYM (Qworkarea, "workarea");
    DEFSYM (Qmm_size, "mm-size");
    DEFSYM (Qframes, "frames");
 -  /* This is the end of symbol initialization.  */
 -
  
    Fput (Qundefined_color, Qerror_conditions,
        listn (CONSTYPE_PURE, 2, Qundefined_color, Qerror));
@@@ -8531,7 -8377,6 +8538,7 @@@ only be necessary if the default settin
    defsubr (&Sx_open_connection);
    defsubr (&Sx_close_connection);
    defsubr (&Sx_display_list);
 +  defsubr (&Sx_frame_geometry);
    defsubr (&Sx_synchronize);
  
    /* W32 specific functions */
    defsubr (&Sw32_toggle_lock_key);
    defsubr (&Sw32_window_exists_p);
    defsubr (&Sw32_frame_rect);
 +  defsubr (&Sw32_frame_menu_bar_size);
    defsubr (&Sw32_battery_status);
  
  #ifdef WINDOWSNT
  #endif
  
    defsubr (&Sset_message_beep);
 -
 -  hourglass_hwnd = NULL;
 -
    defsubr (&Sx_show_tip);
    defsubr (&Sx_hide_tip);
    tip_timer = Qnil;
diff --combined src/xdisp.c
index 1b015e70709a2d64e6c911e69e35870799ca0dc2,bd262818036d9b5c5d9c7b2c036cdaf2412b40cf..989cbd10d81e8980d05b113f7ae7e50ba78e9234
@@@ -816,11 -816,11 +816,11 @@@ Lisp_Object previous_help_echo_string
  #ifdef HAVE_WINDOW_SYSTEM
  
  /* Non-zero means an hourglass cursor is currently shown.  */
 -bool hourglass_shown_p;
 +static bool hourglass_shown_p;
  
  /* If non-null, an asynchronous timer that, when it expires, displays
     an hourglass cursor on all frames.  */
 -struct atimer *hourglass_atimer;
 +static struct atimer *hourglass_atimer;
  
  #endif /* HAVE_WINDOW_SYSTEM */
  
@@@ -1024,8 -1024,6 +1024,8 @@@ window_text_bottom_y (struct window *w
    if (WINDOW_WANTS_MODELINE_P (w))
      height -= CURRENT_MODE_LINE_HEIGHT (w);
  
 +  height -= WINDOW_SCROLL_BAR_AREA_HEIGHT (w);
 +
    return height;
  }
  
@@@ -1070,7 -1068,6 +1070,7 @@@ window_box_height (struct window *w
    eassert (height >= 0);
  
    height -= WINDOW_BOTTOM_DIVIDER_WIDTH (w);
 +  height -= WINDOW_SCROLL_BAR_AREA_HEIGHT (w);
  
    /* Note: the code below that determines the mode-line/header-line
       height is essentially the same as that contained in the macro
@@@ -1144,7 -1141,7 +1144,7 @@@ window_box_left_offset (struct window *
     area AREA of window W.  ANY_AREA means return the right edge of the
     whole window, to the left of the right fringe of W.  */
  
 -int
 +static int
  window_box_right_offset (struct window *w, enum glyph_row_area area)
  {
    /* Don't return more than the window's pixel width.  */
@@@ -1960,8 -1957,8 +1960,8 @@@ pixel_to_glyph_coords (struct frame *f
  
          if (pix_y < 0)
            pix_y = 0;
 -        else if (pix_y > FRAME_LINES (f))
 -          pix_y = FRAME_LINES (f);
 +        else if (pix_y > FRAME_TOTAL_LINES (f))
 +          pix_y = FRAME_TOTAL_LINES (f);
        }
      }
  #endif
@@@ -2177,10 -2174,7 +2177,10 @@@ get_glyph_string_clip_rects (struct gly
  
        if (s->x > r.x)
        {
 -        r.width -= s->x - r.x;
 +        if (r.width >= s->x - r.x)
 +          r.width -= s->x - r.x;
 +        else  /* R2L hscrolled row with cursor outside text area */
 +          r.width = 0;
          r.x = s->x;
        }
        r.width = min (r.width, glyph->pixel_width);
@@@ -2302,7 -2296,10 +2302,7 @@@ get_phys_cursor_geometry (struct windo
       glyph, and `x-stretch-block-cursor' is nil, don't draw a
       rectangle as wide as the glyph, but use a canonical character
       width instead.  */
 -  wd = glyph->pixel_width - 1;
 -#if defined (HAVE_NTGUI) || defined (HAVE_NS)
 -  wd++; /* Why? */
 -#endif
 +  wd = glyph->pixel_width;
  
    x = w->phys_cursor.x;
    if (x < 0)
@@@ -2504,7 -2501,7 +2504,7 @@@ remember_mouse_glyph (struct frame *f, 
        gx = WINDOW_PIXEL_WIDTH (w) - width;
        goto row_glyph;
  
 -    case ON_SCROLL_BAR:
 +    case ON_VERTICAL_SCROLL_BAR:
        gx = (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w)
            ? 0
            : (window_box_right_offset (w, RIGHT_MARGIN_AREA)
        gy = 0;
        /* The bottom divider prevails. */
        height = WINDOW_PIXEL_HEIGHT (w) - WINDOW_BOTTOM_DIVIDER_WIDTH (w);
 -      goto add_edge;;
 +      goto add_edge;
  
      case ON_BOTTOM_DIVIDER:
        gx = 0;
@@@ -2626,14 -2623,15 +2626,14 @@@ safe__call (bool inhibit_quit, ptrdiff_
      {
        ptrdiff_t i;
        ptrdiff_t count = SPECPDL_INDEX ();
 -      struct gcpro gcpro1;
 -      Lisp_Object *args = alloca (nargs * word_size);
 +      Lisp_Object *args;
 +      USE_SAFE_ALLOCA;
 +      SAFE_ALLOCA_LISP (args, nargs);
  
        args[0] = func;
        for (i = 1; i < nargs; i++)
        args[i] = va_arg (ap, Lisp_Object);
  
 -      GCPRO1 (args[0]);
 -      gcpro1.nvars = nargs;
        specbind (Qinhibit_redisplay, Qt);
        if (inhibit_quit)
        specbind (Qinhibit_quit, Qt);
         so there is no possibility of wanting to redisplay.  */
        val = internal_condition_case_n (Ffuncall, nargs, args, Qt,
                                       safe_eval_handler);
 -      UNGCPRO;
 +      SAFE_FREE ();
        val = unbind_to (count, val);
      }
  
@@@ -2973,6 -2971,10 +2973,6 @@@ init_iterator (struct it *it, struct wi
    it->glyph_row = row;
    it->area = TEXT_AREA;
  
 -  /* Forget any previous info about this row being reversed.  */
 -  if (it->glyph_row)
 -    it->glyph_row->reversed_p = 0;
 -
    /* Get the dimensions of the display area.  The display area
       consists of the visible window area plus a horizontally scrolled
       part to the left of the window.  All x-values are relative to the
@@@ -3667,7 -3669,6 +3667,7 @@@ next_overlay_change (ptrdiff_t pos
    ptrdiff_t i, noverlays;
    ptrdiff_t endpos;
    Lisp_Object *overlays;
 +  USE_SAFE_ALLOCA;
  
    /* Get all overlays at the given position.  */
    GET_OVERLAYS_AT (pos, overlays, noverlays, &endpos, 1);
        endpos = min (endpos, oendpos);
      }
  
 +  SAFE_FREE ();
    return endpos;
  }
  
@@@ -5106,6 -5106,11 +5106,11 @@@ handle_single_display_spec (struct it *
                  iterate_out_of_display_property (it);
                  *position = it->position;
                }
+             /* If we were to display this fringe bitmap,
+                next_element_from_image would have reset this flag.
+                Do the same, to avoid affecting overlays that
+                follow.  */
+             it->ignore_overlay_strings_at_pos_p = 0;
              return 1;
            }
        }
              iterate_out_of_display_property (it);
              *position = it->position;
            }
+         if (it)
+           /* Reset this flag like next_element_from_image would.  */
+           it->ignore_overlay_strings_at_pos_p = 0;
          return 1;
        }
  
        if (it)
        {
 -        int face_id = lookup_basic_face (it->f, DEFAULT_FACE_ID);;
 +        int face_id = lookup_basic_face (it->f, DEFAULT_FACE_ID);
  
          if (CONSP (XCDR (XCDR (spec))))
            {
@@@ -5745,11 -5753,10 +5753,11 @@@ load_overlay_strings (struct it *it, pt
    Lisp_Object overlay, window, str, invisible;
    struct Lisp_Overlay *ov;
    ptrdiff_t start, end;
 -  ptrdiff_t size = 20;
    ptrdiff_t n = 0, i, j;
    int invis_p;
 -  struct overlay_entry *entries = alloca (size * sizeof *entries);
 +  struct overlay_entry entriesbuf[20];
 +  ptrdiff_t size = ARRAYELTS (entriesbuf);
 +  struct overlay_entry *entries = entriesbuf;
    USE_SAFE_ALLOCA;
  
    if (charpos <= 0)
@@@ -6932,8 -6939,7 +6940,8 @@@ get_next_display_element (struct it *it
         is R..."  */
        /* FIXME: Do we need an exception for characters from display
         tables?  */
 -      if (it->bidi_p && it->bidi_it.type == STRONG_R)
 +      if (it->bidi_p && it->bidi_it.type == STRONG_R
 +        && !inhibit_bidi_mirroring)
        it->c = bidi_mirror_char (it->c);
        /* Map via display table or translate control characters.
         IT->c, IT->len etc. have been set to the next character by
@@@ -8329,6 -8335,10 +8337,10 @@@ next_element_from_buffer (struct it *it
        unsigned char *p;
        ptrdiff_t stop;
  
+       /* We moved to the next buffer position, so any info about
+        previously seen overlays is no longer valid.  */
+       it->ignore_overlay_strings_at_pos_p = 0;
        /* Maybe run the redisplay end trigger hook.  Performance note:
         This doesn't seem to cost measurable time.  */
        if (it->redisplay_end_trigger_charpos
  
        /* Get the next character, maybe multibyte.  */
        p = BYTE_POS_ADDR (IT_BYTEPOS (*it));
 -      if (it->multibyte_p && !ASCII_BYTE_P (*p))
 +      if (it->multibyte_p && !ASCII_CHAR_P (*p))
        it->c = STRING_CHAR_AND_LENGTH (p, it->len);
        else
        it->c = *p, it->len = 1;
@@@ -10029,7 -10039,9 +10041,7 @@@ message_dolog (const char *m, ptrdiff_
          for (i = 0; i < nbytes; i += char_bytes)
            {
              c = string_char_and_length (msg + i, &char_bytes);
 -            work[0] = (ASCII_CHAR_P (c)
 -                       ? c
 -                       : multibyte_char_to_unibyte (c));
 +            work[0] = CHAR_TO_BYTE8 (c);
              insert_1_both (work, 1, 1, 1, 0, 0);
            }
        }
@@@ -10204,9 -10216,9 +10216,9 @@@ message3 (Lisp_Object m
      {
        ptrdiff_t nbytes = SBYTES (m);
        bool multibyte = STRING_MULTIBYTE (m);
 +      char *buffer;
        USE_SAFE_ALLOCA;
 -      char *buffer = SAFE_ALLOCA (nbytes);
 -      memcpy (buffer, SDATA (m), nbytes);
 +      SAFE_ALLOCA_STRING (buffer, m);
        message_dolog (buffer, nbytes, 1, multibyte);
        SAFE_FREE ();
      }
@@@ -10311,17 -10323,19 +10323,17 @@@ message_with_string (const char *m, Lis
      {
        if (m)
        {
 -        /* ENCODE_SYSTEM below can GC and/or relocate the Lisp
 -           String whose data pointer might be passed to us in M.  So
 -           we use a local copy.  */
 -        char *fmt = xstrdup (m);
 +        /* ENCODE_SYSTEM below can GC and/or relocate the
 +           Lisp data, so make sure we don't use it here.  */
 +        eassert (relocatable_string_data_p (m) != 1);
  
          if (noninteractive_need_newline)
            putc ('\n', stderr);
          noninteractive_need_newline = 0;
 -        fprintf (stderr, fmt, SDATA (ENCODE_SYSTEM (string)));
 +        fprintf (stderr, m, SDATA (ENCODE_SYSTEM (string)));
          if (!cursor_in_echo_area)
            fprintf (stderr, "\n");
          fflush (stderr);
 -        xfree (fmt);
        }
      }
    else if (INTERACTIVE)
@@@ -10408,13 -10422,11 +10420,13 @@@ vmessage (const char *m, va_list ap
            {
              ptrdiff_t len;
              ptrdiff_t maxsize = FRAME_MESSAGE_BUF_SIZE (f);
 -            char *message_buf = alloca (maxsize + 1);
 +            USE_SAFE_ALLOCA;
 +            char *message_buf = SAFE_ALLOCA (maxsize + 1);
  
              len = doprnt (message_buf, maxsize, m, 0, ap);
  
              message3 (make_string (message_buf, len));
 +            SAFE_FREE ();
            }
          else
            message1 (0);
@@@ -10580,7 -10592,6 +10592,7 @@@ with_echo_area_buffer (struct window *w
      {
        wset_buffer (w, buffer);
        set_marker_both (w->pointm, buffer, BEG, BEG_BYTE);
 +      set_marker_both (w->old_pointm, buffer, BEG, BEG_BYTE);
      }
  
    bset_undo_list (current_buffer, Qt);
@@@ -10619,7 -10630,7 +10631,7 @@@ with_echo_area_buffer_unwind_data (stru
    Vwith_echo_area_save_vector = Qnil;
  
    if (NILP (vector))
 -    vector = Fmake_vector (make_number (9), Qnil);
 +    vector = Fmake_vector (make_number (11), Qnil);
  
    XSETBUFFER (tmp, current_buffer); ASET (vector, i, tmp); ++i;
    ASET (vector, i, Vdeactivate_mark); ++i;
        ASET (vector, i, w->contents); ++i;
        ASET (vector, i, make_number (marker_position (w->pointm))); ++i;
        ASET (vector, i, make_number (marker_byte_position (w->pointm))); ++i;
 +      ASET (vector, i, make_number (marker_position (w->old_pointm))); ++i;
 +      ASET (vector, i, make_number (marker_byte_position (w->old_pointm))); ++i;
        ASET (vector, i, make_number (marker_position (w->start))); ++i;
        ASET (vector, i, make_number (marker_byte_position (w->start))); ++i;
      }
    else
      {
 -      int end = i + 6;
 +      int end = i + 8;
        for (; i < end; ++i)
        ASET (vector, i, Qnil);
      }
@@@ -10670,12 -10679,9 +10682,12 @@@ unwind_with_echo_area_buffer (Lisp_Obje
        set_marker_both (w->pointm, buffer,
                       XFASTINT (AREF (vector, 5)),
                       XFASTINT (AREF (vector, 6)));
 -      set_marker_both (w->start, buffer,
 +      set_marker_both (w->old_pointm, buffer,
                       XFASTINT (AREF (vector, 7)),
                       XFASTINT (AREF (vector, 8)));
 +      set_marker_both (w->start, buffer,
 +                     XFASTINT (AREF (vector, 9)),
 +                     XFASTINT (AREF (vector, 10)));
      }
  
    Vwith_echo_area_save_vector = vector;
@@@ -11918,6 -11924,11 +11930,6 @@@ update_menu_bar (struct frame *f, int s
  
  #ifdef HAVE_WINDOW_SYSTEM
  
 -/* Tool-bar item index of the item on which a mouse button was pressed
 -   or -1.  */
 -
 -int last_tool_bar_item;
 -
  /* Select `frame' temporarily without running all the code in
     do_switch_frame.
     FIXME: Maybe do_switch_frame should be trimmed down similarly
@@@ -11944,7 -11955,7 +11956,7 @@@ update_tool_bar (struct frame *f, int s
    int do_update = FRAME_EXTERNAL_TOOL_BAR (f);
  #else
    int do_update = (WINDOWP (f->tool_bar_window)
 -                 && WINDOW_PIXEL_HEIGHT (XWINDOW (f->tool_bar_window)) > 0);
 +                 && WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)) > 0);
  #endif
  
    if (do_update)
@@@ -12040,11 -12051,11 +12052,11 @@@ static voi
  build_desired_tool_bar_string (struct frame *f)
  {
    int i, size, size_needed;
 -  struct gcpro gcpro1, gcpro2, gcpro3;
 -  Lisp_Object image, plist, props;
 +  struct gcpro gcpro1, gcpro2;
 +  Lisp_Object image, plist;
  
 -  image = plist = props = Qnil;
 -  GCPRO3 (image, plist, props);
 +  image = plist = Qnil;
 +  GCPRO2 (image, plist);
  
    /* Prepare F->desired_tool_bar_string.  If we can reuse it, do so.
       Otherwise, make a new string.  */
        (f, Fmake_string (make_number (size_needed), make_number (' ')));
    else
      {
 -      props = list4 (Qdisplay, Qnil, Qmenu_item, Qnil);
 +      AUTO_LIST4 (props, Qdisplay, Qnil, Qmenu_item, Qnil);
 +      struct gcpro gcpro1;
 +      GCPRO1 (props);
        Fremove_text_properties (make_number (0), make_number (size),
                               props, f->desired_tool_bar_string);
 +      UNGCPRO;
      }
  
    /* Put a `display' property on the string for the images to display,
         the start of this item's properties in the tool-bar items
         vector.  */
        image = Fcons (Qimage, plist);
 -      props = list4 (Qdisplay, image,
 -                   Qmenu_item, make_number (i * TOOL_BAR_ITEM_NSLOTS));
 +      AUTO_LIST4 (props, Qdisplay, image, Qmenu_item,
 +                make_number (i * TOOL_BAR_ITEM_NSLOTS));
 +      struct gcpro gcpro1;
 +      GCPRO1 (props);
  
        /* Let the last image hide all remaining spaces in the tool bar
           string.  The string can be longer than needed when we reuse a
        end = i + 1;
        Fadd_text_properties (make_number (i), make_number (end),
                            props, f->desired_tool_bar_string);
 +      UNGCPRO;
  #undef PROP
      }
  
@@@ -12334,9 -12339,16 +12346,9 @@@ display_tool_bar_line (struct it *it, i
  }
  
  
 -/* Max tool-bar height.  Basically, this is what makes all other windows
 -   disappear when the frame gets too small.  Rethink this!  */
 -
 -#define MAX_FRAME_TOOL_BAR_HEIGHT(f) \
 -  ((FRAME_LINE_HEIGHT (f) * FRAME_LINES (f)))
 -
  /* Value is the number of pixels needed to make all tool-bar items of
     frame F visible.  The actual number of glyph rows needed is
     returned in *N_ROWS if non-NULL.  */
 -
  static int
  tool_bar_height (struct frame *f, int *n_rows, bool pixelwise)
  {
    /* Initialize an iterator for iteration over
       F->desired_tool_bar_string in the tool-bar window of frame F.  */
    init_iterator (&it, w, -1, -1, temp_row, TOOL_BAR_FACE_ID);
 +  temp_row->reversed_p = false;
    it.first_visible_x = 0;
    it.last_visible_x = WINDOW_PIXEL_WIDTH (w);
    reseat_to_string (&it, NULL, f->desired_tool_bar_string, 0, 0, 0, -1);
  
  #endif /* !USE_GTK && !HAVE_NS */
  
 -#if defined USE_GTK || defined HAVE_NS
 -EXFUN (Ftool_bar_height, 2) ATTRIBUTE_CONST;
 -EXFUN (Ftool_bar_lines_needed, 1) ATTRIBUTE_CONST;
 -#endif
 -
  DEFUN ("tool-bar-height", Ftool_bar_height, Stool_bar_height,
         0, 2, 0,
         doc: /* Return the number of lines occupied by the tool bar of FRAME.
@@@ -12406,6 -12422,7 +12418,6 @@@ PIXELWISE non-nil means return the heig
  
  /* Display the tool-bar of frame F.  Value is non-zero if tool-bar's
     height should be changed.  */
 -
  static int
  redisplay_tool_bar (struct frame *f)
  {
       can turn off tool-bars by specifying tool-bar-lines zero.  */
    if (!WINDOWP (f->tool_bar_window)
        || (w = XWINDOW (f->tool_bar_window),
 -          WINDOW_PIXEL_HEIGHT (w) == 0))
 +          WINDOW_TOTAL_LINES (w) == 0))
      return 0;
  
    /* Set up an iterator for the tool-bar window.  */
    it.first_visible_x = 0;
    it.last_visible_x = WINDOW_PIXEL_WIDTH (w);
    row = it.glyph_row;
 +  row->reversed_p = false;
  
    /* Build a string that represents the contents of the tool-bar.  */
    build_desired_tool_bar_string (f);
  
        if (new_height != WINDOW_PIXEL_HEIGHT (w))
        {
 -        Lisp_Object frame;
 -        int new_lines = ((new_height + FRAME_LINE_HEIGHT (f) - 1)
 -                         / FRAME_LINE_HEIGHT (f));
 -
 -        XSETFRAME (frame, f);
 -        Fmodify_frame_parameters (frame,
 -                                  list1 (Fcons (Qtool_bar_lines,
 -                                                make_number (new_lines))));
 +        x_change_tool_bar_height (f, new_height);
          /* Always do that now.  */
          clear_glyph_matrix (w->desired_matrix);
          f->fonts_changed = 1;
  
    if (!NILP (Vauto_resize_tool_bars))
      {
 -      /* Do we really allow the toolbar to occupy the whole frame?  */
 -      int max_tool_bar_height = MAX_FRAME_TOOL_BAR_HEIGHT (f);
        int change_height_p = 0;
  
        /* If we couldn't display everything, change the tool-bar's
         height if there is room for more.  */
 -      if (IT_STRING_CHARPOS (it) < it.end_charpos
 -        && it.current_y < max_tool_bar_height)
 +      if (IT_STRING_CHARPOS (it) < it.end_charpos)
        change_height_p = 1;
  
        /* We subtract 1 because display_tool_bar_line advances the
        /* If row displays tool-bar items, but is partially visible,
         change the tool-bar's height.  */
        if (MATRIX_ROW_DISPLAYS_TEXT_P (row)
 -        && MATRIX_ROW_BOTTOM_Y (row) > it.last_visible_y
 -        && MATRIX_ROW_BOTTOM_Y (row) < max_tool_bar_height)
 +        && MATRIX_ROW_BOTTOM_Y (row) > it.last_visible_y)
        change_height_p = 1;
  
        /* Resize windows as needed by changing the `tool-bar-lines'
         frame parameter.  */
        if (change_height_p)
        {
 -        Lisp_Object frame;
          int nrows;
          int new_height = tool_bar_height (f, &nrows, 1);
  
  
          if (change_height_p)
            {
 -            /* Current size of the tool-bar window in canonical line
 -               units.  */
 -            int old_lines = WINDOW_TOTAL_LINES (w);
 -            /* Required size of the tool-bar window in canonical
 -               line units. */
 -            int new_lines = ((new_height + FRAME_LINE_HEIGHT (f) - 1)
 -                             / FRAME_LINE_HEIGHT (f));
 -            /* Maximum size of the tool-bar window in canonical line
 -               units that this frame can allow. */
 -            int max_lines =
 -              WINDOW_TOTAL_LINES (XWINDOW (FRAME_ROOT_WINDOW (f))) - 1;
 -
 -            /* Don't try to change the tool-bar window size and set
 -               the fonts_changed flag unless really necessary.  That
 -               flag causes redisplay to give up and retry
 -               redisplaying the frame from scratch, so setting it
 -               unnecessarily can lead to nasty redisplay loops.  */
 -            if (new_lines <= max_lines
 -                && eabs (new_lines - old_lines) >= 1)
 -              {
 -                XSETFRAME (frame, f);
 -                Fmodify_frame_parameters (frame,
 -                                          list1 (Fcons (Qtool_bar_lines,
 -                                                        make_number (new_lines))));
 -                clear_glyph_matrix (w->desired_matrix);
 -                f->n_tool_bar_rows = nrows;
 -                f->fonts_changed = 1;
 -                return 1;
 -              }
 +            x_change_tool_bar_height (f, new_height);
 +            clear_glyph_matrix (w->desired_matrix);
 +            f->n_tool_bar_rows = nrows;
 +            f->fonts_changed = 1;
 +
 +            return 1;
            }
        }
      }
@@@ -12679,7 -12730,7 +12691,7 @@@ handle_tool_bar_click (struct frame *f
       where the button was pressed, disregarding where it was
       released.  */
    if (NILP (Vmouse_highlight) && !down_p)
 -    prop_idx = last_tool_bar_item;
 +    prop_idx = f->last_tool_bar_item;
  
    /* If item is disabled, do nothing.  */
    enabled_p = AREF (f->tool_bar_items, prop_idx + TOOL_BAR_ITEM_ENABLED_P);
        /* Show item in pressed state.  */
        if (!NILP (Vmouse_highlight))
        show_mouse_face (hlinfo, DRAW_IMAGE_SUNKEN);
 -      last_tool_bar_item = prop_idx;
 +      f->last_tool_bar_item = prop_idx;
      }
    else
      {
        event.arg = key;
        event.modifiers = modifiers;
        kbd_buffer_store_event (&event);
 -      last_tool_bar_item = -1;
 +      f->last_tool_bar_item = -1;
      }
  }
  
@@@ -12766,7 -12817,8 +12778,7 @@@ note_tool_bar_highlight (struct frame *
    mouse_down_p = (x_mouse_grabbed (dpyinfo)
                  && f == dpyinfo->last_mouse_frame);
  
 -  if (mouse_down_p
 -      && last_tool_bar_item != prop_idx)
 +  if (mouse_down_p && f->last_tool_bar_item != prop_idx)
      return;
  
    draw = mouse_down_p ? DRAW_IMAGE_SUNKEN : DRAW_IMAGE_RAISED;
@@@ -12888,20 -12940,7 +12900,20 @@@ hscroll_window_tree (Lisp_Object window
          /* Scroll when cursor is inside this scroll margin.  */
          h_margin = hscroll_margin * WINDOW_FRAME_COLUMN_WIDTH (w);
  
 +        /* If the position of this window's point has explicitly
 +           changed, no more suspend auto hscrolling.  */
 +        if (NILP (Fequal (Fwindow_point (window), Fwindow_old_point (window))))
 +          w->suspend_auto_hscroll = 0;
 +
 +        /* Remember window point.  */
 +        Fset_marker (w->old_pointm,
 +                     ((w == XWINDOW (selected_window))
 +                      ? make_number (BUF_PT (XBUFFER (w->contents)))
 +                      : Fmarker_position (w->pointm)),
 +                     w->contents);
 +
          if (!NILP (Fbuffer_local_value (Qauto_hscroll_mode, w->contents))
 +            && w->suspend_auto_hscroll == 0
              /* In some pathological cases, like restoring a window
                 configuration into a frame that is much smaller than
                 the one from which the configuration was saved, we
                 inside the left margin and the window is already
                 hscrolled.  */
              && ((!row_r2l_p
 -                 && ((w->hscroll
 -                      && w->cursor.x <= h_margin)
 +                 && ((w->hscroll && w->cursor.x <= h_margin)
                       || (cursor_row->enabled_p
                           && cursor_row->truncated_on_right_p
                           && (w->cursor.x >= text_area_width - h_margin))))
@@@ -15196,8 -15236,8 +15208,8 @@@ try_scrolling (Lisp_Object window, int 
                 non-zero margins, because scroll_up_aggressively
                 means put point that fraction of window height
                 _from_the_bottom_margin_.  */
 -            if (aggressive_scroll + 2*this_scroll_margin > height)
 -              aggressive_scroll = height - 2*this_scroll_margin;
 +            if (aggressive_scroll + 2 * this_scroll_margin > height)
 +              aggressive_scroll = height - 2 * this_scroll_margin;
              amount_to_scroll = dy + aggressive_scroll;
            }
        }
          start_display (&it, w, startp);
  
          if (arg_scroll_conservatively)
 -          amount_to_scroll = max (dy, frame_line_height *
 -                                  max (scroll_step, temp_scroll_step));
 +          amount_to_scroll = max (dy, frame_line_height
 +                                  max (scroll_step, temp_scroll_step));
          else if (scroll_step || temp_scroll_step)
            amount_to_scroll = scroll_max;
          else
                     bottom of the window, if the value of
                     scroll_down_aggressively happens to be too
                     large.  */
 -                if (aggressive_scroll + 2*this_scroll_margin > height)
 -                  aggressive_scroll = height - 2*this_scroll_margin;
 +                if (aggressive_scroll + 2 * this_scroll_margin > height)
 +                  aggressive_scroll = height - 2 * this_scroll_margin;
                  amount_to_scroll = dy + aggressive_scroll;
                }
            }
@@@ -15808,7 -15848,9 +15820,7 @@@ try_cursor_movement (Lisp_Object window
    return rc;
  }
  
 -#if !defined USE_TOOLKIT_SCROLL_BARS || defined USE_GTK
 -static
 -#endif
 +
  void
  set_vertical_scroll_bar (struct window *w)
  {
  }
  
  
 +void
 +set_horizontal_scroll_bar (struct window *w)
 +{
 +  int start, end, whole, portion;
 +
 +  if (!MINI_WINDOW_P (w)
 +      || (w == XWINDOW (minibuf_window)
 +        && NILP (echo_area_buffer[0])))
 +    {
 +      struct buffer *b = XBUFFER (w->contents);
 +      struct buffer *old_buffer = NULL;
 +      struct it it;
 +      struct text_pos startp;
 +
 +      if (b != current_buffer)
 +      {
 +        old_buffer = current_buffer;
 +        set_buffer_internal (b);
 +      }
 +
 +      SET_TEXT_POS_FROM_MARKER (startp, w->start);
 +      start_display (&it, w, startp);
 +      it.last_visible_x = INT_MAX;
 +      whole = move_it_to (&it, -1, INT_MAX, window_box_height (w), -1,
 +                        MOVE_TO_X | MOVE_TO_Y);
 +      /* whole = move_it_to (&it, w->window_end_pos, INT_MAX,
 +                        window_box_height (w), -1,
 +                        MOVE_TO_POS | MOVE_TO_X | MOVE_TO_Y); */
 +
 +      start = w->hscroll * FRAME_COLUMN_WIDTH (WINDOW_XFRAME (w));
 +      end = start + window_box_width (w, TEXT_AREA);
 +      portion = end - start;
 +      /* After enlarging a horizontally scrolled window such that it
 +       gets at least as wide as the text it contains, make sure that
 +       the thumb doesn't fill the entire scroll bar so we can still
 +       drag it back to see the entire text.  */
 +      whole = max (whole, end);
 +
 +      if (it.bidi_p)
 +      {
 +        Lisp_Object pdir;
 +
 +        pdir = Fcurrent_bidi_paragraph_direction (Qnil);
 +        if (EQ (pdir, Qright_to_left))
 +          {
 +            start = whole - end;
 +            end = start + portion;
 +          }
 +      }
 +
 +      if (old_buffer)
 +      set_buffer_internal (old_buffer);
 +    }
 +  else
 +    start = end = whole = portion = 0;
 +
 +  w->hscroll_whole = whole;
 +
 +  /* Indicate what this scroll bar ought to be displaying now.  */
 +  if (FRAME_TERMINAL (XFRAME (w->frame))->set_horizontal_scroll_bar_hook)
 +    (*FRAME_TERMINAL (XFRAME (w->frame))->set_horizontal_scroll_bar_hook)
 +      (w, portion, whole, start);
 +}
 +
 +
  /* Redisplay leaf window WINDOW.  JUST_THIS_ONE_P non-zero means only
     selected_window is redisplayed.
  
@@@ -16125,7 -16102,6 +16137,7 @@@ redisplay_window (Lisp_Object window, b
      {
        ptrdiff_t new_pt = marker_position (w->pointm);
        ptrdiff_t new_pt_byte = marker_byte_position (w->pointm);
 +
        if (new_pt < BEGV)
        {
          new_pt = BEGV;
      {
        int window_total_lines
        = WINDOW_TOTAL_LINES (w) * FRAME_LINE_HEIGHT (f) / frame_line_height;
 -      int margin =
 -      scroll_margin > 0
 +      int margin
 +      scroll_margin > 0
        ? min (scroll_margin, window_total_lines / 4)
        : 0;
        ptrdiff_t margin_pos = CHARPOS (startp);
            redisplay_tool_bar (f);
  #else
          if (WINDOWP (f->tool_bar_window)
 -            && (FRAME_TOOL_BAR_HEIGHT (f) > 0
 +            && (FRAME_TOOL_BAR_LINES (f) > 0
                  || !NILP (Vauto_resize_tool_bars))
              && redisplay_tool_bar (f))
            ignore_mouse_drag_p = 1;
    ;
   finish_scroll_bars:
  
 -  if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w))
 +   if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w) || WINDOW_HAS_HORIZONTAL_SCROLL_BAR (w))
      {
 -      /* Set the thumb's position and size.  */
 -      set_vertical_scroll_bar (w);
 +      if (WINDOW_HAS_VERTICAL_SCROLL_BAR (w))
 +      /* Set the thumb's position and size.  */
 +      set_vertical_scroll_bar (w);
 +
 +      if (WINDOW_HAS_HORIZONTAL_SCROLL_BAR (w))
 +      /* Set the thumb's position and size.  */
 +      set_horizontal_scroll_bar (w);
  
        /* Note that we actually used the scroll bar attached to this
         window, so it shouldn't be deleted at the end of redisplay.  */
@@@ -17011,7 -16982,6 +17023,7 @@@ try_window (Lisp_Object window, struct 
  
    /* Initialize iterator and info to start at POS.  */
    start_display (&it, w, pos);
 +  it.glyph_row->reversed_p = false;
  
    /* Display all lines of W.  */
    while (it.current_y < it.last_visible_y)
@@@ -17195,7 -17165,6 +17207,7 @@@ try_window_reusing_current_matrix (stru
              && it.current.dpvec_index < 0)
            break;
  
 +        it.glyph_row->reversed_p = false;
          if (display_line (&it))
            last_text_row = it.glyph_row - 1;
  
@@@ -18216,11 -18185,6 +18228,11 @@@ try_window_id (struct window *w
    w->cursor.vpos = -1;
    last_text_row = NULL;
    overlay_arrow_seen = 0;
 +  if (it.current_y < it.last_visible_y
 +      && !f->fonts_changed
 +      && (first_unchanged_at_end_row == NULL
 +        || IT_CHARPOS (it) < stop_pos))
 +    it.glyph_row->reversed_p = false;
    while (it.current_y < it.last_visible_y
         && !f->fonts_changed
         && (first_unchanged_at_end_row == NULL
@@@ -18765,10 -18729,10 +18777,10 @@@ dump_glyph_row (struct glyph_row *row, 
    else if (glyphs == 1)
      {
        int area;
 +      char s[SHRT_MAX + 4];
  
        for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area)
        {
 -        char *s = alloca (row->used[area] + 4);
          int i;
  
          for (i = 0; i < row->used[area]; ++i)
@@@ -18929,7 -18893,7 +18941,7 @@@ get_overlay_arrow_glyph_row (struct win
    struct buffer *buffer = XBUFFER (w->contents);
    struct buffer *old = current_buffer;
    const unsigned char *arrow_string = SDATA (overlay_arrow_string);
 -  int arrow_len = SCHARS (overlay_arrow_string);
 +  ptrdiff_t arrow_len = SCHARS (overlay_arrow_string);
    const unsigned char *arrow_end = arrow_string + arrow_len;
    const unsigned char *p;
    struct it it;
  
    set_buffer_temp (buffer);
    init_iterator (&it, w, -1, -1, &scratch_glyph_row, DEFAULT_FACE_ID);
 +  scratch_glyph_row.reversed_p = false;
    it.glyph_row->used[TEXT_AREA] = 0;
    SET_TEXT_POS (it.position, 0, 0);
  
@@@ -20977,8 -20940,7 +20989,8 @@@ See also `bidi-paragraph-direction'.  *
         the previous non-empty line.  */
        if (pos >= ZV && pos > BEGV)
        DEC_BOTH (pos, bytepos);
 -      if (fast_looking_at (build_string ("[\f\t ]*\n"),
 +      AUTO_STRING (trailing_white_space, "[\f\t ]*\n");
 +      if (fast_looking_at (trailing_white_space,
                           pos, bytepos, ZV, ZV_BYTE, Qnil) > 0)
        {
          while ((c = FETCH_BYTE (bytepos)) == '\n'
@@@ -21089,7 -21051,7 +21101,7 @@@ Value is the new character position of 
                  if ((gpt->resolved_level - row->reversed_p) % 2 == 0)
                    new_pos += (row->reversed_p ? -dir : dir);
                  else
 -                  new_pos -= (row->reversed_p ? -dir : dir);;
 +                  new_pos -= (row->reversed_p ? -dir : dir);
                }
              else if (BUFFERP (g->object))
                new_pos = g->charpos;
  #undef ROW_GLYPH_NEWLINE_P
  }
  
 +DEFUN ("bidi-resolved-levels", Fbidi_resolved_levels,
 +       Sbidi_resolved_levels, 0, 1, 0,
 +       doc: /* Return the resolved bidirectional levels of characters at VPOS.
 +
 +The resolved levels are produced by the Emacs bidi reordering engine
 +that implements the UBA, the Unicode Bidirectional Algorithm.  Please
 +read the Unicode Standard Annex 9 (UAX#9) for background information
 +about these levels.
 +
 +VPOS is the zero-based number of the current window's screen line
 +for which to produce the resolved levels.  If VPOS is nil or omitted,
 +it defaults to the screen line of point.  If the window displays a
 +header line, VPOS of zero will report on the header line, and first
 +line of text in the window will have VPOS of 1.
 +
 +Value is an array of resolved levels, indexed by glyph number.
 +Glyphs are numbered from zero starting from the beginning of the
 +screen line, i.e. the left edge of the window for left-to-right lines
 +and from the right edge for right-to-left lines.  The resolved levels
 +are produced only for the window's text area; text in display margins
 +is not included.
 +
 +If the selected window's display is not up-to-date, or if the specified
 +screen line does not display text, this function returns nil.  It is
 +highly recommended to bind this function to some simple key, like F8,
 +in order to avoid these problems.
 +
 +This function exists mainly for testing the correctness of the
 +Emacs UBA implementation, in particular with the test suite.  */)
 +  (Lisp_Object vpos)
 +{
 +  struct window *w = XWINDOW (selected_window);
 +  struct buffer *b = XBUFFER (w->contents);
 +  int nrow;
 +  struct glyph_row *row;
 +
 +  if (NILP (vpos))
 +    {
 +      int d1, d2, d3, d4, d5;
 +
 +      pos_visible_p (w, PT, &d1, &d2, &d3, &d4, &d5, &nrow);
 +    }
 +  else
 +    {
 +      CHECK_NUMBER_COERCE_MARKER (vpos);
 +      nrow = XINT (vpos);
 +    }
 +
 +  /* We require up-to-date glyph matrix for this window.  */
 +  if (w->window_end_valid
 +      && !windows_or_buffers_changed
 +      && b
 +      && !b->clip_changed
 +      && !b->prevent_redisplay_optimizations_p
 +      && !window_outdated (w)
 +      && nrow >= 0
 +      && nrow < w->current_matrix->nrows
 +      && (row = MATRIX_ROW (w->current_matrix, nrow))->enabled_p
 +      && MATRIX_ROW_DISPLAYS_TEXT_P (row))
 +    {
 +      struct glyph *g, *e, *g1;
 +      int nglyphs, i;
 +      Lisp_Object levels;
 +
 +      if (!row->reversed_p)   /* Left-to-right glyph row.  */
 +      {
 +        g = g1 = row->glyphs[TEXT_AREA];
 +        e = g + row->used[TEXT_AREA];
 +
 +        /* Skip over glyphs at the start of the row that was
 +           generated by redisplay for its own needs.  */
 +        while (g < e
 +               && INTEGERP (g->object)
 +               && g->charpos < 0)
 +          g++;
 +        g1 = g;
 +
 +        /* Count the "interesting" glyphs in this row.  */
 +        for (nglyphs = 0; g < e && !INTEGERP (g->object); g++)
 +          nglyphs++;
 +
 +        /* Create and fill the array.  */
 +        levels = make_uninit_vector (nglyphs);
 +        for (i = 0; g1 < g; i++, g1++)
 +          ASET (levels, i, make_number (g1->resolved_level));
 +      }
 +      else                    /* Right-to-left glyph row.  */
 +      {
 +        g = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA] - 1;
 +        e = row->glyphs[TEXT_AREA] - 1;
 +        while (g > e
 +               && INTEGERP (g->object)
 +               && g->charpos < 0)
 +          g--;
 +        g1 = g;
 +        for (nglyphs = 0; g > e && !INTEGERP (g->object); g--)
 +          nglyphs++;
 +        levels = make_uninit_vector (nglyphs);
 +        for (i = 0; g1 > g; i++, g1--)
 +          ASET (levels, i, make_number (g1->resolved_level));
 +      }
 +      return levels;
 +    }
 +  else
 +    return Qnil;
 +}
 +
 +
  \f
  /***********************************************************************
                               Menu Bar
@@@ -21665,7 -21519,6 +21677,7 @@@ display_menu_bar (struct window *w
        clear_glyph_row (row);
        row->enabled_p = true;
        row->full_width_p = 1;
 +      row->reversed_p = false;
      }
  
    /* Display all items of the menu bar.  */
@@@ -22899,8 -22752,10 +22911,8 @@@ decode_mode_spec_coding (Lisp_Object co
        }
        else if (CHARACTERP (eoltype))
        {
 -        unsigned char *tmp = alloca (MAX_MULTIBYTE_LENGTH);
          int c = XFASTINT (eoltype);
 -        eol_str_len = CHAR_STRING (c, tmp);
 -        eol_str = tmp;
 +        return buf + CHAR_STRING (c, (unsigned char *) buf);
        }
        else
        {
@@@ -23036,7 -22891,7 +23048,7 @@@ decode_mode_spec (struct window *w, reg
        }
  
      case 'e':
 -#ifndef SYSTEM_MALLOC
 +#if !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC
        {
        if (NILP (Vmemory_full))
          return "";
        return decode_mode_spec_buf;
      no_value:
          {
 -        charp = decode_mode_spec_buf;
 +        char *p = decode_mode_spec_buf;
          int pad = width - 2;
          while (pad-- > 0)
            *p++ = ' ';
@@@ -23929,7 -23784,7 +23941,7 @@@ calc_pixel_width_or_height (double *res
            return OK_PIXELS (WINDOW_SCROLL_BAR_AREA_WIDTH (it->w));
        }
  
 -      prop = buffer_local_value_1 (prop, it->w->contents);
 +      prop = buffer_local_value (prop, it->w->contents);
        if (EQ (prop, Qunbound))
        prop = Qnil;
      }
              return OK_PIXELS (pixels);
            }
  
 -        car = buffer_local_value_1 (car, it->w->contents);
 +        car = buffer_local_value (car, it->w->contents);
          if (EQ (car, Qunbound))
            car = Qnil;
        }
@@@ -24158,7 -24013,7 +24170,7 @@@ get_char_face_and_encoding (struct fram
  #endif
      {
        eassert (face != NULL);
 -      PREPARE_FACE_FOR_DISPLAY (f, face);
 +      prepare_face_for_display (f, face);
      }
  
    return face;
@@@ -24181,7 -24036,7 +24193,7 @@@ get_glyph_face_and_encoding (struct fra
  
    /* Make sure X resources of the face are allocated.  */
    eassert (face != NULL);
 -  PREPARE_FACE_FOR_DISPLAY (f, face);
 +  prepare_face_for_display (f, face);
  
    if (two_byte_p)
      *two_byte_p = 0;
@@@ -24498,7 -24353,7 +24510,7 @@@ fill_stretch_glyph_string (struct glyph
    s->ybase += voffset;
  
    /* The case that face->gc == 0 is handled when drawing the glyph
 -     string by calling PREPARE_FACE_FOR_DISPLAY.  */
 +     string by calling prepare_face_for_display.  */
    eassert (s->face);
    return glyph - s->row->glyphs[s->area];
  }
@@@ -24816,7 -24671,7 +24828,7 @@@ compute_overhangs_and_x (struct glyph_s
         face_id = (row)->glyphs[area][START].face_id;                     \
                                                                           \
         s = alloca (sizeof *s);                                           \
 -       char2b = alloca ((END - START) * sizeof *char2b);                 \
 +       SAFE_NALLOCA (char2b, 1, (END) - (START));                        \
         INIT_GLYPH_STRING (s, char2b, w, row, area, START, HL);           \
         append_glyph_string (&HEAD, &TAIL, s);                            \
         s->x = (X);                                                       \
      struct glyph_string *first_s = NULL;                                  \
      int n;                                                                \
                                                                            \
 -    char2b = alloca (cmp->glyph_len * sizeof *char2b);                            \
 +    SAFE_NALLOCA (char2b, 1, cmp->glyph_len);                             \
                                                                            \
      /* Make glyph_strings for each glyph sequence that is drawable by     \
         the same face, and append them to HEAD/TAIL.  */                           \
      gstring = (composition_gstring_from_id                              \
               ((row)->glyphs[area][START].u.cmp.id));                    \
      s = alloca (sizeof *s);                                             \
 -    char2b = alloca (LGSTRING_GLYPH_LEN (gstring) * sizeof *char2b);    \
 +    SAFE_NALLOCA (char2b, 1, LGSTRING_GLYPH_LEN (gstring));             \
      INIT_GLYPH_STRING (s, char2b, w, row, area, START, HL);             \
      append_glyph_string (&(HEAD), &(TAIL), s);                                  \
      s->x = (X);                                                                 \
@@@ -25031,7 -24886,6 +25043,7 @@@ draw_glyphs (struct window *w, int x, s
       BUILD_GLYPH_STRINGS will modify its start parameter.  That's
       the reason we use a separate variable `i'.  */
    i = start;
 +  USE_SAFE_ALLOCA;
    BUILD_GLYPH_STRINGS (i, end, head, tail, hl, x, last_x);
    if (tail)
      x_reached = tail->x + tail->background_width;
  
    RELEASE_HDC (hdc, f);
  
 +  SAFE_FREE ();
    return x_reached;
  }
  
@@@ -25317,7 -25170,8 +25329,7 @@@ append_glyph (struct it *it
        if (it->bidi_p)
        {
          glyph->resolved_level = it->bidi_it.resolved_level;
 -        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 -          emacs_abort ();
 +        eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
          glyph->bidi_type = it->bidi_it.type;
        }
        else
@@@ -25400,7 -25254,8 +25412,7 @@@ append_composite_glyph (struct it *it
        if (it->bidi_p)
        {
          glyph->resolved_level = it->bidi_it.resolved_level;
 -        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 -          emacs_abort ();
 +        eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
          glyph->bidi_type = it->bidi_it.type;
        }
        ++it->glyph_row->used[area];
@@@ -25447,7 -25302,7 +25459,7 @@@ produce_image_glyph (struct it *it
    face = FACE_FROM_ID (it->f, it->face_id);
    eassert (face);
    /* Make sure X resources of the face is loaded.  */
 -  PREPARE_FACE_FOR_DISPLAY (it->f, face);
 +  prepare_face_for_display (it->f, face);
  
    if (it->image_id < 0)
      {
          if (it->bidi_p)
            {
              glyph->resolved_level = it->bidi_it.resolved_level;
 -            if ((it->bidi_it.type & 7) != it->bidi_it.type)
 -              emacs_abort ();
 +            eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
              glyph->bidi_type = it->bidi_it.type;
            }
          ++it->glyph_row->used[area];
@@@ -25676,7 -25532,8 +25688,7 @@@ append_stretch_glyph (struct it *it, Li
        if (it->bidi_p)
        {
          glyph->resolved_level = it->bidi_it.resolved_level;
 -        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 -          emacs_abort ();
 +        eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
          glyph->bidi_type = it->bidi_it.type;
        }
        else
@@@ -25741,7 -25598,7 +25753,7 @@@ produce_stretch_glyph (struct it *it
      {
        struct face *face = FACE_FROM_ID (it->f, it->face_id);
        font = face->font ? face->font : FRAME_FONT (it->f);
 -      PREPARE_FACE_FOR_DISPLAY (it->f, face);
 +      prepare_face_for_display (it->f, face);
      }
  #endif
  
@@@ -26135,7 -25992,8 +26147,7 @@@ append_glyphless_glyph (struct it *it, 
        if (it->bidi_p)
        {
          glyph->resolved_level = it->bidi_it.resolved_level;
 -        if ((it->bidi_it.type & 7) != it->bidi_it.type)
 -          emacs_abort ();
 +        eassert ((it->bidi_it.type & 7) == it->bidi_it.type);
          glyph->bidi_type = it->bidi_it.type;
        }
        ++it->glyph_row->used[area];
@@@ -26203,7 -26061,7 +26215,7 @@@ produce_glyphless_glyph (struct it *it
  
        face = FACE_FROM_ID (it->f, face_id);
        font = face->font ? face->font : FRAME_FONT (it->f);
 -      PREPARE_FACE_FOR_DISPLAY (it->f, face);
 +      prepare_face_for_display (it->f, face);
  
        if (it->glyphless_method == GLYPHLESS_DISPLAY_ACRONYM)
        {
          sprintf (buf, "%0*X", it->c < 0x10000 ? 4 : 6, it->c);
          str = buf;
        }
 -      for (len = 0; str[len] && ASCII_BYTE_P (str[len]) && len < 6; len++)
 +      for (len = 0; str[len] && ASCII_CHAR_P (str[len]) && len < 6; len++)
        code[len] = font->driver->encode_char (font, str[len]);
        upper_len = (len + 1) / 2;
        font->driver->text_extents (font, code, upper_len,
@@@ -27544,6 -27402,9 +27556,6 @@@ draw_phys_cursor_glyph (struct window *
  
  /* Erase the image of a cursor of window W from the screen.  */
  
 -#ifndef HAVE_NTGUI
 -static
 -#endif
  void
  erase_phys_cursor (struct window *w)
  {
@@@ -27966,7 -27827,7 +27978,7 @@@ show_mouse_face (Mouse_HLInfo *hlinfo, 
  
  #ifdef HAVE_WINDOW_SYSTEM
    /* Change the mouse cursor.  */
 -  if (FRAME_WINDOW_P (f))
 +  if (FRAME_WINDOW_P (f) && NILP (do_mouse_tracking))
      {
  #if ! defined (USE_GTK) && ! defined (HAVE_NS)
        if (draw == DRAW_NORMAL_TEXT
@@@ -29075,8 -28936,8 +29087,8 @@@ note_mode_line_or_margin_highlight (Lis
          else if (area == ON_MODE_LINE)
            {
              Lisp_Object default_help
 -              = buffer_local_value_1 (Qmode_line_default_help_echo,
 -                                      w->contents);
 +              = buffer_local_value (Qmode_line_default_help_echo,
 +                                    w->contents);
  
              if (STRINGP (default_help))
                {
@@@ -29370,8 -29231,7 +29382,8 @@@ note_mouse_highlight (struct frame *f, 
      else
        cursor = FRAME_X_OUTPUT (f)->nontext_cursor;
    else if (part == ON_LEFT_FRINGE || part == ON_RIGHT_FRINGE
 -         || part == ON_SCROLL_BAR)
 +         || part == ON_VERTICAL_SCROLL_BAR
 +         || part == ON_HORIZONTAL_SCROLL_BAR)
      cursor = FRAME_X_OUTPUT (f)->nontext_cursor;
    else
      cursor = FRAME_X_OUTPUT (f)->text_cursor;
        /* Is this char mouse-active or does it have help-echo?  */
        position = make_number (pos);
  
 +      USE_SAFE_ALLOCA;
 +
        if (BUFFERP (object))
        {
          /* Put all the overlays we want in a vector in overlay_vec.  */
        BEGV = obegv;
        ZV = ozv;
        current_buffer = obuf;
 +      SAFE_FREE ();
      }
  
   set_cursor:
@@@ -30295,8 -30152,8 +30307,8 @@@ expose_frame (struct frame *f, int x, i
    if (w == 0 || h == 0)
      {
        r.x = r.y = 0;
 -      r.width = FRAME_COLUMN_WIDTH (f) * FRAME_COLS (f);
 -      r.height = FRAME_LINE_HEIGHT (f) * FRAME_LINES (f);
 +      r.width = FRAME_TEXT_WIDTH (f);
 +      r.height = FRAME_TEXT_HEIGHT (f);
      }
    else
      {
@@@ -30551,7 -30408,6 +30563,7 @@@ syms_of_xdisp (void
  
    DEFSYM (Qright_to_left, "right-to-left");
    DEFSYM (Qleft_to_right, "left-to-right");
 +  defsubr (&Sbidi_resolved_levels);
  
  #ifdef HAVE_WINDOW_SYSTEM
    DEFVAR_BOOL ("x-stretch-cursor", x_stretch_cursor_p,
@@@ -30583,9 -30439,8 +30595,9 @@@ A value of nil means no special handlin
  
    DEFVAR_LISP ("void-text-area-pointer", Vvoid_text_area_pointer,
      doc: /* The pointer shape to show in void text areas.
 -A value of nil means to show the text pointer.  Other options are `arrow',
 -`text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'.  */);
 +A value of nil means to show the text pointer.  Other options are
 +`arrow', `text', `hand', `vdrag', `hdrag', `nhdrag', `modeline', and
 +`hourglass'.  */);
    Vvoid_text_area_pointer = Qarrow;
  
    DEFVAR_LISP ("inhibit-redisplay", Vinhibit_redisplay,
@@@ -30731,12 -30586,9 +30743,12 @@@ all the functions in the list are calle
    DEFVAR_LISP ("window-scroll-functions", Vwindow_scroll_functions,
      doc: /* List of functions to call before redisplaying a window with scrolling.
  Each function is called with two arguments, the window and its new
 -display-start position.  Note that these functions are also called by
 -`set-window-buffer'.  Also note that the value of `window-end' is not
 -valid when these functions are called.
 +display-start position.
 +These functions are called whenever the `window-start' marker is modified,
 +either to point into another buffer (e.g. via `set-window-buffer') or another
 +place in the same buffer.
 +Note that the value of `window-end' is not valid when these functions are
 +called.
  
  Warning: Do not use this feature to alter the way the window
  is scrolled.  It is not designed for that, and such use probably won't
@@@ -30961,12 -30813,6 +30973,12 @@@ To add a prefix to continuation lines, 
      doc: /* Non-nil means don't free realized faces.  Internal use only.  */);
    inhibit_free_realized_faces = 0;
  
 +  DEFVAR_BOOL ("inhibit-bidi-mirroring", inhibit_bidi_mirroring,
 +    doc: /* Non-nil means don't mirror characters even when bidi context requires that.
 +Intended for use during debugging and for testing bidi display;
 +see biditest.el in the test suite.  */);
 +  inhibit_bidi_mirroring = 0;
 +
  #ifdef GLYPH_DEBUG
    DEFVAR_BOOL ("inhibit-try-window-id", inhibit_try_window_id,
               doc: /* Inhibit try_window_id display optimization.  */);
@@@ -31089,10 -30935,10 +31101,10 @@@ init_xdisp (void
        r->pixel_top = r->top_line * FRAME_LINE_HEIGHT (f);
        r->total_cols = FRAME_COLS (f);
        r->pixel_width = r->total_cols * FRAME_COLUMN_WIDTH (f);
 -      r->total_lines = FRAME_LINES (f) - 1 - FRAME_TOP_MARGIN (f);
 +      r->total_lines = FRAME_TOTAL_LINES (f) - 1 - FRAME_TOP_MARGIN (f);
        r->pixel_height = r->total_lines * FRAME_LINE_HEIGHT (f);
  
 -      m->top_line = FRAME_LINES (f) - 1;
 +      m->top_line = FRAME_TOTAL_LINES (f) - 1;
        m->pixel_top = m->top_line * FRAME_LINE_HEIGHT (f);
        m->total_cols = FRAME_COLS (f);
        m->pixel_width = m->total_cols * FRAME_COLUMN_WIDTH (f);
  
  /* Platform-independent portion of hourglass implementation.  */
  
 +/* Timer function of hourglass_atimer.  */
 +
 +static void
 +show_hourglass (struct atimer *timer)
 +{
 +  /* The timer implementation will cancel this timer automatically
 +     after this function has run.  Set hourglass_atimer to null
 +     so that we know the timer doesn't have to be canceled.  */
 +  hourglass_atimer = NULL;
 +
 +  if (!hourglass_shown_p)
 +    {
 +      Lisp_Object tail, frame;
 +
 +      block_input ();
 +
 +      FOR_EACH_FRAME (tail, frame)
 +      {
 +        struct frame *f = XFRAME (frame);
 +
 +        if (FRAME_LIVE_P (f) && FRAME_WINDOW_P (f)
 +            && FRAME_RIF (f)->show_hourglass)
 +          FRAME_RIF (f)->show_hourglass (f);
 +      }
 +
 +      hourglass_shown_p = 1;
 +      unblock_input ();
 +    }
 +}
 +
  /* Cancel a currently active hourglass timer, and start a new one.  */
 +
  void
  start_hourglass (void)
  {
    else
      delay = make_timespec (DEFAULT_HOURGLASS_DELAY, 0);
  
 -#ifdef HAVE_NTGUI
 -  {
 -    extern void w32_note_current_window (void);
 -    w32_note_current_window ();
 -  }
 -#endif /* HAVE_NTGUI */
 -
    hourglass_atimer = start_atimer (ATIMER_RELATIVE, delay,
                                   show_hourglass, NULL);
  }
  
 -
  /* Cancel the hourglass cursor timer if active, hide a busy cursor if
     shown.  */
 +
  void
  cancel_hourglass (void)
  {
      }
  
    if (hourglass_shown_p)
 -    hide_hourglass ();
 +    {
 +      Lisp_Object tail, frame;
 +
 +      block_input ();
 +
 +      FOR_EACH_FRAME (tail, frame)
 +      {
 +        struct frame *f = XFRAME (frame);
 +
 +        if (FRAME_LIVE_P (f) && FRAME_WINDOW_P (f)
 +            && FRAME_RIF (f)->hide_hourglass)
 +          FRAME_RIF (f)->hide_hourglass (f);
 +#ifdef HAVE_NTGUI
 +        /* No cursors on non GUI frames - restore to stock arrow cursor.  */
 +        else if (!FRAME_W32_P (f))
 +          w32_arrow_cursor ();
 +#endif
 +      }
 +
 +      hourglass_shown_p = 0;
 +      unblock_input ();
 +    }
  }
  
  #endif /* HAVE_WINDOW_SYSTEM */
diff --combined test/ChangeLog
index d0988e4207673085771ec4d5eec54d977fb0c800,0da5f99b2260c77a5bd1ada7b5d42fb6f57d609b..c2c2d9b09eec05d992eaebccffdceb3cb2c2385d
 -2014-11-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
++2014-11-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+       * automated/python-tests.el
+       (python-shell-calculate-process-environment-4)
+       (python-shell-calculate-process-environment-5): New tests.
+       (python-shell-make-comint-3): Use file-equal-p.
+       (python-shell-get-or-create-process-1)
+       (python-shell-get-or-create-process-2)
+       (python-shell-get-or-create-process-3): Fix interpreter for
+       Windows (Bug#18595).
 -2014-11-15  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-11-21  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/libxml-tests.el
 +      (libxml-tests--data-comments-preserved): Renamed from
 +      'libxml-tests--data'.
 +      (libxml-tests--data-comments-discarded): New.
 +      (libxml-tests): Check whether 'libxml-parse-xml-region' is
 +      discarding comments correctly.
 +
 +2014-11-17  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * automated/tildify-tests.el (tildify-test-html, tildify-test-xml):
 +      HTML and XML now use no-break space as hard space.  Update tests.
 +      (tildify-test-foreach-ignore-environments)
 +      (tildify-test-foreach-ignore-environments-early-return,
 +      (tildify-test-foreach-region)
 +      (tildify-test-foreach-region-early-return)
 +      (tildify-test-foreach-region-limit-region): New tests of
 +      `tildify-foreach-ignore-environments' and
 +      `tildify--foreach-region' functions.
 +      (with-test-foreach): New helper macro for the above tests.
 +
 +2014-11-17  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/occur-tests.el (occur-test-case, occur-test-create):
 +      In case of failure, show the actual string, rather than just nil.
 +      (occur-tests): Update for apparent change in output re control-chars.
 +
 +2014-11-17  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar-tests--test-export): New
 +      optional parameter `alarms'.
 +      (icalendar-export-alarms): New test for exporting icalendar
 +      alarms.
 +      (icalendar-tests--test-cycle): Let `icalendar-export-alarms' be nil.
 +
 +2014-11-17  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar-tests--test-import):
 +      Mention timezone in doc string.  Clean up.
 +      (icalendar-real-world): Add another test case for no-dst
 +      timezones.
 +
 +2014-11-16  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar--parse-vtimezone): Add
 +      testcase where offsets of standard time and daylight saving time
 +      are equal.
 +      (icalendar-real-world): Fix error in test case.  Expected result
 +      was wrong when offsets of standard time and daylight saving time
 +      were equal.
 +
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * automated/python-tests.el
 +      (python-shell-calculate-process-environment-2): Fix test.
 +      (python-shell-calculate-process-environment-1)
 +      (python-shell-calculate-process-environment-3): Cleanup.
 +
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * automated/python-tests.el (python-indent-dedenters-8): New test
        for Bug#18432.
  
 -2014-11-15  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-11-16  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * automated/python-tests.el (python-indent-region-1)
        (python-indent-region-2, python-indent-region-3)
        (python-indent-region-4, python-indent-region-5): New tests.
  
 -2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
 +2014-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      Backport Tramp changes from trunk.
 +      * automated/bytecomp-tests.el (bytecomp-tests--warnings): New tests.
 +      * automated/cl-lib-tests.el: Rename from cl-lib.el.
  
 -      * automated/tramp-tests.el (tramp-remote-process-environment):
 -      Declare.
 -      (tramp--test-enabled): Ignore errors.
 -      (tramp--instrument-test-case): Extend docstring.  Print debug
 -      buffer in any case.
 -      (tramp-test15-copy-directory): Skip for tramp-smb.el.
 -      (tramp-test21-file-links): Use `file-truename' for directories.
 -      (tramp-test26-process-file): Extend test according to Bug#17815.
 -      (tramp-test27-start-file-process, tramp-test28-shell-command):
 -      Retrieve process output more robustly.
 -      (tramp-test29-vc-registered): Set $BZR_HOME.
 -      (tramp--test-check-files): Extend test with `substitute-in-file-name'.
 -      (tramp-test30-special-characters): Skip for tramp-adb.el,
 -      tramp-gvfs.el and tramp-smb.el.  Add further file names.
 +2014-10-28  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/libxml-tests.el: New file.
 +
 +2014-10-22  Noam Postavsky  <npostavs@users.sourceforget.net>
 +
 +      * test/automated/process-tests.el (process-test-quoted-batfile):
 +      New test.
  
  2014-10-20  Glenn Morris  <rgm@gnu.org>
  
 -      * Version 24.4 released.
 +      * Merge in all changes up to 24.4 release.
 +
 +2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * indent/scss-mode.scss: New file.
 +      * indent/css-mode.css: Add a few uneventful examples.
 +
 +2014-10-15  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * BidiCharacterTest.txt: New file, from Unicode.
 +
 +      * biditest.el: New file.
 +
 +2014-10-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      * automated/print-tests.el: New file.
 +      (terpri): Tests for terpri.  (Bug#18652)
 +
 +2014-10-06  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/icalendar-tests.el (icalendar--calendar-style):
 +      Remove test, no longer relevant.
  
 -2014-10-01  Glenn Morris  <rgm@gnu.org>
 +2014-10-04  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/package-x-test.el: Remove file...
 +      * automated/package-test.el: ... merge package-x-test.el.  (Bug#18574)
 +
 +2014-10-02  Glenn Morris  <rgm@gnu.org>
  
        * automated/package-test.el (with-package-test, package-test-signed):
        Also set HOME to a temp value, in case the real one is absent (e.g.
        hydra) or read-only.  (Bug#18575)
        (package-test-signed): Use skip-unless rather than expected-result.
  
 -2014-09-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-09-26  Leo Liu  <sdl.web@gmail.com>
  
 -      * automated/python-tests.el:
 -      (python-indent-electric-colon-1): New test.  (Bug#18228)
 +      * automated/cl-lib.el (cl-digit-char-p, cl-parse-integer):
 +      New tests.  (Bug#18557)
 +
 +2014-09-24  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/newsticker-tests.el
 +      (newsticker--group-find-parent-group),
 +      (newsticker--group-do-rename-group): New tests.
 +
 +2014-09-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * automated/fns-tests.el (fns-tests-collate-sort):
 +      Bind w32-collate-ignore-punctuation to t when sorting according to
 +      UTS#10 rules.
 +
 +2014-09-07  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/fns-tests.el (fns-tests--collate-enabled-p): New function.
 +      (fns-tests-collate-strings, fns-tests-collate-sort): Use it.
 +
 +2014-09-05  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/fns-tests.el (fns-tests-compare-strings): In case
 +      `compare-strings' shall return t, check for this.
 +      (fns-tests-collate-strings, fns-tests-collate-sort): New tests.
  
 -2014-08-18  Glenn Morris  <rgm@gnu.org>
 +2014-09-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * automated/python-tests.el (python-indent-electric-colon-1):
 +      New test.  (Bug#18228)
 +
 +2014-08-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * automated/fns-tests.el (fns-tests-sort): New test.
 +
 +2014-08-28  Glenn Morris  <rgm@gnu.org>
  
        * automated/python-tests.el (python-shell-calculate-exec-path-2):
        Update test for today's python.el changes.
  
 +2014-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
 +
 +      * automated/compile-tests.el (compile--test-error-line): Grok FILE
 +      being nil.  Allows for Guile tests to pass.
 +      (compile-tests--test-regexps-data): Add Guile tests.
 +
  2014-08-11  Glenn Morris  <rgm@gnu.org>
  
        * automated/data/files-bug18141.el.gz: New file.
        * automated/files.el (files-test-bug-18141-file):
        New variable and test.  (Bug#18141)
  
 +2014-08-10  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      Enumerate evaluated sexp diary entries (Bug#7911).
 +      * automated/icalendar-tests.el (icalendar--convert-anniversary-to-ical)
 +      (icalendar--convert-cyclic-to-ical, icalendar--convert-block-to-ical)
 +      (icalendar--convert-yearly-to-ical, icalendar--convert-weekly-to-ical)
 +      (icalendar--convert-ordinary-to-ical): Returns cons cell now.
 +      (icalendar--convert-to-ical, icalendar--convert-sexp-to-ical):
 +      New tests.
 +
  2014-08-07  Glenn Morris  <rgm@gnu.org>
  
 -      * automated/Makefile.in (check-tar): Remove, no longer needed.
 +      * automated/Makefile.in (check-tar): Remove, hydra recipe does it now.
 +
 +2014-08-06  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar--convert-ordinary-to-ical)
 +      (icalendar--diarytime-to-isotime): More testcases (Bug#13750).
  
  2014-08-03  Glenn Morris  <rgm@gnu.org>
  
 -      * automated/Makefile.in (check-tar): Add as alias for check.
 +      * automated/Makefile.in (check-tar): New rule.
 +
 +2014-08-02  Glenn Morris  <rgm@gnu.org>
  
 -2014-07-20  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +      * automated/fns-tests.el (fns-tests-compare-strings):
 +      Update test.  (Bug#17903)
 +
 +      * automated/icalendar-tests.el (icalendar--decode-isodatetime):
 +      Use more precise TZ specification, as per 2013-08-04.
 +
 +2014-07-30  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar--decode-isodatetime):
 +      New test.
 +
 +2014-07-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * automated/timer-tests.el (timer-tests-debug-timer-check): New test.
 +
 +2014-07-26  Ulf Jasper  <ulf.jasper@web.de>
 +
 +      * automated/icalendar-tests.el (icalendar-tests--do-test-import):
 +      Work around the failures in icalendar-tests which occasionally occur on
 +      hydra.nixos.org.
 +
 +2014-07-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * automated/python-tests.el:
        (python-util-clone-local-variables-1): Fix test.
  
 -2014-07-17  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 -
        * automated/python-tests.el (python-shell-make-comint-1):
        (python-shell-make-comint-2): Fix indentation.
        (python-shell-make-comint-3)
        (python-shell-prompt-set-calculated-regexps-6)
        (python-util-valid-regexp-p-1): New tests.
  
 -2014-07-09  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * automated/python-tests.el
 -      (python-indent-block-enders-1)
 +      * automated/advice-tests.el (advice-test-call-interactively): Make sure
 +      the function's definition is fully restored at the end.
 +
 +2014-07-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * automated/python-tests.el (python-indent-block-enders-1)
        (python-indent-block-enders-2): Fix tests.
 -      (python-indent-block-enders-3)
 -      (python-indent-block-enders-4)
 -      (python-indent-block-enders-5)
 -      (python-indent-dedenters-1)
 +      (python-indent-block-enders-3, python-indent-block-enders-4)
 +      (python-indent-block-enders-5, python-indent-dedenters-1)
        (python-indent-dedenters-2): Remove tests.
 -      (python-indent-dedenters-1)
 -      (python-indent-dedenters-2)
 -      (python-indent-dedenters-3)
 -      (python-indent-dedenters-4)
 -      (python-indent-dedenters-5)
 -      (python-indent-dedenters-6)
 +      (python-indent-dedenters-1, python-indent-dedenters-2)
 +      (python-indent-dedenters-3, python-indent-dedenters-4)
 +      (python-indent-dedenters-5, python-indent-dedenters-6)
        (python-indent-dedenters-7)
        (python-info-dedenter-opening-block-position-1)
        (python-info-dedenter-opening-block-position-2)
        (python-info-dedenter-statement-p-4)
        (python-info-dedenter-statement-p-5): New tests.
  
 -2014-07-01  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +2014-07-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * automated/python-tests.el
 -      (python-tests-self-insert): New function.
 +      * indent/perl.perl: Add indentation pattern for hash-table entries.
 +
 +2014-07-04  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/dbus-tests.el (dbus-test02-register-service-session)
 +      (dbus-test02-register-service-system): Fix docstring.
 +      (dbus-test02-register-service-own-bus)
 +      (dbus-test03-peer-interface): New tests.
 +
 +2014-07-03  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * automated/python-tests.el (python-tests-self-insert): New function.
        (python-triple-quote-pairing): Use it.
        (python-parens-electric-indent-1): New test. (Bug#17658)
  
 +2014-06-30  Fabián Ezequiel Gallina  <fgallina@gnu.org>
 +
 +      * automated/subr-x-tests.el: New file.
 +
 +2014-06-29  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/tramp-tests.el (tramp--instrument-test-case):
 +      Print debug buffer in any case.
 +
  2014-06-28  Leo Liu  <sdl.web@gmail.com>
  
        * automated/calc-tests.el: New file and add tests for math-bignum.
        (Bug#17556)
  
 -2014-06-27  Michael Albinus  <michael.albinus@gmx.de>
 +2014-06-28  Michael Albinus  <michael.albinus@gmx.de>
  
        * automated/dbus-tests.el (dbus--test-register-service)
        (dbus-test02-register-service-session): Replace `dbus-ping' calls
        by `dbus-list-known-names'.  (Bug#17858)
  
 -2014-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/Makefile.in (GDB): New variable.
 +      (emacs): Use $GDB.  (Bug#15991)
 +
 +      * automated/Makefile.in (WRITE_LOG): New variable.
 +      (%.log): Use WRITE_LOG.
 +      (test_template): Disable logging.
 +
 +      * automated/Makefile.in (TESTS): New list of short PHONY aliases.
 +      (test_template): New definition.  Apply to TESTS.
 +
 +2014-06-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/Makefile.in (check-maybe): Rename from check.
 +      (check): Re-run all the tests, every time.
 +      (clean, mostlyclean): Also delete *.log~.
 +
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/package-x-test.el: Do not mess with load-path.
 +
 +      * automated/Makefile.in (%.log): If error, dump log to stdout.
 +
 +2014-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * automated/package-test.el (package-test-update-listing)
        (package-test-update-archives, package-test-describe-package):
        Adjust tests according to new package-list-unsigned.
  
 +2014-06-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/ert-tests.el (no-byte-compile): Set it.  (Bug#17851)
 +
 +      * automated/eieio-tests.el (no-byte-compile): Set it.  (Bug#17852)
 +
 +      * automated/Makefile.in: Simplify and parallelize.  (Bug#15991)
 +      (XARGS_LIMIT, BYTE_COMPILE_EXTRA_FLAGS)
 +      (setwins, compile-targets, compile-main, compile-clean): Remove.
 +      (GREP_OPTIONS): Unexport.
 +      (.el.elc): Replace with pattern rule.
 +      (%.elc, %.log): New pattern rules.
 +      (ELFILES, LOGFILES): New variables.
 +      (check): Depend on LOGFILES.  Call ert-summarize-tests-batch-and-exit.
 +      (clean, mostlyclean): New rules.
 +      (bootstrap-clean): Simplify.
 +      (bootstrap-clean, distclean): Depend on clean.
 +
 +2014-06-25  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/flymake-tests.el (flymake-tests--current-face):
 +      Sleep for longer.  Avoid querying.
 +
 +2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * automated/fns-tests.el (fns-tests-compare-string): New test.
 +
 +2014-06-24  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/tramp-tests.el (tramp-test26-process-file): Extend test
 +      according to Bug#17815.
 +
  2014-06-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        * automated/python-tests.el (python-util-strip-string-1): New test.
  
 +2014-06-15  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      Sync with Tramp 2.2.10.
 +
 +      * automated/tramp-tests.el (tramp--test-enabled): Ignore errors.
 +      (tramp--instrument-test-case): Extend docstring.
 +      (tramp-test15-copy-directory): Skip for tramp-smb.el.
 +      (tramp-test21-file-links): Use `file-truename' for directories.
 +      (tramp-test27-start-file-process, tramp-test28-shell-command):
 +      Retrieve process output more robustly.
 +      (tramp--test-check-files): Extend test.
 +      (tramp-test30-special-characters): Skip for tramp-adb.el,
 +      tramp-gvfs.el and tramp-smb.el.  Add further file names.
 +
 +2014-06-13  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/Makefile.in (compile-main):
 +      GNU make automatically passes command-line arguments to sub-makes.
 +
 +2014-06-05  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * automated/tildify-tests.el (tildify-test--test): Optimize the test
 +      slightly by reusing the same temporary buffer across multiple test
 +      cases.
 +
 +      * automated/tildify-tests.el (tildify-test-find-env-end-re-bug)
 +      (tildify-test-find-env-group-index-bug): Update to support new
 +      signature of the `tildify-foreach-region-outside-env' function.
 +      Namely, it now takes pairs as an argument instead of looking it up in
 +      `tildify-ignored-environments-alist'.
 +
 +      * automated/tildify-tests.el (tildify-test--example-html): Add support
 +      for generating XML code, so that…
 +      (tildify-test-xml) …test can be added to check handling of XML
 +      documents.
 +
 +      * automated/tildify-tests.el (tildify-test-find-env-group-index-bug):
 +      New test checking end-regex building when multiple environment pairs
 +      use integers to refer to capture groups.
 +
 +      * automated/tildify-tests.el (tildify-test-find-env-end-re-bug): New
 +      test checking end-regex building in `tildify-find-env' function when
 +      integers (denoting capture groups) and strings are mixed together.
 +
 +2014-06-02  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/tramp-tests.el (tramp-remote-process-environment): Declare.
 +      (tramp-test29-vc-registered): Set $BZR_HOME.  Remove instrumentation.
 +
 +2014-06-01  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * automated/tramp-tests.el (tramp-test29-vc-registered):
 +      Instrument failed test case.
 +
 +2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * automated/ruby-mode-tests.el (ruby-assert-face): Use font-lock-ensure.
 +      (ruby-interpolation-keeps-non-quote-syntax): Use syntax-propertize.
 +
 +2014-05-21  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * automated/tildify-tests.el: New file.
 +
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * indent/ruby.rb: Add one more test.
 +
 +      * indent/ps-mode.ps: New file.
 +
 +      * indent/octave.m: Add a few more tests.
 +
 +      * automated/core-elisp-tests.el
 +      (core-elisp-test-window-configurations): New test.
 +
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/package-test.el (package-test-install-single):
 +      Update for changed output.
 +
 +2014-05-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
 +      Fix handling of temporary elc files.
 +
 +      * automated/fns-tests.el (fns-tests-nreverse):
 +      Update for changed string behavior.
 +
 +2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * automated/fns-tests.el: New file.
 +      * automated/fns-tests.el (fns-tests-nreverse)
 +      (fns-tests-nreverse-bool-vector): New tests.
 +
  2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781)
        (vc-bzr-test-faulty-bzr-autoloads):
        Give bzr a temporary home-directory, in case the real one is missing.
  
 -2014-05-05  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-05-08  Dmitry Gutov  <dgutov@yandex.ru>
  
 -      * automated/ruby-mode-tests.el
 -      (ruby-interpolation-after-dollar-sign): New test.
 +      * automated/ruby-mode-tests.el (ruby-interpolation-after-dollar-sign):
 +      New test.
  
 -2014-05-05  Glenn Morris  <rgm@gnu.org>
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * automated/help-fns.el: New file.
  
 +2014-05-01  Barry O'Reilly  <gundaetiapo@gmail.com>
 +
 +      * automated/undo-tests.el (undo-test-region-deletion): New test to
 +      demonstrate bug#17235.
 +      (undo-test-region-example): New test to verify example given in
 +      comments for undo-make-selective-list.
 +
  2014-04-25  Michael Albinus  <michael.albinus@gmx.de>
  
        * automated/tramp-tests.el (top):
        passwords in batch mode.
        (password-cache-expiry): Set to nil.
  
 -2014-04-24  Michael Albinus  <michael.albinus@gmx.de>
 -
        * automated/file-notify-tests.el
        (file-notify-test-remote-temporary-file-directory):
        * automated/tramp-tests.el (tramp-test-temporary-file-directory):
        only if there is a usable timestamp.
        (tramp--test-check-files): Do not use `copy-sequence'.
  
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
 +      Add compile flag.
 +      (test-byte-comp-macro-expansion)
 +      (test-byte-comp-macro-expansion-eval-and-compile)
 +      (test-byte-comp-macro-expansion-eval-when-compile)
 +      (test-byte-comp-macro-expand-lexical-override): Use it.
 +      (test-eager-load-macro-expansion)
 +      (test-eager-load-macro-expansion-eval-and-compile)
 +      (test-eager-load-macro-expansion-eval-when-compile)
 +      (test-eager-load-macro-expand-lexical-override): New tests.
 +
 +      * automated/cl-lib.el (cl-lib-struct-accessors): Fix test to
 +      account for removal of `cl-struct-set-slot-value'. Also, move
 +      the defstruct to top level.
 +
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * automated/bytecomp-tests.el (test-byte-comp-compile-and-load):
 +      New function.
 +      (test-byte-comp-macro-expansion)
 +      (test-byte-comp-macro-expansion-eval-and-compile)
 +      (test-byte-comp-macro-expansion-eval-when-compile)
 +      (test-byte-comp-macro-expand-lexical-override): New tests.
 +
 +      * automated/cl-lib.el (cl-loop-destructuring-with): New test.
 +      (cl-the): Fix cl-the test.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * automated/cl-lib.el (cl-lib-struct-accessors,cl-the): New tests.
 +
  2014-04-19  Michael Albinus  <michael.albinus@gmx.de>
  
        * automated/tramp-tests.el (tramp--test-check-files): Extend test.
        (tramp-test34-unload): New tests.
        (tramp-test31-utf8, tramp-test32-asynchronous-requests):  Rename.
  
 -2014-04-10  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * automated/Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport.
 +
 +2014-04-11  Paul Eggert  <eggert@cs.ucla.edu>
  
        * automated/electric-tests.el: Fix spelling error in test name.
        (whitespace-skipping-for-quotes-not-outside):
        Rename from whitespace-skipping-for-quotes-not-ouside.
  
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
 +
 +      * automated/syntax-tests.el: New file.
 +
  2014-04-09  Glenn Morris  <rgm@gnu.org>
  
        * automated/python-tests.el (python-triple-quote-pairing):
  
  2014-04-07  João Távora  <joaotavora@gmail.com>
  
 -      * automated/electric-tests.el (define-electric-pair-test):
 -      Don't overtest.
 -      (inhibit-in-mismatched-string-inside-ruby-comments): New test.
 -      (inhibit-in-mismatched-string-inside-c-comments): New test.
 -
 -      * automated/electric-tests.el (inhibit-if-strings-mismatched):
 -      New test, change from `inhibit-only-of-next-is-mismatched'.
 -
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 -
        * automated/python-tests.el (python-triple-quote-pairing): New test.
        (python-syntax-after-python-backspace): New test.
  
        (whitespace-skipping-for-quotes-only-inside)
        (whitespace-skipping-quotes-not-without-proper-syntax): New tests.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-04-04  João Távora  <joaotavora@gmail.com>
 +
 +      * automated/electric-tests.el (define-electric-pair-test):
 +      Don't overtest.
 +      (inhibit-in-mismatched-string-inside-ruby-comments): New test.
 +      (inhibit-in-mismatched-string-inside-c-comments): New test.
 +
 +2014-04-02  João Távora  <joaotavora@gmail.com>
 +
 +      * automated/electric-tests.el (inhibit-if-strings-mismatched):
 +      New test, change from `inhibit-only-of-next-is-mismatched'.
 +
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * automated/undo-tests.el (undo-test-marker-adjustment-nominal):
        (undo-test-region-t-marker): New tests of marker adjustments.
        (undo-test-region-mark-adjustment): New tests to demonstrate
        bug#16818, which fail without the fix.
  
 -2014-03-23  Daniel Colascione  <dancol@dancol.org>
 -
 -      * automated/cl-lib.el (cl-lib-keyword-names-versus-values): New
 -      test: correct parsing of keyword arguments.
 -
  2014-03-23  Dmitry Gutov  <dgutov@yandex.ru>
  
        * automated/package-test.el (package-test-describe-package):
        Fix test failure in non-graphical mode.
  
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * automated/subword-tests.el (subword-tests2): More subword tests.
 +
 +      * automated/cl-lib.el (cl-lib-keyword-names-versus-values):
 +      New test: correct parsing of keyword arguments.
 +
  2014-03-22  Dmitry Gutov  <dgutov@yandex.ru>
  
        * automated/package-test.el (package-test-describe-package):
  
  2014-02-17  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * automated/tramp-tests.el (tramp-test28-shell-command): Perform
 -      an initial `sit-for' prior the while loop.
 +      * automated/tramp-tests.el (tramp-test28-shell-command):
 +      Perform an initial `sit-for' prior the while loop.
  
  2014-02-16  Michael Albinus  <michael.albinus@gmx.de>
  
  
        * automated/tramp-tests.el (tramp-test26-process-file): Improve test.
        (tramp-test27-start-file-process): Use "_p" as argument of lambda.
 -      (tramp-test28-shell-command): Improve `shell-command' test.  Add
 -      `async-shell-command' tests.
 +      (tramp-test28-shell-command): Improve `shell-command' test.
 +      Add `async-shell-command' tests.
  
  2014-02-04  Michael Albinus  <michael.albinus@gmx.de>
  
  
  2014-01-13  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * automated/ert-tests.el (ert-test-record-backtrace): Reenable
 -      test case with adapted test string.  (Bug#13064)
 +      * automated/ert-tests.el (ert-test-record-backtrace):
 +      Reenable test case with adapted test string.  (Bug#13064)
  
  2013-12-28  Glenn Morris  <rgm@gnu.org>
  
index 1b9d774b010697a161d4c4ccb5da81b6c58d275f,f84ded8cad20f4e02a6d334d4c679a112ead5b93..de20a80ea528db8fd9cc3836df69efeb56707379
@@@ -797,7 -797,7 +797,7 @@@ def f()
                        expected)))))
  
  (ert-deftest python-indent-region-4 ()
 -  "Test region indentation block starts, dedenders and enders."
 +  "Test region indentation block starts, dedenters and enders."
    (let ((contents "
  def f():
      if True:
@@@ -1836,7 -1836,8 +1836,7 @@@ Using `python-shell-interpreter' an
  
  (ert-deftest python-shell-calculate-process-environment-1 ()
    "Test `python-shell-process-environment' modification."
 -  (let* ((original-process-environment process-environment)
 -         (python-shell-process-environment
 +  (let* ((python-shell-process-environment
            '("TESTVAR1=value1" "TESTVAR2=value2"))
           (process-environment
            (python-shell-calculate-process-environment)))
  
  (ert-deftest python-shell-calculate-process-environment-2 ()
    "Test `python-shell-extra-pythonpaths' modification."
 -  (let* ((original-process-environment process-environment)
 -         (original-pythonpath (getenv "PYTHONPATH"))
 +  (let* ((process-environment process-environment)
 +         (original-pythonpath (setenv "PYTHONPATH" "path3"))
           (paths '("path1" "path2"))
           (python-shell-extra-pythonpaths paths)
           (process-environment
  
  (ert-deftest python-shell-calculate-process-environment-3 ()
    "Test `python-shell-virtualenv-path' modification."
 -  (let* ((original-process-environment process-environment)
 -         (original-path (or (getenv "PATH") ""))
 +  (let* ((original-path (or (getenv "PATH") ""))
           (python-shell-virtualenv-path
            (directory-file-name user-emacs-directory))
           (process-environment
                             python-shell-virtualenv-path
                             path-separator original-path)))))
  
+ (ert-deftest python-shell-calculate-process-environment-4 ()
+   "Test `python-shell-unbuffered' modification."
+   (setenv "PYTHONUNBUFFERED")
+   (let* ((process-environment
+           (python-shell-calculate-process-environment)))
+     ;; Defaults to t
+     (should python-shell-unbuffered)
+     (should (string= (getenv "PYTHONUNBUFFERED") "1"))))
+ (ert-deftest python-shell-calculate-process-environment-5 ()
+   (setenv "PYTHONUNBUFFERED")
+   "Test `python-shell-unbuffered' modification."
+   (let* ((python-shell-unbuffered nil)
+          (process-environment
+           (python-shell-calculate-process-environment)))
+     (should (not (getenv "PYTHONUNBUFFERED")))))
  (ert-deftest python-shell-calculate-exec-path-1 ()
    "Test `python-shell-exec-path' modification."
    (let* ((original-exec-path exec-path)
@@@ -1959,8 -1978,9 +1976,9 @@@ and `python-shell-interpreter-args' in 
            (should (process-live-p process))
            (with-current-buffer shell-buffer
              (should (eq major-mode 'inferior-python-mode))
-             (should (string= python-shell-interpreter
-                              (executable-find python-tests-shell-interpreter)))
+             (should (file-equal-p
+                      python-shell-interpreter
+                      (executable-find python-tests-shell-interpreter)))
              (should (string= python-shell-interpreter-args "-i"))))
        (kill-buffer shell-buffer))))
  
    (skip-unless (executable-find python-tests-shell-interpreter))
    (python-tests-with-temp-file
     ""
-    (let* ((python-shell-interpreter
-            (executable-find python-tests-shell-interpreter))
+    (let* ((cmd
+            (concat (executable-find python-tests-shell-interpreter) " -i"))
            (use-dialog-box)
            (dedicated-process-name (python-shell-get-process-name t))
-           (dedicated-process
-            (python-shell-get-or-create-process python-shell-interpreter t))
+           (dedicated-process (python-shell-get-or-create-process cmd t))
            (dedicated-shell-buffer (process-buffer dedicated-process)))
       (unwind-protect
           (progn
    (skip-unless (executable-find python-tests-shell-interpreter))
    (python-tests-with-temp-file
     ""
-    (let* ((python-shell-interpreter
-            (executable-find python-tests-shell-interpreter))
+    (let* ((cmd
+            (concat (executable-find python-tests-shell-interpreter) " -i"))
            (use-dialog-box)
            (process-name (python-shell-get-process-name nil))
-           (process
-            (python-shell-get-or-create-process python-shell-interpreter))
+           (process (python-shell-get-or-create-process cmd))
            (shell-buffer (process-buffer process)))
       (unwind-protect
           (progn
             (kill-buffer shell-buffer)
             ;; Check there are no processes for current buffer.
             (should (not (python-shell-get-process))))
-        (ignore-errors (kill-buffer dedicated-shell-buffer))))))
+        (ignore-errors (kill-buffer shell-buffer))))))
  
  (ert-deftest python-shell-get-or-create-process-3 ()
    "Check shell dedicated/global process preference."
    (skip-unless (executable-find python-tests-shell-interpreter))
    (python-tests-with-temp-file
     ""
-    (let* ((python-shell-interpreter
-            (executable-find python-tests-shell-interpreter))
+    (let* ((cmd
+            (concat (executable-find python-tests-shell-interpreter) " -i"))
+           (python-shell-interpreter python-tests-shell-interpreter)
            (use-dialog-box)
            (dedicated-process-name (python-shell-get-process-name t))
            (global-process)
            (dedicated-process))
-      (unwind-protect
-          (progn
-            ;; Create global process
-            (run-python python-shell-interpreter nil)
-            (setq global-process (get-buffer-process "*Python*"))
-            (should global-process)
-            (set-process-query-on-exit-flag global-process nil)
-            ;; Create dedicated process
-            (run-python python-shell-interpreter t)
-            (setq dedicated-process (get-process dedicated-process-name))
-            (should dedicated-process)
-            (set-process-query-on-exit-flag dedicated-process nil)
-            ;; Prefer dedicated.
-            (should (equal (python-shell-get-or-create-process)
-                           dedicated-process))
-            ;; Kill the dedicated so the global takes over.
-            (kill-buffer (process-buffer dedicated-process))
-            ;; Detect global.
-            (should (equal (python-shell-get-or-create-process) global-process))
-            ;; Kill the global.
-            (kill-buffer (process-buffer global-process))
-            ;; Check there are no processes for current buffer.
-            (should (not (python-shell-get-process))))
-        (ignore-errors (kill-buffer dedicated-shell-buffer))))))
+      (progn
+        ;; Create global process
+        (run-python cmd nil)
+        (setq global-process (get-buffer-process "*Python*"))
+        (should global-process)
+        (set-process-query-on-exit-flag global-process nil)
+        ;; Create dedicated process
+        (run-python cmd t)
+        (setq dedicated-process (get-process dedicated-process-name))
+        (should dedicated-process)
+        (set-process-query-on-exit-flag dedicated-process nil)
+        ;; Prefer dedicated.
+        (should (equal (python-shell-get-or-create-process)
+                       dedicated-process))
+        ;; Kill the dedicated so the global takes over.
+        (kill-buffer (process-buffer dedicated-process))
+        ;; Detect global.
+        (should (equal (python-shell-get-or-create-process) global-process))
+        ;; Kill the global.
+        (kill-buffer (process-buffer global-process))
+        ;; Check there are no processes for current buffer.
+        (should (not (python-shell-get-process)))))))
  
  (ert-deftest python-shell-internal-get-or-create-process-1 ()
    "Check internal shell process creation fallback."