merge trunk
authorKenichi Handa <handa@m17n.org>
Tue, 27 Sep 2011 02:18:32 +0000 (11:18 +0900)
committerKenichi Handa <handa@m17n.org>
Tue, 27 Sep 2011 02:18:32 +0000 (11:18 +0900)
125 files changed:
ChangeLog
Makefile.in
README
admin/ChangeLog
admin/admin.el
admin/make-tarball.txt
autogen/configure
configure.in
doc/emacs/ChangeLog
doc/emacs/buffers.texi
doc/emacs/emacs.texi
doc/emacs/emacsver.texi
doc/emacs/frames.texi
doc/emacs/windows.texi
doc/lispref/ChangeLog
doc/lispref/buffers.texi
doc/lispref/display.texi
doc/lispref/elisp.texi
doc/lispref/files.texi
doc/lispref/frames.texi
doc/lispref/vol1.texi
doc/lispref/vol2.texi
doc/lispref/windows.texi
doc/man/emacs.1
doc/misc/ChangeLog
doc/misc/gnus.texi
doc/misc/mh-e.texi
doc/misc/texinfo.tex
etc/AUTHORS
etc/ChangeLog
etc/MH-E-NEWS
etc/NEWS
etc/PROBLEMS
lib/dup2.c
lib/gnulib.mk
lib/signal.in.h
lib/sigprocmask.c
lib/stat.c
lib/stdio.in.h
lib/sys_stat.in.h
lib/unistd.in.h
lisp/ChangeLog
lisp/ChangeLog.14
lisp/allout.el
lisp/cmuscheme.el
lisp/cus-edit.el
lisp/erc/ChangeLog
lisp/erc/erc-button.el
lisp/faces.el
lisp/files.el
lisp/gnus/ChangeLog
lisp/gnus/auth-source.el
lisp/gnus/gnus-art.el
lisp/gnus/gnus-sum.el
lisp/gnus/message.el
lisp/gnus/mm-view.el
lisp/gnus/mml.el
lisp/gnus/nnheader.el
lisp/gnus/nnimap.el
lisp/gnus/pop3.el
lisp/gnus/shr.el
lisp/help.el
lisp/info.el
lisp/international/mule-diag.el
lisp/ldefs-boot.el
lisp/mail/emacsbug.el
lisp/mail/rmail.el
lisp/mail/sendmail.el
lisp/mh-e/ChangeLog
lisp/mh-e/mh-e.el
lisp/mh-e/mh-show.el
lisp/mouse.el
lisp/net/dbus.el
lisp/net/newst-reader.el
lisp/net/tramp-sh.el
lisp/net/tramp.el
lisp/password-cache.el
lisp/progmodes/cc-defs.el
lisp/progmodes/cfengine.el
lisp/progmodes/f90.el
lisp/progmodes/hideshow.el
lisp/progmodes/inf-lisp.el
lisp/progmodes/sql.el
lisp/ps-print.el
lisp/shell.el
lisp/simple.el
lisp/subr.el
lisp/textmodes/paragraphs.el
lisp/textmodes/picture.el
lisp/url/ChangeLog
lisp/url/url-http.el
lisp/window.el
m4/dup2.m4
m4/getloadavg.m4
m4/gl-comp.m4
m4/include_next.m4
m4/signal_h.m4
m4/signalblocking.m4
m4/stdint.m4
m4/stdio_h.m4
m4/sys_stat_h.m4
m4/time_h.m4
m4/unistd_h.m4
make-dist
msdos/sed2v2.inp
nextstep/Cocoa/Emacs.base/Contents/Info.plist
nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
nt/config.nt
nt/emacs.rc
nt/emacsclient.rc
nt/makefile.w32-in
src/ChangeLog
src/ChangeLog.11
src/bidi.c
src/buffer.c
src/dbusbind.c
src/dispextern.h
src/dispnew.c
src/emacs.c
src/indent.c
src/minibuf.c
src/window.c
src/xdisp.c

index 7c7bff4..a80fa24 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Merge from gnulib, improving some licensing wording.
+       This clarifies and fixes some licensing issues raised by Glenn Morris
+       <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
+       It also merges the latest version of texinfo.tex and has some
+       MSVC-related changes that don't affect Emacs.
+       * Makefile.in (GNULIB_TOOL_FLAGS): Avoid msvc-inval, msvc-nothrow,
+       pathmax, and raise, since these are needed only to address
+       MSVC-related issues that Emacs doesn't have.
+       * doc/misc/texinfo.tex, lib/dup2.c, lib/gnulib.mk, lib/signal.in.h:
+       * lib/sigprocmask.c, lib/stat.c, lib/stdio.in.h, lib/sys_stat.in.h:
+       * lib/unistd.in.h, m4/dup2.m4, m4/getloadavg.m4, m4/gl-comp.m4:
+       * m4/include_next.m4, m4/signal_h.m4, m4/signalblocking.m4:
+       * m4/stdint.m4, m4/stdio_h.m4, m4/sys_stat_h.m4, m4/time_h.m4:
+       * m4/unistd_h.m4: Merge from gnulib.
+
+2011-09-26  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * configure.in: Initialize HAVE_LIBXML2.
+
+2011-09-26  Glenn Morris  <rgm@gnu.org>
+
+       * make-dist: Add lib/makefile.w32-in.
+
+2011-09-24  Glenn Morris  <rgm@gnu.org>
+
+       * configure.in (CRT_DIR): Fix netbsd/openbsd handling.
+
 2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * .dir-locals.el: Change the debbugs regexp to allow having the
index 29e2029..f5bc0ce 100644 (file)
@@ -339,7 +339,8 @@ GNULIB_MODULES = \
   mktime pthread_sigmask readlink \
   socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
 GNULIB_TOOL_FLAGS = \
- --avoid=threadlib \
+ --avoid=msvc-inval --avoid=msvc-nothrow --avoid=pathmax \
+ --avoid=raise --avoid=threadlib \
  --conditional-dependencies --import --no-changelog --no-vc-files \
  --makefile-name=gnulib.mk
 sync-from-gnulib: $(gnulib_srcdir)
diff --git a/README b/README
index 4897deb..69bc402 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ Copyright (C) 2001-2011  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
-This directory tree holds version 24.0.50 of GNU Emacs, the extensible,
+This directory tree holds version 24.0.90 of GNU Emacs, the extensible,
 customizable, self-documenting real-time display editor.
 
 The file INSTALL in this directory says how to build and install GNU
index 9856f38..7648b2a 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-26  Chong Yidong  <cyd@stupidchicken.com>
+
+       * admin.el (set-version): Fix regexps for config.nt and
+       sed2v2.inp.
+
 2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
 
        Merge from gnulib (Bug#9169).
index 70958ce..673d86c 100644 (file)
@@ -75,11 +75,11 @@ Root must be the root of an Emacs source tree."
                                (submatch (1+ (in "0-9."))))))
   (set-version-in-file root "nt/config.nt" version
                       (rx (and bol "#" (0+ blank) "define" (1+ blank)
-                               "VERSION" (1+ blank)
+                               "VERSION" (1+ blank) "\""
                                (submatch (1+ (in "0-9."))))))
   (set-version-in-file root "msdos/sed2v2.inp" version
                       (rx (and bol "/^#undef " (1+ not-newline)
-                               "define VERSION" (1+ space)
+                               "define VERSION" (1+ space) "\""
                                (submatch (1+ (in "0-9."))))))
   (set-version-in-file root "nt/makefile.w32-in" version
                       (rx (and "VERSION" (0+ space) "=" (0+ space)
index 1af2032..06793b3 100644 (file)
@@ -62,37 +62,26 @@ For each step, check for possible errors.
     number of the old Emacs to __, do the same with the new log and do
     M-x ediff.  Especially check that Info files aren't built.
 
-10.  cd EMACS_ROOT_DIR; cvs tag TAG
+10.  cd EMACS_ROOT_DIR; bzr tag TAG
     TAG is EMACS_PRETEST_XX_YY_ZZZ for a pretest, EMACS_XX_YY for a
     release.
 
-    Shortly before the release, cut the branch with the following commands:
-
-    cvs rtag EMACS_`NUMBER'_BASE
-    cvs rtag -b EMACS_`NUMBER'_RC -r EMACS_`NUMBER'_BASE
-
-    where `NUMBER' is the major version number of the release.  This
-    makes it easier to see what changes have been applied to the
-    branch with:
-
-    cvs diff -r EMACS_`NUMBER'_BASE -r EMACS_`NUMBER'_RC
-
-    or merge changes back to the trunk with "cvs update -j", if
-    necessary.
-
-    After doing this, increase the version number on the trunk as per
-    step 4.
-
-    Also, open a Savannah support request asking for commits to the
-    new branch to be sent to the emacs-diffs mailing list (by default,
-    the list normally only gets commits to the trunk).
+    Shortly before the release, cut the version branch also, and open
+    a Savannah support request asking for commits to the new branch to
+    be sent to the emacs-diffs mailing list (by default, the list
+    normally only gets commits to the trunk).
 
 11. Now you should upload the files to the GNU ftp server.  In order to
     do that, you must be registered as an Emacs maintainer and have your
     GPG key acknowledged by the ftp people.  Mail <ftp-upload@gnu.org>
-    for instructions.  Once you are there, for each file FILE to be
-    released, create a detached GPG binary signature and a clearsigned
-    directive file like this:
+    for instructions.
+
+    You can use the gnupload script to upload each FILE, like this:
+     gnupload --to alpha.gnu.org:emacs/pretest FILE (for a pretest)
+     gnupload --to ftp.gnu.org:emacs FILE           (for a release)
+
+    Instead of using gnupload, for each FILE, create a detached GPG
+    binary signature and a clearsigned directive file like this:
      gpg -b FILE
      echo directory: emacs/pretest > FILE.directive      (for a pretest)
      echo directory: emacs > FILE.directive              (for a release)
index 8483168..adf315b 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for emacs 24.0.50.
+# Generated by GNU Autoconf 2.65 for emacs 24.0.90.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -549,8 +549,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='emacs'
 PACKAGE_TARNAME='emacs'
-PACKAGE_VERSION='24.0.50'
-PACKAGE_STRING='emacs 24.0.50'
+PACKAGE_VERSION='24.0.90'
+PACKAGE_STRING='emacs 24.0.90'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1870,7 +1870,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures emacs 24.0.50 to adapt to many kinds of systems.
+\`configure' configures emacs 24.0.90 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1944,7 +1944,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of emacs 24.0.50:";;
+     short | recursive ) echo "Configuration of emacs 24.0.90:";;
    esac
   cat <<\_ACEOF
 
@@ -2107,7 +2107,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-emacs configure 24.0.50
+emacs configure 24.0.90
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2829,7 +2829,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by emacs $as_me 24.0.50, which was
+It was created by emacs $as_me 24.0.90, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -3662,7 +3662,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='emacs'
- VERSION='24.0.50'
+ VERSION='24.0.90'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8057,14 +8057,9 @@ case $opsys in
     LIB_STANDARD=-lc
     START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o'
     ;;
-  netbsd | openbsd )
-    if test -f $CRT_DIR/crti.o; then
-       LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
-        START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
-    else
-       LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
-       START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
-    fi
+    netbsd | openbsd )
+    LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
+    START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
     ;;
 esac
 
@@ -8163,6 +8158,19 @@ fi                              # crt_files != ""
 
 
 
+case $opsys in
+  netbsd | openbsd )
+    if test -f $CRT_DIR/crti.o; then
+
+        test -f $CRT_DIR/crtn.o || \
+          as_fn_error "Required file not found: crtn.o" "$LINENO" 5
+
+        LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
+        START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
+    fi
+    ;;
+esac
+
 
 
 
@@ -23092,7 +23100,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by emacs $as_me 24.0.50, which was
+This file was extended by emacs $as_me 24.0.90, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23158,7 +23166,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-emacs config.status 24.0.50
+emacs config.status 24.0.90
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
index 63b80e4..d2ffdd5 100644 (file)
@@ -22,7 +22,7 @@ dnl  You should have received a copy of the GNU General Public License
 dnl  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ(2.65)
-AC_INIT(emacs, 24.0.50)
+AC_INIT(emacs, 24.0.90)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 AC_CONFIG_AUX_DIR(build-aux)
@@ -985,6 +985,7 @@ LIB_MATH=-lm
 LIB_STANDARD=
 START_FILES=
 
+dnl NB do not use CRT_DIR unquoted here, since it might not be set yet.
 case $opsys in
   cygwin )
     LIB_MATH=
@@ -1007,14 +1008,10 @@ case $opsys in
     LIB_STANDARD=-lc
     START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o'
     ;;
+  dnl NB this may be adjusted below.
   netbsd | openbsd )
-    if test -f $CRT_DIR/crti.o; then
-       LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
-        START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
-    else
-       LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
-       START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
-    fi
+    LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o'
+    START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o'
     ;;
 esac
 
@@ -1094,6 +1091,19 @@ fi                              # crt_files != ""
 
 AC_SUBST(CRT_DIR)
 
+case $opsys in
+  netbsd | openbsd )
+    if test -f $CRT_DIR/crti.o; then
+
+        test -f $CRT_DIR/crtn.o || \
+          AC_MSG_ERROR([Required file not found: crtn.o])
+
+        LIB_STANDARD='-lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o'
+        START_FILES='pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o'
+    fi
+    ;;
+esac
+
 
 dnl This function definition taken from Gnome 2.0
 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
@@ -2614,6 +2624,7 @@ fi
 AC_SUBST(LIBXSM)
 
 ### Use libxml (-lxml2) if available
+HAVE_LIBXML2=no
 if test "${with_xml2}" != "no"; then
   ### I'm not sure what the version number should be, so I just guessed.
   PKG_CHECK_MODULES(LIBXML2, libxml-2.0 > 2.6.17, HAVE_LIBXML2=yes, HAVE_LIBXML2=no)
index 163eabe..ac913fc 100644 (file)
@@ -1,3 +1,17 @@
+2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
+
+       * windows.texi (Pop Up Window): Defer discussion of window
+       splitting to the Window Choice node.  Add index entries.
+       (Force Same Window): Node deleted.
+       (Displaying Buffers, Window Choice): New nodes.
+
+       * buffers.texi (Select Buffer): Clarify description of
+       buffer-switching commands.  Add xref to Window Display node.
+       Don't repeat confirm-nonexistent-file-or-buffer description from
+       Visiting node.  Remove even-window-heights.
+
+       * frames.texi (Special Buffer Frames): Add xref to Window Choice.
+
 2011-09-18  Chong Yidong  <cyd@stupidchicken.com>
 
        * cmdargs.texi (Icons X): Fix description of Emacs icon.
index c4880af..b82f3fa 100644 (file)
@@ -91,9 +91,9 @@ selected buffer other than the current buffer.
 @var{bufname} @key{RET}}.  This runs the command
 @code{switch-to-buffer} with argument @var{bufname}.  While entering
 the buffer name, you can use the usual minibuffer completion and
-history commands (@pxref{Minibuffer}).  An empty argument to @kbd{C-x
-b} specifies the buffer that was current most recently among those not
-now displayed in any window.
+history commands (@pxref{Minibuffer}).  An empty input specifies the
+buffer that was current most recently among those not now displayed in
+any window.
 
 @cindex minibuffer confirmation
 @cindex confirming in the minibuffer
@@ -107,16 +107,8 @@ catches a common mistake, in which one types @key{RET} before
 realizing that @key{TAB} did not complete far enough to yield the
 desired buffer name (@pxref{Completion}).  Emacs asks for confirmation
 by putting the message @samp{[Confirm]} in the minibuffer; type
-@key{RET} again to confirm and visit the buffer.
-
-@vindex confirm-nonexistent-file-or-buffer
-  The variable @code{confirm-nonexistent-file-or-buffer} controls
-whether Emacs asks for confirmation before visiting a buffer that did
-not previously exist.  The default value, @code{after-completion},
-gives the behavior we have just described.  If the value is
-@code{nil}, Emacs never asks for confirmation; for any other
-non-@code{nil} value, Emacs always asks for confirmation.  This
-variable also affects the @code{find-file} command (@pxref{Visiting}).
+@key{RET} again to confirm and visit the buffer.  @xref{Visiting}, for
+information about modifying this behavior.
 
   One reason to create a new buffer is to use it for making temporary
 notes.  If you try to save it, Emacs asks for the file name to use.
@@ -136,36 +128,26 @@ of most recent selection in the current frame), while @kbd{C-x @key{LEFT}}
 
 @kindex C-x 4 b
 @findex switch-to-buffer-other-window
-@vindex even-window-heights
   To select a buffer in a window other than the current one, type
 @kbd{C-x 4 b} (@code{switch-to-buffer-other-window}).  This prompts
 for a buffer name using the minibuffer, displays that buffer in
-another window, and selects that window.  By default, if displaying
-the buffer causes two vertically adjacent windows to be displayed, the
-heights of those windows are evened out; to countermand that and
-preserve the window configuration, set the variable
-@code{even-window-heights} to @code{nil}.
+another window, and selects that window.
 
 @kindex C-x 5 b
 @findex switch-to-buffer-other-frame
   Similarly, @kbd{C-x 5 b} (@code{switch-to-buffer-other-frame})
 prompts for a buffer name, displays that buffer in another frame, and
-selects that frame.
+selects that frame.  If the buffer is already being shown in a window
+on another frame, Emacs selects that window and frame instead of
+creating a new frame.
+
+  @xref{Displaying Buffers}, for how the @kbd{C-x 4 b} and @kbd{C-x 5
+b} commands get the window and/or frame to display in.
 
   In addition, @kbd{C-x C-f}, and any other command for visiting a
 file, can also be used to switch to an existing file-visiting buffer.
 @xref{Visiting}.
 
-@vindex display-buffer-reuse-frames
-  You can control how certain buffers are handled by these commands by
-customizing the variables @code{special-display-buffer-names},
-@code{special-display-regexps}, @code{same-window-buffer-names}, and
-@code{same-window-regexps}.  See @ref{Force Same Window}, and
-@ref{Special Buffer Frames}, for more about these variables.  In
-addition, if the value of @code{display-buffer-reuse-frames} is
-non-@code{nil}, and the buffer you want to switch to is already
-displayed in some frame, Emacs will just raise that frame.
-
 @findex goto-line
   @kbd{C-u M-g M-g}, that is @code{goto-line} with a plain prefix
 argument, reads a number @var{n} using the minibuffer, selects the
index 2ba4af7..bb675b6 100644 (file)
@@ -488,9 +488,8 @@ Multiple Windows
 * Split Window::        New windows are made by splitting existing windows.
 * Other Window::        Moving to another window or doing something to it.
 * Pop Up Window::       Finding a file or buffer in another window.
-* Force Same Window::   Forcing certain buffers to appear in the selected
-                          window rather than in another window.
 * Change Window::       Deleting windows and changing their sizes.
+* Displaying Buffers::  How Emacs picks a window for displaying a buffer.
 * Window Convenience::  Convenience functions for window handling.
 
 Frames and Graphical Displays
index ffa8605..9df86fd 100644 (file)
@@ -1,4 +1,4 @@
 @c It would be nicer to generate this using configure and @version@.
 @c However, that would mean emacsver.texi would always be newer
 @c then the info files in release tarfiles.
-@set EMACSVER 24.0.50
+@set EMACSVER 24.0.90
index 8ca598c..6192525 100644 (file)
@@ -850,11 +850,12 @@ each others' edits if they are not careful.
 
 @vindex special-display-buffer-names
   You can make certain chosen buffers, which Emacs normally displays
-in ``another window,'' appear in special frames of their own.  To do
-this, set the variable @code{special-display-buffer-names} to a list
-of buffer names; any buffer whose name is in that list automatically
-gets a special frame, when an Emacs command wants to display it ``in
-another window.''
+in ``some other window'' (@pxref{Displaying Buffers}), appear in
+special frames of their own.  To do this, set the variable
+@code{special-display-buffer-names} to a list of buffer names; any
+buffer whose name is in that list automatically gets a special frame.
+@xref{Window Choice}, for how this fits in with the other ways for
+Emacs to choose a window to display in.
 
   For example, if you set the variable this way,
 
@@ -906,13 +907,6 @@ where @var{function} is a symbol.  Then the frame is constructed by
 calling @var{function}; its first argument is the buffer, and its
 remaining arguments are @var{args}.
 
-   An analogous feature lets you specify buffers which should be
-displayed in the selected window.  @xref{Force Same Window}.  The
-same-window feature takes precedence over the special-frame feature;
-therefore, if you add a buffer name to
-@code{special-display-buffer-names} and it has no effect, check to see
-whether that feature is also in use for the same buffer name.
-
 @node Frame Parameters
 @section Setting Frame Parameters
 @cindex Auto-Raise mode
index 6aa8a06..dc92e4a 100644 (file)
@@ -18,9 +18,8 @@ one frame.
 * Split Window::        New windows are made by splitting existing windows.
 * Other Window::        Moving to another window or doing something to it.
 * Pop Up Window::       Finding a file or buffer in another window.
-* Force Same Window::   Forcing certain buffers to appear in the selected
-                          window rather than in another window.
 * Change Window::       Deleting windows and changing their sizes.
+* Displaying Buffers::  How Emacs picks a window for displaying a buffer.
 * Window Convenience::  Convenience functions for window handling.
 @end menu
 
@@ -191,84 +190,47 @@ feature is off by default.
 
 @cindex selecting buffers in other windows
 @kindex C-x 4
-  @kbd{C-x 4} is a prefix key for commands that select another window
-(splitting the window if there is only one) and select a buffer in that
-window.  Different @kbd{C-x 4} commands have different ways of finding the
-buffer to select.
+  @kbd{C-x 4} is a prefix key for a variety of commands that switch to
+a buffer in a different window---either another existing window, or a
+new window created by splitting the selected window.  @xref{Window
+Choice}, for how Emacs picks or creates the window to use.
 
 @table @kbd
+@findex switch-to-buffer-other-window
 @item C-x 4 b @var{bufname} @key{RET}
-Select buffer @var{bufname} in another window.  This runs
-@code{switch-to-buffer-other-window}.
+Select buffer @var{bufname} in another window
+(@code{switch-to-buffer-other-window}).
+
+@findex display-buffer
 @item C-x 4 C-o @var{bufname} @key{RET}
-Display buffer @var{bufname} in another window, but
-don't select that buffer or that window.  This runs
-@code{display-buffer}.
+Display buffer @var{bufname} in some window, without trying to select
+it (@code{display-buffer}).  @xref{Displaying Buffers}, for details
+about how the window is chosen.
+
+@findex find-file-other-window
 @item C-x 4 f @var{filename} @key{RET}
-Visit file @var{filename} and select its buffer in another window.  This
-runs @code{find-file-other-window}.  @xref{Visiting}.
+Visit file @var{filename} and select its buffer in another window
+(@code{find-file-other-window}).  @xref{Visiting}.
+
+@findex dired-other-window
 @item C-x 4 d @var{directory} @key{RET}
-Select a Dired buffer for directory @var{directory} in another window.
-This runs @code{dired-other-window}.  @xref{Dired}.
+Select a Dired buffer for directory @var{directory} in another window
+(@code{dired-other-window}).  @xref{Dired}.
+
+@findex mail-other-window
 @item C-x 4 m
-Start composing a mail message in another window.  This runs
-@code{mail-other-window}; its same-window analogue is @kbd{C-x m}
-(@pxref{Sending Mail}).
+Start composing a mail message, similar to @kbd{C-x m} (@pxref{Sending
+Mail}), but in another window (@code{mail-other-window}).
+
+@findex find-tag-other-window
 @item C-x 4 .
-Find a tag in the current tags table, in another window.  This runs
-@code{find-tag-other-window}, the multiple-window variant of @kbd{M-.}
-(@pxref{Tags}).
+Find a tag in the current tags table, similar to @kbd{M-.}
+(@pxref{Tags}), but in another window (@code{find-tag-other-window}).
 @item C-x 4 r @var{filename} @key{RET}
 Visit file @var{filename} read-only, and select its buffer in another
-window.  This runs @code{find-file-read-only-other-window}.
-@xref{Visiting}.
+window (@code{find-file-read-only-other-window}).  @xref{Visiting}.
 @end table
 
-@vindex split-height-threshold
-@vindex split-width-threshold
-  By default, these commands split the window vertically when there is
-only one.  You can customize the variables @code{split-height-threshold}
-and @code{split-width-threshold} to split the window horizontally
-instead.
-
-
-@node Force Same Window
-@section Forcing Display in the Same Window
-
-  Certain Emacs commands switch to a specific buffer with special
-contents.  For example, @kbd{M-x shell} switches to a buffer named
-@samp{*shell*}.  By convention, all these commands are written to pop up
-the buffer in a separate window.  But you can specify that certain of
-these buffers should appear in the selected window.
-
-@vindex same-window-buffer-names
-  If you add a buffer name to the list @code{same-window-buffer-names},
-the effect is that such commands display that particular buffer by
-switching to it in the selected window.  For example, if you add the
-element @code{"*grep*"} to the list, the @code{grep} command will
-display its output buffer in the selected window.
-
-  The default value of @code{same-window-buffer-names} is not
-@code{nil}: it specifies buffer names @samp{*info*}, @samp{*mail*} and
-@samp{*shell*} (as well as others used by more obscure Emacs packages).
-This is why @kbd{M-x shell} normally switches to the @samp{*shell*}
-buffer in the selected window.  If you delete this element from the
-value of @code{same-window-buffer-names}, the behavior of @kbd{M-x
-shell} will change---it will pop up the buffer in another window
-instead.
-
-@vindex same-window-regexps
-  You can specify these buffers more generally with the variable
-@code{same-window-regexps}.  Set it to a list of regular expressions;
-then any buffer whose name matches one of those regular expressions is
-displayed by switching to it in the selected window.  (Once again, this
-applies only to buffers that normally get displayed for you in a
-separate window.)  The default value of this variable specifies Telnet
-and rlogin buffers.
-
-  An analogous feature lets you specify buffers which should be
-displayed in their own individual frames.  @xref{Special Buffer Frames}.
-
 @node Change Window
 @section Deleting and Rearranging Windows
 
@@ -356,6 +318,113 @@ heights of all the windows in the selected frame.
   Mouse clicks on the mode line provide another way to change window
 heights and to delete windows.  @xref{Mode Line Mouse}.
 
+@node Displaying Buffers
+@section Displaying a Buffer in a Window
+
+  It is a common Emacs operation to display or ``pop up'' some buffer
+in response to a user command.  There are several different ways by
+which commands do this.
+
+  Many commands, like @kbd{C-x C-f} (@code{find-file}), display the
+buffer by ``taking over'' the selected window, expecting that the
+user's attention will be diverted to that buffer.  These commands
+usually work by calling @code{switch-to-buffer} internally
+(@pxref{Select Buffer}).
+
+@findex display-buffer
+  Some commands try to display ``intelligently'', trying not to take
+over the selected window, e.g. by splitting the selected window and
+displaying the desired buffer in the child window.  Such commands,
+which include the various help commands (@pxref{Help}), work by
+calling @code{display-buffer} internally.  @xref{Window Choice}, for
+details.
+
+  Other commands do the same as @code{display-buffer}, and
+additionally select the displaying window so that you can begin
+editing its buffer.  The command @kbd{C-x `} (@code{next-error}) is
+one example (@pxref{Compilation Mode}).  Such commands work by calling
+@code{pop-to-buffer} internally.  @xref{Displaying Buffers,,Displaying
+Buffers in Windows, elisp, The Emacs Lisp Reference Manual}.
+
+  Commands with names ending in @code{-other-window} behave like
+@code{display-buffer}, except that they never display in the selected
+window.  Several of these commands are bound in the @kbd{C-x 4} prefix
+key (@pxref{Pop Up Window}).
+
+  Commands with names ending in @code{-other-frame} behave like
+@code{display-buffer}, except that they (i) never display in the
+selected window and (ii) prefer to create a new frame to display the
+desired buffer instead of splitting a window---as though the variable
+@code{pop-up-frames} is set to @code{t} (@pxref{Window Choice}).
+Several of these commands are bound in the @kbd{C-x 5} prefix key.
+
+@menu
+* Window Choice::   How @code{display-buffer} works.
+@end menu
+
+@node Window Choice
+@subsection How @code{display-buffer} works
+@findex display-buffer
+
+The @code{display-buffer} command (as well as commands that call it
+internally) chooses a window to display using the following steps:
+
+@itemize
+@vindex same-window-buffer-names
+@vindex same-window-regexps
+@item
+First, check if the buffer should be displayed in the selected window
+regardless of other considerations.  You can tell Emacs to do this by
+adding the desired buffer's name to the list
+@code{same-window-buffer-names}, or adding a matching regular
+expression to the list @code{same-window-regexps}.  By default, these
+variables are @code{nil}, so this step is skipped.
+
+@vindex display-buffer-reuse-frames
+@item
+Otherwise, if the buffer is already displayed in an existing window,
+``reuse'' that window.  Normally, only windows on the selected frame
+are considered, but windows on other frames are also reusable if you
+change @code{display-buffer-reuse-frames} to @code{t}, or if you
+change @code{pop-up-frames} (see below) to @code{t}.
+
+@item
+Otherwise, if you specified that the buffer should be displayed in a
+special frame by customizing @code{special-display-buffer-names} or
+@code{special-display-regexps}, do so.  @xref{Special Buffer Frames}.
+
+@vindex pop-up-frames
+@item
+Otherwise, optionally create a new frame and display the buffer there.
+By default, this step is skipped.  To enable it, change the variable
+@code{pop-up-frames} to a non-@code{nil} value.  The special value
+@code{graphic-only} means to do this only on graphical displays.
+
+@item
+Otherwise, try to create a new window by splitting the selected
+window, and display the buffer in that new window.
+
+@vindex split-height-threshold
+@vindex split-width-threshold
+The split can be either vertical or horizontal, depending on the
+variables @code{split-height-threshold} and
+@code{split-width-threshold}.  These variables should have integer
+values.  If @code{split-height-threshold} is smaller than the selected
+window's height, the split puts the new window below.  Otherwise, if
+@code{split-width-threshold} is smaller than the window's width, the
+split puts the new window on the right.  If neither condition holds,
+Emacs tries to split so that the new window is below---but only if the
+window was not split before (to avoid excessive splitting).
+
+@item
+Otherwise, display the buffer in an existing window on the selected
+frame.
+
+@item
+If all the above methods fail for whatever reason, create a new frame
+and display the buffer there.
+@end itemize
+
 @node Window Convenience
 @section Window Handling Convenience Features and Customization
 
index 09958f6..423e052 100644 (file)
@@ -1,3 +1,74 @@
+2011-09-25  Martin Rudalics  <rudalics@gmx.at>
+
+       * windows.texi (Windows and Frames, Display Action Functions)
+       (Switching Buffers): Fix some typos.
+       (Buffers and Windows): Remove reference to window-auto-delete.
+       Reword description of replace-buffer-in-windows.
+       (Window History): Fix some typos and refer to frame local buffer
+       list.
+       (Quitting Windows): New node.
+       (Window Configurations): Add descriptions of window-state-get
+       and window-state-put.
+       (Window Parameters): Describe variable ignore-window-parameters.
+       Sketch some window parameters currently in use.
+       * elisp.texi (Top): Update node listing.
+
+2011-09-25  Chong Yidong  <cyd@stupidchicken.com>
+
+       * windows.texi (Display Action Functions)
+       (Choosing Window Options): New nodes.
+
+2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
+
+       * windows.texi (Window History): New node.  Move text here from
+       Buffers and Windows.
+       (Switching Buffers): Rename from Displaying Buffers, since we
+       don't document display-buffer here; callers changed.  Document
+       FORCE-SAME-WINDOW arg to switch-to-buffer and
+       switch-to-buffer-other-frame.  Delete duplicate
+       replace-buffer-in-windows doc.
+       (Choosing Window): Document display actions.
+
+2011-09-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * display.texi (Forcing Redisplay): Update the description of
+       redisplay-dont-pause due to change in the default value.
+
+2011-09-23  Martin Rudalics  <rudalics@gmx.at>
+
+       * frames.texi (Frames and Windows): Move section and rename to
+       Windows and Frames in windows.texi.
+       * windows.texi (Windows): Restructure.
+       (Basic Windows): Rewrite.  Explain live and internal windows and
+       normalization functions.
+       (Windows and Frames): Move section here from frames.texi.
+       Describe subwindows, window combinations, window tree, and
+       corresponding functions including window-list here.
+       (Window Sizes): Rename section from Size of Window and move it
+       up in chapter.  Describe total and body sizes and the
+       corresponding functions.  Explain new semantics of
+       window-min-height/-width.
+       (Resizing Windows): Move section up in chapter.  Describe new
+       resize functions.
+       (Splitting Windows): Describe new behavior of split-window,
+       split-window-above-each-other and split-window-side-by-side.
+       Provide examples.  Describe window-nest and window-splits
+       options.
+       (Deleting Windows): Minor rewrite.
+       (Selecting Windows): Minor rewrite.  Describe
+       frame-selected-window and set-frame-selected-window here.
+       (Cyclic Window Ordering): Minor rewrite.  Describe
+       window-list-1.
+       (Buffers and Windows): Rewrite.  Explain a window's previous and
+       next buffers and the corresponding functions.
+       (Window Tree): Merge into Windows and Frames section.
+       * elisp.texi (Top): Update node listings for frames and windows
+       sections.
+
+2011-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * display.texi (Face Functions): `face-list' returns faces (bug#9564).
+
 2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * errors.texi (Standard Errors): Remove apparent placeholder text
index 0f9de74..ce1a8b0 100644 (file)
@@ -124,7 +124,7 @@ selected window.  This is to prevent confusion: it ensures that the
 buffer that the cursor is in, when Emacs reads a command, is the
 buffer to which that command applies (@pxref{Command Loop}).  Thus,
 you should not use @code{set-buffer} to switch visibly to a different
-buffer; for that, use the functions described in @ref{Displaying
+buffer; for that, use the functions described in @ref{Switching
 Buffers}.
 
   When writing a Lisp function, do @emph{not} rely on this behavior of
@@ -775,13 +775,14 @@ been displayed in a window.  Several functions, notably
 @code{other-buffer}, use this ordering.  A buffer list displayed for the
 user also follows this order.
 
-  Creating a buffer adds it to the end of the buffer list, and killing a
-buffer removes it from that list.  A buffer moves to the front of this
-list whenever it is chosen for display in a window (@pxref{Displaying
-Buffers}) or a window displaying it is selected (@pxref{Selecting
-Windows}).  A buffer moves to the end of the list when it is buried (see
-@code{bury-buffer}, below).  There are no functions available to the
-Lisp programmer which directly manipulate the buffer list.
+  Creating a buffer adds it to the end of the buffer list, and killing
+a buffer removes it from that list.  A buffer moves to the front of
+this list whenever it is chosen for display in a window
+(@pxref{Switching Buffers}) or a window displaying it is selected
+(@pxref{Selecting Windows}).  A buffer moves to the end of the list
+when it is buried (see @code{bury-buffer}, below).  There are no
+functions available to the Lisp programmer which directly manipulate
+the buffer list.
 
   In addition to the fundamental buffer list just described, Emacs
 maintains a local buffer list for each frame, in which the buffers that
@@ -888,24 +889,24 @@ as well as the fundamental buffer list; therefore, the buffer that you
 bury will come last in the value of @code{(buffer-list @var{frame})} and
 in the value of @code{(buffer-list)}.
 
-If @var{buffer-or-name} is @code{nil} or omitted, this means to bury the
-current buffer.  In addition, if the buffer is displayed in the selected
-window, this switches to some other buffer (obtained using
-@code{other-buffer}) in the selected window.  @xref{Displaying Buffers}.
-But if the selected window is dedicated to its buffer, it deletes that
-window if there are other windows left on its frame.  Otherwise, if the
-selected window is the only window on its frame, it iconifies that
-frame.  If @var{buffer-or-name} is displayed in some other window, it
-remains displayed there.
+If @var{buffer-or-name} is @code{nil} or omitted, this means to bury
+the current buffer.  In addition, if the buffer is displayed in the
+selected window, this switches to some other buffer (obtained using
+@code{other-buffer}) in the selected window.  @xref{Switching
+Buffers}.  But if the selected window is dedicated to its buffer, it
+deletes that window if there are other windows left on its frame.
+Otherwise, if the selected window is the only window on its frame, it
+iconifies that frame.  If @var{buffer-or-name} is displayed in some
+other window, it remains displayed there.
 
 To replace a buffer in all the windows that display it, use
 @code{replace-buffer-in-windows}.  @xref{Buffers and Windows}.
 @end deffn
 
 @deffn Command unbury-buffer
-This command switches to the last buffer in the local buffer list of the
-selected frame.  More precisely, it calls the function
-@code{switch-to-buffer} (@pxref{Displaying Buffers}), to display the
+This command switches to the last buffer in the local buffer list of
+the selected frame.  More precisely, it calls the function
+@code{switch-to-buffer} (@pxref{Switching Buffers}), to display the
 buffer returned by @code{last-buffer}, see above, in the selected
 window.
 @end deffn
index 6829131..724c463 100644 (file)
@@ -118,15 +118,12 @@ redisplay of all windows.
 to put more work on the queue to be done by redisplay whenever there
 is a chance.
 
-  Emacs redisplay normally stops if input arrives, and does not happen
-at all if input is available before it starts.  Most of the time, this
-is exactly what you want.  However, you can prevent preemption by
-binding @code{redisplay-dont-pause} to a non-@code{nil} value.
-
 @defvar redisplay-dont-pause
-If this variable is non-@code{nil}, pending input does not
-prevent or halt redisplay; redisplay occurs, and finishes,
-regardless of whether input is available.
+If this variable is non-@code{nil}, pending input does not prevent or
+halt redisplay; redisplay occurs, and finishes, regardless of whether
+input is available.  If it is @code{nil}, Emacs redisplay stops if
+input arrives, and does not happen at all if input is available before
+it starts.  The default is @code{t}.
 @end defvar
 
 @defvar redisplay-preemption-period
@@ -2598,7 +2595,7 @@ attributes @code{nil}.  It does nothing if there is already a face named
 @end defun
 
 @defun face-list
-This function returns a list of all defined face names.
+This function returns a list of all defined faces.
 @end defun
 
 @defun copy-face old-face new-name &optional frame new-frame
index bcf6d33..8350c9b 100644 (file)
@@ -21,7 +21,7 @@
 @end ifset
 
 @c per rms and peterb, use 10pt fonts for the main text, mostly to
-@c save on paper cost.  
+@c save on paper cost.
 @c Do this inside @tex for now, so current makeinfo does not complain.
 @tex
 @ifset smallbook
@@ -927,26 +927,30 @@ Buffers
 Windows
 
 * Basic Windows::           Basic information on using windows.
+* Windows and Frames::      Relating windows to the frame they appear on.
+* Window Sizes::            Accessing a window's size.
+* Resizing Windows::        Changing the sizes of windows.
 * Splitting Windows::       Splitting one window into two windows.
 * Deleting Windows::        Deleting a window gives its space to other windows.
 * Selecting Windows::       The selected window is the one that you edit in.
 * Cyclic Window Ordering::  Moving around the existing windows.
 * Buffers and Windows::     Each window displays the contents of a buffer.
-* Displaying Buffers::      Higher-level functions for displaying a buffer
-                              and choosing a window for it.
+* Switching Buffers::       Higher-level functions for switching to a buffer.
 * Choosing Window::         How to choose a window for displaying a buffer.
+* Display Action Functions:: Subroutines for @code{display-buffer}.
+* Choosing Window Options:: Extra options affecting how buffers are displayed.
+* Window History::          Each window remembers the buffers displayed in it.
 * Dedicated Windows::       How to avoid displaying another buffer in
-                              a specific window.          
+                              a specific window.
+* Quitting Windows::        How to restore the state prior to displaying a
+                              buffer.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
                               on-screen in a window.
 * Textual Scrolling::       Moving text up and down through the window.
 * Vertical Scrolling::      Moving the contents up and down on the window.
 * Horizontal Scrolling::    Moving the contents sideways on the window.
-* Size of Window::          Accessing the size of a window.
-* Resizing Windows::        Changing the size of a window.
 * Coordinates and Windows:: Converting coordinates to windows.
-* Window Tree::             The layout and sizes of all windows in a frame.
 * Window Configurations::   Saving and restoring the state of the screen.
 * Window Parameters::       Associating additional information with windows.
 * Window Hooks::            Hooks for scrolling, window size changes,
@@ -962,8 +966,6 @@ Frames
 * Frame Titles::            Automatic updating of frame titles.
 * Deleting Frames::         Frames last until explicitly deleted.
 * Finding All Frames::      How to examine all existing frames.
-* Frames and Windows::      A frame contains windows;
-                              display of text always works through windows.
 * Minibuffers and Frames::  How a frame finds the minibuffer to use.
 * Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
index bd904bf..71b612c 100644 (file)
@@ -103,7 +103,7 @@ function is basically equivalent to:
 @end smallexample
 
 @noindent
-(See @code{switch-to-buffer} in @ref{Displaying Buffers}.)
+(See @code{switch-to-buffer} in @ref{Switching Buffers}.)
 
 If @var{wildcards} is non-@code{nil}, which is always true in an
 interactive call, then @code{find-file} expands wildcard characters in
@@ -187,8 +187,9 @@ various files.
 
 @deffn Command find-file-other-window filename &optional wildcards
 This command selects a buffer visiting the file @var{filename}, but
-does so in a window other than the selected window.  It may use another
-existing window or split a window; see @ref{Displaying Buffers}.
+does so in a window other than the selected window.  It may use
+another existing window or split a window; see @ref{Switching
+Buffers}.
 
 When this command is called interactively, it prompts for
 @var{filename}.
index d619b92..d9399e9 100644 (file)
@@ -86,8 +86,6 @@ is the same as for @code{framep} above.
 * Frame Titles::                Automatic updating of frame titles.
 * Deleting Frames::             Frames last until explicitly deleted.
 * Finding All Frames::          How to examine all existing frames.
-* Frames and Windows::          A frame contains windows;
-                                  display of text always works through windows.
 * Minibuffers and Frames::      How a frame finds the minibuffer to use.
 * Input Focus::                 Specifying the selected frame.
 * Visibility of Frames::        Frames may be visible or invisible, or icons.
@@ -1309,53 +1307,6 @@ direction.
   See also @code{next-window} and @code{previous-window}, in @ref{Cyclic
 Window Ordering}.
 
-@node Frames and Windows
-@section Frames and Windows
-
-  Each window is part of one and only one frame; you can get that frame
-with @code{window-frame}.
-
-@defun window-frame window
-This function returns the frame that @var{window} is on.
-@end defun
-
-  All the non-minibuffer windows in a frame are arranged in a cyclic
-order.  The order runs from the frame's top window, which is at the
-upper left corner, down and to the right, until it reaches the window at
-the lower right corner (always the minibuffer window, if the frame has
-one), and then it moves back to the top.  @xref{Cyclic Window Ordering}.
-
-@defun frame-first-window &optional frame
-This returns the topmost, leftmost window of frame @var{frame}.
-If omitted or @code{nil}, @var{frame} defaults to the selected frame.
-@end defun
-
-At any time, exactly one window on any frame is @dfn{selected within the
-frame}.  The significance of this designation is that selecting the
-frame also selects this window.  Conversely, selecting a window for
-Emacs with @code{select-window} also makes that window selected within
-its frame.  @xref{Selecting Windows}.
-
-@defun frame-selected-window  &optional frame
-This function returns the window on @var{frame} that is selected
-within @var{frame}.  If omitted or @code{nil}, @var{frame} defaults to
-the selected frame.
-@end defun
-
-@defun set-frame-selected-window frame window &optional norecord
-This sets the selected window of frame @var{frame} to @var{window}.
-If @var{frame} is @code{nil}, it operates on the selected frame.  If
-@var{frame} is the selected frame, this makes @var{window} the
-selected window.  This function returns @var{window}.
-
-Optional argument @var{norecord} non-@code{nil} means to neither change
-the order of recently selected windows nor the buffer list (@pxref{The
-Buffer List}).
-@end defun
-
-  Another function that (usually) returns one of the windows in a given
-frame is @code{minibuffer-window}.  @xref{Definition of minibuffer-window}.
-
 @node Minibuffers and Frames
 @section Minibuffers and Frames
 
index 1275628..0fa23d6 100644 (file)
@@ -953,11 +953,13 @@ Windows
 * Selecting Windows::       The selected window is the one that you edit in.
 * Cyclic Window Ordering::  Moving around the existing windows.
 * Buffers and Windows::     Each window displays the contents of a buffer.
-* Displaying Buffers::      Higher-level functions for displaying a buffer
-                              and choosing a window for it.
+* Switching Buffers::       Higher-level functions for switching to a buffer.
 * Choosing Window::         How to choose a window for displaying a buffer.
+* Display Action Functions:: Subroutines for @code{display-buffer}.
+* Choosing Window Options:: Extra options affecting how buffers are displayed.
+* Window History::          Each window remembers the buffers displayed in it.
 * Dedicated Windows::       How to avoid displaying another buffer in
-                              a specific window.          
+                              a specific window.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
                               on-screen in a window.
index 3d849fa..2469a74 100644 (file)
@@ -952,11 +952,13 @@ Windows
 * Selecting Windows::       The selected window is the one that you edit in.
 * Cyclic Window Ordering::  Moving around the existing windows.
 * Buffers and Windows::     Each window displays the contents of a buffer.
-* Displaying Buffers::      Higher-level functions for displaying a buffer
-                              and choosing a window for it.
+* Switching Buffers::       Higher-level functions for switching to a buffer.
 * Choosing Window::         How to choose a window for displaying a buffer.
+* Display Action Functions:: Subroutines for @code{display-buffer}.
+* Choosing Window Options:: Extra options affecting how buffers are displayed.
+* Window History::          Each window remembers the buffers displayed in it.
 * Dedicated Windows::       How to avoid displaying another buffer in
-                              a specific window.          
+                              a specific window.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
                               on-screen in a window.
index 2cf4a81..96d489d 100644 (file)
@@ -7,33 +7,37 @@
 @node Windows, Frames, Buffers, Top
 @chapter Windows
 
-  This chapter describes most of the functions and variables related to
-Emacs windows.  @xref{Frames and Windows}, for how windows relate to
-frames.  @xref{Display}, for information on how text is displayed in
-windows.
+This chapter describes the functions and variables related to Emacs
+windows.  @xref{Frames}, for how windows are assigned an area of screen
+available for Emacs to use.  @xref{Display}, for information on how text
+is displayed in windows.
 
 @menu
 * Basic Windows::           Basic information on using windows.
+* Windows and Frames::      Relating windows to the frame they appear on.
+* Window Sizes::            Accessing a window's size.
+* Resizing Windows::        Changing the sizes of windows.
 * Splitting Windows::       Splitting one window into two windows.
 * Deleting Windows::        Deleting a window gives its space to other windows.
 * Selecting Windows::       The selected window is the one that you edit in.
 * Cyclic Window Ordering::  Moving around the existing windows.
 * Buffers and Windows::     Each window displays the contents of a buffer.
-* Displaying Buffers::      Higher-level functions for displaying a buffer
-                              and choosing a window for it.
+* Switching Buffers::       Higher-level functions for switching to a buffer.
 * Choosing Window::         How to choose a window for displaying a buffer.
+* Display Action Functions:: Subroutines for @code{display-buffer}.
+* Choosing Window Options:: Extra options affecting how buffers are displayed.
+* Window History::          Each window remembers the buffers displayed in it.
 * Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.
+* Quitting Windows::        How to restore the state prior to displaying a
+                              buffer.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
                               on-screen in a window.
 * Textual Scrolling::       Moving text up and down through the window.
 * Vertical Scrolling::      Moving the contents up and down on the window.
 * Horizontal Scrolling::    Moving the contents sideways on the window.
-* Size of Window::          Accessing the size of a window.
-* Resizing Windows::        Changing the size of a window.
 * Coordinates and Windows:: Converting coordinates to windows.
-* Window Tree::             The layout and sizes of all windows in a frame.
 * Window Configurations::   Saving and restoring the state of the screen.
 * Window Parameters::       Associating additional information with windows.
 * Window Hooks::            Hooks for scrolling, window size changes,
@@ -41,54 +45,35 @@ windows.
                               or window configuration changes.
 @end menu
 
+
 @node Basic Windows
 @section Basic Concepts of Emacs Windows
 @cindex window
-@cindex selected window
-
-  A @dfn{window} in Emacs is the physical area of the screen in which a
-buffer is displayed.  The term is also used to refer to a Lisp object that
-represents that screen area in Emacs Lisp.  It should be
-clear from the context which is meant.
-
-  Emacs groups windows into frames; see @ref{Frames}.  A frame
-represents an area of screen available for Emacs to use.  Each frame
-always contains at least one window, but you can subdivide it
-vertically or horizontally into multiple, nonoverlapping Emacs
-windows.
 
-  In each frame, at any time, one and only one window is designated as
-@dfn{selected within the frame}.  The frame's cursor appears in that
-window, but the other windows have ``non-selected'' cursors, normally
-less visible.  (@xref{Cursor Parameters}, for customizing this.)  At
-any time, one frame is the selected frame; and the window selected
-within that frame is @dfn{the selected window}.  The selected window's
-buffer is usually the current buffer (except when @code{set-buffer} has
-been used); see @ref{Current Buffer}.
-
-  For practical purposes, a window exists only while it is displayed in
-a frame.  Once removed from the frame, the window is effectively deleted
-and should not be used, @emph{even though there may still be references
-to it} from other Lisp objects; see @ref{Deleting Windows}.  Restoring a
-saved window configuration is the only way for a window no longer on the
-screen to come back to life; see @ref{Window Configurations}.
+A @dfn{window} in Emacs is the physical area of the screen in which a
+buffer is displayed, see @ref{Buffers}.  The term is also used to refer
+to a Lisp object that represents that screen area in Emacs Lisp.  It
+should be clear from the context which is meant.
 
 @cindex multiple windows
-  Users create multiple windows so they can look at several buffers at
-once.  Lisp libraries use multiple windows for a variety of reasons, but
-most often to display related information.  In Rmail, for example, you
-can move through a summary buffer in one window while the other window
-shows messages one at a time as they are reached.
+  Emacs groups windows into frames; see @ref{Frames}.  Each frame always
+contains at least one window, but you can subdivide it into multiple,
+non-overlapping Emacs windows.  Users create multiple windows so they
+can look at several buffers at once.  Lisp libraries use multiple
+windows for a variety of reasons, but most often to display related
+information.  In Rmail, for example, you can move through a summary
+buffer in one window while the other window shows messages one at a time
+as they are reached.
 
+@cindex terminal screen
+@cindex screen of terminal
   The meaning of ``window'' in Emacs is similar to what it means in the
 context of general-purpose window systems such as X, but not identical.
 The X Window System places X windows on the screen; Emacs uses one or
-more X windows as frames, and subdivides them into
-Emacs windows.  When you use Emacs on a character-only terminal, Emacs
-treats the whole terminal screen as one frame.
+more X windows as frames, and subdivides them into Emacs windows.  When
+you use Emacs on a character-only terminal, Emacs treats the whole
+terminal screen as one frame.
 
-@cindex terminal screen
-@cindex screen of terminal
 @cindex tiled windows
   Most window systems support arbitrarily located overlapping windows.
 In contrast, Emacs windows are @dfn{tiled}; they never overlap, and
@@ -97,133 +82,1481 @@ which Emacs creates new windows (@pxref{Splitting Windows}) and resizes
 them (@pxref{Resizing Windows}), not all conceivable tilings of windows
 on an Emacs frame are actually possible.
 
+  For practical purposes, a window exists only while it is displayed in
+a frame.  Once removed from the frame, the window is effectively deleted
+and should not be used, even though the Lisp object representing it
+might be still referenced from other Lisp objects; see @ref{Deleting
+Windows}.  Restoring a saved window configuration is the only way for a
+window no longer on the screen to come back to life; see @ref{Window
+Configurations}.
+
 @defun windowp object
-This function returns @code{t} if @var{object} is a window.
+This function returns @code{t} if @var{object} is a window, @code{nil}
+otherwise.  It can return @code{t} if @var{object} denotes a window that
+has been deleted.
+@end defun
+
+@cindex live windows
+@cindex internal windows
+   For historical reasons a window is considered @dfn{live} if and only
+if it currently displays a buffer; see @ref{Buffers and Windows}.  In
+order to show multiple windows within one and the same frame, Emacs
+organizes them in form of a tree called window tree; see @ref{Windows
+and Frames}.  The internal nodes of a window tree are called internal
+windows and are not considered live.  The leaf nodes of a window tree
+constitute the windows displaying buffers and only they will be called
+live here.
+
+@defun window-live-p object
+This function returns @code{t} if @var{object} is a live window and
+@code{nil} otherwise.  A live window is a window that displays a buffer.
+@end defun
+
+@defun window-any-p object
+This function returns @code{t} if @var{object} denotes a live or an
+internal window and @code{nil} otherwise.  In particular, this function
+returns @code{nil} if @var{object} is a window that has been
+deleted.
+@end defun
+
+@cindex selected window
+In each frame, at any time, one and only one window is designated as
+@dfn{selected within the frame}.  Also, at any time, one frame is the
+selected frame (@pxref{Input Focus}).  The window selected within the
+selected frame is the @dfn{selected window}.
+
+   The selected window is always a live window.  Its buffer is usually
+the current buffer (except when @code{set-buffer} has been used); see
+@ref{Current Buffer}.
+
+@defun selected-window
+This function returns the selected window.  This is the window in which
+the cursor for selected windows (@pxref{Cursor Parameters}) appears and
+to which many commands apply.
+@end defun
+
+The window handling functions can be roughly grouped into functions
+operating on live windows only and functions that accept any window as
+argument.  Many of these functions accept as argument the value
+@code{nil} to specify the selected window.  The two functions below can
+be used to ``normalize'' arguments specifying windows in a uniform
+manner.
+
+@defun window-normalize-any-window window
+This function returns the normalized value for @var{window} which can be
+any window that has not been deleted.  More precisely, if @var{window}
+is @code{nil}, it returns the selected window.  If @var{window} denotes
+a live or internal window, it returns that window.  Otherwise, this
+function signals an error.
+@end defun
+
+@defun window-normalize-live-window window
+This functions returns the normalized value for a live window
+@var{window}.  More precisely, if @var{window} is @code{nil}, it returns
+the selected window.  If @var{window} is a live window, it returns that
+window.  Otherwise, this function signals an error.
+@end defun
+
+
+@node Windows and Frames
+@section Windows and Frames
+
+Each window is part of one and only one frame (@pxref{Frames}); you can
+get that frame with the function described next.
+
+@defun window-frame window
+This function returns the frame that @var{window} is on.  The argument
+@var{window} can be any window and defaults to the selected one.
+@end defun
+
+The following function returns a list of all live windows on a specific
+frame.
+
+@defun window-list &optional frame minibuf window
+This function returns a list of @var{frame}'s live windows, starting
+with @var{window}.  The optional argument @var{frame} has to denote a
+live frame and defaults to the selected frame.  The optional argument
+@var{window} has to denote a live window on the frame specified by
+@var{frame} and defaults to the selected one.
+
+The argument @var{minibuf} specifies if the minibuffer window shall be
+included in the return value.  If @var{minibuf} is @code{t}, the result
+always includes the minibuffer window.  If @var{minibuf} is @code{nil}
+or omitted, that includes the minibuffer window only if it is active.
+If @var{minibuf} is neither @code{nil} nor @code{t}, the result never
+includes the minibuffer window.
+@end defun
+
+@cindex window tree
+Windows within one and the same frame are organized in form of a tree
+called @dfn{window tree}.  The leaf nodes of a window tree constitute
+the windows visible to the user.  These are the windows associated with
+buffers and are usually called live windows.  The internal nodes of a
+window tree are needed for finding, traversing and displaying the live
+windows.
+
+   A minibuffer window (@pxref{Minibuffer Windows}) is not considered
+part of its frame's window tree unless the frame is a minibuffer-only
+frame.  Most functions covered in this section accept, however, the
+minibuffer window as argument.  Also, the minibuffer window is listed by
+the function @code{window-tree} described at the end of this section.
+
+   A window tree is rooted at the root window of its frame.
+
+@defun frame-root-window &optional frame-or-window
+This function returns the root window of @var{frame-or-window}.  The
+argument @var{frame-or-window} has to denote either a window or a frame
+and defaults to the selected frame.  If @var{frame-or-window} denotes a
+window, the return value is the root window of that window's frame.
+This function always returns a window; a live window if the frame
+specified by @var{frame-or-window} contains no other live windows and an
+internal window otherwise.
+@end defun
+
+@cindex subwindow
+All other windows of a frame with the exception of the minibuffer window
+are subwindows of the frame's root window.  A window is considered a
+@dfn{subwindow} of another window if it occupies a part of that other
+window's screen area.
+
+The functions described next allow to access the members of a window
+tree and take an arbitrary window as argument.
+
+@cindex parent window
+@defun window-parent &optional window
+Return @var{window}'s parent in the window tree.  The optional argument
+@var{window} can denote an arbitrary window and defaults to the selected
+one.  The return value is @code{nil} if @var{window} is a minibuffer
+window or the root window of its frame and an internal window otherwise.
+@end defun
+
+@cindex child window
+   Parent windows do not appear on the screen.  The screen area of a
+parent window is the rectangular part of the window's frame occupied by
+the window's @dfn{child windows}, that is, the set of windows having
+that window as their parent.  Each parent window has at least two child
+windows, so there are no ``Matryoshka'' windows.  Minibuffer windows do
+not have child windows.
+
+@cindex window combination
+@cindex vertical combination
+@cindex horizontal combination
+The children of any parent window form either a vertical or a horizontal
+combination of windows.  A @dfn{vertical combination} is a set of
+windows arranged one above each other.  A @dfn{horizontal combination}
+is a set of windows arranged side by side.  Consider the frame shown
+below (for simplicity we assume that the frame does not contain a
+minibuffer window):
+
+@smallexample
+@group
+     ______________________________________
+    | ______  ____________________________ |
+    ||      || __________________________ ||
+    ||      ||| ___________  ___________ |||
+    ||      ||||           ||           ||||
+    ||      ||||           ||           ||||
+    ||      ||||_____W6____||_____W7____||||
+    ||      |||____________W4____________|||
+    ||      || __________________________ ||
+    ||      |||                          |||
+    ||      |||____________W5____________|||
+    ||__W2__||_____________W3_____________ |
+    |__________________W1__________________|
+
+@end group
+@end smallexample
+
+The root window of the frame is @code{W1}---a horizontal combination of
+the live window @code{W2} and the internal window @code{W3}.  Hence
+@code{(window-parent W1)} is @code{nil} while @code{(window-parent W2)}
+and @code{(window-parent W3)} are both @code{W1}.
+
+   The internal window @code{W3} is a vertical combination of @code{W4}
+and the live window @code{W5}.  The internal window @code{W4} is a
+horizontal combination of the live windows @code{W6} and @code{W7}.  The
+windows you can actually see on the screen are @code{W2}, @code{W5},
+@code{W6} and @code{W7}.
+
+   For any parent window, the first child window can be retrieved by the
+functions given next.
+
+@defun window-top-child &optional window
+This function returns @var{window}'s first vertical child window.  The
+optional argument @var{window} can be an arbitrary window and defaults
+to the selected one.  The return value is @code{nil} if @var{window} is
+a live window or its children form a horizontal combination.  In the
+example above @code{(window-top-child W3)} is @code{W4} while
+@code{(window-top-child W4)} is @code{nil}.
+@end defun
+
+@defun window-left-child &optional window
+This function returns @var{window}'s first horizontal child window.  The
+optional argument @var{window} can be an arbitrary window and defaults
+to the selected one.  The return value is @code{nil} if @var{window} is
+a live window or its children form a vertical combination.  In the
+example above @code{(window-left-child W4)} is @code{W6} while
+@code{(window-left-child W3)} is @code{nil}.
+@end defun
+
+@defun window-child window
+This function return @var{window}'s first child window.  The return
+value is @code{nil} if @var{window} is a live window.  In the example
+above @code{(window-child W3)} is @code{W4} while @code{(window-child
+W4)} is @code{W6}.
+@end defun
+
+The following function is useful to determine whether a window is part
+of a vertical or horizontal combination.
+
+@defun window-iso-combined-p &optional window horizontal
+This function returns non-@code{nil} if and only if @var{window} is
+vertically combined.  The argument @var{window} can specify any window
+and defaults to the selected one.  The actual return value is the first
+vertical child of window.
+
+If the optional argument @var{horizontal} is non-@code{nil}, this means
+to return non-@code{nil} if and only if @var{window} is horizontally
+combined.  In this case, the return value is the first horizontal child
+of window.
+@end defun
+
+@cindex sibling window
+For any window that is part of a combination, the other windows in that
+combination are called the window's @dfn{siblings}.  The only windows
+that do not have siblings are root windows of frames and minibuffer
+windows.  A window's siblings can be retrieved with the following two
+functions.
+
+@defun window-next-sibling &optional window
+This function returns @var{window}'s next sibling.  The optional
+argument @var{window} can be an arbitrary window and defaults to the
+selected window.  It returns @code{nil} if @var{window} is the last
+child of its parent.  In our example @code{(window-next-sibling W2)} is
+@code{W3} while @code{(window-next-sibling W3)} is @code{nil}.
+@end defun
+
+@defun window-prev-sibling &optional window
+This function returns @var{window}'s previous sibling.  The optional
+argument @var{window} can be an arbitrary window and defaults to the
+selected window.  It returns @code{nil} if @var{window} is the first
+child of its parent. In our example @code{(window-prev-sibling W3)} is
+@code{W2} and @code{(window-prev-sibling W2)} is @code{nil}.
+@end defun
+
+The functions @code{window-next-sibling} and @code{window-prev-sibling}
+should not be confused with the functions @code{next-window} and
+@code{previous-window} which respectively return the next and previous
+window in the cyclic ordering of windows, see @ref{Cyclic Window
+Ordering}.
+
+   In order to find the first live window on a frame, the following
+function can be used.
+
+@defun frame-first-window &optional frame-or-window
+This function returns the live window at the upper left corner of the
+frame specified by @var{frame-or-window}.  The argument
+@var{frame-or-window} must denote a window or a live frame and defaults
+to the selected frame.  If @var{frame-or-window} specifies a window,
+this function returns the first window on that window's frame.  Under
+the assumption that the frame from our canonical example is selected
+@code{(frame-first-window)} returns @code{W2}.
+@end defun
+
+You can get the window tree of a frame with the following function.
+
+@cindex window tree
+@defun window-tree &optional frame
+This function returns the window tree for frame @var{frame}.  The
+optional argument @var{frame} must be a live frame and defaults to the
+selected one.
+
+The return value is a list of the form @code{(@var{root} @var{mini})},
+where @var{root} represents the window tree of the frame's
+root window, and @var{mini} is the frame's minibuffer window.
+
+If the root window is live, @var{root} specifies the root window and
+nothing else.  Otherwise, @var{root} is a list @code{(@var{dir}
+@var{edges} @var{w1} @var{w2} ...)} where @var{dir} is @code{nil} for a
+horizontal combination, and @code{t} for a vertical combination,
+@var{edges} gives the size and position of the combination, and the
+remaining elements are the child windows.  Each child window may again
+be a live window or a list representing a window combination, and so on.
+The @var{edges} element is a list @code{(@var{left}@var{ top}@var{
+right}@var{ bottom})} similar to the value returned by
+@code{window-edges}, see @ref{Coordinates and Windows}.
+@end defun
+
+
+@node Window Sizes
+@section Window Sizes
+@cindex window size
+@cindex size of window
+
+Emacs windows are rectangular.  The structure of a live window can be
+roughly sketched as follows:
+
+@smallexample
+@group
+         _________________________________________ 
+      ^ |______________ Header Line_______________| 
+      | |LS|LF|LM|                       |RM|RF|RS| ^
+      | |  |  |  |                       |  |  |  | |
+ Window |  |  |  |       Text Area       |  |  |  | Window
+ Total  |  |  |  |     (Window Body)     |  |  |  | Body
+ Height |  |  |  |                       |  |  |  | Height
+      | |  |  |  |<- Window Body Width ->|  |  |  | |
+      | |__|__|__|_______________________|__|__|__| v
+      v |_______________ Mode Line _______________|
+
+         <----------- Window Total Width -------->
+
+@end group
+@end smallexample
+
+@cindex window body
+@cindex body of a window
+The text area constitutes the body of the window.  In its most simple
+form, a window consists of its body alone.  LS and RS stand for the left
+and right scroll bar (@pxref{Scroll Bars}) respectively.  Only one of
+them can be present at any time.  LF and RF denote the left and right
+fringe, see @ref{Fringes}.  LM and RM, finally, stand for the left and
+right display margin, see @ref{Display Margins}.  The header line, if
+present, is located above theses areas, the mode line below, see
+@ref{Mode Line Format}.
+
+@cindex window height
+@cindex total window height
+@cindex height of a window
+@cindex total height of a window
+The @dfn{total height of a window} is specified as the total number of
+lines occupied by the window.  Any mode or header line is included in a
+window's total height.  For an internal window, the total height is
+calculated recursively from the total heights of its child windows.
+
+@cindex window width
+@cindex total window width
+@cindex width of a window
+@cindex total width of a window
+The @dfn{total width of a window} denotes the total number of columns of
+the window.  Any scroll bar and the column of @samp{|} characters that
+separate the window from its right sibling are included in a window's
+total width.  On a window-system, fringes and display margins are
+included in a window's total width too.  For an internal window, the
+total width is calculated recursively from the total widths of its child
+windows.
+
+@cindex total size of a window
+@cindex total window size
+The following function is the standard interface for getting the total
+size of any window:
+
+@defun window-total-size &optional window &optional horizontal
+This function returns the total number of lines of @var{window}.  The
+argument @var{window} can denote any window and defaults to the selected
+one.  If @var{window} is live, the return value includes any header or
+mode lines of @var{window}.  If @var{window} is internal, the return
+value is the sum of the total heights of @var{window}'s child windows
+provided these are vertically combined and the height of @var{window}'s
+first child if they are horizontally combined.
+
+   If the optional argument @var{horizontal} is non-@code{nil}, this
+function returns the total number of columns of @var{window}.  If
+@var{window} is live, the return value includes any vertical divider
+column or scroll bars of @var{window}.  On a window-system, the return
+value includes the space occupied by any margins and fringes of
+@var{window} too.  If @var{window} is internal, the return value is the
+sum of the total widths of @var{window}'s child windows provided these
+are horizontally combined and the width of @var{window}'s first child
+otherwise.
+@end defun
+
+Alternatively, the following two functions can be used to retrieve
+either the total height or the total width of a window:
+
+@defun window-total-height &optional window
+This function returns the total number of lines of @var{window}.
+@var{window} can be any window and defaults to the selected one.  The
+return value includes @var{window}'s mode line and header line, if any.
+If @var{window} is internal the return value is the sum of heights of
+@var{window}'s child windows for a vertical combination and the height
+of @var{window}'s first child otherwise.
+@end defun
+
+@defun window-total-width &optional window
+This function returns the total number of columns of @var{window}.
+@var{window} can be any window and defaults to the selected one.  The
+return value includes any vertical dividers or scrollbars of
+@var{window}.  On a window-system the return value also includes the
+space occupied by any margins and fringes of @var{window}.  If
+@var{window} is internal, the return value is the sum of the widths of
+@var{window}'s child windows for a horizontal combination and the width
+of @var{window}'s first child otherwise.
+@end defun
+
+The total height of any window is usually less than the height of the
+window's frame, because the latter may also include the minibuffer
+window.  Depending on the toolkit in use, the frame height can also
+include the menu bar and the tool bar (@pxref{Size and Position}).
+Therefore, in general it is not straightforward to compare window and
+frame heights.  The following function is useful to determine whether
+there are no other windows above or below a specified window.
+
+@cindex full-height window
+@defun window-full-height-p &optional window
+This function returns non-@code{nil} if there is no other window above
+or below @var{window} on the containing frame.  More precisely, this
+function returns @code{t} if and only if the total height of
+@var{window} equals the total height of the root window (@pxref{Windows
+and Frames}) of @var{window}'s frame.  The @var{window} argument may
+denote any window and defaults to the selected one.
+@end defun
+
+@cindex full-width window
+The following function can be used to determine whether there are no
+other windows on the left or right of a specified window.
+
+@defun window-full-width-p &optional window
+This function returns non-@code{nil} if there are no other windows on
+the left or right of @var{window}; @code{nil} otherwise.  More
+precisely, this function returns @code{t} if and only if the total width
+of @var{window} equals the total width of the root window
+(@pxref{Windows and Frames}) of @var{window}'s frame.  The @var{window}
+argument may denote any window and defaults to the selected one.
+@end defun
+
+@cindex top line of window
+@cindex left column of window
+  The windows of a frame are unambiguously characterized by the
+combination of their top line and left column within that frame.
+
+@defun window-top-line &optional window
+This function returns the top line of @var{window}.  The argument
+@var{window} can denote any window and defaults to the selected one.
+@end defun
+
+@defun window-left-column &optional window
+This function returns the left column of @var{window}.  The argument
+@var{window} can denote any window and defaults to the selected one.
+@end defun
+
+For a frame displaying one window only, that window's top line and left
+column are both zero.  When a frame displays a window @var{WB} below a
+window @var{WA}, the top line of @var{WB} can be calculated by adding
+the total height of @var{WA} to the top line of @var{WA}.  When a frame
+displays a window @var{WR} on the right of a window @var{WL}, the left
+column of @var{WR} can be calculated by adding the total width of
+@var{WL} to the left column of @var{WL}.
+
+@cindex window body height
+@cindex body height of a window
+The @dfn{body height of a window} is specified as the total number of
+lines occupied by the window's text area.  Mode or header lines are not
+included in a window's body height.
+
+@cindex window body width
+@cindex body width of a window
+The @dfn{body width of a window} denotes the total number of columns
+occupied by the window's text area.  Scroll bars or columns of @samp{|}
+characters that separate side-by-side windows are not included in a
+window's body width.
+
+@cindex body size of a window
+@cindex window body size
+The following functions retrieve height and width of the body of a live
+window:
+
+@defun window-body-size &optional window horizontal
+This function returns the number of lines of @var{window}'s text area.
+@var{window} must be a live window and defaults to the selected one.
+The return value does not count any mode or header line of @var{window}.
+
+Optional argument @var{horizontal} non-@code{nil} means to return the
+number of columns of @var{window}'s text area.  In this case the return
+value does not include any vertical divider or scroll bar owned by
+@var{window}.  On a window-system the return value does not include the
+number of columns used for @var{window}'s fringes or display margins
+either.
+@end defun
+
+@defun window-body-height &optional window
+This function returns the number of lines of @var{window}'s body.
+@var{window} must be a live window and defaults to the selected one.
+
+The return value does not include @var{window}'s mode line and header
+line, if any.  If a line at the bottom of the window is only partially
+visible, that line is included in the return value.  If you do not
+want to include a partially visible bottom line in the return value,
+use @code{window-text-height} instead.
+@end defun
+
+@defun window-body-width &optional window
+This function returns the number of columns of @var{window}'s body.
+@var{window} must be a live window and defaults to the selected one.
+
+The return value does not include any vertical dividers or scroll bars
+owned by @var{window}.  On a window-system the return value does not
+include the number of columns used for @var{window}'s fringes or
+display margins either.
+@end defun
+
+The following functions have been used in earlier versions of Emacs.
+They are still supported but due to the confusing nomenclature they
+should not be used any more in future code.
+
+@defun window-height &optional window
+This function is an alias for `window-total-height', see above.
+@end defun
+
+@defun window-width &optional window
+This function is an alias for `window-body-width', see above.
+@end defun
+
+@cindex minimum window size
+  The following two options constrain the sizes of windows to a minimum
+height and width.  Their values are honored when windows are split
+(@pxref{Splitting Windows}) or resized (@pxref{Resizing Windows}).  Any
+request to make a window smaller than specified here will usually result
+in an error.
+
+@defopt window-min-height
+The value of this variable specifies how short a window may be.  The
+value is measured in line units and has to account for any header or
+mode line.  The default value for this option is @code{4}.  Values less
+than @code{1} are ignored.
+@end defopt
+
+@defopt window-min-width
+The value of this variable specifies how narrow a window may be.  The
+value is measured in characters and includes any margins, fringes,
+scroll bar and vertical divider column.  The default value for this
+option is @code{10}.  A value less than @code{2} is ignored.
+@end defopt
+
+Applications should not rebind these variables.  To shrink a specific
+window to a height or width less than the one specified here, they
+should rather invoke @code{window-resize} (@pxref{Resizing Windows})
+with a non-@code{nil} @var{ignore} argument.  The function
+@code{split-window} (@pxref{Splitting Windows}) can make a window
+smaller than specified here by calling it with a non-@code{nil}
+@var{size} argument.  Interactively, the values specified here cannot be
+overridden.
+
+   Earlier versions of Emacs could delete a window when its size dropped
+below @code{window-min-height} or @code{window-min-width}.  As a rule,
+the current version of Emacs does no more delete windows by side-effect.
+The only exception to this rule are requests to resize a frame which may
+implicitly delete windows when they do not fit on the frame any more,
+see @ref{Size and Position}.
+
+   The size of a window can be fixed which means that it cannot be split
+(@pxref{Splitting Windows}) or resized (@pxref{Resizing Windows}).
+
+@cindex fixed-size window
+@defvar window-size-fixed
+If this variable is non-@code{nil}, in a given buffer, then the size of
+any window displaying that buffer remains fixed unless you either
+explicitly change it or Emacs has no other choice.
+
+If the value is @code{height}, then only the window's height is fixed;
+if the value is @code{width}, then only the window's width is fixed.
+Any other non-@code{nil} value fixes both the width and the height.
+
+This variable automatically becomes buffer-local when set.
+@end defvar
+
+Commands supposed to explicitly change the size of windows such as
+@code{enlarge-window} (@pxref{Resizing Windows}) get an error if they
+had to change a window size which is fixed.  Other functions like
+@code{window-resize} (@pxref{Resizing Windows}) have an optional
+@var{ignore} argument which allows to change the size of fixed-size
+windows.
+
+   Deleting a window or changing a frame's size may change the size of a
+fixed-size window, if there is no other alternative.
+
+   The height of a vertical combination of windows cannot be changed
+when the height of all these windows is fixed.  Its width cannot be
+changed if the width of at least one of these windows is fixed.
+Similarly, the width of a horizontal combination of windows cannot be
+changed when the width of all these windows is fixed.  Its height cannot
+be changed if the height of at least one of these windows is fixed.
+
+   The next function allows to check whether the size of an arbitrary           
+window is fixed.
+
+@defun window-size-fixed-p &optional window horizontal
+This function returns non-@code{nil} if @var{window}'s height is fixed.
+The argument @var{window} can be an arbitrary window and defaults to the
+selected one.  Optional argument @var{horizontal} non-@code{nil} means
+return non-@code{nil} if @var{window}'s width is fixed.
+
+If this function returns @code{nil}, this does not necessarily mean that
+@var{window} can be resized in the desired direction.  The function
+@code{window-resizable} (@pxref{Resizing Windows}) can tell that.
+@end defun
+
+
+@node Resizing Windows
+@section Resizing Windows
+@cindex window resizing
+@cindex resize window
+@cindex changing window size
+@cindex window size, changing
+
+Emacs does not permit overlapping windows or gaps between windows, so
+changing the size of a window always affects at least one other window.
+When a frame contains just one window, that window can be resized only
+by resizing the window's frame.  The functions described below are
+therefore meaningful only in the context of a frame containing at least
+two windows.  The size of the corresponding frame never changes when
+invoking a function described in this section.
+
+   The routines changing window sizes always operate in one dimension at
+a time.  This means that windows can be resized only either vertically
+or horizontally.  If a window shall be resized in both dimensions, it
+must be resized in one dimension first and in the other dimension
+afterwards.  If the second resize operation fails, the frame might end
+up in an unsatisfactory state.  To avoid such states, it might be useful
+to save the current window configuration (@pxref{Window Configurations})
+before attempting the first resize operation and restore the saved
+configuration in case the second resize operation fails.
+
+   Functions that resize windows are supposed to obey restrictions
+imposed by window minimum sizes and fixed-size windows, see @ref{Window
+Sizes}.  In order to determine whether resizing a specific window is
+possible in the first place, the following function can be used:
+
+@defun window-resizable window delta &optional horizontal ignore side noup nodown
+This function returns @var{delta} if the size of @var{window} can be
+changed vertically by @var{delta} lines.  Optional argument
+@var{horizontal} non-@code{nil} means to return @var{delta} if
+@var{window} can be resized horizontally by @var{delta} columns.  A
+return value of zero means that @var{window} is not resizable.
+
+If @var{delta} is a positive number, this means that @var{window} shall
+be enlarged by @var{delta} lines or columns.  If @var{window} cannot be
+enlarged by @var{delta} lines or columns, this function returns the
+maximum value in the range from 0 to @var{delta} by which @var{window}
+can be enlarged.
+
+If @var{delta} is a negative number, this means that @var{window} shall
+be shrunk by -@var{delta} lines or columns.  If @var{window} cannot be
+shrunk by -@var{delta} lines or columns, this function returns the
+minimum value in the range from @var{delta} to 0 that can be used for
+shrinking @var{window}.
+
+Optional argument @var{ignore} non-@code{nil} means ignore any
+restrictions imposed by the variables @code{window-min-height} or
+@code{window-min-width} and @code{window-size-fixed}.  In this case the
+minimum height of a window is specified as the minimum number of lines
+that allow viewing any header or mode line and at least one line of the
+text area of window.  The minimum width of a window includes any
+fringes, margins and the scroll bar as well as two text columns.
+
+If @var{ignore} denotes a window, this means to ignore restrictions for
+that window only.  If @var{ignore} equals the constant @code{safe}, this
+means a live window may get as small as one line or two columns.
+
+Optional argument @var{noup} non-@code{nil} means don't go up in the
+window tree but try to steal or distribute the space needed for the
+resize operation among the other windows within @var{window}'s
+combination.  Optional argument @var{nodown} non-@code{nil} means don't
+check whether @var{window} itself and its subwindows can be resized.
+@end defun
+
+The function @code{window-resizable} does not change any window sizes.
+The following function does:
+
+@defun window-resize window delta &optional horizontal ignore
+This function resizes @var{window} vertically by @var{delta} lines.  The
+argument @var{window} can denote an arbitrary window and defaults to the
+selected one.  An attempt to resize the root window of a frame will
+raise an error.
+
+Second argument @var{delta} a positive number means @var{window} shall
+be enlarged by @var{delta} lines.  If @var{delta} is negative, that
+means @var{window} shall be shrunk by -@var{delta} lines.
+
+Optional argument @var{horizontal} non-@code{nil} means to resize
+@var{window} horizontally by @var{delta} columns.  In this case a
+positive @var{delta} means enlarge @var{window} by @var{delta} columns.
+A negative @var{delta} means @var{window} shall be shrunk by
+-@var{delta} columns.
+
+Optional argument @var{ignore} has the same meaning as for the function
+@code{window-resizable} above.
+
+This function can simultaneously move two edges of WINDOW.  Exactly
+which edges of @var{window} are moved and which other windows are
+resized along with @var{window} is determined by the splits and nest
+status of the involved windows (@pxref{Splitting Windows}).  If only the
+low (right) edge of @var{window} shall be moved, the function
+@code{adjust-window-trailing-edge} described below should be used.
+@end defun
+
+The next four commands are simple interfaces to @code{window-resize}.
+They always operate on the selected window, never delete any window, and
+always raise an error when resizing would violate a restriction imposed
+by @code{window-min-height}, @code{window-min-width}, or
+@code{window-size-fixed}.
+
+@deffn Command enlarge-window delta &optional horizontal
+This function makes the selected window @var{delta} lines taller.
+Interactively, if no argument is given, it makes the selected window one
+line taller.  If optional argument @var{horizontal} is non-@code{nil},
+it makes the selected window wider by @var{delta} columns.  If
+@var{delta} is negative, it shrinks the selected window by -@var{delta}
+lines or columns.  The return value is @code{nil}.
+@end deffn
+
+@deffn Command enlarge-window-horizontally delta
+This function makes the selected window @var{delta} columns wider.
+Interactively, if no argument is given, it makes the selected window one
+column wider.
+@end deffn
+
+@deffn Command shrink-window delta &optional horizontal
+This function makes the selected window @var{delta} lines smaller.
+Interactively, if no argument is given, it makes the selected window one
+line smaller.  If optional argument @var{horizontal} is non-@code{nil},
+it makes the selected window narrower by @var{delta} columns.  If
+@var{delta} is negative, it enlarges the selected window by -@var{delta}
+lines or columns.  The return value is @code{nil}.
+@end deffn
+
+@deffn Command shrink-window-horizontally delta
+This function makes the selected window @var{delta} columns narrower.
+Interactively, if no argument is given, it makes the selected window one
+column narrower.
+@end deffn
+
+The following function is useful for moving the line dividing two
+windows.
+
+@defun adjust-window-trailing-edge window delta &optional horizontal
+This function moves @var{window}'s bottom edge by @var{delta} lines.
+Optional argument @var{horizontal} non-@code{nil} means to move
+@var{window}'s right edge by @var{delta} columns.  The argument
+@var{window} defaults to the selected window.
+
+If @var{delta} is greater zero, this moves the edge downwards or to the
+right.  If @var{delta} is less than zero, this moves the edge upwards or
+to the left. If the edge can't be moved by @var{delta} lines or columns,
+it is moved as far as possible in the desired direction but no error is
+signalled.
+
+This function tries to resize windows adjacent to the edge that is
+moved.  Only if this is insufficient, it will also resize windows not
+adjacent to that edge.  As a consequence, if you move an edge in one
+direction and back in the other direction by the same amount, the
+resulting window configuration will not be necessarily identical to the
+one before the first move.  So if your intend to just resize
+@var{window}, you should not use this function but call
+@code{window-resize} (see above) instead.
 @end defun
 
+@deffn Command fit-window-to-buffer &optional window max-height min-height override
+This command makes @var{window} the right height to display its
+contents exactly.  The default for @var{window} is the selected window.
+
+The optional argument @var{max-height} specifies the maximum total
+height the window is allowed to be; @code{nil} means use the maximum
+permissible height of a window on @var{window}'s frame.  The optional
+argument @var{min-height} specifies the minimum toatl height for the
+window; @code{nil} means use @code{window-min-height}.  All these height
+values include the mode line and/or header line.
+
+If the optional argument @var{override} is non-@code{nil}, this means to
+ignore any restrictions imposed by @code{window-min-height} and
+@code{window-min-width} on the size of @var{window}.
+
+This function returns non-@code{nil} if it orderly resized @var{window},
+and @code{nil} otherwise.
+@end deffn
+
+@deffn Command shrink-window-if-larger-than-buffer &optional window
+This command shrinks @var{window} vertically to be as small as possible
+while still showing the full contents of its buffer---but not less than
+@code{window-min-height} lines.  The argument @var{window} must denote
+a live window and defaults to the selected one.
+
+However, this command does nothing if the window is already too small to
+display the whole text of the buffer, or if part of the contents are
+currently scrolled off screen, or if the window is not the full width of
+its frame, or if the window is the only window in its frame.
+
+This command returns non-@code{nil} if it actually shrank the window
+and @code{nil} otherwise.
+@end deffn
+
+@cindex balancing window sizes
+Emacs provides two functions to balance windows, that is, to even out
+the sizes of all windows on the same frame.  The minibuffer window and
+fixed-size windows are not resized by these functions.
+
+@deffn Command balance-windows &optional window-or-frame
+This function balances windows in a way that gives more space to
+full-width and/or full-height windows.  If @var{window-or-frame}
+specifies a frame, it balances all windows on that frame.  If
+@var{window-or-frame} specifies a window, it balances that window and
+its siblings (@pxref{Windows and Frames}) only.
+@end deffn
+
+@deffn Command balance-windows-area
+This function attempts to give all windows on the selected frame
+approximately the same share of the screen area.  This means that
+full-width or full-height windows are not given more space than other
+windows.
+@end deffn
+
+@cindex maximizing windows
+The following function can be used to give a window the maximum possible
+size without deleting other ones.
+
+@deffn Command maximize-window &optional window
+This function maximizes @var{window}.  More precisely, this makes
+@var{window} as large as possible without resizing its frame or deleting
+other windows.  @var{window} can be any window and defaults to the
+selected one.
+@end deffn
+
+@cindex minimizing windows
+To make a window as small as possible without deleting it the
+following function can be used.
+
+@deffn Command minimize-window &optional window
+This function minimizes @var{window}.  More precisely, this makes
+@var{window} as small as possible without deleting it or resizing its
+frame.  @var{window} can be any window and defaults to the selected one.
+@end deffn
+
+
 @node Splitting Windows
 @section Splitting Windows
 @cindex splitting windows
 @cindex window splitting
 
-The functions described below are the primitives used to split a window
-into two windows.  They do not accept a buffer as an argument.  Rather,
-the two ``halves'' of the split window initially display the same buffer
+The functions described below are the primitives needed for creating a
+new window.  They do not accept a buffer as an argument.  Rather, they
+``split'' an existing window into two halves, both displaying the buffer
 previously visible in the window that was split.
 
-@deffn Command split-window &optional window size horizontal
-This function splits a new window out of @var{window}'s screen area.  It
-returns the new window.  The default for @var{window} is the selected
-window.  When you split the selected window, it remains selected.
-
-If @var{horizontal} is non-@code{nil}, then @var{window} splits into two
-side by side windows.  The original window keeps the leftmost @var{size}
-columns, and gives the rest of the columns to the new window.
-Otherwise, @var{window} splits into windows one above the other, the
-original window keeps the upper @var{size} lines and gives the rest of
-the lines to the new window.  The original window @var{window} is
-therefore the left-hand or upper of the two, and the new window is the
-right-hand or lower.
-
-If @var{size} is omitted or @code{nil}, then @var{window} is divided
-evenly into two parts.  (If there is an odd line, it is allocated to
-the new window.)  When @code{split-window} is called interactively,
-all its arguments are @code{nil}.
-
-If splitting would result in making a window that is smaller than
-@code{window-min-height} or @code{window-min-width} (@pxref{Resizing
-Windows}), @code{split-window} signals an error and does not split the
-window at all.
+@deffn Command split-window &optional window size side
+This function creates a new window adjacent to @var{window}.  It returns
+the new window which is always a live window.  The argument @var{window}
+can denote any window and defaults to the selected one.  This function
+does not change the selected window.
+
+Optional second argument @var{size} a positive number means make
+@var{window} @var{size} lines (or columns) tall.  If @var{size} is
+negative, make the new window @minus{}@var{size} lines (or columns)
+tall.  If @var{size} is omitted or @code{nil}, then @var{window} is
+divided evenly into two parts.  (If there is an odd line, it is
+allocated to the new window.)
+
+If splitting would result in making a window smaller than
+@code{window-min-height} or @code{window-min-width} (@pxref{Window
+Sizes}), this function usually signals an error.  However, if @var{size}
+is non-@code{nil} and valid, a new window of the requested size is
+created.  (A size value would be invalid if it assigned less than one
+line or less than two columns to the new window.)
+
+Optional third argument @var{side} @code{nil} (or @code{below})
+specifies that the new window shall be located below @var{window}.  The
+value @code{above} means the new window will be located above
+@var{window}.  In both cases @var{size} specifies the new number of
+lines for @var{window} (or the new window if @var{size} is negative)
+including space reserved for the mode and/or header line.
+
+If @var{side} is @code{t} or @code{right} the new window will be
+positioned on the right side of @var{window}.  The value @code{left}
+means the new window will be located on the left side of @var{window}.
+In both cases @var{size} specifies the new number of columns for
+@var{window} (or the new window provided @var{size} is negative)
+including space reserved for margins, fringes and the scroll bar or a
+divider column.
+
+Any other non-@code{nil} value for @var{side} is currently handled like
+@code{t} (or @code{right}).  Since this might change in the future,
+application programs should refrain from using other values.
+
+If @var{window} is live, properties of the new window like margins and
+scroll bars are inherited from @var{window}.  If @var{window} is an
+internal window, these properties, as well as the buffer shown in the
+new window, are inherited from the window selected on @var{window}'s
+frame.
+
+If @code{ignore-window-parameters} is non-@code{nil}, this function
+ignores window parameters (@pxref{Window Parameters}).  Otherwise, if
+the @code{split-window} parameter of @var{window} is @code{t}, it splits
+the window disregarding any other window parameters.  If the
+@code{split-window} parameter specifies a function, that function is
+called with the arguments @var{window}, @var{size}, and @var{side} to
+split @var{window}.  If that function is @code{ignore}, nothing is done.
+@end deffn
+
+The following example starts with one window on a screen that is 50
+lines high by 80 columns wide; then it splits the window.
+
+@smallexample
+@group
+(setq W1 (selected-window))
+     @result{} #<window 8 on windows.texi>
+(setq W2 (split-window W1 15))
+     @result{} #<window 28 on windows.texi>
+@end group
+@group
+(window-top-line W1)
+     @result{} 0
+(window-total-size W1)
+     @result{} 15
+(window-top-line W2)
+     @result{} 15
+@end group
+@end smallexample
+
+The screen looks like this:
+
+@smallexample
+@group
+         __________
+        |          |  line 0
+        |    W1    |
+        |__________|
+        |          |  line 15
+        |    W2    |
+        |__________|
+                      line 50
+ column 0   column 80
+@end group
+@end smallexample
+
+Next, split the top window into two side-by-side windows:
+
+@smallexample
+@group
+(setq W3 (split-window W1 35 t))
+     @result{} #<window 32 on windows.texi>
+@end group
+@group
+(window-left-column W1)
+     @result{} 0
+(window-total-size W1 t)
+     @result{} 35
+(window-left-column W3)
+     @result{} 35
+@end group
+@end smallexample
+
+@need 3000
+Now the screen looks like this:
+
+@smallexample
+@group
+     column 35
+         __________
+        |    |     |  line 0
+        | W1 |  W3 |
+        |____|_____|
+        |          |  line 15
+        |    W2    |
+        |__________|
+                      line 50
+ column 0   column 80
+@end group
+@end smallexample
+
+Normally, Emacs indicates the border between two side-by-side windows
+with a scroll bar (@pxref{Scroll Bars}), or with @samp{|} characters.  The
+display table can specify alternative border characters; see @ref{Display
+Tables}.
+
+Below we describe how @code{split-window} can be used to create the
+window configuration from our earlier example (@pxref{Windows and
+Frames}) and how internal windows are created for this purpose.  We
+start with a frame containing one live window @code{W2} (in the
+following scenarios window names are assigned in an arbitrary manner in
+order to match the names of the example).  Evaluating the form
+@code{(split-window W2 8 t)} creates a new internal window @code{W1}
+with two children---@code{W2} (the window we've split) and a new leaf
+window @code{W6}:
+@smallexample
+@group
+     ______________________________________
+    | ______  ____________________________ |
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||      ||                            ||
+    ||__W2__||_____________W6_____________ |
+    |__________________W1__________________|
+
+@end group
+@end smallexample
+
+Evaluating now @code{(split-window W6 -3)} creates another internal
+window @code{W3} with two children---@code{W6} and a new live window
+@code{W5}.  This leaves us with a vertically combined window @code{W3}
+embedded in the horizontally combined window @code{W1}:
+@smallexample
+@group
+     ______________________________________
+    | ______  ____________________________ |
+    ||      || __________________________ ||
+    ||      |||                          |||
+    ||      |||                          |||
+    ||      |||                          |||
+    ||      |||                          |||
+    ||      |||                          |||
+    ||      |||____________W6____________|||
+    ||      || __________________________ ||
+    ||      |||                          |||
+    ||      |||____________W5____________|||
+    ||__W2__||_____________W3_____________ |
+    |__________________W1__________________|
+
+@end group
+@end smallexample
+
+Finally, evaluating @code{(split-window W6 nil t)} should get us the
+desired configuration as depicted below.
+@smallexample
+@group
+     ______________________________________
+    | ______  ____________________________ |
+    ||      || __________________________ ||
+    ||      ||| ___________  ___________ |||
+    ||      ||||           ||           ||||
+    ||      ||||           ||           ||||
+    ||      ||||_____W6____||_____W7____||||
+    ||      |||____________W4____________|||
+    ||      || __________________________ ||
+    ||      |||                          |||
+    ||      |||____________W5____________|||
+    ||__W2__||_____________W3_____________ |
+    |__________________W1__________________|
+
+@end group
+@end smallexample
+
+The scenario sketched above is the standard way to obtain the desired
+configuration.  In Emacs 23 it was also the only way to do that since
+Emacs 23 did't allow splitting internal windows.
+
+With Emacs 24 you can also proceed as follows: Split an initial window
+@code{W6} by evaluating @code{(split-window W6 -3)} to produce the
+following vertical combination:
+@smallexample
+@group
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W6_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W5_________________||
+    |__________________W3__________________|
+
+@end group
+@end smallexample
+
+Evaluating now @code{(split-window (window-parent W6) -8 'left)} or,
+equivalently, @code{(split-window W3 -8 'left)} should now produce the
+penultimate configuration from the previous scenario from where we can
+continue as described before.
+
+   Another strategy starts with splitting an inital window @code{W6} by
+evaluating @code{(split-window W6 nil nil t)} with the following result:
+@smallexample
+@group
+     ______________________________________
+    | _________________  _________________ |
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||                 ||                 ||
+    ||________W6_______||________W7_______||
+    |__________________W4__________________|
 
-The following example starts with one window on a screen that is 50
-lines high by 80 columns wide; then it splits the window.
+@end group
+@end smallexample
 
+Evaluating now @code{(split-window W4 -3)} or @code{(split-window
+(window-parent W6) -3)} should get us a configuration as shown next.
 @smallexample
 @group
-(setq w (selected-window))
-     @result{} #<window 8 on windows.texi>
-(window-edges)          ; @r{Edges in order:}
-     @result{} (0 0 80 50)     ;   @r{left--top--right--bottom}
+     ______________________________________
+    | ____________________________________ |
+    || ________________  ________________ ||
+    |||                ||                |||
+    |||                ||                |||
+    |||                ||                |||
+    |||                ||                |||
+    |||                ||                |||
+    |||_______W6_______||________W7______|||
+    ||_________________W4_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W5_________________||
+    |__________________W3__________________|
+
 @end group
+@end smallexample
 
+The desired configuration can be now obtained by evaluating
+@code{(split-window W3 -8 'left)} or, equivalently, @code{(split-window
+(window-parent W5) -8 'left)}.
+
+   For a final approach let's start with the configuration of two live
+windows @code{W6} and @code{W7} shown above.  If we now evaluate
+@code{(split-window W4 -8 'left)} or @code{(split-window (window-parent
+W6) -8 'left)} we get the following configuration.
+@smallexample
 @group
-;; @r{Returns window created}
-(setq w2 (split-window w 15))
-     @result{} #<window 28 on windows.texi>
+     ______________________________________
+    | ______  ____________________________ |
+    ||      || ____________  ____________ ||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||            ||            |||
+    ||      |||______W6____||______W7____|||
+    ||__W2__||_____________W4_____________||
+    |__________________W1__________________|
+
 @end group
+@end smallexample
+
+Evaluating now @code{(split-window W4 -3)} or, for example,
+@code{(split-window (window-parent W6) -3)} should produce the desired
+configuration.
+
+  The two options described next can be used to tune the operation of
+@code{split-window}.
+
+@defopt window-splits
+If this variable is nil, the function @code{split-window} can split a
+window if and only if that window's screen estate is sufficiently large
+to accomodate both--itself and the new window.
+
+If this variable is non-@code{nil}, @code{split-window} tries to resize
+all windows that are part of the same combination as the old window to
+accomodate the new window.  Hence, the new window can be also created if
+the old window is of fixed size or too small to split (@pxref{Window
+Sizes}).
+
+In any case, the value of this variable is assigned to the splits status
+of the new window and, provided old and new window form a new
+combination, of the old window as well.  The splits status of a window
+can be retrieved by invoking the function @code{window-splits} and
+altered by the function @code{set-window-splits} described next.
+
+If @code{window-nest} (see below) is non-@code{nil}, the space for the
+new window is exclusively taken from the old window, but the splits
+status of the involved windows is nevertheless set as described here.
+@end defopt
+
+@defun window-splits &optional window
+This function returns the splits status of @var{window}.  The argument
+@var{window} can be any window and defaults to the selected one.
+
+@cindex splits status
+The @dfn{splits status} of a window specifies how resizing and deleting
+that window may affect the size of other windows in the same window
+combination.  More precisely, if @var{window}'s splits status is
+@code{nil} and @var{window} is resized, the corresponding space is
+preferably taken from (or given to) @var{window}'s right sibling.  When
+@var{window} is deleted, its space is given to its left sibling.  If
+@var{window}'s splits status is non-@code{nil}, resizing and deleting
+@var{window} may resize @emph{all} windows in @var{window}'s
+combination.
+
+The splits status is initially set by @code{split-window}
+from the current value of the variable @code{window-splits} (see above)
+and can be reset by the function @code{set-window-splits} (see below).
+@end defun
+
+@defun set-window-splits window &optional status
+This function sets the splits status (see above) of @var{window} to
+@var{status}.  The argument @var{window} can be any window and defaults
+to the selected one.  The return value is @var{status}.
+@end defun
+
+To illustrate the use of @code{window-splits} consider the following
+window configuration:
+@smallexample
 @group
-(window-edges w2)
-     @result{} (0 15 80 50)    ; @r{Bottom window;}
-                        ;   @r{top is line 15}
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
+@end smallexample
+
+Splitting window @code{W3} with @code{window-splits} @code{nil}
+produces a configuration where the size of @code{W2} remains unchanged:
+@smallexample
 @group
-(window-edges w)
-     @result{} (0 0 80 15)     ; @r{Top window}
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W3_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W4_________________||
+    |__________________W1__________________|
+
 @end group
 @end smallexample
 
-The screen looks like this:
+Splitting @code{W3} with @code{window-splits} non-@code{nil} instead
+produces a configuration where all windows have approximately the same
+height:
 
 @smallexample
 @group
-         __________
-        |          |  line 0
-        |    w     |
-        |__________|
-        |          |  line 15
-        |    w2    |
-        |__________|
-                      line 50
- column 0   column 80
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W4_________________||
+    |__________________W1__________________|
+
 @end group
 @end smallexample
 
-Next, split the top window horizontally:
+@defopt window-nest
+If this variable is @code{nil}, @code{split-window} creates a new parent
+window if and only if the old window has no parent window or shall be
+split orthogonally to the combination it is part of.  If this variable
+is non-@code{nil}, @code{split-window} always creates a new parent
+window.  If this variable is always non-@code{nil}, a frame's window
+tree is a binary tree so every window but the frame's root window has
+exactly one sibling.
+
+The value of this variable is also assigned to the nest status of the
+new parent window.  The nest status of any window can be retrieved via
+the function @code{window-nest} and altered by the function
+@code{set-window-nest}, see below.
+@end defopt
+
+@defun window-nest &optional window
+This function returns the nest status of @var{window}.  The argument
+@var{window} can be any window and defaults to the selected one.  Note,
+however, that the nest status is currently meaningful for internal
+windows only.
+
+@cindex nest status
+The @dfn{nest status} of a window specifies whether that window may be
+removed and its subwindows recombined with that window's siblings when
+such a sibling's subwindow is deleted.  The nest status is initially
+assigned by @code{split-window} from the current value of the variable
+@code{window-nest} (see above) and can be reset by the function
+@code{set-window-nest} (see below).
+
+If the return value is @code{nil}, subwindows of @var{window} may be
+recombined with @var{window}'s siblings when a window gets deleted.  A
+return value of @code{nil} means that subwindows of @var{window} are
+never (re-)combined with @var{window}'s siblings in such a case.
+@end defun
+
+@defun set-window-nest window &optional status
+This functions sets the nest status (see above) of @var{window} to
+@var{status}.  The argument @var{window} can be any window and defaults
+to the selected one.  Note that setting the nest status is meaningful
+for internal windows only.  The return value is @var{status}.
+@end defun
 
+To illustrate the use of @code{window-nest} consider the following
+configuration (throughout the following examples we shall assume that
+@code{window-splits} invariantly is @code{nil}).
 @smallexample
 @group
-(setq w3 (split-window w 35 t))
-     @result{} #<window 32 on windows.texi>
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
+@end smallexample
+
+Splitting @code{W2} into two windows above each other with
+@code{window-nest} equal @code{nil} will get you a configuration like:
+@smallexample
 @group
-(window-edges w3)
-     @result{} (35 0 80 15)  ; @r{Left edge at column 35}
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W4_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
+@end smallexample
+
+If you now enlarge window @code{W4}, Emacs steals the necessary space
+from window @code{W3} resulting in a configuration like:
+@smallexample
 @group
-(window-edges w)
-     @result{} (0 0 35 15)   ; @r{Right edge at column 35}
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W4_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
+@end smallexample
+
+Deleting window @code{W4}, will return its space to @code{W2} as
+follows:
+@smallexample
 @group
-(window-edges w2)
-     @result{} (0 15 80 50)  ; @r{Bottom window unchanged}
+     ______________________________________
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||                                    ||
+    ||_________________W2_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
 @end smallexample
 
-@need 3000
-Now the screen looks like this:
+Hence, with respect to the initial configuration, window @code{W2} has
+grown at the expense of window @code{W3}.  If, however, in the initial
+configuration you had split @code{W2} with @code{window-nest} bound to
+@code{t}, a new internal window @code{W5} would have been created as
+depicted below.
+@smallexample
+@group
+     ______________________________________
+    | ____________________________________ |
+    || __________________________________ ||
+    |||                                  |||
+    |||________________W2________________|||
+    || __________________________________ ||
+    |||                                  |||
+    |||________________W4________________|||
+    ||_________________W5_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
+@end group
+@end smallexample
 
+Enlarging @code{W4} would now have stolen the necessary space from
+@code{W2} instead of @code{W3} as
 @smallexample
 @group
-     column 35
-         __________
-        |   |      |  line 0
-        | w |  w3  |
-        |___|______|
-        |          |  line 15
-        |    w2    |
-        |__________|
-                      line 50
- column 0   column 80
+     ______________________________________
+    | ____________________________________ |
+    || __________________________________ ||
+    |||________________W2________________|||
+    || __________________________________ ||
+    |||                                  |||
+    |||                                  |||
+    |||________________W4________________|||
+    ||_________________W5_________________||
+    | ____________________________________ |
+    ||                                    ||
+    ||                                    ||
+    ||_________________W3_________________||
+    |__________________W1__________________|
+
 @end group
 @end smallexample
 
-Normally, Emacs indicates the border between two side-by-side windows
-with a scroll bar (@pxref{Scroll Bars}), or with @samp{|} characters.  The
-display table can specify alternative border characters; see @ref{Display
-Tables}.
-@end deffn
+and the subsequent deletion of @code{W4} would have restored the initial
+configuration.
+
+For interactive use, Emacs provides two commands which always split the
+selected window.
 
-@deffn Command split-window-vertically &optional size
+@deffn Command split-window-above-each-other &optional size
 This function splits the selected window into two windows, one above the
 other, leaving the upper of the two windows selected, with @var{size}
 lines.  (If @var{size} is negative, then the lower of the two windows
@@ -232,76 +1565,30 @@ the upper window is still the one selected.)  However, if
 @code{split-window-keep-point} (see below) is @code{nil}, then either
 window can be selected.
 
-In other respects, this function is similar to @code{split-window}.
-In particular, the upper window is the original one and the return
-value is the new, lower window.
+   In other respects, this function is similar to @code{split-window}.
+In particular, the upper window is the original one and the return value
+is the new, lower window.
 @end deffn
 
 @defopt split-window-keep-point
 If this variable is non-@code{nil} (the default), then
-@code{split-window-vertically} behaves as described above.
-
-If it is @code{nil}, then @code{split-window-vertically} adjusts point
-in each of the two windows to avoid scrolling.  (This is useful on
-slow terminals.)  It selects whichever window contains the screen line
-that point was previously on.
+@code{split-window-above-each-other} behaves as described above.
 
-This variable affects the behavior of @code{split-window-vertically}
-only.  It has no effect on the other functions described here.
+   If it is @code{nil}, then @code{split-window-above-each-other}
+adjusts point in each of the two windows to avoid scrolling.  (This is
+useful on slow terminals.)  It selects whichever window contains the
+screen line that point was previously on.  Other functions are not
+affected by this variable.
 @end defopt
 
-@deffn Command split-window-horizontally &optional size
+@deffn Command split-window-side-by-side &optional size
 This function splits the selected window into two windows
 side-by-side, leaving the selected window on the left with @var{size}
 columns.  If @var{size} is negative, the rightmost window gets
 @minus{}@var{size} columns, but the leftmost window still remains
 selected.
-
-This function is basically an interface to @code{split-window}.
-You could define a simplified version of the function like this:
-
-@smallexample
-@group
-(defun split-window-horizontally (&optional arg)
-  "Split selected window into two windows, side by side..."
-  (interactive "P")
-@end group
-@group
-  (let ((size (and arg (prefix-numeric-value arg))))
-    (and size (< size 0)
-         (setq size (+ (window-width) size)))
-    (split-window nil size t)))
-@end group
-@end smallexample
 @end deffn
 
-@defun one-window-p &optional no-mini all-frames
-This function returns non-@code{nil} if there is only one window.  The
-argument @var{no-mini}, if non-@code{nil}, means don't count the
-minibuffer even if it is active; otherwise, the minibuffer window is
-counted when it is active.
-
-The argument @var{all-frames} specifies which frames to consider.  Here
-are the possible values and their meanings:
-
-@table @asis
-@item @code{nil}
-Count the windows in the selected frame, plus the minibuffer used
-by that frame even if it lies in some other frame.
-
-@item @code{t}
-Count all windows in all existing frames.
-
-@item @code{visible}
-Count all windows in all visible frames.
-
-@item 0
-Count all windows in all visible or iconified frames.
-
-@item anything else
-Count precisely the windows in the selected frame, and no others.
-@end table
-@end defun
 
 @node Deleting Windows
 @section Deleting Windows
@@ -313,105 +1600,110 @@ appear on the screen, but continues to exist as a Lisp object until
 there are no references to it.  There is no way to cancel the deletion
 of a window aside from restoring a saved window configuration
 (@pxref{Window Configurations}).  Restoring a window configuration also
-deletes any windows that aren't part of that configuration.
-
-  When you delete a window, the space it took up is given to one of
-its sibling windows adjacent to it.
-
-@c Emacs 19 feature
-@defun window-live-p window
-This function returns @code{nil} if @var{window} is deleted, and
-@code{t} otherwise.
-
-@strong{Warning:} Erroneous information or fatal errors may result from
-using a deleted window as if it were live.
-@end defun
+deletes any windows that aren't part of that configuration.  Erroneous
+information may result from using a deleted window as if it were live.
 
 @deffn Command delete-window &optional window
 This function removes @var{window} from display and returns @code{nil}.
-The default for @var{window} is the selected window.  An error is
-signaled if @var{window} is the only window on its frame.
+The argument @var{window} can denote any window and defaults to the
+selected one.  An error is signaled if @var{window} is the only window
+on its frame.  Hence @var{window} must have at least one sibling window
+(@pxref{Windows and Frames}) in order to get deleted.
+
+If the variable @code{ignore-window-parameters} (@pxref{Window
+Parameters}) is non-@code{nil}, this function ignores all parameters of
+@var{window}.  Otherwise, if the @code{delete-window} parameter of
+@var{window} is @code{t}, it deletes the window disregarding other
+window parameters.  If the @code{delete-window} parameter specifies a
+function, that function is called with @var{window} as its sole
+argument.
+
+If the splits status of @var{window} (@pxref{Splitting Windows}) is
+@code{nil}, the space @var{window} took up is given to its left sibling
+if such a window exists and to its right sibling otherwise.  If the
+splits status of @var{window} is non-@code{nil}, its space is
+proportionally distributed among the remaining windows in the same
+combination.
 @end deffn
 
 @deffn Command delete-other-windows &optional window
-This function makes @var{window} the only window on its frame, by
-deleting the other windows in that frame.  The default for @var{window}
-is the selected window.  The return value is @code{nil}.
+This function makes @var{window} fill its frame and returns @code{nil}.
+The argument @var{window} can denote an arbitrary window and defaults to
+the selected one.
+
+If the variable @code{ignore-window-parameters} (@pxref{Window
+Parameters}) is non-@code{nil}, this function ignores all parameters of
+@var{window}.  Otherwise, if the @code{delete-other-windows} parameter
+of @var{window} equals @code{t}, it deletes all other windows
+disregarding any remaining window parameters.  If the
+@code{delete-other-windows} parameter of @var{window} specifies a
+function, it calls that function with @var{window} as its sole argument.
 @end deffn
 
 @deffn Command delete-windows-on &optional buffer-or-name frame
-This function deletes all windows showing @var{buffer-or-name}.  If
-there are no windows showing @var{buffer-or-name}, it does nothing.  The
-optional argument @var{buffer-or-name} may be a buffer or the name of an
-existing buffer and defaults to the current buffer.
-
-@code{delete-windows-on} operates frame by frame.  If a frame has
-several windows showing different buffers, then those showing
-@var{buffer-or-name} are removed, and the others expand to fill the
-space.  If all windows in some frame are showing @var{buffer-or-name}
-(including the case where there is only one window), then the frame
-winds up with a single window showing another buffer chosen with
-@code{other-buffer} (@pxref{The Buffer List}).  If, however, the window
-showing @var{buffer-or-name} is dedicated to its buffer
-(@pxref{Dedicated Windows}), and there are other frames left, that
-window's frame is deleted.
+This function deletes all windows showing @var{buffer-or-name} and
+returns nil.  If there are no windows showing @var{buffer-or-name}, it
+does nothing.  The optional argument @var{buffer-or-name} may be a
+buffer or the name of an existing buffer and defaults to the current
+buffer.  Invoking this command on a minibuffer signals an error.
+
+The function @code{delete-windows-on} operates by calling
+@code{delete-window} for each window showing @var{buffer-or-name}.  If a
+frame has several windows showing different buffers, then those showing
+@var{buffer-or-name} are removed, and the other windows expand to fill
+the space.
+
+If all windows in some frame are showing @var{buffer-or-name} (including
+the case where there is only one window), then that frame is deleted
+provided there are other frames left.
 
 The optional argument @var{frame} specifies which frames to operate on.
 This function does not use it in quite the same way as the other
-functions which scan all windows; specifically, the values @code{t} and
-@code{nil} have the opposite of their meanings in other functions.  Here
-are the full details:
+functions which scan all live windows (@pxref{Cyclic Window Ordering});
+specifically, the values @code{t} and @code{nil} have the opposite of
+their meanings in the other functions.  Here are the full details:
 
 @itemize @bullet
-@item
-If it is @code{nil}, operate on all frames.
-@item
-If it is @code{t}, operate on the selected frame.
-@item
-If it is @code{visible}, operate on all visible frames.
-@item
-If it is 0, operate on all visible or iconified frames.
-@item
-If it is a frame, operate on that frame.
+@item @code{nil}
+means operate on all frames.
+@item @code{t}
+means operate on the selected frame.
+@item @code{visible}
+means operate on all visible frames.
+@item @code{0}
+means operate on all visible or iconified frames.
+@item A frame
+means operate on that frame.
 @end itemize
-
-This function always returns @code{nil}.
 @end deffn
 
+
 @node Selecting Windows
 @section Selecting Windows
 @cindex selecting a window
 
-  When a window is selected, the buffer in the window becomes the current
-buffer, and the cursor will appear in it.
-
-@defun selected-window
-This function returns the selected window.  This is the window in
-which the cursor appears and to which many commands apply.
-@end defun
-
 @defun select-window window &optional norecord
-This function makes @var{window} the selected window.  The cursor then
-appears in @var{window} (after redisplay).  Unless @var{window} was
-already selected, @code{select-window} makes @var{window}'s buffer the
-current buffer.  The return value is @var{window}.
+This function makes @var{window} the selected window, see @ref{Basic
+Windows}.  Unless @var{window} already is the selected window, this also
+makes @var{window}'s buffer (@pxref{Buffers and Windows}) the current
+buffer.  Moreover, the cursor for selected windows will be displayed in
+@var{window} after the next redisplay.  This function returns
+@var{window}.
 
 Normally, @var{window}'s selected buffer is moved to the front of the
 buffer list (@pxref{The Buffer List}) and @var{window} becomes the most
-recently selected window.  But if @var{norecord} is non-@code{nil}, the
-buffer list remains unchanged and @var{window} does not become the most
-recently selected one.
-
-
-@example
-@group
-(setq w (next-window))
-(select-window w)
-     @result{} #<window 65 on windows.texi>
-@end group
-@end example
+recently selected window.  But if the optional argument @var{norecord}
+is non-@code{nil}, the buffer list remains unchanged and @var{window}
+does not become the most recently selected one.
 @end defun
 
+@cindex most recently selected windows
+The sequence of calls to @code{select-window} with a non-@code{nil}
+@var{norecord} argument determines an ordering of windows by their
+selection time.  The function @code{get-lru-window} can be used to
+retrieve the least recently selected live window in this ordering, see
+@ref{Cyclic Window Ordering}.
+
 @defmac save-selected-window forms@dots{}
 This macro records the selected frame, as well as the selected window
 of each frame, executes @var{forms} in sequence, then restores the
@@ -437,138 +1729,105 @@ restores the previously selected window and current buffer.  The ordering
 of recently selected windows and the buffer list remain unchanged unless
 you deliberately change them within @var{forms}, for example, by calling
 @code{select-window} with argument @var{norecord} @code{nil}.
-@end defmac
-
-@cindex finding windows
-  The following functions choose one of the windows on the screen,
-offering various criteria for the choice.
-
-@defun get-lru-window &optional frame dedicated
-This function returns the window least recently ``used'' (that is,
-selected) among a set of candidate windows.  If any full-width windows
-are present, it only considers these.
-
-The selected window is returned if it is the only candidate.  A
-minibuffer window is never a candidate.  A dedicated window
-(@pxref{Dedicated Windows}) is never a candidate unless the optional
-argument @var{dedicated} is non-@code{nil}.
 
-The optional argument @var{frame} specifies which windows are
-considered.
+The order of recently selected windows and the buffer list are not
+changed by this macro.
+@end defmac
 
-@itemize @bullet
-@item
-If it is @code{nil}, consider windows on the selected frame.
-@item
-If it is @code{t}, consider windows on all frames.
-@item
-If it is @code{visible}, consider windows on all visible frames.
-@item
-If it is 0, consider windows on all visible or iconified frames.
-@item
-If it is a frame, consider windows on that frame.
-@end itemize
+@cindex frame selected window
+@cindex window selected within frame
+Earlier (@pxref{Basic Windows}) we mentioned that at any time, exactly
+one window on any frame is selected within the frame.  The significance
+of this designation is that selecting the frame also selects this
+window.  Conversely, selecting a window for Emacs with
+@code{select-window} also makes that window selected within its frame.
+
+@defun frame-selected-window  &optional frame
+This function returns the window on @var{frame} that is selected within
+@var{frame}.  The optional argument @var{frame} must denote a live frame
+and defaults to the selected one.
 @end defun
 
-@defun get-largest-window &optional frame dedicated
-This function returns the window with the largest area (height times
-width).  If there are no side-by-side windows, then this is the window
-with the most lines.  A minibuffer window is never a candidate.  A
-dedicated window (@pxref{Dedicated Windows}) is never a candidate unless
-the optional argument @var{dedicated} is non-@code{nil}.
-
-If there are two candidate windows of the same size, this function
-prefers the one that comes first in the cyclic ordering of windows,
-starting from the selected window (@pxref{Cyclic Window Ordering}).
-
-The optional argument @var{frame} specifies which set of windows to
-consider, see @code{get-lru-window} above.
+@defun set-frame-selected-window frame window &optional norecord
+This function sets the selected window of frame @var{frame} to
+@var{window}.  The argument @var{frame} must denote a live frame and
+defaults to the selected one.  If @var{frame} is the selected frame,
+this also makes @var{window} the selected window.  The argument
+@var{window} must denote a live window.  This function returns
+@var{window}.
+
+Optional argument @var{norecord} non-@code{nil} means to neither change
+the list of most recently selected windows (@pxref{Selecting Windows})
+nor the buffer list (@pxref{The Buffer List}).
 @end defun
 
-@cindex window that satisfies a predicate
-@cindex conditional selection of windows
-@defun get-window-with-predicate predicate &optional minibuf all-frames default
-This function returns a window satisfying @var{predicate}.  It cycles
-through all visible windows using @code{walk-windows} (@pxref{Cyclic
-Window Ordering}), calling @var{predicate} on each one of them with that
-window as its argument.  The function returns the first window for which
-@var{predicate} returns a non-@code{nil} value; if that never happens,
-it returns @var{default} (which defaults to @code{nil}).
-
-The optional arguments @var{minibuf} and @var{all-frames} specify the
-set of windows to include in the scan.  See the description of
-@code{next-window} in @ref{Cyclic Window Ordering}, for details.
-@end defun
 
 @node Cyclic Window Ordering
-@comment  node-name,  next,  previous,  up
 @section Cyclic Ordering of Windows
 @cindex cyclic ordering of windows
 @cindex ordering of windows, cyclic
 @cindex window ordering, cyclic
 
-  When you use the command @kbd{C-x o} (@code{other-window}) to select
-some other window, it moves through the windows on the screen in a
-specific order.  For any given configuration of windows, this order
-never varies.  It is called the @dfn{cyclic ordering of windows}.
+When you use the command @kbd{C-x o} (@code{other-window}) to select
+some other window, it moves through live windows in a specific order.
+For any given configuration of windows, this order never varies.  It is
+called the @dfn{cyclic ordering of windows}.
 
-  For a particular frame, this ordering generally goes from top to
-bottom, and from left to right.  But it may go down first or go right
-first, depending on the order in which windows were split.
+   For a particular frame, this ordering is determined by the window
+tree of that frame, see @ref{Windows and Frames}.  More precisely, the
+ordering is obtained by a depth-first traversal of the frame's window
+tree supplemented, if requested, by the frame's minibuffer window.
 
-  If the first split was vertical (into windows one above each other),
-and then the subwindows were split horizontally, then the ordering is
-left to right in the top of the frame, and then left to right in the
-next lower part of the frame, and so on.  If the first split was
-horizontal, the ordering is top to bottom in the left part, and so on.
-In general, within each set of siblings at any level in the window tree
-(@pxref{Window Tree}), the order is left to right, or top to bottom.
+   If there's just one live frame, the cyclic ordering is the ordering
+for that frame.  Otherwise, the cyclic ordering is obtained by appending
+the orderings for individual frames in order of the list of all live
+frames, @ref{Finding All Frames}.  In any case, the ordering is made
+``cyclic'' by having the last window precede the first window in the
+ordering.
 
 @defun next-window &optional window minibuf all-frames
 @cindex minibuffer window, and @code{next-window}
 This function returns the window following @var{window} in the cyclic
-ordering of windows.  This is the window @kbd{C-x o} selects if typed
-when @var{window} is selected.  The default for @var{window} is the
-selected window.
+ordering of windows.  The argument @var{window} must specify a live
+window and defaults to the selected one.
 
-The value of the optional argument @var{minibuf} specifies whether the
-minibuffer is included in the window order.  Normally, when
-@var{minibuf} is @code{nil}, the minibuffer is included only if it is
-currently ``active''; this matches the behavior of @kbd{C-x o}.  (The
-minibuffer window is active while the minibuffer is in use; see
-@ref{Minibuffers}.)
+The optional argument @var{minibuf} specifies whether minibuffer windows
+shall be included in the cyclic ordering.  Normally, when @var{minibuf}
+is @code{nil}, a minibuffer window is included only if it is currently
+``active''; this matches the behavior of @kbd{C-x o}.  (Note that a
+minibuffer window is active as long as its minibuffer is in use; see
+@ref{Minibuffers}).
 
-If @var{minibuf} is @code{t}, the cyclic ordering includes the
-minibuffer window even if it is not active.  If @var{minibuf} is neither
-@code{t} nor @code{nil}, the minibuffer window is not included even if
-it is active.
+If @var{minibuf} is @code{t}, the cyclic ordering includes all
+minibuffer windows.  If @var{minibuf} is neither @code{t} nor
+@code{nil}, minibuffer windows are not included even if they are active.
 
 The optional argument @var{all-frames} specifies which frames to
 consider.  Here are the possible values and their meanings:
 
-@table @asis
+@itemize @bullet
 @item @code{nil}
-Consider all the windows in @var{window}'s frame, plus the minibuffer
-used by that frame even if it lies in some other frame.  If the
+means consider all windows on @var{window}'s frame, plus the minibuffer
+window used by that frame even if it lies in some other frame.  If the
 minibuffer counts (as determined by @var{minibuf}), then all windows on
 all frames that share that minibuffer count too.
 
 @item @code{t}
-Consider all windows in all existing frames.
+means consider all windows on all existing frames.
 
 @item @code{visible}
-Consider all windows in all visible frames.  (To get useful results, you
-must ensure @var{window} is in a visible frame.)
+means consider all windows on all visible frames.  (To get useful
+results, ensure that @var{window} is on a visible frame.)
 
 @item 0
-Consider all windows in all visible or iconified frames.
+means consider all windows on all visible or iconified frames.
 
-@item a frame
-Consider all windows on that frame.
+@item A frame
+means consider all windows on that frame.
 
-@item anything else
-Consider precisely the windows in @var{window}'s frame, and no others.
-@end table
+@item Anything else
+means consider the windows on @var{window}'s frame, and no others.
+@end itemize
 
 This example assumes there are two windows, both displaying the
 buffer @samp{windows.texi}:
@@ -592,7 +1851,7 @@ buffer @samp{windows.texi}:
 @defun previous-window &optional window minibuf all-frames
 This function returns the window preceding @var{window} in the cyclic
 ordering of windows.  The other arguments specify which windows to
-include in the cycle, as in @code{next-window}.
+consider as in @code{next-window}.
 @end defun
 
 @deffn Command other-window count &optional all-frames
@@ -608,30 +1867,104 @@ prefix argument.
 The optional argument @var{all-frames} has the same meaning as in
 @code{next-window}, but the @var{minibuf} argument of @code{next-window}
 is always effectively @code{nil}.  This function returns @code{nil}.
+
+This function does not select a window that has a non-@code{nil}
+@code{no-other-window} window parameter (@pxref{Window Parameters}).
 @end deffn
 
-@c Emacs 19 feature
+The following function returns a copy of the list of windows in the
+cyclic odering.
+
+@defun window-list-1 &optional window &optional minibuf &optional all_frames
+This function returns a list of live windows.  The optional arguments
+@var{minibuf} and @var{all-frames} specify the set of windows to include
+in the list.  See the description of @code{next-window} for details.
+
+The optional argument @var{window} specifies the first window to list
+and defaults to the selected window.  If @var{window} is not on the list
+of windows returned, some other window will be listed first but no error
+is signalled.
+@end defun
+
+The functions described below use @code{window-list-1} for generating a
+copy of the list of all relevant windows.  Hence, any change of the
+window configuration that occurs while one of these functions is
+executed is @emph{not} reflected in the list of windows investigated.
+
 @defun walk-windows proc &optional minibuf all-frames
-This function cycles through all windows.  It calls the function
-@code{proc} once for each window, with the window as its sole
-argument.
+This function cycles through live windows.  It calls the function
+@var{proc} once for each window, with the window as its sole argument.
 
 The optional arguments @var{minibuf} and @var{all-frames} specify the
-set of windows to include in the walk.  See @code{next-window}, above,
-for details.
+set of windows to include in the walk, see @code{next-window} above.  If
+@var{all-frames} specifies a frame, the first window walked is the first
+window on that frame as returned by @code{frame-first-window} and not
+necessarily the selected window.
+
+If @var{proc} changes the window configuration by splitting or deleting
+windows, that change is not reflected in the set of windows walked.
+That set is determined entirely by the set of live windows at the time
+this function was invoked.
 @end defun
 
-@defun window-list &optional frame minibuf window
-This function returns a list of all windows on @var{frame}, starting
-with @var{window}.  The default for @var{frame} is the selected frame;
-the default for @var{window} is the selected window.
+The following function allows to determine whether a specific window is
+the only live window.
 
-The value of @var{minibuf} specifies if the minibuffer window shall be
-included in the result list.  If @var{minibuf} is @code{t}, the result
-always includes the minibuffer window.  If @var{minibuf} is @code{nil}
-or omitted, that includes the minibuffer window if it is active.  If
-@var{minibuf} is neither @code{nil} nor @code{t}, the result never
-includes the minibuffer window.
+@defun one-window-p &optional no-mini all-frames
+This function returns non-@code{nil} if the selected window is the only
+window.
+
+The optional argument @var{no-mini}, if non-@code{nil}, means don't
+count the minibuffer even if it is active; otherwise, the minibuffer
+window is counted when it is active.  The optional argument
+@var{all-frames} has the same meaning as for @code{next-window}, see
+above.
+@end defun
+
+@cindex finding windows
+  The following functions choose (but do not select) one of the windows
+on the screen, offering various criteria for the choice.
+
+@cindex least recently used window
+@defun get-lru-window &optional all-frames dedicated
+This function returns the window least recently ``used'' (that is,
+selected).  If any full-width windows are present, it only considers
+these.  The optional argument @var{all-frames} has the same meaning as
+in @code{next-window}.
+
+The selected window is returned if it is the only candidate.  A
+minibuffer window is never a candidate.  A dedicated window
+(@pxref{Dedicated Windows}) is never a candidate unless the optional
+argument @var{dedicated} is non-@code{nil}.
+@end defun
+
+@cindex largest window
+@defun get-largest-window &optional all-frames dedicated
+This function returns the window with the largest area (height times
+width).  A minibuffer window is never a candidate.  A dedicated window
+(@pxref{Dedicated Windows}) is never a candidate unless the optional
+argument @var{dedicated} is non-@code{nil}.
+
+If there are two candidate windows of the same size, this function
+prefers the one that comes first in the cyclic ordering of windows,
+starting from the selected window.
+
+The optional argument @var{all-frames} specifies which set of windows to
+consider as with @code{next-window}, see above.
+@end defun
+
+@cindex window that satisfies a predicate
+@cindex conditional selection of windows
+@defun get-window-with-predicate predicate &optional minibuf all-frames default
+This function returns a window satisfying @var{predicate}.  It cycles
+through all visible windows calling @var{predicate} on each one of them
+with that window as its argument.  The function returns the first window
+for which @var{predicate} returns a non-@code{nil} value; if that never
+happens, it returns @var{default} (which defaults to @code{nil}).
+
+The optional arguments @var{minibuf} and @var{all-frames} specify the
+set of windows to investigate.  See the description of
+@code{next-window} for details.
 @end defun
 
 @node Buffers and Windows
@@ -640,48 +1973,47 @@ includes the minibuffer window.
 @cindex windows, controlling precisely
 @cindex buffers, controlled in windows
 
-  This section describes low-level functions to examine windows or to
-display buffers in windows in a precisely controlled fashion.
-@iftex
-See the following section for
-@end iftex
-@ifnottex
-@xref{Displaying Buffers}, for
-@end ifnottex
-related functions that find a window to use and specify a buffer for it.
-The functions described there are easier to use, but they employ
-heuristics in choosing or creating a window; use the functions described
-here when you need complete control.
+To find out which buffer is displayed in a given window the following
+function is used.
 
-@defun set-window-buffer window buffer-or-name &optional keep-margins
-This function makes @var{window} display @var{buffer-or-name} as its
-contents.  It returns @code{nil}.  The default for @var{window} is the
-selected window.  The argument @var{buffer-or-name} must specify a
-buffer or the name of an existing buffer.
+@defun window-buffer &optional window
+This function returns the buffer that @var{window} is displaying.  The
+argument @var{window} can be any window and defaults to the selected
+one.  If @var{window} is an internal window, this function returns
+@code{nil}.
+@end defun
 
-@code{set-window-buffer} is the fundamental primitive for changing which
-buffer is displayed in a window, and all ways of doing that call this
-function.
+The basic, low-level function to associate a window with a buffer is
+@code{set-window-buffer}.  Higher-level functions like
+@code{switch-to-buffer} and @code{display-buffer} try to obey a number
+of user customizations regulating which windows are supposed to
+display which buffers.  @xref{Switching Buffers}.  When writing an
+application, you should avoid using @code{set-window-buffer} unless
+you are sure you need it.
 
-@example
-@group
-(set-window-buffer (selected-window) "foo")
-     @result{} nil
-@end group
-@end example
+@defun set-window-buffer window buffer-or-name &optional keep-margins
+This function makes @var{window} display @var{buffer-or-name} and
+returns @code{nil}.  The argument @var{window} has to denote a live
+window and defaults to the selected one.  The argument
+@var{buffer-or-name} must specify a buffer or the name of an existing
+buffer.  An error is signalled when @var{window} is @dfn{strongly}
+dedicated to its buffer (@pxref{Dedicated Windows}) and does not already
+display @var{buffer-or-name}.
 
 Normally, displaying @var{buffer-or-name} in @var{window} resets the
 window's position, display margins, fringe widths, and scroll bar
-settings based on the local variables of that buffer.
-However, if @var{keep-margins} is non-@code{nil}, display margins and
-fringe widths of @var{window} remain unchanged.  @xref{Fringes}.
-
-@code{set-window-buffer} signals an error when @var{window} is
-@dfn{strongly} dedicated to its buffer (@pxref{Dedicated Windows}) and
-does not already display @var{buffer-or-name}.
+settings based on the local variables of the specified buffer.  However,
+if the optional argument @var{keep-margins} is non-@code{nil}, display
+margins and fringe widths of @var{window} remain unchanged.
+@xref{Fringes}.
+
+This function is the fundamental primitive for changing which buffer is
+displayed in a window, and all ways of doing that call this function.
+Neither the selected window nor the current buffer are changed by this
+function.
 
-Note that this function runs @code{window-scroll-functions} before
-running @code{window-configuration-change-hook}.
+This function runs @code{window-scroll-functions} before running
+@code{window-configuration-change-hook}, see @ref{Window Hooks}.
 @end defun
 
 @defvar buffer-display-count
@@ -690,26 +2022,22 @@ displayed in a window.  It is incremented each time
 @code{set-window-buffer} is called for the buffer.
 @end defvar
 
-@defun window-buffer &optional window
-This function returns the buffer that @var{window} is displaying.  The
-default for @var{window} is the selected window.
-
-@example
-@group
-(window-buffer)
-     @result{} #<buffer windows.texi>
-@end group
-@end example
-@end defun
+@defvar buffer-display-time
+This variable records the time at which a buffer was last made visible
+in a window.  It is always local in each buffer; each time
+@code{set-window-buffer} is called, it sets this variable to
+@code{(current-time)} in the specified buffer (@pxref{Time of Day}).
+When a buffer is first created, @code{buffer-display-time} starts out
+with the value @code{nil}.
+@end defvar
 
 @defun get-buffer-window &optional buffer-or-name all-frames
-This function returns a window currently displaying
-@var{buffer-or-name}, or @code{nil} if there is none.  If there are
-several such windows, then the function returns the first one in the
-cyclic ordering of windows, starting from the selected window.
-@xref{Cyclic Window Ordering}.
+This function returns a window displaying @var{buffer-or-name}, or
+@code{nil} if there is none.  If there are several such windows, then
+the function returns the first one in the cyclic ordering of windows,
+starting from the selected window, @xref{Cyclic Window Ordering}.
 
-The argument @var{BUFFER-OR-NAME} may be a buffer or a buffer name and
+The argument @var{buffer-or-name} may be a buffer or a buffer name and
 defaults to the current buffer.  The optional argument @var{all-frames}
 specifies which windows to consider:
 
@@ -739,186 +2067,262 @@ This function returns a list of all windows currently displaying
 or the name of an existing buffer and defaults to the current buffer.
 
 The two remaining arguments work like the same-named arguments of
-@code{next-window}; they are @emph{not} like the optional arguments of
-@code{get-buffer-window}.
+@code{next-window} (@pxref{Cyclic Window Ordering}); they are @emph{not}
+like the optional arguments of @code{get-buffer-window}.
 @end defun
 
-@defvar buffer-display-time
-This variable records the time at which a buffer was last made visible
-in a window.  It is always local in each buffer; each time
-@code{set-window-buffer} is called, it sets this variable to
-@code{(current-time)} in the specified buffer (@pxref{Time of Day}).
-When a buffer is first created, @code{buffer-display-time} starts out
-with the value @code{nil}.
-@end defvar
+@deffn Command replace-buffer-in-windows &optional buffer-or-name
+This command replaces @var{buffer-or-name} with some other buffer, in
+all windows displaying it.  For each such window, it choose another
+buffer using @code{switch-to-prev-buffer} (@pxref{Window History}).
 
-@node Displaying Buffers
-@section Displaying Buffers in Windows
-@cindex switching to a buffer
-@cindex displaying a buffer
+@var{buffer-or-name} may be a buffer, or the name of an existing
+buffer; it defaults to the current buffer.
 
-  In this section we describe convenient functions that choose a window
-automatically and use it to display a specified buffer.  These functions
-can also split an existing window in certain circumstances.  We also
-describe variables that parameterize the heuristics used for choosing a
-window.
-@iftex
-See the preceding section for
-@end iftex
-@ifnottex
-@xref{Buffers and Windows}, for
-@end ifnottex
-low-level primitives that give you more precise control.  All of these
-functions work by calling @code{set-window-buffer}.
-
-  Do not use the functions in this section in order to make a buffer
-current so that a Lisp program can access or modify it; they are too
-drastic for that purpose, since they change the display of buffers in
-windows, which would be gratuitous and surprise the user.  Instead, use
-@code{set-buffer} and @code{save-current-buffer} (@pxref{Current
-Buffer}), which designate buffers as current for programmed access
-without affecting the display of buffers in windows.
-
-@deffn Command switch-to-buffer buffer-or-name &optional norecord
-This function makes @var{buffer-or-name} the current buffer, and also
-displays the buffer in the selected window.  This means that a human can
-see the buffer and subsequent keyboard commands will apply to it.
-Contrast this with @code{set-buffer}, which makes @var{buffer-or-name}
-the current buffer but does not display it in the selected window;
-see @ref{Current Buffer}.
-
-If @var{buffer-or-name} is @code{nil}, @code{switch-to-buffer} chooses a
-buffer using @code{other-buffer}.  If @var{buffer-or-name} is a string
-that does not identify an existing buffer, then a new buffer by that
-name is created.  The major mode for the new buffer is set according to
-the variable @code{major-mode}; see @ref{Auto Major Mode}.
-
-When the selected window is the minibuffer window or is strongly
-dedicated to its buffer (@pxref{Dedicated Windows}), this function calls
-@code{pop-to-buffer} (see below) to display the buffer in some other
-window.
+If a window displaying @var{buffer-or-name} is dedicated
+(@pxref{Dedicated Windows}), has never displayed any other buffers and
+is not the only window on its frame, that window is deleted.  If that
+window is the only window on its frame and there are other frames on the
+frame's terminal, that frame is deleted too; otherwise, the buffer
+provided by the function @code{switch-to-prev-buffer} (@pxref{Window
+History}) is displayed instead.
+@end deffn
 
-Normally the specified buffer is put at the front of the buffer list
-(both the selected frame's buffer list and the frame-independent buffer
-list).  This affects the operation of @code{other-buffer}.  However, if
-@var{norecord} is non-@code{nil}, this is not done.  @xref{The Buffer
-List}.
 
-The @code{switch-to-buffer} function is often used interactively, as
-the binding of @kbd{C-x b}.  It is also used frequently in programs.  It
-returns the buffer that it switched to.
+@node Switching Buffers
+@section Switching to a Buffer in a Window
+@cindex switching to a buffer
+@cindex displaying a buffer
+
+  This section describes high-level functions for switching to a
+specified buffer in some window.
+
+  Do @emph{not} use these functions to make a buffer temporarily
+current just so a Lisp program can access or modify it.  They have
+side-effects, such as changing window histories (@pxref{Window
+History}), which will surprise the user if used that way.  If you want
+to make a buffer current to modify it in Lisp, use
+@code{with-current-buffer}, @code{save-current-buffer}, or
+@code{set-buffer}.  @xref{Current Buffer}.
+
+@deffn Command switch-to-buffer buffer-or-name &optional norecord force-same-window
+This function displays @var{buffer-or-name} in the selected window,
+and makes it the current buffer.  (In contrast, @code{set-buffer}
+makes the buffer current but does not display it; @pxref{Current
+Buffer}).  It is often used interactively (as the binding of @kbd{C-x
+b}), as well as in Lisp programs.  The return value is the buffer
+switched to.
+
+If @var{buffer-or-name} is @code{nil}, it defaults to the buffer
+returned by @code{other-buffer} (@pxref{The Buffer List}).  If
+@var{buffer-or-name} is a string that is not the name of any existing
+buffer, this function creates a new buffer with that name; the new
+buffer's major mode is determined by the variable @code{major-mode}
+(@pxref{Major Modes}).
+
+Normally the specified buffer is put at the front of the buffer
+list---both the global buffer list and the selected frame's buffer
+list (@pxref{The Buffer List}).  However, this is not done if the
+optional argument @var{norecord} is non-@code{nil}.
+
+If this function is unable to display the buffer in the selected
+window---usually because the selected window is a minibuffer window or
+is strongly dedicated to its buffer (@pxref{Dedicated Windows})---then
+it normally tries to display the buffer in some other window, in the
+manner of @code{pop-to-buffer} (see below).  However, if the optional
+argument @var{force-same-window} is non-@code{nil}, it signals an error
+instead.
 @end deffn
 
 The next two functions are similar to @code{switch-to-buffer}, except
 for the described features.
 
-@deffn Command switch-to-buffer-other-window buffer-or-name &optional norecord
-This function makes the buffer specified by @var{buffer-or-name} current
-and displays it in a window not currently selected, using the function
+@deffn Command switch-to-buffer-other-window buffer-or-name &optional norecord
+This function makes the buffer specified by @var{buffer-or-name}
+current and displays it in some window other than the selected window.
+It uses the function @code{pop-to-buffer} internally (see below).
+
+If the selected window already displays the specified buffer, it
+continues to do so, but another window is nonetheless found to display
+it as well.
+
+The @var{buffer-or-name} and @var{norecord} arguments have the same
+meanings as in @code{switch-to-buffer}.
+@end deffn
+
+@deffn Command switch-to-buffer-other-frame buffer-or-name &optional norecord
+This function makes the buffer specified by @var{buffer-or-name}
+current and displays it, usually in a new frame.  It uses the function
 @code{pop-to-buffer} (see below).
 
-The currently selected window is absolutely never used to do the job.
-If the selected window already displays @var{buffer-or-name}, then it
-continues to do so, but another window is nonetheless found to display
-it in as well.
+If the specified buffer is already displayed in another window, in any
+frame on the current terminal, this switches to that window instead of
+creating a new frame.  However, the selected window is never used for
+this.
 
-This function updates the buffer list just like @code{switch-to-buffer}
-unless @var{norecord} is non-@code{nil}.
+The @var{buffer-or-name} and @var{norecord} arguments have the same
+meanings as in @code{switch-to-buffer}.
 @end deffn
 
-@defun pop-to-buffer buffer-or-name &optional other-window norecord
-This function makes @var{buffer-or-name} the current buffer and switches
-to it in some window, preferably not the window previously selected.
-The ``popped-to'' window becomes the selected window.  Its frame is
-given the X server's focus, if possible; see @ref{Input Focus}.  The
-return value is the buffer that was switched to.
-
-If @var{buffer-or-name} is @code{nil}, that means to choose some other
-buffer, but you don't specify which.  If @var{buffer-or-name} is a
-string that does not name an existing buffer, a buffer by that name is
-created.  The major mode for the new buffer is set according to the
-variable @code{major-mode}.  @xref{Auto Major Mode}.
-
-If either of the variables @code{display-buffer-reuse-frames} or
-@code{pop-up-frames} is non-@code{nil}, @code{pop-to-buffer} looks for a
-window in any visible frame already displaying the buffer; if there is
-one, it selects and returns that window.  If no such window exists and
-@code{pop-up-frames} is non-@code{nil}, it creates a new frame and
-displays the buffer in it.  Otherwise, @code{pop-to-buffer} operates
-entirely within the selected frame.  (If the selected frame has just a
-minibuffer, @code{pop-to-buffer} operates within the most recently
-selected frame that was not just a minibuffer.)
-
-If the variable @code{pop-up-windows} is non-@code{nil}, windows may be
-split to create a new window that is different from the original window.
-For details, see @ref{Choosing Window}.
-
-If @var{other-window} is non-@code{nil}, @code{pop-to-buffer} finds or
-creates another window even if @var{buffer-or-name} is already visible
-in the selected window.  Thus @var{buffer-or-name} could end up
-displayed in two windows.  On the other hand, if @var{buffer-or-name} is
-already displayed in the selected window and @var{other-window} is
-@code{nil}, then the selected window is considered sufficient for
-displaying @var{buffer-or-name}, so that nothing needs to be done.
-
-All the variables that affect @code{display-buffer} affect
-@code{pop-to-buffer} as well.  @xref{Choosing Window}.
-
-This function updates the buffer list just like @code{switch-to-buffer}
+The above commands use @code{pop-to-buffer}, which is the function
+used by Lisp programs to flexibly display a buffer in some window and
+select that window for editing:
+
+@defun pop-to-buffer buffer-or-name &optional action norecord
+This function makes @var{buffer-or-name} the current buffer and
+displays it in some window, preferably not the window previously
+selected.  It then selects the displaying window.  If that window is
+on a different graphical frame, that frame is given input focus if
+possible (@pxref{Input Focus}).  The return value is the buffer that
+was switched to.
+
+This function uses @code{display-buffer} to display the buffer, so all
+the variables affecting @code{display-buffer} will affect it as well.
+@xref{Choosing Window}.
+
+If @var{buffer-or-name} is @code{nil}, it defaults to the buffer
+returned by @code{other-buffer} (@pxref{The Buffer List}).  If
+@var{buffer-or-name} is a string that is not the name of any existing
+buffer, this function creates a new buffer with that name; the new
+buffer's major mode is determined by the variable @code{major-mode}
+(@pxref{Major Modes}).
+
+If @var{action} is non-@code{nil}, it should be a display action to
+pass to @code{display-buffer} (@pxref{Choosing Window}).
+Alternatively, a non-@code{nil}, non-list value means to pop to a
+window other than the selected one---even if the buffer is already
+displayed in the selected window.
+
+Like @code{switch-to-buffer}, this function updates the buffer list
 unless @var{norecord} is non-@code{nil}.
 @end defun
 
-@deffn Command replace-buffer-in-windows &optional buffer-or-name
-This function replaces @var{buffer-or-name} in all windows displaying
-it with some other buffer.  It uses @code{other-buffer} to choose the
-other buffer.  In the usual applications of this function, you
-don't care which other buffer is used; you just want to make sure that
-@var{buffer-or-name} is no longer displayed.
+@node Choosing Window
+@section Choosing a Window for Display
 
-The argument @var{buffer-or-name} may be a buffer or the name of an
-existing buffer and defaults to the current buffer.
+  The command @code{display-buffer} flexibly chooses a window for
+display, and displays a specified buffer in that window.  It can be
+called interactively, via the key binding @kbd{C-x 4 o}.  It is also
+used as a subroutine by many functions and commands, including
+@code{switch-to-buffer} and @code{pop-to-buffer} (@pxref{Switching
+Buffers}).
+
+@cindex display action
+@cindex action function, for display-buffer
+@cindex action alist, for display-buffer
+  This command performs several complex steps to find a window to
+display in.  These steps are described by means of @dfn{display
+actions}, which have the form @code{(@var{function} . @var{alist})}.
+Here, @var{function} is either a function or a list of functions,
+which we refer to as @dfn{action functions}; @var{alist} is an
+association list, which we refer to as @dfn{action alists}.
+
+  An action function accepts two arguments: the buffer to display and
+an action alist.  It attempts to display the buffer in some window,
+picking or creating a window according to its own criteria.  If
+successful, it returns the window; otherwise, it returns @code{nil}.
+@xref{Display Action Functions}, for a list of predefined action
+functions.
+
+  @code{display-buffer} works by combining display actions from
+several sources, and calling the action functions in turn, until one
+of them manages to display the buffer and returns a non-@code{nil}
+value.
+
+@deffn Command display-buffer buffer-or-name &optional action frame
+This command makes @var{buffer-or-name} appear in some window, without
+selecting the window or making the buffer current.  The argument
+@var{buffer-or-name} must be a buffer or the name of an existing
+buffer.  The return value is the window chosen to display the buffer.
+
+The optional argument @var{action}, if non-@code{nil}, should normally
+be a display action (described above).  @code{display-buffer} builds a
+list of action functions and an action alist, by consolidating display
+actions from the following sources (in order):
+
+@itemize
+@item
+The variable @code{display-buffer-overriding-action}.
 
-If a window displaying @var{buffer-or-name} is dedicated
-(@pxref{Dedicated Windows}), and is not the only window on its frame,
-that window is deleted.  If that window is the only window on its frame
-and there are other frames left, the window's frame is deleted too.  If
-there are no other frames left, some other buffer is displayed in that
-window.
+@item
+The user option @code{display-buffer-alist}.
+
+@item
+The @var{action} argument.
+
+@item
+The user option @code{display-buffer-base-action}.
+
+@item
+The constant @code{display-buffer-fallback-action}.
+@end itemize
 
-This function returns @code{nil}.
+@noindent
+Each action function is called in turn, passing the buffer as the
+first argument and the combined action alist as the second argument,
+until one of the functions returns non-nil.
+
+The argument @var{action} can also have a non-@code{nil}, non-list
+value.  This has the special meaning that the buffer should be
+displayed in a window other than the selected one, even if the
+selected window is already displaying it.  If called interactively
+with a prefix argument, @var{action} is @code{t}.
+
+The optional argument @var{frame}, if non-@code{nil}, specifies which
+frames to check when deciding whether the buffer is already displayed.
+It is equivalent to adding an element @code{(reusable-frames
+. @var{frame})} to the action alist of @var{action}.  @xref{Display
+Action Functions}.
 @end deffn
 
-@node Choosing Window
-@section Choosing a Window for Display
+@defvar display-buffer-overriding-action
+The value of this variable should be a display action, which is
+treated with the highest priority by @code{display-buffer}.  The
+default value is empty, i.e. @code{(nil . nil)}.
+@end defvar
+
+@defopt display-buffer-alist
+The value of this option is an alist mapping regular expressions to
+display actions.  If the name of the buffer passed to
+@code{display-buffer} matches a regular expression in this alist, then
+@code{display-buffer} uses the corresponding display action.
+@end defopt
+
+@defopt display-buffer-base-action
+The value of this option should be a display action.  This option can
+be used to define a ``standard'' display action for calls to
+@code{display-buffer}.
+@end defopt
+
+@defvr Constant display-buffer-fallback-action
+This display action specifies the fallback behavior for
+@code{display-buffer} if no other display actions are given.
+@end defvr
+
+@node Display Action Functions
+@section Action Functions for @code{display-buffer}
+
+The following basic action functions are defined in Emacs.  Each of
+these functions takes two arguments: @var{buffer}, the buffer to
+display, and @var{alist}, an action alist.  Each action function
+returns the window if it succeeds, and @code{nil} if it fails.
+
+@defun display-buffer-same-window buffer alist
+This function tries to display @var{buffer} in the selected window.
+It fails if the selected window is a minibuffer window or is dedicated
+to another buffer (@pxref{Dedicated Windows}).  It also fails if
+@var{alist} has a non-nil @code{inhibit-same-window} entry.
+@end defun
+
+@defun display-buffer-reuse-window buffer alist
+This function tries to ``display'' @var{buffer} by finding a window
+that is already displaying it.
+
+If @var{alist} has a non-@code{nil} @code{inhibit-same-window} entry,
+the selected window is not eligible for reuse.
 
-  This section describes the basic facility that chooses a window to
-display a buffer in---@code{display-buffer}.  Higher-level functions and
-commands, like @code{switch-to-buffer} and @code{pop-to-buffer}, use this
-subroutine.  Here we describe how to use @code{display-buffer} and how
-to customize it.
-
-@deffn Command display-buffer buffer-or-name &optional not-this-window frame
-This command makes @var{buffer-or-name} appear in some window, but it
-does not select that window and does not make the buffer specified by
-@var{buffer-or-name} current.  The identity of the selected window is
-unaltered by this function.  The argument @var{buffer-or-name} must be a
-buffer or the name of an existing buffer.
-
-@var{not-this-window} non-@code{nil} means to display the specified
-buffer in a window other than the selected one, even if it is already
-displayed in the selected window.  This can cause the buffer to appear
-in two windows at once.  Otherwise, if @var{buffer-or-name} is already
-being displayed in any window, that is good enough, so this function
-does nothing.
-
-@code{display-buffer} returns the window chosen to display
-@var{buffer-or-name}.
-
-If the optional argument @var{frame} is non-@code{nil}, it specifies
-which frames to check when deciding whether the buffer is already
-displayed.  If the buffer is already displayed in some window on one of
-these frames, @code{display-buffer} simply returns that window.  Here
-are the possible values of @var{frame}:
+If @var{alist} contains a @code{reusable-frames} entry, its value
+determines which frames to search for a reusable window:
 
 @itemize @bullet
 @item
@@ -934,9 +2338,36 @@ are the possible values of @var{frame}:
 A frame means consider windows on that frame only.
 @end itemize
 
-Precisely how @code{display-buffer} finds or creates a window depends on
-the variables described below.
-@end deffn
+If @var{alist} contains no @code{reusable-frames} entry, this function
+normally searches just the selected frame; however, if either the
+variable @code{display-buffer-reuse-frames} or the variable
+@code{pop-up-frames} is non-@code{nil}, it searches all frames on the
+current terminal.  @xref{Choosing Window Options}.
+@end defun
+
+@defun display-buffer-pop-up-frame buffer alist
+This function creates a new frame, and displays the buffer in that
+frame's window.
+@end defun
+
+@defun display-buffer-pop-up-window buffer alist
+This function tries to display @var{buffer} by splitting the selected
+window.  It uses @code{split-window-sensibly} as a subroutine
+(@pxref{Choosing Window Options}).
+@end defun
+
+@defun display-buffer-use-some-window buffer alist
+This function tries to display @var{buffer} by choosing an existing
+window and displaying the buffer in that window.  It can fail if all
+windows are dedicated to another buffer (@pxref{Dedicated Windows}).
+@end defun
+
+@node Choosing Window Options
+@section Additional Options for Displaying Buffers
+
+The behavior of the standard display actions of @code{display-buffer}
+(@pxref{Choosing Window}) can be modified by a variety of user
+options.
 
 @defopt display-buffer-reuse-frames
 If this variable is non-@code{nil}, @code{display-buffer} searches
@@ -1200,6 +2631,101 @@ If all options described above fail to produce a suitable window,
 resort, it will try to display @var{buffer-or-name} on a separate frame.
 In that case, the value of @code{pop-up-frames} is disregarded.
 
+
+@node Window History
+@section Window History
+@cindex window history
+
+Each window remembers the buffers it has displayed earlier and the order
+in which these buffers have been removed from it.  This history is used,
+for example, by @code{replace-buffer-in-windows} (@pxref{Buffers and
+Windows}).  This list is automatically maintained by Emacs, but you can
+use the following functions to explicitly inspect or alter it:
+
+@defun window-prev-buffers &optional window
+This function returns a list specifying the previous contents of
+@var{window}, which should be a live window and defaults to the
+selected window.
+
+Each list element has the form @code{(@var{buffer} @var{window-start}
+@var{window-pos})}, where @var{buffer} is a buffer previously shown in
+the window, @var{window-start} is the window start position when that
+buffer was last shown, and @var{window-pos} is the point position when
+that buffer was last shown.
+
+The list is ordered so that earlier elements correspond to more
+recently-shown buffers, and the first element usually corresponds to the
+buffer most recently removed from the window.
+@end defun
+
+@defun set-window-prev-buffers window prev-buffers
+This function sets @var{window}'s previous buffers to the value of
+@var{prev-buffers}.  The argument @var{window} must be a live window
+and defaults to the selected one.  The argument @var{prev-buffers}
+should be a list of the same form as that returned by
+@code{window-prev-buffers}.
+@end defun
+
+In addition, each buffer maintains a list of @dfn{next buffers}, which
+is a list of buffers re-shown by @code{switch-to-prev-buffer} (see
+below).  This list is mainly used by @code{switch-to-prev-buffer} and
+@code{switch-to-next-buffer} for choosing buffers to switch to.
+
+@defun window-next-buffers &optional window
+This function returns the list of buffers recently re-shown in
+@var{window} via @code{switch-to-prev-buffer}.  The @var{window}
+argument must denote a live window or @code{nil} (meaning the selected
+window).
+@end defun
+
+@defun set-window-next-buffers window next-buffers
+This function sets the next buffer list of @var{window} to
+@var{next-buffers}.  The @var{window} argument should be a live window
+or @code{nil} (meaning the selected window).  The argument
+@var{next-buffers} should be a list of buffers.
+@end defun
+
+The following commands can be used to cycle through the global buffer
+list, much like @code{bury-buffer} and @code{unbury-buffer}.  However,
+they cycle according to the specified window's history list, rather
+than the global buffer list.  In addition, they restore
+window-specific window start and point positions, and may show a
+buffer even if it is already shown in another window.  The
+@code{switch-to-prev-buffer} command, in particular, is used by
+@code{replace-buffer-in-windows}, @code{bury-buffer} and
+@code{quit-window} to find a replacement buffer for a window.
+
+@deffn Command switch-to-prev-buffer &optional window bury-or-kill
+This command displays the previous buffer in @var{window}.  The
+argument @var{window} should be a live window or @code{nil} (meaning
+the selected window).  If the optional argument @var{bury-or-kill} is
+non-@code{nil}, this means that the buffer currently shown in
+@var{window} is about to be buried or killed and consequently shall
+not be switched to in future invocations of this command.
+
+The previous buffer is usually the buffer shown before the buffer
+currently shown in @var{window}.  However, a buffer that has been buried
+or killed or has been already shown by a recent invocation of
+@code{switch-to-prev-buffer} does not qualify as previous buffer.
+
+If repeated invocations of this command have already shown all buffers
+previously shown in @var{window}, further invocations will show buffers
+from the buffer list of the frame @var{window} appears on (@pxref{The
+Buffer List}).
+@end deffn
+
+@deffn Command switch-to-next-buffer &optional window
+This command switches to the next buffer in @var{window} thus undoing
+the effect of the last @code{switch-to-prev-buffer} command in
+@var{window}.  The argument @var{window} must be a live window and
+defaults to the selected one.
+
+If there is no recent invocation of a @code{switch-to-prev-buffer} that
+can be undone, this function tries to show a buffer from the buffer list
+of the frame @var{window} appears on (@pxref{The Buffer List}).
+@end deffn
+
+
 @node Dedicated Windows
 @section Dedicated Windows
 @cindex dedicated window
@@ -1214,15 +2740,15 @@ non-@code{nil}.  The behavior of @code{set-window-buffer}
 (@pxref{Buffers and Windows}) with respect to dedicated windows is
 slightly different, see below.
 
-When @code{delete-windows-on} (@pxref{Deleting Windows}) wants to delete
-a dedicated window and that window is the only window on its frame, it
-deletes the window's frame too, provided there are other frames left.
-@code{replace-buffer-in-windows} (@pxref{Displaying Buffers}) tries to
-delete all dedicated windows showing its buffer argument.  When such a
-window is the only window on its frame, that frame is deleted, provided
-there are other frames left.  If there are no more frames left, some
-other buffer is displayed in the window, and the window is marked as
-non-dedicated.
+When @code{delete-windows-on} (@pxref{Deleting Windows}) wants to
+delete a dedicated window and that window is the only window on its
+frame, it deletes the window's frame too, provided there are other
+frames left.  @code{replace-buffer-in-windows} (@pxref{Switching
+Buffers}) tries to delete all dedicated windows showing its buffer
+argument.  When such a window is the only window on its frame, that
+frame is deleted, provided there are other frames left.  If there are
+no more frames left, some other buffer is displayed in the window, and
+the window is marked as non-dedicated.
 
 When you kill a buffer (@pxref{Killing Buffers}) displayed in a
 dedicated window, any such window usually gets deleted too, since
@@ -1253,6 +2779,59 @@ display.  Other functions do not treat @code{t} differently from any
 non-@code{nil} value.
 @end defun
 
+
+@node Quitting Windows
+@section Quitting Windows
+
+When you want to get rid of a window used for displaying a buffer you
+can use the function @code{delete-window} (@pxref{Deleting Windows}) to
+remove that window from its frame.  If the buffer has been shown on a
+separate frame, you might want to call @code{delete-frame}
+(@pxref{Deleting Frames}) instead.  If, on the other hand, a window has
+been reused for displaying the buffer, you might prefer showing the
+buffer previously shown in that window by calling the function
+@code{switch-to-prev-buffer} (@pxref{Window History}).  Finally, you
+might want to either bury (@pxref{The Buffer List}) or kill
+(@pxref{Killing Buffers}) the window's buffer.
+
+   The following function uses information on how the window for
+displaying the buffer was obtained in the first place thus attempting to
+automatize the above decisions for you.
+
+@deffn Command quit-window &optional kill window
+This command quits @var{window} and buries its buffer.  The argument
+@var{window} must be a live window and defaults to the selected one.
+With prefix argument @var{kill} non-@code{nil}, it kills the buffer
+instead of burying it.
+
+Quitting @var{window} means to proceed as follows: If @var{window} was
+created specially for displaying its current buffer, delete @var{window}
+provided its frame contains at least one other live window.  If
+@var{window} is the only window on its frame and other frames still
+exist, delete the frame together with @var{window}.  If, however, there
+are no other frames left, display some other buffer in @var{window}.
+
+If @var{window} was reused for displaying its buffer, this command tries
+to display the buffer previously shown in it.  It also tries to restore
+the window start (@pxref{Window Start and End}) and point (@pxref{Window
+Point}) positions of the previously shown buffer.  If, in addition, the
+current buffer was temporarily resized, this command will also try to
+restore the original height of @var{window}.
+
+The three cases described so far require that the buffer shown in
+@var{window} is still the buffer displayed by the last buffer display
+function for this window.  If another buffer has been shown in the
+meantime or the buffer previously shown no longer exists, this command
+calls @code{switch-to-prev-buffer} (@pxref{Window History}) to show some
+other buffer instead.
+@end deffn
+
+The function @code{quit-window} bases its decisions on information
+stored in @var{window}'s @code{quit-restore} window parameter
+(@pxref{Window Parameters}) and resets that parameter to @code{nil}
+after it's done.
+
+
 @node Window Point
 @section Windows and Point
 @cindex window position
@@ -1931,370 +3510,6 @@ is off the screen due to horizontal scrolling:
 @end group
 @end example
 
-@node Size of Window
-@section The Size of a Window
-@cindex window size
-@cindex size of window
-
-  An Emacs window is rectangular, and its size information consists of
-the height (the number of lines) and the width (the number of character
-positions in each line).  The mode line is included in the height.  But
-the width does not count the scroll bar or the column of @samp{|}
-characters that separates side-by-side windows.
-
-  The following three functions return size information about a window:
-
-@defun window-height &optional window
-This function returns the number of lines in @var{window} (by default
-the selected window), including any mode line and header line.
-The result is almost always less than the value of @code{frame-height}
-for the associated frame, because the latter also includes any echo
-area.  Depending on the toolkit in use, the frame height can also
-include the menu bar and tool bar (@pxref{Size and Position}).
-Therefore in general it is not straightforward to compare window and
-frame heights (see @code{window-full-height-p} below).
-
-@example
-@group
-(window-height)
-     @result{} 23
-@end group
-@group
-(split-window-vertically)
-     @result{} #<window 4 on windows.texi>
-@end group
-@group
-(window-height)
-     @result{} 11
-@end group
-@end example
-@end defun
-
-@defun window-body-height &optional window
-Like @code{window-height} but the value does not include the
-mode line (if any) or the header line (if any).
-@end defun
-
-@defun window-full-height-p &optional window
-This function returns non-@code{nil} if @var{window} is as tall as the
-frame that contains it.  The default for @var{window} is the selected
-window.
-@end defun
-
-@defun window-width &optional window
-This function returns the number of columns in @var{window}.  The
-default for @var{window} is the selected window.
-
-The return value does not include the window's scroll bar or the column
-of @samp{|} characters that separates side-by-side windows.  Moreover,
-the return value does not include the space used for displaying fringes
-and margins.  Hence you cannot, in general, compare the return values of
-@code{window-width} and @code{frame-width} for equality to determine
-whether a window is a wide as the containing frame.  Use the function
-@code{window-full-width-p}, see below, instead.
-
-@example
-@group
-(window-width)
-     @result{} 80
-@end group
-@end example
-@end defun
-
-@defun window-full-width-p &optional window
-This function returns non-@code{nil} if @var{window} is as wide as the
-frame that contains it; otherwise @code{nil}.  The default for
-@var{window} is the selected window.
-@end defun
-
-@defun window-edges &optional window
-This function returns a list of the edge coordinates of @var{window}.
-The default for @var{window} is the selected window.
-
-The order of the list is @code{(@var{left} @var{top} @var{right}
-@var{bottom})}, all elements relative to 0, 0 at the top left corner of
-the frame.  The element @var{right} of the value is one more than the
-rightmost column used by @var{window}, and @var{bottom} is one more than
-the bottommost row used by @var{window} and its mode-line.
-
-The edges include the space used by the window's scroll bar, display
-margins, fringes, header line, and mode line, if it has them.  Also,
-if the window has a neighbor on the right, its right edge value
-includes the width of the separator line between the window and that
-neighbor.  Since the width of the window does not include this
-separator, the width does not usually equal the difference between the
-right and left edges.
-@end defun
-
-@defun window-inside-edges &optional window
-This is similar to @code{window-edges}, but the edge values
-it returns include only the text area of the window.  They
-do not include the header line, mode line, scroll bar or
-vertical separator, fringes, or display margins.
-@end defun
-
-Here are the results obtained on a typical 24-line terminal with just
-one window, with menu bar enabled:
-
-@example
-@group
-(window-edges (selected-window))
-     @result{} (0 1 80 23)
-@end group
-@group
-(window-inside-edges (selected-window))
-     @result{} (0 1 80 22)
-@end group
-@end example
-
-@noindent
-The bottom edge is at line 23 because the last line is the echo area.
-The bottom inside edge is at line 22, which is the window's mode line.
-
-If @var{window} is at the upper left corner of its frame, and there is
-no menu bar, then @var{bottom} returned by @code{window-edges} is the
-same as the value of @code{(window-height)}, @var{right} is almost the
-same as the value of @code{(window-width)}, and @var{top} and
-@var{left} are zero.  For example, the edges of the following window
-are @w{@samp{0 0 8 5}}.  Assuming that the frame has more than 8
-columns, the last column of the window (column 7) holds a border
-rather than text.  The last row (row 4) holds the mode line, shown
-here with @samp{xxxxxxxxx}.
-
-@example
-@group
-           0
-           _______
-        0 |       |
-          |       |
-          |       |
-          |       |
-          xxxxxxxxx  4
-
-                  7
-@end group
-@end example
-
-In the following example, let's suppose that the frame is 7
-columns wide.  Then the edges of the left window are @w{@samp{0 0 4 3}}
-and the edges of the right window are @w{@samp{4 0 7 3}}.
-The inside edges of the left window are @w{@samp{0 0 3 2}},
-and the inside edges of the right window are @w{@samp{4 0 7 2}},
-
-@example
-@group
-           ___ ___
-          |   |   |
-          |   |   |
-          xxxxxxxxx
-
-           0  34  7
-@end group
-@end example
-
-@defun window-pixel-edges &optional window
-This function is like @code{window-edges} except that, on a graphical
-display, the edge values are measured in pixels instead of in
-character lines and columns.
-@end defun
-
-@defun window-inside-pixel-edges &optional window
-This function is like @code{window-inside-edges} except that, on a
-graphical display, the edge values are measured in pixels instead of
-in character lines and columns.
-@end defun
-
-@node Resizing Windows
-@section Changing the Size of a Window
-@cindex window resizing
-@cindex resize window
-@cindex changing window size
-@cindex window size, changing
-
-   The window size functions fall into two classes: high-level commands
-that change the size of windows and low-level functions that access
-window size.  Emacs does not permit overlapping windows or gaps between
-windows, so resizing a window always affects at least one other window.
-
-@deffn Command enlarge-window size &optional horizontal
-This function makes the selected window @var{size} lines taller by
-stealing lines from windows above or below.  In a first round, it takes
-lines from one window at a time until that window is
-@code{window-min-height} lines tall, then takes from another.  If, at
-the end of the first round, the selected window is still not tall
-enough, @code{enlarge-window} starts a second round, where it deletes
-windows above or below the selected one.
-
-If @var{horizontal} is non-@code{nil}, this function makes the window
-@var{size} columns wider, stealing columns instead of lines.  If a
-window from which columns are stolen shrinks below
-@code{window-min-width} columns, that window disappears.
-
-If the requested size would exceed that of the window's frame, then the
-function makes the window occupy the entire height (or width) of the
-frame.
-
-If there are various other windows from which lines or columns can be
-stolen, and some of them specify fixed size (using
-@code{window-size-fixed}, see below), they are left untouched while
-other windows are ``robbed.''  If it would be necessary to alter the
-size of a fixed-size window, @code{enlarge-window} gets an error
-instead.
-
-If @var{size} is negative, this function shrinks the selected window by
-@minus{}@var{size} lines or columns.  If that makes the window smaller
-than the minimum size (@code{window-min-height} and
-@code{window-min-width}), then @code{enlarge-window} deletes the window.
-
-@code{enlarge-window} returns @code{nil}.
-@end deffn
-
-@deffn Command enlarge-window-horizontally columns
-This function makes the selected window @var{columns} wider.
-It could be defined as follows:
-
-@example
-@group
-(defun enlarge-window-horizontally (columns)
-  (interactive "p")
-  (enlarge-window columns t))
-@end group
-@end example
-@end deffn
-
-@deffn Command shrink-window size &optional horizontal
-This function is like @code{enlarge-window} but negates the argument
-@var{size}, making the selected window smaller by giving lines (or
-columns) to the other windows.  If the window shrinks below
-@code{window-min-height} or @code{window-min-width}, then it disappears.
-
-If @var{size} is negative, the window is enlarged by @minus{}@var{size}
-lines or columns.
-@end deffn
-
-@deffn Command shrink-window-horizontally columns
-This function makes the selected window @var{columns} narrower.
-It could be defined as follows:
-
-@example
-@group
-(defun shrink-window-horizontally (columns)
-  (interactive "p")
-  (shrink-window columns t))
-@end group
-@end example
-@end deffn
-
-@defun adjust-window-trailing-edge window delta horizontal
-This function makes the selected window @var{delta} lines taller or
-@var{delta} columns wider, by moving the bottom or right edge.  This
-function does not delete other windows; if it cannot make the
-requested size adjustment, it signals an error.  On success, this
-function returns @code{nil}.
-@end defun
-
-@deffn Command fit-window-to-buffer &optional window max-height min-height
-This command makes @var{window} the right height to display its
-contents exactly.  The default for @var{window} is the selected window.
-
-The optional argument @var{max-height} specifies the maximum height the
-window is allowed to be; @code{nil} means use the maximum permissible
-height of a window on @var{window}'s frame.  The optional argument
-@var{min-height} specifies the minimum height for the window; @code{nil}
-means use @code{window-min-height}.  All these height values include the
-mode line and/or header line.
-
-This function can delete windows when their height shrinks below
-@var{min-height}.  It returns non-@code{nil} if it orderly resized
-@var{window}, and @code{nil} otherwise.
-@end deffn
-
-@deffn Command shrink-window-if-larger-than-buffer &optional window
-This command shrinks @var{window} vertically to be as small as possible
-while still showing the full contents of its buffer---but not less than
-@code{window-min-height} lines.  The default for @var{window} is
-the selected window.
-
-However, this command does nothing if the window is already too small to
-display the whole text of the buffer, or if part of the contents are
-currently scrolled off screen, or if the window is not the full width of
-its frame, or if the window is the only window in its frame.
-
-This command returns non-@code{nil} if it actually shrank the window
-and @code{nil} otherwise.
-@end deffn
-
-@cindex fixed-size window
-@defvar window-size-fixed
-If this variable is non-@code{nil}, in a given buffer, then the size of
-any window displaying that buffer remains fixed unless you either
-explicitly change it or Emacs has no other choice.
-
-If the value is @code{height}, then only the window's height is fixed;
-if the value is @code{width}, then only the window's width is fixed.
-Any other non-@code{nil} value fixes both the width and the height.
-
-This variable automatically becomes buffer-local when set.
-
-Explicit size-change functions such as @code{enlarge-window}
-get an error if they would have to change a window size which is fixed.
-Therefore, when you want to change the size of such a window,
-you should bind @code{window-size-fixed} to @code{nil}, like this:
-
-@example
-(let ((window-size-fixed nil))
-   (enlarge-window 10))
-@end example
-
-Deleting an adjacent window or changing the frame size may change the
-size of a fixed-size window, if there is no other alternative.
-@end defvar
-
-@cindex minimum window size
-  The following two variables constrain the window-structure-changing
-functions to a minimum height and width.
-
-@defopt window-min-height
-The value of this variable specifies how short a window may become
-before it is automatically deleted.  Making a window smaller than
-@code{window-min-height} automatically deletes it, and no window may be
-created shorter than this.  The value is measured in line units.  When
-the window wants a mode line and/or a header line, they are counted as
-one line each.  The default value is @code{4}.  A value less than
-@code{1} is ignored.
-@end defopt
-
-@defopt window-min-width
-The value of this variable specifies how narrow a window may become
-before it is automatically deleted.  Making a window smaller than
-@code{window-min-width} automatically deletes it, and no window may be
-created narrower than this.  The value is measured in characters and
-includes any fringes or the scroll bar.  The default value is @code{10}.
-A value less than @code{2} is ignored.
-@end defopt
-
-@cindex balancing window sizes
-Emacs provides two functions to balance windows, that is, to even out
-the sizes of windows on the same frame.  The minibuffer window and
-fixed-size windows are not resized by these functions.
-
-@deffn Command balance-windows &optional window-or-frame
-This function balances windows in a way that gives more space to
-full-width and/or full-height windows.  If @var{window-or-frame}
-specifies a frame, it balances all windows on that frame.  If
-@var{window-or-frame} specifies a window, it balances this window and
-its ``siblings'' only.  Think of a sibling as the other (original or
-new) window with respect to the present one, involved in the process of
-splitting; see @ref{Splitting Windows}.  Since a sibling may have been
-split again, a window can have more than one sibling.
-@end deffn
-
-@deffn Command balance-windows-area
-This function attempts to give all windows on the selected frame
-approximately the same share of the screen area.  This means that
-full-width or full-height windows are not given more space than other
-windows.
-@end deffn
 
 @node Coordinates and Windows
 @section Coordinates and Windows
@@ -2357,45 +3572,19 @@ The function @code{coordinates-in-window-p} does not require a frame as
 argument because it always uses the frame that @var{window} is on.
 @end defun
 
-@node Window Tree
-@section The Window Tree
-@cindex window tree
-
-  A @dfn{window tree} specifies the layout, size, and relationship
-between all windows in one frame.
-
-@defun window-tree &optional frame
-This function returns the window tree for frame @var{frame}.
-If @var{frame} is omitted, the selected frame is used.
-
-The return value is a list of the form @code{(@var{root} @var{mini})},
-where @var{root} represents the window tree of the frame's
-root window, and @var{mini} is the frame's minibuffer window.
-
-If the root window is not split, @var{root} is the root window itself.
-Otherwise, @var{root} is a list @code{(@var{dir} @var{edges} @var{w1}
-@var{w2} ...)} where @var{dir} is @code{nil} for a horizontal split,
-and @code{t} for a vertical split, @var{edges} gives the combined size and
-position of the subwindows in the split, and the rest of the elements
-are the subwindows in the split.  Each of the subwindows may again be
-a window or a list representing a window split, and so on.  The
-@var{edges} element is a list @code{(@var{left}@var{ top}@var{ right}@var{ bottom})}
-similar to the value returned by @code{window-edges}.
-@end defun
 
 @node Window Configurations
 @section Window Configurations
 @cindex window configurations
 @cindex saving window information
 
-  A @dfn{window configuration} records the entire layout of one
+A @dfn{window configuration} records the entire layout of one
 frame---all windows, their sizes, which buffers they contain, how those
 buffers are scrolled, and their values of point and the mark; also their
 fringes, margins, and scroll bar settings.  It also includes the value
 of @code{minibuffer-scroll-window}.  As a special exception, the window
 configuration does not record the value of point in the selected window
-for the current buffer.  Also, the window configuration does not record
-the values of window parameters; see @ref{Window Parameters}.
+for the current buffer.
 
   You can bring back an entire frame layout by restoring a previously
 saved window configuration.  If you want to record the layout of all
@@ -2505,24 +3694,62 @@ sense, but are not implemented because we did not need them.  See the
 file @file{winner.el} for some more operations on windows
 configurations.
 
+  The objects returned by @code{current-window-configuration} die
+together with the Emacs process.  In order to store a window
+configuration on disk and read it back in another Emacs session the
+following two functions can be used.
+
+@defun window-state-get &optional window markers
+This function returns the state of @var{window} as a Lisp object.  The
+argument @var{window} can be any window and defaults to the root window
+of the selected frame.
+
+The optional argument @var{markers} non-@code{nil} means to use markers
+for sampling positions like @code{window-point} or @code{window-start}.
+This argument should be non-@code{nil} only if the value is used for
+putting the state back in the same session since markers slow down
+processing.
+@end defun
+
+The value returned by @code{window-state-get} can be converted by using
+one of the functions defined by Desktop Save Mode (@pxref{Desktop Save
+Mode}) to an object that can be written to a file.  Such objects can be
+read back and converted to a Lisp object representing the state of the
+window.  That Lisp object can be used as argument for the following
+function in order to restore the state window in another window.
+
+@defun window-state-put state &optional window ignore
+This function puts the window state @var{state} into @var{window}.  The
+argument @var{state} should be the state of a window returned by an
+earlier invocation of @code{window-state-get}, see above.  The optional
+argument @var{window} must specify a live window and defaults to the
+selected one.
+
+The optional argument @var{ignore} non-@code{nil} means to ignore
+minimum window sizes and fixed size restrictions.  If @var{ignore}
+equals @code{safe}, this means subwindows can get as small as one line
+and/or two columns.
+@end defun
+
+
 @node Window Parameters
 @section Window Parameters
 @cindex window parameters
 
-This sections describes how window parameters can be used to associate
+This section describes how window parameters can be used to associate
 additional information with windows.
 
 @defun window-parameter window parameter
 This function returns @var{window}'s value for @var{parameter}.  The
-default for @var{window} is the selected window.  If @var{window}
-has no setting for @var{parameter}, this function returns @code{nil}.
+default for @var{window} is the selected window.  If @var{window} has no
+setting for @var{parameter}, this function returns @code{nil}.
 @end defun
 
 @defun window-parameters &optional window
 This function returns all parameters of @var{window} and their values.
-The default for @var{window} is the selected window.  The return value
-is an association list of elements of the form @code{(@var{parameter}
-. @var{value})}.
+The default for @var{window} is the selected window.  The return value,
+if non-@code{nil} is an association list whose elements have the form
+@code{(@var{parameter} . @var{value})}.
 @end defun
 
 @defun set-window-parameter window parameter value
@@ -2531,13 +3758,56 @@ This function sets @var{window}'s value of @var{parameter} to
 is the selected window.
 @end defun
 
-Currently, window parameters are not saved in window configurations and
-consequently not restored by @code{set-window-configuration}.  Hence,
-any change of a parameter introduced via @code{set-window-parameter} can
-be undone only by invoking @code{set-window-parameter} for the same
-parameter again.  Since @code{save-window-excursion} relies on window
-configurations (@pxref{Window Configurations}), window parameters are
-not saved and restored by that special form, either.
+Some functions, notably @code{delete-window},
+@code{delete-other-windows} and @code{split-window} may behave specially
+when their @var{window} argument has a parameter set.  You can override
+such special behavior by binding the following variable to a
+non-@code{nil} value:
+
+@defvar ignore-window-parameters
+If this variable is non-@code{nil}, some standard functions do not
+process window parameters.  The functions currently affected by this are
+@code{split-window}, @code{delete-window}, @code{delete-other-windows}
+and @code{other-window}.
+
+An application can bind this variable to a non-@code{nil} value around
+calls to these functions.  If it does so, the application is fully
+responsible for correctly assigning the parameters of all involved
+windows when exiting that function.
+@end defvar
+
+The following parameters are currently used by the window management
+code.
+
+@table @asis
+@item @code{delete-window}
+This parameter affects the execution of @code{delete-window}
+(@pxref{Deleting Windows}).
+
+@item @code{delete-other-windows}
+This parameter affects the execution of @code{delete-other-windows}
+(@pxref{Deleting Windows}).
+
+@item @code{split-window}
+This parameter affects the execution of @code{split-window}
+(@pxref{Splitting Windows}).
+
+@item @code{other-window}
+This parameter affects the execution of @code{other-window}
+(@pxref{Cyclic Window Ordering}).
+
+@item @code{no-other-window}
+This parameter marks the window as not selectable by @code{other-window}
+(@pxref{Cyclic Window Ordering}).
+@end table
+
+In addition, the parameters @code{window-atom} and @code{window-side}
+are reserved and should not be used by applications.  The
+@code{quit-restore} parameter tells how to proceed with a window when
+the buffer it shows is no more needed.  This parameter is installed by
+the buffer display functions (@pxref{Choosing Window}) and consulted by
+the function @code{quit-window} (@pxref{Quitting Windows}).
+
 
 @node Window Hooks
 @section Hooks for Window Scrolling and Changes
index aef5bd4..60dfe38 100644 (file)
@@ -1,5 +1,5 @@
 .\" See section COPYING for copyright and redistribution information.
-.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.50"
+.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.90"
 .
 .
 .SH NAME
index 9826523..6af229b 100644 (file)
@@ -1,3 +1,18 @@
+2011-09-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Archived Messages): Note the default (bug#9552).
+
+2011-09-21  Bill Wohler  <wohler@newt.com>
+
+       Release MH-E manual version 8.3.
+
+       * mh-e.texi: (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
+       release 8.3.
+       (Preface): Updated support information.
+       (From Bill Wohler): Reset text to original version. As a
+       historical quote, the tense should be correct in the time that it
+       was written.
+
 2011-09-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Listing Groups): Explain `gnus-group-list-limit'.
index 59c3989..211bfdb 100644 (file)
@@ -12617,7 +12617,7 @@ Messages will be saved in all those groups.
 When a key ``matches'', the result is used.
 
 @item @code{nil}
-No message archiving will take place.  This is the default.
+No message archiving will take place.
 @end table
 
 Let's illustrate:
index 43d7bc7..4e63410 100644 (file)
@@ -8,12 +8,12 @@
 @c %**end of header
 
 @c Version of the software and manual.
-@set VERSION 8.2
+@set VERSION 8.3
 @c Edition of the manual. It is either empty for the first edition or
 @c has the form ", nth Edition" (without the quotes).
 @set EDITION
-@set UPDATED 2009-06-13
-@set UPDATE-MONTH June, 2009
+@set UPDATED 2011-09-20
+@set UPDATE-MONTH September, 2011
 
 @c Other variables.
 @set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh
@@ -212,10 +212,11 @@ more niceties about GNU Emacs and MH@. Now I'm fully hooked on both of
 them.
 
 The MH-E package is distributed with Emacs@footnote{Version
-@value{VERSION} of MH-E appeared in Emacs 23.1. It is supported
-in Emacs 21 and 22, as well as XEmacs 21 (except for versions
-21.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher,
-all versions of nmh, and GNU mailutils 1.0 and higher.}, so you
+@value{VERSION} of MH-E appeared in Emacs 24.1. It is supported in GNU
+Emacs 23 and higher, as well as XEmacs 21.4.22 and 21.5.31. MH-E is
+known not to work with GNU Emacs versions 20 and below, and XEmacs
+version 21.5.9 - 21.5.16. It is compatible with MH versions 6.8.4 and
+higher, all versions of nmh, and GNU mailutils 1.0 and higher}, so you
 shouldn't have to do anything special to use it. Gnus is also
 required; version 5.10 or higher is recommended. This manual covers
 MH-E version @value{VERSION}. To help you decide which version you
@@ -8950,8 +8951,8 @@ files that were already part of Emacs) and the software was completely
 reorganized to push back two decades of entropy. Version 8 appeared in
 Emacs 22.1 in 2006.
 
-Development was then quiet for a couple of years. Emacs 23.1, released
-in June 2009, contains version 8.2.  This version includes a few
+Development was then quiet for a couple of years. Emacs 23.1, which is
+due out in 2009, will contain version 8.1. This version includes a few
 new features and several bug fixes.
 
 Bill Wohler, August 2008
index a7f94f9..3298298 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2011-08-14.17}
+\def\texinfoversion{2011-09-23.09}
 %
 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -3955,13 +3955,13 @@ end
 %        If so, set to same dimension as multitablelinespace.
 \ifdim\multitableparskip>\multitablelinespace
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi%
 \ifdim\multitableparskip=0pt
 \global\multitableparskip=\multitablelinespace
-\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
-                                      %% than skip between lines in the table.
+\global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
+                                      % than skip between lines in the table.
 \fi}
 
 
@@ -7247,9 +7247,15 @@ end
 \def\macroxxx#1{%
   \getargs{#1}% now \macname is the macname and \argl the arglist
   \ifx\argl\empty       % no arguments
-     \paramno=0
+     \paramno=0\relax
   \else
      \expandafter\parsemargdef \argl;%
+     \if\paramno>256\relax
+       \ifx\eTeXversion\thisisundefined
+         \errhelp = \EMsimple
+         \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
+       \fi
+     \fi
   \fi
   \if1\csname ismacro.\the\macname\endcsname
      \message{Warning: redefining \the\macname}%
@@ -7299,9 +7305,17 @@ end
 \def\getmacname#1 #2\relax{\macname={#1}}
 \def\getmacargs#1{\def\argl{#1}}
 
+% For macro processing make @ a letter so that we can make Texinfo private macro names.
+\edef\texiatcatcode{\the\catcode`\@}
+\catcode `@=11\relax
+
 % Parse the optional {params} list.  Set up \paramno and \paramlist
-% so \defmacro knows what to do.  Define \macarg.blah for each blah
-% in the params list to be ##N where N is the position in that list.
+% so \defmacro knows what to do.  Define \macarg.BLAH for each BLAH
+% in the params list to some hook where the argument si to be expanded.  If
+% there are less than 10 arguments that hook is to be replaced by ##N where N
+% is the position in that list, that is to say the macro arguments are to be
+% defined `a la TeX in the macro body.  
+%
 % That gets used by \mbodybackslash (above).
 %
 % We need to get `macro parameter char #' into several definitions.
@@ -7311,12 +7325,33 @@ end
 %
 % The same technique is used to protect \eatspaces till just before
 % the macro is used.
-
+%
+% If there are 10 or more arguments, a different technique is used, where the
+% hook remains in the body, and when macro is to be expanded the body is
+% processed again to replace the arguments.
+%
+% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
+% argument N value and then \edef  the body (nothing else will expand because of
+% the catcode regime underwhich the body was input).
+%
+% If you compile with TeX (not eTeX), and you have macros with 10 or more
+% arguments, you need that no macro has more than 256 arguments, otherwise an
+% error is produced.
 \def\parsemargdef#1;{%
   \paramno=0\def\paramlist{}%
   \let\hash\relax
   \let\xeatspaces\relax
   \parsemargdefxxx#1,;,%
+  % In case that there are 10 or more arguments we parse again the arguments
+  % list to set new definitions for the \macarg.BLAH macros corresponding to
+  % each BLAH argument. It was anyhow needed to parse already once this list
+  % in order to count the arguments, and as macros with at most 9 arguments
+  % are by far more frequent than macro with 10 or more arguments, defining
+  % twice the \macarg.BLAH macros does not cost too much processing power.
+  \ifnum\paramno<10\relax\else
+    \paramno0\relax
+    \parsemmanyargdef@@#1,;,% 10 or more arguments
+  \fi
 }
 \def\parsemargdefxxx#1,{%
   \if#1;\let\next=\relax
@@ -7327,16 +7362,205 @@ end
     \edef\paramlist{\paramlist\hash\the\paramno,}%
   \fi\next}
 
+\def\parsemmanyargdef@@#1,{%
+  \if#1;\let\next=\relax
+  \else 
+    \let\next=\parsemmanyargdef@@
+    \edef\tempb{\eatspaces{#1}}%
+    \expandafter\def\expandafter\tempa
+       \expandafter{\csname macarg.\tempb\endcsname}%
+    % Note that we need some extra \noexpand\noexpand, this is because we
+    % don't want \the  to be expanded in the \parsermacbody  as it uses an
+    % \xdef .
+    \expandafter\edef\tempa
+      {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
+    \advance\paramno by 1\relax
+  \fi\next}
+
 % These two commands read recursive and nonrecursive macro bodies.
 % (They're different since rec and nonrec macros end differently.)
 %
+
+\catcode `\@\texiatcatcode
 \long\def\parsemacbody#1@end macro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
 \long\def\parsermacbody#1@end rmacro%
 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\catcode `\@=11\relax
+
+\let\endargs@\relax
+\let\nil@\relax
+\def\nilm@{\nil@}%
+\long\def\nillm@{\nil@}%
+
+% This macro is expanded during the Texinfo macro expansion, not during its
+% definition.  It gets all the arguments values and assigns them to macros
+% macarg.ARGNAME
+%
+% #1 is the macro name
+% #2 is the list of argument names
+% #3 is the list of argument values
+\def\getargvals@#1#2#3{%
+  \def\macargdeflist@{}%
+  \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
+  \def\paramlist{#2,\nil@}%
+  \def\macroname{#1}%
+  \begingroup
+  \macroargctxt
+  \def\argvaluelist{#3,\nil@}%
+  \def\@tempa{#3}%
+  \ifx\@tempa\empty
+    \setemptyargvalues@
+  \else
+    \getargvals@@
+  \fi
+}
 
-% This defines the macro itself. There are six cases: recursive and
-% nonrecursive macros of zero, one, and many arguments.
+% 
+\def\getargvals@@{%
+  \ifx\paramlist\nilm@
+      % Some sanity check needed here that \argvaluelist is also empty.
+      \ifx\argvaluelist\nillm@
+      \else
+        \errhelp = \EMsimple
+        \errmessage{Too many arguments in macro `\macroname'!}%
+      \fi
+      \let\next\macargexpandinbody@
+  \else
+    \ifx\argvaluelist\nillm@
+       % No more arguments values passed to macro.  Set remaining named-arg
+       % macros to empty.
+       \let\next\setemptyargvalues@
+    \else
+      % pop current arg name into \@tempb
+      \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
+      \expandafter\@tempa\expandafter{\paramlist}%
+       % pop current argument value into \@tempc
+      \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
+      \expandafter\@tempa\expandafter{\argvaluelist}%
+       % Here \@tempb is the current arg name and \@tempc is the current arg value.
+       % First place the new argument macro definition into \@tempd
+       \expandafter\macname\expandafter{\@tempc}%
+       \expandafter\let\csname macarg.\@tempb\endcsname\relax
+       \expandafter\def\expandafter\@tempe\expandafter{%
+         \csname macarg.\@tempb\endcsname}%
+       \edef\@tempd{\long\def\@tempe{\the\macname}}%
+       \push@\@tempd\macargdeflist@
+       \let\next\getargvals@@
+    \fi
+  \fi
+  \next
+}
+
+\def\push@#1#2{%
+  \expandafter\expandafter\expandafter\def
+  \expandafter\expandafter\expandafter#2%
+  \expandafter\expandafter\expandafter{%
+  \expandafter#1#2}%
+}
+
+% Replace arguments by their values in the macro body, and place the result
+% in macro \@tempa
+\def\macvalstoargs@{%
+  %  To do this we use the property that token registers that are \the'ed
+  % within an \edef  expand only once. So we are going to place all argument
+  % values into respective token registers.
+  %
+  % First we save the token context, and initialize argument numbering.
+  \begingroup
+    \paramno0\relax
+    % Then, for each argument number #N, we place the corresponding argument
+    % value into a new token list register \toks#N
+    \expandafter\putargsintokens@\saveparamlist@,;,%
+    % Then, we expand the body so that argument are replaced by their
+    % values. The trick for values not to be expanded themselves is that they
+    % are within tokens and that tokens expand only once in an \edef .
+    \edef\@tempc{\csname mac.\macroname .body\endcsname}%
+    % Now we restore the token stack pointer to free the token list registers
+    % which we have used, but we make sure that expanded body is saved after
+    % group.
+    \expandafter
+  \endgroup
+  \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+  }
+
+\def\macargexpandinbody@{% 
+  %% Define the named-macro outside of this group and then close this group. 
+  \expandafter
+  \endgroup
+  \macargdeflist@
+  % First the replace in body the macro arguments by their values, the result
+  % is in \@tempa .
+  \macvalstoargs@
+  % Then we point at the \norecurse or \gobble (for recursive) macro value
+  % with \@tempb .
+  \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
+  % Depending on whether it is recursive or not, we need some tailing
+  % \egroup .
+  \ifx\@tempb\gobble
+     \let\@tempc\relax
+  \else
+     \let\@tempc\egroup
+  \fi
+  % And now we do the real job:
+  \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
+  \@tempd
+}
+
+\def\putargsintokens@#1,{%
+  \if#1;\let\next\relax
+  \else
+    \let\next\putargsintokens@
+    % First we allocate the new token list register, and give it a temporary
+    % alias \@tempb .
+    \toksdef\@tempb\the\paramno
+    % Then we place the argument value into that token list register.
+    \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
+    \expandafter\@tempb\expandafter{\@tempa}%
+    \advance\paramno by 1\relax
+  \fi
+  \next
+}
+
+% Save the token stack pointer into macro #1
+\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
+% Restore the token stack pointer from number in macro #1
+\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
+% newtoks that can be used non \outer .
+\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
+
+% Tailing missing arguments are set to empty
+\def\setemptyargvalues@{%
+  \ifx\paramlist\nilm@
+    \let\next\macargexpandinbody@
+  \else
+    \expandafter\setemptyargvaluesparser@\paramlist\endargs@
+    \let\next\setemptyargvalues@
+  \fi
+  \next
+}
+
+\def\setemptyargvaluesparser@#1,#2\endargs@{%
+  \expandafter\def\expandafter\@tempa\expandafter{%
+    \expandafter\def\csname macarg.#1\endcsname{}}%
+  \push@\@tempa\macargdeflist@
+  \def\paramlist{#2}%
+}
+
+% #1 is the element target macro
+% #2 is the list macro
+% #3,#4\endargs@ is the list value
+\def\pop@#1#2#3,#4\endargs@{%
+   \def#1{#3}%
+   \def#2{#4}%
+}
+\long\def\longpop@#1#2#3,#4\endargs@{%
+   \long\def#1{#3}%
+   \long\def#2{#4}%
+}
+
+% This defines a Texinfo @macro. There are eight cases: recursive and
+% nonrecursive macros of zero, one, up to nine, and many arguments.
 % Much magic with \expandafter here.
 % \xdef is used so that macro definitions will survive the file
 % they're defined in; @include reads the file inside a group.
@@ -7355,17 +7579,25 @@ end
          \expandafter\noexpand\csname\the\macname xxx\endcsname}%
       \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
          \egroup\noexpand\scanmacro{\temp}}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-        \csname\the\macname xxx\endcsname
-          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \else
+      \ifnum\paramno<10\relax % at most 9
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+          \csname\the\macname xxx\endcsname
+            \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+      \else % 10 or more
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          \noexpand\getargvals@{\the\macname}{\argl}%
+        }%    
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
+      \fi
     \fi
   \else
     \ifcase\paramno
@@ -7382,23 +7614,33 @@ end
         \egroup
         \noexpand\norecurse{\the\macname}%
         \noexpand\scanmacro{\temp}\egroup}%
-    \else % many
-      \expandafter\xdef\csname\the\macname\endcsname{%
-         \bgroup\noexpand\macroargctxt
-         \expandafter\noexpand\csname\the\macname xx\endcsname}%
-      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
-          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
-      \expandafter\expandafter
-      \expandafter\xdef
-      \expandafter\expandafter
-      \csname\the\macname xxx\endcsname
-      \paramlist{%
-          \egroup
-          \noexpand\norecurse{\the\macname}%
-          \noexpand\scanmacro{\temp}\egroup}%
+    \else % at most 9
+      \ifnum\paramno<10\relax
+        \expandafter\xdef\csname\the\macname\endcsname{%
+           \bgroup\noexpand\macroargctxt
+           \expandafter\noexpand\csname\the\macname xx\endcsname}%
+        \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+            \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+        \expandafter\expandafter
+        \expandafter\xdef
+        \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+        \paramlist{%
+            \egroup
+            \noexpand\norecurse{\the\macname}%
+            \noexpand\scanmacro{\temp}\egroup}%
+      \else % 10 or more:
+        \expandafter\xdef\csname\the\macname\endcsname{%
+          \noexpand\getargvals@{\the\macname}{\argl}%
+        }%
+        \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
+        \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
+      \fi
     \fi
   \fi}
 
+\catcode `\@\texiatcatcode\relax
+
 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
 
 % \braceorline decides whether the next nonwhitespace character is a
index 916f8cd..dc63212 100644 (file)
@@ -7,21 +7,29 @@ Aaron Ecay: changed nsterm.m
 
 Aaron Larson: co-wrote bibtex.el
 
-Aaron S. Hawley: changed files.texi autoinsert.el building.texi
-  custom.texi files.el glossary.texi isearch.el jka-cmpr-hook.el
-  misc.texi sgml-mode.el tar-mode.el texinfo.el thingatpt.el tutorial.el
+Aaron S. Hawley: changed files.texi morse.el add-log.el autoinsert.el
+  building.texi custom.texi files.el glossary.texi isearch.el
+  jka-cmpr-hook.el misc.texi re-builder.el sgml-mode.el tar-mode.el
+  texinfo.el thingatpt.el tutorial.el
 
 Abraham Nahum: changed configure.in dgux4.h sysdep.c
 
 Abramo Bagnara: changed term.c
 
+Achim Gratz: changed org-clock.el org.el org.texi ob-ref.el ob.el
+  org-macs.el
+
 Adam Gołębiowski: changed Makefile.in
 
-Adam Hupp: changed emacs.py emacs2.py emacs3.py gud.el python.el
+Adam Hupp: changed emacs.py emacs2.py emacs3.py gud.el
+  progmodes/python.el
 
 Adam Sjøgren: changed blink.xpm braindamaged.xpm cry.xpm dead.xpm
   evil.xpm forced.xpm frown.xpm grin.xpm indifferent.xpm
-  reverse-smile.xpm sad.xpm smile.xpm wry.xpm spam.el
+  reverse-smile.xpm sad.xpm smile.xpm spam.el wry.xpm gnus-html.el
+  gnus-start.el gnus-sum.el gnus.el shr.el
+
+Aditya Siram: changed ob.el
 
 Adrian Aichner: changed erc-log.el erc.el erc-autojoin.el erc-backend.el
   erc-dcc.el erc-members.el erc-nets.el erc-sound.el etags.c
@@ -33,16 +41,19 @@ Adrian Lanz: changed mail-source.el spam.el
 
 Adrian Robert: co-wrote ns-win.el
 and changed nsterm.m nsfns.m nsfont.m nsterm.h Makefile.in nsmenu.m
-  configure.in README config.in emacs.c font.c keyboard.c nsgui.h xdisp.c
-  image.c lisp.h macos.texi menu.c nsimage.m Info-gnustep.plist darwin.h
-  and 83 other files
+  configure.in README config.in emacs.c font.c keyboard.c nsgui.h
+  nsimage.m xdisp.c image.c lisp.h macos.texi menu.c Info-gnustep.plist
+  darwin.h and 84 other files
 
 Ævar Arnfjörð Bjarmason: changed rcirc.el
 
 Agustín Martín: changed ispell.el flyspell.el fixit.texi
 
+Agustín Martín Domingo: changed ispell.el
+
 Aidan Kehoe: changed ipa.el lread.c mm-util.el erc-log.el erc.el
-  gnus-sum.el gnus-util.el latin-ltx.el nnfolder.el objects.texi
+  gnus-sum.el gnus-util.el latin-ltx.el nnfolder.el ob-tangle.el
+  objects.texi
 
 Ake Stenhoff: co-wrote imenu.el
 and changed cc-mode.el perl-mode.el
@@ -57,10 +68,10 @@ Alakazam Petrofsky: changed hanoi.el
 Alan Mackenzie: wrote cc-awk.el
 and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-fonts.el
   cc-langs.el cc-mode.el cc-styles.el cc-vars.el
-and changed cc-mode.texi lread.c programs.texi lisp.el cc-subword.el
-  display.texi font-lock.el isearch.el modes.texi os.texi search.texi
+and changed cc-mode.texi lread.c programs.texi isearch.el lisp.el
+  cc-subword.el display.texi font-lock.el modes.texi os.texi search.texi
   startup.el subr.el text.texi INSTALL.BZR add-log.el buffers.texi
-  bytecomp.el callint.c cc-fix.el cc-mode-19.el and 20 other files
+  bytecomp.el callint.c cc-fix.el cc-menus.el and 21 other files
 
 Alan Shutko: changed diary-lib.el calendar.el bindings.el cal-hebrew.el
   easy-mmode.el gnus-sum.el ibuf-ext.el ibuffer.el lunar.el macros.el
@@ -70,9 +81,12 @@ Alastair Burt: changed gnus-art.el smiley.el
 
 Albert L. Ting: changed gnus-group.el mail-hist.el
 
+Aleksei Gusev: changed progmodes/compile.el
+
 Alex Coventry: changed files.el
 
-Alex Harsanyi: changed vc-hooks.el vc.el
+Alex Harsanyi: changed soap-client.el emacs3.py soap-inspect.el
+  vc-hooks.el vc.el
 
 Alex Ott: changed TUTORIAL.ru ru-refcard.tex ispell.el ru-refcard.ps
 
@@ -86,13 +100,14 @@ and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el
   erc-autoaway.el erc-nickserv.el rcirc.texi erc-autojoin.el erc-fill.el
   erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el rmail.el
   comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el
-  erc-imenu.el and 31 other files
+  erc-imenu.el and 32 other files
 
 Alex Shinn: changed files.el
 
 Alexander Becher: changed vc-annotate.el
 
-Alexander Klimov: changed calc-graph.el man.el
+Alexander Klimov: changed files.el calc-graph.el files.texi man.el rx.el
+  sendmail.el
 
 Alexander Kreuzer: changed nnrss.el
 
@@ -113,10 +128,12 @@ and changed unexelf.c format.el iris4d.h iris5d.h regex.c unexsgi.c
 
 Alexandre Veyrenc: changed fr-refcard.tex
 
+Alexandru Harsanyi: wrote soap-client.el soap-inspect.el
+
 Alfred Correira: changed generic-x.el
 
-Alfred M. Szmidt: changed compile.el html2text.el openbsd.h rmail.el
-  rmailsum.el
+Alfred M. Szmidt: changed html2text.el openbsd.h progmodes/compile.el
+  rmail.el rmailsum.el
 
 Alfredo Finelli: changed TUTORIAL.it
 
@@ -124,6 +141,11 @@ Ali Bahrami: changed configure configure.in sol2-10.h
 
 Alin C. Soare: changed lisp-mode.el hexl.el
 
+Allen S. Rout: changed org-capture.el
+
+Alp Aker: changed nsfont.m nsterm.h nsterm.m buff-menu.el configure.in
+  nsfns.m nsmenu.m
+
 Ami Fischman: changed bindings.el calendar.el diary-lib.el print.c
   savehist.el
 
@@ -132,7 +154,7 @@ Anand Mitra: changed gnus-sum.el
 Anders Holst: wrote hippie-exp.el
 
 Anders Lindgren: wrote autorevert.el cwarn.el follow.el
-and changed font-lock.el etags.c compile.el
+and changed font-lock.el etags.c compile.el nsfont.m nsterm.m
 
 Andre Spiegel: changed vc.el vc-hooks.el vc-cvs.el vc-rcs.el vc-sccs.el
   files.el dired.el files.texi cperl-mode.el ediff-util.el log-view.el
@@ -166,24 +188,28 @@ Andreas Luik: changed xfns.c xterm.c
 
 Andreas Politz: changed editfns.c elp.el ido.el term.el
 
-Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c files.el
-  coding.c alloc.c process.c fileio.c print.c editfns.c fns.c dired.el
-  xterm.c keyboard.c simple.el eval.c info.el buffer.c sysdep.c emacs.c
-  and 485 other files
+Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
 
-Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus.el
-  nnslashdot.el gnus-util.el mm-url.el mm-uu.el url-http.el xterm.c
-  battery.el comint.el easy-mmode.el gmm-utils.el gnus-art.el
-  gnus-cite.el gnus-group.el gnus-ml.el gnus-msg.el gnus-srvr.el
-  gnus-start.el and 4 other files
+Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c alloc.c
+  process.c coding.c files.el xterm.c editfns.c fns.c keyboard.c print.c
+  emacs.c eval.c fileio.c lread.c sysdep.c dired.el xfns.c buffer.c
+  and 567 other files
+
+Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
+  gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
+  url-http.el xterm.c battery.el comint.el easy-mmode.el gmm-utils.el
+  gnus-art.el gnus-cite.el gnus-draft.el gnus-group.el gnus-ml.el
+  and 7 other files
 
 Andrew Choi: changed macterm.c darwin.h mac-win.el sysdep.c emacs.c mac.c
   macfns.c fontset.c frame.c keyboard.c xfaces.c dispextern.h macmenu.c
   unexmacosx.c Makefile.in configure.in frame.h macterm.h titdic-cnv.el
-  xdisp.c alloc.c and 27 other files
+  xdisp.c alloc.c and 26 other files
 
 Andrew Cohen: wrote spam-wash.el
-and changed dns.el
+and changed nnir.el gnus-sum.el nnimap.el gnus.texi gnus-group.el
+  gnus-int.el dns.el gnus-art.el gnus-registry.el gnus-srvr.el gnus.el
+  nnheader.el nnspool.el
 
 Andrew Csillag: wrote m4-mode.el
 
@@ -196,12 +222,16 @@ Andrew Innes: changed makefile.w32-in makefile.nt w32fns.c w32term.c
 
 Andrew Oram: changed calendar.texi (and other files in man/)
 
+Andrew Schein: changed sql.el
+
 Andrew Zhilin: changed emacs22.png emacs22.ico
 
 Andrey Slusar: changed gnus-async.el gnus.el
 
 Andrey Zhdanov: changed gud.el
 
+Andy Moreton: changed makefile.w32-in
+
 Andy Norman: wrote ange-ftp.el
 
 Andy Petrusenco: changed w32term.c
@@ -215,7 +245,13 @@ Angelo Graziosi: changed sysdep.c term.c
 
 Anna M. Bigatti: wrote cal-html.el
 
-Ari Roponen: changed atimer.c mule.texi startup.el time-date.el
+Antoine Levitt: changed gnus-group.el gnus-sum.el message.texi ada-prj.el
+  ange-ftp.el cus-edit.el dired-x.el ebnf2ps.el emerge.el erc-button.el
+  erc-track.el files.el find-file.el gnus-art.el gnus-uu.el gnus.el
+  gnus.texi message.el mh-funcs.el mh-mime.el printing.el
+  and 5 other files
+
+Ari Roponen: changed atimer.c doc.c mule.texi startup.el time-date.el
 
 Arisawa Akihiro: changed characters.el coding.c epa-file.el japan-util.el
   message.el mm-decode.el mm-view.el ps-print.el tai-viet.el term.c
@@ -230,7 +266,7 @@ and changed smime.el mml-smime.el smime-ldap.el gnus-art.el gnus-sieve.el
   ldap.el message.el mm-decode.el mml-sec.el mml.el mule-conf.el
   nnimap.el nnrss.el wid-edit.el
 
-Arni Magnusson: changed ada-mode.texi frames.texi
+Arni Magnusson: changed ada-mode.texi frames.texi texinfo.el
 
 Artem Chuprina: changed message.el
 
@@ -247,24 +283,26 @@ Baoqiu Cui: wrote org-docbook.el
 Barry A. Warsaw: wrote assoc.el elp.el man.el regi.el reporter.el
   supercite.el
 and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
-  cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el
+  cc-guess.el cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el
 and changed c++-mode.el cplus-md1.el syntax.c syntax.h
 
 Barry Fishman: changed gnu-linux.h
 
 Bastien Guerry: wrote gnus-bookmark.el org-latex.el org-protocol.el
 and co-wrote org-bibtex.el org-list.el org-src.el
-and changed org.el org-export-latex.el org-clock.el org-timer.el
-  org-agenda.el org-exp.el bookmark.el info.el rmail.el flyspell.el
-  org-gnus.el org-id.el org-publish.el org-remember.el
-  rmail-spam-filter.el whitespace.el wid-edit.el
+and changed org.el org-html.el org-agenda.el org-clock.el org-exp.el
+  org-capture.el org-timer.el org-export-latex.el org-table.el
+  org-publish.el org.texi org-ascii.el bookmark.el info.el ob.el
+  org-archive.el org-attach.el org-crypt.el org-gnus.el org-mobile.el
+  rmail.el and 20 other files
 
 Ben A. Mesander: co-wrote erc-dcc.el
 
 Ben Harris: changed configure.in
 
-Ben Key: changed w32.c w32fns.c w32menu.c makefile.w32-in w32.h w32term.c
-  emacs.c gmake.defs ms-w32.h nmake.defs sound.c
+Ben Key: changed w32.c w32fns.c w32menu.c configure.bat makefile.w32-in
+  INSTALL gmake.defs nmake.defs w32.h w32term.c configure.in emacs.c
+  keyboard.c make-docfile.c ms-w32.h nsfont.m nsterm.m sound.c xfaces.c
 
 Ben Menasha: changed nnmh.el
 
@@ -273,7 +311,10 @@ Ben North: changed outline.el buffer.c fill.el isearch.el lisp-mode.el
 
 Bengt Martensson: co-wrote bibtex.el
 
+Benjamin Andresen: wrote ob-screen.el
+
 Benjamin Drieu: wrote pong.el
+and changed org-clock.el
 
 Benjamin Riefenstahl: changed w32select.c emacs.c lisp.h mac-win.el
   macterm.c ms-w32.h mule-cmds.el runemacs.c tcl.el w32.c w32.h
@@ -282,9 +323,10 @@ Benjamin Rutt: co-wrote gnus-dired.el
 and changed vc.el gnus-msg.el message.el diff-mode.el ffap.el nnimap.el
   nnmbox.el simple.el vc-cvs.el
 
-Bernhard Herzog: changed vc-hg.el menu.c
+Bernhard Herzog: changed vc-hg.el menu.c xsmfns.c
 
-Bernt Hansen: changed org-clock.el
+Bernt Hansen: changed org-agenda.el org-clock.el org.el org-capture.el
+  org-indent.el
 
 Bill Atkins: changed wdired.el
 
@@ -310,7 +352,7 @@ Bill Wohler: wrote mh-buffers.el mh-comp.el mh-compat.el mh-e.el
   mh-show.el mh-utils.el mh-xface.el
 and co-wrote mh-junk.el
 and changed mh-customize.el mh-search.el mh-alias.el mh-identity.el
-  mh-e.texi mh-speed.el mh-init.el mh-gnus.el mh-acros.el mh-unit.el
+  mh-e.texi mh-speed.el mh-init.el mh-acros.el mh-gnus.el mh-unit.el
   mh-inc.el mh-xemacs-compat.el mh-print.el Makefile.in image.el
   mh-tool-bar.el mh-xemacs.el README display.texi makefile.w32-in
   mh-pick.el and 86 other files
@@ -324,19 +366,25 @@ Björn Torkelsson: changed gnus-art.el gnus-group.el gnus-srvr.el
   gnus-cus.el gnus-gl.el gnus-nocem.el gnus-score.el gnus-topic.el
   gnus.el mail-source.el nnmail.el
 
-Bjørn Mork: changed gnus-agent.el message.el mml2015.el
+Bjørn Mork: changed nnimap.el gnus-agent.el message.el mml2015.el
 
 Bob Glickstein: wrote sregex.el
 and changed isearch.el sendmail.el
 
 Bob Halley: changed ccl.c esh-io.el
 
+Bob Nnamtrop: changed viper-cmd.el
+
 Bob Olson: co-wrote cperl-mode.el
 
-Bob Rogers: changed cperl-mode.el ffap.el thingatpt.el vc-svn.el
+Bob Rogers: changed vc-dir.el vc-svn.el cperl-mode.el diff.el ewoc.el
+  ffap.el files.el maintaining.texi sql.el thingatpt.el vc.el
+  vc1-xtra.texi
 
 Bob Weiner: changed info.el quail.el
 
+Bojan Petrovic: changed pop3.el
+
 Boris Goldowsky: wrote avoid.el descr-text.el enriched.el facemenu.el
   format.el shadowfile.el
 and changed fill.el simple.el indent.el paragraphs.el cmds.c intervals.c
@@ -350,8 +398,12 @@ Boyd Lynn Gerber: changed configure.in
 
 Brad Howes: changed gnus-demon.el
 
+Brandon Craig Rhodes: changed flyspell.el
+
 Brendan Kehoe: changed hpux9.h
 
+Brent Goodrick: changed abbrev.el
+
 Brian Cully: changed ns-emacs.texi
 
 Brian D. Carlstrom: changed gud.el smtpmail.el
@@ -375,6 +427,8 @@ Brian Preble: changed abbrev.el apropos.el asm-mode.el awk-mode.el
 
 Brian Sniffen: changed gnus-draft.el
 
+Brian T. Sniffen: changed imap.el
+
 Bruno Haible: co-wrote po.el
 and changed INSTALL emacs.1 epaths.in info.el paths.el
 
@@ -393,25 +447,28 @@ Carl Henrik Lunde: changed format-spec.el
 Carsten Bormann: changed ibmrs6000.h latin-post.el
 
 Carsten Dominik: wrote idlw-complete-structtag.el idlw-toolbar.el
-  org-agenda.el org-archive.el org-ascii.el org-clock.el org-colview.el
-  org-compat.el org-datetree.el org-exp.el org-faces.el org-feed.el
-  org-footnote.el org-html.el org-icalendar.el org-id.el org-indent.el
-  org-info.el org-inlinetask.el org-install.el org-jsinfo.el org-macs.el
-  org-mobile.el org-remember.el org-rmail.el org-table.el org-timer.el
-  org-vm.el org-xoxo.el org.el reftex-auc.el reftex-cite.el reftex-dcr.el
-  reftex-global.el reftex-index.el reftex-parse.el reftex-ref.el
-  reftex-sel.el reftex-toc.el reftex-vars.el reftex.el
+  org-agenda.el org-archive.el org-ascii.el org-beamer.el org-capture.el
+  org-clock.el org-colview.el org-compat.el org-datetree.el org-exp.el
+  org-faces.el org-feed.el org-footnote.el org-html.el org-icalendar.el
+  org-id.el org-indent.el org-info.el org-inlinetask.el org-install.el
+  org-jsinfo.el org-macs.el org-mks.el org-mobile.el org-remember.el
+  org-rmail.el org-table.el org-timer.el org-vm.el org-xoxo.el org.el
+  reftex-auc.el reftex-cite.el reftex-dcr.el reftex-global.el
+  reftex-index.el reftex-parse.el reftex-ref.el reftex-sel.el
+  reftex-toc.el reftex-vars.el reftex.el
 and co-wrote idlw-help.el idlw-shell.el idlwave.el org-bbdb.el
-  org-bibtex.el org-gnus.el org-list.el org-src.el
-and changed org.texi org-latex.el orgcard.tex org-export-latex.el
-  org-publish.el org-colview-xemacs.el org-attach.el org-protocol.el
-  org-mouse.el org-mac-message.el idlw-rinfo.el org-mhe.el org-plot.el
-  org-wl.el reftex.texi org-docbook.el org-exp-blocks.el org-w3m.el
-  reftex-vcr.el diary-lib.el files.el and 14 other files
+  org-bibtex.el org-entities.el org-gnus.el org-list.el org-pcomplete.el
+  org-src.el
+and changed org-latex.el org.texi org-publish.el orgcard.tex
+  org-export-latex.el org-colview-xemacs.el org-docbook.el org-attach.el
+  org-mouse.el org-protocol.el org-mac-message.el org-wl.el org-crypt.el
+  org-freemind.el idlw-rinfo.el org-exp-blocks.el org-habit.el org-mhe.el
+  org-plot.el reftex.texi ob.el and 24 other files
 
 Caveh Jalali: changed configure.in intel386.h sol2-4.h
 
-Chad Brown: changed mh-comp.el
+Chad Brown: changed aix4-2.h bsd-common.h config.in configure.in cygwin.h
+  dired.c gnu-linux.h mh-comp.el msdos.h sed2v2.inp sysdep.c usg5-4.h
 
 Changwoo Ryu: changed files.el
 
@@ -431,16 +488,21 @@ Chetan Pandya: changed font.c
 
 Chip Coldwell: changed font.c
 
-Chong Yidong: wrote redisplay-testsuite.el
-and co-wrote longlines.el
-and changed xdisp.c simple.el files.el display.texi frames.texi
-  files.texi emacs.texi keyboard.c cus-edit.el faces.el xterm.c
-  Makefile.in misc.texi xfaces.c font.c startup.el xfns.c compile.el
-  image.c custom.texi configure.in and 635 other files
+Chong Yidong: wrote compile-tests.el dichromacy-theme.el
+  font-parse-tests.el redisplay-testsuite.el tabulated-list.el
+and co-wrote longlines.el tango-dark-theme.el tango-theme.el
+and changed xdisp.c simple.el files.el display.texi cus-edit.el
+  frames.texi keyboard.c files.texi startup.el emacs.texi package.el
+  xterm.c custom.el image.c faces.el mouse.el misc.texi subr.el xfns.c
+  progmodes/compile.el text.texi and 765 other files
 
 Chris Chase: co-wrote idlw-shell.el idlwave.el
 
-Chris Hall: changed callproc.c
+Chris Foote: changed progmodes/python.el
+
+Chris Gray: wrote org-special-blocks.el
+
+Chris Hall: changed callproc.c frame.c
 
 Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c
   hp9000s300.h keyboard.c process.c texinfmt.el emacsclient.c sort.el
@@ -456,43 +518,63 @@ Chris Moore: changed dired.el hexl.el jka-cmpr-hook.el replace.el
   mouse.el pgg-gpg.el pgg-pgp.el pgg-pgp5.el server.el shell.el
   tutorial.el
 
+Chris Newton: changed url-http.el
+
 Chris Prince: changed w32term.c
 
 Chris Smith: wrote icon.el
 and changed icon-mode.el
 
+Christian Egli: wrote org-taskjuggler.el
+and changed org.texi
+
 Christian Faulhammer: changed Makefile.in configure configure.in
   vc-bzr.el
 
 Christian Limpach: co-wrote ns-win.el
 and changed configure.in
 
-Christian Lynbech: changed appt.el emacsserver.c
+Christian Lynbech: changed appt.el emacsserver.c tramp.el
+
+Christian Millour: changed shell.el
+
+Christian Moe: changed org-bbdb.el
 
 Christian Neukirchen: changed mm-util.el
 
+Christian Ohler: wrote ert-tests.el ert-x.el ert.el
+and changed Makefile.in automated configure.in ert-x-tests.el ert.texi
+  makefile.w32-in
+
 Christian Plate: changed nnmaildir.el sgml-mode.el
 
 Christian Plaunt: wrote soundex.el
 
-Christian von Roques: changed gnus-start.el
+Christian von Roques: changed epg.el gnus-start.el mml2015.el
 
 Christoph Bauer: changed configure.in
 
 Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
   qp.el
 
+Christoph Scholtes: changed makefile.w32-in progmodes/python.el
+  README.W32 maintaining.texi zipdist.bat INSTALL admin.el bookmark.el
+  configure.bat help-mode.el help.el ido.el makedist.bat menu.c minibuf.c
+  process.c progmodes/grep.el stdint.h vc.el window.c
+
 Christoph Wedler: wrote antlr-mode.el
 and changed format.el gnus-art.el gnus-picon.el message.el register.el
   smiley.el texinfmt.el
 
 Christophe de Dinechin: co-wrote ns-win.el
 
-Christopher Allan Webber: changed gamegrid.el tetris.el
+Christopher Allan Webber: changed gamegrid.el org-agenda.el tetris.el
 
 Christopher J. Madsen: wrote decipher.el
 and changed replace.el files.el ispell.el time.el
 
+Christopher J. White: changed url-http.el
+
 Christopher Oliver: changed mouse.el
 
 Christopher Suckling: co-wrote org-mac-message.el
@@ -501,6 +583,8 @@ Chuck Blake: changed term.c
 
 Chunyu Wang: changed gnus-art.el pcl-cvs.texi
 
+Claudio Bley: changed makefile.w32-in process.c
+
 Claudio Fontana: changed Makefile.in
 
 Colin Marquardt: changed gnus.el message.el
@@ -516,6 +600,8 @@ and changed calc.el replace.el update-game-score.c calc-ext.el
 
 Colin Williams: changed calc.texi
 
+Courtney Bane: changed term.c
+
 Craig Markwardt: changed icalendar.el
 
 Craig McDaniel: changed sheap.c
@@ -524,12 +610,12 @@ D. E. Evans: changed basic.texi
 
 Daiki Ueno: wrote epa-dired.el epa-file.el epa-hook.el epa-mail.el epa.el
   epg-config.el epg.el pgg-def.el pgg-gpg.el pgg-parse.el pgg-pgp.el
-  pgg-pgp5.el pgg.el sasl.el starttls.el
+  pgg-pgp5.el pgg.el plstore.el sasl.el starttls.el
 and co-wrote sasl-cram.el sasl-digest.el
-and changed mml2015.el mml1991.el epa.texi gnus.texi mm-uu.el Makefile.in
-  gnus-sum.el mm-decode.el mm-view.el mml-sec.el mml-smime.el dired.el
-  epa-file-hook.el epa-setup.el epg-package-info.el faces.el files.el
-  gnus-agent.el gnus-srvr.el loadup.el menu-bar.el and 9 other files
+and changed mml2015.el mml1991.el epa.texi auth-source.el gnus.texi
+  mm-uu.el mml-smime.el Makefile.in auth.texi gnus-sum.el mm-decode.el
+  mm-view.el mml-sec.el dired.el dired.texi epa-file-hook.el epa-setup.el
+  epg-package-info.el faces.el files.el gnus-agent.el and 17 other files
 
 Dale Gulledge: changed TUTORIAL.eo
 
@@ -544,25 +630,43 @@ Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
 
 Damon Anton Permezel: wrote hanoi.el (public domain)
 
+Damyan Pepper: changed font.c font.h ftfont.c w32font.c
+
 Dan Christensen: changed gnus-sum.el nndoc.el nnfolder.el gnus-art.el
-  gnus-group.el gnus-registry.el gnus-score.el nnmail.el
+  gnus-group.el gnus-registry.el gnus-score.el gnus-util.el nnmail.el
+  time-date.el
 
-Dan Davison: co-wrote org-src.el
-and changed org-exp-blocks.el org-exp.el
+Dan Davison: wrote ob-matlab.el ob-octave.el
+and co-wrote ob-R.el ob-exp.el ob-lob.el ob-perl.el ob-python.el
+  ob-ref.el ob.el org-src.el
+and changed ob-sh.el org-exp.el org.el org-latex.el ob-tangle.el ob-C.el
+  ob-asymptote.el ob-clojure.el ob-haskell.el ob-ruby.el ob-scheme.el
+  ob-table.el ob-ditaa.el ob-dot.el ob-gnuplot.el ob-js.el ob-mscgen.el
+  ob-ocaml.el ob-org.el ob-plantuml.el ob-sass.el and 13 other files
 
 Dan Nicolaescu: wrote iris-ansi.el romanian.el vc-dir.el
 and co-wrote hideshow.el
-and changed vc.el vc-hg.el vc-git.el Makefile.in vc-bzr.el vc-cvs.el
-  vc-hooks.el configure.in vc-svn.el xterm.el sysdep.c term.el lisp.h
-  emacs.c files.el term.c process.c vc-rcs.el bindings.el diff-mode.el
-  lisp-mode.el and 840 other files
+and changed vc.el Makefile.in configure.in vc-hg.el vc-git.el vc-bzr.el
+  sysdep.c emacs.c process.c vc-cvs.el lisp.h term.c vc-hooks.el xterm.c
+  keyboard.c vc-svn.el xterm.el callproc.c darwin.h term.el gnu-linux.h
+  and 918 other files
 
 Dan Rosenberg: changed movemail.c
 
+Dani Moncayo: changed lists.texi
+
 Daniel Brockman: changed cus-start.el format-spec.el ibuffer.el rcirc.el
 
+Daniel Clemente: changed generic-x.el org-html.el
+
 Daniel Colascione: co-wrote js.el
-and changed imenu.el nxml-mode.el nxml-rap.el nxml-util.el which-func.el
+and changed cmdproxy.c subr.el syntax.el DEBUG cc-engine.el cus-start.el
+  eval.c fns.c imenu.el keyboard.c lisp.h nxml-mode.el nxml-rap.el
+  nxml-util.el sh-script.el which-func.el
+
+Daniel Dehennin: changed mml2015.el gnus-msg.el mm-decode.el
+
+Daniel E. Doherty: changed calc.texi
 
 Daniel Elliott: changed octave-mod.el
 
@@ -587,25 +691,32 @@ Daniel Ortmann: changed paragraphs.el
 
 Daniel Pfeiffer: wrote conf-mode.el copyright.el executable.el
   sh-script.el skeleton.el two-column.el
-and co-wrote ada-stmt.el apropos.el compile.el wyse50.el
-and changed files.el make-mode.el buff-menu.el font-lock.el grep.el
-  mpuz.el sgml-mode.el autoinsert.el cperl-mode.el facemenu.el gomoku.el
-  help.el imenu.el autoload.el autorevert.el bindings.el button.el
-  cc-fonts.el cc-mode.el compilation.txt disp-table.el and 11 other files
+and co-wrote ada-stmt.el apropos.el progmodes/compile.el wyse50.el
+and changed files.el make-mode.el buff-menu.el font-lock.el mpuz.el
+  progmodes/grep.el sgml-mode.el autoinsert.el cperl-mode.el facemenu.el
+  gomoku.el help.el imenu.el autoload.el autorevert.el bindings.el
+  button.el cc-fonts.el cc-mode.el compilation.txt compile.el
+  and 12 other files
 
 Daniel Pittman: co-wrote tramp-cache.el
 and changed gnus-spec.el gnus-sum.el nnimap.el spam-report.el spam.el
 
 Daniel Quinlan: changed dired.el info.el
 
+Daniel Schoepe: changed gnus-sum.el
+
 Danny Roozendaal: wrote handwrite.el
 
 Danny Siu: changed gnus-sum.el gnus-picon.el nndoc.el nnimap.el smiley.el
 
+Darren Hoo: changed db.el gnus-art.el
+
 Darren Stalder: changed gnus-util.el
 
 Darrin B. Jewell: changed etags.c lisp.h
 
+Dave Abrahams: changed gnus-sum.el gnus.texi nnimap.el
+
 Dave Detlefs: co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el
   cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el
 
@@ -613,8 +724,9 @@ Dave Lambert: changed sol2-5.h xfns.c xterm.c xterm.h
 
 Dave Love: wrote autoarg.el autoconf.el benchmark.el cap-words.el
   cfengine.el elide-head.el georgian.el hl-line.el latin1-disp.el
-  python.el refill.el rfc1345.el sgml-input.el smiley.el sym-comp.el
-  tool-bar.el uni-input.el utf-7.el utf-8-lang.el vc-bzr.el welsh.el
+  progmodes/python.el refill.el rfc1345.el sgml-input.el smiley.el
+  sym-comp.el tool-bar.el uni-input.el utf-7.el utf-8-lang.el vc-bzr.el
+  welsh.el
 and co-wrote latin-ltx.el socks.el
 and changed Makefile.in configure.in help.el mule-cmds.el fortran.el
   mule-conf.el xterm.c browse-url.el mule.el coding.c cyrillic.el
@@ -625,27 +737,26 @@ Dave Pearson: wrote 5x5.el quickurl.el
 
 David A. Capello: changed etags.c
 
-David Abrahams: changed coding.c mairix.el
+David Abrahams: changed coding.c ediff-init.el mairix.el
 
 David Bakhash: wrote strokes.el
 
-David Blacka: co-wrote nndb.el
-
 David Burger: changed macros.el
 
 David Byers: changed minibuf.c
 
 David Casperson: changed font-core.el menu-bar.el tex-mode.el
 
-David De La Harpe Golden: changed files.el simple.el fileio.c mouse.el
-  cus-start.el select.el w32-fns.el x-win.el xterm.c
+David De La Harpe Golden: changed files.el mouse.el simple.el fileio.c
+  cus-start.el nsselect.m select.el w32-fns.el x-win.el xterm.c
 
 David Edmondson: changed message.el gnus-cite.el imap.el mm-view.el
-  mml2015.el nnfolder.el nnml.el
+  mml2015.el nnfolder.el nnimap.el nnml.el
 
 David Engster: wrote mairix.el nnmairix.el
-and changed gnus.texi gnus-msg.el display.texi gnus-sum.el hideshow.el
-  mairix-el.texi nnimap.el
+and changed gnus.texi registry.el gnus-msg.el display.texi files.el
+  gnus-registry.el gnus-sum.el hideshow.el mairix-el.texi mm-view.el
+  mml-smime.el nnimap.el
 
 David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
   calc-comb.el calc-cplx.el calc-embed.el calc-ext.el calc-fin.el
@@ -656,8 +767,8 @@ David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
   calc-store.el calc-stuff.el calc-trail.el calc-undo.el calc-units.el
   calc-vec.el calc-yank.el calc.el calcalg2.el calcalg3.el calccomp.el
   calcsel2.el cl-compat.el cl-extra.el cl-macs.el cl-seq.el cl.el cl.texi
-  complete.el edmacro.el
-and changed info.el bytecomp.el
+  edmacro.el obsolete/complete.el
+and changed info.el bytecomp.el complete.el
 
 David Glasser: changed tar-mode.el
 
@@ -702,11 +813,20 @@ and changed display.texi
 David M. Smith: wrote ielm.el
 and changed imenu.el xterm.c
 
+David Maus: co-wrote org-wl.el
+and changed org.el org-feed.el org-html.el org-agenda.el org-exp.el
+  org-gnus.el org-capture.el org.texi org-protocol.el org-macs.el
+  ob-haskell.el org-bibtex.el org-footnote.el org-id.el org-latex.el
+  org-list.el org-mhe.el org-mobile.el org-publish.el org-table.el ob.el
+  and 13 other files
+
 David McCabe: changed lisp-mode.el
 
 David Megginson: wrote derived.el
 and changed mode-clone.el
 
+David Michael: changed files.el
+
 David Moore: co-wrote nnvirtual.el
 and changed gnus-xmas.el
 
@@ -717,9 +837,10 @@ David Mosberger-Tang: changed alpha.h unexelf.c cm.h config.in
 
 David O'Toole: wrote org-publish.el
 
-David Ponce: wrote cedet.el comp.el grammar-wy.el grammar.el java-tags.el
-  java.el mode-local.el recentf.el ruler-mode.el senator.el
-  tree-widget.el wisent.el
+David Ponce: wrote bovine-grammar.el cedet.el comp.el grammar-wy.el
+  grammar.el java-tags.el mode-local.el recentf.el ruler-mode.el
+  semantic/java.el semantic/wisent.el senator.el tree-widget.el
+  wisent-grammar.el wisent/wisent.el
 and co-wrote util-modes.el
 and changed w32menu.c w32term.c close.png close.xpm empty.png empty.xpm
   end-guide.png end-guide.xpm files.el guide.png guide.xpm handle.png
@@ -728,9 +849,9 @@ and changed w32menu.c w32term.c close.png close.xpm empty.png empty.xpm
 
 David Reitter: wrote mailclient.el
 and changed nsterm.m nsfns.m ns-win.el nsfont.m Makefile.in cus-start.el
-  macos.texi menu-bar.el commands.h cus-edit.el easy-mmode.el emacsbug.el
-  emacsclient.c faces.el flyspell.el info.el keyboard.c keymap.c
-  macterm.c menu.c minibuf.c and 11 other files
+  macos.texi menu-bar.el simple.el commands.h cus-edit.el easy-mmode.el
+  emacsbug.el emacsclient.c faces.el flyspell.el info.el keyboard.c
+  keymap.c macterm.c menu.c and 12 other files
 
 David Robinow: changed makefile.w32-in w32inevt.c
 
@@ -738,12 +859,16 @@ David Robinson: changed menu-bar.el x-win.el
 
 David S. Goldberg: changed gnus-art.el message.el
 
+David T. O'Toole: co-wrote ob-lisp.el
+
 David Vazquez: changed m4-mode.el
 
 David Z. Maze: changed nnml.el nnrss.el
 
 Deanna Phillips: changed configure.in
 
+Debarshi Ray: changed erc-backend.el erc.el
+
 Decklin Foster: changed nngateway.el
 
 Deepak Goel: changed idlw-shell.el ada-xref.el feedmail.el files.el
@@ -760,7 +885,9 @@ and changed complete.el
 
 Denis Stünkel: changed ibuf-ext.el
 
-Deniz Dogan: changed window.el
+Deniz Dogan: changed rcirc.el simple.el css-mode.el commands.texi
+  image.el iswitchb.el lisp-mode.el process.c progmodes/python.el
+  quickurl.el rcirc.texi vc-bzr.el wdired.el window.el
 
 Dennis Gilmore: changed sparc.h
 
@@ -792,21 +919,35 @@ and co-wrote nnml.el
 and changed nntp.el message.el gnus-group.el gnus-sum.el gnus-msg.el
   gnus.texi gnus-art.el gnus-srvr.el gnus-start.el gnus-topic.el
   gnus-xmas.el gnus-picon.el gnus-salt.el cus-edit.el gnus-int.el
-  gnus-util.el message.texi nnmail.el rect.el gmm-utils.el gnus-agent.el
-  and 7 other files
+  gnus-util.el message.texi nnmail.el rect.el cl-indent.el gmm-utils.el
+  and 8 other files
+
+Dieter Schuster: changed etags.c
+
+Dima Kogan: changed hideshow.el
 
 Dirk Herrmann: co-wrote bibtex.el
 
+Dirk Ullrich: changed ispell.el
+
+Dirk-Jan C. Binnema: changed org-agenda.el
+
 Dmitri Paduchikh: changed advice.el
 
 Dmitry Antipov: changed alloc.c keyboard.c buffer.c ccl.c emacs.c
   fontset.c lisp.h lread.c macmenu.c w32menu.c xmenu.c
 
+Dmitry Bolshakov: changed hideshow.el
+
 Dmitry Dzhus: changed gdb-mi.el gud.el fadr.el all.xpm building.texi
   emacs.texi process.c thread.xpm
 
+Dmitry Kurochkin: changed isearch.el
+
 Dominique de Waleffe: changed pcvs-info.el
 
+Don March: changed keymap.c
+
 Don Morrison: co-wrote dabbrev.el
 
 Don Woods: changed replace.el
@@ -815,22 +956,25 @@ Doug Cutting: co-wrote disass.el
 
 Doug Maxey: changed mouse.el
 
-Drake Wilson: changed files.el
+Drake Wilson: changed emacsclient.c files.el misc.texi
 
-Drew Adams: changed cus-edit.el mouse.el bindings.el bookmark.el
-  custom.el dired.texi etags.el faces.el finder.el frame.el help-fns.el
-  help.el info.el isearch.el menu-bar.el msdog.texi pp.el ring.el
-  speedbar.el
+Drew Adams: wrote light-blue-theme.el
+and co-wrote color.el
+and changed cus-edit.el dired.el faces.el isearch.el menu-bar.el mouse.el
+  bindings.el bookmark.el custom.el dired.texi etags.el files.el
+  finder.el frame.el help-fns.el help.el image-dired.el info.el
+  modes.texi msdog.texi pp.el and 5 other files
 
 E. Jay Berkenbilt: changed b2m.c flyspell.el ispell.el unrmail.el
   whitespace.el window.h
 
 Ed L. Cashin: changed gnus-sum.el imap.el
 
-Ed Swarthout: changed hexl.el table.el
+Ed Swarthout: changed hexl.el textmodes/table.el
 
-Eduard Wiebe: changed browse-url.el flymake.texi footnote.el
-  javascript.el korean.el mule-conf.el objects.texi ps-print.el vc-rcs.el
+Eduard Wiebe: changed browse-url.el dired.el flymake.texi footnote.el
+  javascript.el korean.el locate.el mule-conf.el nxml-mode.texi
+  objects.texi ps-print.el vc-rcs.el
 
 Eduardo Muñoz: changed dired.el ls-lisp.el
 
@@ -847,7 +991,7 @@ Edward O'Connor: wrote json.el
 and changed erc.el erc-viper.el erc-log.el erc-track.el viper.el
   erc-backend.el erc-chess.el erc-dcc.el erc-ezbounce.el erc-goodies.el
   erc-list.el erc-macs.el erc-match.el erc-ring.el erc-services.el
-  erc-stamp.el goto-addr.el latin-ltx.el python.el url-auth.el
+  erc-stamp.el goto-addr.el latin-ltx.el progmodes/python.el url-auth.el
 
 Edward Trumbo: changed Makefile.in
 
@@ -855,8 +999,8 @@ Edward Wiebe: changed jit-lock.el
 
 Edwin Steiner: changed gnus-nocem.el
 
-Ehud Karni: changed rmail.el aviion-intel.h compile.el complete.el
-  configure.in frame.el rmailsum.el sort.el xdisp.c
+Ehud Karni: changed rmail.el aviion-intel.h complete.el configure.in
+  frame.el progmodes/compile.el rmailsum.el sort.el xdisp.c
 
 Eirik Fuller: changed ralloc.c xterm.c
 
@@ -864,29 +1008,35 @@ Eli Barzilay: wrote calculator.el
 
 Eli Tziperman: wrote rmail-spam-filter.el
 
-Eli Zaretskii: wrote rxvt.el tty-colors.el
-and changed msdos.c makefile.w32-in Makefile.in files.el info.el rmail.el
-  fileio.c mainmake.v2 pc-win.el startup.el config.bat simple.el msdos.h
-  dired.c w32.c frame.c internal.el menu-bar.el process.c INSTALL
-  xfaces.c and 603 other files
+Eli Zaretskii: wrote [bidirectional display in xdisp.c] bidi.c rxvt.el
+  tty-colors.el
+and changed makefile.w32-in msdos.c xdisp.c Makefile.in files.el fileio.c
+  config.bat msdos.h info.el mainmake.v2 sed1v2.inp simple.el rmail.el
+  w32.c display.texi process.c pc-win.el startup.el dired.c dispextern.h
+  term.c and 691 other files
 
 Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
   gnus.el
 
-Emanuele Giaquinta: changed configure.in gnus-faq.texi rxvt.el charset.c
-  etags.c fontset.c frame.el loadup.el lread.c sh-script.el text.texi
+Elias Pipping: changed XDelAssoc.c XMakeAssoc.c
+
+Emanuele Giaquinta: changed configure.in rxvt.el charset.c etags.c
+  fontset.c frame.el gnus-faq.texi loadup.el lread.c sh-script.el
+  text.texi
+
+Emil Åström: co-wrote prolog.el
 
 Emilio C. Lopes: changed woman.el cmuscheme.el help.el vc.el advice.el
   animate.el apropos.el artist.el bookmark.el cal-menu.el calc-prog.el
   calc-store.el calcalg3.el calendar.el calendar.texi checkdoc.el
-  code-pages.el codepage.el compile.el completion.el cus-edit.el
+  code-pages.el codepage.el completion.el cus-edit.el diff.el
   and 53 other files
 
 Emmanuel Briot: wrote ada-prj.el xml.el
 and co-wrote ada-mode.el ada-xref.el
 and changed ada-stmt.el
 
-Era Eriksson: changed bibtex.el dired.el shell.el
+Era Eriksson: changed bibtex.el dired.el shell.el tramp.el tramp.texi
 
 Eric Bélanger: changed image.c
 
@@ -899,53 +1049,75 @@ Eric Eide: changed gnus-xmas.el
 
 Eric Hanchrow: changed vc-git.el TUTORIAL.es abbrev.el autorevert.el
   cperl-mode.el delphi.el dired.el emacsclient.c env.el erc.el
-  ibuf-ext.el ispell.el make-dist
+  frames.texi ibuf-ext.el ispell.el ldap.el make-dist
 
 Éric Jacoboni: changed fr-refcard.tex
 
 Eric Knauel: changed gnus.el spam-report.el spam.el
 
-Eric M. Ludlam: wrote analyze.el args.el autoconf-edit.el bovine.el c.el
-  cedet-cscope.el cedet-files.el cedet-global.el cedet-idutils.el
-  cedet-utests.el chart.el checkdoc.el compile.el complete.el cpp-root.el
-  cscope.el ctxt.el data-debug.el db-debug.el db-el.el db-file.el
-  db-find.el db-global.el db-mode.el db-ref.el db-typecache.el db.el
-  debug.el decorate.el dep.el dframe.el dictionary.el dired.el doc.el
-  document.el ede-grammar.el ede-tests.el ede.el edit.el eieio-base.el
-  eieio-comp.el eieio-custom.el eieio-datadebug.el eieio-opt.el
-  eieio-speedbar.el eieio.el el.el emacs.el expandproto.el extract.el
-  ezimage.el fcn.el fields.el files.el filter.el filters.el find.el
-  format.el fw.el gcc.el getset.el global.el grep.el html.el ia-sb.el
-  ia.el idle.el idutils.el imenu.el include.el insert.el inversion.el
-  java.el javascript.el lex-spp.el lex.el linux.el list.el locate.el
-  make.el makefile-edit.el map.el mode.el mru-bookmark.el pconf.el
-  pmake.el proj-archive.el proj-aux.el proj-comp.el proj-elisp.el
-  proj-info.el proj-misc.el proj-obj.el proj-prog.el proj-scheme.el
-  proj-shared.el proj.el project-am.el pulse.el refs.el sb-image.el sb.el
-  scm.el scope.el semantic-ia-utest.el semantic-tests.el
-  semantic-utest-c.el semantic-utest.el semantic.el shell.el simple.el
-  sort.el source.el speedbar.el srecode-tests.el srecode.el srt.el
-  symref.el system.el table.el tag-file.el tag-ls.el tag-write.el tag.el
-  test.el texi.el util.el
-and co-wrote cpp.el db-ebrowse.el util-modes.el
-and changed *.el info.el rmail.el speedbspec.el gud.el sb-dir-minus.xpm
+Eric M. Ludlam: wrote analyze.el analyze/complete.el analyze/debug.el
+  args.el auto.el autoconf-edit.el base.el bovine.el bovine/debug.el
+  bovine/el.el bovine/make.el c.el cedet-cscope.el cedet-files.el
+  cedet-global.el cedet-idutils.el cedet-utests.el cedet/semantic.el
+  cedet/srecode.el checkdoc.el cpp-root.el cscope.el custom.el
+  data-debug.el db-debug.el db-el.el db-file.el db-find.el db-global.el
+  db-mode.el db-ref.el db-typecache.el db.el decorate.el decorate/mode.el
+  dep.el dframe.el dictionary.el doc.el document.el ede-grammar.el
+  ede-tests.el ede.el ede/dired.el ede/files.el ede/linux.el
+  ede/locate.el ede/make.el ede/shell.el ede/simple.el ede/speedbar.el
+  ede/srecode.el ede/util.el edit.el eieio-base.el eieio-custom.el
+  eieio-datadebug.el eieio-opt.el eieio-speedbar.el eieio.el
+  emacs-lisp/chart.el emacs.el expandproto.el extract.el ezimage.el
+  fcn.el fields.el filter.el filters.el fw.el gcc.el generic.el getset.el
+  global.el html.el ia-sb.el ia.el idle.el idutils.el include.el
+  insert.el inversion.el javascript.el lex-spp.el lex.el list.el
+  makefile-edit.el map.el mru-bookmark.el pconf.el pmake.el
+  proj-archive.el proj-aux.el proj-comp.el proj-elisp.el proj-info.el
+  proj-misc.el proj-obj.el proj-prog.el proj-scheme.el proj-shared.el
+  proj.el project-am.el pulse.el refs.el sb-image.el sb.el scm.el
+  scope.el semantic-ia-utest.el semantic-tests.el semantic-utest-c.el
+  semantic-utest.el semantic/chart.el semantic/complete.el
+  semantic/ctxt.el semantic/debug.el semantic/find.el semantic/format.el
+  semantic/imenu.el semantic/sort.el semantic/texi.el semantic/util.el
+  source.el speedbar.el srecode-tests.el srecode/compile.el
+  srecode/ctxt.el srecode/el.el srecode/find.el srecode/java.el
+  srecode/mode.el srecode/semantic.el srecode/table.el srecode/texi.el
+  srt.el symref.el symref/grep.el system.el tag-file.el tag-ls.el
+  tag-write.el tag.el test.el
+and co-wrote db-ebrowse.el srecode/cpp.el util-modes.el
+and changed info.el rmail.el speedbspec.el gud.el sb-dir-minus.xpm
   sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm
   sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm
-  sb-tag-type.xpm sb-tag-v.xpm sb-tag.xpm Makefile.in comint.el dir
-  and 13 other files
+  sb-tag-type.xpm sb-tag-v.xpm sb-tag.xpm Makefile.in c-by.el cedet.el
+  comint.el and 18 other files
 
 Eric Marsden: changed gnus-cache.el url-util.el
 
+Eric S Fraga: wrote ob-ledger.el
+and co-wrote ob-maxima.el
+and changed org-icalendar.el org-latex.el org.texi
+
 Eric S. Raymond: wrote AT386.el asm-mode.el cookie1.el finder.el gud.el
   keyswap.el lisp-mnt.el loadhist.el
 and co-wrote make-mode.el
 and changed vc.el vc-hooks.el vc-svn.el vc-cvs.el files.texi vc-bzr.el
-  vc-dispatcher.el vc-hg.el vc-sccs.el vc-git.el vc-rcs.el vc-mcvs.el
+  vc-dispatcher.el vc-git.el vc-hg.el vc-sccs.el vc-rcs.el vc-mcvs.el
   Makefile.in files.el comint.el simple.el vc-arch.el vc-mtn.el
   add-log.el cust-print.el dired.el and 249 other files
 
-Eric Schulte: wrote org-exp-blocks.el org-plot.el
-and changed org.el
+Eric Schulte: wrote ob-C.el ob-asymptote.el ob-awk.el ob-calc.el
+  ob-comint.el ob-css.el ob-ditaa.el ob-dot.el ob-emacs-lisp.el
+  ob-eval.el ob-gnuplot.el ob-haskell.el ob-java.el ob-js.el ob-keys.el
+  ob-latex.el ob-ocaml.el ob-org.el ob-ruby.el ob-sass.el ob-scheme.el
+  ob-sh.el ob-sql.el ob-sqlite.el ob-table.el ob-tangle.el
+  org-exp-blocks.el org-plot.el
+and co-wrote ob-R.el ob-clojure.el ob-exp.el ob-lisp.el ob-lob.el
+  ob-maxima.el ob-perl.el ob-python.el ob-ref.el ob.el org-bibtex.el
+and changed org.texi org.el org-exp.el org-latex.el ob-plantuml.el
+  org-table.el org-macs.el org-src.el orgcard.tex ob-lilypond.el
+  ob-mscgen.el ob-octave.el ob-screen.el org-agenda.el org-ascii.el
+  org-html.el org-mouse.el gnus-art.el ob-ledger.el ob-matlab.el
+  org-attach.el and 4 other files
 
 Eric Youngdale: changed etags-vmslib.c
 
@@ -966,6 +1138,8 @@ Espen Wiborg: changed utf-7.el
 Ethan Bradford: changed ispell.el ange-ftp.el gnus.el gnuspost.el lpr.el
   mailalias.el vt-control.el
 
+Ethan Ligon: changed org-docbook.el org-html.el
+
 Eugene Exarevsky: changed sql.el
 
 Evangelos Evangelou: changed f90.el
@@ -978,6 +1152,8 @@ Exal de Jesus Garcia Carrillo: changed erc.texi erc-sound.el
 
 F. Thomas May: wrote blackbox.el
 
+Fabian Ezequiel Gallina: changed progmodes/python.el
+
 Fabrice Bauzac: changed dired-aux.el
 
 Fabrice Popineau: changed etags.c fileio.c gnus-cache.el
@@ -986,22 +1162,28 @@ Fan Kai: changed esh-arg.el
 
 Faried Nawaz: changed message.el
 
-Felix Lee: changed flyspell.el outline.el cl.texi compile.el data.c
-  gud.el nntp.el process.c vc.el xdisp.c
+Felix Lee: changed flyspell.el outline.el cl.texi data.c gud.el nntp.el
+  process.c progmodes/compile.el vc.el xdisp.c
 
 Felix Mueller: changed nsterm.m
 
 Felix S. T. Wu: co-wrote vi.el (public domain)
 
+Feng Li: changed calc-ext.el
+
 Ferenc Wagner: changed nnweb.el
 
 Filipe Cabecinhas: changed nsterm.m
 
 Flemming Hoejstrup Hansen: changed forms.el
 
+Florian Ragwitz: changed gnus-html.el sieve-manage.el
+
 Florian Weimer: changed message.el gnus.el coding.c gnus-sum.el gnus.texi
   mm-decode.el mm-util.el
 
+Fran Litterio: changed erc-backend.el erc.el
+
 Francesc Rocher: changed MORE.STUFF startup.el cus-start.el gnus.el
   gnus.png gnus.svg macterm.c splash.png splash.svg splash8.xpm w32term.c
   xdisp.c xterm.c
@@ -1091,7 +1273,7 @@ Gaute B Strokkenes: changed imap.el gnus-fun.el mail-source.el process.c
 
 Geert Kloosterman: changed which-func.el
 
-Geoff Gole: changed align.el ibuffer.el
+Geoff Gole: changed align.el ibuffer.el whitespace.el
 
 Geoff Greene: changed message.el
 
@@ -1112,7 +1294,7 @@ Gerd Möllmann: wrote authors.el ebrowse.el jit-lock.el rx.el tooltip.el
 and changed xdisp.c xterm.c dispnew.c dispextern.h xfns.c xfaces.c
   window.c keyboard.c lisp.h Makefile.in faces.el alloc.c buffer.c
   startup.el xterm.h fns.c simple.el term.c frame.c xmenu.c emacs.c
-  and 618 other files
+  and 615 other files
 
 Gergely Nagy: changed erc.el
 
@@ -1122,18 +1304,18 @@ Gernot Heiser: changed refer.el
 
 Giorgos Keramidas: changed configure.in erc-backend.el erc.el alloc.c
   amdx86-64.h apropos.el display.texi erc-services.el filelock.c fringe.c
-  fringe.el lisp.h windows.texi xmenu.c
+  fringe.el lisp.h rcirc.el windows.texi xmenu.c
 
 Giuliano Procida: changed perl-mode.el
 
-Giuseppe Scrivano: changed buffer.c configure.in sysdep.c xsmfns.c
+Giuseppe Scrivano: changed browse-url.el buffer.c configure.in sysdep.c
+  xsmfns.c
 
 Glenn Morris: wrote check-declare.el
-and changed Makefile.in calendar.el diary-lib.el rmail.el f90.el
-  cal-menu.el cal-hebrew.el fortran.el holidays.el configure.in
-  cal-islam.el bytecomp.el calendar.texi cal-bahai.el emacs.texi files.el
-  appt.el cal-china.el rmailsum.el simple.el startup.el
-  and 976 other files
+and changed Makefile.in configure.in calendar.el diary-lib.el f90.el
+  rmail.el files.el cal-menu.el appt.el cal-hebrew.el fortran.el
+  bytecomp.el holidays.el make-dist calendar.texi emacs.texi sed1v2.inp
+  simple.el cal-islam.el cal-bahai.el startup.el and 1199 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -1162,11 +1344,9 @@ Gregory Neil Shapiro: changed mailabbrev.el
 Guanpeng Xu: changed add-log.el TUTORIAL.cn display.texi mouse.el
   pcomplete.el search.c subr.el type-break.el
 
-Guillermo J. Rozas: wrote fakemail.c
-
 Gunnar Horrigmo: changed gnus-sum.el
 
-Gustav Hållberg: changed compile.el rect.el vc.el
+Gustav Hållberg: changed descr-text.el progmodes/compile.el rect.el vc.el
 
 Guy Geens: changed gnus-score.el
 
@@ -1178,6 +1358,8 @@ Hallvard B. Furuseth: co-wrote byte-opt.el byte-run.el bytecomp.el
 and changed gnus-util.el editfns.c gnus-cache.el gnus-sum.el lread.c
   messcompat.el nntp.el print.c process.c search.c
 
+Hamano Kiyoto: changed xml.c
+
 Han Boetes: changed netbsd.h
 
 Han-Wen Nienhuys: changed emacsclient.c server.el
@@ -1194,14 +1376,20 @@ Harald Maier: changed w32heap.c
 Harald Meland: changed gnus-art.el gnus-salt.el gnus-score.el
   gnus-util.el gnus-win.el mail-source.el
 
+Harri Kiiskinen: changed org-publish.el
+
 Heiko Muenkel: changed b2m.c
 
+Helmut Eller: changed cl-macs.el emacs-lisp/debug.el process.c
+
 Helmut Waitzmann: changed gnus-sum.el gnus.texi
 
 Henrik Enberg: changed rmailout.el gnus-art.el gnus-msg.el lread.c
   rmail.el rmailedit.el rmailkwd.el rmailmm.el rmailmsc.el rmailsort.el
   rmailsum.el xfaces.c
 
+Henrique Martins: changed mh-mime.el mh-xface.el
+
 Henry Guillaume: wrote find-file.el
 
 Henry Kautz: wrote bib-mode.el refbib.el
@@ -1233,9 +1421,9 @@ Howie Kaye: wrote sort.el
 
 Hrvoje Nikšić: wrote croatian.el savehist.el
 and changed gnus-xmas.el message.el nnmail.el fileio.c fns.c gnus-art.el
-  gnus-salt.el gnus-spec.el mm-decode.el add-log.el appt.el arc-mode.el
-  avoid.el bookmark.el cal-china.el cal-tex.el calendar.el cl-indent.el
-  cmacexp.el comint.el compile.el and 83 other files
+  gnus-salt.el gnus-spec.el mm-decode.el simple.el add-log.el appt.el
+  arc-mode.el avoid.el bookmark.el cal-china.el cal-tex.el calendar.el
+  cl-indent.el cmacexp.el comint.el and 83 other files
 
 Hubert Chan: changed spam.el
 
@@ -1252,6 +1440,8 @@ Ian Lance Taylor: changed sco4.h
 Ian T Zimmerman: wrote gametree.el
 and changed ange-ftp.el desktop.el tex-mode.el
 
+Igor Kuzmin: wrote cconv.el
+
 Ilja Weis: co-wrote gnus-topic.el
 
 Ilya N. Golubev: changed mm-util.el shell.el
@@ -1275,9 +1465,11 @@ Inoue Seiichiro: changed xterm.c xfns.c xterm.h
 International Business Machines: changed emacs.c fileio.c process.c
   sysdep.c unexcoff.c
 
+Irie Shinsuke: changed subr.el
+
 Irie Tetsuya: changed gnus.texi message.texi
 
-İsmail Dönmez: changed url-auth.el xterm.c
+İsmail Dönmez: changed nsfont.m nsterm.m url-auth.el xterm.c
 
 Istvan Marko: changed gnus-agent.el xfns.c
 
@@ -1286,7 +1478,7 @@ Itai Zukerman: changed mm-decode.el
 Ivan Boldyrev: changed mml1991.el
 
 Ivan Kanis: wrote vc-hg.el
-and changed term.el time.el
+and changed appt.el term.el time.el
 
 Ivan Shmakov: changed tcl.el
 
@@ -1313,16 +1505,19 @@ Jacques Duthen: co-wrote ps-print.el ps-samp.el
 
 Jaeyoun Chung: changed hangul3.el hanja3.el gnus-mule.el hangul.el
 
+Jambunathan K: changed org.el org-exp.el org.texi org-footnote.el
+  org-html.el package-x.el tar-mode.el
+
 James Clark: wrote nxml-enc.el nxml-glyph.el nxml-maint.el nxml-mode.el
   nxml-ns.el nxml-outln.el nxml-parse.el nxml-rap.el nxml-uchnm.el
   nxml-util.el rng-cmpct.el rng-dt.el rng-loc.el rng-maint.el
   rng-match.el rng-nxml.el rng-parse.el rng-pttrn.el rng-uri.el
   rng-util.el rng-valid.el rng-xsd.el sgml-mode.el xmltok.el
   xsd-regexp.el
-and changed fns.c window.c xselect.c
+and changed  fns.c nxml-mode.texi window.c xselect.c
 
 James Cloos: wrote arabic.el
-and changed url-history.el
+and changed url-history.el xfns.c xterm.c xterm.h
 
 James R. Larus: co-wrote mh-e.el
 
@@ -1342,13 +1537,19 @@ Jamie Zawinski: wrote mailabbrev.el tar-mode.el
 and co-wrote byte-opt.el byte-run.el bytecomp.el disass.el font-lock.el
 and changed bytecode.c mail-extr.el subr.el
 
-Jan Djärv: wrote dnd.el font-setting.el x-dnd.el
-and changed gtkutil.c xterm.c xfns.c configure.in xterm.h xmenu.c
-  x-win.el Makefile.in gtkutil.h keyboard.c frame.c frames.texi config.in
-  emacs.c xselect.c xresources.texi startup.el alloc.c cus-start.el
-  xlwmenu.c frame.h and 203 other files
+Jan Böcker: wrote org-docview.el
+and changed org.el
 
-Jan Moringen: co-wrote cpp.el
+Jan Böker: changed org.el
+
+Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el
+and changed gtkutil.c xterm.c xfns.c configure.in xmenu.c xterm.h
+  gtkutil.h x-win.el keyboard.c Makefile.in nsterm.m frames.texi
+  xsettings.c frame.c emacs.c xselect.c process.c xlwmenu.c config.in
+  cus-start.el xresources.texi and 302 other files
+
+Jan Moringen: co-wrote srecode/cpp.el tango-dark-theme.el tango-theme.el
+and changed dbus.el dbus.texi dbusbind.c eieio.el log-edit.el zeroconf.el
 
 Jan Nieuwenhuizen: changed info.el TUTORIAL.nl add-log.el emacs.c
   emacsclient.c gnus-start.el gud.el nnmh.el server.el startup.el
@@ -1357,36 +1558,40 @@ Jan Rychter: changed gnus-msg.el
 
 Jan Schormann: wrote solitaire.el
 
-Jan Seeger: changed parse-time.el
+Jan Seeger: changed org-publish.el parse-time.el
 
 Jan Vroonhof: changed gnus-cite.el gnus-msg.el nntp.el
 
 Jan-Hein Buhrman: changed ange-ftp.el env.el
 
-Jared Finder: changed compile.el
+Jared Finder: changed progmodes/compile.el
 
-Jari Aalto: changed add-log.el filecache.el grep.el gnus-art.el
-  gnus-sum.el gnus.texi ispell.el lisp-mnt.el man.el nnmail.el apropos.el
-  autorevert.el comint.el compile.el cperl-mode.el debug.el desktop.el
-  executable.el files.el find-dired.el finder.el and 14 other files
+Jari Aalto: changed add-log.el filecache.el progmodes/grep.el comint.el
+  gnus-art.el gnus-sum.el gnus.texi ispell.el lisp-mnt.el man.el
+  nnmail.el apropos.el autorevert.el checkdoc.el cperl-mode.el desktop.el
+  em-ls.el emacs-lisp/debug.el emacsclient.1 executable.el files.el
+  and 20 other files
 
 Jason Baker: changed gnus-art.el
 
-Jason Merrill: changed gnus-sum.el gnus-salt.el imap.el nnfolder.el
+Jason Dunsmore: changed org-html.el org.el
+
+Jason Merrill: changed gnus-sum.el add-log.el gnus-salt.el imap.el
+  nnfolder.el
 
 Jason Riedy: changed org-table.el org.texi
 
 Jason Rumney: wrote w32-vars.el
 and changed w32fns.c w32term.c w32font.c makefile.w32-in w32menu.c
   w32-win.el w32term.h w32.c w32uniscribe.c w32-fns.el makefile.nt
-  w32console.c w32bdf.c configure.bat w32proc.c keyboard.c w32select.c
+  w32console.c w32bdf.c configure.bat keyboard.c w32proc.c w32select.c
   font.c image.c w32font.h w32gui.h and 160 other files
 
 Jay Belanger: changed calc.texi calc.el calc-ext.el calc-aent.el
-  calc-embed.el calc-lang.el calc-prog.el calc-units.el calc-help.el
-  calc-math.el calc-arith.el calccomp.el calc-forms.el calc-graph.el
-  calc-yank.el calc-misc.el calc-store.el calcalg2.el COPYING calc-alg.el
-  calc-bin.el and 38 other files
+  calc-units.el calc-embed.el calc-lang.el calc-prog.el calc-help.el
+  calc-math.el calccomp.el calc-arith.el calc-graph.el calc-forms.el
+  calc-misc.el calc-store.el calc-yank.el calcalg2.el calc-bin.el
+  calc-alg.el calc-vec.el and 39 other files
 
 Jay K. Adams: wrote jka-cmpr-hook.el jka-compr.el
 
@@ -1394,6 +1599,8 @@ Jay Sachs: changed gnus-score.el gnus-win.el
 
 Jean-Philippe Theberge: wrote thumbs.el
 
+Jeff Dairiki: changed whitespace.el
+
 Jeff Dwork: changed ehelp.el facemenu.el
 
 Jeff Miller: changed appt.el calendar.el
@@ -1426,13 +1633,15 @@ Jeramey Crawford: changed amdx86-64.h configure.in
 Jeremy Bertram Maitin-Shepard: changed erc.el erc-backend.el
   erc-button.el erc-track.el mml.el
 
-Jeremy Whitlock: changed python.el
+Jeremy Whitlock: changed progmodes/python.el
 
 Jerry Frain: changed systime.h usg5-4.h
 
 Jerry James: changed format.el dns.el gnus-spec.el gnus-util.el
   gnus-xmas.el
 
+Jes Bodi Klinke: changed progmodes/compile.el
+
 Jesper Harder: wrote yenc.el
 and changed gnus-sum.el gnus-art.el message.el gnus-group.el gnus-msg.el
   gnus.el gnus-util.el rfc2047.el mm-bodies.el mm-util.el mml.el
@@ -1449,18 +1658,17 @@ and co-wrote wyse50.el
 and changed keyboard.c xterm.c xfns.c Makefile.in window.c process.c
   ymakefile dispnew.c xdisp.c sysdep.c configure.in lisp.h keymap.c
   configure make-dist buffer.c frame.c screen.c simple.el alloc.c emacs.c
-  and 389 other files
+  and 387 other files
 
 Jim Kingdon: changed emacsclient.c emacs.tex functions.texinfo hp300bsd.h
   rmail.el
 
-Jim Meyering: changed lread.c w32.c copyright.el ebrowse.c term.c
-  w32font.c xfaces.c xselect.c Makefile.in alloc.c autoinsert.el buffer.h
-  character.h configure configure.in doprnt.c editfns.c etags.c frame.c
-  ftfont.c grep-changelog and 25 other files
+Jim Meyering: changed lread.c w32.c copyright.el ebrowse.c emacs.c
+  make-docfile.c nsfont.m term.c w32font.c xfaces.c xselect.c Makefile.in
+  alloc.c artist.el autoinsert.el buffer.h character.h charset.c
+  configure configure.in doprnt.c and 52 other files
 
-Jim Radford: co-wrote nnimap.el
-and changed gnus-start.el
+Jim Radford: changed gnus-start.el
 
 Jim Salem: wrote completion.el
 
@@ -1480,7 +1688,8 @@ Joakim Hove: wrote html2text.el
 
 Joakim Verona: wrote db-javascript.el
 and co-wrote db-ebrowse.el
-and changed compile.el nnrss.el thingatpt.el window.c window.h
+and changed Makefile.in configure.in image-mode.el image.c image.el
+  nnrss.el progmodes/compile.el thingatpt.el window.c window.h
 
 Joanna Pluta: changed TUTORIAL.pl
 
@@ -1500,7 +1709,7 @@ Joe Corneli: changed subr.el
 
 Joe Edmonds: changed lisp-mode.el
 
-Joe Hildebrand: co-wrote nndb.el
+Joe Matarazzo: changed ebrowse.c
 
 Joe Ramey: changed filelock.c rmailsum.el
 
@@ -1510,6 +1719,8 @@ Joe Wells: wrote mail-extr.el resume.el
 and co-wrote apropos.el
 and changed arc-mode.el tex-mode.el
 
+Joel Boehland: co-wrote ob-clojure.el ob-lisp.el
+
 Joel N. Weber II: changed comint.el make-dist
 
 Joel Ray Holveck: changed gnus-sum.el info.el
@@ -1519,8 +1730,8 @@ Joev Dubach: changed nntp.el
 Johan Bockgård: changed erc.el cl-macs.el erc-backend.el erc-button.el
   erc-match.el browse-url.el bytecomp.el custom.el display.texi
   erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
-  help-fns.el simple.el subr.el xterm.el advice.el align.el basic.texi
-  and 40 other files
+  help-fns.el icomplete.el mouse-sel.el simple.el subr.el xdisp.c
+  xterm.el and 48 other files
 
 Johan Euphrosine: changed ibuf-ext.el
 
@@ -1548,7 +1759,7 @@ John Heidemann: wrote mouse-copy.el mouse-drag.el
 
 John Hughes: changed term.c
 
-John J Foerch: changed compile.el erc-stamp.el
+John J Foerch: changed erc-stamp.el progmodes/compile.el
 
 John Mongan: changed f90.el
 
@@ -1568,18 +1779,20 @@ John Wiegley: wrote align.el cal-bahai.el em-alias.el em-banner.el
   em-pred.el em-prompt.el em-rebind.el em-script.el em-smart.el
   em-term.el em-unix.el em-xtra.el erc-identd.el esh-arg.el esh-cmd.el
   esh-ext.el esh-io.el esh-mode.el esh-module.el esh-opt.el esh-proc.el
-  esh-test.el esh-util.el esh-var.el eshell.el eudcb-mab.el isearchb.el
-  org-attach.el org-crypt.el org-habit.el pcmpl-cvs.el pcomplete.el
-  remember.el timeclock.el
-and co-wrote org-mac-message.el
-and changed org-clock.el erc-chess.el org-agenda.el org.el erc.el
-  iswitchb.el Makefile.in allout.el cal-menu.el calendar.el compile.el
-  desktop.el diary-lib.el erc-bbdb.el erc-button.el erc-complete.el
-  erc-fill.el erc-ibuffer.el erc-list.el erc-match.el erc-menu.el
-  and 16 other files
+  esh-util.el esh-var.el eshell.el eudcb-mab.el isearchb.el org-attach.el
+  org-crypt.el org-habit.el pcmpl-cvs.el pcomplete.el remember.el
+  timeclock.el
+and co-wrote org-mac-message.el org-pcomplete.el
+and changed org-clock.el org-agenda.el erc-chess.el org.el erc.el
+  iswitchb.el ido.el esh-test.el Makefile.in allout.el cal-menu.el
+  calendar.el desktop.el diary-lib.el erc-bbdb.el erc-button.el
+  erc-complete.el erc-fill.el erc-ibuffer.el erc-list.el erc-match.el
+  and 19 other files
 
 John Williams: changed etags.el
 
+Jon Anders Skorpen: changed org-publish.el
+
 Jon Ericson: changed gnus.el spam-report.el
 
 Jon K Hellan: wrote utf7.el
@@ -1589,6 +1802,10 @@ Jonathan I. Kamens: changed pop.c movemail.c rmail.el Makefile.in
   gnus-sum.el jka-compr.el rmailout.el rnewspost.el sendmail.el simple.el
   timezone.el vc-hooks.el
 
+Jonathan Marchand: changed cpp-root.el
+
+Jonathan Rockway: changed rcirc.el
+
 Jonathan Stigelman: changed hilit19.el
 
 Jonathan Vail: changed vc.el
@@ -1605,7 +1822,9 @@ and changed erc.el erc-track.el erc-backend.el erc-match.el erc-stamp.el
   erc-bbdb.el erc-imenu.el erc-lang.el erc-list.el erc-macs.el
   erc-menu.el and 8 other files
 
-Jose E. Marchesi: changed ada-mode.el gomoku.el smtpmail.el
+Jose A. Ortega Ruiz: changed gnus-sum.el
+
+Jose E. Marchesi: changed ada-mode.el gomoku.el simple.el smtpmail.el
 
 Joseph Arceneaux: wrote xrdb.c
 and changed xterm.c xfns.c keyboard.c screen.c dispnew.c xdisp.c window.c
@@ -1632,12 +1851,14 @@ João Cachopo: changed spam.el
 Juan León Lahoz García: wrote wdired.el
 and changed files.el perl-mode.el
 
-Juanma Barranquero: changed makefile.w32-in subr.el files.el faces.el
-  bs.el help-fns.el w32fns.c org.el server.el simple.el emacsclient.c
-  desktop.el buffer.c mule-cmds.el ido.el window.c xdisp.c allout.el
-  keyboard.c replace.el eval.c and 932 other files
+Juan Pechiar: wrote ob-mscgen.el
+and changed ob-octave.el
 
-Juergen Hoetzel: changed url-handlers.el
+Juanma Barranquero: wrote emacs-lock.el
+and changed makefile.w32-in subr.el w32fns.c files.el server.el bs.el
+  help-fns.el emacsclient.c faces.el org.el simple.el buffer.c xdisp.c
+  keyboard.c process.c w32term.c desktop.el ido.el eval.c mule-cmds.el
+  w32.c and 1036 other files
 
 Juergen Kreileder: changed imap.el nnimap.el
 
@@ -1647,17 +1868,28 @@ Julian Scheid: changed tramp.el
 
 Julien Avarre: changed gnus-fun.el
 
+Julien Barnier: changed ob-comint.el ob-sh.el org.el
+
+Julien Danjou: wrote gnus-gravatar.el gravatar.el notifications.el
+  shr-color.el
+and co-wrote color.el
+and changed shr.el org-agenda.el gnus-art.el gnus-html.el gnus.el
+  mm-decode.el gnus-group.el gnus-util.el message.el org.el gnus-sum.el
+  gnus.texi mm-view.el mm-uu.el nnimap.el nnir.el sieve-manage.el
+  color-lab.el url-cache.el auth-source.el gnus-ems.el and 82 other files
+
 Julien Gilles: wrote gnus-ml.el
 
 Junio Hamano: changed window.el
 
 Jure Cuhalev: changed ispell.el
 
-Juri Linkov: wrote files-x.el misearch.el
-and changed info.el isearch.el simple.el replace.el dired-aux.el
-  startup.el grep.el compile.el dired.el files.el faces.el display.texi
-  menu-bar.el descr-text.el cus-edit.el bindings.el man.el image-mode.el
-  ispell.el text.texi dired-x.el and 281 other files
+Juri Linkov: wrote files-x.el misearch.el occur-tests.el
+and changed info.el isearch.el simple.el replace.el progmodes/grep.el
+  dired-aux.el progmodes/compile.el dired.el startup.el faces.el files.el
+  display.texi menu-bar.el descr-text.el bindings.el cus-edit.el
+  image-mode.el ispell.el man.el dired-x.el log-view.el
+  and 334 other files
 
 Justin Bogner: changed fortune.el
 
@@ -1668,17 +1900,19 @@ Justus Piater: changed smtpmail.el
 Jérôme Marant: changed Makefile.in make-dist bindings.el configure.in
   emacsclient.c misc.texi
 
+Jürgen Hötzel: changed comint.el url-handlers.el wid-edit.el
+
 K. Shane Hartman: wrote chistory.el echistory.el electric.el emacsbug.el
   helper.el picture.el view.el
-and changed rmail.el ebuff-menu.el dired.el simple.el add-log.el
-  lisp-mode.el shell.el buff-menu.el buffer.c c-mode.el mail-utils.el
-  mim-mode.el more-mode.el aton.el c++-mode.el cmds.c compile.el files.el
-  gud.el indent.el info.el and 13 other files
+and changed rmail.el ebuff-menu.el simple.el dired.el add-log.el
+  lisp-mode.el mim-mode.el shell.el buff-menu.el buffer.c c-mode.el
+  mail-utils.el more-mode.el aton.el c++-mode.el cmds.c compile.el
+  files.el gud.el indent.el info.el and 13 other files
 
 Kahlil Hodgson: changed timeclock.el
 
 Kai Großjohann: wrote gnus-delay.el nnir.el tramp-uu.el trampver.el
-and co-wrote longlines.el nndb.el tramp.el
+and co-wrote longlines.el tramp-sh.el tramp.el
 and changed message.el gnus-agent.el gnus-sum.el files.el nnmail.el
   tramp.texi nntp.el gnus.el simple.el ange-ftp.el Makefile.in dired.el
   paragraphs.el bindings.el files.texi gnus-art.el gnus-group.el man.el
@@ -1691,25 +1925,32 @@ Kailash C. Chowksey: changed HELLO Makefile.in ind-util.el kannada.el
 
 Kalle Olavi Niemitalo: changed keyboard.c
 
+Kan-Ru Chen: changed nnir.el ecomplete.el gnus-diary.el gnus.texi
+  nroff-mode.el
+
 Kanematsu Daiji: changed nnimap.el
 
+Karel Klíč: changed fileio.c files.el Makefile.in configure.in eval.c
+  ftfont.c lisp.h text.texi tramp.el
+
 Karl Berry: changed emacs.texi info.texi elisp.texi text.texi anti.texi
-  display.texi .cvsignore emacs-xtra.texi faq.texi filelock.c gnu.texi
-  macos.texi minibuf.texi mule.texi processes.texi texinfo.tex
-  ada-mode.texi autotype.texi building.texi calc.texi cc-mode.texi
-  and 94 other files
+  display.texi emacs-xtra.texi faq.texi filelock.c gnu.texi macos.texi
+  minibuf.texi mule.texi processes.texi texinfo.tex ada-mode.texi
+  autotype.texi building.texi calc.texi cc-mode.texi cl.texi
+  and 93 other files
 
-Karl Chen: changed files.el align.el cc-vars.el gnus-art.el help-mode.el
-  jka-cmpr-hook.el make-mode.el perl-mode.el python.el tex-mode.el
-  vc-svn.el
+Karl Chen: changed files.el align.el cc-vars.el emacsclient.c gnus-art.el
+  help-mode.el jka-cmpr-hook.el make-mode.el perl-mode.el
+  progmodes/python.el tex-mode.el vc-svn.el
 
 Karl Eichwalder: changed Makefile.in add-log.el bookmark.el dired-aux.el
   dired.el info.el menu-bar.el midnight.el po.el
 
 Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el
-and changed files.el INSTALL autogen.sh doc-view.el image-mode.el info.el
-  isearch.el menu-bar.el simple.el thingatpt.el INSTALL.BZR configure
-  configure.in editfns.c gnus-bookmark.el nnmail.el vc-svn.el window.c
+and changed files.el doc-view.el image-mode.el info.el simple.el INSTALL
+  autogen.sh isearch.el menu-bar.el thingatpt.el INSTALL.BZR configure
+  configure.in editfns.c gnus-bookmark.el gnus-msg.el gnus-sum.el man.el
+  nnmail.el vc-svn.el window.c and 3 other files
 
 Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
   alloc.c files.el frame.c window.c configure.in Makefile.in data.c
@@ -1725,20 +1966,21 @@ Karl Landstrom: co-wrote js.el
 Karl M. Hegbloom: changed gnus.el
 
 Karl Pflästerer: changed gnus-art.el gnus-score.el mml.el spam-stat.el
+  vc-svn.el
 
 Katsuhiro Hermit Endo: changed gnus-group.el gnus-spec.el
 
 Katsumi Yamaoka: wrote canlock.el
-and changed gnus-art.el message.el gnus-sum.el gnus.texi mm-decode.el
-  mm-util.el mm-view.el rfc2047.el mml.el gnus-group.el gnus-msg.el
-  gnus-util.el gnus-start.el gnus.el nntp.el gnus-agent.el nnrss.el
-  mm-uu.el nnmail.el emacs-mime.texi nnheader.el and 108 other files
+and changed gnus-art.el gnus-sum.el message.el gnus.texi mm-decode.el
+  mm-util.el mm-view.el gnus-group.el mml.el rfc2047.el gnus-util.el
+  gnus-start.el gnus-msg.el shr.el gnus.el nntp.el gnus-agent.el nnrss.el
+  nnmail.el mm-uu.el gnus-html.el and 133 other files
 
 Kaveh R. Ghazi: changed delta88k.h xterm.c
 
 Kayvan Sylvan: changed supercite.el
 
-Kazuhiro Ito: changed coding.c
+Kazuhiro Ito: changed coding.c flow-fill.el
 
 Kazushi Marukawa: changed filelock.c hexl.c profile.c unexalpha.c
 
@@ -1746,32 +1988,38 @@ Keiichi Suzuki: changed nntp.el
 
 Keisuke Nishida: changed print.c alloc.c bytecomp.el data.c keymap.c
 
+Keitaro Miyazaki: changed re-builder.el
+
 Keith Gabryelski: wrote hexl.c hexl.el
 
-Ken Brown: changed browse-url.el cygwin.h configure.in emacs.c
+Keith Packard: changed font.c
+
+Ken Brown: changed configure.in cygwin.h sheap.c browse-url.el gmalloc.c
+  vm-limit.c dired.c emacs.c loadup.el mem-limits.h unexcw.c
 
 Ken Brush: changed emacsclient.c
 
 Ken Laprade: changed simple.el
 
-Ken Manheimer: wrote allout.el icomplete.el
-and changed pgg-gpg.el pgg.el python.el pgg-pgp.el pgg-pgp5.el edebug.el
-  pgg.texi tips.texi
+Ken Manheimer: wrote allout-widgets.el allout.el icomplete.el
+and changed pgg-gpg.el pgg.el progmodes/python.el encrypted-locked.xpm
+  pgg-pgp.el pgg-pgp5.el unlocked-encrypted.png unlocked-encrypted.xpm
+  README edebug.el pgg.texi tips.texi
 
 Ken Raeburn: changed lisp.h lread.c Makefile.in alloc.c buffer.c fns.c
-  keyboard.c minibuf.c coding.c editfns.c fileio.c keymap.c undo.c
-  xdisp.c xfns.c xterm.c charset.h coding.h configure.in fontset.c
-  process.c and 90 other files
+  keyboard.c minibuf.c coding.c editfns.c fileio.c keymap.c xdisp.c
+  configure.in emacs.c undo.c xfns.c xterm.c charset.h coding.h fontset.c
+  and 93 other files
 
 Ken Stevens: wrote ispell.el
 
 Kenichi Handa: wrote composite.el cyrillic.el isearch-x.el ps-bdf.el
   py-punct.el pypunct-b5.el thai-word.el
 and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el
-and changed coding.c mule-cmds.el mule.el fontset.c charset.c fontset.el
-  xdisp.c xterm.c font.c fileio.c Makefile.in mule-conf.el characters.el
-  fns.c mule-diag.el ftfont.c ccl.c charset.h xfaces.c coding.h
-  japanese.el and 377 other files
+and changed coding.c mule-cmds.el mule.el fontset.c charset.c xdisp.c
+  fontset.el font.c xterm.c Makefile.in fileio.c mule-conf.el
+  characters.el fns.c ftfont.c mule-diag.el charset.h ccl.c coding.h
+  xfaces.c japanese.el and 379 other files
 
 Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
 
@@ -1792,6 +2040,7 @@ Kevin Christian: changed gnus-score.el
 
 Kevin Gallagher: wrote edt-lk201.el edt-mapper.el edt-pc.el edt-user.el
   edt-vt100.el edt.el flow-ctrl.el
+and changed edt.texi
 
 Kevin Gallo: wrote w32-win.el
 and changed makefile.nt dispnew.c addpm.c config.nt config.w95
@@ -1809,23 +2058,23 @@ and changed gnus-agent.el gnus-sum.el gnus-start.el gnus-int.el nntp.el
 Kevin Layer: changed w32proc.c
 
 Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el files.el
-  ange-ftp.el byte-opt.el desktop.el diff-mode.el dired-x.texi ffap.el
-  files.texi flyspell.el grep.el isearch.el killing.texi lisp.el
-  loadhist.el mailalias.el menu-bar.el print.c replace.el
-  and 6 other files
+  progmodes/compile.el ange-ftp.el byte-opt.el desktop.el diff-mode.el
+  dired-x.texi ffap.el files.texi flyspell.el isearch.el killing.texi
+  lisp.el loadhist.el mailalias.el menu-bar.el print.c progmodes/grep.el
+  and 8 other files
 
 Kevin Ryde: wrote info-xref.el
-and changed info-look.el info.el checkdoc.el arc-mode.el cl.texi
-  compilation.txt ffap.el gnus-art.el mule.el os.texi MORE.STUFF
-  browse-url.el compile.el dig.el etags.c gnus-sum.el mailcap.el man.el
-  newst-backend.el nroff-mode.el simple.el and 71 other files
+and changed info-look.el info.el checkdoc.el cl.texi compilation.txt
+  arc-mode.el ffap.el gnus-art.el gnus-sum.el mule.el os.texi
+  progmodes/compile.el MORE.STUFF browse-url.el copyright.el dig.el
+  etags.c flyspell.el keyboard.c mailcap.el man.el and 80 other files
 
 Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el
   keypad.el kmacro.el
 and changed xdisp.c dispextern.h process.c simple.el window.c keyboard.c
   xterm.c dispnew.c subr.el w32term.c lisp.h fringe.c display.texi
   macterm.c fns.c alloc.c xfaces.c keymap.c xfns.c xterm.h .gdbinit
-  and 249 other files
+  and 250 other files
 
 Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
   gnus-win.el gnus-xmas.el gnus.texi imap.el message.el nndraft.el
@@ -1833,6 +2082,8 @@ Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
 
 Kimit Yada: changed copyright.el
 
+Kirk Kelsey: changed make-mode.el
+
 Kishore Kumar: changed terminal.el
 
 Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el
@@ -1840,7 +2091,7 @@ Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el
 
 Klaus Zeitler: changed configure.in files.el sh-script.el vcursor.el
 
-Knut Anders Hatlen: changed imap.el
+Knut Anders Hatlen: changed nnimap.el imap.el
 
 Koaunghi Un: wrote hanja3.el
 and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
@@ -1848,7 +2099,11 @@ and changed hanja.el hangul.el hangul3.el hanja-jis.el symbol-ksc.el
 Kobayashi Yasuhiro: changed w32fns.c configure.bat indent.c info.el
   w32term.c w32term.h window.c xfns.c
 
-Konstantin Novitsky: changed python.el
+Konrad Hinsen: changed ob-python.el
+
+Konstantin Novitsky: changed progmodes/python.el
+
+Kristoffer Grönlund: wrote wombat-theme.el
 
 Kurt B. Kaiser: changed message.el
 
@@ -1880,29 +2135,35 @@ Lars Hansen: changed desktop.el tramp.el info.el mh-e.el dired-x.el
   hilit-chg.el misc.texi url-auth.el url-cache.el url-dired.el url-ftp.el
   url-irc.el url-misc.el url-news.el url-privacy.el and 39 other files
 
+Lars Ingebrigtsen: changed nnimap.el gnus-art.el gnus-sum.el shr.el
+  gnus.texi gnus-start.el auth-source.el message.el nntp.el gnus-draft.el
+  gnus-group.el gnus-agent.el gnus-html.el gnus-util.el nnfolder.el
+  nnmail.el proto-stream.el gnus-demon.el gnus-gravatar.el gnus-int.el
+  gnus-msg.el and 6 other files
+
 Lars Lindberg: wrote msb.el
 and co-wrote dabbrev.el imenu.el
 
 Lars Magne Ingebrigtsen: wrote compface.el dns.el ecomplete.el
   format-spec.el gnus-agent.el gnus-art.el gnus-async.el gnus-bcklg.el
   gnus-cache.el gnus-demon.el gnus-draft.el gnus-dup.el gnus-eform.el
-  gnus-ems.el gnus-fun.el gnus-group.el gnus-int.el gnus-logic.el
-  gnus-move.el gnus-nocem.el gnus-picon.el gnus-range.el gnus-salt.el
-  gnus-spec.el gnus-srvr.el gnus-start.el gnus-sum.el gnus-undo.el
-  gnus-util.el gnus-uu.el gnus-win.el ietf-drums.el mail-parse.el
-  mail-prsvr.el mail-source.el message.el messcompat.el mm-view.el mml.el
-  netrc.el nnagent.el nndir.el nndraft.el nngateway.el nnkiboze.el
-  nnlistserv.el nnmail.el nnoo.el nnslashdot.el nntp.el nnultimate.el
-  nnweb.el nnwfm.el qp.el rfc2045.el rfc2231.el score-mode.el spam.el
+  gnus-ems.el gnus-fun.el gnus-group.el gnus-html.el gnus-int.el
+  gnus-logic.el gnus-picon.el gnus-range.el gnus-salt.el gnus-spec.el
+  gnus-srvr.el gnus-start.el gnus-sum.el gnus-undo.el gnus-util.el
+  gnus-uu.el gnus-win.el ietf-drums.el mail-parse.el mail-prsvr.el
+  mail-source.el message.el messcompat.el mm-view.el mml.el netrc.el
+  network-stream.el nnagent.el nndir.el nndraft.el nngateway.el nnmail.el
+  nnoo.el nntp.el nnweb.el qp.el rfc2045.el rfc2231.el rtree.el
+  score-mode.el shr.el spam.el url-queue.el
 and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
-  gnus-soup.el gnus-topic.el gnus.el mailcap.el mm-bodies.el mm-decode.el
+  gnus-topic.el gnus.el gssapi.el mailcap.el mm-bodies.el mm-decode.el
   mm-encode.el mm-util.el nnbabyl.el nndoc.el nneething.el nnfolder.el
-  nnheader.el nnmbox.el nnmh.el nnml.el nnsoup.el nnspool.el nnvirtual.el
+  nnheader.el nnimap.el nnmbox.el nnmh.el nnml.el nnspool.el nnvirtual.el
   rfc2047.el time-date.el
-and changed gnus-xmas.el gnus-cite.el gnus.texi spam-report.el
-  gnus-cus.el smiley-ems.el editfns.c pop3.el flow-fill.el mm-url.el
-  mm-uu.el nnrss.el smiley.el assistant.el fns.c gnus-vm.el imap.el
-  mail-extr.el message.texi nnimap.el custom.el and 36 other files
+and changed gnus.texi gnus-cite.el gnus-xmas.el pop3.el smtpmail.el
+  proto-stream.el auth-source.el xml.c dired.el editfns.c nnultimate.el
+  gnus-nocem.el gnutls.c imap.el nnkiboze.el nnrss.el nnslashdot.el
+  spam-report.el subr.el gnus-cus.el simple.el and 204 other files
 
 Lars Rasmusson: changed ebrowse.c
 
@@ -1911,11 +2172,11 @@ Lasse Rasinen: changed gnus-start.el
 Laurent Martelli: changed mm-decode.el
 
 Lawrence Mitchell: wrote erc-backend.el erc-log.el
-and changed erc.el erc-match.el erc-nets.el erc-nickserv.el erc-button.el
-  erc-compat.el erc-dcc.el erc-fill.el erc-list.el erc-track.el ielm.el
-  erc-autoaway.el erc-autojoin.el erc-bbdb.el erc-ezbounce.el erc-menu.el
-  erc-netsplit.el erc-nicklist.el erc-notify.el erc-sound.el lread.c
-  and 4 other files
+and changed erc.el org-latex.el org.el erc-match.el erc-nets.el
+  erc-nickserv.el org-exp.el browse-url.el erc-button.el erc-compat.el
+  erc-dcc.el erc-fill.el erc-list.el erc-track.el ielm.el ob.el
+  org-html.el cl-macs.el erc-autoaway.el erc-autojoin.el erc-bbdb.el
+  and 22 other files
 
 Lawrence R. Dodd: co-wrote dired-x.el
 and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el
@@ -1925,19 +2186,26 @@ and changed fortran.el ispell.el sendmail.el cmuscheme.el comint.el
 
 Leigh Stoller: changed emacsclient.c server.el
 
-Lennart Borgman: wrote org-freemind.el
-and changed nxml-mode.el tutorial.el window.el ada-xref.el debug.el
-  emacsclient.c filesets.el flymake.el help-fns.el isearch.el linum.el
-  lisp-mode.el mouse.el recentf.el remember.el replace.el shell.el
-  texinfmt.el w32term.c w32term.h
+Lennart Borgman: wrote ert-x.el org-freemind.el
+and changed nxml-mode.el tutorial.el window.el ada-xref.el buff-menu.el
+  emacs-lisp/debug.el emacsclient.c filesets.el flymake.el help-fns.el
+  isearch.el linum.el lisp-mode.el mouse.el recentf.el remember.el
+  replace.el ruby-mode.el shell.el texinfmt.el w32term.c w32term.h
 
 Lennart Staflin: changed dired.el diary-ins.el diary-lib.el tq.el xdisp.c
 
+Leo Liu: changed rcirc.el ido.el makefile.w32-in abbrev.el Makefile.in
+  deps.mk fns.c gl-comp.m4 gnulib.mk minibuffer.el register.el replace.el
+  abbrevlist.el ansi-color.el bindings.el bookmark.el cl-macs.el diff.el
+  editfns.c files.el footnote.el and 21 other files
+
 Leonard H. Tower Jr.: changed rnews.el rnewspost.el emacsbug.el
   rmailout.el sendmail.el
 
 Levin Du: changed parse-time.el
 
+Lewis Perin: changed emacs.manifest
+
 Liam Healy: changed outline.el
 
 Lloyd Zusman: changed mml.el pgg-gpg.el
@@ -1954,13 +2222,23 @@ Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
   delsel.el disass.el faces.el font-lock.el lmenu.el mailabbrev.el
   select.el xfaces.c xselect.c
 
+Ludovic Courtes: changed nnregistry.el
+
+Ludovic Courtès: wrote nnregistry.el
+and changed gnus.texi
+
+Lukas Huonker: changed tetris.el
+
 Łukasz Demianiuk: changed erc.el
 
-Lute Kamstra: changed modes.texi generic.el debug.el generic-x.el
-  font-lock.el simple.el subr.el Makefile.in battery.el debugging.texi
-  easy-mmode.el elisp.texi hl-line.el info.el basic.texi bindings.el
-  calc.el cmdargs.texi diff-mode.el doclicense.texi edebug.texi
-  and 290 other files
+Łukasz Stelmach: changed cookie1.el message.el org-agenda.el org-bbdb.el
+  org-exp.el org-html.el org.el
+
+Lute Kamstra: changed modes.texi generic.el emacs-lisp/debug.el
+  generic-x.el font-lock.el simple.el subr.el Makefile.in battery.el
+  debugging.texi easy-mmode.el elisp.texi hl-line.el info.el basic.texi
+  bindings.el calc.el cmdargs.texi diff-mode.el doclicense.texi
+  edebug.texi and 290 other files
 
 Lynn Slater: wrote help-macro.el
 
@@ -1969,10 +2247,14 @@ Maciek Pasternacki: changed nnrss.el
 Magnus Henoch: changed url-http.el ispell.el url.el dbusbind.c dns.el
   url-gw.el url-parse.el url-proxy.el autoinsert.el cl.texi configure.in
   cyrillic.el dbus.el gnus.texi hashcash.el log-edit.el message.el
-  org-latex.el org-table.el process.c rcirc.el and 8 other files
+  org-clock.el org-latex.el org-table.el process.c and 10 other files
 
 Malcolm Purvis: changed spam-stat.el
 
+Manoj Srivastava: wrote manoj-dark-theme.el
+
+Manuel Giraud: changed org-html.el org-publish.el org.texi
+
 Manuel Serrano: wrote flyspell.el
 
 Marc Fleischeuers: changed files.el
@@ -1997,9 +2279,11 @@ Marcus G. Daniels: changed xterm.c configure.in lwlib-Xm.c lwlib.c
   editfns.c emacs.c frame.c frame.h irix5-0.h keyboard.c linux.h
   lwlib-Xm.h lwlib.h ntterm.c and 11 other files
 
+Marcus Harnisch: changed gnus-art.el
+
 Marek Martin: changed nnfolder.el
 
-Marien Zwart: changed python.el
+Marien Zwart: changed progmodes/python.el
 
 Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-menu.el
   erc-netsplit.el erc-networks.el erc-notify.el erc-speedbar.el
@@ -2007,15 +2291,15 @@ Mario Lang: wrote erc-button.el erc-ibuffer.el erc-imenu.el erc-menu.el
 and co-wrote erc-fill.el
 and changed erc.el erc-dcc.el erc-speak.el erc-bbdb.el erc-complete.el
   erc-pcomplete.el erc-chess.el erc-list.el battery.el erc-match.el
-  erc-autojoin.el erc-nets.el erc-nickserv.el erc-ring.el files.el
-  artist.el chart.el complete.el cpp-root.el db-el.el db-global.el
-  and 23 other files
+  erc-autojoin.el erc-nets.el erc-nickserv.el erc-ring.el artist.el
+  cpp-root.el db-el.el db-global.el db-javascript.el db.el diff.el
+  and 24 other files
 
 Mark A. Hershberger: changed xml.el nnrss.el mm-url.el cperl-mode.el
-  vc-bzr.el Makefile.in NXML-NEWS cc-mode.texi compilation.txt compile.el
-  ede.texi eieio.texi esh-mode.el flymake.el gnus-group.el isearch.el
-  makefile.w32-in nxml nxml-mode.texi programs.texi python.el
-  and 5 other files
+  isearch.el vc-bzr.el  Makefile.in NXML-NEWS cc-mode.texi
+  compilation.txt ede.texi eieio.texi esh-mode.el flymake.el
+  gnus-group.el makefile.w32-in nxml-mode.texi progmodes/compile.el
+  progmodes/python.el programs.texi and 7 other files
 
 Mark D. Baushke: changed mh-e.el mh-utils.el mh-mime.el mh-comp.el
   mh-search.el mh-customize.el mh-identity.el mh-seq.el mh-speed.el
@@ -2025,7 +2309,7 @@ Mark D. Baushke: changed mh-e.el mh-utils.el mh-mime.el mh-comp.el
 Mark Davies: changed Makefile.in amdx86-64.h configure configure.in
   hp800.h netbsd.h ralloc.c sh3el.h sort.el
 
-Mark Diekhans: changed compile.el
+Mark Diekhans: changed files.el progmodes/compile.el subr.el
 
 Mark H. Weaver: changed comint.el
 
@@ -2033,6 +2317,8 @@ Mark Hood: changed gnus-uu.el
 
 Mark Lambert: changed process.c process.h
 
+Mark Lillibridge: changed mail-utils.el
+
 Mark Mitchell: changed font-lock.el
 
 Mark Neale: changed fortran.el
@@ -2043,6 +2329,8 @@ Mark Plaksin: changed nnrss.el term.el
 
 Mark Thomas: changed flow-fill.el gnus-sum.el gnus-util.el nnmail.el
 
+Mark Triggs: changed nnir.el
+
 Mark W Maimone: changed mpuz.el
 
 Mark W. Eichin: changed keyboard.c xterm.c
@@ -2053,23 +2341,26 @@ Markus Armbruster: changed avoid.el
 
 Markus Gritsch: changed ebrowse.el
 
+Markus Heiser: changed gud.el
+
 Markus Heritsch: co-wrote ada-mode.el ada-stmt.el ada-xref.el
 
 Markus Holmberg: changed thingatpt.el
 
 Markus Rost: wrote cus-test.el
-and changed cus-edit.el Makefile.in files.el compile.el rmail.el
-  tex-mode.el find-func.el rmailsum.el simple.el cus-dep.el dired.el
-  mule-cmds.el rmailout.el checkdoc.el configure.in custom.el emacsbug.el
-  gnus.el help-fns.el ls-lisp.el mwheel.el and 122 other files
+and changed cus-edit.el Makefile.in files.el progmodes/compile.el
+  rmail.el tex-mode.el find-func.el rmailsum.el simple.el cus-dep.el
+  dired.el mule-cmds.el rmailout.el checkdoc.el configure.in custom.el
+  emacsbug.el gnus.el help-fns.el ls-lisp.el mwheel.el
+  and 122 other files
 
 Markus Sauermann: changed lisp-mode.el
 
 Markus Triska: wrote linum.el
-and changed bytecomp.el byte-opt.el doctor.el image-mode.el calc-math.el
-  emacs.c expand.el flymake.el flymake.texi flyspell.el handwrite.el
-  internals.texi proced.el processes.texi speedbar.el subr.el tumme.el
-  widget.texi xterm.c
+and changed bytecomp.el byte-opt.el doctor.el image-mode.el
+  processes.texi calc-math.el emacs.c expand.el flymake.el flymake.texi
+  flyspell.el handwrite.el internals.texi proced.el ps-mode.el
+  speedbar.el subr.el tumme.el widget.texi xterm.c
 
 Marshall T. Vandegrift: changed gnus-fun.el
 
@@ -2090,43 +2381,49 @@ and changed vc.el vc-cvs.el vc-hooks.el vc-rcs.el vc-sccs.el
 
 Martin Neitzel: changed supercite.el
 
-Martin Pohlack: changed pc-select.el
+Martin Pohlack: changed iimage.el pc-select.el
 
-Martin Rudalics: changed window.el window.c windows.texi cus-edit.el
-  frame.c frame.el cus-start.el files.el subr.el add-log.el buffer.c
-  buffers.texi dired.el font-lock.el help-fns.el wid-edit.el xdisp.c
-  display.texi find-func.el help.el help.texi and 129 other files
+Martin Rudalics: changed window.el window.c windows.texi frame.c buffer.c
+  frame.el cus-edit.el cus-start.el files.el help.el window.h dired.el
+  subr.el add-log.el buffers.texi xdisp.c font-lock.el help-fns.el lisp.h
+  wid-edit.el display.texi and 132 other files
 
 Martin Stjernholm: wrote cc-bytecomp.el
 and co-wrote cc-align.el cc-cmds.el cc-compat.el cc-defs.el cc-engine.el
   cc-fonts.el cc-langs.el cc-menus.el cc-mode.el cc-styles.el cc-vars.el
 and changed cc-fix.el cc-mode.texi Makefile.in cc-guess.el cc-mode-19.el
-  ack.texi awk-mode.el cc-awk.el cc-lobotomy.el cc-make.el cc-style.el
-  cc-subword.el files.el generic-x.el simple.el
+  nnimap.el ack.texi awk-mode.el cc-awk.el cc-lobotomy.el cc-make.el
+  cc-style.el cc-subword.el files.el generic-x.el gnus-agent.el
+  gnus-art.el mm-decode.el simple.el
 
-Martin Svenson: changed python.el
+Martin Svenson: changed progmodes/python.el
 
 Martin Thornquist: changed gnus-group.el gnus-topic.el
 
+Martyn Jago: wrote ob-lilypond.el
+
 Masahiko Sato: wrote vip.el
 
-Masanobu Umeda: wrote metamail.el prolog.el rmailsort.el timezone.el
+Masanobu Umeda: wrote metamail.el rmailsort.el timezone.el
 and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus.el nnbabyl.el
-  nndb.el nndoc.el nneething.el nnfolder.el nnheader.el nnmbox.el nnmh.el
-  nnml.el nnsoup.el nnspool.el nnvirtual.el time-date.el
+  nndoc.el nneething.el nnfolder.el nnheader.el nnmbox.el nnmh.el nnml.el
+  nnspool.el nnvirtual.el time-date.el
 and changed gnuspost.el
 
 Masatake Yamato: wrote ld-script.el subword.el
+and co-wrote cc-guess.el
 and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el
-  xfaces.c simple.el vc.el wid-edit.el add-log.el compile.el etags.c
-  faces.el pcvs.el register.el ruler-mode.el buffer.c cus-face.el
-  dired-x.el dispextern.h and 67 other files
+  xfaces.c simple.el vc.el wid-edit.el add-log.el etags.c faces.el
+  pcvs.el progmodes/compile.el register.el ruler-mode.el buffer.c
+  cus-face.el dired-x.el dispextern.h and 71 other files
 
 Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
   make-mode.el
 
 Masayuki Fujii: changed dnd.el w32-win.el
 
+Mastake Yamato: changed cc-guess.el cc-langs.el cc-mode.el cc-styles.el
+
 Mathias Dahl: wrote image-dired.el
 and changed tumme.el dired.el dired.texi
 
@@ -2134,17 +2431,19 @@ Mathias Megyei: changed Makefile.in
 
 Mats Lidell: changed TUTORIAL.sv european.el gnus-art.el
 
-Matt Hodges: changed table.el faces.el iswitchb.el simple.el tmm.el
-  cal-menu.el calendar.el calendar.texi diary-lib.el easymenu.el
+Matt Hodges: changed textmodes/table.el faces.el iswitchb.el simple.el
+  tmm.el cal-menu.el calendar.el calendar.texi diary-lib.el easymenu.el
   edebug.texi eldoc.el em-hist.el em-pred.el fixit.texi icon.el ido.el
   locate.el paragraphs.el pcomplete.el repeat.el and 3 other files
 
+Matt Lundin: changed org-agenda.el org-bibtex.el org-footnote.el org.el
+
 Matt Pharr: changed message.el
 
 Matt Simmons: changed message.el
 
-Matt Swift: changed compile.el dired.el editfns.c lisp-mode.el
-  mm-decode.el outline.el rx.el simple.el startup.el
+Matt Swift: changed dired.el editfns.c lisp-mode.el mm-decode.el
+  outline.el progmodes/compile.el rx.el simple.el startup.el
 
 Matthew Junker: changed cal-tex.el
 
@@ -2166,17 +2465,20 @@ Matthieu Moy: changed gnus-msg.el message.el
 
 Maxime Edouard Robert Froumentin: changed gnus-art.el mml.el
 
-Michael Albinus: wrote dbus.el tramp-cmds.el tramp-compat.el
-  tramp-fish.el tramp-ftp.el tramp-gvfs.el tramp-gw.el tramp-smb.el
-  xesam.el zeroconf.el
-and co-wrote tramp-cache.el tramp.el
-and changed tramp.texi dbusbind.c dbus.texi ange-ftp.el trampver.el
-  trampver.texi files.el files.texi tramp-vc.el Makefile.in tramp-util.el
-  tramp-uu.el dired-aux.el tramp-imap.el compile.el em-unix.el grep.el
-  simple.el vc.el configure.in dired.el and 50 other files
+Michael Albinus: wrote dbus.el secrets.el tramp-cmds.el tramp-compat.el
+  tramp-ftp.el tramp-gvfs.el tramp-gw.el tramp-smb.el xesam.el
+  zeroconf.el
+and co-wrote tramp-cache.el tramp-sh.el tramp.el
+and changed tramp.texi dbusbind.c trampver.texi dbus.texi trampver.el
+  ange-ftp.el tramp-fish.el files.el tramp-imap.el files.texi Makefile.in
+  tramp-vc.el tramp-util.el tramp-uu.el simple.el auth-source.el
+  dired-aux.el configure.in em-unix.el fileio.c keyboard.c
+  and 64 other files
 
 Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h
-  unexcoff.c
+  unexec.c
+
+Michael Brand: changed org-agenda.el org-table.el org.el
 
 Michael D. Ernst: wrote reposition.el
 and changed dired-x.el uniquify.el ispell.el bibtex.el rmail.el dired.el
@@ -2193,7 +2495,7 @@ Michael Gschwind: wrote iso-cvt.el
 
 Michael Harnois: changed nnimap.el
 
-Michael Hotchin: changed compile.el
+Michael Hotchin: changed progmodes/compile.el
 
 Michael I. Bushnell: changed rmail.el simple.el callproc.c gnu.h gnus.el
   lread.c process.c screen.el search.c sendmail.el startup.el timer.c
@@ -2212,6 +2514,10 @@ and changed viper*.el ediff*.el viper.texi ediff.texi ediff-hooks.el
   ediff-merge.el menu-bar.el appt.el desktop.el ediff-meta.el
   viper-mouse.el
 
+Michael Markert: changed ob.el org-agenda.el org-ascii.el
+  org-contacts-wl.el org-docbook.el org-html.el org-latex.el org-table.el
+  org.el
+
 Michael McNamara: co-wrote verilog-mode.el
 
 Michael Olson: changed erc.el erc-backend.el erc.texi erc-track.el
@@ -2233,15 +2539,17 @@ Michael Schmidt: co-wrote modula2.el (public domain)
 
 Michael Shields: changed spam.el gnus-art.el gnus-sum.el gnus-cite.el
   Makefile.in gnus-group.el gnus.el intel386.h nndraft.el pgg-def.el
+  window.c window.el
 
 Michael Sperber: changed aix3-1.h aix4-2.h gnus.texi mail-source.el
   nnmail.el
 
 Michael Staats: wrote pc-select.el
 
-Michael Welsh Duggan: changed lisp.h sh-script.el w32term.c buffer.c
-  gnus-spec.el keyboard.c nnmail.el termhooks.h url-http.el w32-win.el
-  w32fns.c w32menu.c w32term.h woman.el xdisp.c xterm.c
+Michael Welsh Duggan: changed lisp.h nnimap.el sh-script.el w32term.c
+  buffer.c gnus-spec.el keyboard.c nnir.el nnmail.el print.c
+  sieve-manage.el termhooks.h url-http.el w32-win.el w32fns.c w32menu.c
+  w32term.h woman.el xdisp.c xterm.c
 
 Michal Jankowski: changed insdel.c keyboard.c
 
@@ -2263,6 +2571,8 @@ Microelectronics and Computer Technology Corporation: changed
 
 Mikael Djurfeldt: changed xdisp.c
 
+Mikael Fornius: changed org.el org-habit.el
+
 Mike Haertel: changed 7300.h
 
 Mike Kupfer: changed mh-e.el mh-utils.el
@@ -2284,15 +2594,16 @@ Mike Woolley: changed gnus-sum.el
 Mikio Nakajima: changed ring.el viper-util.el
 
 Milan Zamazal: wrote czech.el glasses.el tildify.el
-and co-wrote slovak.el
-and changed abbrev.el compile.el filecache.el files.el mm-view.el
+and co-wrote prolog.el slovak.el
+and changed abbrev.el filecache.el files.el mm-view.el
+  progmodes/compile.el
 
 Miles Bader: wrote button.el face-remap.el image-file.el macroexp.el
   mb-depth.el minibuf-eldef.el rfn-eshadow.el
 and changed comint.el faces.el simple.el editfns.c xfaces.c xdisp.c
   info.el minibuf.c display.texi wid-edit.el xterm.c Makefile.in
-  dispextern.h subr.el window.el cus-edit.el diff-mode.el
-  quick-install-emacs xfns.c bytecomp.el help.el and 269 other files
+  dispextern.h quick-install-emacs subr.el window.el cus-edit.el
+  diff-mode.el xfns.c bytecomp.el help.el and 270 other files
 
 Milton Wulei: changed gdb-ui.el
 
@@ -2303,12 +2614,16 @@ Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el
 
 Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c
 
+Mohsen Banan: wrote persian.el
+
+Mon Key: changed animate.el syntax.el
+
 Morten Welinder: wrote [many MS-DOS files] arc-mode.el desktop.el
   dosfns.c internal.el msdos.h pc-win.el s-region.el
 and changed msdos.c sed1.inp config.bat keyboard.c sed2.inp fileio.c
   sed3.inp dos-fns.el callproc.c add-log.el alpha.h data.c editfns.c
   emacs.c etags.c files.el info.el lread.c mainmake osf1.h tar-mode.el
-  and 74 other files
+  and 73 other files
 
 Mosur Mohan: changed etags.c
 
@@ -2329,11 +2644,15 @@ Nakaji Hiroyuki: changed mm-util.el amdx86-64.h configure.in smiley.el
 
 Nakamura Toshikazu: changed w32fns.c
 
-Naohiro Aota: changed fontset.c gnus-art.el mm-view.el tls.el
+Naohiro Aota: changed fontset.c ftfont.c gnus-art.el mm-view.el tls.el
+  xftfont.c
 
 Nathan J. Williams: changed imap.el
 
-Nathaniel Flath: changed cc-menus.el
+Nathan Weizenbaum: changed js.el
+
+Nathaniel Flath: changed cc-menus.el cc-engine.el cc-fonts.el cc-langs.el
+  cc-mode.el cc-vars.el
 
 Neal Ziring: co-wrote vi.el (public domain)
 
@@ -2343,8 +2662,8 @@ Neil W. Van Dyke: wrote webjump.el
 
 Nelson H. F. Beebe: changed configure.in
 
-Nelson Jose dos Santos Ferreira: changed nnsoup.el gnus-dup.el
-  spam-stat.el
+Nelson Jose dos Santos Ferreira: changed nnsoup.el gnus-art.el
+  gnus-dup.el spam-stat.el
 
 Nevin Kapur: changed nnmail.el gnus-sum.el nnimap.el gnus-group.el
   gnus-registry.el gnus.el nnbabyl.el nnfolder.el nnmbox.el nnmh.el
@@ -2356,23 +2675,32 @@ Nic Ferrier: changed tramp.el
 
 Nicholas Maniscalco: changed term.el
 
-Nick Dokos: changed mh-search.el
+Nick Dokos: changed org-exp.el mh-search.el url-cache.el
 
-Nick Roberts: wrote gdb-ui.el t-mouse.el
-and changed gud.el building.texi gdb-mi.el tooltip.el speedbar.el
+Nick Roberts: wrote gdb-mi.el t-mouse.el
+and changed gdb-ui.el gud.el building.texi tooltip.el speedbar.el
   bindings.el thumbs.el xt-mouse.el .gdbinit DEBUG cc-mode.el comint.el
-  keyboard.c subr.el compile.el frames.texi help-mode.el xdisp.c
-  Makefile.in display.texi term.c and 154 other files
+  keyboard.c subr.el frames.texi help-mode.el progmodes/compile.el
+  xdisp.c Makefile.in display.texi term.c and 154 other files
 
 Nico Francois: changed w32fns.c w32inevt.c w32menu.c
 
-Nicolas Goaziou: changed org-clock.el
+Nicolas Avrutin: changed url-http.el
+
+Nicolas Goaziou: changed org-list.el org.el org-latex.el org-exp.el
+  org-footnote.el org-html.el org-inlinetask.el org-docbook.el
+  org-timer.el org-capture.el org-ascii.el ob.el org-archive.el
+  org-clock.el org-macs.el org-indent.el org-mouse.el
+
+Niels Giesen: changed icalendar.el org-clock.el org-docbook.el
+  org-icalendar.el
 
 Niimi Satoshi: changed pp.el search.c
 
 Niklas Morberg: changed nnweb.el gnus-art.el nnimap.el spam.el
 
-Nikolaj Schumacher: changed compile.el flymake.el eldoc.el nsfont.m rx.el
+Nikolaj Schumacher: changed flymake.el progmodes/compile.el eldoc.el
+  elp.el nsfont.m rx.el
 
 Nil Geisweiller: changed flymake.el
 
@@ -2381,9 +2709,11 @@ Nils Ackermann: changed message.el nnmh.el
 Noah Friedman: wrote eldoc.el rlogin.el type-break.el
 and co-wrote erc-dcc.el
 and changed rsz-mini.el comint.el emacs-buffer.gdb files.el Makefile
-  mailabbrev.el sendmail.el subr.el timer.el yow.el battery.el calc.el
-  coding.c complete.el config.in configure.in copyright.h fns.c
-  gnu-linux.h hpux7.h irix3-3.h and 17 other files
+  mailabbrev.el sendmail.el subr.el timer.el yow.el apropos.el battery.el
+  bytecomp.el calc.el coding.c complete.el config.in configure.in
+  copyright.h fns.c gnu-linux.h and 19 other files
+
+Noah Lavine: changed tramp.el
 
 Nobuyoshi Nakada: co-wrote ruby-mode.el
 
@@ -2391,6 +2721,11 @@ Nobuyuki Hikichi: changed news-risc.h
 
 Noel Cragg: changed mh-junk.el
 
+Noorul Islam: changed org-latex.el org-html.el org.el org.texi
+  org-capture.el org-gnus.el org-habit.el
+
+Noorul Islam K M: changed package.el
+
 Norbert Koch: changed gnus-msg.el gnus-score.el
 
 Nozomu Ando: changed unexmacosx.c alloc.c buffer.c mips.h pmax.h
@@ -2402,37 +2737,44 @@ Odd Gripenstam: wrote dcl-mode.el
 
 Ognyan Kulev: changed TUTORIAL.bg cyrillic.el
 
+Okazaki Tetsurou: changed cc-fonts.el
+
 Olaf Sylvester: wrote bs.el
 
 Ole Aamot: changed compile.el
 
 Oleg S. Tihonov: changed cyrillic.el ispell.el map-ynp.el subr.el
 
+Oleksandr Gavenko: changed generic-x.el progmodes/grep.el
+
 Olin Shivers: wrote cmuscheme.el inf-lisp.el
 and co-wrote comint.el shell.el
 
 Olive Lin: changed tex-mode.el
 
-Oliver Scholz: changed gamegrid.el gnus-cite.el nonascii.texi rx.el
-  startup.el update-game-score.c
+Oliver Scholz: wrote ipa-praat.el
+and changed gamegrid.el gnus-cite.el nonascii.texi rx.el startup.el
+  update-game-score.c
 
 Oliver Seidel: wrote todo-mode.el
 
 Olivier Laurens: changed forms.el
 
 Olivier Lecarme: changed make-mode.el ange-ftp.el apropos.el bibtex.el
-  cpp.el facemenu.el forms.el hscroll.el indent.el nroff-mode.el
-  paragraphs.el server.el sort.el
+  facemenu.el forms.el hscroll.el indent.el nroff-mode.el paragraphs.el
+  progmodes/cpp.el server.el sort.el
 
 Olli Savia: changed etags.c syssignal.h
 
+Olof Ohlsson Sax: changed vc-svn.el
+
 Osamu Yamane: changed smtpmail.el
 
 Oscar Figueiredo: wrote eudc-bob.el eudc-export.el eudc-hotlist.el
   eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el
 and changed ph.el
 
-Óscar Fuentes: changed ido.el emacsclient.c vc-bzr.el
+Óscar Fuentes: changed ido.el cmdproxy.c emacsclient.c vc-bzr.el
 
 P. E. Jareth Hein: changed gnus-util.el
 
@@ -2453,10 +2795,10 @@ and changed imenu.el make-mode.el
 
 Paul Eggert: wrote rcs2log vcdiff
 and co-wrote cal-dst.el
-and changed editfns.c vc.el Makefile.in configure.in vc-hooks.el data.c
-  emacs.c gnus.el calendar.el config.in floatfns.c process.c sysdep.c
-  dired.el xterm.c callproc.c fileio.c filelock.c lread.c print.c
-  rmail.el and 291 other files
+and changed lisp.h Makefile.in editfns.c xdisp.c alloc.c image.c
+  configure.in fileio.c process.c fns.c xterm.c keyboard.c data.c
+  sysdep.c xfns.c dispextern.h eval.c lread.c emacs.c config.in print.c
+  and 563 other files
 
 Paul Fisher: changed fns.c
 
@@ -2468,10 +2810,10 @@ Paul Jarc: wrote nnmaildir.el (public domain) nnnil.el (public domain)
 and changed message.el gnus-util.el gnus-int.el gnus.el gnus-agent.el
   gnus-start.el gnus-sum.el nnmail.el
 
-Paul Pogonyshev: changed python.el subr.el which-func.el Makefile.in
-  align.el byte-opt.el configure.in dabbrev.el display.texi eldoc.el
-  etags.el image-file.el image.c image.el info.el replace.el search.texi
-  searching.texi ses.el tar-mode.el url-http.el window.el
+Paul Pogonyshev: changed progmodes/python.el subr.el which-func.el
+  Makefile.in align.el byte-opt.el configure.in dabbrev.el display.texi
+  eldoc.el etags.el image-file.el image.c image.el info.el replace.el
+  search.texi searching.texi ses.el tar-mode.el url-http.el window.el
 
 Paul Reilly: changed dgux.h lwlib-Xm.c lwlib.c xlwmenu.c configure.in
   mail-utils.el process.c rmail.el xfns.c Makefile.in dgux5-4R2.h
@@ -2482,6 +2824,8 @@ Paul Rivier: changed ada-mode.el mixal-mode.el reftex-vars.el reftex.el
 
 Paul Rubin: changed config.h sun2.h texinfmt.el window.c
 
+Paul Sexton: wrote org-ctags.el
+
 Paul Stevenson: changed nnvirtual.el
 
 Paul Stodghill: changed gnus-agent.el gnus-util.el
@@ -2494,15 +2838,15 @@ Pavel Janík: changed keyboard.c xterm.c COPYING xdisp.c Makefile.in
 Pavel Kobiakov: wrote flymake.el
 and changed flymake.texi
 
-Per Abrahamsen: wrote cpp.el cus-dep.el cus-edit.el cus-face.el
-  cus-start.el custom.el double.el gnus-cite.el gnus-cus.el wid-browse.el
-  wid-edit.el widget.el xt-mouse.el
-and co-wrote gnus-score.el gnus-soup.el
+Per Abrahamsen: wrote cus-dep.el cus-edit.el cus-face.el cus-start.el
+  custom.el double.el gnus-cite.el gnus-cus.el progmodes/cpp.el
+  wid-browse.el wid-edit.el widget.el xt-mouse.el
+and co-wrote gnus-score.el
 and changed message.el menu-bar.el gnus.el gnus-art.el gnus-msg.el
   gnus-group.el gnus-sum.el frame.el gnus-draft.el tool-bar.el
   widget.texi apropos.el easymenu.el facemenu.el faces.el gnus-srvr.el
   gnus-uu.el ispell.el lisp-mode.el makefile.el mouse.el
-  and 29 other files
+  and 30 other files
 
 Per Bothner: wrote term.el
 and changed iso-acc.el process.c sysdep.c
@@ -2534,6 +2878,8 @@ Peter Dyballa: changed calendar.el
 
 Peter Heslin: changed flyspell.el outline.el
 
+Peter J. Weisberg: changed picture.el simple.el
+
 Peter Jolly: changed arc-mode.el ftfont.c
 
 Peter Jones: changed nsterm.m
@@ -2542,7 +2888,11 @@ Peter Kleiweg: wrote ps-mode.el
 
 Peter Liljenberg: wrote elint.el
 
-Peter O'Gorman: changed configure.in frame.h termhooks.h
+Peter Münster: changed gnus.texi
+
+Peter O'Gorman: changed configure.in frame.h hpux10-20.h termhooks.h
+
+Peter Oliver: changed server.el
 
 Peter Povinec: changed term.el
 
@@ -2554,9 +2904,9 @@ Peter S. Galbraith: wrote mh-alias.el mh-identity.el mh-inc.el
   mh-limit.el
 and changed mh-comp.el mh-e.el mh-utils.el mh-mime.el mh-customize.el
   mh-seq.el mh-init.el mh-search.el mh-xemacs-compat.el
-  mh-xemacs-toolbar.el info-look.el mh-compat.el mh-funcs.el .cvsignore
-  alias.pbm alias.xpm cabinet.xpm goto-addr.el highlight.xpm mh-junk.el
-  mh-xemacs-icons.el and 10 other files
+  mh-xemacs-toolbar.el info-look.el mh-compat.el mh-funcs.el alias.pbm
+  alias.xpm cabinet.xpm goto-addr.el highlight.xpm mh-junk.el
+  mh-xemacs-icons.el mh-xemacs.el and 9 other files
 
 Peter Seibel: changed cl-indent.el lisp-mode.el
 
@@ -2573,9 +2923,10 @@ Petr Salinger: changed configure.in gnu-kfreebsd.h
 Petri Kaurinkoski: changed configure.in iris4d.h irix6-0.h irix6-5.h
   usg5-4.h
 
-Phil Hagelberg: changed pcmpl-unix.el
+Phil Hagelberg: wrote ert-x-tests.el
+and changed package.el pcmpl-unix.el subr.el
 
-Phil Sung: changed follow.el python.el wdired.el
+Phil Sung: changed follow.el progmodes/python.el wdired.el
 
 Philip Jackson: wrote find-cmd.el org-irc.el
 
@@ -2589,18 +2940,29 @@ Piet Van Oostrum: changed data.c fileio.c flyspell.el smtpmail.el
 
 Pieter E.J. Pareit: wrote mixal-mode.el
 
+Pieter Praet: changed org-crypt.el
+
 Pinku Surana: changed sql.el
 
 Piotr Zielinski: wrote org-mouse.el
 
+Pj Weisberg: changed help.el
+
+Prestoo Ten: changed screen.el
+
 Primoz Peterlin: changed TUTORIAL.sl
 
+Puneeth Chaganti: changed org.texi org-exp.el org-agenda.el
+  org-capture.el org-html.el
+
 R. Bernstein: changed gud.el
 
 Rafael Sepúlveda: changed TUTORIAL.es
 
 Raffael Mancini: changed misc.el
 
+Rainer Orth: changed Makefile.in
+
 Rainer Schoepf: wrote alpha.h unexalpha.c
 and changed osf1.h alloc.c buffer.c callint.c data.c dispextern.h doc.c
   editfns.c floatfns.c frame.h lisp.h lread.c marker.c mem-limits.h
@@ -2614,16 +2976,19 @@ Rajesh Vaidheeswarran: wrote old-whitespace.el
 and changed whitespace.el ffap.el
 
 Ralf Angeli: wrote scroll-lock.el
-and changed w32fns.c gnus-art.el reftex-toc.el reftex.el tex-mode.el
-  comint.el flow-fill.el frame.el killing.texi mm-view.el pcl-cvs.texi
-  reftex-auc.el reftex-cite.el reftex-dcr.el reftex-global.el
-  reftex-index.el reftex-parse.el reftex-ref.el reftex-sel.el
-  reftex-vars.el reftex.texi and 4 other files
+and changed w32fns.c gnus-art.el reftex-cite.el reftex-toc.el reftex.el
+  tex-mode.el comint.el flow-fill.el frame.el killing.texi mm-uu.el
+  mm-view.el package.el pcl-cvs.texi reftex-auc.el reftex-dcr.el
+  reftex-global.el reftex-index.el reftex-parse.el reftex-ref.el
+  reftex-sel.el and 6 other files
 
 Ralf Fassel: changed dabbrev.el files.el fill.el iso-acc.el tar-mode.el
 
+Ralf Scheidhauer And Michael Mehl: wrote prolog.el
+
 Ralph Schleicher: wrote battery.el info-look.el
-and changed libc.el fileio.c mm-decode.el nnultimate.el
+and changed libc.el browse-url.el fileio.c info.el mm-decode.el
+  nnultimate.el perl-mode.el which-func.el
 
 Ramakrishnan M: changed mlm-util.el
 
@@ -2643,7 +3008,7 @@ Reiner Steib: wrote gmm-utils.el gnus-news.el
 and changed message.el gnus.texi gnus-art.el gnus-sum.el gnus-group.el
   gnus.el mml.el gnus-faq.texi mm-util.el gnus-score.el message.texi
   gnus-msg.el gnus-start.el gnus-util.el spam-report.el mm-uu.el spam.el
-  mm-decode.el files.el gnus-agent.el nnmail.el and 181 other files
+  mm-decode.el files.el gnus-agent.el nnmail.el and 182 other files
 
 Remek Trzaska: changed gnus-ems.el
 
@@ -2656,6 +3021,9 @@ René Kyllingstad: changed pcomplete.el
 Reto Zimmermann: wrote vera-mode.el
 and co-wrote vhdl-mode.el
 
+Reuben Thomas: changed files.el flymake.el loading.texi pcvs-defs.el
+  simple.el
+
 Riccardo Murri: changed vc-bzr.el tls.el
 
 Richard Dawe: changed Makefile.in config.in
@@ -2664,28 +3032,32 @@ Richard G. Bielawski: changed modes.texi paren.el
 
 Richard Hoskins: changed message.el
 
-Richard Kim: wrote python.el
-and changed python-wy.el
+Richard Kim: wrote wisent/python.el
+and changed loading.texi python-wy.el texnfo-upd.el
 
 Richard King: wrote filelock.c uniquify.el userlock.el
 
 Richard L. Pieri: wrote pop3.el
 
+Richard Lawrence: changed org-latex.el
+
+Richard Levitte: changed vc-mtn.el
+
 Richard M. Heiberger: changed tex-mode.el
 
 Richard M. Stallman: wrote [The original GNU Emacs and numerous files]
   easymenu.el image-mode.el menu-bar.el paren.el
 and co-wrote cc-align.el cc-cmds.el cc-defs.el cc-engine.el cc-langs.el
   cc-menus.el cc-mode.el cc-styles.el cc-vars.el font-lock.el
-and changed files.el keyboard.c simple.el xterm.c xdisp.c Makefile.in
-  rmail.el fileio.c process.c sysdep.c buffer.c xfns.c window.c
+and changed files.el keyboard.c simple.el xterm.c xdisp.c rmail.el
+  Makefile.in fileio.c process.c sysdep.c buffer.c xfns.c window.c
   configure.in subr.el startup.el emacs.c sendmail.el editfns.c info.el
-  dispnew.c and 1344 other files
+  dispnew.c and 1347 other files
 
 Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el rfc822.el
   terminal.el yow.el
-and changed files.el sysdep.c rmail.el info.el keyboard.c bytecomp.el
-  fileio.c simple.el process.c startup.el window.c editfns.c unexcoff.c
+and changed files.el rmail.el sysdep.c info.el keyboard.c bytecomp.el
+  fileio.c simple.el process.c startup.el window.c editfns.c unexec.c
   xfns.c keymap.c minibuf.c sendmail.el buffer.c dispnew.c emacs.c
   subr.el and 129 other files
 
@@ -2721,6 +3093,10 @@ and changed texinfmt.el emacs-lisp-intro.texi emacs.tex texinfo.tex
 
 Robert Marshall: changed mule-cmds.el
 
+Robert P. Goldman: changed org.texi ob-exp.el org-latex.el org.el
+
+Robert Pluim: changed gnus-demon.el org-agenda.el
+
 Robert Thorpe: changed cus-start.el indent.el
 
 Roberto Rodríguez: changed ada-mode.texi glossary.texi widget.texi
@@ -2736,12 +3112,14 @@ Roger Breitenstein: changed smtpmail.el
 Roland B. Roberts: changed buffer.h callproc.c dired.c files.el
   gnus-group.el gnus-sum.el process.c sort.el sysdep.c systty.h
 
-Roland McGrath: wrote autoload.el etags.el grep.el map-ynp.el
-and co-wrote compile.el find-dired.el
-and changed add-log.el configure.in files.el Makefile.in vc.el simple.el
-  mailabbrev.el buffer.c comint.el upd-copyr.el etags.c menu-bar.el
-  mem-limits.h ralloc.c fileio.c data.c process.c rlogin.el rmail.el
-  shell.el vm-limit.c and 137 other files
+Roland Kaufmann: changed org-exp.el
+
+Roland McGrath: wrote autoload.el etags.el map-ynp.el progmodes/grep.el
+and co-wrote find-dired.el progmodes/compile.el
+and changed compile.el add-log.el configure.in files.el Makefile.in vc.el
+  simple.el mailabbrev.el comint.el buffer.c upd-copyr.el etags.c
+  menu-bar.el mem-limits.h ralloc.c fileio.c data.c process.c rlogin.el
+  rmail.el shell.el and 137 other files
 
 Roland Winkler: wrote proced.el
 and changed bibtex.el process.c appt.el artist.el conf-mode.el
@@ -2751,11 +3129,11 @@ and changed bibtex.el process.c appt.el artist.el conf-mode.el
 Rolf Ebert: co-wrote ada-mode.el ada-stmt.el ada-xref.el
 and changed files.el find-file.el
 
-Romain Francoise: changed faq.texi message.el Makefile.in gnus.texi
-  make-dist dired-x.el comint.el ibuf-ext.el subr.el compile.el
-  gnus-sum.el gnus-uu.el puresize.h replace.el startup.el doclicense.texi
-  emacs.c files.texi gnus-fun.el help-fns.el message.texi
-  and 144 other files
+Romain Francoise: changed faq.texi message.el Makefile.in make-dist
+  gnus.texi dired-x.el comint.el ibuf-ext.el subr.el gnus-sum.el
+  gnus-uu.el progmodes/compile.el puresize.h replace.el startup.el
+  configure.in doclicense.texi emacs.c files.texi gnus-fun.el help-fns.el
+  and 146 other files
 
 Roman Belenov: changed which-func.el
 
@@ -2765,6 +3143,8 @@ Ronan Waide: changed smtpmail.el
 
 Ross Patterson: wrote org-protocol.el
 
+Roy Liu: changed ns-win.el
+
 Rui-Tao Dong: changed nnweb.el
 
 Rune Kleveland: changed xfns.c
@@ -2775,6 +3155,8 @@ Russ Allbery: changed message.el
 
 Ryan C. Thompson: changed savehist.el
 
+Ryan Twitchell: changed ido.el
+
 Ryan Yeske: wrote rcirc.el
 and changed ffap.el ispell.el message.texi rmailsum.el simple.el
   testcover.el webjump.el
@@ -2784,10 +3166,12 @@ Ryo Yoshitake: changed xterm.c frame.c frame.h mac.c macfns.c w32fns.c
 
 Ryszard Kubiak: co-wrote ogonek.el
 
+Rémi Vanicat: changed org-icalendar.el
+
 Sacha Chua: wrote erc-pcomplete.el
 and changed erc.el erc-button.el
 
-Saito Takuya: changed compile.el mule.el
+Saito Takuya: changed mule.el progmodes/compile.el
 
 Sam Dooley: changed keyboard.c
 
@@ -2796,20 +3180,22 @@ Sam Falkner: changed nntp.el
 Sam Kendall: changed etags.c etags.el
 
 Sam Steingold: wrote gulp.el midnight.el
-and changed cl-indent.el compile.el vc-cvs.el vc.el font-lock.el mouse.el
-  simple.el ange-ftp.el pcvs.el tex-mode.el vc-hg.el add-log.el
-  bindings.el bookmark.el debug.el diary-lib.el dired.el files.el grep.el
-  inf-lisp.el sgml-mode.el and 108 other files
+and changed progmodes/compile.el cl-indent.el vc-cvs.el vc.el mouse.el
+  simple.el font-lock.el ange-ftp.el vc-hg.el add-log.el bookmark.el
+  bug-reference.el diary-lib.el dired.el pcvs.el tex-mode.el apropos.el
+  bindings.el emacs-lisp/debug.el etags.el files.el and 124 other files
 
 Samuel Tardieu: changed smime.el
 
+Samuel Thibault: changed sysdep.c term.c
+
 Sanghyuk Suh: changed mac-win.el macterm.c
 
 Sascha Lüdecke: co-wrote mml1991.el
 and changed gnus-win.el
 
 Sascha Wilde: changed pgg-gpg.el pgg.texi pgg.el bubbles.el configure.in
-  proj-shared.el srecode.el
+  ede/srecode.el proj-shared.el vc-hg.el
 
 Satyaki Das: wrote mh-acros.el mh-gnus.el mh-search.el mh-speed.el
   mh-thread.el mh-tool-bar.el
@@ -2831,23 +3217,31 @@ and changed gnus-sum.el
 
 Scott Draves: wrote tq.el
 
+Scott Evans: changed rect.el
+
+Scott Frazer: wrote deeper-blue-theme.el whiteboard-theme.el
+
 Scott M. Meyers: changed cmacexp.el
 
-Sean Neakums: changed gnus-msg.el gnus-uu.el
+Sean Neakums: changed gnus-msg.el gnus-uu.el supercite.el
 
 Sean O'Rourke: changed complete.el comint.el dabbrev.el find-func.el
   ibuf-ext.el pcomplete.el register.el tramp.el
 
+Sean O'halpin: changed ob.el
+
 Sean Sieger: changed emacs-lisp-intro.texi
 
 Sebastian Freundt: changed nnmaildir.el
 
+Sebastian Hermida: wrote misterioso-theme.el
+
 Sebastian Kremer: wrote dired-aux.el dired.el ls-lisp.el
 and co-wrote dired-x.el find-dired.el
 and changed add-log.el
 
 Sebastian Rose: wrote org-protocol.el
-and changed ftfont.c org-jsinfo.el
+and changed org-publish.el ftfont.c org-jsinfo.el
 
 Sebastian Tennant: changed desktop.el
 
@@ -2861,34 +3255,46 @@ Sen Nagata: wrote crm.el rfc2368.el
 
 Seokchan Lee: changed message.el
 
+Seppo Sade: changed esh-ext.el
+
+Sergei Organov: changed vc.el
+
 Sergey Poznyakoff: changed mh-mime.el rmail.el rmail.texi smtpmail.el
 
 Sergio Pokrovskij: changed TUTORIAL.eo
 
 Seweryn Kokot: changed positions.texi searching.texi
 
+Shaun Johnson: changed ob-tangle.el
+
+Shawn Boles: changed url-cookie.el
+
 Shawn M. Carey: wrote freebsd.h
 
 Shenghuo Zhu: wrote binhex.el mm-extern.el mm-partial.el mm-url.el
-  mm-uu.el mml2015.el nnrss.el nnwarchive.el rfc1843.el uudecode.el
-  webmail.el
+  mm-uu.el mml2015.el nnrss.el rfc1843.el uudecode.el
 and co-wrote gnus-dired.el nnfolder.el
 and changed gnus-art.el message.el gnus-sum.el gnus-msg.el gnus.el
   gnus-agent.el mm-decode.el mm-util.el gnus-group.el mml.el
   gnus-start.el gnus-util.el mm-view.el nnslashdot.el nnmail.el nntp.el
   gnus-topic.el gnus-xmas.el rfc2047.el mail-source.el gnus-win.el
-  and 95 other files
+  and 97 other files
 
-Shigeru Fukaya: wrote bytecomp-testsuite.el
-and changed byte-opt.el bytecomp.el elint.el rx-new.el ses.el texinfmt.el
+Shigeru Fukaya: wrote bytecomp-tests.el
+and changed byte-opt.el bytecomp-testsuite.el bytecomp.el elint.el
+  rx-new.el ses.el texinfmt.el
 
 Shinichirou Sugou: changed etags.c
 
-Shuhei Kobayashi: wrote hex-util.el hmac-def.el hmac-md5.el sha1.el
+Sho Nakatani: changed doc-view.el
+
+Shuhei Kobayashi: wrote hex-util.el hmac-def.el hmac-md5.el
 and changed gnus-group.el message.el nnmail.el
 
 Shun-Ichi Goto: changed url-http.el
 
+Shyam Karanatt: changed image-mode.el
+
 Sidney Markowitz: changed doctor.el nsmenu.m
 
 Sigbjorn Finne: changed gnus-srvr.el
@@ -2896,11 +3302,12 @@ Sigbjorn Finne: changed gnus-srvr.el
 Simon Josefsson: wrote dig.el dns-mode.el flow-fill.el fringe.el imap.el
   mml-sec.el mml-smime.el password-cache.el rfc2104.el sieve-manage.el
   sieve-mode.el sieve.el smime.el starttls.el tls.el url-imap.el
-and co-wrote gnus-sieve.el mml1991.el nnfolder.el nnimap.el nnml.el
+and co-wrote gnus-sieve.el gssapi.el mml1991.el nnfolder.el nnimap.el
+  nnml.el
 and changed message.el gnus-sum.el gnus-art.el smtpmail.el pgg-gpg.el
-  pgg.el mml2015.el gnus-agent.el mml.el gnus-group.el mm-decode.el
+  pgg.el gnus-agent.el mml2015.el mml.el gnus-group.el mm-decode.el
   gnus-msg.el gnus.texi pgg-pgp5.el browse-url.el gnus-int.el gnus.el
-  hashcash.el mm-view.el password.el gnus-cache.el and 98 other files
+  hashcash.el mm-view.el password.el gnus-cache.el and 99 other files
 
 Simon Leinen: changed Makefile.in smtpmail.el Makefile cm.c cm.h hpux9.h
   indent.c process.c sc.texinfo sgml-mode.el term.c xfns.c xmenu.c
@@ -2917,8 +3324,8 @@ Simon South: co-wrote delphi.el
 
 Skip Collins: changed w32fns.c w32term.c w32term.h
 
-Slawomir Nowaczyk: changed emacs.py python.el TUTORIAL.pl flyspell.el
-  ls-lisp.el w32proc.c
+Slawomir Nowaczyk: changed emacs.py progmodes/python.el TUTORIAL.pl
+  flyspell.el ls-lisp.el w32proc.c
 
 Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el
   unexcoff.c
@@ -2927,17 +3334,21 @@ Sriram Karra: changed message.el
 
 Stanislav Shalunov: wrote uce.el
 
+Stefan Bruda: co-wrote prolog.el
+
+Stefan Guath: changed find-dired.el
+
 Stefan Merten: co-wrote rst.el
 
-Stefan Monnier: wrote bibtex-style.el css-mode.el cvs-status.el
-  diff-mode.el log-edit.el log-view.el minibuffer.el mpc.el pcvs-defs.el
-  pcvs-info.el pcvs-parse.el pcvs-util.el reveal.el smerge-mode.el
-  vc-mtn.el
+Stefan Monnier: wrote bibtex-style.el bzrmerge.el css-mode.el
+  cvs-status.el diff-mode.el lexbind-tests.el log-edit.el log-view.el
+  minibuffer.el mpc.el pcase.el pcvs-defs.el pcvs-info.el pcvs-parse.el
+  pcvs-util.el reveal.el smerge-mode.el smie.el vc-mtn.el
 and co-wrote font-lock.el
-and changed vc.el lisp.h subr.el keyboard.c simple.el files.el pcvs.el
-  keymap.c xdisp.c Makefile.in vc-hooks.el alloc.c newcomment.el
-  tex-mode.el bytecomp.el compile.el buffer.c info.el fill.el fileio.c
-  window.c and 901 other files
+and changed vc.el subr.el simple.el lisp.h keyboard.c files.el
+  Makefile.in bytecomp.el keymap.c xdisp.c pcvs.el alloc.c
+  progmodes/compile.el newcomment.el vc-hooks.el tex-mode.el buffer.c
+  sh-script.el eval.c fileio.c fill.el and 1030 other files
 
 Stefan Reichör: changed gnus-agent.el
 
@@ -2951,28 +3362,30 @@ Stefan Wiens: changed gnus-sum.el
 
 Steinar Bang: changed imap.el
 
-Štěpán Němec: changed INSTALL cl.texi edebug.texi loading.texi maps.texi
-  mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi
-  subr.el tips.texi url.texi vc-git.el windows.texi
+Štěpán Němec: changed INSTALL calc-ext.el cl.texi comint.el edebug.texi
+  font-lock.el loading.texi maps.texi mark.texi message.texi mini.texi
+  minibuf.texi misc.texi programs.texi subr.el tips.texi url-vars.el
+  url.texi vc-git.el window.c windows.texi
 
 Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
   ediff-mult.el
 
 Stephen A. Wood: changed fortran.el
 
-Stephen Berman: changed todo-mode.el allout.el diary-lib.el dired.el
-  files.el find-dired.el gtkutil.c info.el newcomment.el recentf.el
-  rfc822.el
+Stephen Berman: changed diary-lib.el todo-mode.el allout.el dframe.el
+  dired-aux.el dired.el files.el find-dired.el frame.c gnus-group.el
+  gtkutil.c info.el newcomment.el page.el proced.el recentf.el rfc822.el
+  subr.el
 
 Stephen C. Gilardi: changed configure.in
 
 Stephen Compall: changed saveplace.el texinfo.el
 
 Stephen Eglen: wrote iswitchb.el mspools.el
-and changed diary-lib.el locate.el octave-inf.el replace.el hexl.el
-  info-look.el sendmail.el spell.el uce.el MORE.STUFF add-log.el
+and changed diary-lib.el locate.el octave-inf.el org-agenda.el replace.el
+  hexl.el info-look.el sendmail.el spell.el uce.el MORE.STUFF add-log.el
   advice.el allout.el autoinsert.el avoid.el backquote.el battery.el
-  bib-mode.el bruce.el c-mode.el ccl.el and 74 other files
+  bib-mode.el bruce.el c-mode.el and 78 other files
 
 Stephen Gildea: wrote refcard.tex
 and co-wrote mh-funcs.el mh-search.el
@@ -2985,25 +3398,31 @@ Stephen J. Turnbull: changed ediff-init.el strings.texi subr.el
 Stephen Leake: changed ada-mode.el ada-xref.el ada-mode.texi ada-prj.el
   ada-stmt.el align.el pcvs-parse.el vhdl-mode.el
 
+Stephen Peters: changed icalendar.el
+
+Steve Chapel: changed refcard.tex
+
 Steve Fisk: co-wrote cal-tex.el
 
 Steve Grubb: changed vcdiff
 
 Steve Nygard: changed unexnext.c
 
+Steve Purcell: changed nnimap.el
+
 Steve Strassman: wrote spook.el
 
 Steve Youngs: changed mh-utils.el mh-xemacs-compat.el mh-customize.el
-  mh-e.el mh-comp.el mh-mime.el dns.el gnus-art.el .cvsignore
-  browse-url.el gnus-sum.el gnus-xmas.el mh-search.el mh-seq.el
-  password.el run-at-time.el em-unix.el gmm-utils.el gnus-cite.el
-  gnus-demon.el gnus-ems.el and 17 other files
+  mh-e.el mh-comp.el mh-mime.el dns.el gnus-art.el browse-url.el
+  gnus-sum.el gnus-xmas.el mh-search.el mh-seq.el password.el
+  run-at-time.el em-unix.el gmm-utils.el gnus-cite.el gnus-demon.el
+  gnus-ems.el gnus-msg.el and 16 other files
 
 Steven E. Harris: changed nnheader.el
 
-Steven Huwig: changed emacs.py python.el
+Steven Huwig: changed emacs.py progmodes/python.el
 
-Steven L. Baur: wrote earcon.el footnote.el gnus-audio.el gnus-setup.el
+Steven L. Baur: wrote footnote.el gnus-setup.el
 and changed gnus-xmas.el gnus-msg.el add-log.el edebug.el gnus-ems.el
   gnus-start.el gnus-topic.el message.el nnbabyl.el nntp.el webjump.el
 
@@ -3018,6 +3437,8 @@ Stewart M. Clamen: co-wrote cal-mayan.el cc-align.el cc-cmds.el
   cc-defs.el cc-engine.el cc-langs.el cc-menus.el cc-mode.el cc-styles.el
   cc-vars.el
 
+Stig Sandbeck Mathisen: changed gnus-sum.el
+
 Stuart D. Herring: changed desktop.el files.el isearch.el align.el
   allout.el comint.el edebug.el find-lisp.el keymap.c minibuf.c sregex.el
   timeclock.el widget.texi
@@ -3031,24 +3452,31 @@ Sun Yijiang: changed TUTORIAL.cn
 
 Sundar Narasimhan: changed rnews.el rnewspost.el
 
-Sven Joachim: changed files.el de-refcard.tex dired-aux.el arc-mode.el
-  dired-x.el em-cmpl.el em-hist.el em-ls.el esh-cmd.el esh-ext.el
-  esh-io.el files.texi gnus-news.texi gnus-sum.el gnus.texi help.el
-  make-dist movemail.c mule.texi sed3v2.inp sh-script.el
-  and 5 other files
+Suvayu Ali: changed org.texi
+
+Sven Joachim: changed files.el de-refcard.tex dired-aux.el emacs.1
+  arc-mode.el dired-x.el em-cmpl.el em-hist.el em-ls.el esh-cmd.el
+  esh-ext.el esh-io.el files.texi gnus-news.texi gnus-sum.el gnus.texi
+  help.el make-dist message.el movemail.c mule.texi and 8 other files
 
 Svend Tollak Munkejord: changed deuglify.el
 
+Sébastien Delafond: changed org.el
+
+Sébastien Vauban: changed org-agenda.el org-latex.el org.el
+
 T. V. Raman: changed completion.el files.el json.el
 
+T.V. Raman: changed mairix.el mspools.el xml.c
+
 Taichi Kawabata: wrote indian.el ucs-normalize.el
 and changed devanagari.el ind-util.el Makefile.in devan-util.el
   characters.el fontset.el malayalam.el mlm-util.el mule-conf.el tamil.el
   tml-util.el
 
-Takaaki Ota: wrote table.el
-and changed appt.el compile.el dired.c etags.c ldap.el makefile.w32-in
-  recentf.el subr.el w32bdf.c
+Takaaki Ota: wrote textmodes/table.el
+and changed appt.el dired.c etags.c ldap.el makefile.w32-in
+  progmodes/compile.el recentf.el replace.el subr.el w32bdf.c
 
 Takahashi Kaoru: changed texinfmt.el
 
@@ -3066,10 +3494,11 @@ and changed arc-mode.el
 
 Tassilo Horn: wrote doc-view.el
 and co-wrote org-gnus.el
-and changed subword.el image-mode.el cc-cmds.el gnus-art.el Makefile.in
-  gnus-sum.el info.el ack.texi bindings.el bookmark.el cc-mode.el
-  cc-subword.el dired.texi emacs.texi files.el files.texi font-lock.el
-  fortune.el gnus.texi hmac-def.el makefile.w32-in and 4 other files
+and changed subword.el image-mode.el Makefile.in cc-cmds.el emacsbug.el
+  gnus-art.el gnus.texi nnimap.el files.el gnus-sum.el info.el
+  org-footnote.el org.el reftex-ref.el simple.el tsdh-dark-theme.el
+  tsdh-light-theme.el ack.texi bindings.el bookmark.el cc-mode.el
+  and 21 other files
 
 Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el
 
@@ -3077,12 +3506,14 @@ Ted Lemon: changed emacs.c lastfile.c puresize.h
 
 Ted Phelps: changed mh-search.el mh-tool-bar.el
 
-Teodor Zlatanov: wrote auth-source.el gnus-registry.el imap-hash.el
-  spam-report.el tramp-imap.el
-and changed spam.el gnus.el gnus-sum.el gnus.texi nnimap.el netrc.el
-  spam-stat.el gnus-start.el gnus-util.el nnmail.el encrypt.el message.el
-  gnus-encrypt.el mail-source.el assistant.el auth.texi imap.el
-  nnbabyl.el nnfolder.el nnmbox.el nnmh.el and 51 other files
+Teemu Likonen: changed dired.el gnus-agent.el message.el
+
+Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-sync.el
+  gnus-tests.el gnutls.el registry.el spam-report.el url-future.el
+and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el auth.texi
+  gnus-util.el netrc.el gnus-start.el gnutls.c message.el spam-stat.el
+  encrypt.el nnmail.el imap.el mail-source.el Makefile.in gnus-encrypt.el
+  gnus-html.el gnus-int.el gnutls.h and 95 other files
 
 Terje Rosten: changed xfns.c version.el xterm.c xterm.h
 
@@ -3090,7 +3521,10 @@ Terrence Brannon: wrote landmark.el
 
 Terry Jones: wrote shadow.el
 
-Tetsurou Okazaki: changed Makefile.in byte-opt.el log-edit.el xterm.c
+Tetsuo Tsukamoto: changed nnrss.el
+
+Tetsurou Okazaki: changed Makefile.in byte-opt.el log-edit.el lread.c
+  xterm.c
 
 Thamer Mahmoud: changed arabic.el
 
@@ -3104,7 +3538,9 @@ and changed ewoc.el vc.el zone.el info.el Makefile.in processes.texi
 
 Thierry Emery: changed kinsoku.el timezone.el url-http.el wid-edit.el
 
-Thierry Volpiatto: changed bookmark.el info.el
+Thierry Volpiatto: changed bookmark.el gnus-sum.el image-mode.el info.el
+  man.el woman.el dired-aux.el dired.el doc-view.el files.el gnus-art.el
+  image-dired.el vc-rcs.el
 
 Thomas Baumann: wrote org-mhe.el
 and co-wrote org-bbdb.el
@@ -3131,8 +3567,8 @@ Thomas Steffen: co-wrote deuglify.el
 
 Thomas W Murphy: changed outline.el
 
-Thomas Wurgler: wrote emacs-lock.el
-and changed subr.el
+Thomas Wurgler: wrote old-emacs-lock.el
+and changed emacs-lock.el subr.el
 
 Thor Kristoffersen: changed nntp.el
 
@@ -3144,23 +3580,36 @@ Tibor Šimko: co-wrote slovak.el
 
 Tijs Van Bakel: changed erc.el
 
-Tim Van Holder: changed emacsclient.c Makefile.in compile.el configure.in
-  which-func.el
+Tim Cross: changed keymaps.texi
+
+Tim Harper: changed ns-win.el
+
+Tim Landscheidt: changed gnus.texi
+
+Tim Van Holder: changed emacsclient.c Makefile.in configure.in
+  progmodes/compile.el which-func.el
+
+Timo Juhani Lindfors: changed gnus-msg.el
 
 Timo Savola: changed emacs.c gtkutil.c startup.el x-win.el xfns.c xterm.c
   xterm.h
 
-Tobias C. Rittweiler: changed font-lock.el sendmail.el
+Tobias C. Rittweiler: changed font-lock.el searching.texi sendmail.el
 
 Tobias Ringström: changed etags.c
 
 Toby Allsopp: changed ldap.el eudc.el
 
+Toby Cubitt: co-wrote avl-tree.el
+
 Toby Speight: changed generic-x.el window.el
 
-Tokuya Kameshima: wrote org-mew.el org-wl.el
+Tokuya Kameshima: wrote org-mew.el
+and co-wrote org-wl.el
+
+Tom Breton: changed autoinsert.el cus-edit.el gnus-agent.el lread.c
 
-Tom Breton: changed autoinsert.el gnus-agent.el lread.c
+Tom Dye: changed org-bibtex.el org.texi org.el
 
 Tom Hageman: changed etags.c
 
@@ -3168,17 +3617,18 @@ Tom Houlder: wrote mantemp.el
 
 Tom Perrine: co-wrote modula2.el (public domain)
 
-Tom Tromey: wrote bug-reference.el erc-list.el
+Tom Rauchenwald: changed spam.el
+
+Tom Tromey: wrote bug-reference.el erc-list.el package-x.el package.el
 and co-wrote tcl.el
-and changed makefile.el configure.in vc.el blackbox.el buffer.c
-  custom.texi etags.c make-mode.el vc-svn.el INSTALL add-log.el
-  buff-menu.el cmuscheme.el completion.el custom.el dbusbind.c
-  diff-mode.el doc.c easy-mmode.el elp.el emacsclient.c
-  and 30 other files
+and changed buffer.c lisp.h makefile.el window.c xfns.c callint.c cmds.c
+  configure.in frame.c keyboard.c keymap.c xdisp.c buffer.h bytecode.c
+  callproc.c category.c character.c character.h charset.c coding.c
+  composite.c and 133 other files
 
 Tomas Abrahamsson: wrote artist.el
 
-Tommi Vainikainen: changed gnus-sum.el message.el
+Tommi Vainikainen: changed gnus-sum.el message.el mml-sec.el
 
 Tomohiko Morioka: co-wrote mm-bodies.el mm-decode.el mm-encode.el
   mm-util.el rfc2047.el
@@ -3198,7 +3648,7 @@ Torsten Bronger: changed latin-ltx.el
 Toru Tomabechi: wrote tibet-util.el tibetan.el
 
 Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el cus-start.el fileio.c
-  files.el lisp.h w32fns.c
+  files.el lisp.h tramp.el w32fns.c
 
 Toshiaki Nomura: changed uxpds.h
 
@@ -3217,31 +3667,36 @@ Tsuchiya Masatoshi: changed gnus-art.el mm-view.el gnus-sum.el
   gnus-cache.el gnus-msg.el gnus.el nndiary.el nnfolder.el nnimap.el
   nnmaildir.el pgg.el rfc2047.el
 
-Tsugutomo Enami: changed frame.c keyboard.c dispnew.c fileio.c process.c
-  simple.el xdisp.c add-log.el bytecomp.el configure.in editfns.c emacs.c
-  frame.h gnus-group.el nnheader.el perl-mode.el regex.c regex.h
-  rmailsum.el sysdep.c vc.el and 3 other files
+Tsugutomo Enami: changed frame.c keyboard.c configure.in dispnew.c
+  fileio.c process.c simple.el xdisp.c add-log.el bytecomp.el editfns.c
+  emacs.c frame.h gnus-group.el netbsd.h nnheader.el perl-mode.el regex.c
+  regex.h rmailsum.el sysdep.c and 4 other files
 
 Tsuyoshi Akiho: changed gnus-sum.el nnrss.el
 
 Tudor Hulubei: changed iso-acc.el latin-pre.el
 
-Ulf Jasper: wrote bubbles.el icalendar-testsuite.el icalendar.el
+Uday S Reddy: changed etags.el fill.el
+
+Ulf Jasper: wrote bubbles.el icalendar-tests.el icalendar.el
   newst-backend.el newst-plainview.el newst-reader.el newst-ticker.el
   newst-treeview.el newsticker-testsuite.el newsticker.el
-and changed calendar.texi newsticker-plainview.el newsticker-treeview.el
-  newsticker.texi newsticker-backend.el newsticker-reader.el
-  newsticker-ticker.el Makefile.in xml.el
+and changed icalendar-testsuite.el calendar.texi newsticker-plainview.el
+  newsticker-treeview.el newsticker.texi newsticker-backend.el
+  newsticker-reader.el newsticker-ticker.el Makefile.in README
+  browse-url.xpm get-all.xpm mark-immortal.xpm mark-read.xpm narrow.xpm
+  newsticker next-feed.xpm next-item.xpm prev-feed.xpm prev-item.xpm
+  update.xpm xml.el
 
-Ulf Stegemann: changed smime.el
+Ulf Stegemann: co-wrote org-entities.el
+and changed org-gnus.el smime.el
 
 Ulrich Leodolter: changed w32proc.c
 
 Ulrich Mueller: changed configure.in Makefile.in files.el gud.el
-  ChgPane.c ChgSel.c INSTALL XMakeAssoc.c authors.el bytecomp.el
-  calc-units.el case-table.el configure doctor.el emacs.c emacs.desktop
-  emacsclient.c fortran.el gnu-linux.h iso-acc.el lread.c
-  and 12 other files
+  server.el ChgPane.c ChgSel.c HELLO INSTALL XMakeAssoc.c authors.el
+  bytecomp.el calc-units.el case-table.el configure doctor.el em-ls.el
+  emacs.1 emacs.c emacs.desktop emacsclient.c and 25 other files
 
 Ulrich Neumerkel: changed xterm.c
 
@@ -3250,7 +3705,7 @@ and changed files.el
 
 Vadim Nasardinov: changed allout.el
 
-Vagn Johansen: changed gnus-cache.el
+Vagn Johansen: changed gnus-cache.el vc-svn.el
 
 Valery Alexeev: changed cyril-util.el cyrillic.el
 
@@ -3261,8 +3716,9 @@ Victor Zandy: wrote zone.el
 
 Ville Skyttä: changed mh-comp.el pgg.el tcl.el
 
-Vincent Belaïche: changed calc-alg.el calc-vec.el calc.texi calc-embed.el
-  calc-help.el calc-misc.el calc.el recentf.el
+Vincent Belaïche: changed ses.el 5x5.el calc-alg.el calc-vec.el calc.texi
+  calc-embed.el calc-help.el calc-misc.el calc.el floatfns.c org.el
+  recentf.el
 
 Vincent Del Vecchio: changed info.el mh-utils.el
 
@@ -3271,30 +3727,38 @@ Vinicius Jose Latorre: wrote delim-col.el ebnf-abn.el ebnf-bnf.el
   printing.el whitespace.el
 and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el
 and changed ps-prin1.ps ps-bdf.el ps-prin0.ps blank-mode.el ps-prin3.ps
-  ps-prin2.ps lpr.el diff-mode.el subr.el TUTORIAL.pt_BR compilation.txt
-  compile.el easymenu.el loading.texi menu-bar.el misc.texi
+  ps-prin2.ps lpr.el subr.el diff-mode.el TUTORIAL.pt_BR compilation.txt
+  easymenu.el loading.texi menu-bar.el misc.texi progmodes/compile.el
   ps-print-def.el ps-print.ps ps-vars.el
 
 Vivek Dasmohapatra: wrote hfy-cmap.el htmlfontify.el
-and changed erc-backend.el erc.el emacs.c erc-services.el sh-script.el
-  xterm.c xterm.h
+and changed erc.el erc-backend.el emacs.c erc-join.el erc-services.el
+  sh-script.el xterm.c xterm.h
 
 Vladimir Alexiev: changed arc-mode.el nnvirtual.el tmm.el
 
 Vladimir Volovich: changed smime.el
 
+W. Martin Borgert: changed files.el schemas.xml
+
 Walter C. Pelissero: changed browse-url.el url-methods.el
 
+Wang Diancheng: changed gdb-mi.el nnml.el
+
 Werner Benger: changed keyboard.c
 
 Werner Lemberg: wrote sisheng.el vntelex.el
-and changed TUTORIAL.de Makefile.in calc.texi chinese.el czech.el emacs.1
+and changed Makefile.in TUTORIAL.de calc.texi chinese.el czech.el emacs.1
   european.el idlwave.el reftex-vars.el reftex.el reftex.texi slovak.el
-  supercite.el .cvsignore advice.el calc-forms.el calc-sel.el calendar.el
-  china-util.el cl-macs.el cl.texi and 51 other files
+  supercite.el advice.el calc-forms.el calc-sel.el calendar.el
+  china-util.el cl-macs.el cl.texi complete.el and 50 other files
+
+Werner Meisner: changed lwlib-Xm.c
 
 Wes Hardaker: changed gnus-score.el gnus-art.el gnus-sum.el gnus-win.el
 
+Wilfred Hughes: changed vc-git.el
+
 Will Glozer: changed macterm.c
 
 Will Mengarini: wrote repeat.el
@@ -3314,11 +3778,14 @@ William Smith: changed strftime.c
 
 William Sommerfeld: wrote emacsclient.c scribe.el server.el
 
-William Xu: changed outline.el webjump.el
+William Stevenson: wrote adwaita-theme.el
+
+William Xu: changed nsterm.m outline.el webjump.el
 
 Wilson H. Tien: changed unexelf.c
 
-Wilson Snyder: changed verilog-mode.el files.el
+Wilson Snyder: co-wrote verilog-mode.el
+and changed files.el
 
 Wim Nieuwenhuizen: changed TUTORIAL.nl
 
@@ -3328,7 +3795,8 @@ and changed latin-pre.el pl-refcard.ps pl-refcard.tex refcard-pl.ps
 
 Wolfgang Glas: changed unexsgi.c
 
-Wolfgang Jenkner: changed conf-mode.el gnus-sum.el pcvs.el
+Wolfgang Jenkner: changed conf-mode.el gnus-sum.el lread.c
+  network-stream.el pcvs.el pop3.el
 
 Wolfgang Lux: changed nsterm.m keyboard.c
 
@@ -3339,6 +3807,8 @@ and changed config.in process.c alloc.c callint.c configure.in data.c
 
 Wolfgang Scherer: changed vc-cvs.el
 
+Wolfgang Schnerring: changed emacsclient.c
+
 Wolfram Fenske: changed nnimap.el
 
 Wolfram Gloger: changed emacs.c
@@ -3347,10 +3817,12 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el
 
 Yagi Tatsuya: changed gnus-art.el gnus-start.el
 
+Yair F: changed hebrew.el
+
 Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h
-  macmenu.c macgui.h image.c macselect.c xdisp.c keyboard.c xterm.c
-  Makefile.in emacs.c darwin.h macos.texi unexmacosx.c w32term.c alloc.c
-  configure.in dispnew.c and 83 other files
+  macmenu.c macgui.h image.c xdisp.c macselect.c keyboard.c xterm.c
+  Makefile.in emacs.c darwin.h dispnew.c unexmacosx.c w32term.c alloc.c
+  dispextern.h configure.in and 88 other files
 
 Yann Dirson: changed imenu.el
 
@@ -3363,11 +3835,11 @@ Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
 
 Yong Lu: changed charset.c coding.c greek.el
 
-Yoni Rabkin: changed faces.el net-utils.el artist.el cmacexp.el ediff.el
-  files.el hilit19.el ps-mode.el simula.el vera-mode.el verilog-mode.el
-  vhdl-mode.el viper.el whitespace.el
+Yoni Rabkin: changed faces.el net-utils.el artist.el bs.el cmacexp.el
+  ediff.el files.el hilit19.el ps-mode.el simula.el vera-mode.el
+  verilog-mode.el vhdl-mode.el viper.el whitespace.el
 
-Yoshiaki Kasahara: changed term.c
+Yoshiaki Kasahara: changed buffer.c term.c
 
 Yoshiki Hayashi: changed texinfmt.el nnheader.el
 
@@ -3376,18 +3848,26 @@ and changed fontset.el message.el nnheader.el nnmail.el
 
 Yu-Ji Hosokawa: changed README.W32
 
+Yuanle Song: changed rng-xsd.el
+
 Yukihiro Matsumoto: co-wrote ruby-mode.el
 
+Yuri Karaban: changed pop3.el
+
 Yuri Shtil: changed etags.c
 
 Yutaka Niibe: changed indent.c xdisp.c configure.in Makefile.in dispnew.c
   sysdep.c config.in dired.el emacs.c fill.el fns.c gmalloc.c gnu-linux.h
   indent.h process.c simple.el term.c window.c
 
+Zachary Kanfer: changed cus-edit.el keyboard.c
+
 Zhang Wei: changed chinese.el characters.el mule-cmds.el xfns.c erc.el
   faces.el fontset.el makefile.w32-in mm-util.el mule.el org-publish.el
   rfc2047.el x-win.el
 
+Zhang Weize: wrote ob-plantuml.el
+
 Zoltan Kemenczy: changed gud.el
 
 Zoran Milojevic: changed avoid.el
index 5212980..e7d32b6 100644 (file)
@@ -1,3 +1,13 @@
+2011-09-23  Martin Rudalics  <rudalics@gmx.at>
+
+       * NEWS: Document some window code changes.
+
+2011-09-20  Bill Wohler  <wohler@newt.com>
+
+       Release MH-E version 8.3.
+
+       * NEWS, MH-E-NEWS: Update for MH-E release 8.3.
+
 2011-09-13  William Stevenson  <yhvh2000@gmail.com>
 
        * themes/adwaita-theme.el: New file.
index e61d1d9..2e93b5c 100644 (file)
@@ -3,33 +3,12 @@
 Copyright (C) 2001-2011  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
-* Changes in MH-E 8.2.93
-
-Version 8.2.93 reverts back to using `switch-to-buffer' which the
-Emacs developers decided was fine to call from programs after all.
-
-* Changes in MH-E 8.2.92
-
-Version 8.2.92 actually corrects the error in the modeline glyph when
-running XEmacs 21.5.31 in a terminal.
-
-* Changes in MH-E 8.2.91
-
-Version 8.2.91 fixes the folder window problem that was introduced
-in 8.2.90. It also fixes compilation warnings in XEmacs 21.5.31, as
-well as an error when running XEmacs 21.5.31 in a terminal.
-
-Another implication of the VCS change is that users who download MH-E
-from SourceForge and explicitly load MH-E will have to be change their
-`load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the
-addition of "trunk."
-
-* Changes in MH-E 8.2.90
+* Changes in MH-E 8.3
 
 In 2010, the version control system (VCS) of Emacs was upgraded from
 CVS to Bazaar. In 2011, the MH-E team followed suit and upgraded the
 MH-E repository at SourceForge from CVS to Bazaar as well. The result
-is version 8.2.90 of MH-E, which includes needed changes to the build
+is version 8.3 of MH-E, which includes needed changes to the build
 scripts.
 
 Otherwise, this is a small release that includes mostly internal
@@ -40,9 +19,17 @@ meaning that `+f/b/b TAB' can complete to `+foo/bar/baz'.
 Also, RFC 2047-encoded Subject header fields in replies are now
 decoded.
 
+It also fixes compilation warnings in XEmacs 21.5.31, as
+well as an error when running XEmacs 21.5.31 in a terminal.
+
+Another implication of the VCS change is that users who download MH-E
+from SourceForge and explicitly load MH-E will have to be change their
+`load-path' to "/path/to/mh-e/emacs/trunk/lisp/mh-e" instead. Note the
+addition of "trunk."
+
 This version of MH-E is packaged with GNU Emacs 24.1
 
-** Bug Fixes in MH-E 8.2.90
+** Bug Fixes in MH-E 8.3
 
 *** Make mh-showing a legitimate minor mode
 
index f61adeb..f6901e3 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -386,6 +386,50 @@ by default.
 *** `menu-bar-select-buffer-function' lets you choose another operation
 instead of `switch-to-buffer' when selecting an item in the Buffers menu.
 
+** Window changes
+
++++
+*** Resizing an Emacs frame now preserves proportional window sizes,
+modulo restrictions like window minimum sizes and fixed-size windows.
+
+*** The behavior of `display-buffer' is now customizable in detail.
+
+**** New option `display-buffer-base-action' specifies a list of
+user-determined display "actions" (functions and optional arguments
+for choosing the displaying window).
+
+This takes precedence over the default display action, which is
+specified by `display-buffer-fallback-action'.
+
+**** New option `display-buffer-alist' maps buffer name regexps to
+display actions, taking precedence over `display-buffer-base-action'.
+
++++
+*** New option `window-nest'.
+The new option `window-nest' allows to return the space obtained for
+resizing or creating a window more reliably to the window from which
+such space was obtained.
+
++++
+*** New option `window-splits'.
+The new option `window-splits' allows to split a window that otherwise
+cannot be split because it's too small by stealing space from other
+windows in the same combination.
+
++++
+*** New commands `maximize-window' and `minimize-window'.
+These maximize and minize the size of a window within its frame.
+
++++
+*** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'.
+These functions allow to navigate through the live buffers that have
+been shown in a specific window.
+
++++
+*** New functions `window-state-get' and `window-state-put'.
+These functions allow to save and restore the state of an arbitrary
+frame or window as an Elisp object.
+
 ** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
 This is handy for minibuffer-only frames, and is also used for the "mouse-1
 pops up *Messages*" feature, which can now easily be changed.
@@ -410,7 +454,7 @@ isearch-yank-kill.
 
 ** The default value of `backup-by-copying-when-mismatch' is now t.
 
-** The command `just-one-space' (C-SPC), if given a negative argument,
+** The command `just-one-space' (M-SPC), if given a negative argument,
 also deletes newlines around point.
 
 ** Deletion changes
@@ -500,6 +544,13 @@ prompts for a number to count from and for a format string.
 directory is a remote file name and neither environment variable
 $ESHELL nor variable `explicit-shell-file-name' is set.
 
++++
+** The default value of redisplay-dont-change is now t
+This makes Emacs feel more responsive to editing commands that arrive
+at high rate, e.g. if you lean on some key, because stopping redisplay
+in the middle (when this variable is nil) forces more expensive
+updates later on, and Emacs appears to be unable to keep up.
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.1
 
@@ -654,7 +705,7 @@ consult.
 
 ** The Landmark game is now invoked with `landmark', not `lm'.
 
-** MH-E has been upgraded to MH-E version 8.2.93.
+** MH-E has been upgraded to MH-E version 8.3.
 See MH-E-NEWS for details.
 
 ** Modula-2 mode provides auto-indentation.
@@ -961,12 +1012,100 @@ of the line.
 
 ** Window changes
 
++++
+*** Window tree functions are accessible in Elisp.
+Functions are provided to return the parent, siblings or child windows
+of any window including internal windows (windows not associated with a
+buffer) in the window tree.
+
++++
+*** Window manipulation can deal with internal windows.
+Many window handling functions like `split-window', `delete-window', or
+`delete-other-windows' as well as the window resizing functions can now
+act on any window including internal ones.
+
++++
+*** window-total-height/-width vs window-body-height/-width.
+The function `window-height' has been renamed to `window-total-height'
+and `window-width' has been renamed to `window-body-width'.  The old
+names are provided as aliases.  Two new functions `window-total-width'
+and `window-body-height' are provided.
+
++++
+*** Window parameters specific to window handling functions.
+For each window you can specify a parameter to override the default
+behavior of a number of functions like `split-window', `delete-window'
+and `delete-other-windows'.  The variable `ignore-window-parameters'
+allows to ignore processing such parameters.
+
++++
+*** New semantics of third argument of `split-window'.
+The third argument of `split-window' has been renamed to SIDE and can be
+set to any of the values 'below, 'right, 'above, or 'left to make the
+new window appear on the corresponding side of the window that shall be
+split.  Any other value of SIDE will cause `split-window' to split the
+window into two side-by-side windows as before.
+
++++
+*** `split-window-above-each-other' and `split-window-side-by-side'.
+The commands `split-window-vertically' and `split-window-horizontally'
+have been renamed to `split-window-above-each-other' and
+`split-window-side-by-side' respectively.  The old names are provided as
+aliases.
+
++++
+*** Window resizing functions.
+A new standard function for resizing windows called `resize-window' has
+been introduced.  This and all other functions for resizing windows no
+longer delete any windows when they become too small.
+
++++
+*** `adjust-window-trailing-edge' adjustments.
+`adjust-window-trailing-edge' can now deal with fixed-size windows and
+is able to resize other windows if a window adjacent to the trailing
+edge cannot be shrunk any more.  This makes its behavior more similar to
+that of Emacs 21 without compromising, however, its inability to delete
+windows which was introduced in Emacs 22.
+
++++
+*** Window-local buffer lists.
+Windows now have local buffer lists.  This means that removing a buffer
+from display in a window will preferably show the buffer previously
+shown in that window with its previous window-start and window-point
+positions.  This also means that the same buffer may be automatically
+shown twice even if it already appears in another window.
+
++++
 *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW,
 which if non-nil requires the buffer to be displayed in the currently
 selected window, signaling an error otherwise.  If nil, another window
 can be used, e.g. if the selected one is strongly dedicated.
 
-*** FIXME: buffer-display-alist changes
+*** `split-window-vertically' and `split-window-horizontally' renamed
+to `split-window-above-each-other' and `split-window-side-by-side'
+respectively.  The old names are kept as aliases.
+
+*** Display actions
+
+**** The second arg to `display-buffer' and `pop-to-buffer' is now
+named ACTION, and takes a display action of the same form as
+`display-buffer-base-action' (see Changes, above).  A non-nil,
+non-list value is treated specially, as the old meaning.
+
+**** New variable `display-buffer-overriding-action'.
+
+**** The procedure of `display-buffer' etc. to choose a window is
+determined by combining `display-buffer-overriding-action',
+`display-buffer-alist', the ACTION arg, `display-buffer-base-action',
+and `display-buffer-fallback-action'.  The second and fourth of these
+are user-customizable variables.
+
+See the docstring of `display-buffer' for details.
+
++++
+*** New behavior of `quit-window'.
+The behavior of `quit-window' has been changed in order to restore the
+state before the last buffer display operation in that window.
 
 ** Completion
 
index 1869124..9e47315 100644 (file)
@@ -503,6 +503,12 @@ This can happen with CVS versions 1.12.8 and 1.12.9.  Upgrade to CVS
 
 ** Miscellaneous problems
 
+*** Editing files with very long lines is slow.
+
+For example, simply moving through a file that contains hundreds of
+thousands of characters per line is slow, and consumes a lot of CPU.
+This is a known limitation of Emacs with no solution at this time.
+
 *** Emacs uses 100% of CPU time
 
 This is a known problem with some versions of the Semantic package.
index e00dc7b..790c98a 100644 (file)
 #include <errno.h>
 #include <fcntl.h>
 
-#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Get declarations of the Win32 API functions.  */
-# define WIN32_LEAN_AND_MEAN
-# include <windows.h>
-#endif
-
 #if HAVE_DUP2
 
 # undef dup2
 
-int
-rpl_dup2 (int fd, int desired_fd)
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* Get declarations of the Win32 API functions.  */
+#  define WIN32_LEAN_AND_MEAN
+#  include <windows.h>
+
+#  include "msvc-inval.h"
+
+/* Get _get_osfhandle.  */
+#  include "msvc-nothrow.h"
+
+static int
+ms_windows_dup2 (int fd, int desired_fd)
 {
   int result;
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
   /* If fd is closed, mingw hangs on dup2 (fd, fd).  If fd is open,
      dup2 (fd, fd) returns 0, but all further attempts to use fd in
      future dup2 calls will hang.  */
@@ -52,6 +57,7 @@ rpl_dup2 (int fd, int desired_fd)
         }
       return fd;
     }
+
   /* Wine 1.0.1 return 0 when desired_fd is negative but not -1:
      http://bugs.winehq.org/show_bug.cgi?id=21289 */
   if (desired_fd < 0)
@@ -59,26 +65,45 @@ rpl_dup2 (int fd, int desired_fd)
       errno = EBADF;
       return -1;
     }
-# elif !defined __linux__
-  /* On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
-  if (fd == desired_fd)
-    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
-# endif
-  result = dup2 (fd, desired_fd);
-# ifdef __linux__
-  /* Correct a Linux return value.
-     <http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.30.y.git;a=commitdiff;h=2b79bc4f7ebbd5af3c8b867968f9f15602d5f802>
-   */
-  if (fd == desired_fd && result == (unsigned int) -EBADF)
+
+  TRY_MSVC_INVAL
+    {
+      result = dup2 (fd, desired_fd);
+    }
+  CATCH_MSVC_INVAL
     {
       errno = EBADF;
       result = -1;
     }
-# endif
+  DONE_MSVC_INVAL;
+
   if (result == 0)
     result = desired_fd;
-  /* Correct a cygwin 1.5.x errno value.  */
-  else if (result == -1 && errno == EMFILE)
+
+  return result;
+}
+
+#  define dup2 ms_windows_dup2
+
+# endif
+
+int
+rpl_dup2 (int fd, int desired_fd)
+{
+  int result;
+
+# ifdef F_GETFL
+  /* On Linux kernels 2.6.26-2.6.29, dup2 (fd, fd) returns -EBADF.
+     On Cygwin 1.5.x, dup2 (1, 1) returns 0.
+     On Haiku, dup2 (fd, fd) mistakenly clears FD_CLOEXEC.  */
+  if (fd == desired_fd)
+    return fcntl (fd, F_GETFL) == -1 ? -1 : fd;
+# endif
+
+  result = dup2 (fd, desired_fd);
+
+  /* Correct an errno value on FreeBSD 6.1 and Cygwin 1.5.x.  */
+  if (result == -1 && errno == EMFILE)
     errno = EBADF;
 # if REPLACE_FCHDIR
   if (fd != desired_fd && result != -1)
index 5163269..14010fe 100644 (file)
@@ -2,14 +2,26 @@
 ## Process this file with automake to produce Makefile.in.
 # Copyright (C) 2002-2011 Free Software Foundation, Inc.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file 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.
+#
+# This file 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 this file.  If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=msvc-inval --avoid=msvc-nothrow --avoid=pathmax --avoid=raise --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime pthread_sigmask readlink socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
 
 
 MOSTLYCLEANFILES += core *.stackdump
@@ -264,7 +276,7 @@ EXTRA_libgnu_a_SOURCES += readlink.c
 
 ## end   gnulib module readlink
 
-## begin gnulib module signal
+## begin gnulib module signal-h
 
 BUILT_SOURCES += signal.h
 
@@ -279,11 +291,13 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
              -e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
+             -e 's|@''GNULIB_RAISE''@|$(GNULIB_RAISE)|g' \
              -e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
              -e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
              -e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
              -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
              -e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''HAVE_RAISE''@|$(HAVE_RAISE)|g' \
              -e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
              -e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
              -e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
@@ -291,6 +305,7 @@ signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
              -e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
              -e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
+             -e 's|@''REPLACE_RAISE''@|$(REPLACE_RAISE)|g' \
              -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
              -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
              -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
@@ -301,7 +316,7 @@ MOSTLYCLEANFILES += signal.h signal.h-t
 
 EXTRA_DIST += signal.in.h
 
-## end   gnulib module signal
+## end   gnulib module signal-h
 
 ## begin gnulib module sigprocmask
 
@@ -553,6 +568,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
              -e 's/@''GNULIB_DPRINTF''@/$(GNULIB_DPRINTF)/g' \
              -e 's/@''GNULIB_FCLOSE''@/$(GNULIB_FCLOSE)/g' \
+             -e 's/@''GNULIB_FDOPEN''@/$(GNULIB_FDOPEN)/g' \
              -e 's/@''GNULIB_FFLUSH''@/$(GNULIB_FFLUSH)/g' \
              -e 's/@''GNULIB_FGETC''@/$(GNULIB_FGETC)/g' \
              -e 's/@''GNULIB_FGETS''@/$(GNULIB_FGETS)/g' \
@@ -577,6 +593,7 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
              -e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
+             -e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
              -e 's/@''GNULIB_PERROR''@/$(GNULIB_PERROR)/g' \
              -e 's/@''GNULIB_POPEN''@/$(GNULIB_POPEN)/g' \
              -e 's/@''GNULIB_PRINTF''@/$(GNULIB_PRINTF)/g' \
@@ -615,11 +632,14 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
              -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \
              -e 's|@''HAVE_FSEEKO''@|$(HAVE_FSEEKO)|g' \
              -e 's|@''HAVE_FTELLO''@|$(HAVE_FTELLO)|g' \
+             -e 's|@''HAVE_PCLOSE''@|$(HAVE_PCLOSE)|g' \
+             -e 's|@''HAVE_POPEN''@|$(HAVE_POPEN)|g' \
              -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \
              -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
              -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \
              -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \
              -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
+             -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \
              -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
              -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
              -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
@@ -826,6 +846,7 @@ sys/stat.h: sys_stat.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNU
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
              -e 's/@''GNULIB_FCHMODAT''@/$(GNULIB_FCHMODAT)/g' \
+             -e 's/@''GNULIB_FSTAT''@/$(GNULIB_FSTAT)/g' \
              -e 's/@''GNULIB_FSTATAT''@/$(GNULIB_FSTATAT)/g' \
              -e 's/@''GNULIB_FUTIMENS''@/$(GNULIB_FUTIMENS)/g' \
              -e 's/@''GNULIB_LCHMOD''@/$(GNULIB_LCHMOD)/g' \
@@ -943,8 +964,10 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
+             -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
              -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
              -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
+             -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
              -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
              -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
              -e 's/@''GNULIB_ENVIRON''@/$(GNULIB_ENVIRON)/g' \
@@ -952,6 +975,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_FACCESSAT''@/$(GNULIB_FACCESSAT)/g' \
              -e 's/@''GNULIB_FCHDIR''@/$(GNULIB_FCHDIR)/g' \
              -e 's/@''GNULIB_FCHOWNAT''@/$(GNULIB_FCHOWNAT)/g' \
+             -e 's/@''GNULIB_FDATASYNC''@/$(GNULIB_FDATASYNC)/g' \
              -e 's/@''GNULIB_FSYNC''@/$(GNULIB_FSYNC)/g' \
              -e 's/@''GNULIB_FTRUNCATE''@/$(GNULIB_FTRUNCATE)/g' \
              -e 's/@''GNULIB_GETCWD''@/$(GNULIB_GETCWD)/g' \
@@ -995,6 +1019,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_FACCESSAT''@|$(HAVE_FACCESSAT)|g' \
              -e 's|@''HAVE_FCHDIR''@|$(HAVE_FCHDIR)|g' \
              -e 's|@''HAVE_FCHOWNAT''@|$(HAVE_FCHOWNAT)|g' \
+             -e 's|@''HAVE_FDATASYNC''@|$(HAVE_FDATASYNC)|g' \
              -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
              -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
@@ -1019,6 +1044,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
              -e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
+             -e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
              -e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
              -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
index 93787f7..b0e192f 100644 (file)
@@ -152,6 +152,29 @@ _GL_WARN_ON_USE (pthread_sigmask, "pthread_sigmask is not portable - "
 #endif
 
 
+#if @GNULIB_RAISE@
+# if @REPLACE_RAISE@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef raise
+#   define raise rpl_raise
+#  endif
+_GL_FUNCDECL_RPL (raise, int, (int sig));
+_GL_CXXALIAS_RPL (raise, int, (int sig));
+# else
+#  if !@HAVE_RAISE@
+_GL_FUNCDECL_SYS (raise, int, (int sig));
+#  endif
+_GL_CXXALIAS_SYS (raise, int, (int sig));
+# endif
+_GL_CXXALIASWARN (raise);
+#elif defined GNULIB_POSIXCHECK
+# undef raise
+/* Assume raise is always declared.  */
+_GL_WARN_ON_USE (raise, "raise can crash on native Windows - "
+                 "use gnulib module raise for portability");
+#endif
+
+
 #if @GNULIB_SIGPROCMASK@
 # if !@HAVE_POSIX_SIGNALBLOCKING@
 
index 6780a37..6ccac5a 100644 (file)
 #include <stdint.h>
 #include <stdlib.h>
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+# include "msvc-inval.h"
+#endif
+
 /* We assume that a platform without POSIX signal blocking functions
    also does not have the POSIX sigaction() function, only the
    signal() function.  We also assume signal() has SysV semantics,
 
 typedef void (*handler_t) (int);
 
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static inline handler_t
+signal_nothrow (int sig, handler_t handler)
+{
+  handler_t result;
+
+  TRY_MSVC_INVAL
+    {
+      result = signal (sig, handler);
+    }
+  CATCH_MSVC_INVAL
+    {
+      result = SIG_ERR;
+      errno = EINVAL;
+    }
+  DONE_MSVC_INVAL;
+
+  return result;
+}
+# define signal signal_nothrow
+#endif
+
 /* Handling of gnulib defined signals.  */
 
 #if GNULIB_defined_SIGPIPE
@@ -80,6 +106,7 @@ ext_signal (int sig, handler_t handler)
       return signal (sig, handler);
     }
 }
+# undef signal
 # define signal ext_signal
 #endif
 
index 1002f16..1397aa9 100644 (file)
@@ -46,6 +46,15 @@ orig_stat (const char *filename, struct stat *buf)
 #include "dosname.h"
 #include "verify.h"
 
+#if REPLACE_FUNC_STAT_DIR
+# include "pathmax.h"
+  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
+     have a constant PATH_MAX.  */
+# ifndef PATH_MAX
+#  error "Please port this replacement to your platform"
+# endif
+#endif
+
 /* Store information about NAME into ST.  Work around bugs with
    trailing slashes.  Mingw has other bugs (such as st_ino always
    being 0 on success) which this wrapper does not work around.  But
@@ -70,11 +79,6 @@ rpl_stat (char const *name, struct stat *st)
     }
 #endif /* REPLACE_FUNC_STAT_FILE */
 #if REPLACE_FUNC_STAT_DIR
-  /* The only known systems where REPLACE_FUNC_STAT_DIR is needed also
-     have a constant PATH_MAX.  */
-# ifndef PATH_MAX
-#  error "Please port this replacement to your platform"
-# endif
 
   if (result == -1 && errno == ENOENT)
     {
index 473c84c..ce00af5 100644 (file)
@@ -170,6 +170,26 @@ _GL_WARN_ON_USE (fclose, "fclose is not always POSIX compliant - "
                  "use gnulib module fclose for portable POSIX compliance");
 #endif
 
+#if @GNULIB_FDOPEN@
+# if @REPLACE_FDOPEN@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdopen
+#   define fdopen rpl_fdopen
+#  endif
+_GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode)
+                                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode));
+# else
+_GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode));
+# endif
+_GL_CXXALIASWARN (fdopen);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopen
+/* Assume fdopen is always declared.  */
+_GL_WARN_ON_USE (fdopen, "fdopen on Win32 platforms is not POSIX compatible - "
+                 "use gnulib module fdopen for portability");
+#endif
+
 #if @GNULIB_FFLUSH@
 /* Flush all pending data on STREAM according to POSIX rules.  Both
    output and seekable input streams are supported.
@@ -750,6 +770,20 @@ _GL_CXXALIAS_SYS (obstack_vprintf, int,
 _GL_CXXALIASWARN (obstack_vprintf);
 #endif
 
+#if @GNULIB_PCLOSE@
+# if !@HAVE_PCLOSE@
+_GL_FUNCDECL_SYS (pclose, int, (FILE *stream) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (pclose, int, (FILE *stream));
+_GL_CXXALIASWARN (pclose);
+#elif defined GNULIB_POSIXCHECK
+# undef pclose
+# if HAVE_RAW_DECL_PCLOSE
+_GL_WARN_ON_USE (pclose, "popen is unportable - "
+                 "use gnulib module pclose for more portability");
+# endif
+#endif
+
 #if @GNULIB_PERROR@
 /* Print a message to standard error, describing the value of ERRNO,
    (if STRING is not NULL and not empty) prefixed with STRING and ": ",
@@ -781,6 +815,10 @@ _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode)
                                  _GL_ARG_NONNULL ((1, 2)));
 _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode));
 # else
+#  if !@HAVE_POPEN@
+_GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode)
+                                 _GL_ARG_NONNULL ((1, 2)));
+#  endif
 _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode));
 # endif
 _GL_CXXALIASWARN (popen);
index 5acee70..77a7177 100644 (file)
 /* The definition of _GL_WARN_ON_USE is copied here.  */
 
 /* Before doing "#define mkdir rpl_mkdir" below, we need to include all
-   headers that may declare mkdir().  */
+   headers that may declare mkdir().  Native Windows platforms declare mkdir
+   in <io.h> and/or <direct.h>, not in <unistd.h>.  */
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
+#endif
+
+#ifndef S_IFIFO
+# ifdef _S_IFIFO
+#  define S_IFIFO _S_IFIFO
+# endif
 #endif
 
 #ifndef S_IFMT
@@ -312,16 +319,25 @@ _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
 #endif
 
 
-#if @REPLACE_FSTAT@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  define fstat rpl_fstat
-# endif
+#if @GNULIB_FSTAT@
+# if @REPLACE_FSTAT@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fstat
+#   define fstat rpl_fstat
+#  endif
 _GL_FUNCDECL_RPL (fstat, int, (int fd, struct stat *buf) _GL_ARG_NONNULL ((2)));
 _GL_CXXALIAS_RPL (fstat, int, (int fd, struct stat *buf));
-#else
+# else
 _GL_CXXALIAS_SYS (fstat, int, (int fd, struct stat *buf));
-#endif
+# endif
 _GL_CXXALIASWARN (fstat);
+#elif defined GNULIB_POSIXCHECK
+# undef fstat
+# if HAVE_RAW_DECL_FSTAT
+_GL_WARN_ON_USE (fstat, "fstat has portability problems - "
+                 "use gnulib module fstat for portability");
+# endif
+#endif
 
 
 #if @GNULIB_FSTATAT@
index 119cd14..77e5675 100644 (file)
 #endif
 
 /* mingw fails to declare _exit in <unistd.h>.  */
-/* mingw, BeOS, Haiku declare environ in <stdlib.h>, not in <unistd.h>.  */
+/* mingw, MSVC, BeOS, Haiku declare environ in <stdlib.h>, not in
+   <unistd.h>.  */
 /* Solaris declares getcwd not only in <unistd.h> but also in <stdlib.h>.  */
 /* But avoid namespace pollution on glibc systems.  */
 #ifndef __GLIBC__
 # include <stdlib.h>
 #endif
 
-/* mingw declares getcwd in <io.h>, not in <unistd.h>.  */
-#if ((@GNULIB_GETCWD@ || defined GNULIB_POSIXCHECK) \
+/* Native Windows platforms declare chdir, getcwd, rmdir in
+   <io.h> and/or <direct.h>, not in <unistd.h>.  */
+#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
+      || defined GNULIB_POSIXCHECK) \
      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
-# include <direct.h> /* mingw64 */
+# include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
 # include <netdb.h>
 #endif
 
+/* MSVC defines off_t in <sys/types.h>.  */
+#if !@HAVE_UNISTD_H@
+/* Get off_t.  */
+# include <sys/types.h>
+#endif
+
 #if (@GNULIB_READ@ || @GNULIB_WRITE@ \
      || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
      || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
@@ -224,12 +233,24 @@ _GL_WARN_ON_USE (access, "the access function is a security risk - "
 #endif
 
 
+#if @GNULIB_CHDIR@
+_GL_CXXALIAS_SYS (chdir, int, (const char *file) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIASWARN (chdir);
+#elif defined GNULIB_POSIXCHECK
+# undef chdir
+# if HAVE_RAW_DECL_CHDIR
+_GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
+                 "use gnulib module chdir for portability");
+# endif
+#endif
+
+
 #if @GNULIB_CHOWN@
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
    to GID (if GID is not -1).  Follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/chown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html.  */
 # if @REPLACE_CHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef chown
@@ -280,24 +301,32 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
 #endif
 
 
-#if @REPLACE_DUP@
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-#  define dup rpl_dup
-# endif
+#if @GNULIB_DUP@
+# if @REPLACE_DUP@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   define dup rpl_dup
+#  endif
 _GL_FUNCDECL_RPL (dup, int, (int oldfd));
 _GL_CXXALIAS_RPL (dup, int, (int oldfd));
-#else
+# else
 _GL_CXXALIAS_SYS (dup, int, (int oldfd));
-#endif
+# endif
 _GL_CXXALIASWARN (dup);
+#elif defined GNULIB_POSIXCHECK
+# undef dup
+# if HAVE_RAW_DECL_DUP
+_GL_WARN_ON_USE (dup, "dup is unportable - "
+                 "use gnulib module dup for portability");
+# endif
+#endif
 
 
 #if @GNULIB_DUP2@
 /* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
    NEWFD = OLDFD, otherwise close NEWFD first if it is open.
    Return newfd if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/dup2.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>.  */
 # if @REPLACE_DUP2@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define dup2 rpl_dup2
@@ -426,8 +455,8 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
 /* Change the process' current working directory to the directory on which
    the given file descriptor is open.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>.  */
 # if ! @HAVE_FCHDIR@
 _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
 
@@ -484,11 +513,30 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
 #endif
 
 
-#if @GNULIB_FSYNC@
+#if @GNULIB_FDATASYNC@
 /* Synchronize changes to a file.
    Return 0 if successful, otherwise -1 and errno set.
-   See POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/fsync.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>.  */
+# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
+_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
+# endif
+_GL_CXXALIAS_SYS (fdatasync, int, (int fd));
+_GL_CXXALIASWARN (fdatasync);
+#elif defined GNULIB_POSIXCHECK
+# undef fdatasync
+# if HAVE_RAW_DECL_FDATASYNC
+_GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
+                 "use gnulib module fdatasync for portability");
+# endif
+#endif
+
+
+#if @GNULIB_FSYNC@
+/* Synchronize changes, including metadata, to a file.
+   Return 0 if successful, otherwise -1 and errno set.
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>.  */
 # if !@HAVE_FSYNC@
 _GL_FUNCDECL_SYS (fsync, int, (int fd));
 # endif
@@ -506,8 +554,8 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
 #if @GNULIB_FTRUNCATE@
 /* Change the size of the file to which FD is opened to become equal to LENGTH.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/ftruncate.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>.  */
 # if !@HAVE_FTRUNCATE@
 _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length));
 # endif
@@ -527,8 +575,8 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
    of BUF.
    Return BUF if successful, or NULL if the directory couldn't be determined
    or SIZE was too small.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/getcwd.html>.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
    Additionally, the gnulib module 'getcwd' guarantees the following GNU
    extension: If BUF is NULL, an array is allocated with 'malloc'; the array
    is SIZE bytes long, unless SIZE == 0, in which case it is as big as
@@ -891,8 +939,8 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable - "
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
    to GID (if GID is not -1).  Do not follow symbolic links.
    Return 0 if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/lchown.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>.  */
 # if @REPLACE_LCHOWN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef lchown
@@ -921,8 +969,8 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
 #if @GNULIB_LINK@
 /* Create a new hard link for an existing file.
    Return 0 if successful, otherwise -1 and errno set.
-   See POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/link.html>.  */
+   See POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>.  */
 # if @REPLACE_LINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define link rpl_link
@@ -987,8 +1035,8 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
 #if @GNULIB_LSEEK@
 /* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
    Return the new offset if successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/lseek.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>.  */
 # if @REPLACE_LSEEK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define lseek rpl_lseek
@@ -1058,8 +1106,9 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
 #if @GNULIB_PREAD@
 /* Read at most BUFSIZE bytes from FD into BUF, starting at OFFSET.
    Return the number of bytes placed into BUF if successful, otherwise
-   set errno and return -1.  0 indicates EOF.  See the POSIX:2001
-   specification <http://www.opengroup.org/susv3xsh/pread.html>.  */
+   set errno and return -1.  0 indicates EOF.
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>.  */
 # if @REPLACE_PREAD@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pread
@@ -1093,8 +1142,8 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
 /* Write at most BUFSIZE bytes from BUF into FD, starting at OFFSET.
    Return the number of bytes written if successful, otherwise
    set errno and return -1.  0 indicates nothing written.  See the
-   POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/pwrite.html>.  */
+   POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>.  */
 # if @REPLACE_PWRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef pwrite
@@ -1126,9 +1175,9 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
 
 #if @GNULIB_READ@
 /* Read up to COUNT bytes from file descriptor FD into the buffer starting
-   at BUF.  See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/read.html>.  */
-# if @REPLACE_READ@ && @GNULIB_UNISTD_H_NONBLOCKING@
+   at BUF.  See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>.  */
+# if @REPLACE_READ@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef read
 #   define read rpl_read
@@ -1150,8 +1199,8 @@ _GL_CXXALIASWARN (read);
 /* Read the contents of the symbolic link FILE and place the first BUFSIZE
    bytes of it into BUF.  Return the number of bytes placed into BUF if
    successful, otherwise -1 and errno set.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/readlink.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>.  */
 # if @REPLACE_READLINK@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   define readlink rpl_readlink
@@ -1222,8 +1271,8 @@ _GL_WARN_ON_USE (rmdir, "rmdir is unportable - "
 #if @GNULIB_SLEEP@
 /* Pause the execution of the current thread for N seconds.
    Returns the number of seconds left to sleep.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>.  */
 # if @REPLACE_SLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef sleep
@@ -1372,7 +1421,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
 /* Pause the execution of the current thread for N microseconds.
    Returns 0 on completion, or -1 on range error.
    See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/sleep.html>.  */
+   <http://www.opengroup.org/susv3xsh/usleep.html>.  */
 # if @REPLACE_USLEEP@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef usleep
@@ -1398,9 +1447,9 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
 
 #if @GNULIB_WRITE@
 /* Write up to COUNT bytes starting at BUF to file descriptor FD.
-   See the POSIX:2001 specification
-   <http://www.opengroup.org/susv3xsh/write.html>.  */
-# if @REPLACE_WRITE@ && (@GNULIB_UNISTD_H_NONBLOCKING@ || @GNULIB_UNISTD_H_SIGPIPE@)
+   See the POSIX:2008 specification
+   <http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>.  */
+# if @REPLACE_WRITE@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef write
 #   define write rpl_write
index 150d2ec..fa35016 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/dbus.el (dbus-unregister-object): Don't release services for
+       registered signals.  (Bug#9581)
+
+2011-09-25  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * progmodes/cfengine.el (cfengine-auto-mode): Add convenience
+       function that picks between cfengine 2 and 3 support
+       automatically.  Update docs accordingly.
+
 2011-09-22  Kenichi Handa  <handa@m17n.org>
 
        * language/ind-util.el (indian-tml-base-table): Add TAMIL DIGIT
        (indian-itrans-v5-table-for-tamil): New variable.
        (indian-tml-itrans-v5-hash): Use the above variable (Bug#9336).
 
+2011-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
+
+       * allout.el (allout-this-command-hid-stuff): Buffer-local variable
+       that's true if the current command involved collapsing of text.
+       It's reset to false at the beginning of the next command.
+       (allout-post-command-business): Move the cursor to the beginning
+       of entry if the cursor is hidden and collapsing activity just
+       happened.
+
+2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
+
+       * mouse.el (mouse-drag-track): Set scroll-margin to 0 while
+       tracking (Bug#9541).
+
+2011-09-24  Ulf Jasper  <ulf.jasper@web.de>
+
+       * net/newst-reader.el (newsticker-html-renderer)
+       (newsticker-show-news): Automatically
+       load html rendering package if newsticker-html-renderer is
+       set. Fixes "Warning: defvar ignored because w3m-fill-column is
+       let-bound" and the error "Symbol's value as variable is void:
+       w3m-fill-column".
+
+2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/dbus.el (dbus-unregister-object): Remove match rule of signals.
+       Release services only if they are defined.  (Bug#9581)
+
+2011-09-23  Richard Stallman  <rms@gnu.org>
+
+       * textmodes/paragraphs.el (forward-sentence): For backwards case,
+       distinguish start of paragraph from start of its text.
+
+       * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Autoload.
+
+       * mail/rmail.el (rmail-view-buffer-kill-buffer-hook): New function.
+       (rmail-generate-viewer-buffer): Put that hook on view buffer.
+       (rmail-mode-kill-buffer-hook): Override that hook, to kill view buffer.
+
+2011-09-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * international/mule-diag.el (mule-diag): Insert a newline after
+       each fontset description.
+
+2011-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * simple.el (delete-trailing-whitespace):
+       Document last change; simplify.
+
+2011-09-23  Peter J. Weisberg  <pj@irregularexpressions.net>
+
+       * simple.el (delete-trailing-whitespace): Also delete
+       extra newlines at the end of the buffer.
+
+       * textmodes/picture.el: Make motion commands obey shift-select-mode.
+       (picture-newline): Use forward-line so as to ignore fields.
+
+2011-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * subr.el (with-wrapper-hook): Fix edebug spec.
+
+2011-09-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * simple.el (kill-line): Note effect of `show-trailing-whitespace'
+       (bug#4538).
+
+2011-09-23  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
+       Fix nasty bug using wrong cached values.
+
+2011-09-23  Alan Mackenzie  <acm@muc.de>
+
+       * progmodes/cc-defs.el (c-version): Increase to 5.31.9.
+
+2011-09-23  Chong Yidong  <cyd@stupidchicken.com>
+
+       * window.el (pop-to-buffer): Ensure right window is selected if we
+       chose another frame.
+
+2011-09-22  Eli Zaretskii  <eliz@gnu.org>
+
+       * simple.el (what-cursor-position): Use get-char-property-change
+       and next-single-char-property-change, to be able to show display
+       properties that come from overlays as well as text properties.
+
+2011-09-22  Chong Yidong  <cyd@stupidchicken.com>
+
+       * window.el (pop-to-buffer-same-window): New (reinstated) fun.
+
+       * cmuscheme.el (run-scheme, switch-to-scheme):
+       * cus-edit.el (customize-group, custom-buffer-create)
+       (customize-browse):
+       * info.el (info):
+       * shell.el (shell):
+       * mail/sendmail.el (mail):
+       * progmodes/inf-lisp.el (inferior-lisp): Use it (Bug#9532).
+
+2011-09-22  Richard Stallman  <rms@gnu.org>
+
+       * textmodes/paragraphs.el (forward-sentence): When setting PAR-BEG,
+       move back only to line beg, don't move back over blank lines.
+
+2011-09-22  Michael Albinus  <michael.albinus@gmx.de>
+
+       * files.el (copy-directory): Set directory attributes only in case
+       they could be retrieved from the source directory.  (Bug#9565)
+
+2011-09-22  Dima Kogan  <dkogan@secretsauce.net>  (tiny change)
+
+       * progmodes/hideshow.el (hs-looking-at-block-start-p)
+       (hs-find-block-beginning, hs-hide-level-recursive):
+       Ignore strings as well as comments.  (Bug#9502)
+
+2011-09-22  Andrew Schein  <andrew@andrewschein.com>  (tiny change)
+
+       * progmodes/sql.el (sql-comint-postgres):
+       Convert port number to a string.  (Bug#9566)
+
+2011-09-22  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (quit-window): Undedicate window when switching to
+       previous buffer.  Reported by Thierry Volpiatto
+       <thierry.volpiatto@gmail.com>.
+       (special-display-popup-frame): When popping up a new frame reset
+       its previous buffers to nil.  Simplify code.
+
+2011-09-21  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-handle-shell-command): Set process sentinel
+       and process filter, as done also in `shell-command'.
+
+2011-09-21  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.el (set-window-buffer-start-and-point):
+       Call set-window-start with NOFORCE argument t.  Suggested by Thierry
+       Volpiatto <thierry.volpiatto@gmail.com>.
+       (quit-window): Reword doc-string.  Handle new format of
+       quit-restore parameter.  Don't delete window if it has a
+       previous buffer we can show instead of the present one.
+       (display-buffer-record-window): Rewrite using a new format for
+       the quit-restore window parameter
+       (special-display-popup-frame, display-buffer-same-window)
+       (display-buffer-reuse-window, display-buffer-pop-up-frame)
+       (display-buffer-pop-up-window, display-buffer-use-some-window):
+       Adapt symbol passed to display-buffer-record-window.
+       * help.el (help-window-setup): Handle new format of quit-restore
+       parameter.
+
+2011-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * faces.el (face-list): Fix docstring (bug#9564).
+
+       * window.el (display-buffer--action-function-custom-type):
+       Don't include internal functions in the Custom interface.
+
+2011-09-20  Juri Linkov  <juri@jurta.org>
+
+       * info.el (Info-history-skip-intermediate-nodes): New defcustom.
+       (Info-forward-node, Info-backward-node, Info-next-preorder)
+       (Info-last-preorder): Use it.  (Bug#9528)
+
+2011-09-20  Juri Linkov  <juri@jurta.org>
+
+       * info.el (Info-last-preorder): Visit last menu item only when
+       `Info-scroll-prefer-subnodes' is non-nil (third test-case of bug#9528).
+
+2011-09-20  Julien Danjou  <julien@danjou.info>
+
+       * password-cache.el (password-cache-remove): Remove entries even if the
+       value is nil, so that password with a nil value (negative caching) is
+       possible to invalidate.
+
 2011-09-20  Lawrence Mitchell  <wence@gmx.li>
 
        * progmodes/f90.el (f90-break-line): If breaking inside comment delete
        * net/tramp.el (top): Don't require 'shell.
        (tramp-methods): Fix docstring.
        (tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el.
-       Return complete remote file name.  Handle "smb" case.  Use
-       `tramp-tmpdir', if defined for the respective method.
+       Return complete remote file name.  Handle "smb" case.
+       Use `tramp-tmpdir', if defined for the respective method.
        (tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'.
 
        * net/tramp-compat.el (top): Require 'shell.
index eeed5d7..c30f0e7 100644 (file)
 2008-06-14  Martin Rudalics  <rudalics@gmx.at>
 
        * window.el (window--even-window-heights): Even window heights
-       only if the selected window is higher than WINDOW.
+       only if the selected window is higher than WINDOW.  (Bug#410)
        Reported by Stephen Berman <Stephen.Berman at gmx.net>.
 
 2008-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
index 592a64c..4002f12 100644 (file)
@@ -3304,6 +3304,10 @@ are mapped to the command of the corresponding control-key on the
 Set by `allout-pre-command-business', to support allout addons in
 coordinating with allout activity.")
 (make-variable-buffer-local 'allout-command-counter)
+;;;_   = allout-this-command-hid-text
+(defvar allout-this-command-hid-text nil
+  "True if the most recent allout-mode command hid any text.")
+(make-variable-buffer-local 'allout-this-command-hid-text)
 ;;;_   > allout-post-command-business ()
 (defun allout-post-command-business ()
   "Outline `post-command-hook' function.
@@ -3311,6 +3315,9 @@ coordinating with allout activity.")
 - Implement (and clear) `allout-post-goto-bullet', for hot-spot
   outline commands.
 
+- Move the cursor to the beginning of the entry if it is hidden
+  and collapsing activity just happened.
+
 - If the command we're following was an undo, check for change in
   the status of encrypted items and adjust auto-save inhibitions
   accordingly.
@@ -3343,8 +3350,9 @@ coordinating with allout activity.")
     (if (and allout-post-goto-bullet
             (allout-current-bullet-pos))
        (progn (goto-char (allout-current-bullet-pos))
-              (setq allout-post-goto-bullet nil)))
-    ))
+              (setq allout-post-goto-bullet nil))
+      (when (and (allout-hidden-p) allout-this-command-hid-text)
+        (allout-beginning-of-current-entry)))))
 ;;;_   > allout-pre-command-business ()
 (defun allout-pre-command-business ()
   "Outline `pre-command-hook' function for outline buffers.
@@ -3367,8 +3375,8 @@ return to regular interpretation of self-insert characters."
 
   (if (not (allout-mode-p))
       nil
-    ;; Increment allout-command-counter
     (setq allout-command-counter (1+ allout-command-counter))
+    (setq allout-this-command-hid-text nil)
     ;; Do hot-spot navigation.
     (if (and (eq this-command 'self-insert-command)
             (eq (point)(allout-current-bullet-pos)))
@@ -4767,7 +4775,8 @@ arguments as this function, after the exposure changes are made."
             (condition-case nil
                 ;; as of 2008-02-27, xemacs lacks modification-hooks
                 (overlay-put o (pop props) (pop props))
-              (error nil)))))))
+              (error nil))))))
+    (setq allout-this-command-hid-text t))
   (run-hook-with-args 'allout-exposure-change-hook from to flag))
 ;;;_   > allout-flag-current-subtree (flag)
 (defun allout-flag-current-subtree (flag)
index 6eb2aa7..7c1351e 100644 (file)
@@ -246,7 +246,7 @@ is run).
        (inferior-scheme-mode)))
   (setq scheme-program-name cmd)
   (setq scheme-buffer "*scheme*")
-  (switch-to-buffer "*scheme*"))
+  (pop-to-buffer-same-window "*scheme*"))
 
 (defun scheme-start-file (prog)
   "Return the name of the start file corresponding to PROG.
@@ -371,7 +371,7 @@ With argument, position cursor at end of buffer."
   (interactive "P")
   (if (or (and scheme-buffer (get-buffer scheme-buffer))
           (scheme-interactively-start-process))
-      (switch-to-buffer scheme-buffer)
+      (pop-to-buffer-same-window scheme-buffer)
     (error "No current process buffer.  See variable `scheme-buffer'"))
   (when eob-p
     (push-mark)
index 620ecdb..9ba8b27 100644 (file)
@@ -1111,15 +1111,19 @@ If OTHER-WINDOW is non-nil, display in another window."
       (setq group (intern group))))
   (let ((name (format "*Customize Group: %s*"
                      (custom-unlispify-tag-name group))))
-    (if (get-buffer name)
-        (switch-to-buffer name other-window)
+    (cond
+     ((null (get-buffer name))
       (funcall (if other-window
                   'custom-buffer-create-other-window
                 'custom-buffer-create)
               (list (list group 'custom-group))
               name
               (concat " for group "
-                      (custom-unlispify-tag-name group))))))
+                      (custom-unlispify-tag-name group))))
+     (other-window
+      (switch-to-buffer-other-window name))
+     (t
+      (pop-to-buffer-same-window name)))))
 
 ;;;###autoload
 (defun customize-group-other-window (&optional group)
@@ -1533,7 +1537,7 @@ Optional NAME is the name of the buffer.
 OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
 SYMBOL is a customization option, and WIDGET is a widget for editing
 that option."
-  (switch-to-buffer (custom-get-fresh-buffer (or name "*Customization*")))
+  (pop-to-buffer-same-window (custom-get-fresh-buffer (or name "*Customization*")))
   (custom-buffer-create-internal options description))
 
 ;;;###autoload
@@ -1721,7 +1725,7 @@ Otherwise use brackets."
   (unless group
     (setq group 'emacs))
   (let ((name "*Customize Browser*"))
-    (switch-to-buffer (custom-get-fresh-buffer name)))
+    (pop-to-buffer-same-window (custom-get-fresh-buffer name)))
   (Custom-mode)
   (widget-insert (format "\
 %s buttons; type RET or click mouse-1
index 1560f2a..7c7f10d 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-23  Antoine Levitt  <antoine.levitt@gmail.com>
+
+       * erc-button.el (erc-button-next-function): Scoping fix
+       (Bug#9487).
+
 2011-07-04  Vivek Dasmohapatra  <vivek@etla.org>
 
        * erc.el (erc-generate-new-buffer-name): Reuse old buffer names
index 3a89734..7fbbbc3 100644 (file)
@@ -430,19 +430,19 @@ call it with the value of the `erc-data' text property."
 (defun erc-button-next-function ()
   "Pseudo completion function that actually jumps to the next button.
 For use on `completion-at-point-functions'."
-  (let ((here (point)))
-    (when (< here (erc-beg-of-input-line))
-      (lambda ()
-        (while (and (get-text-property here 'erc-callback)
-                    (not (= here (point-max))))
-          (setq here (1+ here)))
-        (while (and (not (get-text-property here 'erc-callback))
-                    (not (= here (point-max))))
-          (setq here (1+ here)))
-        (if (< here (point-max))
-            (goto-char here)
-          (error "No next button"))
-        t))))
+    (when (< (point) (erc-beg-of-input-line))
+      `(lambda ()
+         (let ((here ,(point)))
+           (while (and (get-text-property here 'erc-callback)
+                       (not (= here (point-max))))
+             (setq here (1+ here)))
+           (while (and (not (get-text-property here 'erc-callback))
+                       (not (= here (point-max))))
+             (setq here (1+ here)))
+           (if (< here (point-max))
+               (goto-char here)
+             (error "No next button"))
+           t))))
 
 (defun erc-button-next ()
   "Go to the next button in this buffer."
index fbe0f30..9a14e83 100644 (file)
@@ -119,7 +119,7 @@ REGISTRY, ALTERNATIVE1, ALTERNATIVE2, and etc."
 
 
 (defun face-list ()
-  "Return a list of all defined face names."
+  "Return a list of all defined faces."
   (mapcar #'car face-new-frame-defaults))
 
 
index b29c059..8b05b62 100644 (file)
@@ -4941,9 +4941,10 @@ directly into NEWNAME instead."
              (copy-file file target t keep-time)))))
 
       ;; Set directory attributes.
-      (set-file-modes newname (file-modes directory))
-      (if keep-time
-         (set-file-times newname (nth 5 (file-attributes directory)))))))
+      (let ((modes (file-modes directory))
+           (times (and keep-time (nth 5 (file-attributes directory)))))
+       (if modes (set-file-modes newname modes))
+       (if times (set-file-times newname times))))))
 \f
 (put 'revert-buffer-function 'permanent-local t)
 (defvar revert-buffer-function nil
index 1d53425..ab324b7 100644 (file)
@@ -1,3 +1,90 @@
+2011-09-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnimap.el (nnimap-wait-for-response): Message less (bug#9540).
+       (nnimap-insert-partial-structure): The charset parameter isn't
+       case-sensitive.
+
+       * nnheader.el (nnheader-message-maybe): New function.
+
+       * shr.el (shr-tag-table): Render totally broken tables better.
+
+       * mml.el (mml-generate-mime-1): Don't alter the contents if we're
+       computing the boundary.
+
+2011-09-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * pop3.el (pop3-number-of-responses): Remove.
+       (pop3-wait-for-messages): Rewrite to take linear time instead of
+       exponential time.
+
+2011-09-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-show-article): Bind `shr-ignore-cache' to
+       re-fetch images.
+
+       * shr.el (shr-tag-img): Support a new variable `shr-ignore-cache' to
+       re-fetch images when hitting `g' in Gnus.
+
+2011-09-22  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * mml.el (mml-inhibit-compute-boundary): New internal variable.
+       (mml-compute-boundary): Don't check collision if it is non-nil.
+       (mml-compute-boundary-1): Use mml-generate-mime-1 to encode part
+       before checking collision.
+
+2011-09-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * message.el (message-indent-citation): Really make sure there's a
+       newline at the end.
+
+       * nnimap.el (nnimap-parse-flags): Make regexp less prone to overflows.
+       Fix suggested by John Wiegley.
+
+       * pop3.el (pop3-open-server): Fix +OK end-of-command regexp.
+
+       * gnus-art.el (gnus-treat-hide-citation): Add doc.
+
+       * message.el (message-default-send-rename-function): Break out into its
+       own function.
+
+       * ecomplete.el (ecomplete-display-matches): Revert patch since it
+       doesn't work under XEmacs.
+
+       * nnimap.el (nnimap-map-port): New function to connect to 993 instead
+       of "imaps" to word around Windows problems.
+       (nnimap-open-connection-1): Use it.
+
+       * message.el (message-indent-citation): Revert last change which made
+       `F' not work.
+
+2011-09-13  Kan-Ru Chen  <kanru@kanru.info>
+
+       * ecomplete.el (ecomplete-display-matches): Intercept key sequence from
+       terminal as well.
+
+2011-09-21  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * mm-view.el (mm-display-inline-fontify): Don't run doc-view-mode
+       because it displays images using overlays that aren't easy to copy to
+       the article buffer.
+
+2011-09-20  Łukasz Stelmach  <lukasz.stelmach@iem.pw.edu.pl>  (tiny change)
+
+       * message.el (message-indent-citation): Fix empty line removal at the
+       end of the citation.
+
+2011-09-20  Julien Danjou  <julien@danjou.info>
+
+       * auth-source.el (auth-source-netrc-create): Use default value for
+       password if specified. Evaluate default.
+       (auth-source-plstore-create): Ditto.
+       (auth-source-plstore-create, auth-source-netrc-create): Fix default
+       value evaluation.
+       (auth-source-netrc-create): Typo fix.
+       (auth-source-plstore-create): Ditto.
+
+       * auth-source.el (auth-source-format-cache-entry): New function.
+
 2011-09-20  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-fun.el (gnus-convert-image-to-x-face-command): Doc fix.
index 7a05edf..4269b79 100644 (file)
@@ -749,28 +749,31 @@ Returns the deleted entries."
         do (password-cache-remove (symbol-name sym)))
   (setq auth-source-netrc-cache nil))
 
+(defun auth-source-format-cache-entry (spec)
+  "Format SPEC entry to put it in the password cache."
+  (concat auth-source-magic (format "%S" spec)))
+
 (defun auth-source-remember (spec found)
   "Remember FOUND search results for SPEC."
   (let ((password-cache-expiry auth-source-cache-expiry))
     (password-cache-add
-     (concat auth-source-magic (format "%S" spec)) found)))
+     (auth-source-format-cache-entry spec) found)))
 
 (defun auth-source-recall (spec)
   "Recall FOUND search results for SPEC."
-  (password-read-from-cache
-   (concat auth-source-magic (format "%S" spec))))
+  (password-read-from-cache (auth-source-format-cache-entry spec)))
 
 (defun auth-source-remembered-p (spec)
   "Check if SPEC is remembered."
   (password-in-cache-p
-   (concat auth-source-magic (format "%S" spec))))
+   (auth-source-format-cache-entry spec)))
 
 (defun auth-source-forget (spec)
   "Forget any cached data matching SPEC exactly.
 
 This is the same SPEC you passed to `auth-source-search'.
 Returns t or nil for forgotten or not found."
-  (password-cache-remove (concat auth-source-magic (format "%S" spec))))
+  (password-cache-remove (auth-source-format-cache-entry spec)))
 
 ;;; (loop for sym being the symbols of password-data when (string-match (concat "^" auth-source-magic) (symbol-name sym)) collect (symbol-name sym))
 
@@ -1222,49 +1225,46 @@ See `auth-source-search' for details on SPEC."
                         (?p ,(aget printable-defaults 'port))))))
 
         ;; Store the data, prompting for the password if needed.
-        (setq data
-              (cond
-               ((and (null data) (eq r 'secret))
-                ;; Special case prompt for passwords.
-                ;; TODO: make the default (setq auth-source-netrc-use-gpg-tokens `((,(if (boundp 'epa-file-auto-mode-alist-entry) (car (symbol-value 'epa-file-auto-mode-alist-entry)) "\\.gpg\\'") nil) (t gpg)))
-                ;; TODO: or maybe leave as (setq auth-source-netrc-use-gpg-tokens 'never)
-                (let* ((ep (format "Use GPG password tokens in %s?" file))
-                       (gpg-encrypt
-                        (cond
-                         ((eq auth-source-netrc-use-gpg-tokens 'never)
-                          'never)
-                         ((listp auth-source-netrc-use-gpg-tokens)
-                          (let ((check (copy-sequence
-                                        auth-source-netrc-use-gpg-tokens))
-                                item ret)
-                            (while check
-                              (setq item (pop check))
-                              (when (or (eq (car item) t)
-                                        (string-match (car item) file))
-                                (setq ret (cdr item))
-                                (setq check nil)))))
-                         (t 'never)))
-                       (plain (read-passwd prompt)))
-                  ;; ask if we don't know what to do (in which case
-                  ;; auth-source-netrc-use-gpg-tokens must be a list)
-                  (unless gpg-encrypt
-                    (setq gpg-encrypt (if (y-or-n-p ep) 'gpg 'never))
-                    ;; TODO: save the defcustom now? or ask?
-                    (setq auth-source-netrc-use-gpg-tokens
-                          (cons `(,file ,gpg-encrypt)
-                                auth-source-netrc-use-gpg-tokens)))
-                  (if (eq gpg-encrypt 'gpg)
-                      (auth-source-epa-make-gpg-token plain file)
-                    plain)))
-               ((null data)
-                (when default
-                  (setq prompt
-                        (if (string-match ": *\\'" prompt)
-                            (concat (substring prompt 0 (match-beginning 0))
-                                    " (default " default "): ")
-                          (concat prompt "(default " default ") "))))
-                (read-string prompt nil nil default))
-               (t (or data default))))
+        (setq data (or data
+                       (if (eq r 'secret)
+                           ;; Special case prompt for passwords.
+                           ;; TODO: make the default (setq auth-source-netrc-use-gpg-tokens `((,(if (boundp 'epa-file-auto-mode-alist-entry) (car (symbol-value 'epa-file-auto-mode-alist-entry)) "\\.gpg\\'") nil) (t gpg)))
+                           ;; TODO: or maybe leave as (setq auth-source-netrc-use-gpg-tokens 'never)
+                           (let* ((ep (format "Use GPG password tokens in %s?" file))
+                                  (gpg-encrypt
+                                   (cond
+                                    ((eq auth-source-netrc-use-gpg-tokens 'never)
+                                     'never)
+                                    ((listp auth-source-netrc-use-gpg-tokens)
+                                     (let ((check (copy-sequence
+                                                   auth-source-netrc-use-gpg-tokens))
+                                           item ret)
+                                       (while check
+                                         (setq item (pop check))
+                                         (when (or (eq (car item) t)
+                                                   (string-match (car item) file))
+                                           (setq ret (cdr item))
+                                           (setq check nil)))))
+                                    (t 'never)))
+                                  (plain (or (eval default) (read-passwd prompt))))
+                             ;; ask if we don't know what to do (in which case
+                             ;; auth-source-netrc-use-gpg-tokens must be a list)
+                             (unless gpg-encrypt
+                               (setq gpg-encrypt (if (y-or-n-p ep) 'gpg 'never))
+                               ;; TODO: save the defcustom now? or ask?
+                               (setq auth-source-netrc-use-gpg-tokens
+                                     (cons `(,file ,gpg-encrypt)
+                                           auth-source-netrc-use-gpg-tokens)))
+                             (if (eq gpg-encrypt 'gpg)
+                                 (auth-source-epa-make-gpg-token plain file)
+                               plain))
+                         (if (stringp default)
+                             (read-string (if (string-match ": *\\'" prompt)
+                                              (concat (substring prompt 0 (match-beginning 0))
+                                                      " (default " default "): ")
+                                            (concat prompt "(default " default ") "))
+                                          nil nil default)
+                           (eval default)))))
 
         (when data
           (setq artificial (plist-put artificial
@@ -1668,20 +1668,16 @@ authentication tokens:
                         (?p ,(aget printable-defaults 'port))))))
 
         ;; Store the data, prompting for the password if needed.
-        (setq data
-              (cond
-               ((and (null data) (eq r 'secret))
-                ;; Special case prompt for passwords.
-                (read-passwd prompt))
-               ((null data)
-                (when default
-                  (setq prompt
-                        (if (string-match ": *\\'" prompt)
-                            (concat (substring prompt 0 (match-beginning 0))
-                                    " (default " default "): ")
-                          (concat prompt "(default " default ") "))))
-                (read-string prompt nil nil default))
-               (t (or data default))))
+        (setq data (or data
+                       (if (eq r 'secret)
+                           (or (eval default) (read-passwd prompt))
+                         (if (stringp default)
+                             (read-string (if (string-match ": *\\'" prompt)
+                                              (concat (substring prompt 0 (match-beginning 0))
+                                                      " (default " default "): ")
+                                            (concat prompt "(default " default ") "))
+                                          nil nil default)
+                           (eval default)))))
 
         (when data
           (if (member r base-secret)
index 8149e55..0068fba 100644 (file)
@@ -1231,7 +1231,10 @@ predicate.  See Info node `(gnus)Customizing Articles'."
 (defcustom gnus-treat-hide-citation nil
   "Hide cited text.
 Valid values are nil, t, `head', `first', `last', an integer or a
-predicate.  See Info node `(gnus)Customizing Articles'."
+predicate.  See Info node `(gnus)Customizing Articles'.
+
+See `gnus-article-highlight-citation' for variables used to
+control what it hides."
   :group 'gnus-article-treat
   :link '(custom-manual "(gnus)Customizing Articles")
   :type gnus-article-treat-custom)
index 423de35..66b6618 100644 (file)
@@ -9611,8 +9611,10 @@ C-u g', show the raw article."
        (when (gnus-summary-goto-subject (cdr gnus-article-current) nil t)
          (gnus-summary-update-secondary-mark (cdr gnus-article-current))))))
    ((not arg)
-    ;; Select the article the normal way.
-    (gnus-summary-select-article nil 'force))
+    (require 'shr)
+    (let ((shr-ignore-cache t))
+      ;; Select the article the normal way.
+      (gnus-summary-select-article nil 'force)))
    ((equal arg '(16))
     ;; C-u C-u g
     (let ((gnus-inhibit-article-treatments t))
index 8dac0fd..7203ef6 100644 (file)
@@ -3679,7 +3679,7 @@ However, if `message-yank-prefix' is non-nil, insert that prefix on each line."
       (message-delete-line))
     ;; Delete blank lines at the end of the buffer.
     (goto-char (point-max))
-    (unless (eolp)
+    (unless (eq (preceding-char) ?\n)
       (insert "\n"))
     (while (and (zerop (forward-line -1))
                (looking-at "$"))
@@ -6358,35 +6358,38 @@ between beginning of field and beginning of line."
   ;; Rename the buffer.
   (if message-send-rename-function
       (funcall message-send-rename-function)
-    ;; Note: mail-abbrevs of XEmacs renames buffer name behind Gnus.
-    (when (string-match
-          "\\`\\*\\(sent \\|unsent \\)?\\(.+\\)\\*[^\\*]*\\|\\`mail to "
-          (buffer-name))
-      (let ((name (match-string 2 (buffer-name)))
-           to group)
-       (if (not (or (null name)
-                    (string-equal name "mail")
-                    (string-equal name "posting")))
-           (setq name (concat "*sent " name "*"))
-         (message-narrow-to-headers)
-         (setq to (message-fetch-field "to"))
-         (setq group (message-fetch-field "newsgroups"))
-         (widen)
-         (setq name
-               (cond
-                (to (concat "*sent mail to "
-                            (or (car (mail-extract-address-components to))
-                                to) "*"))
-                ((and group (not (string= group "")))
-                 (concat "*sent posting on " group "*"))
-                (t "*sent mail*"))))
-       (unless (string-equal name (buffer-name))
-         (rename-buffer name t)))))
+    (message-default-send-rename-function))
   ;; Push the current buffer onto the list.
   (when message-max-buffers
     (setq message-buffer-list
          (nconc message-buffer-list (list (current-buffer))))))
 
+(defun message-default-send-rename-function ()
+  ;; Note: mail-abbrevs of XEmacs renames buffer name behind Gnus.
+  (when (string-match
+        "\\`\\*\\(sent \\|unsent \\)?\\(.+\\)\\*[^\\*]*\\|\\`mail to "
+        (buffer-name))
+    (let ((name (match-string 2 (buffer-name)))
+         to group)
+      (if (not (or (null name)
+                  (string-equal name "mail")
+                  (string-equal name "posting")))
+         (setq name (concat "*sent " name "*"))
+       (message-narrow-to-headers)
+       (setq to (message-fetch-field "to"))
+       (setq group (message-fetch-field "newsgroups"))
+       (widen)
+       (setq name
+             (cond
+              (to (concat "*sent mail to "
+                          (or (car (mail-extract-address-components to))
+                              to) "*"))
+              ((and group (not (string= group "")))
+               (concat "*sent posting on " group "*"))
+              (t "*sent mail*"))))
+      (unless (string-equal name (buffer-name))
+       (rename-buffer name t)))))
+
 (defun message-mail-user-agent ()
   (let ((mua (cond
              ((not message-mail-user-agent) nil)
index 9264228..6358e34 100644 (file)
@@ -607,7 +607,10 @@ If MODE is not set, try to find mode automatically."
         (set (make-local-variable 'enable-local-variables) nil)
         (if mode
             (funcall mode)
-          (set-auto-mode))
+         (let ((auto-mode-alist
+                (delq (rassq 'doc-view-mode-maybe auto-mode-alist)
+                      (copy-sequence auto-mode-alist))))
+           (set-auto-mode)))
        ;; The mode function might have already turned on font-lock.
         ;; Do not fontify if the guess mode is fundamental.
        (unless (or (symbol-value 'font-lock-mode)
index e393918..0d2ae2a 100644 (file)
@@ -461,6 +461,7 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
 (defvar mml-boundary nil)
 (defvar mml-base-boundary "-=-=")
 (defvar mml-multipart-number 0)
+(defvar mml-inhibit-compute-boundary nil)
 
 (defun mml-generate-mime ()
   "Generate a MIME message based on the current MML document."
@@ -539,7 +540,8 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
                      (mml-to-mime)
                      ;; Update handle so mml-compute-boundary can
                      ;; detect collisions with the nested parts.
-                     (setcdr (assoc 'contents cont) (buffer-string)))
+                     (unless mml-inhibit-compute-boundary
+                       (setcdr (assoc 'contents cont) (buffer-string))))
                    (let ((mm-7bit-chars (concat mm-7bit-chars "\x1b")))
                      ;; ignore 0x1b, it is part of iso-2022-jp
                      (setq encoding (mm-body-7-or-8))))
@@ -710,34 +712,30 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
   "Return a unique boundary that does not exist in CONT."
   (let ((mml-boundary (funcall mml-boundary-function
                               (incf mml-multipart-number))))
-    ;; This function tries again and again until it has found
-    ;; a unique boundary.
-    (while (not (catch 'not-unique
-                 (mml-compute-boundary-1 cont))))
+    (unless mml-inhibit-compute-boundary
+      ;; This function tries again and again until it has found
+      ;; a unique boundary.
+      (while (not (catch 'not-unique
+                   (mml-compute-boundary-1 cont)))))
     mml-boundary))
 
 (defun mml-compute-boundary-1 (cont)
-  (let (filename)
-    (cond
-     ((member (car cont) '(part mml))
-      (with-temp-buffer
-       (cond
-        ((cdr (assq 'buffer cont))
-         (insert-buffer-substring (cdr (assq 'buffer cont))))
-        ((and (setq filename (cdr (assq 'filename cont)))
-              (not (equal (cdr (assq 'nofile cont)) "yes")))
-         (mm-insert-file-contents filename nil nil nil nil t))
-        (t
-         (insert (cdr (assq 'contents cont)))))
-       (goto-char (point-min))
-       (when (re-search-forward (concat "^--" (regexp-quote mml-boundary))
-                                nil t)
-         (setq mml-boundary (funcall mml-boundary-function
-                                     (incf mml-multipart-number)))
-         (throw 'not-unique nil))))
-     ((eq (car cont) 'multipart)
-      (mapc 'mml-compute-boundary-1 (cddr cont))))
-    t))
+  (cond
+   ((member (car cont) '(part mml))
+    (mm-with-multibyte-buffer
+      (let ((mml-inhibit-compute-boundary t)
+           (mml-multipart-number 0)
+           mml-sign-alist mml-encrypt-alist)
+       (mml-generate-mime-1 cont))
+      (goto-char (point-min))
+      (when (re-search-forward (concat "^--" (regexp-quote mml-boundary))
+                              nil t)
+       (setq mml-boundary (funcall mml-boundary-function
+                                   (incf mml-multipart-number)))
+       (throw 'not-unique nil))))
+   ((eq (car cont) 'multipart)
+    (mapc 'mml-compute-boundary-1 (cddr cont))))
+  t)
 
 (defun mml-make-boundary (number)
   (concat (make-string (% number 60) ?=)
index 6f871cc..a8e8e7d 100644 (file)
@@ -1112,6 +1112,13 @@ See `find-file-noselect' for the arguments."
                       '(buffer-string)))))
        (insert-buffer-substring ,buffer ,start ,end))))
 
+(defvar nnheader-last-message-time '(0 0))
+(defun nnheader-message-maybe (&rest args)
+  (let ((now (current-time)))
+    (when (> (float-time (time-subtract now nnheader-last-message-time)) 1)
+      (setq nnheader-last-message-time now)
+      (apply 'nnheader-message args))))
+
 (when (featurep 'xemacs)
   (require 'nnheaderxm))
 
index d26df23..77372c2 100644 (file)
@@ -345,6 +345,11 @@ textual parts.")
        nil
       stream)))
 
+(defun nnimap-map-port (port)
+  (if (equal port "imaps")
+      "993"
+    port))
+
 (defun nnimap-open-connection-1 (buffer)
   (unless nnimap-keepalive-timer
     (setq nnimap-keepalive-timer (run-at-time (* 60 15) (* 60 15)
@@ -373,7 +378,8 @@ textual parts.")
        (push nnimap-server-port ports))
       (let* ((stream-list
              (open-protocol-stream
-              "*nnimap*" (current-buffer) nnimap-address (car ports)
+              "*nnimap*" (current-buffer) nnimap-address
+              (nnimap-map-port (car ports))
               :type nnimap-stream
               :return-list t
               :shell-command nnimap-shell-program
@@ -666,12 +672,13 @@ textual parts.")
       (if (consp (caar structure))
          (nnimap-insert-partial-structure (pop structure) parts t)
        (let ((bit (pop structure)))
-         (insert (format  "Content-type: %s/%s"
-                          (downcase (nth 0 bit))
-                          (downcase (nth 1 bit))))
-         (if (member "CHARSET" (nth 2 bit))
+         (insert (format "Content-type: %s/%s"
+                         (downcase (nth 0 bit))
+                         (downcase (nth 1 bit))))
+         (if (member-ignore-case "CHARSET" (nth 2 bit))
              (insert (format
-                      "; charset=%S\n" (cadr (member "CHARSET" (nth 2 bit)))))
+                      "; charset=%S\n"
+                      (cadr (member-ignore-case "CHARSET" (nth 2 bit)))))
            (insert "\n"))
          (insert (format "Content-transfer-encoding: %s\n"
                          (nth 5 bit)))
@@ -1551,7 +1558,7 @@ textual parts.")
                 (goto-char start)
                 (setq vanished
                       (and (eq flag-sequence 'qresync)
-                           (re-search-forward "^\\* VANISHED .* \\([0-9:,]+\\)"
+                           (re-search-forward "^\\* VANISHED .*? \\([0-9:,]+\\)"
                                               (or end (point-min)) t)
                            (match-string 1)))
                 (goto-char start)
@@ -1717,7 +1724,8 @@ textual parts.")
                                      (looking-at "\\*"))))
                        (not (looking-at (format "%d .*\n" sequence)))))
            (when messagep
-             (nnheader-message 7 "nnimap read %dk" (/ (buffer-size) 1000)))
+             (nnheader-message-maybe
+              7 "nnimap read %dk" (/ (buffer-size) 1000)))
            (nnheader-accept-process-output process)
            (goto-char (point-max)))
           openp)
index 54c2170..ee3e658 100644 (file)
@@ -167,17 +167,30 @@ Use streaming commands."
 
 (defun pop3-send-streaming-command (process command count total-size)
   (erase-buffer)
-  (let ((i 1))
+  (let ((i 1)
+       (start-point (point-min))
+       (waited-for 0))
     (while (>= count i)
       (process-send-string process (format "%s %d\r\n" command i))
       ;; Only do 100 messages at a time to avoid pipe stalls.
       (when (zerop (% i pop3-stream-length))
-       (pop3-wait-for-messages process i total-size))
-      (incf i)))
-  (pop3-wait-for-messages process count total-size))
-
-(defun pop3-wait-for-messages (process count total-size)
-  (while (< (pop3-number-of-responses total-size) count)
+       (setq start-point
+             (pop3-wait-for-messages process pop3-stream-length
+                                     total-size start-point))
+       (incf waited-for pop3-stream-length))
+      (incf i))
+    (pop3-wait-for-messages process (- count waited-for)
+                           total-size start-point)))
+
+(defun pop3-wait-for-messages (process count total-size start-point)
+  (while (> count 0)
+    (goto-char start-point)
+    (while (or (and (re-search-forward "^\\+OK" nil t)
+                   (or (not total-size)
+                       (re-search-forward "^\\.\r?\n" nil t)))
+              (re-search-forward "^-ERR " nil t))
+      (decf count)
+      (setq start-point (point)))
     (unless (memq (process-status process) '(open run))
       (error "pop3 process died"))
     (when total-size
@@ -185,7 +198,8 @@ Use streaming commands."
               (truncate (/ (buffer-size) 1000))
               (truncate (* (/ (* (buffer-size) 1.0)
                               total-size) 100))))
-    (pop3-accept-process-output process)))
+    (pop3-accept-process-output process))
+  start-point)
 
 (defun pop3-write-to-file (file)
   (let ((pop-buffer (current-buffer))
@@ -219,17 +233,6 @@ Use streaming commands."
          (delete-char 1))
        (write-region (point-min) (point-max) file nil 'nomesg)))))
 
-(defun pop3-number-of-responses (endp)
-  (let ((responses 0))
-    (save-excursion
-      (goto-char (point-min))
-      (while (or (and (re-search-forward "^\\+OK" nil t)
-                     (or (not endp)
-                         (re-search-forward "^\\.\r?\n" nil t)))
-                (re-search-forward "^-ERR " nil t))
-       (incf responses)))
-    responses))
-
 (defun pop3-logon (process)
   (let ((pop3-password pop3-password))
     ;; for debugging only
@@ -308,7 +311,7 @@ Returns the process associated with the connection."
                    (t
                     (or pop3-stream-type 'network)))
             :capability-command "CAPA\r\n"
-            :end-of-command "^\\(-ERR\\|+OK \\).*\n"
+            :end-of-command "^\\(-ERR\\|+OK\\).*\n"
             :end-of-capability "^\\.\r?\n\\|^-ERR"
             :success "^\\+OK.*\n"
             :return-list t
index 8faa507..f49bbd6 100644 (file)
@@ -112,6 +112,7 @@ cid: URL as the argument.")
 (defvar shr-table-depth 0)
 (defvar shr-stylesheet nil)
 (defvar shr-base nil)
+(defvar shr-ignore-cache nil)
 
 (defvar shr-map
   (let ((map (make-sparse-keymap)))
@@ -896,10 +897,16 @@ ones, in case fg and bg are nil."
            (if (> (string-width alt) 8)
                (shr-insert (truncate-string-to-width alt 8))
              (shr-insert alt))))
-        ((url-is-cached (shr-encode-url url))
+        ((and (not shr-ignore-cache)
+              (url-is-cached (shr-encode-url url)))
          (funcall shr-put-image-function (shr-get-image-data url) alt))
         (t
          (insert alt)
+         (when (and shr-ignore-cache
+                    (url-is-cached (shr-encode-url url)))
+           (let ((file (url-cache-create-filename (shr-encode-url url))))
+             (when (file-exists-p file)
+               (delete-file file))))
          (funcall
           (if (fboundp 'url-queue-retrieve)
               'url-queue-retrieve
@@ -1048,44 +1055,53 @@ ones, in case fg and bg are nil."
         (nheader (if header (shr-max-columns header)))
         (nbody (if body (shr-max-columns body)))
         (nfooter (if footer (shr-max-columns footer))))
-    (shr-tag-table-1
-     (nconc
-      (if caption `((tr (td ,@caption))))
-      (if header
-         (if footer
-             ;; hader + body + footer
+    (if (and (not caption)
+            (not header)
+            (not (cdr (assq 'tbody cont)))
+            (not (cdr (assq 'tr cont)))
+            (not footer))
+       ;; The table is totally invalid and just contains random junk.
+       ;; Try to output it anyway.
+       (shr-generic cont)
+      ;; It's a real table, so render it.
+      (shr-tag-table-1
+       (nconc
+       (if caption `((tr (td ,@caption))))
+       (if header
+           (if footer
+               ;; hader + body + footer
+               (if (= nheader nbody)
+                   (if (= nbody nfooter)
+                       `((tr (td (table (tbody ,@header ,@body ,@footer)))))
+                     (nconc `((tr (td (table (tbody ,@header ,@body)))))
+                            (if (= nfooter 1)
+                                footer
+                              `((tr (td (table (tbody ,@footer))))))))
+                 (nconc `((tr (td (table (tbody ,@header)))))
+                        (if (= nbody nfooter)
+                            `((tr (td (table (tbody ,@body ,@footer)))))
+                          (nconc `((tr (td (table (tbody ,@body)))))
+                                 (if (= nfooter 1)
+                                     footer
+                                   `((tr (td (table (tbody ,@footer))))))))))
+             ;; header + body
              (if (= nheader nbody)
-                 (if (= nbody nfooter)
-                     `((tr (td (table (tbody ,@header ,@body ,@footer)))))
-                   (nconc `((tr (td (table (tbody ,@header ,@body)))))
-                          (if (= nfooter 1)
-                              footer
-                            `((tr (td (table (tbody ,@footer))))))))
-               (nconc `((tr (td (table (tbody ,@header)))))
-                      (if (= nbody nfooter)
-                          `((tr (td (table (tbody ,@body ,@footer)))))
-                        (nconc `((tr (td (table (tbody ,@body)))))
-                               (if (= nfooter 1)
-                                   footer
-                                 `((tr (td (table (tbody ,@footer))))))))))
-           ;; header + body
-           (if (= nheader nbody)
-               `((tr (td (table (tbody ,@header ,@body)))))
-             (if (= nheader 1)
-                 `(,@header (tr (td (table (tbody ,@body)))))
-               `((tr (td (table (tbody ,@header))))
-                 (tr (td (table (tbody ,@body))))))))
-       (if footer
-           ;; body + footer
-           (if (= nbody nfooter)
-               `((tr (td (table (tbody ,@body ,@footer)))))
-             (nconc `((tr (td (table (tbody ,@body)))))
-                    (if (= nfooter 1)
-                        footer
-                      `((tr (td (table (tbody ,@footer))))))))
-         (if caption
-             `((tr (td (table (tbody ,@body)))))
-           body)))))
+                 `((tr (td (table (tbody ,@header ,@body)))))
+               (if (= nheader 1)
+                   `(,@header (tr (td (table (tbody ,@body)))))
+                 `((tr (td (table (tbody ,@header))))
+                   (tr (td (table (tbody ,@body))))))))
+         (if footer
+             ;; body + footer
+             (if (= nbody nfooter)
+                 `((tr (td (table (tbody ,@body ,@footer)))))
+               (nconc `((tr (td (table (tbody ,@body)))))
+                      (if (= nfooter 1)
+                          footer
+                        `((tr (td (table (tbody ,@footer))))))))
+           (if caption
+               `((tr (td (table (tbody ,@body)))))
+             body))))))
     (when bgcolor
       (shr-colorize-region start (point) (cdr (assq 'color shr-stylesheet))
                           bgcolor))))
index 0c8d671..f4338c2 100644 (file)
@@ -1066,7 +1066,7 @@ HELP-WINDOW is the window used for displaying the help buffer."
   (let* ((help-buffer (when (window-live-p help-window)
                        (window-buffer help-window)))
         (help-setup (when (window-live-p help-window)
-                      (window-parameter help-window 'help-setup))))
+                      (car (window-parameter help-window 'quit-restore)))))
     (when help-buffer
       ;; Handle `help-window-point-marker'.
       (when (eq (marker-buffer help-window-point-marker) help-buffer)
@@ -1077,7 +1077,7 @@ HELP-WINDOW is the window used for displaying the help buffer."
       (cond
        ((or (eq help-window (selected-window))
            (and (or (eq help-window-select t)
-                    (eq help-setup 'new-frame)
+                    (eq help-setup 'frame)
                     (and (eq help-window-select 'other)
                          (eq (window-frame help-window) (selected-frame))
                          (> (length (window-list nil 'no-mini)) 2)))
@@ -1085,12 +1085,12 @@ HELP-WINDOW is the window used for displaying the help buffer."
        ;; The help window is or gets selected ...
        (help-window-display-message
         (cond
-         ((eq help-setup 'new-window)
+         ((eq help-setup 'window)
           ;; ... and is new, ...
           "Type \"q\" to delete help window")
-         ((eq help-setup 'new-frame)
+         ((eq help-setup 'frame)
           "Type \"q\" to delete help frame")
-         ((eq help-setup 'reuse-other)
+         ((eq help-setup 'other)
           ;; ... or displayed some other buffer before.
           "Type \"q\" to restore previous buffer"))
         help-window t))
@@ -1100,19 +1100,19 @@ HELP-WINDOW is the window used for displaying the help buffer."
        ;; other one is the selected one.
        (help-window-display-message
         (cond
-         ((eq help-setup 'new-window)
+         ((eq help-setup 'window)
           "Type \\[delete-other-windows] to delete the help window")
-         ((eq help-setup 'reuse-other)
+         ((eq help-setup 'other)
           "Type \"q\" in help window to restore its previous buffer"))
         help-window 'other))
        (t
        ;; The help window is not selected ...
        (help-window-display-message
         (cond
-         ((eq help-setup 'new-window)
+         ((eq help-setup 'window)
           ;; ... and is new, ...
           "Type \"q\" in help window to delete it")
-         ((eq help-setup 'reuse-other)
+         ((eq help-setup 'other)
           ;; ... or displayed some other buffer before.
           "Type \"q\" in help window to restore previous buffer"))
         help-window))))))
index e79e4b1..4ccbeba 100644 (file)
@@ -52,6 +52,15 @@ Each element of the stack is a list (FILENAME NODENAME BUFFERPOS).")
   "List of all Info nodes user has visited.
 Each element of the list is a list (FILENAME NODENAME).")
 
+(defcustom Info-history-skip-intermediate-nodes t
+  "Non-nil means don't record intermediate Info nodes to the history.
+Intermediate Info nodes are nodes visited by Info internally in the process of
+searching the node to display.  Intermediate nodes are not presented
+to the user."
+  :type 'boolean
+  :group 'info
+  :version "24.1")
+
 (defcustom Info-enable-edit nil
   "Non-nil means the \\<Info-mode-map>\\[Info-edit] command in Info can edit the current node.
 This is convenient if you want to write Info files by hand.
@@ -640,7 +649,8 @@ See a list of available Info commands in `Info-mode'."
                     (read-file-name "Info file name: " nil nil t))
                 (if (numberp current-prefix-arg)
                     (format "*info*<%s>" current-prefix-arg))))
-  (info-setup file-or-node (switch-to-buffer (or buffer "*info*"))))
+  (info-setup file-or-node
+             (pop-to-buffer-same-window (or buffer "*info*"))))
 
 (defun info-setup (file-or-node buffer)
   "Display Info node FILE-OR-NODE in BUFFER."
@@ -2668,10 +2678,13 @@ N is the digit argument used to invoke this command."
                                   "top")))
           (let ((old-node Info-current-node))
             (Info-up)
-            (let (Info-history success)
+            (let ((old-history Info-history)
+                  success)
               (unwind-protect
                   (setq success (Info-forward-node t nil no-error))
-                (or success (Info-goto-node old-node))))))
+                (or success (Info-goto-node old-node)))
+              (if Info-history-skip-intermediate-nodes
+                  (setq Info-history old-history)))))
          (no-error nil)
          (t (error "No pointer forward from this node")))))
 
@@ -2693,10 +2706,12 @@ N is the digit argument used to invoke this command."
           ;; If we move back at the same level,
           ;; go down to find the last subnode*.
           (Info-prev)
-          (let (Info-history)
+          (let ((old-history Info-history))
             (while (and (not (Info-index-node))
                         (save-excursion (search-forward "\n* Menu:" nil t)))
-              (Info-goto-node (Info-extract-menu-counting nil)))))
+              (Info-goto-node (Info-extract-menu-counting nil)))
+            (if Info-history-skip-intermediate-nodes
+                (setq Info-history old-history))))
          (t
           (error "No pointer backward from this node")))))
 
@@ -2752,38 +2767,45 @@ N is the digit argument used to invoke this command."
         ;; Since logically we are done with the node with that menu,
         ;; move on from it.  But don't add intermediate nodes
         ;; to the history on recursive calls.
-        (let (Info-history)
-          (Info-next-preorder)))
+        (let ((old-history Info-history))
+          (Info-next-preorder)
+          (if Info-history-skip-intermediate-nodes
+              (setq Info-history old-history))))
        (t
         (error "No more nodes"))))
 
 (defun Info-last-preorder ()
   "Go to the last node, popping up a level if there is none."
   (interactive)
-  (cond ((Info-no-error
-         (Info-last-menu-item)
-         ;; If we go down a menu item, go to the end of the node
-         ;; so we can scroll back through it.
-         (goto-char (point-max)))
+  (cond ((and Info-scroll-prefer-subnodes
+             (Info-no-error
+              (Info-last-menu-item)
+              ;; If we go down a menu item, go to the end of the node
+              ;; so we can scroll back through it.
+              (goto-char (point-max))))
         ;; Keep going down, as long as there are nested menu nodes.
-        (let (Info-history) ; Don't add intermediate nodes to the history.
+        (let ((old-history Info-history))
           (while (Info-no-error
                   (Info-last-menu-item)
                   ;; If we go down a menu item, go to the end of the node
                   ;; so we can scroll back through it.
-                  (goto-char (point-max)))))
+                  (goto-char (point-max))))
+          (if Info-history-skip-intermediate-nodes
+              (setq Info-history old-history)))
         (recenter -1))
        ((and (Info-no-error (Info-extract-pointer "prev"))
              (not (equal (Info-extract-pointer "up")
                          (Info-extract-pointer "prev"))))
         (Info-no-error (Info-prev))
         (goto-char (point-max))
-        (let (Info-history) ; Don't add intermediate nodes to the history.
+        (let ((old-history Info-history))
           (while (Info-no-error
                   (Info-last-menu-item)
                   ;; If we go down a menu item, go to the end of the node
                   ;; so we can scroll back through it.
-                  (goto-char (point-max)))))
+                  (goto-char (point-max))))
+          (if Info-history-skip-intermediate-nodes
+              (setq Info-history old-history)))
         (recenter -1))
        ((Info-no-error (Info-up t))
         (goto-char (point-min))
index d9ac587..cccf65b 100644 (file)
@@ -1139,7 +1139,8 @@ system which uses fontsets)."
        (insert "Fontset-Name\t\t\t\t\t\t  WDxHT Style\n")
        (insert "------------\t\t\t\t\t\t  ----- -----\n")
        (dolist (fontset (fontset-list))
-         (print-fontset fontset t)))
+         (print-fontset fontset t)
+         (insert "\n")))
       (help-print-return-message))))
 
 ;;;###autoload
index 7d75bf2..9ce2221 100644 (file)
@@ -5,7 +5,7 @@
 \f
 ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
 ;;;;;;  5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;;  "play/5x5.el" (19968 28627))
+;;;;;;  "play/5x5.el" (19973 21789))
 ;;; Generated autoloads from play/5x5.el
 
 (autoload '5x5 "5x5" "\
@@ -68,7 +68,7 @@ should return a grid vector array that is the new solution.
 ;;;***
 \f
 ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/ada-mode.el
 
 (autoload 'ada-add-extensions "ada-mode" "\
@@ -88,7 +88,7 @@ Ada mode is the major mode for editing Ada code.
 ;;;***
 \f
 ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from progmodes/ada-stmt.el
 
 (autoload 'ada-header "ada-stmt" "\
@@ -99,7 +99,7 @@ Insert a descriptive header at the top of the file.
 ;;;***
 \f
 ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/ada-xref.el
 
 (autoload 'ada-find-file "ada-xref" "\
@@ -114,7 +114,7 @@ Completion is available.
 ;;;;;;  add-change-log-entry-other-window add-change-log-entry find-change-log
 ;;;;;;  prompt-for-change-log-name add-log-mailing-address add-log-full-name
 ;;;;;;  add-log-current-defun-function) "add-log" "vc/add-log.el"
-;;;;;;  (20033 22846))
+;;;;;;  (20032 1418))
 ;;; Generated autoloads from vc/add-log.el
 
 (put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -253,7 +253,7 @@ old-style time formats for entries are supported.
 \f
 ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice
 ;;;;;;  ad-enable-advice ad-default-compilation-action ad-redefinition-action)
-;;;;;;  "advice" "emacs-lisp/advice.el" (19931 11784))
+;;;;;;  "advice" "emacs-lisp/advice.el" (19933 8482))
 ;;; Generated autoloads from emacs-lisp/advice.el
 
 (defvar ad-redefinition-action 'warn "\
@@ -398,7 +398,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
 \f
 ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
 ;;;;;;  align-highlight-rule align-current align-entire align-regexp
-;;;;;;  align) "align" "align.el" (19886 45771))
+;;;;;;  align) "align" "align.el" (19888 59421))
 ;;; Generated autoloads from align.el
 
 (autoload 'align "align" "\
@@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
 \f
 ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation
 ;;;;;;  allout-setup allout-auto-activation-helper) "allout" "allout.el"
-;;;;;;  (19988 13913))
+;;;;;;  (20094 18869))
 ;;; Generated autoloads from allout.el
 
 (autoload 'allout-auto-activation-helper "allout" "\
@@ -848,7 +848,7 @@ for details on preparing emacs for automatic allout activation.
 \f
 ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation
 ;;;;;;  allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el"
-;;;;;;  (19988 13913))
+;;;;;;  (19987 30383))
 ;;; Generated autoloads from allout-widgets.el
 
 (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads))))
@@ -907,7 +907,7 @@ outline hot-spot navigation (see `allout-mode').
 ;;;***
 \f
 ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;;  "net/ange-ftp.el" (19977 43600))
+;;;;;;  "net/ange-ftp.el" (19976 62881))
 ;;; Generated autoloads from net/ange-ftp.el
 
 (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -929,7 +929,7 @@ directory, so that Emacs will know its current contents.
 ;;;***
 \f
 ;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;;  "animate" "play/animate.el" (19986 58615))
+;;;;;;  "animate" "play/animate.el" (19985 63781))
 ;;; Generated autoloads from play/animate.el
 
 (autoload 'animate-string "animate" "\
@@ -962,7 +962,7 @@ the buffer *Birthday-Present-for-Name*.
 ;;;***
 \f
 ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;;  "ansi-color" "ansi-color.el" (19854 41422))
+;;;;;;  "ansi-color" "ansi-color.el" (19874 16126))
 ;;; Generated autoloads from ansi-color.el
 
 (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -988,7 +988,7 @@ This is a good function to put in `comint-output-filter-functions'.
 ;;;***
 \f
 ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
-;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (19890 42850))
+;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (19891 13894))
 ;;; Generated autoloads from progmodes/antlr-mode.el
 
 (autoload 'antlr-show-makefile-rules "antlr-mode" "\
@@ -1024,7 +1024,7 @@ Used in `antlr-mode'.  Also a useful function in `java-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el"
-;;;;;;  (19956 37456))
+;;;;;;  (19955 60465))
 ;;; Generated autoloads from calendar/appt.el
 
 (autoload 'appt-add "appt" "\
@@ -1047,7 +1047,7 @@ ARG is positive, otherwise off.
 \f
 ;;;### (autoloads (apropos-documentation apropos-value apropos-library
 ;;;;;;  apropos apropos-documentation-property apropos-command apropos-variable
-;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (19909 7240))
+;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (19910 9778))
 ;;; Generated autoloads from apropos.el
 
 (autoload 'apropos-read-pattern "apropos" "\
@@ -1150,8 +1150,8 @@ Returns list of symbols and documentation found.
 
 ;;;***
 \f
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19990
-;;;;;;  55648))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20064
+;;;;;;  62813))
 ;;; Generated autoloads from arc-mode.el
 
 (autoload 'archive-mode "arc-mode" "\
@@ -1171,7 +1171,7 @@ archive.
 
 ;;;***
 \f
-;;;### (autoloads (array-mode) "array" "array.el" (19845 45374))
+;;;### (autoloads (array-mode) "array" "array.el" (19776 18657))
 ;;; Generated autoloads from array.el
 
 (autoload 'array-mode "array" "\
@@ -1242,8 +1242,8 @@ Entering array mode calls the function `array-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19914
-;;;;;;  25180))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19919
+;;;;;;  55562))
 ;;; Generated autoloads from textmodes/artist.el
 
 (autoload 'artist-mode "artist" "\
@@ -1449,8 +1449,8 @@ Keymap summary
 
 ;;;***
 \f
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19890
-;;;;;;  42850))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19891
+;;;;;;  13894))
 ;;; Generated autoloads from progmodes/asm-mode.el
 
 (autoload 'asm-mode "asm-mode" "\
@@ -1478,7 +1478,7 @@ Special commands:
 ;;;***
 \f
 ;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el"
-;;;;;;  (20062 2656))
+;;;;;;  (20089 62475))
 ;;; Generated autoloads from gnus/auth-source.el
 
 (defvar auth-source-cache-expiry 7200 "\
@@ -1491,7 +1491,7 @@ let-binding.")
 ;;;***
 \f
 ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from autoarg.el
 
 (defvar autoarg-mode nil "\
@@ -1545,7 +1545,7 @@ etc. to supply digit arguments.
 ;;;***
 \f
 ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from progmodes/autoconf.el
 
 (autoload 'autoconf-mode "autoconf" "\
@@ -1556,7 +1556,7 @@ Major mode for editing Autoconf configure.in files.
 ;;;***
 \f
 ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;;  "autoinsert" "autoinsert.el" (19988 13913))
+;;;;;;  "autoinsert" "autoinsert.el" (20064 62818))
 ;;; Generated autoloads from autoinsert.el
 
 (autoload 'auto-insert "autoinsert" "\
@@ -1595,7 +1595,7 @@ insert a template for the file depending on the mode of the buffer.
 \f
 ;;;### (autoloads (batch-update-autoloads update-directory-autoloads
 ;;;;;;  update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
-;;;;;;  (19924 47209))
+;;;;;;  (19926 36440))
 ;;; Generated autoloads from emacs-lisp/autoload.el
 
 (put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1646,7 +1646,7 @@ should be non-nil).
 \f
 ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
 ;;;;;;  auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
-;;;;;;  "autorevert" "autorevert.el" (19878 51661))
+;;;;;;  "autorevert" "autorevert.el" (19877 58520))
 ;;; Generated autoloads from autorevert.el
 
 (autoload 'auto-revert-mode "autorevert" "\
@@ -1727,7 +1727,7 @@ specifies in the mode line.
 ;;;***
 \f
 ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;;  "avoid.el" (19845 45374))
+;;;;;;  "avoid.el" (19874 15752))
 ;;; Generated autoloads from avoid.el
 
 (defvar mouse-avoidance-mode nil "\
@@ -1768,7 +1768,7 @@ definition of \"random distance\".)
 ;;;***
 \f
 ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;;  (20055 29424))
+;;;;;;  (20055 46662))
 ;;; Generated autoloads from battery.el
  (put 'battery-mode-line-string 'risky-local-variable t)
 
@@ -1800,7 +1800,7 @@ seconds.
 ;;;***
 \f
 ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (19981 40664))
+;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (19983 37515))
 ;;; Generated autoloads from emacs-lisp/benchmark.el
 
 (autoload 'benchmark-run "benchmark" "\
@@ -1833,7 +1833,7 @@ For non-interactive use see also `benchmark-run' and
 ;;;***
 \f
 ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
-;;;;;;  "bibtex" "textmodes/bibtex.el" (19997 28887))
+;;;;;;  "bibtex" "textmodes/bibtex.el" (20081 19566))
 ;;; Generated autoloads from textmodes/bibtex.el
 
 (autoload 'bibtex-initialize "bibtex" "\
@@ -1922,7 +1922,7 @@ A prefix arg negates the value of `bibtex-search-entry-globally'.
 ;;;***
 \f
 ;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el"
-;;;;;;  (19863 8742))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from textmodes/bibtex-style.el
 
 (autoload 'bibtex-style-mode "bibtex-style" "\
@@ -1934,7 +1934,7 @@ Major mode for editing BibTeX style files.
 \f
 ;;;### (autoloads (binhex-decode-region binhex-decode-region-external
 ;;;;;;  binhex-decode-region-internal) "binhex" "mail/binhex.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mail/binhex.el
 
 (defconst binhex-begin-line "^:...............................................................$")
@@ -1957,8 +1957,8 @@ Binhex decode region between START and END.
 
 ;;;***
 \f
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from play/blackbox.el
 
 (autoload 'blackbox "blackbox" "\
@@ -2081,7 +2081,7 @@ a reflection.
 ;;;;;;  bookmark-save bookmark-write bookmark-delete bookmark-insert
 ;;;;;;  bookmark-rename bookmark-insert-location bookmark-relocate
 ;;;;;;  bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
-;;;;;;  "bookmark.el" (19998 49767))
+;;;;;;  "bookmark.el" (20064 62825))
 ;;; Generated autoloads from bookmark.el
  (define-key ctl-x-r-map "b" 'bookmark-jump)
  (define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2282,7 +2282,7 @@ Incremental search of bookmarks, hiding the non-matches as we go.
 ;;;;;;  browse-url-at-mouse browse-url-at-point browse-url browse-url-of-region
 ;;;;;;  browse-url-of-dired-file browse-url-of-buffer browse-url-of-file
 ;;;;;;  browse-url-browser-function) "browse-url" "net/browse-url.el"
-;;;;;;  (20048 56149))
+;;;;;;  (20048 22585))
 ;;; Generated autoloads from net/browse-url.el
 
 (defvar browse-url-browser-function 'browse-url-default-browser "\
@@ -2587,8 +2587,8 @@ from `browse-url-elinks-wrapper'.
 
 ;;;***
 \f
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from play/bruce.el
 
 (autoload 'bruce "bruce" "\
@@ -2604,7 +2604,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
 ;;;***
 \f
 ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;;  "bs" "bs.el" (19998 49767))
+;;;;;;  "bs" "bs.el" (19998 18466))
 ;;; Generated autoloads from bs.el
 
 (autoload 'bs-cycle-next "bs" "\
@@ -2644,7 +2644,7 @@ name of buffer configuration.
 
 ;;;***
 \f
-;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19889 21967))
+;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19888 59421))
 ;;; Generated autoloads from play/bubbles.el
 
 (autoload 'bubbles "bubbles" "\
@@ -2666,7 +2666,7 @@ columns on its right towards the left.
 ;;;***
 \f
 ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference"
-;;;;;;  "progmodes/bug-reference.el" (19890 42850))
+;;;;;;  "progmodes/bug-reference.el" (19891 13894))
 ;;; Generated autoloads from progmodes/bug-reference.el
 
 (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format)))))
@@ -2687,7 +2687,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
 ;;;;;;  batch-byte-compile-if-not-done display-call-tree byte-compile
 ;;;;;;  compile-defun byte-compile-file byte-recompile-directory
 ;;;;;;  byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning)
-;;;;;;  "bytecomp" "emacs-lisp/bytecomp.el" (19998 49767))
+;;;;;;  "bytecomp" "emacs-lisp/bytecomp.el" (20084 62230))
 ;;; Generated autoloads from emacs-lisp/bytecomp.el
 (put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
 (put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
@@ -2807,8 +2807,8 @@ and corresponding effects.
 
 ;;;***
 \f
-;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19885
-;;;;;;  24894))
+;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from calendar/cal-china.el
 
 (put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2817,7 +2817,7 @@ and corresponding effects.
 
 ;;;***
 \f
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19885 24894))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19888 59421))
 ;;; Generated autoloads from calendar/cal-dst.el
 
 (put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2829,7 +2829,7 @@ and corresponding effects.
 ;;;***
 \f
 ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;;  (19885 24894))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from calendar/cal-hebrew.el
 
 (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2845,8 +2845,8 @@ from the cursor position.
 \f
 ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
 ;;;;;;  calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
-;;;;;;  full-calc calc calc-dispatch) "calc" "calc/calc.el" (19943
-;;;;;;  25429))
+;;;;;;  full-calc calc calc-dispatch) "calc" "calc/calc.el" (19946
+;;;;;;  35279))
 ;;; Generated autoloads from calc/calc.el
  (define-key ctl-x-map "*" 'calc-dispatch)
 
@@ -2930,8 +2930,8 @@ See Info node `(calc)Defining Functions'.
 
 ;;;***
 \f
-;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from calc/calc-undo.el
 
 (autoload 'calc-undo "calc-undo" "\
@@ -2941,8 +2941,8 @@ See Info node `(calc)Defining Functions'.
 
 ;;;***
 \f
-;;;### (autoloads (calculator) "calculator" "calculator.el" (19931
-;;;;;;  11784))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (19933
+;;;;;;  8482))
 ;;; Generated autoloads from calculator.el
 
 (autoload 'calculator "calculator" "\
@@ -2953,8 +2953,8 @@ See the documentation for `calculator-mode' for more information.
 
 ;;;***
 \f
-;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19956
-;;;;;;  37456))
+;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19958
+;;;;;;  52955))
 ;;; Generated autoloads from calendar/calendar.el
 
 (autoload 'calendar "calendar" "\
@@ -2998,7 +2998,7 @@ This function is suitable for execution in a .emacs file.
 ;;;***
 \f
 ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;;  "gnus/canlock.el" (19845 45374))
+;;;;;;  "gnus/canlock.el" (19776 18657))
 ;;; Generated autoloads from gnus/canlock.el
 
 (autoload 'canlock-insert-header "canlock" "\
@@ -3016,7 +3016,7 @@ it fails.
 ;;;***
 \f
 ;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from progmodes/cap-words.el
 
 (autoload 'capitalized-words-mode "cap-words" "\
@@ -3051,15 +3051,15 @@ Obsoletes `c-forward-into-nomenclature'.
 
 ;;;***
 \f
-;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19845
-;;;;;;  45374))
+;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from progmodes/cc-compat.el
 (put 'c-indent-level 'safe-local-variable 'integerp)
 
 ;;;***
 \f
 ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;;  (20048 56149))
+;;;;;;  (20048 22592))
 ;;; Generated autoloads from progmodes/cc-engine.el
 
 (autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3071,7 +3071,7 @@ Return the syntactic context of the current line.
 \f
 ;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region
 ;;;;;;  c-guess-buffer-no-install c-guess-buffer c-guess-no-install
-;;;;;;  c-guess) "cc-guess" "progmodes/cc-guess.el" (19981 40664))
+;;;;;;  c-guess) "cc-guess" "progmodes/cc-guess.el" (19983 37515))
 ;;; Generated autoloads from progmodes/cc-guess.el
 
 (defvar c-guess-guessed-offsets-alist nil "\
@@ -3171,7 +3171,7 @@ the absolute file name of the file if STYLE-NAME is nil.
 \f
 ;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode
 ;;;;;;  c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;;  (20010 40918))
+;;;;;;  (20075 38050))
 ;;; Generated autoloads from progmodes/cc-mode.el
 
 (autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3348,7 +3348,7 @@ Key bindings:
 ;;;***
 \f
 ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;;  "progmodes/cc-styles.el" (19981 40664))
+;;;;;;  "progmodes/cc-styles.el" (19980 58393))
 ;;; Generated autoloads from progmodes/cc-styles.el
 
 (autoload 'c-set-style "cc-styles" "\
@@ -3399,7 +3399,7 @@ and exists only for compatibility reasons.
 
 ;;;***
 \f
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19997 28887))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19997 49500))
 ;;; Generated autoloads from progmodes/cc-vars.el
 (put 'c-basic-offset 'safe-local-variable 'integerp)
 (put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3409,7 +3409,7 @@ and exists only for compatibility reasons.
 \f
 ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
 ;;;;;;  declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;;  (19943 25429))
+;;;;;;  (19946 35279))
 ;;; Generated autoloads from international/ccl.el
 
 (autoload 'ccl-compile "ccl" "\
@@ -3670,7 +3670,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
 ;;;***
 \f
 ;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el"
-;;;;;;  (19943 25429))
+;;;;;;  (19946 35279))
 ;;; Generated autoloads from emacs-lisp/cconv.el
 
 (autoload 'cconv-closure-convert "cconv" "\
@@ -3684,8 +3684,8 @@ Returns a form where all lambdas don't have any free variables.
 
 ;;;***
 \f
-;;;### (autoloads (cfengine-mode cfengine3-mode) "cfengine" "progmodes/cfengine.el"
-;;;;;;  (19981 40664))
+;;;### (autoloads (cfengine-auto-mode cfengine-mode cfengine3-mode)
+;;;;;;  "cfengine" "progmodes/cfengine.el" (20095 57966))
 ;;; Generated autoloads from progmodes/cfengine.el
 
 (autoload 'cfengine3-mode "cfengine" "\
@@ -3706,10 +3706,16 @@ to the action header.
 
 \(fn)" t nil)
 
+(autoload 'cfengine-auto-mode "cfengine" "\
+Choose between `cfengine-mode' and `cfengine3-mode' depending
+on the buffer contents
+
+\(fn)" nil nil)
+
 ;;;***
 \f
 ;;;### (autoloads (check-declare-directory check-declare-file) "check-declare"
-;;;;;;  "emacs-lisp/check-declare.el" (19906 31087))
+;;;;;;  "emacs-lisp/check-declare.el" (19910 9778))
 ;;; Generated autoloads from emacs-lisp/check-declare.el
 
 (autoload 'check-declare-file "check-declare" "\
@@ -3734,7 +3740,7 @@ Returns non-nil if any false statements are found.
 ;;;;;;  checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer
 ;;;;;;  checkdoc-eval-current-buffer checkdoc-message-interactive
 ;;;;;;  checkdoc-interactive checkdoc checkdoc-list-of-strings-p)
-;;;;;;  "checkdoc" "emacs-lisp/checkdoc.el" (19931 11784))
+;;;;;;  "checkdoc" "emacs-lisp/checkdoc.el" (19933 8482))
 ;;; Generated autoloads from emacs-lisp/checkdoc.el
 (put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp)
 (put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp)
@@ -3929,7 +3935,7 @@ checking of documentation strings.
 \f
 ;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer
 ;;;;;;  encode-hz-region decode-hz-buffer decode-hz-region) "china-util"
-;;;;;;  "language/china-util.el" (19845 45374))
+;;;;;;  "language/china-util.el" (19776 18657))
 ;;; Generated autoloads from language/china-util.el
 
 (autoload 'decode-hz-region "china-util" "\
@@ -3967,7 +3973,7 @@ Encode the text in the current buffer to HZ.
 ;;;***
 \f
 ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;;  "chistory" "chistory.el" (19845 45374))
+;;;;;;  "chistory" "chistory.el" (19776 18657))
 ;;; Generated autoloads from chistory.el
 
 (autoload 'repeat-matching-complex-command "chistory" "\
@@ -4006,7 +4012,7 @@ and runs the normal hook `command-history-hook'.
 
 ;;;***
 \f
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19863 8742))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19875 21674))
 ;;; Generated autoloads from emacs-lisp/cl.el
 
 (defvar custom-print-functions nil "\
@@ -4022,7 +4028,7 @@ a future Emacs interpreter will be able to use it.")
 ;;;***
 \f
 ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;;  (19918 22236))
+;;;;;;  (20079 29647))
 ;;; Generated autoloads from emacs-lisp/cl-indent.el
 
 (autoload 'common-lisp-indent-function "cl-indent" "\
@@ -4101,7 +4107,7 @@ For example, the function `case' has an indent property
 ;;;***
 \f
 ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from progmodes/cmacexp.el
 
 (autoload 'c-macro-expand "cmacexp" "\
@@ -4121,8 +4127,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
 
 ;;;***
 \f
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (19886
-;;;;;;  45771))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20091
+;;;;;;  22439))
 ;;; Generated autoloads from cmuscheme.el
 
 (autoload 'run-scheme "cmuscheme" "\
@@ -4139,11 +4145,10 @@ is run).
 \(Type \\[describe-mode] in the process buffer for a list of commands.)
 
 \(fn CMD)" t nil)
- (add-hook 'same-window-buffer-names (purecopy "*scheme*"))
 
 ;;;***
 \f
-;;;### (autoloads (color-name-to-rgb) "color" "color.el" (19845 45374))
+;;;### (autoloads (color-name-to-rgb) "color" "color.el" (19809 57783))
 ;;; Generated autoloads from color.el
 
 (autoload 'color-name-to-rgb "color" "\
@@ -4165,7 +4170,7 @@ If FRAME cannot display COLOR, return nil.
 ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
 ;;;;;;  comint-redirect-send-command-to-process comint-redirect-send-command
 ;;;;;;  comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
-;;;;;;  (19981 40664))
+;;;;;;  (19990 19020))
 ;;; Generated autoloads from comint.el
 
 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -4260,7 +4265,7 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
 ;;;***
 \f
 ;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from vc/compare-w.el
 
 (autoload 'compare-windows "compare-w" "\
@@ -4297,8 +4302,8 @@ on third call it again advances points to the next difference and so on.
 ;;;;;;  compilation-shell-minor-mode compilation-mode compilation-start
 ;;;;;;  compile compilation-disable-input compile-command compilation-search-path
 ;;;;;;  compilation-ask-about-save compilation-window-height compilation-start-hook
-;;;;;;  compilation-mode-hook) "compile" "progmodes/compile.el" (20051
-;;;;;;  32345))
+;;;;;;  compilation-mode-hook) "compile" "progmodes/compile.el" (20075
+;;;;;;  53770))
 ;;; Generated autoloads from progmodes/compile.el
 
 (defvar compilation-mode-hook nil "\
@@ -4472,7 +4477,7 @@ This is the value of `next-error-function' in Compilation buffers.
 ;;;***
 \f
 ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from completion.el
 
 (defvar dynamic-completion-mode nil "\
@@ -4494,7 +4499,7 @@ Enable dynamic word-completion.
 ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode
 ;;;;;;  conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode
 ;;;;;;  conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/conf-mode.el
 
 (autoload 'conf-mode "conf-mode" "\
@@ -4650,7 +4655,7 @@ For details see `conf-mode'.  Example:
 ;;;***
 \f
 ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;;  "cookie1" "play/cookie1.el" (19845 45374))
+;;;;;;  "cookie1" "play/cookie1.el" (19776 18657))
 ;;; Generated autoloads from play/cookie1.el
 
 (autoload 'cookie "cookie1" "\
@@ -4682,8 +4687,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
 ;;;***
 \f
 ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years
-;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (19845
-;;;;;;  45374))
+;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (19837
+;;;;;;  10808))
 ;;; Generated autoloads from emacs-lisp/copyright.el
 (put 'copyright-at-end-flag 'safe-local-variable 'booleanp)
 (put 'copyright-names-regexp 'safe-local-variable 'stringp)
@@ -4722,7 +4727,7 @@ If FIX is non-nil, run `copyright-fix-years' instead.
 ;;;***
 \f
 ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (19997 56302))
+;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (19997 56452))
 ;;; Generated autoloads from progmodes/cperl-mode.el
 (put 'cperl-indent-level 'safe-local-variable 'integerp)
 (put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4921,7 +4926,7 @@ Run a `perldoc' on the word around point.
 ;;;***
 \f
 ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/cpp.el
 
 (autoload 'cpp-highlight-buffer "cpp" "\
@@ -4940,7 +4945,7 @@ Edit display information for cpp conditionals.
 ;;;***
 \f
 ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emulation/crisp.el
 
 (defvar crisp-mode nil "\
@@ -4964,7 +4969,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise.
 ;;;***
 \f
 ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emacs-lisp/crm.el
 
 (autoload 'completing-read-multiple "crm" "\
@@ -4999,8 +5004,8 @@ INHERIT-INPUT-METHOD.
 
 ;;;***
 \f
-;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19978
-;;;;;;  37530))
+;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19977
+;;;;;;  59938))
 ;;; Generated autoloads from textmodes/css-mode.el
 
 (autoload 'css-mode "css-mode" "\
@@ -5011,7 +5016,7 @@ Major mode to edit Cascading Style Sheets.
 ;;;***
 \f
 ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;;  (19894 39890))
+;;;;;;  (19902 1718))
 ;;; Generated autoloads from emulation/cua-base.el
 
 (defvar cua-mode nil "\
@@ -5070,7 +5075,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
 ;;;;;;  customize-mode customize customize-push-and-save customize-save-variable
 ;;;;;;  customize-set-variable customize-set-value custom-menu-sort-alphabetically
 ;;;;;;  custom-buffer-sort-alphabetically custom-browse-sort-alphabetically)
-;;;;;;  "cus-edit" "cus-edit.el" (20025 8284))
+;;;;;;  "cus-edit" "cus-edit.el" (20091 24120))
 ;;; Generated autoloads from cus-edit.el
 
 (defvar custom-browse-sort-alphabetically nil "\
@@ -5087,7 +5092,6 @@ Whether to sort customization groups alphabetically in Custom buffer.")
 If non-nil, sort each customization group alphabetically in menus.")
 
 (custom-autoload 'custom-menu-sort-alphabetically "cus-edit" t)
- (add-hook 'same-window-regexps (purecopy "\\`\\*Customiz.*\\*\\'"))
 
 (autoload 'customize-set-value "cus-edit" "\
 Set VARIABLE to VALUE, and return VALUE.  VALUE is a Lisp object.
@@ -5164,8 +5168,9 @@ then prompt for the MODE to customize.
 
 (autoload 'customize-group "cus-edit" "\
 Customize GROUP, which must be a customization group.
+If OTHER-WINDOW is non-nil, display in another window.
 
-\(fn &optional GROUP)" t nil)
+\(fn &optional GROUP OTHER-WINDOW)" t nil)
 
 (autoload 'customize-group-other-window "cus-edit" "\
 Customize GROUP, which must be a customization group, in another window.
@@ -5236,10 +5241,12 @@ Customize FACE, which should be a face name or nil.
 If FACE is nil, customize all faces.  If FACE is actually a
 face-alias, customize the face it is aliased to.
 
+If OTHER-WINDOW is non-nil, display in another window.
+
 Interactively, when point is on text which has a face specified,
 suggest to customize that face, if it's customizable.
 
-\(fn &optional FACE)" t nil)
+\(fn &optional FACE OTHER-WINDOW)" t nil)
 
 (autoload 'customize-face-other-window "cus-edit" "\
 Show customization buffer for face FACE in other window.
@@ -5384,8 +5391,8 @@ The format is suitable for use with `easy-menu-define'.
 ;;;***
 \f
 ;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme
-;;;;;;  customize-create-theme) "cus-theme" "cus-theme.el" (20059
-;;;;;;  26455))
+;;;;;;  customize-create-theme) "cus-theme" "cus-theme.el" (20058
+;;;;;;  37090))
 ;;; Generated autoloads from cus-theme.el
 
 (autoload 'customize-create-theme "cus-theme" "\
@@ -5417,7 +5424,7 @@ omitted, a buffer named *Custom Themes* is used.
 ;;;***
 \f
 ;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el"
-;;;;;;  (19863 8742))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from vc/cvs-status.el
 
 (autoload 'cvs-status-mode "cvs-status" "\
@@ -5428,7 +5435,7 @@ Mode used for cvs status output.
 ;;;***
 \f
 ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;;  "cwarn" "progmodes/cwarn.el" (19845 45374))
+;;;;;;  "cwarn" "progmodes/cwarn.el" (19776 18657))
 ;;; Generated autoloads from progmodes/cwarn.el
 
 (autoload 'cwarn-mode "cwarn" "\
@@ -5475,7 +5482,7 @@ See `cwarn-mode' for more information on Cwarn mode.
 \f
 ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
 ;;;;;;  cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from language/cyril-util.el
 
 (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5504,7 +5511,7 @@ If the argument is nil, we return the display table to its standard state.
 ;;;***
 \f
 ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;;  (19989 34789))
+;;;;;;  (19988 51157))
 ;;; Generated autoloads from dabbrev.el
 (put 'dabbrev-case-fold-search 'risky-local-variable t)
 (put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5551,7 +5558,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
 ;;;***
 \f
 ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from cedet/data-debug.el
 
 (autoload 'data-debug-new-buffer "data-debug" "\
@@ -5561,8 +5568,8 @@ Create a new data-debug buffer with NAME.
 
 ;;;***
 \f
-;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (19931
-;;;;;;  11784))
+;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20095
+;;;;;;  57966))
 ;;; Generated autoloads from net/dbus.el
 
 (autoload 'dbus-handle-event "dbus" "\
@@ -5575,8 +5582,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message.
 
 ;;;***
 \f
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19890
-;;;;;;  42850))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19891
+;;;;;;  13894))
 ;;; Generated autoloads from progmodes/dcl-mode.el
 
 (autoload 'dcl-mode "dcl-mode" "\
@@ -5703,7 +5710,7 @@ There is some minimal font-lock support (see vars
 ;;;***
 \f
 ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;;  "emacs-lisp/debug.el" (20051 32345))
+;;;;;;  "emacs-lisp/debug.el" (20089 62475))
 ;;; Generated autoloads from emacs-lisp/debug.el
 
 (setq debugger 'debug)
@@ -5747,7 +5754,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
 ;;;***
 \f
 ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;;  (19889 21967))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from play/decipher.el
 
 (autoload 'decipher "decipher" "\
@@ -5776,8 +5783,8 @@ The most useful commands are:
 ;;;***
 \f
 ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (19886
-;;;;;;  45771))
+;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from delim-col.el
 
 (autoload 'delimit-columns-customize "delim-col" "\
@@ -5801,8 +5808,8 @@ START and END delimits the corners of text rectangle.
 
 ;;;***
 \f
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19965
-;;;;;;  52428))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19964
+;;;;;;  53371))
 ;;; Generated autoloads from progmodes/delphi.el
 
 (autoload 'delphi-mode "delphi" "\
@@ -5853,8 +5860,8 @@ with no args, if that value is non-nil.
 
 ;;;***
 \f
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from delsel.el
 
 (defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5883,7 +5890,7 @@ any selection.
 ;;;***
 \f
 ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;;  "derived" "emacs-lisp/derived.el" (20054 8529))
+;;;;;;  "derived" "emacs-lisp/derived.el" (20054 26468))
 ;;; Generated autoloads from emacs-lisp/derived.el
 
 (autoload 'define-derived-mode "derived" "\
@@ -5950,7 +5957,7 @@ the first time the mode is used.
 ;;;***
 \f
 ;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;;  "descr-text.el" (19886 45771))
+;;;;;;  "descr-text.el" (19888 59421))
 ;;; Generated autoloads from descr-text.el
 
 (autoload 'describe-text-properties "descr-text" "\
@@ -5978,7 +5985,7 @@ as well as widgets, buttons, overlays, and text properties.
 ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
 ;;;;;;  desktop-load-default desktop-read desktop-remove desktop-save
 ;;;;;;  desktop-clear desktop-locals-to-save desktop-save-mode) "desktop"
-;;;;;;  "desktop.el" (19886 45771))
+;;;;;;  "desktop.el" (19888 59421))
 ;;; Generated autoloads from desktop.el
 
 (defvar desktop-save-mode nil "\
@@ -6162,7 +6169,7 @@ Revert to the last loaded desktop.
 \f
 ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
 ;;;;;;  gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
-;;;;;;  "deuglify" "gnus/deuglify.el" (19845 45374))
+;;;;;;  "deuglify" "gnus/deuglify.el" (19776 18657))
 ;;; Generated autoloads from gnus/deuglify.el
 
 (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -6195,7 +6202,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
 ;;;***
 \f
 ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;;  "calendar/diary-lib.el" (19975 1875))
+;;;;;;  "calendar/diary-lib.el" (19974 43253))
 ;;; Generated autoloads from calendar/diary-lib.el
 
 (autoload 'diary "diary-lib" "\
@@ -6238,7 +6245,7 @@ Major mode for editing the diary file.
 ;;;***
 \f
 ;;;### (autoloads (diff-buffer-with-file diff-backup diff diff-command
-;;;;;;  diff-switches) "diff" "vc/diff.el" (19999 41597))
+;;;;;;  diff-switches) "diff" "vc/diff.el" (20001 58878))
 ;;; Generated autoloads from vc/diff.el
 
 (defvar diff-switches (purecopy "-c") "\
@@ -6282,7 +6289,7 @@ This requires the external program `diff' to be in your `exec-path'.
 ;;;***
 \f
 ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el"
-;;;;;;  (19930 13389))
+;;;;;;  (19929 25102))
 ;;; Generated autoloads from vc/diff-mode.el
 
 (autoload 'diff-mode "diff-mode" "\
@@ -6310,7 +6317,7 @@ Minor mode for viewing/editing context diffs.
 
 ;;;***
 \f
-;;;### (autoloads (dig) "dig" "net/dig.el" (19845 45374))
+;;;### (autoloads (dig) "dig" "net/dig.el" (19776 18657))
 ;;; Generated autoloads from net/dig.el
 
 (autoload 'dig "dig" "\
@@ -6322,7 +6329,7 @@ Optional arguments are passed to `dig-invoke'.
 ;;;***
 \f
 ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window
-;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20045 30688))
+;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20087 36265))
 ;;; Generated autoloads from dired.el
 
 (defvar dired-listing-switches (purecopy "-al") "\
@@ -6444,7 +6451,7 @@ Keybindings:
 ;;;***
 \f
 ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from dirtrack.el
 
 (autoload 'dirtrack-mode "dirtrack" "\
@@ -6470,8 +6477,8 @@ function `dirtrack-debug-mode' to turn on debugging output.
 
 ;;;***
 \f
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19931
-;;;;;;  11784))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19933
+;;;;;;  8482))
 ;;; Generated autoloads from emacs-lisp/disass.el
 
 (autoload 'disassemble "disass" "\
@@ -6490,7 +6497,7 @@ redefine OBJECT if it is a symbol.
 ;;;;;;  standard-display-g1 standard-display-ascii standard-display-default
 ;;;;;;  standard-display-8bit describe-current-display-table describe-display-table
 ;;;;;;  set-display-table-slot display-table-slot make-display-table)
-;;;;;;  "disp-table" "disp-table.el" (19984 16846))
+;;;;;;  "disp-table" "disp-table.el" (19983 37515))
 ;;; Generated autoloads from disp-table.el
 
 (autoload 'make-display-table "disp-table" "\
@@ -6612,7 +6619,7 @@ in `.emacs'.
 ;;;***
 \f
 ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from play/dissociate.el
 
 (autoload 'dissociated-press "dissociate" "\
@@ -6628,7 +6635,7 @@ Default is 2.
 
 ;;;***
 \f
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19886 45771))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19888 59421))
 ;;; Generated autoloads from dnd.el
 
 (defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\
@@ -6649,7 +6656,7 @@ if some action was made, or nil if the URL is ignored.")
 ;;;***
 \f
 ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
-;;;;;;  "textmodes/dns-mode.el" (19845 45374))
+;;;;;;  "textmodes/dns-mode.el" (19776 18657))
 ;;; Generated autoloads from textmodes/dns-mode.el
 
 (autoload 'dns-mode "dns-mode" "\
@@ -6673,8 +6680,8 @@ Locate SOA record and increment the serial field.
 ;;;***
 \f
 ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe
-;;;;;;  doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20002
-;;;;;;  46800))
+;;;;;;  doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20006
+;;;;;;  60553))
 ;;; Generated autoloads from doc-view.el
 
 (autoload 'doc-view-mode-p "doc-view" "\
@@ -6717,7 +6724,7 @@ See the command `doc-view-mode' for more information on this mode.
 
 ;;;***
 \f
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (19890 42850))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20077 4821))
 ;;; Generated autoloads from play/doctor.el
 
 (autoload 'doctor "doctor" "\
@@ -6727,7 +6734,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
 
 ;;;***
 \f
-;;;### (autoloads (double-mode) "double" "double.el" (19845 45374))
+;;;### (autoloads (double-mode) "double" "double.el" (19776 18657))
 ;;; Generated autoloads from double.el
 
 (autoload 'double-mode "double" "\
@@ -6742,7 +6749,7 @@ when pressed twice.  See variable `double-map' for details.
 
 ;;;***
 \f
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19845 45374))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19776 18657))
 ;;; Generated autoloads from play/dunnet.el
 
 (autoload 'dunnet "dunnet" "\
@@ -6754,7 +6761,7 @@ Switch to *dungeon* buffer and start game.
 \f
 ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
 ;;;;;;  define-globalized-minor-mode define-minor-mode) "easy-mmode"
-;;;;;;  "emacs-lisp/easy-mmode.el" (19845 45374))
+;;;;;;  "emacs-lisp/easy-mmode.el" (19776 18657))
 ;;; Generated autoloads from emacs-lisp/easy-mmode.el
 
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
@@ -6864,8 +6871,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
 ;;;***
 \f
 ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19845
-;;;;;;  45374))
+;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from emacs-lisp/easymenu.el
 
 (autoload 'easy-menu-define "easymenu" "\
@@ -7019,7 +7026,7 @@ To implement dynamic menus, either call this from
 ;;;;;;  ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer
 ;;;;;;  ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer
 ;;;;;;  ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
-;;;;;;  "progmodes/ebnf2ps.el" (19845 45374))
+;;;;;;  "progmodes/ebnf2ps.el" (19874 14841))
 ;;; Generated autoloads from progmodes/ebnf2ps.el
 
 (autoload 'ebnf-customize "ebnf2ps" "\
@@ -7293,8 +7300,8 @@ See `ebnf-style-database' documentation.
 ;;;;;;  ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition
 ;;;;;;  ebrowse-tags-view-definition ebrowse-tags-find-declaration
 ;;;;;;  ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree
-;;;;;;  ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (19890
-;;;;;;  42850))
+;;;;;;  ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (19891
+;;;;;;  13894))
 ;;; Generated autoloads from progmodes/ebrowse.el
 
 (autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7443,7 +7450,7 @@ Display statistics for a class tree.
 ;;;***
 \f
 ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 15752))
 ;;; Generated autoloads from ebuff-menu.el
 
 (autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7468,7 +7475,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
 ;;;***
 \f
 ;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;;  "echistory.el" (19886 45771))
+;;;;;;  "echistory.el" (19888 59421))
 ;;; Generated autoloads from echistory.el
 
 (autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7480,7 +7487,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
 ;;;***
 \f
 ;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20090 40643))
 ;;; Generated autoloads from gnus/ecomplete.el
 
 (autoload 'ecomplete-setup "ecomplete" "\
@@ -7490,7 +7497,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
 
 ;;;***
 \f
-;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19914 25180))
+;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19919 55562))
 ;;; Generated autoloads from cedet/ede.el
 
 (defvar global-ede-mode nil "\
@@ -7516,7 +7523,7 @@ an EDE controlled project.
 \f
 ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
 ;;;;;;  edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
-;;;;;;  "emacs-lisp/edebug.el" (20050 11479))
+;;;;;;  "emacs-lisp/edebug.el" (20049 17052))
 ;;; Generated autoloads from emacs-lisp/edebug.el
 
 (defvar edebug-all-defs nil "\
@@ -7589,7 +7596,7 @@ Toggle edebugging of all forms.
 ;;;;;;  ediff-merge-directories-with-ancestor ediff-merge-directories
 ;;;;;;  ediff-directories3 ediff-directory-revisions ediff-directories
 ;;;;;;  ediff-buffers3 ediff-buffers ediff-backup ediff-current-file
-;;;;;;  ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19996 8027))
+;;;;;;  ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19995 14181))
 ;;; Generated autoloads from vc/ediff.el
 
 (autoload 'ediff-files "ediff" "\
@@ -7821,7 +7828,7 @@ With optional NODE, goes to that node.
 ;;;***
 \f
 ;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from vc/ediff-help.el
 
 (autoload 'ediff-customize "ediff-help" "\
@@ -7832,7 +7839,7 @@ With optional NODE, goes to that node.
 ;;;***
 \f
 ;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19799 6822))
 ;;; Generated autoloads from vc/ediff-mult.el
 
 (autoload 'ediff-show-registry "ediff-mult" "\
@@ -7845,7 +7852,7 @@ Display Ediff's registry.
 ;;;***
 \f
 ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;;  "ediff-util" "vc/ediff-util.el" (19981 40664))
+;;;;;;  "ediff-util" "vc/ediff-util.el" (19983 37515))
 ;;; Generated autoloads from vc/ediff-util.el
 
 (autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7866,7 +7873,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see.
 \f
 ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
 ;;;;;;  edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from edmacro.el
 
 (autoload 'edit-kbd-macro "edmacro" "\
@@ -7915,7 +7922,7 @@ or nil, use a compact 80-column format.
 ;;;***
 \f
 ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;;  "emulation/edt.el" (19845 45374))
+;;;;;;  "emulation/edt.el" (19776 18657))
 ;;; Generated autoloads from emulation/edt.el
 
 (autoload 'edt-set-scroll-margins "edt" "\
@@ -7933,7 +7940,7 @@ Turn on EDT Emulation.
 ;;;***
 \f
 ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;;  (19865 50420))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from ehelp.el
 
 (autoload 'with-electric-help "ehelp" "\
@@ -7970,7 +7977,7 @@ BUFFER is put back into its original major mode.
 ;;;***
 \f
 ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (19845 45374))
+;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (19776 18657))
 ;;; Generated autoloads from emacs-lisp/eldoc.el
 
 (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\
@@ -8014,7 +8021,7 @@ Emacs Lisp mode) that support ElDoc.")
 ;;;***
 \f
 ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode)
-;;;;;;  "electric" "electric.el" (19886 45771))
+;;;;;;  "electric" "electric.el" (19888 59421))
 ;;; Generated autoloads from electric.el
 
 (defvar electric-indent-chars '(10) "\
@@ -8065,8 +8072,8 @@ Automatically insert newlines around some chars.
 
 ;;;***
 \f
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from elide-head.el
 
 (autoload 'elide-head "elide-head" "\
@@ -8083,7 +8090,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
 \f
 ;;;### (autoloads (elint-initialize elint-defun elint-current-buffer
 ;;;;;;  elint-directory elint-file) "elint" "emacs-lisp/elint.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19786 56076))
 ;;; Generated autoloads from emacs-lisp/elint.el
 
 (autoload 'elint-file "elint" "\
@@ -8119,8 +8126,8 @@ optional prefix argument REINIT is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (19981
-;;;;;;  40664))
+;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (19983
+;;;;;;  37515))
 ;;; Generated autoloads from emacs-lisp/elp.el
 
 (autoload 'elp-instrument-function "elp" "\
@@ -8155,7 +8162,7 @@ displayed.
 ;;;***
 \f
 ;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el"
-;;;;;;  (19988 13913))
+;;;;;;  (19987 11344))
 ;;; Generated autoloads from emacs-lock.el
 
 (autoload 'emacs-lock-mode "emacs-lock" "\
@@ -8180,8 +8187,8 @@ Other values are interpreted as usual.
 
 ;;;***
 \f
-;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
-;;;;;;  (19978 37530))
+;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug)
+;;;;;;  "emacsbug" "mail/emacsbug.el" (20094 5175))
 ;;; Generated autoloads from mail/emacsbug.el
 
 (autoload 'report-emacs-bug "emacsbug" "\
@@ -8190,13 +8197,19 @@ Prompts for bug subject.  Leaves you in a mail buffer.
 
 \(fn TOPIC &optional RECENT-KEYS)" t nil)
 
+(autoload 'report-emacs-bug-query-existing-bugs "emacsbug" "\
+Query for KEYWORDS at `report-emacs-bug-tracker-url', and return the result.
+The result is an alist with items of the form (URL SUBJECT NO).
+
+\(fn KEYWORDS)" t nil)
+
 ;;;***
 \f
 ;;;### (autoloads (emerge-merge-directories emerge-revisions-with-ancestor
 ;;;;;;  emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote
 ;;;;;;  emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor
 ;;;;;;  emerge-buffers emerge-files-with-ancestor emerge-files) "emerge"
-;;;;;;  "vc/emerge.el" (19845 45374))
+;;;;;;  "vc/emerge.el" (19874 15752))
 ;;; Generated autoloads from vc/emerge.el
 
 (autoload 'emerge-files "emerge" "\
@@ -8257,7 +8270,7 @@ Emerge two RCS revisions of a file, with another revision as ancestor.
 ;;;***
 \f
 ;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;;  "enriched" "textmodes/enriched.el" (19845 45374))
+;;;;;;  "enriched" "textmodes/enriched.el" (19797 54173))
 ;;; Generated autoloads from textmodes/enriched.el
 
 (autoload 'enriched-mode "enriched" "\
@@ -8292,8 +8305,8 @@ Commands:
 ;;;;;;  epa-sign-region epa-verify-cleartext-in-region epa-verify-region
 ;;;;;;  epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file
 ;;;;;;  epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys
-;;;;;;  epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20042
-;;;;;;  17367))
+;;;;;;  epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20087
+;;;;;;  36265))
 ;;; Generated autoloads from epa.el
 
 (autoload 'epa-list-keys "epa" "\
@@ -8471,7 +8484,7 @@ Insert selected KEYS after the point.
 ;;;***
 \f
 ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
-;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19865 50420))
+;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19875 21674))
 ;;; Generated autoloads from epa-dired.el
 
 (autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8497,7 +8510,7 @@ Encrypt marked files.
 ;;;***
 \f
 ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
-;;;;;;  "epa-file" "epa-file.el" (20038 20303))
+;;;;;;  "epa-file" "epa-file.el" (20045 40021))
 ;;; Generated autoloads from epa-file.el
 
 (autoload 'epa-file-handler "epa-file" "\
@@ -8519,7 +8532,7 @@ Encrypt marked files.
 \f
 ;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt
 ;;;;;;  epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode)
-;;;;;;  "epa-mail" "epa-mail.el" (20043 38232))
+;;;;;;  "epa-mail" "epa-mail.el" (20045 40021))
 ;;; Generated autoloads from epa-mail.el
 
 (autoload 'epa-mail-mode "epa-mail" "\
@@ -8583,7 +8596,7 @@ Minor mode to hook EasyPG into Mail mode.
 
 ;;;***
 \f
-;;;### (autoloads (epg-make-context) "epg" "epg.el" (20031 47065))
+;;;### (autoloads (epg-make-context) "epg" "epg.el" (20031 63297))
 ;;; Generated autoloads from epg.el
 
 (autoload 'epg-make-context "epg" "\
@@ -8594,7 +8607,7 @@ Return a context object.
 ;;;***
 \f
 ;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration)
-;;;;;;  "epg-config" "epg-config.el" (19845 45374))
+;;;;;;  "epg-config" "epg-config.el" (19776 18657))
 ;;; Generated autoloads from epg-config.el
 
 (autoload 'epg-configuration "epg-config" "\
@@ -8615,7 +8628,7 @@ Look at CONFIG and try to expand GROUP.
 ;;;***
 \f
 ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
-;;;;;;  "erc/erc.el" (19986 58615))
+;;;;;;  "erc/erc.el" (20030 53460))
 ;;; Generated autoloads from erc/erc.el
 
 (autoload 'erc-select-read-args "erc" "\
@@ -8657,33 +8670,33 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19845
-;;;;;;  45374))
+;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from erc/erc-autoaway.el
  (autoload 'erc-autoaway-mode "erc-autoaway")
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-button" "erc/erc-button.el" (19895 48172))
+;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20092 63497))
 ;;; Generated autoloads from erc/erc-button.el
  (autoload 'erc-button-mode "erc-button" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19845 45374))
+;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-capab.el
  (autoload 'erc-capab-identify-mode "erc-capab" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19845 45374))
+;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-compat.el
  (autoload 'erc-define-minor-mode "erc-compat")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
-;;;;;;  "erc-dcc" "erc/erc-dcc.el" (19895 48172))
+;;;;;;  "erc-dcc" "erc/erc-dcc.el" (19902 1718))
 ;;; Generated autoloads from erc/erc-dcc.el
  (autoload 'erc-dcc-mode "erc-dcc")
 
@@ -8716,7 +8729,7 @@ that subcommand.
 ;;;;;;  erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list
 ;;;;;;  erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action
 ;;;;;;  erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-ezbounce.el
 
 (autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8778,8 +8791,8 @@ Add EZBouncer convenience functions to ERC.
 
 ;;;***
 \f
-;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from erc/erc-fill.el
  (autoload 'erc-fill-mode "erc-fill" nil t)
 
@@ -8792,7 +8805,7 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'.
 ;;;***
 \f
 ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd"
-;;;;;;  "erc/erc-identd.el" (19845 45374))
+;;;;;;  "erc/erc-identd.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-identd.el
  (autoload 'erc-identd-mode "erc-identd")
 
@@ -8814,7 +8827,7 @@ system.
 ;;;***
 \f
 ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-imenu.el
 
 (autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8824,20 +8837,20 @@ system.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19845 45374))
+;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-join.el
  (autoload 'erc-autojoin-mode "erc-join" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19845 45374))
+;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19797 54173))
 ;;; Generated autoloads from erc/erc-list.el
  (autoload 'erc-list-mode "erc-list")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
-;;;;;;  "erc/erc-log.el" (19845 45374))
+;;;;;;  "erc/erc-log.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-log.el
  (autoload 'erc-log-mode "erc-log" nil t)
 
@@ -8869,7 +8882,7 @@ You can save every individual message by putting this function on
 ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host
 ;;;;;;  erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool
 ;;;;;;  erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-match.el
  (autoload 'erc-match-mode "erc-match")
 
@@ -8915,14 +8928,14 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19845 45374))
+;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-menu.el
  (autoload 'erc-menu-mode "erc-menu" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-netsplit.el
  (autoload 'erc-netsplit-mode "erc-netsplit")
 
@@ -8934,7 +8947,7 @@ Show who's gone.
 ;;;***
 \f
 ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks"
-;;;;;;  "erc/erc-networks.el" (19845 45374))
+;;;;;;  "erc/erc-networks.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-networks.el
 
 (autoload 'erc-determine-network "erc-networks" "\
@@ -8952,7 +8965,7 @@ Interactively select a server to connect to using `erc-server-alist'.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify"
-;;;;;;  "erc/erc-notify.el" (19845 45374))
+;;;;;;  "erc/erc-notify.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-notify.el
  (autoload 'erc-notify-mode "erc-notify" nil t)
 
@@ -8970,33 +8983,33 @@ with args, toggle notify status of people.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19845 45374))
+;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-page.el
  (autoload 'erc-page-mode "erc-page")
 
 ;;;***
 \f
 ;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19936
-;;;;;;  52203))
+;;;;;;  25103))
 ;;; Generated autoloads from erc/erc-pcomplete.el
  (autoload 'erc-completion-mode "erc-pcomplete" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19845 45374))
+;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-replace.el
  (autoload 'erc-replace-mode "erc-replace")
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19845 45374))
+;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-ring.el
  (autoload 'erc-ring-mode "erc-ring" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode)
-;;;;;;  "erc-services" "erc/erc-services.el" (19845 45374))
+;;;;;;  "erc-services" "erc/erc-services.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-services.el
  (autoload 'erc-services-mode "erc-services" nil t)
 
@@ -9013,14 +9026,14 @@ When called interactively, read the password using `read-passwd'.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19845 45374))
+;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-sound.el
  (autoload 'erc-sound-mode "erc-sound")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-speedbar.el
 
 (autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -9031,21 +9044,21 @@ This will add a speedbar major display mode.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19845
-;;;;;;  45374))
+;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from erc/erc-spelling.el
  (autoload 'erc-spelling-mode "erc-spelling" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19845 45374))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-stamp.el
  (autoload 'erc-timestamp-mode "erc-stamp" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 14841))
 ;;; Generated autoloads from erc/erc-track.el
 
 (defvar erc-track-minor-mode nil "\
@@ -9068,7 +9081,7 @@ module, otherwise the keybindings will not do anything useful.
 ;;;***
 \f
 ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size)
-;;;;;;  "erc-truncate" "erc/erc-truncate.el" (19845 45374))
+;;;;;;  "erc-truncate" "erc/erc-truncate.el" (19776 18657))
 ;;; Generated autoloads from erc/erc-truncate.el
  (autoload 'erc-truncate-mode "erc-truncate" nil t)
 
@@ -9088,7 +9101,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'.
 ;;;***
 \f
 ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from erc/erc-xdcc.el
  (autoload 'erc-xdcc-mode "erc-xdcc")
 
@@ -9101,7 +9114,7 @@ Add a file to `erc-xdcc-files'.
 \f
 ;;;### (autoloads (ert-describe-test ert-run-tests-interactively
 ;;;;;;  ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest)
-;;;;;;  "ert" "emacs-lisp/ert.el" (19846 36966))
+;;;;;;  "ert" "emacs-lisp/ert.el" (19911 63128))
 ;;; Generated autoloads from emacs-lisp/ert.el
 
 (autoload 'ert-deftest "ert" "\
@@ -9171,7 +9184,7 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test).
 ;;;***
 \f
 ;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emacs-lisp/ert-x.el
 
 (put 'ert-with-test-buffer 'lisp-indent-function 1)
@@ -9183,8 +9196,8 @@ Kill all test buffers that are still live.
 
 ;;;***
 \f
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19890
-;;;;;;  42850))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19891
+;;;;;;  13894))
 ;;; Generated autoloads from eshell/esh-mode.el
 
 (autoload 'eshell-mode "esh-mode" "\
@@ -9197,7 +9210,7 @@ Emacs shell interactive mode.
 ;;;***
 \f
 ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell"
-;;;;;;  "eshell/eshell.el" (19845 45374))
+;;;;;;  "eshell/eshell.el" (19874 14841))
 ;;; Generated autoloads from eshell/eshell.el
 
 (autoload 'eshell "eshell" "\
@@ -9238,7 +9251,7 @@ corresponding to a successful execution.
 ;;;;;;  visit-tags-table tags-table-mode find-tag-default-function
 ;;;;;;  find-tag-hook tags-add-tables tags-compression-info-list
 ;;;;;;  tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el"
-;;;;;;  (20007 64734))
+;;;;;;  (20084 62230))
 ;;; Generated autoloads from progmodes/etags.el
 
 (defvar tags-file-name nil "\
@@ -9556,7 +9569,7 @@ for \\[find-tag] (which see).
 ;;;;;;  ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer
 ;;;;;;  ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer
 ;;;;;;  setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from language/ethio-util.el
 
 (autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9726,7 +9739,7 @@ With ARG, insert that many delimiters.
 \f
 ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
 ;;;;;;  eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from net/eudc.el
 
 (autoload 'eudc-set-server "eudc" "\
@@ -9782,7 +9795,7 @@ This does nothing except loading eudc by autoload side-effect.
 \f
 ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
 ;;;;;;  eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
-;;;;;;  "eudc-bob" "net/eudc-bob.el" (19845 45374))
+;;;;;;  "eudc-bob" "net/eudc-bob.el" (19776 18657))
 ;;; Generated autoloads from net/eudc-bob.el
 
 (autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9818,7 +9831,7 @@ Display a button for the JPEG DATA.
 ;;;***
 \f
 ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;;  "eudc-export" "net/eudc-export.el" (19931 11784))
+;;;;;;  "eudc-export" "net/eudc-export.el" (19933 8482))
 ;;; Generated autoloads from net/eudc-export.el
 
 (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9835,7 +9848,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
 ;;;***
 \f
 ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from net/eudc-hotlist.el
 
 (autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9845,8 +9858,8 @@ Edit the hotlist of directory servers in a specialized buffer.
 
 ;;;***
 \f
-;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19874
+;;;;;;  14841))
 ;;; Generated autoloads from emacs-lisp/ewoc.el
 
 (autoload 'ewoc-create "ewoc" "\
@@ -9875,7 +9888,7 @@ fourth arg NOSEP non-nil inhibits this.
 ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p
 ;;;;;;  executable-self-display executable-set-magic executable-interpret
 ;;;;;;  executable-command-find-posix-p) "executable" "progmodes/executable.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/executable.el
 
 (autoload 'executable-command-find-posix-p "executable" "\
@@ -9918,7 +9931,7 @@ file modes.
 \f
 ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
 ;;;;;;  expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from expand.el
 
 (autoload 'expand-add-abbrevs "expand" "\
@@ -9967,7 +9980,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
 
 ;;;***
 \f
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (19975 1875))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20089 62475))
 ;;; Generated autoloads from progmodes/f90.el
 
 (autoload 'f90-mode "f90" "\
@@ -10037,8 +10050,8 @@ with no args, if that value is non-nil.
 ;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set
 ;;;;;;  buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase
 ;;;;;;  text-scale-set face-remap-set-base face-remap-reset-base
-;;;;;;  face-remap-add-relative) "face-remap" "face-remap.el" (19845
-;;;;;;  45374))
+;;;;;;  face-remap-add-relative) "face-remap" "face-remap.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from face-remap.el
 
 (autoload 'face-remap-add-relative "face-remap" "\
@@ -10178,7 +10191,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'.
 \f
 ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
 ;;;;;;  feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
-;;;;;;  feedmail-send-it) "feedmail" "mail/feedmail.el" (19986 58615))
+;;;;;;  feedmail-send-it) "feedmail" "mail/feedmail.el" (19987 9666))
 ;;; Generated autoloads from mail/feedmail.el
 
 (autoload 'feedmail-send-it "feedmail" "\
@@ -10232,7 +10245,7 @@ you can set `feedmail-queue-reminder-alist' to nil.
 ;;;***
 \f
 ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (19845 45374))
+;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (19776 18657))
 ;;; Generated autoloads from ffap.el
 
 (autoload 'ffap-next "ffap" "\
@@ -10296,7 +10309,7 @@ Evaluate the forms in variable `ffap-bindings'.
 ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively
 ;;;;;;  file-cache-add-directory-using-locate file-cache-add-directory-using-find
 ;;;;;;  file-cache-add-file file-cache-add-directory-list file-cache-add-directory)
-;;;;;;  "filecache" "filecache.el" (19845 45374))
+;;;;;;  "filecache" "filecache.el" (19776 18657))
 ;;; Generated autoloads from filecache.el
 
 (autoload 'file-cache-add-directory "filecache" "\
@@ -10356,7 +10369,7 @@ the name is considered already unique; only the second substitution
 ;;;;;;  copy-file-locals-to-dir-locals delete-dir-local-variable
 ;;;;;;  add-dir-local-variable delete-file-local-variable-prop-line
 ;;;;;;  add-file-local-variable-prop-line delete-file-local-variable
-;;;;;;  add-file-local-variable) "files-x" "files-x.el" (19886 45771))
+;;;;;;  add-file-local-variable) "files-x" "files-x.el" (19888 59421))
 ;;; Generated autoloads from files-x.el
 
 (autoload 'add-file-local-variable "files-x" "\
@@ -10421,8 +10434,8 @@ Copy directory-local variables to the -*- line.
 
 ;;;***
 \f
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from filesets.el
 
 (autoload 'filesets-init "filesets" "\
@@ -10433,7 +10446,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu.
 
 ;;;***
 \f
-;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19845 45374))
+;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19776 18657))
 ;;; Generated autoloads from find-cmd.el
 
 (autoload 'find-cmd "find-cmd" "\
@@ -10453,7 +10466,7 @@ result is a string that should be ready for the command line.
 ;;;***
 \f
 ;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired"
-;;;;;;  "find-dired.el" (19980 19797))
+;;;;;;  "find-dired.el" (19980 46525))
 ;;; Generated autoloads from find-dired.el
 
 (autoload 'find-dired "find-dired" "\
@@ -10493,7 +10506,7 @@ use in place of \"-ls\" as the final argument.
 \f
 ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
 ;;;;;;  ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 14841))
 ;;; Generated autoloads from find-file.el
 
 (defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\
@@ -10587,7 +10600,7 @@ Visit the file you click on in another window.
 ;;;;;;  find-variable find-variable-noselect find-function-other-frame
 ;;;;;;  find-function-other-window find-function find-function-noselect
 ;;;;;;  find-function-search-for-symbol find-library) "find-func"
-;;;;;;  "emacs-lisp/find-func.el" (20050 11479))
+;;;;;;  "emacs-lisp/find-func.el" (20071 33316))
 ;;; Generated autoloads from emacs-lisp/find-func.el
 
 (autoload 'find-library "find-func" "\
@@ -10746,7 +10759,7 @@ Define some key bindings for the find-function family of functions.
 ;;;***
 \f
 ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (19886 45771))
+;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (19888 59421))
 ;;; Generated autoloads from find-lisp.el
 
 (autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10767,7 +10780,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP.
 ;;;***
 \f
 ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
-;;;;;;  "finder" "finder.el" (19893 19022))
+;;;;;;  "finder" "finder.el" (19892 34767))
 ;;; Generated autoloads from finder.el
 
 (autoload 'finder-list-keywords "finder" "\
@@ -10789,7 +10802,7 @@ Find packages matching a given keyword.
 ;;;***
 \f
 ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;;  "flow-ctrl.el" (19845 45374))
+;;;;;;  "flow-ctrl.el" (19776 18657))
 ;;; Generated autoloads from flow-ctrl.el
 
 (autoload 'enable-flow-control "flow-ctrl" "\
@@ -10811,7 +10824,7 @@ to get the effect of a C-q.
 ;;;***
 \f
 ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/flow-fill.el
 
 (autoload 'fill-flowed-encode "flow-fill" "\
@@ -10827,7 +10840,7 @@ to get the effect of a C-q.
 ;;;***
 \f
 ;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on
-;;;;;;  flymake-mode) "flymake" "progmodes/flymake.el" (19984 16846))
+;;;;;;  flymake-mode) "flymake" "progmodes/flymake.el" (19983 43916))
 ;;; Generated autoloads from progmodes/flymake.el
 
 (autoload 'flymake-mode "flymake" "\
@@ -10856,7 +10869,7 @@ Turn flymake mode off.
 \f
 ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
 ;;;;;;  turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
-;;;;;;  "flyspell" "textmodes/flyspell.el" (19982 3545))
+;;;;;;  "flyspell" "textmodes/flyspell.el" (20076 61048))
 ;;; Generated autoloads from textmodes/flyspell.el
 
 (autoload 'flyspell-prog-mode "flyspell" "\
@@ -10926,7 +10939,7 @@ Flyspell whole buffer.
 \f
 ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
 ;;;;;;  turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;;  (19998 49767))
+;;;;;;  (19998 18685))
 ;;; Generated autoloads from follow.el
 
 (autoload 'turn-on-follow-mode "follow" "\
@@ -10999,8 +11012,8 @@ in your `~/.emacs' file, replacing [f7] by your favourite key:
 
 ;;;***
 \f
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19913
-;;;;;;  4309))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19919
+;;;;;;  55562))
 ;;; Generated autoloads from mail/footnote.el
 
 (autoload 'footnote-mode "footnote" "\
@@ -11014,7 +11027,7 @@ started, play around with the following keys:
 ;;;***
 \f
 ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;;  "forms" "forms.el" (19886 45771))
+;;;;;;  "forms" "forms.el" (19888 59421))
 ;;; Generated autoloads from forms.el
 
 (autoload 'forms-mode "forms" "\
@@ -11051,7 +11064,7 @@ Visit a file in Forms mode in other window.
 ;;;***
 \f
 ;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el"
-;;;;;;  (19956 37456))
+;;;;;;  (19958 52955))
 ;;; Generated autoloads from progmodes/fortran.el
 
 (autoload 'fortran-mode "fortran" "\
@@ -11129,7 +11142,7 @@ with no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
-;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (19931 11784))
+;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (19933 8482))
 ;;; Generated autoloads from play/fortune.el
 
 (autoload 'fortune-add-fortune "fortune" "\
@@ -11178,7 +11191,7 @@ and choose the directory as the fortune-file.
 ;;;***
 \f
 ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
-;;;;;;  (19988 13913))
+;;;;;;  (20076 64499))
 ;;; Generated autoloads from progmodes/gdb-mi.el
 
 (defvar gdb-enable-debug nil "\
@@ -11239,8 +11252,8 @@ detailed description of this mode.
 ;;;***
 \f
 ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (19845
-;;;;;;  45374))
+;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from emacs-lisp/generic.el
 
 (defvar generic-mode-list nil "\
@@ -11317,7 +11330,7 @@ regular expression that can be used as an element of
 ;;;***
 \f
 ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;;  (19906 31087))
+;;;;;;  (19910 9778))
 ;;; Generated autoloads from progmodes/glasses.el
 
 (autoload 'glasses-mode "glasses" "\
@@ -11331,7 +11344,7 @@ at places they belong to.
 \f
 ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error
 ;;;;;;  gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gmm-utils.el
 
 (autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -11386,7 +11399,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
 ;;;***
 \f
 ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20027 50006))
+;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20078 6498))
 ;;; Generated autoloads from gnus/gnus.el
 (when (fboundp 'custom-autoload)
  (custom-autoload 'gnus-select-method "gnus"))
@@ -11439,7 +11452,7 @@ prompt the user for the name of an NNTP server to use.
 ;;;;;;  gnus-agent-get-undownloaded-list gnus-agent-delete-group
 ;;;;;;  gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
 ;;;;;;  gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
-;;;;;;  "gnus/gnus-agent.el" (20048 56149))
+;;;;;;  "gnus/gnus-agent.el" (20078 6498))
 ;;; Generated autoloads from gnus/gnus-agent.el
 
 (autoload 'gnus-unplugged "gnus-agent" "\
@@ -11530,7 +11543,7 @@ If CLEAN, obsolete (ignore).
 ;;;***
 \f
 ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;;  (20050 11479))
+;;;;;;  (20090 40643))
 ;;; Generated autoloads from gnus/gnus-art.el
 
 (autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11541,7 +11554,7 @@ Make the current buffer look like a nice article.
 ;;;***
 \f
 ;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set)
-;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (19845 45374))
+;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (19776 18657))
 ;;; Generated autoloads from gnus/gnus-bookmark.el
 
 (autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11566,8 +11579,8 @@ deletion, or > if it is flagged for displaying.
 \f
 ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group
 ;;;;;;  gnus-cache-generate-nov-databases gnus-cache-generate-active
-;;;;;;  gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19845
-;;;;;;  45374))
+;;;;;;  gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from gnus/gnus-cache.el
 
 (autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11609,7 +11622,7 @@ supported.
 ;;;***
 \f
 ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
-;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (19931 11784))
+;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (19933 8482))
 ;;; Generated autoloads from gnus/gnus-delay.el
 
 (autoload 'gnus-delay-article "gnus-delay" "\
@@ -11645,7 +11658,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
-;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (19845 45374))
+;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (19776 18657))
 ;;; Generated autoloads from gnus/gnus-diary.el
 
 (autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -11661,7 +11674,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gnus-dired.el
 
 (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -11672,7 +11685,7 @@ Convenience method to turn on gnus-dired-mode.
 ;;;***
 \f
 ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;;  (19981 40664))
+;;;;;;  (19983 37515))
 ;;; Generated autoloads from gnus/gnus-draft.el
 
 (autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -11684,8 +11697,8 @@ Reminder user if there are unsent drafts.
 \f
 ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png
 ;;;;;;  gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header
-;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (19980
-;;;;;;  19797))
+;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20089
+;;;;;;  62475))
 ;;; Generated autoloads from gnus/gnus-fun.el
 
 (autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11730,7 +11743,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to
 ;;;***
 \f
 ;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar)
-;;;;;;  "gnus-gravatar" "gnus/gnus-gravatar.el" (19845 45374))
+;;;;;;  "gnus-gravatar" "gnus/gnus-gravatar.el" (19821 48406))
 ;;; Generated autoloads from gnus/gnus-gravatar.el
 
 (autoload 'gnus-treat-from-gravatar "gnus-gravatar" "\
@@ -11748,7 +11761,7 @@ If gravatars are already displayed, remove them.
 ;;;***
 \f
 ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;;  "gnus-group" "gnus/gnus-group.el" (20062 2656))
+;;;;;;  "gnus-group" "gnus/gnus-group.el" (20078 6498))
 ;;; Generated autoloads from gnus/gnus-group.el
 
 (autoload 'gnus-fetch-group "gnus-group" "\
@@ -11766,7 +11779,7 @@ Pop up a frame and enter GROUP.
 ;;;***
 \f
 ;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html"
-;;;;;;  "gnus/gnus-html.el" (20050 11479))
+;;;;;;  "gnus/gnus-html.el" (20049 48506))
 ;;; Generated autoloads from gnus/gnus-html.el
 
 (autoload 'gnus-article-html "gnus-html" "\
@@ -11782,7 +11795,7 @@ Pop up a frame and enter GROUP.
 ;;;***
 \f
 ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gnus-kill.el
 
 (defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -11797,7 +11810,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score
 \f
 ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
 ;;;;;;  turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gnus-ml.el
 
 (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -11822,7 +11835,7 @@ Minor mode for providing mailing-list commands.
 \f
 ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
 ;;;;;;  gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gnus-mlspl.el
 
 (autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -11923,7 +11936,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
 ;;;***
 \f
 ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20055 29424))
+;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20078 6498))
 ;;; Generated autoloads from gnus/gnus-msg.el
 
 (autoload 'gnus-msg-mail "gnus-msg" "\
@@ -11949,7 +11962,7 @@ Like `message-reply'.
 \f
 ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
 ;;;;;;  gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/gnus-picon.el
 
 (autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -11976,7 +11989,7 @@ If picons are already displayed, remove them.
 ;;;;;;  gnus-sorted-nintersection gnus-sorted-range-intersection
 ;;;;;;  gnus-sorted-intersection gnus-intersection gnus-sorted-complement
 ;;;;;;  gnus-sorted-ndifference gnus-sorted-difference) "gnus-range"
-;;;;;;  "gnus/gnus-range.el" (19845 45374))
+;;;;;;  "gnus/gnus-range.el" (19821 48406))
 ;;; Generated autoloads from gnus/gnus-range.el
 
 (autoload 'gnus-sorted-difference "gnus-range" "\
@@ -12044,7 +12057,7 @@ Add NUM into sorted LIST by side effect.
 ;;;***
 \f
 ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (19976 22732))
+;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (19976 39376))
 ;;; Generated autoloads from gnus/gnus-registry.el
 
 (autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -12060,8 +12073,8 @@ Install the registry hooks.
 ;;;***
 \f
 ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19845
-;;;;;;  45374))
+;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from gnus/gnus-sieve.el
 
 (autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -12089,7 +12102,7 @@ See the documentation for these variables and functions for details.
 ;;;***
 \f
 ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;;  (20046 14433))
+;;;;;;  (20076 61048))
 ;;; Generated autoloads from gnus/gnus-spec.el
 
 (autoload 'gnus-update-format "gnus-spec" "\
@@ -12100,7 +12113,7 @@ Update the format specification near point.
 ;;;***
 \f
 ;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el"
-;;;;;;  (19988 13913))
+;;;;;;  (19988 51157))
 ;;; Generated autoloads from gnus/gnus-start.el
 
 (autoload 'gnus-declare-backend "gnus-start" "\
@@ -12111,7 +12124,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
 ;;;***
 \f
 ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
-;;;;;;  (20050 11479))
+;;;;;;  (20094 36595))
 ;;; Generated autoloads from gnus/gnus-sum.el
 
 (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12123,7 +12136,7 @@ BOOKMARK is a bookmark name or a bookmark record.
 ;;;***
 \f
 ;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize)
-;;;;;;  "gnus-sync" "gnus/gnus-sync.el" (19845 45374))
+;;;;;;  "gnus-sync" "gnus/gnus-sync.el" (19874 15752))
 ;;; Generated autoloads from gnus/gnus-sync.el
 
 (autoload 'gnus-sync-initialize "gnus-sync" "\
@@ -12139,7 +12152,7 @@ Install the sync hooks.
 ;;;***
 \f
 ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 15752))
 ;;; Generated autoloads from gnus/gnus-win.el
 
 (autoload 'gnus-add-configuration "gnus-win" "\
@@ -12150,7 +12163,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
 ;;;***
 \f
 ;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el"
-;;;;;;  (20002 46800))
+;;;;;;  (20006 60553))
 ;;; Generated autoloads from net/gnutls.el
 
 (defvar gnutls-min-prime-bits nil "\
@@ -12166,7 +12179,7 @@ A value of nil says to use the default gnutls value.")
 
 ;;;***
 \f
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19889 21967))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19888 59421))
 ;;; Generated autoloads from play/gomoku.el
 
 (autoload 'gomoku "gomoku" "\
@@ -12193,8 +12206,8 @@ Use \\[describe-mode] for more info.
 ;;;***
 \f
 ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address
-;;;;;;  goto-address-at-point) "goto-addr" "net/goto-addr.el" (19845
-;;;;;;  45374))
+;;;;;;  goto-address-at-point) "goto-addr" "net/goto-addr.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from net/goto-addr.el
 
 (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1")
@@ -12233,7 +12246,7 @@ Turn on `goto-address-mode', but only in comments and strings.
 ;;;***
 \f
 ;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve)
-;;;;;;  "gravatar" "gnus/gravatar.el" (19845 45374))
+;;;;;;  "gravatar" "gnus/gravatar.el" (19874 15752))
 ;;; Generated autoloads from gnus/gravatar.el
 
 (autoload 'gravatar-retrieve "gravatar" "\
@@ -12251,7 +12264,7 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
 \f
 ;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults
 ;;;;;;  grep-process-setup grep-setup-hook grep-find-command grep-command
-;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (20050 11479))
+;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (20087 36265))
 ;;; Generated autoloads from progmodes/grep.el
 
 (defvar grep-window-height nil "\
@@ -12284,7 +12297,7 @@ List of hook functions run by `grep-process-setup' (see `run-hooks').")
 
 (custom-autoload 'grep-setup-hook "grep" t)
 
-(defconst grep-regexp-alist '(("^\\(.+?\\)\\(:[        ]*\\)\\([1-9][0-9]*\\)\\2" 1 3) ("^\\(\\(.+?\\):\\([1-9][0-9]*\\):\\).*?\\(\e\\[01;31m\\(?:\e\\[K\\)?\\)\\(.*?\\)\\(\e\\[[0-9]*m\\)" 2 3 ((lambda nil (setq compilation-error-screen-columns nil) (- (match-beginning 4) (match-end 1))) lambda nil (- (match-end 5) (match-end 1) (- (match-end 4) (match-beginning 4)))) nil 1) ("^Binary file \\(.+\\) matches$" 1 nil nil 0 1)) "\
+(defconst grep-regexp-alist '(("^\\(.+?\\)\\(:[        ]*\\)\\([1-9][0-9]*\\)\\2" 1 3 ((lambda nil (when grep-highlight-matches (let* ((beg (match-end 0)) (end (save-excursion (goto-char beg) (line-end-position))) (mbeg (text-property-any beg end 'font-lock-face 'match))) (when mbeg (- mbeg beg))))) lambda nil (when grep-highlight-matches (let* ((beg (match-end 0)) (end (save-excursion (goto-char beg) (line-end-position))) (mbeg (text-property-any beg end 'font-lock-face 'match)) (mend (and mbeg (next-single-property-change mbeg 'font-lock-face nil end)))) (when mend (- mend beg)))))) ("^Binary file \\(.+\\) matches$" 1 nil nil 0 1)) "\
 Regexp used to match grep hits.  See `compilation-error-regexp-alist'.")
 
 (defvar grep-program (purecopy "grep") "\
@@ -12408,7 +12421,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'.
 
 ;;;***
 \f
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (19845 45374))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (19776 18657))
 ;;; Generated autoloads from gs.el
 
 (autoload 'gs-load-image "gs" "\
@@ -12422,7 +12435,7 @@ the form \"WINDOW-ID PIXMAP-ID\".  Value is non-nil if successful.
 ;;;***
 \f
 ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
-;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19988 13913))
+;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20076 64339))
 ;;; Generated autoloads from progmodes/gud.el
 
 (autoload 'gud-gdb "gud" "\
@@ -12485,7 +12498,6 @@ For general information about commands available to control jdb from
 gud, see `gud-mode'.
 
 \(fn COMMAND-LINE)" t nil)
- (add-hook 'same-window-regexps (purecopy "\\*gud-.*\\*\\(\\|<[0-9]+>\\)"))
 
 (autoload 'gdb-script-mode "gud" "\
 Major mode for editing GDB scripts.
@@ -12508,8 +12520,8 @@ Toggle the display of GUD tooltips.
 
 ;;;***
 \f
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19889
-;;;;;;  21967))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from play/handwrite.el
 
 (autoload 'handwrite "handwrite" "\
@@ -12527,7 +12539,7 @@ Variables: `handwrite-linespace'     (default 12)
 ;;;***
 \f
 ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;;  (19981 40664))
+;;;;;;  (19983 37515))
 ;;; Generated autoloads from play/hanoi.el
 
 (autoload 'hanoi "hanoi" "\
@@ -12556,7 +12568,7 @@ to be updated.
 \f
 ;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment
 ;;;;;;  hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment)
-;;;;;;  "hashcash" "mail/hashcash.el" (19845 45374))
+;;;;;;  "hashcash" "mail/hashcash.el" (19776 18657))
 ;;; Generated autoloads from mail/hashcash.el
 
 (autoload 'hashcash-insert-payment "hashcash" "\
@@ -12601,7 +12613,7 @@ Prefix arg sets default accept amount temporarily.
 ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region
 ;;;;;;  scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer
 ;;;;;;  help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string
-;;;;;;  help-at-pt-string) "help-at-pt" "help-at-pt.el" (19845 45374))
+;;;;;;  help-at-pt-string) "help-at-pt" "help-at-pt.el" (19776 18657))
 ;;; Generated autoloads from help-at-pt.el
 
 (autoload 'help-at-pt-string "help-at-pt" "\
@@ -12731,7 +12743,7 @@ different regions.  With numeric argument ARG, behaves like
 ;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories
 ;;;;;;  describe-syntax describe-variable variable-at-point describe-function-1
 ;;;;;;  find-lisp-object-file-name help-C-file-name describe-function)
-;;;;;;  "help-fns" "help-fns.el" (20029 5330))
+;;;;;;  "help-fns" "help-fns.el" (20030 47787))
 ;;; Generated autoloads from help-fns.el
 
 (autoload 'describe-function "help-fns" "\
@@ -12811,7 +12823,7 @@ Produce a texinfo buffer with sorted doc-strings from the DOC file.
 ;;;***
 \f
 ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from help-macro.el
 
 (defvar three-step-help nil "\
@@ -12827,9 +12839,18 @@ gives the window that lists the options.")
 \f
 ;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
 ;;;;;;  help-make-xrefs help-buffer help-setup-xref help-mode-finish
-;;;;;;  help-mode-setup) "help-mode" "help-mode.el" (20059 26455))
+;;;;;;  help-mode-setup help-mode) "help-mode" "help-mode.el" (20071
+;;;;;;  33300))
 ;;; Generated autoloads from help-mode.el
 
+(autoload 'help-mode "help-mode" "\
+Major mode for viewing help text and navigating references in it.
+Entry to this mode runs the normal hook `help-mode-hook'.
+Commands:
+\\{help-mode-map}
+
+\(fn)" t nil)
+
 (autoload 'help-mode-setup "help-mode" "\
 
 
@@ -12912,7 +12933,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
 ;;;***
 \f
 ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;;  "emacs-lisp/helper.el" (19845 45374))
+;;;;;;  "emacs-lisp/helper.el" (19776 18657))
 ;;; Generated autoloads from emacs-lisp/helper.el
 
 (autoload 'Helper-describe-bindings "helper" "\
@@ -12928,7 +12949,7 @@ Provide help for current mode.
 ;;;***
 \f
 ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;;  "hexl.el" (19865 50420))
+;;;;;;  "hexl.el" (19875 21674))
 ;;; Generated autoloads from hexl.el
 
 (autoload 'hexl-mode "hexl" "\
@@ -13025,7 +13046,7 @@ This discards the buffer's undo information.
 ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
 ;;;;;;  hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
 ;;;;;;  global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el"
-;;;;;;  (20034 23247))
+;;;;;;  (20045 40021))
 ;;; Generated autoloads from hi-lock.el
 
 (autoload 'hi-lock-mode "hi-lock" "\
@@ -13159,7 +13180,7 @@ be found in variable `hi-lock-interactive-patterns'.
 ;;;***
 \f
 ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/hideif.el
 
 (autoload 'hide-ifdef-mode "hideif" "\
@@ -13199,7 +13220,7 @@ how the hiding is done:
 ;;;***
 \f
 ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el"
-;;;;;;  (19938 7518))
+;;;;;;  (20091 19552))
 ;;; Generated autoloads from progmodes/hideshow.el
 
 (defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\
@@ -13261,8 +13282,8 @@ Unconditionally turn off `hs-minor-mode'.
 ;;;;;;  highlight-compare-buffers highlight-changes-rotate-faces
 ;;;;;;  highlight-changes-previous-change highlight-changes-next-change
 ;;;;;;  highlight-changes-remove-highlight highlight-changes-visible-mode
-;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (19931
-;;;;;;  11784))
+;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (19933
+;;;;;;  8482))
 ;;; Generated autoloads from hilit-chg.el
 
 (autoload 'highlight-changes-mode "hilit-chg" "\
@@ -13391,7 +13412,7 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode.
 ;;;;;;  hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
 ;;;;;;  hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
 ;;;;;;  hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
-;;;;;;  "hippie-exp.el" (19845 45374))
+;;;;;;  "hippie-exp.el" (19776 18657))
 ;;; Generated autoloads from hippie-exp.el
 
 (defvar hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol) "\
@@ -13464,7 +13485,7 @@ argument VERBOSE non-nil makes the function verbose.
 ;;;***
 \f
 ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;;  (19976 22732))
+;;;;;;  (19975 38287))
 ;;; Generated autoloads from hl-line.el
 
 (autoload 'hl-line-mode "hl-line" "\
@@ -13512,7 +13533,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
 ;;;;;;  holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays
 ;;;;;;  holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays
 ;;;;;;  holiday-oriental-holidays holiday-general-holidays) "holidays"
-;;;;;;  "calendar/holidays.el" (19882 48702))
+;;;;;;  "calendar/holidays.el" (19883 6459))
 ;;; Generated autoloads from calendar/holidays.el
 
 (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1")
@@ -13660,8 +13681,8 @@ The optional LABEL is used to label the buffer created.
 
 ;;;***
 \f
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from gnus/html2text.el
 
 (autoload 'html2text "html2text" "\
@@ -13672,7 +13693,7 @@ Convert HTML to plain text in the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
-;;;;;;  "htmlfontify" "htmlfontify.el" (19886 45771))
+;;;;;;  "htmlfontify" "htmlfontify.el" (19888 59421))
 ;;; Generated autoloads from htmlfontify.el
 
 (autoload 'htmlfontify-buffer "htmlfontify" "\
@@ -13705,8 +13726,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'.
 ;;;***
 \f
 ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19845
-;;;;;;  45374))
+;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from ibuf-macs.el
 
 (autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -13803,7 +13824,7 @@ bound to the current value of the filter.
 ;;;***
 \f
 ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;;  "ibuffer" "ibuffer.el" (20053 39261))
+;;;;;;  "ibuffer" "ibuffer.el" (20053 38615))
 ;;; Generated autoloads from ibuffer.el
 
 (autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13844,7 +13865,7 @@ FORMATS is the value to use for `ibuffer-formats'.
 \f
 ;;;### (autoloads (icalendar-import-buffer icalendar-import-file
 ;;;;;;  icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;;  "calendar/icalendar.el" (20015 58840))
+;;;;;;  "calendar/icalendar.el" (20017 38217))
 ;;; Generated autoloads from calendar/icalendar.el
 
 (autoload 'icalendar-export-file "icalendar" "\
@@ -13896,8 +13917,8 @@ buffer `*icalendar-errors*'.
 
 ;;;***
 \f
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (19940
-;;;;;;  49234))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20086
+;;;;;;  6123))
 ;;; Generated autoloads from icomplete.el
 
 (defvar icomplete-mode nil "\
@@ -13918,7 +13939,7 @@ otherwise turn it off.
 
 ;;;***
 \f
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19890 42850))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19891 13894))
 ;;; Generated autoloads from progmodes/icon.el
 
 (autoload 'icon-mode "icon" "\
@@ -13959,7 +13980,7 @@ with no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from progmodes/idlw-shell.el
 
 (autoload 'idlwave-shell "idlw-shell" "\
@@ -13985,7 +14006,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
 ;;;***
 \f
 ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;;  (19863 8742))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from progmodes/idlwave.el
 
 (autoload 'idlwave-mode "idlwave" "\
@@ -14119,8 +14140,8 @@ The main features of this mode are
 ;;;;;;  ido-find-alternate-file ido-find-file-other-window ido-find-file
 ;;;;;;  ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
 ;;;;;;  ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
-;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20025
-;;;;;;  8284))
+;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20030
+;;;;;;  47787))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-mode nil "\
@@ -14381,9 +14402,8 @@ DEF, if non-nil, is the default value.
 
 ;;;***
 \f
-;;;### (autoloads (ielm) "ielm" "ielm.el" (19931 11784))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (20076 61471))
 ;;; Generated autoloads from ielm.el
- (add-hook 'same-window-buffer-names (purecopy "*ielm*"))
 
 (autoload 'ielm "ielm" "\
 Interactively evaluate Emacs Lisp expressions.
@@ -14393,7 +14413,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
 
 ;;;***
 \f
-;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (19845 45374))
+;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (19776 18657))
 ;;; Generated autoloads from iimage.el
 
 (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1")
@@ -14410,7 +14430,7 @@ Toggle inline image minor mode.
 ;;;;;;  create-image image-type-auto-detected-p image-type-available-p
 ;;;;;;  image-type image-type-from-file-name image-type-from-file-header
 ;;;;;;  image-type-from-buffer image-type-from-data) "image" "image.el"
-;;;;;;  (20013 17118))
+;;;;;;  (20084 62230))
 ;;; Generated autoloads from image.el
 
 (autoload 'image-type-from-data "image" "\
@@ -14607,7 +14627,7 @@ If Emacs is compiled without ImageMagick support, do nothing.
 ;;;;;;  image-dired-jump-thumbnail-buffer image-dired-delete-tag
 ;;;;;;  image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs
 ;;;;;;  image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs)
-;;;;;;  "image-dired" "image-dired.el" (20033 22846))
+;;;;;;  "image-dired" "image-dired.el" (20032 10355))
 ;;; Generated autoloads from image-dired.el
 
 (autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\
@@ -14745,7 +14765,7 @@ easy-to-use form.
 \f
 ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp
 ;;;;;;  image-file-name-regexps image-file-name-extensions) "image-file"
-;;;;;;  "image-file.el" (19845 45374))
+;;;;;;  "image-file.el" (19776 18657))
 ;;; Generated autoloads from image-file.el
 
 (defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\
@@ -14807,7 +14827,7 @@ Image files are those whose name has an extension in
 ;;;***
 \f
 ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
-;;;;;;  image-mode) "image-mode" "image-mode.el" (19999 41597))
+;;;;;;  image-mode) "image-mode" "image-mode.el" (20089 62475))
 ;;; Generated autoloads from image-mode.el
 
 (autoload 'image-mode "image-mode" "\
@@ -14848,7 +14868,7 @@ on these modes.
 ;;;***
 \f
 ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;;  imenu-sort-function) "imenu" "imenu.el" (19845 45374))
+;;;;;;  imenu-sort-function) "imenu" "imenu.el" (19776 18657))
 ;;; Generated autoloads from imenu.el
 
 (defvar imenu-sort-function nil "\
@@ -14965,7 +14985,7 @@ for more information.
 \f
 ;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion
 ;;;;;;  in-is13194-post-read-conversion indian-compose-string indian-compose-region)
-;;;;;;  "ind-util" "language/ind-util.el" (19845 45374))
+;;;;;;  "ind-util" "language/ind-util.el" (19776 18657))
 ;;; Generated autoloads from language/ind-util.el
 
 (autoload 'indian-compose-region "ind-util" "\
@@ -14997,7 +15017,7 @@ Convert old Emacs Devanagari characters to UCS.
 \f
 ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
 ;;;;;;  inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;;  "progmodes/inf-lisp.el" (19845 45374))
+;;;;;;  "progmodes/inf-lisp.el" (20091 22575))
 ;;; Generated autoloads from progmodes/inf-lisp.el
 
 (defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -15055,7 +15075,6 @@ of `inferior-lisp-program').  Runs the hooks from
 \(Type \\[describe-mode] in the process buffer for a list of commands.)
 
 \(fn CMD)" t nil)
- (add-hook 'same-window-buffer-names (purecopy "*inferior-lisp*"))
 
 (defalias 'run-lisp 'inferior-lisp)
 
@@ -15065,14 +15084,13 @@ of `inferior-lisp-program').  Runs the hooks from
 ;;;;;;  Info-goto-emacs-key-command-node Info-goto-emacs-command-node
 ;;;;;;  Info-mode info-finder info-apropos Info-index Info-directory
 ;;;;;;  Info-on-current-buffer info-standalone info-emacs-manual
-;;;;;;  info info-other-window) "info" "info.el" (20031 47065))
+;;;;;;  info info-other-window) "info" "info.el" (20091 22111))
 ;;; Generated autoloads from info.el
 
 (autoload 'info-other-window "info" "\
 Like `info' but show the Info buffer in another window.
 
 \(fn &optional FILE-OR-NODE)" t nil)
- (add-hook 'same-window-regexps (purecopy "\\*info\\*\\(\\|<[0-9]+>\\)"))
  (put 'info 'info-file (purecopy "emacs"))
 
 (autoload 'info "info" "\
@@ -15252,7 +15270,7 @@ Go to Info buffer that displays MANUAL, creating it if none already exists.
 \f
 ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
 ;;;;;;  info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
-;;;;;;  (19984 16846))
+;;;;;;  (19983 37515))
 ;;; Generated autoloads from info-look.el
 
 (autoload 'info-lookup-reset "info-look" "\
@@ -15301,7 +15319,7 @@ Perform completion on file preceding point.
 \f
 ;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom
 ;;;;;;  info-xref-check-all info-xref-check) "info-xref" "info-xref.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from info-xref.el
 
 (autoload 'info-xref-check "info-xref" "\
@@ -15384,7 +15402,7 @@ the sources handy.
 ;;;***
 \f
 ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold
-;;;;;;  Info-tagify) "informat" "informat.el" (19886 45771))
+;;;;;;  Info-tagify) "informat" "informat.el" (19888 59421))
 ;;; Generated autoloads from informat.el
 
 (autoload 'Info-tagify "informat" "\
@@ -15431,7 +15449,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\"
 \f
 ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
 ;;;;;;  isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from international/isearch-x.el
 
 (autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -15451,8 +15469,8 @@ Toggle input method in interactive search.
 
 ;;;***
 \f
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from isearchb.el
 
 (autoload 'isearchb-activate "isearchb" "\
@@ -15468,7 +15486,7 @@ accessed via isearchb.
 ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
 ;;;;;;  iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
 ;;;;;;  iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
-;;;;;;  "international/iso-cvt.el" (19845 45374))
+;;;;;;  "international/iso-cvt.el" (19776 18657))
 ;;; Generated autoloads from international/iso-cvt.el
 
 (autoload 'iso-spanish "iso-cvt" "\
@@ -15559,7 +15577,7 @@ Add submenus to the File menu, to convert to and from various formats.
 ;;;***
 \f
 ;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from international/iso-transl.el
  (or key-translation-map (setq key-translation-map (make-sparse-keymap)))
  (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
@@ -15571,7 +15589,7 @@ Add submenus to the File menu, to convert to and from various formats.
 ;;;;;;  ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings
 ;;;;;;  ispell-region ispell-change-dictionary ispell-kill-ispell
 ;;;;;;  ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary)
-;;;;;;  "ispell" "textmodes/ispell.el" (20055 29424))
+;;;;;;  "ispell" "textmodes/ispell.el" (20084 62230))
 ;;; Generated autoloads from textmodes/ispell.el
 
 (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
@@ -15792,7 +15810,7 @@ You can bind this to the key C-c i in GNUS or mail by adding to
 ;;;***
 \f
 ;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (19946
-;;;;;;  29209))
+;;;;;;  35279))
 ;;; Generated autoloads from iswitchb.el
 
 (defvar iswitchb-mode nil "\
@@ -15817,7 +15835,7 @@ This mode enables switching between buffers using substrings.  See
 ;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region
 ;;;;;;  japanese-hiragana-region japanese-katakana-region japanese-zenkaku
 ;;;;;;  japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal)
-;;;;;;  "japan-util" "language/japan-util.el" (19845 45374))
+;;;;;;  "japan-util" "language/japan-util.el" (19776 18657))
 ;;; Generated autoloads from language/japan-util.el
 
 (autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -15895,7 +15913,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
 ;;;***
 \f
 ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;;  "jka-compr.el" (20000 30139))
+;;;;;;  "jka-compr.el" (20001 58878))
 ;;; Generated autoloads from jka-compr.el
 
 (defvar jka-compr-inhibit nil "\
@@ -15918,7 +15936,7 @@ by `jka-compr-installed'.
 
 ;;;***
 \f
-;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20038 20303))
+;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20045 40021))
 ;;; Generated autoloads from progmodes/js.el
 
 (autoload 'js-mode "js" "\
@@ -15932,7 +15950,7 @@ Major mode for editing JavaScript.
 \f
 ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
 ;;;;;;  keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emulation/keypad.el
 
 (defvar keypad-setup nil "\
@@ -15988,7 +16006,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
 ;;;***
 \f
 ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from international/kinsoku.el
 
 (autoload 'kinsoku "kinsoku" "\
@@ -16009,8 +16027,8 @@ the context of text formatting.
 
 ;;;***
 \f
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from international/kkc.el
 
 (defvar kkc-after-update-conversion-functions nil "\
@@ -16035,7 +16053,7 @@ and the return value is the length of the conversion.
 ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
 ;;;;;;  kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
 ;;;;;;  kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item)
-;;;;;;  "kmacro" "kmacro.el" (19886 45771))
+;;;;;;  "kmacro" "kmacro.el" (19888 59421))
 ;;; Generated autoloads from kmacro.el
  (global-set-key "\C-x(" 'kmacro-start-macro)
  (global-set-key "\C-x)" 'kmacro-end-macro)
@@ -16146,7 +16164,7 @@ If kbd macro currently being defined end it before activating it.
 ;;;***
 \f
 ;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;;  "language/korea-util.el" (19845 45374))
+;;;;;;  "language/korea-util.el" (19776 18657))
 ;;; Generated autoloads from language/korea-util.el
 
 (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -16161,7 +16179,7 @@ If kbd macro currently being defined end it before activating it.
 ;;;***
 \f
 ;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el"
-;;;;;;  (19889 21967))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from play/landmark.el
 
 (defalias 'landmark-repeat 'landmark-test-run)
@@ -16193,7 +16211,7 @@ Use \\[describe-mode] for more info.
 \f
 ;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string
 ;;;;;;  lao-transcribe-single-roman-syllable-to-lao lao-compose-string)
-;;;;;;  "lao-util" "language/lao-util.el" (19845 45374))
+;;;;;;  "lao-util" "language/lao-util.el" (19776 18657))
 ;;; Generated autoloads from language/lao-util.el
 
 (autoload 'lao-compose-string "lao-util" "\
@@ -16232,7 +16250,7 @@ Transcribe Romanized Lao string STR to Lao character string.
 \f
 ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
 ;;;;;;  latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
-;;;;;;  "latexenc" "international/latexenc.el" (19845 45374))
+;;;;;;  "latexenc" "international/latexenc.el" (19776 18657))
 ;;; Generated autoloads from international/latexenc.el
 
 (defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\
@@ -16264,7 +16282,7 @@ coding system names is determined from `latex-inputenc-coding-alist'.
 ;;;***
 \f
 ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;;  "latin1-disp" "international/latin1-disp.el" (19845 45374))
+;;;;;;  "latin1-disp" "international/latin1-disp.el" (19776 18657))
 ;;; Generated autoloads from international/latin1-disp.el
 
 (defvar latin1-display nil "\
@@ -16306,7 +16324,7 @@ use either \\[customize] or the function `latin1-display'.")
 ;;;***
 \f
 ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;;  (19961 55377))
+;;;;;;  (19960 63962))
 ;;; Generated autoloads from progmodes/ld-script.el
 
 (autoload 'ld-script-mode "ld-script" "\
@@ -16317,7 +16335,7 @@ A major mode to edit GNU ld script files
 ;;;***
 \f
 ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from ledit.el
 
 (defconst ledit-save-files t "\
@@ -16352,7 +16370,7 @@ do (setq lisp-mode-hook 'ledit-from-lisp-mode)
 
 ;;;***
 \f
-;;;### (autoloads (life) "life" "play/life.el" (19845 45374))
+;;;### (autoloads (life) "life" "play/life.el" (19776 18657))
 ;;; Generated autoloads from play/life.el
 
 (autoload 'life "life" "\
@@ -16366,7 +16384,7 @@ generations (this defaults to 1).
 ;;;***
 \f
 ;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum"
-;;;;;;  "linum.el" (19865 50420))
+;;;;;;  "linum.el" (19875 21674))
 ;;; Generated autoloads from linum.el
 
 (defvar linum-format 'dynamic "\
@@ -16404,8 +16422,8 @@ See `linum-mode' for more information on Linum mode.
 
 ;;;***
 \f
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19996
-;;;;;;  8027))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19995
+;;;;;;  14181))
 ;;; Generated autoloads from loadhist.el
 
 (autoload 'unload-feature "loadhist" "\
@@ -16437,7 +16455,7 @@ something strange, such as redefining an Emacs function.
 ;;;***
 \f
 ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;;  "locate" "locate.el" (19886 45771))
+;;;;;;  "locate" "locate.el" (19888 59421))
 ;;; Generated autoloads from locate.el
 
 (defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -16489,7 +16507,7 @@ except that FILTER is not optional.
 
 ;;;***
 \f
-;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (19870 57559))
+;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (19875 21674))
 ;;; Generated autoloads from vc/log-edit.el
 
 (autoload 'log-edit "log-edit" "\
@@ -16517,7 +16535,7 @@ uses the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (19946
-;;;;;;  1612))
+;;;;;;  35279))
 ;;; Generated autoloads from vc/log-view.el
 
 (autoload 'log-view-mode "log-view" "\
@@ -16527,8 +16545,8 @@ Major mode for browsing CVS log output.
 
 ;;;***
 \f
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20031
-;;;;;;  47065))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20030
+;;;;;;  47787))
 ;;; Generated autoloads from longlines.el
 
 (autoload 'longlines-mode "longlines" "\
@@ -16553,8 +16571,8 @@ are indicated with a symbol.
 ;;;***
 \f
 ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19909
-;;;;;;  7240))
+;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19910
+;;;;;;  9778))
 ;;; Generated autoloads from lpr.el
 
 (defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)))
@@ -16648,7 +16666,7 @@ for further customization of the printer command.
 ;;;***
 \f
 ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from ls-lisp.el
 
 (defvar ls-lisp-support-shell-wildcards t "\
@@ -16659,8 +16677,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
 
 ;;;***
 \f
-;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from calendar/lunar.el
 
 (autoload 'lunar-phases "lunar" "\
@@ -16674,8 +16692,8 @@ This function is suitable for execution in a .emacs file.
 
 ;;;***
 \f
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from progmodes/m4-mode.el
 
 (autoload 'm4-mode "m4-mode" "\
@@ -16686,7 +16704,7 @@ A major mode to edit m4 macro files.
 ;;;***
 \f
 ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;;  (19930 13389))
+;;;;;;  (19929 22332))
 ;;; Generated autoloads from emacs-lisp/macroexp.el
 
 (autoload 'macroexpand-all "macroexp" "\
@@ -16700,7 +16718,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.
 ;;;***
 \f
 ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;;  name-last-kbd-macro) "macros" "macros.el" (19886 45771))
+;;;;;;  name-last-kbd-macro) "macros" "macros.el" (19888 59421))
 ;;; Generated autoloads from macros.el
 
 (autoload 'name-last-kbd-macro "macros" "\
@@ -16789,7 +16807,7 @@ and then select the region of un-tablified names and use
 ;;;***
 \f
 ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
-;;;;;;  "mail/mail-extr.el" (19845 45374))
+;;;;;;  "mail/mail-extr.el" (19776 18657))
 ;;; Generated autoloads from mail/mail-extr.el
 
 (autoload 'mail-extract-address-components "mail-extr" "\
@@ -16821,7 +16839,7 @@ Convert mail domain DOMAIN to the country it corresponds to.
 \f
 ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
 ;;;;;;  mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mail/mail-hist.el
 
 (autoload 'mail-hist-define-keys "mail-hist" "\
@@ -16853,7 +16871,7 @@ This function normally would be called when the message is sent.
 ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
 ;;;;;;  mail-unquote-printable mail-quote-printable-region mail-quote-printable
 ;;;;;;  mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822)
-;;;;;;  "mail-utils" "mail/mail-utils.el" (19922 19303))
+;;;;;;  "mail-utils" "mail/mail-utils.el" (19926 36440))
 ;;; Generated autoloads from mail/mail-utils.el
 
 (defvar mail-use-rfc822 nil "\
@@ -16925,8 +16943,8 @@ matches may be returned from the message body.
 ;;;***
 \f
 ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
-;;;;;;  mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19968
-;;;;;;  28627))
+;;;;;;  mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19973
+;;;;;;  21789))
 ;;; Generated autoloads from mail/mailabbrev.el
 
 (defvar mail-abbrevs-mode nil "\
@@ -16969,7 +16987,7 @@ double-quotes.
 \f
 ;;;### (autoloads (mail-complete mail-completion-at-point-function
 ;;;;;;  define-mail-alias expand-mail-aliases mail-complete-style)
-;;;;;;  "mailalias" "mail/mailalias.el" (19881 27850))
+;;;;;;  "mailalias" "mail/mailalias.el" (19883 6459))
 ;;; Generated autoloads from mail/mailalias.el
 
 (defvar mail-complete-style 'angles "\
@@ -17021,7 +17039,7 @@ current header, calls `mail-complete-function' and passes prefix ARG if any.
 ;;;***
 \f
 ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19813 16330))
 ;;; Generated autoloads from mail/mailclient.el
 
 (autoload 'mailclient-send-it "mailclient" "\
@@ -17035,7 +17053,7 @@ The mail client is taken to be the handler of mailto URLs.
 \f
 ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
 ;;;;;;  makefile-gmake-mode makefile-automake-mode makefile-mode)
-;;;;;;  "make-mode" "progmodes/make-mode.el" (19968 28627))
+;;;;;;  "make-mode" "progmodes/make-mode.el" (19973 21789))
 ;;; Generated autoloads from progmodes/make-mode.el
 
 (autoload 'makefile-mode "make-mode" "\
@@ -17152,8 +17170,8 @@ An adapted `makefile-mode' that knows about imake.
 
 ;;;***
 \f
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19886
-;;;;;;  45771))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from makesum.el
 
 (autoload 'make-command-summary "makesum" "\
@@ -17165,7 +17183,7 @@ Previous contents of that buffer are killed first.
 ;;;***
 \f
 ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el"
-;;;;;;  (19999 41597))
+;;;;;;  (20001 58878))
 ;;; Generated autoloads from man.el
 
 (defalias 'manual-entry 'man)
@@ -17219,7 +17237,7 @@ Default bookmark handler for Man buffers.
 
 ;;;***
 \f
-;;;### (autoloads (master-mode) "master" "master.el" (19845 45374))
+;;;### (autoloads (master-mode) "master" "master.el" (19776 18657))
 ;;; Generated autoloads from master.el
 
 (autoload 'master-mode "master" "\
@@ -17242,7 +17260,7 @@ yourself the value of `master-of' by calling `master-show-slave'.
 ;;;***
 \f
 ;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mb-depth.el
 
 (defvar minibuffer-depth-indicate-mode nil "\
@@ -17273,7 +17291,7 @@ Returns non-nil if the new state is enabled.
 ;;;;;;  message-forward-make-body message-forward message-recover
 ;;;;;;  message-supersede message-cancel-news message-followup message-wide-reply
 ;;;;;;  message-reply message-news message-mail message-mode) "message"
-;;;;;;  "gnus/message.el" (20047 35303))
+;;;;;;  "gnus/message.el" (20090 40643))
 ;;; Generated autoloads from gnus/message.el
 
 (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
@@ -17439,7 +17457,7 @@ which specify the range to operate on.
 ;;;***
 \f
 ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;;  (19968 28627))
+;;;;;;  (19973 21789))
 ;;; Generated autoloads from progmodes/meta-mode.el
 
 (autoload 'metafont-mode "meta-mode" "\
@@ -17456,7 +17474,7 @@ Major mode for editing MetaPost sources.
 \f
 ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
 ;;;;;;  metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mail/metamail.el
 
 (autoload 'metamail-interpret-header "metamail" "\
@@ -17501,7 +17519,7 @@ redisplayed as output is inserted.
 \f
 ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose
 ;;;;;;  mh-smail-batch mh-smail-other-window mh-smail) "mh-comp"
-;;;;;;  "mh-e/mh-comp.el" (19993 31832))
+;;;;;;  "mh-e/mh-comp.el" (19992 65065))
 ;;; Generated autoloads from mh-e/mh-comp.el
 
 (autoload 'mh-smail "mh-comp" "\
@@ -17591,7 +17609,7 @@ delete the draft message.
 
 ;;;***
 \f
-;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20004 2139))
+;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20089 62475))
 ;;; Generated autoloads from mh-e/mh-e.el
 
 (put 'mh-progs 'risky-local-variable t)
@@ -17608,7 +17626,7 @@ Display version information about MH-E and the MH mail handling system.
 ;;;***
 \f
 ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
-;;;;;;  "mh-e/mh-folder.el" (20004 2139))
+;;;;;;  "mh-e/mh-folder.el" (20006 60553))
 ;;; Generated autoloads from mh-e/mh-folder.el
 
 (autoload 'mh-rmail "mh-folder" "\
@@ -17690,7 +17708,7 @@ perform the operation on all messages in that region.
 ;;;***
 \f
 ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;;  "midnight.el" (19853 59245))
+;;;;;;  "midnight.el" (19874 16126))
 ;;; Generated autoloads from midnight.el
 
 (autoload 'clean-buffer-list "midnight" "\
@@ -17717,7 +17735,7 @@ to its second argument TM.
 ;;;***
 \f
 ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;;  "minibuf-eldef.el" (19845 45374))
+;;;;;;  "minibuf-eldef.el" (19776 18657))
 ;;; Generated autoloads from minibuf-eldef.el
 
 (defvar minibuffer-electric-default-mode nil "\
@@ -17745,7 +17763,7 @@ Returns non-nil if the new state is enabled.
 ;;;***
 \f
 ;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el"
-;;;;;;  (19968 28627))
+;;;;;;  (19973 21789))
 ;;; Generated autoloads from misc.el
 
 (autoload 'butterfly "misc" "\
@@ -17775,7 +17793,7 @@ The return value is always nil.
 \f
 ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files
 ;;;;;;  multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup)
-;;;;;;  "misearch" "misearch.el" (19886 45771))
+;;;;;;  "misearch" "misearch.el" (19888 59421))
 ;;; Generated autoloads from misearch.el
  (add-hook 'isearch-mode-hook 'multi-isearch-setup)
 
@@ -17857,7 +17875,7 @@ whose file names match the specified wildcard.
 ;;;***
 \f
 ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;;  (19961 55377))
+;;;;;;  (19960 63962))
 ;;; Generated autoloads from progmodes/mixal-mode.el
 
 (autoload 'mixal-mode "mixal-mode" "\
@@ -17867,8 +17885,19 @@ Major mode for the mixal asm language.
 
 ;;;***
 \f
+;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el"
+;;;;;;  (20075 38050))
+;;; Generated autoloads from gnus/mm-encode.el
+
+(autoload 'mm-default-file-encoding "mm-encode" "\
+Return a default encoding for FILE.
+
+\(fn FILE)" nil nil)
+
+;;;***
+\f
 ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents)
-;;;;;;  "mm-extern" "gnus/mm-extern.el" (19845 45374))
+;;;;;;  "mm-extern" "gnus/mm-extern.el" (19776 18657))
 ;;; Generated autoloads from gnus/mm-extern.el
 
 (autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -17887,7 +17916,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
 ;;;***
 \f
 ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/mm-partial.el
 
 (autoload 'mm-inline-partial "mm-partial" "\
@@ -17901,7 +17930,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
 ;;;***
 \f
 ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;;  "mm-url" "gnus/mm-url.el" (19877 30798))
+;;;;;;  "mm-url" "gnus/mm-url.el" (19876 29188))
 ;;; Generated autoloads from gnus/mm-url.el
 
 (autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -17918,7 +17947,7 @@ Insert file contents of URL using `mm-url-program'.
 ;;;***
 \f
 ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu"
-;;;;;;  "gnus/mm-uu.el" (19845 45374))
+;;;;;;  "gnus/mm-uu.el" (19874 15752))
 ;;; Generated autoloads from gnus/mm-uu.el
 
 (autoload 'mm-uu-dissect "mm-uu" "\
@@ -17937,8 +17966,33 @@ Assume text has been decoded if DECODED is non-nil.
 
 ;;;***
 \f
+;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el"
+;;;;;;  (20091 19552))
+;;; Generated autoloads from gnus/mml.el
+
+(autoload 'mml-to-mime "mml" "\
+Translate the current buffer from MML to MIME.
+
+\(fn)" nil nil)
+
+(autoload 'mml-attach-file "mml" "\
+Attach a file to the outgoing MIME message.
+The file is not inserted or encoded until you send the message with
+`\\[message-send-and-exit]' or `\\[message-send]'.
+
+FILE is the name of the file to attach.  TYPE is its
+content-type, a string of the form \"type/subtype\".  DESCRIPTION
+is a one-line description of the attachment.  The DISPOSITION
+specifies how the attachment is intended to be displayed.  It can
+be either \"inline\" (displayed automatically within the message
+body) or \"attachment\" (separate from the body).
+
+\(fn FILE &optional TYPE DESCRIPTION DISPOSITION)" t nil)
+
+;;;***
+\f
 ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;;  (20026 29156))
+;;;;;;  (20030 47787))
 ;;; Generated autoloads from gnus/mml1991.el
 
 (autoload 'mml1991-encrypt "mml1991" "\
@@ -17955,7 +18009,7 @@ Assume text has been decoded if DECODED is non-nil.
 \f
 ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
 ;;;;;;  mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
-;;;;;;  "mml2015" "gnus/mml2015.el" (20059 26455))
+;;;;;;  "mml2015" "gnus/mml2015.el" (20059 46231))
 ;;; Generated autoloads from gnus/mml2015.el
 
 (autoload 'mml2015-decrypt "mml2015" "\
@@ -17995,8 +18049,8 @@ Assume text has been decoded if DECODED is non-nil.
 
 ;;;***
 \f
-;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (19764
+;;;;;;  32359))
 ;;; Generated autoloads from progmodes/modula2.el
 
 (defalias 'modula-2-mode 'm2-mode)
@@ -18030,7 +18084,7 @@ followed by the first character of the construct.
 ;;;***
 \f
 ;;;### (autoloads (denato-region nato-region unmorse-region morse-region)
-;;;;;;  "morse" "play/morse.el" (19869 36706))
+;;;;;;  "morse" "play/morse.el" (19875 21674))
 ;;; Generated autoloads from play/morse.el
 
 (autoload 'morse-region "morse" "\
@@ -18056,7 +18110,7 @@ Convert NATO phonetic alphabet in region to ordinary ASCII text.
 ;;;***
 \f
 ;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag"
-;;;;;;  "mouse-drag.el" (19890 42850))
+;;;;;;  "mouse-drag.el" (19891 13894))
 ;;; Generated autoloads from mouse-drag.el
 
 (autoload 'mouse-drag-throw "mouse-drag" "\
@@ -18103,8 +18157,8 @@ To test this function, evaluate:
 
 ;;;***
 \f
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19997
-;;;;;;  28887))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19996
+;;;;;;  50667))
 ;;; Generated autoloads from mouse-sel.el
 
 (defvar mouse-sel-mode nil "\
@@ -18146,7 +18200,7 @@ kill ring; mouse-1 or mouse-3 kills it.
 
 ;;;***
 \f
-;;;### (autoloads (mpc) "mpc" "mpc.el" (20052 53218))
+;;;### (autoloads (mpc) "mpc" "mpc.el" (20081 19566))
 ;;; Generated autoloads from mpc.el
 
 (autoload 'mpc "mpc" "\
@@ -18156,7 +18210,7 @@ Main entry point for MPC.
 
 ;;;***
 \f
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19890 42850))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19891 13894))
 ;;; Generated autoloads from play/mpuz.el
 
 (autoload 'mpuz "mpuz" "\
@@ -18166,7 +18220,7 @@ Multiplication puzzle with GNU Emacs.
 
 ;;;***
 \f
-;;;### (autoloads (msb-mode) "msb" "msb.el" (19931 11784))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (19933 8482))
 ;;; Generated autoloads from msb.el
 
 (defvar msb-mode nil "\
@@ -18193,7 +18247,7 @@ different buffer menu using the function `msb'.
 ;;;;;;  describe-current-coding-system describe-current-coding-system-briefly
 ;;;;;;  describe-coding-system describe-character-set list-charset-chars
 ;;;;;;  read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20092 63614))
 ;;; Generated autoloads from international/mule-diag.el
 
 (autoload 'list-character-sets "mule-diag" "\
@@ -18330,7 +18384,7 @@ The default is 20.  If LIMIT is negative, do not limit the listing.
 ;;;;;;  coding-system-translation-table-for-decode coding-system-pre-write-conversion
 ;;;;;;  coding-system-post-read-conversion lookup-nested-alist set-nested-alist
 ;;;;;;  truncate-string-to-width store-substring string-to-sequence)
-;;;;;;  "mule-util" "international/mule-util.el" (19845 45374))
+;;;;;;  "mule-util" "international/mule-util.el" (19789 64214))
 ;;; Generated autoloads from international/mule-util.el
 
 (autoload 'string-to-sequence "mule-util" "\
@@ -18470,8 +18524,8 @@ per-character basis, this may not be accurate.
 ;;;### (autoloads (network-connection network-connection-to-service
 ;;;;;;  whois-reverse-lookup whois finger ftp run-dig dns-lookup-host
 ;;;;;;  nslookup nslookup-host ping traceroute route arp netstat
-;;;;;;  iwconfig ifconfig) "net-utils" "net/net-utils.el" (19845
-;;;;;;  45374))
+;;;;;;  iwconfig ifconfig) "net-utils" "net/net-utils.el" (19797
+;;;;;;  54173))
 ;;; Generated autoloads from net/net-utils.el
 
 (autoload 'ifconfig "net-utils" "\
@@ -18565,8 +18619,8 @@ Open a network connection to HOST on PORT.
 
 ;;;***
 \f
-;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (19810
+;;;;;;  43098))
 ;;; Generated autoloads from net/netrc.el
 
 (autoload 'netrc-credentials "netrc" "\
@@ -18579,7 +18633,7 @@ listed in the PORTS list.
 ;;;***
 \f
 ;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el"
-;;;;;;  (20044 59100))
+;;;;;;  (20045 40021))
 ;;; Generated autoloads from net/network-stream.el
 
 (autoload 'open-network-stream "network-stream" "\
@@ -18675,7 +18729,7 @@ functionality.
 ;;;;;;  uncomment-region comment-kill comment-set-column comment-indent
 ;;;;;;  comment-indent-default comment-normalize-vars comment-multi-line
 ;;;;;;  comment-padding comment-style comment-column) "newcomment"
-;;;;;;  "newcomment.el" (19938 7518))
+;;;;;;  "newcomment.el" (20086 12595))
 ;;; Generated autoloads from newcomment.el
 
 (defalias 'indent-for-comment 'comment-indent)
@@ -18875,7 +18929,7 @@ unless optional argument SOFT is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend"
-;;;;;;  "net/newst-backend.el" (19918 22236))
+;;;;;;  "net/newst-backend.el" (19919 55562))
 ;;; Generated autoloads from net/newst-backend.el
 
 (autoload 'newsticker-running-p "newst-backend" "\
@@ -18897,7 +18951,7 @@ Run `newsticker-start-hook' if newsticker was not running already.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el"
-;;;;;;  (19918 22236))
+;;;;;;  (19919 55562))
 ;;; Generated autoloads from net/newst-plainview.el
 
 (autoload 'newsticker-plainview "newst-plainview" "\
@@ -18908,7 +18962,7 @@ Start newsticker plainview.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el"
-;;;;;;  (19918 22236))
+;;;;;;  (20094 5175))
 ;;; Generated autoloads from net/newst-reader.el
 
 (autoload 'newsticker-show-news "newst-reader" "\
@@ -18919,7 +18973,7 @@ Start reading news.  You may want to bind this to a key.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p)
-;;;;;;  "newst-ticker" "net/newst-ticker.el" (19845 45374))
+;;;;;;  "newst-ticker" "net/newst-ticker.el" (19776 18657))
 ;;; Generated autoloads from net/newst-ticker.el
 
 (autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -18940,7 +18994,7 @@ running already.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el"
-;;;;;;  (19918 22236))
+;;;;;;  (19919 55562))
 ;;; Generated autoloads from net/newst-treeview.el
 
 (autoload 'newsticker-treeview "newst-treeview" "\
@@ -18951,7 +19005,7 @@ Start newsticker treeview.
 ;;;***
 \f
 ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/nndiary.el
 
 (autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -18961,8 +19015,8 @@ Generate NOV databases in all nndiary directories.
 
 ;;;***
 \f
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from gnus/nndoc.el
 
 (autoload 'nndoc-add-type "nndoc" "\
@@ -18977,7 +19031,7 @@ symbol in the alist.
 ;;;***
 \f
 ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19810 43098))
 ;;; Generated autoloads from gnus/nnfolder.el
 
 (autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -18989,7 +19043,7 @@ This command does not work if you use short group names.
 ;;;***
 \f
 ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/nnml.el
 
 (autoload 'nnml-generate-nov-databases "nnml" "\
@@ -19000,7 +19054,7 @@ Generate NOV databases in all nnml directories.
 ;;;***
 \f
 ;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;;  "novice" "novice.el" (19845 45374))
+;;;;;;  "novice" "novice.el" (19776 18657))
 ;;; Generated autoloads from novice.el
 
 (defvar disabled-command-function 'disabled-command-function "\
@@ -19033,7 +19087,7 @@ to future sessions.
 ;;;***
 \f
 ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/nroff-mode.el
 
 (autoload 'nroff-mode "nroff-mode" "\
@@ -19048,7 +19102,7 @@ closing requests for requests that are used in matched pairs.
 ;;;***
 \f
 ;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from nxml/nxml-glyph.el
 
 (autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -19060,8 +19114,8 @@ Return nil if the face cannot display a glyph for N.
 
 ;;;***
 \f
-;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19927
-;;;;;;  37225))
+;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19926
+;;;;;;  36440))
 ;;; Generated autoloads from nxml/nxml-mode.el
 
 (autoload 'nxml-mode "nxml-mode" "\
@@ -19123,7 +19177,7 @@ Many aspects this mode can be customized using
 ;;;***
 \f
 ;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm"
-;;;;;;  "nxml/nxml-uchnm.el" (19845 45374))
+;;;;;;  "nxml/nxml-uchnm.el" (19776 18657))
 ;;; Generated autoloads from nxml/nxml-uchnm.el
 
 (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -19146,7 +19200,7 @@ the variable `nxml-enabled-unicode-blocks'.
 ;;;;;;  org-babel-pop-to-session-maybe org-babel-load-in-session-maybe
 ;;;;;;  org-babel-expand-src-block-maybe org-babel-view-src-block-info
 ;;;;;;  org-babel-execute-maybe org-babel-execute-safely-maybe) "ob"
-;;;;;;  "org/ob.el" (20045 31431))
+;;;;;;  "org/ob.el" (20045 43619))
 ;;; Generated autoloads from org/ob.el
 
 (autoload 'org-babel-execute-safely-maybe "ob" "\
@@ -19349,7 +19403,7 @@ Mark current src block
 ;;;***
 \f
 ;;;### (autoloads (org-babel-describe-bindings) "ob-keys" "org/ob-keys.el"
-;;;;;;  (20045 30710))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/ob-keys.el
 
 (autoload 'org-babel-describe-bindings "ob-keys" "\
@@ -19360,7 +19414,7 @@ Describe all keybindings behind `org-babel-key-prefix'.
 ;;;***
 \f
 ;;;### (autoloads (org-babel-lob-get-info org-babel-lob-execute-maybe
-;;;;;;  org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20045 31431))
+;;;;;;  org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20045 43619))
 ;;; Generated autoloads from org/ob-lob.el
 
 (autoload 'org-babel-lob-ingest "ob-lob" "\
@@ -19385,7 +19439,7 @@ Return a Library of Babel function call as a string.
 \f
 ;;;### (autoloads (org-babel-tangle org-babel-tangle-file org-babel-load-file
 ;;;;;;  org-babel-tangle-lang-exts) "ob-tangle" "org/ob-tangle.el"
-;;;;;;  (20045 30712))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/ob-tangle.el
 
 (defvar org-babel-tangle-lang-exts '(("emacs-lisp" . "el")) "\
@@ -19427,7 +19481,7 @@ exported source code blocks by language.
 ;;;***
 \f
 ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;;  (19968 28627))
+;;;;;;  (19973 21789))
 ;;; Generated autoloads from progmodes/octave-inf.el
 
 (autoload 'inferior-octave "octave-inf" "\
@@ -19450,7 +19504,7 @@ startup file, `~/.emacs-octave'.
 ;;;***
 \f
 ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;;  (19968 28627))
+;;;;;;  (19973 21789))
 ;;; Generated autoloads from progmodes/octave-mod.el
 
 (autoload 'octave-mode "octave-mod" "\
@@ -19538,7 +19592,7 @@ including a reproducible test case and send the message.
 ;;;;;;  org-insert-link-global org-store-link org-run-like-in-org-mode
 ;;;;;;  turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
 ;;;;;;  org-mode org-babel-do-load-languages) "org" "org/org.el"
-;;;;;;  (20045 30720))
+;;;;;;  (20087 36265))
 ;;; Generated autoloads from org/org.el
 
 (autoload 'org-babel-do-load-languages "org" "\
@@ -19762,7 +19816,7 @@ Call the customize function with org as argument.
 ;;;;;;  org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list
 ;;;;;;  org-search-view org-agenda-list org-batch-store-agenda-views
 ;;;;;;  org-store-agenda-views org-batch-agenda-csv org-batch-agenda
-;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (20045 30712))
+;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (20064 65310))
 ;;; Generated autoloads from org/org-agenda.el
 
 (autoload 'org-agenda "org-agenda" "\
@@ -20007,7 +20061,7 @@ belonging to the \"Work\" category.
 \f
 ;;;### (autoloads (org-archive-subtree-default-with-confirmation
 ;;;;;;  org-archive-subtree-default) "org-archive" "org/org-archive.el"
-;;;;;;  (20045 30713))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-archive.el
 
 (autoload 'org-archive-subtree-default "org-archive" "\
@@ -20028,7 +20082,7 @@ This command is set with the variable `org-archive-default-command'.
 ;;;;;;  org-replace-region-by-ascii org-export-as-ascii-to-buffer
 ;;;;;;  org-export-as-utf8-to-buffer org-export-as-utf8 org-export-as-latin1-to-buffer
 ;;;;;;  org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20045
-;;;;;;  30713))
+;;;;;;  43619))
 ;;; Generated autoloads from org/org-ascii.el
 
 (autoload 'org-export-as-latin1 "org-ascii" "\
@@ -20102,7 +20156,7 @@ publishing directory.
 ;;;***
 \f
 ;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20045
-;;;;;;  30713))
+;;;;;;  43619))
 ;;; Generated autoloads from org/org-attach.el
 
 (autoload 'org-attach "org-attach" "\
@@ -20114,7 +20168,7 @@ Shows a list of commands and prompts for another key to execute a command.
 ;;;***
 \f
 ;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
-;;;;;;  (20045 30713))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-bbdb.el
 
 (autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -20125,7 +20179,7 @@ Extract anniversaries from BBDB for display in the agenda.
 ;;;***
 \f
 ;;;### (autoloads (org-capture-import-remember-templates org-capture-insert-template-here
-;;;;;;  org-capture) "org-capture" "org/org-capture.el" (20045 30713))
+;;;;;;  org-capture) "org-capture" "org/org-capture.el" (20064 65339))
 ;;; Generated autoloads from org/org-capture.el
 
 (autoload 'org-capture "org-capture" "\
@@ -20163,7 +20217,7 @@ Set org-capture-templates to be similar to `org-remember-templates'.
 ;;;***
 \f
 ;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
-;;;;;;  "org-clock" "org/org-clock.el" (20045 30713))
+;;;;;;  "org-clock" "org/org-clock.el" (20064 65359))
 ;;; Generated autoloads from org/org-clock.el
 
 (autoload 'org-get-clocktable "org-clock" "\
@@ -20181,7 +20235,7 @@ Set up hooks for clock persistence.
 ;;;***
 \f
 ;;;### (autoloads (org-datetree-find-date-create) "org-datetree"
-;;;;;;  "org/org-datetree.el" (20045 30713))
+;;;;;;  "org/org-datetree.el" (20045 43619))
 ;;; Generated autoloads from org/org-datetree.el
 
 (autoload 'org-datetree-find-date-create "org-datetree" "\
@@ -20197,7 +20251,7 @@ tree can be found.
 ;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open
 ;;;;;;  org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook
 ;;;;;;  org-export-as-docbook-to-buffer org-export-as-docbook-batch)
-;;;;;;  "org-docbook" "org/org-docbook.el" (20045 30713))
+;;;;;;  "org-docbook" "org/org-docbook.el" (20045 43619))
 ;;; Generated autoloads from org/org-docbook.el
 
 (autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -20274,7 +20328,7 @@ publishing directory.
 \f
 ;;;### (autoloads (org-insert-export-options-template org-export-as-org
 ;;;;;;  org-export-visible org-export) "org-exp" "org/org-exp.el"
-;;;;;;  (20045 30715))
+;;;;;;  (20064 65454))
 ;;; Generated autoloads from org/org-exp.el
 
 (autoload 'org-export "org-exp" "\
@@ -20335,8 +20389,8 @@ Insert into the buffer a template with information for exporting.
 ;;;***
 \f
 ;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
-;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (20045
-;;;;;;  30715))
+;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (20064
+;;;;;;  65463))
 ;;; Generated autoloads from org/org-feed.el
 
 (autoload 'org-feed-update-all "org-feed" "\
@@ -20364,7 +20418,7 @@ Show the raw feed buffer of a feed.
 ;;;***
 \f
 ;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
-;;;;;;  "org/org-footnote.el" (20045 30715))
+;;;;;;  "org/org-footnote.el" (20045 43619))
 ;;; Generated autoloads from org/org-footnote.el
 
 (autoload 'org-footnote-action "org-footnote" "\
@@ -20415,7 +20469,7 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
 ;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree
 ;;;;;;  org-freemind-from-org-mode org-freemind-from-org-mode-node
 ;;;;;;  org-freemind-show org-export-as-freemind) "org-freemind"
-;;;;;;  "org/org-freemind.el" (20045 31431))
+;;;;;;  "org/org-freemind.el" (20045 43619))
 ;;; Generated autoloads from org/org-freemind.el
 
 (autoload 'org-export-as-freemind "org-freemind" "\
@@ -20476,7 +20530,7 @@ Convert FreeMind file MM-FILE to `org-mode' file ORG-FILE.
 ;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html
 ;;;;;;  org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer
 ;;;;;;  org-export-as-html-batch org-export-as-html-and-open) "org-html"
-;;;;;;  "org/org-html.el" (20045 30715))
+;;;;;;  "org/org-html.el" (20064 65473))
 ;;; Generated autoloads from org/org-html.el
 
 (put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -20570,7 +20624,7 @@ that uses these same face definitions.
 \f
 ;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
 ;;;;;;  org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
-;;;;;;  (20045 30716))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-icalendar.el
 
 (autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -20598,7 +20652,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
 ;;;### (autoloads (org-id-store-link org-id-find-id-file org-id-find
 ;;;;;;  org-id-goto org-id-get-with-outline-drilling org-id-get-with-outline-path-completion
 ;;;;;;  org-id-get org-id-copy org-id-get-create) "org-id" "org/org-id.el"
-;;;;;;  (20045 30716))
+;;;;;;  (20064 65485))
 ;;; Generated autoloads from org/org-id.el
 
 (autoload 'org-id-get-create "org-id" "\
@@ -20667,7 +20721,7 @@ Store a link to the current entry, using its ID.
 ;;;***
 \f
 ;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
-;;;;;;  (20045 30716))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-indent.el
 
 (autoload 'org-indent-mode "org-indent" "\
@@ -20682,7 +20736,7 @@ FIXME:  How to update when broken?
 ;;;***
 \f
 ;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
-;;;;;;  (20045 30716))
+;;;;;;  (20064 65516))
 ;;; Generated autoloads from org/org-irc.el
 
 (autoload 'org-irc-store-link "org-irc" "\
@@ -20695,7 +20749,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
 ;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex
 ;;;;;;  org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer
 ;;;;;;  org-export-as-latex-batch) "org-latex" "org/org-latex.el"
-;;;;;;  (20045 30716))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-latex.el
 
 (autoload 'org-export-as-latex-batch "org-latex" "\
@@ -20775,8 +20829,8 @@ Export as LaTeX, then process through to PDF, and open.
 ;;;***
 \f
 ;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
-;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (20045
-;;;;;;  30717))
+;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (20064
+;;;;;;  65527))
 ;;; Generated autoloads from org/org-mobile.el
 
 (autoload 'org-mobile-push "org-mobile" "\
@@ -20801,7 +20855,7 @@ Create a file that contains all custom agenda views.
 ;;;***
 \f
 ;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
-;;;;;;  (20045 30717))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-plot.el
 
 (autoload 'org-plot/gnuplot "org-plot" "\
@@ -20815,7 +20869,7 @@ line directly before or after the table.
 \f
 ;;;### (autoloads (org-publish-current-project org-publish-current-file
 ;;;;;;  org-publish-all org-publish) "org-publish" "org/org-publish.el"
-;;;;;;  (20045 30718))
+;;;;;;  (20065 2))
 ;;; Generated autoloads from org/org-publish.el
 
 (defalias 'org-publish-project 'org-publish)
@@ -20849,7 +20903,7 @@ the project.
 \f
 ;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
 ;;;;;;  org-remember-annotation org-remember-insinuate) "org-remember"
-;;;;;;  "org/org-remember.el" (20045 30718))
+;;;;;;  "org/org-remember.el" (20065 23))
 ;;; Generated autoloads from org/org-remember.el
 
 (autoload 'org-remember-insinuate "org-remember" "\
@@ -20925,7 +20979,7 @@ See also the variable `org-reverse-note-order'.
 ;;;***
 \f
 ;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
-;;;;;;  "org-table" "org/org-table.el" (20045 30718))
+;;;;;;  "org-table" "org/org-table.el" (20045 43619))
 ;;; Generated autoloads from org/org-table.el
 
 (autoload 'turn-on-orgtbl "org-table" "\
@@ -20949,7 +21003,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
 ;;;***
 \f
 ;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler)
-;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20045 30718))
+;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20045 43619))
 ;;; Generated autoloads from org/org-taskjuggler.el
 
 (autoload 'org-export-as-taskjuggler "org-taskjuggler" "\
@@ -20977,7 +21031,7 @@ with the TaskJuggler GUI.
 \f
 ;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region
 ;;;;;;  org-timer org-timer-start) "org-timer" "org/org-timer.el"
-;;;;;;  (20045 30718))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-timer.el
 
 (autoload 'org-timer-start "org-timer" "\
@@ -21038,7 +21092,7 @@ replace any running timer.
 ;;;***
 \f
 ;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
-;;;;;;  (20045 30719))
+;;;;;;  (20045 43619))
 ;;; Generated autoloads from org/org-xoxo.el
 
 (autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -21050,7 +21104,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*
 ;;;***
 \f
 ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;;  (19886 45771))
+;;;;;;  (20087 36265))
 ;;; Generated autoloads from outline.el
 (put 'outline-regexp 'safe-local-variable 'stringp)
 (put 'outline-heading-end-regexp 'safe-local-variable 'stringp)
@@ -21111,7 +21165,7 @@ See the command `outline-mode' for more information on this mode.
 ;;;### (autoloads (list-packages describe-package package-initialize
 ;;;;;;  package-install-file package-install-from-buffer package-install
 ;;;;;;  package-enable-at-startup) "package" "emacs-lisp/package.el"
-;;;;;;  (20059 26455))
+;;;;;;  (20087 36265))
 ;;; Generated autoloads from emacs-lisp/package.el
 
 (defvar package-enable-at-startup t "\
@@ -21174,7 +21228,7 @@ The list is displayed in a buffer named `*Packages*'.
 
 ;;;***
 \f
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (19845 45374))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20075 38050))
 ;;; Generated autoloads from paren.el
 
 (defvar show-paren-mode nil "\
@@ -21199,7 +21253,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time.
 ;;;***
 \f
 ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from calendar/parse-time.el
 (put 'parse-time-rules 'risky-local-variable t)
 
@@ -21212,8 +21266,8 @@ unknown are returned as nil.
 
 ;;;***
 \f
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19968
-;;;;;;  28627))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19973
+;;;;;;  21789))
 ;;; Generated autoloads from progmodes/pascal.el
 
 (autoload 'pascal-mode "pascal" "\
@@ -21266,7 +21320,7 @@ no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache)
-;;;;;;  "password-cache" "password-cache.el" (19845 45374))
+;;;;;;  "password-cache" "password-cache.el" (20089 62475))
 ;;; Generated autoloads from password-cache.el
 
 (defvar password-cache t "\
@@ -21288,7 +21342,7 @@ Check if KEY is in the cache.
 ;;;***
 \f
 ;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el"
-;;;;;;  (19863 8742))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from emacs-lisp/pcase.el
 
 (autoload 'pcase "pcase" "\
@@ -21347,8 +21401,8 @@ of the form (UPAT EXP).
 
 ;;;***
 \f
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from pcmpl-cvs.el
 
 (autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -21359,7 +21413,7 @@ Completion rules for the `cvs' command.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (19845 45374))
+;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (19776 18657))
 ;;; Generated autoloads from pcmpl-gnu.el
 
 (autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -21387,7 +21441,7 @@ Completion for the GNU tar utility.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (19986 58615))
+;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (19986 9815))
 ;;; Generated autoloads from pcmpl-linux.el
 
 (autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -21407,8 +21461,8 @@ Completion for GNU/Linux `mount'.
 
 ;;;***
 \f
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19961
-;;;;;;  55377))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19960
+;;;;;;  64955))
 ;;; Generated autoloads from pcmpl-rpm.el
 
 (autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -21420,7 +21474,7 @@ Completion for the `rpm' command.
 \f
 ;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown
 ;;;;;;  pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir
-;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19845 45374))
+;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19776 18657))
 ;;; Generated autoloads from pcmpl-unix.el
 
 (autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -21477,8 +21531,8 @@ Includes files as well as host names followed by a colon.
 \f
 ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
 ;;;;;;  pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
-;;;;;;  pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20051
-;;;;;;  32345))
+;;;;;;  pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20089
+;;;;;;  62475))
 ;;; Generated autoloads from pcomplete.el
 
 (autoload 'pcomplete "pcomplete" "\
@@ -21537,7 +21591,7 @@ Setup `shell-mode' to use pcomplete.
 \f
 ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
 ;;;;;;  cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;;  "vc/pcvs.el" (19845 45374))
+;;;;;;  "vc/pcvs.el" (19776 18657))
 ;;; Generated autoloads from vc/pcvs.el
 
 (autoload 'cvs-checkout "pcvs" "\
@@ -21612,7 +21666,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
 
 ;;;***
 \f
-;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20062 2656))
+;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20060 65453))
 ;;; Generated autoloads from vc/pcvs-defs.el
 
 (defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)))
@@ -21620,7 +21674,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
 ;;;***
 \f
 ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;;  (19911 48973))
+;;;;;;  (19910 57138))
 ;;; Generated autoloads from progmodes/perl-mode.el
 (put 'perl-indent-level 'safe-local-variable 'integerp)
 (put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -21682,7 +21736,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20092 45613))
 ;;; Generated autoloads from textmodes/picture.el
 
 (autoload 'picture-mode "picture" "\
@@ -21762,8 +21816,8 @@ they are not defaultly assigned to keys.
 
 ;;;***
 \f
-;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (19990
-;;;;;;  55648))
+;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20076
+;;;;;;  61048))
 ;;; Generated autoloads from gnus/plstore.el
 
 (autoload 'plstore-open "plstore" "\
@@ -21774,7 +21828,7 @@ Create a plstore instance associated with FILE.
 ;;;***
 \f
 ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/po.el
 
 (autoload 'po-find-file-coding-system "po" "\
@@ -21785,7 +21839,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
 
 ;;;***
 \f
-;;;### (autoloads (pong) "pong" "play/pong.el" (19845 45374))
+;;;### (autoloads (pong) "pong" "play/pong.el" (19797 54173))
 ;;; Generated autoloads from play/pong.el
 
 (autoload 'pong "pong" "\
@@ -21801,7 +21855,7 @@ pong-mode keybindings:\\<pong-mode-map>
 
 ;;;***
 \f
-;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20048 56149))
+;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20090 40643))
 ;;; Generated autoloads from gnus/pop3.el
 
 (autoload 'pop3-movemail "pop3" "\
@@ -21814,7 +21868,7 @@ Use streaming commands.
 \f
 ;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression
 ;;;;;;  pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emacs-lisp/pp.el
 
 (autoload 'pp-to-string "pp" "\
@@ -21882,7 +21936,7 @@ Ignores leading comment characters.
 ;;;;;;  pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
 ;;;;;;  pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
 ;;;;;;  pr-ps-directory-preview pr-interface) "printing" "printing.el"
-;;;;;;  (19999 41597))
+;;;;;;  (20001 58878))
 ;;; Generated autoloads from printing.el
 
 (autoload 'pr-interface "printing" "\
@@ -22469,7 +22523,7 @@ are both set to t.
 
 ;;;***
 \f
-;;;### (autoloads (proced) "proced" "proced.el" (20053 39261))
+;;;### (autoloads (proced) "proced" "proced.el" (20053 38615))
 ;;; Generated autoloads from proced.el
 
 (autoload 'proced "proced" "\
@@ -22485,7 +22539,7 @@ See `proced-mode' for a description of features available in Proced buffers.
 ;;;***
 \f
 ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog"
-;;;;;;  "progmodes/prolog.el" (19890 42850))
+;;;;;;  "progmodes/prolog.el" (19891 13894))
 ;;; Generated autoloads from progmodes/prolog.el
 
 (autoload 'prolog-mode "prolog" "\
@@ -22520,8 +22574,8 @@ With prefix argument ARG, restart the Prolog process if running before.
 
 ;;;***
 \f
-;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19786
+;;;;;;  56076))
 ;;; Generated autoloads from ps-bdf.el
 
 (defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
@@ -22532,8 +22586,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
 
 ;;;***
 \f
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19961
-;;;;;;  55377))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19960
+;;;;;;  63962))
 ;;; Generated autoloads from progmodes/ps-mode.el
 
 (autoload 'ps-mode "ps-mode" "\
@@ -22584,8 +22638,8 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number
 ;;;;;;  ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
 ;;;;;;  ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
 ;;;;;;  ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
-;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (19931
-;;;;;;  11784))
+;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (20089
+;;;;;;  62475))
 ;;; Generated autoloads from ps-print.el
 
 (defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\
@@ -22782,7 +22836,7 @@ If EXTENSION is any other symbol, it is ignored.
 ;;;***
 \f
 ;;;### (autoloads (jython-mode python-mode python-after-info-look
-;;;;;;  run-python) "python" "progmodes/python.el" (19975 1875))
+;;;;;;  run-python) "python" "progmodes/python.el" (20075 52608))
 ;;; Generated autoloads from progmodes/python.el
 
 (add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -22868,7 +22922,7 @@ Runs `jython-mode-hook' after `python-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/qp.el
 
 (autoload 'quoted-printable-decode-region "qp" "\
@@ -22891,7 +22945,7 @@ them into characters should be done separately.
 ;;;;;;  quail-defrule quail-install-decode-map quail-install-map
 ;;;;;;  quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
 ;;;;;;  quail-define-package quail-use-package quail-title) "quail"
-;;;;;;  "international/quail.el" (19943 25429))
+;;;;;;  "international/quail.el" (19946 35279))
 ;;; Generated autoloads from international/quail.el
 
 (autoload 'quail-title "quail" "\
@@ -23123,7 +23177,7 @@ of each directory.
 ;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls
 ;;;;;;  quickurl-browse-url-ask quickurl-browse-url quickurl-add-url
 ;;;;;;  quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20054
-;;;;;;  8529))
+;;;;;;  26468))
 ;;; Generated autoloads from net/quickurl.el
 
 (defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\
@@ -23195,7 +23249,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
 ;;;***
 \f
 ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
-;;;;;;  "net/rcirc.el" (20058 5591))
+;;;;;;  "net/rcirc.el" (20072 59809))
 ;;; Generated autoloads from net/rcirc.el
 
 (autoload 'rcirc "rcirc" "\
@@ -23230,8 +23284,8 @@ Global minor mode for tracking activity in rcirc buffers.
 
 ;;;***
 \f
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from net/rcompile.el
 
 (autoload 'remote-compile "rcompile" "\
@@ -23243,7 +23297,7 @@ See \\[compile].
 ;;;***
 \f
 ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;;  (19975 1875))
+;;;;;;  (19974 43253))
 ;;; Generated autoloads from emacs-lisp/re-builder.el
 
 (defalias 'regexp-builder 're-builder)
@@ -23261,7 +23315,7 @@ matching parts of the target buffer will be highlighted.
 
 ;;;***
 \f
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19886 45771))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19888 59421))
 ;;; Generated autoloads from recentf.el
 
 (defvar recentf-mode nil "\
@@ -23289,7 +23343,7 @@ that were operated on recently.
 ;;;;;;  string-rectangle delete-whitespace-rectangle open-rectangle
 ;;;;;;  insert-rectangle yank-rectangle kill-rectangle extract-rectangle
 ;;;;;;  delete-extract-rectangle delete-rectangle) "rect" "rect.el"
-;;;;;;  (19999 41597))
+;;;;;;  (20001 58878))
 ;;; Generated autoloads from rect.el
  (define-key ctl-x-r-map "c" 'clear-rectangle)
  (define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -23425,8 +23479,8 @@ with a prefix argument, prompt for START-AT and FORMAT.
 
 ;;;***
 \f
-;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from textmodes/refill.el
 
 (autoload 'refill-mode "refill" "\
@@ -23442,7 +23496,7 @@ refilling if they would cause auto-filling.
 ;;;***
 \f
 ;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (19845 45374))
+;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (19874 14841))
 ;;; Generated autoloads from textmodes/reftex.el
 
 (autoload 'turn-on-reftex "reftex" "\
@@ -23492,7 +23546,7 @@ This enforces rescanning the buffer on next use.
 ;;;***
 \f
 ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/reftex-cite.el
 
 (autoload 'reftex-citation "reftex-cite" "\
@@ -23522,7 +23576,7 @@ While entering the regexp, completion on knows citation keys is possible.
 ;;;***
 \f
 ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/reftex-global.el
 
 (autoload 'reftex-isearch-minor-mode "reftex-global" "\
@@ -23539,7 +23593,7 @@ With no argument, this command toggles
 ;;;***
 \f
 ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19799 6822))
 ;;; Generated autoloads from textmodes/reftex-index.el
 
 (autoload 'reftex-index-phrases-mode "reftex-index" "\
@@ -23572,7 +23626,7 @@ Here are all local bindings.
 ;;;***
 \f
 ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;;  (19980 19797))
+;;;;;;  (19980 46525))
 ;;; Generated autoloads from textmodes/reftex-parse.el
 
 (autoload 'reftex-all-document-files "reftex-parse" "\
@@ -23584,8 +23638,8 @@ of master file.
 
 ;;;***
 \f
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19845
-;;;;;;  45374))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from textmodes/reftex-vars.el
 (put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
 (put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
@@ -23595,7 +23649,7 @@ of master file.
 ;;;***
 \f
 ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emacs-lisp/regexp-opt.el
 
 (autoload 'regexp-opt "regexp-opt" "\
@@ -23626,7 +23680,7 @@ This means the number of non-shy regexp grouping constructs
 \f
 ;;;### (autoloads (remember-diary-extract-entries remember-clipboard
 ;;;;;;  remember-other-frame remember) "remember" "textmodes/remember.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/remember.el
 
 (autoload 'remember "remember" "\
@@ -23657,7 +23711,7 @@ Extract diary entries from the region.
 
 ;;;***
 \f
-;;;### (autoloads (repeat) "repeat" "repeat.el" (19951 19539))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (19954 15126))
 ;;; Generated autoloads from repeat.el
 
 (autoload 'repeat "repeat" "\
@@ -23680,7 +23734,7 @@ recently executed command not bound to an input event\".
 ;;;***
 \f
 ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20075 52023))
 ;;; Generated autoloads from mail/reporter.el
 
 (autoload 'reporter-submit-bug-report "reporter" "\
@@ -23712,7 +23766,7 @@ mail-sending package is used for editing and sending the message.
 ;;;***
 \f
 ;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from reposition.el
 
 (autoload 'reposition-window "reposition" "\
@@ -23739,7 +23793,7 @@ first comment line visible (if point is in a comment).
 ;;;***
 \f
 ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;;  (19863 8742))
+;;;;;;  (19875 21674))
 ;;; Generated autoloads from reveal.el
 
 (autoload 'reveal-mode "reveal" "\
@@ -23774,7 +23828,7 @@ With zero or negative ARG turn mode off.
 ;;;***
 \f
 ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emacs-lisp/ring.el
 
 (autoload 'ring-p "ring" "\
@@ -23789,9 +23843,8 @@ Make a ring that can contain SIZE elements.
 
 ;;;***
 \f
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (19870 57559))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20091 22763))
 ;;; Generated autoloads from net/rlogin.el
- (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)"))
 
 (autoload 'rlogin "rlogin" "\
 Open a network login connection via `rlogin' with args INPUT-ARGS.
@@ -23839,7 +23892,7 @@ variable.
 ;;;;;;  rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
 ;;;;;;  rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
 ;;;;;;  rmail-user-mail-address-regexp rmail-movemail-variant-p)
-;;;;;;  "rmail" "mail/rmail.el" (20063 23511))
+;;;;;;  "rmail" "mail/rmail.el" (20094 5175))
 ;;; Generated autoloads from mail/rmail.el
 
 (autoload 'rmail-movemail-variant-p "rmail" "\
@@ -24023,7 +24076,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
 ;;;***
 \f
 ;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen
-;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (19845 45374))
+;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (19776 18657))
 ;;; Generated autoloads from mail/rmailout.el
 (put 'rmail-output-file-alist 'risky-local-variable t)
 
@@ -24088,7 +24141,7 @@ than appending to it.  Deletes the message after writing if
 ;;;***
 \f
 ;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from nxml/rng-cmpct.el
 
 (autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -24100,7 +24153,7 @@ Return a pattern.
 ;;;***
 \f
 ;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from nxml/rng-nxml.el
 
 (autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -24113,7 +24166,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from nxml/rng-valid.el
 
 (autoload 'rng-validate-mode "rng-valid" "\
@@ -24143,8 +24196,8 @@ to use for finding the schema.
 
 ;;;***
 \f
-;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19930
-;;;;;;  13389))
+;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19929
+;;;;;;  26529))
 ;;; Generated autoloads from nxml/rng-xsd.el
 
 (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile)
@@ -24172,7 +24225,7 @@ must be equal.
 ;;;***
 \f
 ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
-;;;;;;  "robin" "international/robin.el" (19845 45374))
+;;;;;;  "robin" "international/robin.el" (19764 32359))
 ;;; Generated autoloads from international/robin.el
 
 (autoload 'robin-define-package "robin" "\
@@ -24205,7 +24258,7 @@ Start using robin package NAME, which is a string.
 ;;;***
 \f
 ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;;  rot13-string rot13) "rot13" "rot13.el" (19845 45374))
+;;;;;;  rot13-string rot13) "rot13" "rot13.el" (19776 18657))
 ;;; Generated autoloads from rot13.el
 
 (autoload 'rot13 "rot13" "\
@@ -24243,7 +24296,7 @@ Toggle the use of ROT13 encoding for the current window.
 ;;;***
 \f
 ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
-;;;;;;  (19986 58615))
+;;;;;;  (19987 9666))
 ;;; Generated autoloads from textmodes/rst.el
  (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
 
@@ -24281,7 +24334,7 @@ for modes derived from Text mode, like Mail mode.
 ;;;***
 \f
 ;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 15752))
 ;;; Generated autoloads from progmodes/ruby-mode.el
 
 (autoload 'ruby-mode "ruby-mode" "\
@@ -24302,8 +24355,8 @@ The variable `ruby-indent-level' controls the amount of indentation.
 
 ;;;***
 \f
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from ruler-mode.el
 
 (defvar ruler-mode nil "\
@@ -24319,7 +24372,7 @@ In Ruler mode, Emacs displays a ruler in the header line.
 ;;;***
 \f
 ;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (19965
-;;;;;;  52428))
+;;;;;;  4989))
 ;;; Generated autoloads from emacs-lisp/rx.el
 
 (autoload 'rx-to-string "rx" "\
@@ -24630,8 +24683,8 @@ enclosed in `(and ...)'.
 
 ;;;***
 \f
-;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (19886
-;;;;;;  45771))
+;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from savehist.el
 
 (defvar savehist-mode nil "\
@@ -24659,7 +24712,7 @@ which is probably undesirable.
 ;;;***
 \f
 ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;;  (20050 11479))
+;;;;;;  (20079 43146))
 ;;; Generated autoloads from progmodes/scheme.el
 
 (autoload 'scheme-mode "scheme" "\
@@ -24701,7 +24754,7 @@ that variable's value is a string.
 ;;;***
 \f
 ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/score-mode.el
 
 (autoload 'gnus-score-mode "score-mode" "\
@@ -24715,7 +24768,7 @@ This mode is an extended emacs-lisp mode.
 ;;;***
 \f
 ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from scroll-all.el
 
 (defvar scroll-all-mode nil "\
@@ -24738,7 +24791,7 @@ apply to all visible windows in the same frame.
 ;;;***
 \f
 ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from scroll-lock.el
 
 (autoload 'scroll-lock-mode "scroll-lock" "\
@@ -24752,7 +24805,7 @@ during scrolling.
 
 ;;;***
 \f
-;;;### (autoloads nil "secrets" "net/secrets.el" (19845 45374))
+;;;### (autoloads nil "secrets" "net/secrets.el" (19776 18657))
 ;;; Generated autoloads from net/secrets.el
 (when (featurep 'dbusbind)
  (autoload 'secrets-show-secrets "secrets" nil t))
@@ -24760,7 +24813,7 @@ during scrolling.
 ;;;***
 \f
 ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
-;;;;;;  "cedet/semantic.el" (19981 40664))
+;;;;;;  "cedet/semantic.el" (19983 37515))
 ;;; Generated autoloads from cedet/semantic.el
 
 (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -24805,14 +24858,14 @@ Semantic mode.
 ;;;***
 \f
 ;;;### (autoloads (mail-other-frame mail-other-window mail mail-mailing-lists
-;;;;;;  mail-mode sendmail-user-agent-compose mail-default-headers
-;;;;;;  mail-default-directory mail-signature-file mail-signature
-;;;;;;  mail-citation-prefix-regexp mail-citation-hook mail-indentation-spaces
-;;;;;;  mail-yank-prefix mail-setup-hook mail-personal-alias-file
-;;;;;;  mail-default-reply-to mail-archive-file-name mail-header-separator
-;;;;;;  sendmail-query-once send-mail-function mail-interactive mail-self-blind
-;;;;;;  mail-specify-envelope-from mail-from-style) "sendmail" "mail/sendmail.el"
-;;;;;;  (20025 8284))
+;;;;;;  mail-mode sendmail-user-agent-compose sendmail-query-once
+;;;;;;  mail-default-headers mail-default-directory mail-signature-file
+;;;;;;  mail-signature mail-citation-prefix-regexp mail-citation-hook
+;;;;;;  mail-indentation-spaces mail-yank-prefix mail-setup-hook
+;;;;;;  mail-personal-alias-file mail-default-reply-to mail-archive-file-name
+;;;;;;  mail-header-separator send-mail-function mail-interactive
+;;;;;;  mail-self-blind mail-specify-envelope-from mail-from-style)
+;;;;;;  "sendmail" "mail/sendmail.el" (20091 22952))
 ;;; Generated autoloads from mail/sendmail.el
 
 (defvar mail-from-style 'default "\
@@ -24865,13 +24918,6 @@ This is used by the default mail-sending commands.  See also
 
 (custom-autoload 'send-mail-function "sendmail" t)
 
-(autoload 'sendmail-query-once "sendmail" "\
-Send an email via `sendmail-query-once-function'.
-If `sendmail-query-once-function' is `query', ask the user what
-function to use, and then save that choice.
-
-\(fn)" nil nil)
-
 (defvar mail-header-separator (purecopy "--text follows this line--") "\
 Line used to separate headers from text in messages being composed.")
 
@@ -24977,6 +25023,12 @@ before you edit the message, so you can edit or delete the lines.")
 
 (custom-autoload 'mail-default-headers "sendmail" t)
 
+(autoload 'sendmail-query-once "sendmail" "\
+Query for `send-mail-function' and send mail with it.
+This also saves the value of `send-mail-function' via Customize.
+
+\(fn)" nil nil)
+
 (define-mail-user-agent 'sendmail-user-agent 'sendmail-user-agent-compose 'mail-send-and-exit)
 
 (autoload 'sendmail-user-agent-compose "sendmail" "\
@@ -25001,6 +25053,8 @@ Here are commands that move to a header field (and create it if there isn't):
 \\[mail-signature]  mail-signature (insert `mail-signature-file' file).
 \\[mail-yank-original]  mail-yank-original (insert current message, in Rmail).
 \\[mail-fill-yanked-message]  mail-fill-yanked-message (fill what was yanked).
+\\[mail-insert-file] insert a text file into the message.
+\\[mail-add-attachment] attach to the message a file as binary attachment.
 Turning on Mail mode runs the normal hooks `text-mode-hook' and
 `mail-mode-hook' (in that order).
 
@@ -25029,8 +25083,6 @@ User should not set this variable manually,
 instead use `sendmail-coding-system' to get a constant encoding
 of outgoing mails regardless of the current language environment.
 See also the function `select-message-coding-system'.")
- (add-hook 'same-window-buffer-names (purecopy "*mail*"))
- (add-hook 'same-window-buffer-names (purecopy "*unsent mail*"))
 
 (autoload 'mail "sendmail" "\
 Edit a message to be sent.  Prefix arg means resume editing (don't erase).
@@ -25095,8 +25147,8 @@ Like `mail' command, but display mail buffer in another frame.
 ;;;***
 \f
 ;;;### (autoloads (server-save-buffers-kill-terminal server-mode
-;;;;;;  server-force-delete server-start) "server" "server.el" (20059
-;;;;;;  26455))
+;;;;;;  server-force-delete server-start) "server" "server.el" (20058
+;;;;;;  26006))
 ;;; Generated autoloads from server.el
 
 (put 'server-host 'risky-local-variable t)
@@ -25159,7 +25211,7 @@ only these files will be asked to be saved.
 
 ;;;***
 \f
-;;;### (autoloads (ses-mode) "ses" "ses.el" (19980 19797))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (19980 46525))
 ;;; Generated autoloads from ses.el
 
 (autoload 'ses-mode "ses" "\
@@ -25178,7 +25230,7 @@ These are active only in the minibuffer, when entering or editing a formula:
 ;;;***
 \f
 ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19874 14841))
 ;;; Generated autoloads from textmodes/sgml-mode.el
 
 (autoload 'sgml-mode "sgml-mode" "\
@@ -25244,7 +25296,7 @@ To work around that, do:
 ;;;***
 \f
 ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;;  (20051 32345))
+;;;;;;  (20051 48058))
 ;;; Generated autoloads from progmodes/sh-script.el
 (put 'sh-shell 'safe-local-variable 'symbolp)
 
@@ -25309,7 +25361,7 @@ with your script for an edit-interpret-debug cycle.
 ;;;***
 \f
 ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19783 19497))
 ;;; Generated autoloads from emacs-lisp/shadow.el
 
 (autoload 'list-load-path-shadows "shadow" "\
@@ -25359,8 +25411,8 @@ function, `load-path-shadows-find'.
 ;;;***
 \f
 ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
-;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (19886
-;;;;;;  45771))
+;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from shadowfile.el
 
 (autoload 'shadow-define-cluster "shadowfile" "\
@@ -25399,7 +25451,7 @@ Set up file shadowing.
 ;;;***
 \f
 ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;;  (20058 5591))
+;;;;;;  (20091 22521))
 ;;; Generated autoloads from shell.el
 
 (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -25444,12 +25496,11 @@ Otherwise, one argument `-i' is passed to the shell.
 \(Type \\[describe-mode] in the shell buffer for a list of commands.)
 
 \(fn &optional BUFFER)" t nil)
- (add-hook 'same-window-buffer-names (purecopy "*shell*"))
 
 ;;;***
 \f
-;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20007
-;;;;;;  64734))
+;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20094
+;;;;;;  36595))
 ;;; Generated autoloads from gnus/shr.el
 
 (autoload 'shr-insert-document "shr" "\
@@ -25460,7 +25511,7 @@ Otherwise, one argument `-i' is passed to the shell.
 ;;;***
 \f
 ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;;  "sieve" "gnus/sieve.el" (19845 45374))
+;;;;;;  "sieve" "gnus/sieve.el" (19821 48406))
 ;;; Generated autoloads from gnus/sieve.el
 
 (autoload 'sieve-manage "sieve" "\
@@ -25481,7 +25532,7 @@ Otherwise, one argument `-i' is passed to the shell.
 ;;;***
 \f
 ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from gnus/sieve-mode.el
 
 (autoload 'sieve-mode "sieve-mode" "\
@@ -25496,8 +25547,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19890
-;;;;;;  42850))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19891
+;;;;;;  13894))
 ;;; Generated autoloads from progmodes/simula.el
 
 (autoload 'simula-mode "simula" "\
@@ -25546,7 +25597,7 @@ with no arguments, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;;  define-skeleton) "skeleton" "skeleton.el" (19845 45374))
+;;;;;;  define-skeleton) "skeleton" "skeleton.el" (19776 18657))
 ;;; Generated autoloads from skeleton.el
 
 (defvar skeleton-filter-function 'identity "\
@@ -25656,7 +25707,7 @@ symmetrical ones, and the same character twice for the others.
 ;;;***
 \f
 ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff)
-;;;;;;  "smerge-mode" "vc/smerge-mode.el" (19946 1612))
+;;;;;;  "smerge-mode" "vc/smerge-mode.el" (19946 35279))
 ;;; Generated autoloads from vc/smerge-mode.el
 
 (autoload 'smerge-ediff "smerge-mode" "\
@@ -25681,7 +25732,7 @@ If no conflict maker is found, turn off `smerge-mode'.
 ;;;***
 \f
 ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;;  (19939 28373))
+;;;;;;  (19939 48196))
 ;;; Generated autoloads from gnus/smiley.el
 
 (autoload 'smiley-region "smiley" "\
@@ -25699,7 +25750,7 @@ interactively.  If there's no argument, do it at the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
-;;;;;;  "mail/smtpmail.el" (20053 39293))
+;;;;;;  "mail/smtpmail.el" (20086 2758))
 ;;; Generated autoloads from mail/smtpmail.el
 
 (autoload 'smtpmail-send-it "smtpmail" "\
@@ -25714,7 +25765,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
 
 ;;;***
 \f
-;;;### (autoloads (snake) "snake" "play/snake.el" (19845 45374))
+;;;### (autoloads (snake) "snake" "play/snake.el" (19797 54173))
 ;;; Generated autoloads from play/snake.el
 
 (autoload 'snake "snake" "\
@@ -25738,7 +25789,7 @@ Snake mode keybindings:
 ;;;***
 \f
 ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from net/snmp-mode.el
 
 (autoload 'snmp-mode "snmp-mode" "\
@@ -25767,8 +25818,8 @@ then `snmpv2-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19886
-;;;;;;  45771))
+;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from calendar/solar.el
 
 (autoload 'sunrise-sunset "solar" "\
@@ -25783,8 +25834,8 @@ This function is suitable for execution in a .emacs file.
 
 ;;;***
 \f
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19889
-;;;;;;  21967))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from play/solitaire.el
 
 (autoload 'solitaire "solitaire" "\
@@ -25861,7 +25912,7 @@ Pick your favourite shortcuts:
 \f
 ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
 ;;;;;;  sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;;  sort-lines sort-subr) "sort" "sort.el" (19845 45374))
+;;;;;;  sort-lines sort-subr) "sort" "sort.el" (19776 18657))
 ;;; Generated autoloads from sort.el
 (put 'sort-fold-case 'safe-local-variable 'booleanp)
 
@@ -26005,8 +26056,8 @@ From a program takes two point or marker arguments, BEG and END.
 
 ;;;***
 \f
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20022
-;;;;;;  32083))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20021
+;;;;;;  60891))
 ;;; Generated autoloads from gnus/spam.el
 
 (autoload 'spam-initialize "spam" "\
@@ -26022,7 +26073,7 @@ installed through `spam-necessary-extra-headers'.
 \f
 ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file
 ;;;;;;  spam-report-url-ping-mm-url spam-report-process-queue) "spam-report"
-;;;;;;  "gnus/spam-report.el" (19845 45374))
+;;;;;;  "gnus/spam-report.el" (19776 18657))
 ;;; Generated autoloads from gnus/spam-report.el
 
 (autoload 'spam-report-process-queue "spam-report" "\
@@ -26065,7 +26116,7 @@ Spam reports will be queued with the method used when
 ;;;***
 \f
 ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;;  "speedbar.el" (19886 45771))
+;;;;;;  "speedbar.el" (19888 59421))
 ;;; Generated autoloads from speedbar.el
 
 (defalias 'speedbar 'speedbar-frame-mode)
@@ -26089,8 +26140,8 @@ selected.  If the speedbar frame is active, then select the attached frame.
 
 ;;;***
 \f
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from play/spook.el
 
 (autoload 'spook "spook" "\
@@ -26109,7 +26160,7 @@ Return a vector containing the lines from `spook-phrases-file'.
 ;;;;;;  sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
 ;;;;;;  sql-sybase sql-oracle sql-product-interactive sql-connect
 ;;;;;;  sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el"
-;;;;;;  (19988 13913))
+;;;;;;  (20091 19552))
 ;;; Generated autoloads from progmodes/sql.el
 
 (autoload 'sql-add-product-keywords "sql" "\
@@ -26605,7 +26656,7 @@ buffer.
 ;;;***
 \f
 ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from cedet/srecode/srt-mode.el
 
 (autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -26618,7 +26669,7 @@ Major-mode for writing SRecode macros.
 ;;;***
 \f
 ;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el"
-;;;;;;  (20047 35303))
+;;;;;;  (20048 1180))
 ;;; Generated autoloads from gnus/starttls.el
 
 (autoload 'starttls-open-stream "starttls" "\
@@ -26645,8 +26696,8 @@ GNUTLS requires a port number.
 ;;;;;;  strokes-mode strokes-list-strokes strokes-load-user-strokes
 ;;;;;;  strokes-help strokes-describe-stroke strokes-do-complex-stroke
 ;;;;;;  strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
-;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (19886
-;;;;;;  45771))
+;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from strokes.el
 
 (autoload 'strokes-global-set-stroke "strokes" "\
@@ -26756,7 +26807,7 @@ Read a complex stroke and insert its glyph into the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;;  "studly" "play/studly.el" (19845 45374))
+;;;;;;  "studly" "play/studly.el" (19764 32359))
 ;;; Generated autoloads from play/studly.el
 
 (autoload 'studlify-region "studly" "\
@@ -26777,7 +26828,7 @@ Studlify-case the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from progmodes/subword.el
 
 (autoload 'subword-mode "subword" "\
@@ -26825,7 +26876,7 @@ See `subword-mode' for more information on Subword mode.
 ;;;***
 \f
 ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from mail/supercite.el
 
 (autoload 'sc-cite-original "supercite" "\
@@ -26857,8 +26908,8 @@ and `sc-post-hook' is run after the guts of this function.
 
 ;;;***
 \f
-;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from t-mouse.el
 
 (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -26885,7 +26936,7 @@ It relies on the `gpm' daemon being activated.
 
 ;;;***
 \f
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19998 49767))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19998 2003))
 ;;; Generated autoloads from tabify.el
 
 (autoload 'untabify "tabify" "\
@@ -26920,7 +26971,7 @@ The variable `tab-width' controls the spacing of tab stops.
 ;;;;;;  table-recognize table-insert-row-column table-insert-column
 ;;;;;;  table-insert-row table-insert table-point-left-cell-hook
 ;;;;;;  table-point-entered-cell-hook table-load-hook table-cell-map-hook)
-;;;;;;  "table" "textmodes/table.el" (19845 45374))
+;;;;;;  "table" "textmodes/table.el" (19776 18657))
 ;;; Generated autoloads from textmodes/table.el
 
 (defvar table-cell-map-hook nil "\
@@ -27509,7 +27560,7 @@ converts a table into plain text without frames.  It is a companion to
 ;;;***
 \f
 ;;;### (autoloads (tabulated-list-mode) "tabulated-list" "emacs-lisp/tabulated-list.el"
-;;;;;;  (20045 30688))
+;;;;;;  (20045 40021))
 ;;; Generated autoloads from emacs-lisp/tabulated-list.el
 
 (autoload 'tabulated-list-mode "tabulated-list" "\
@@ -27551,7 +27602,7 @@ as the ewoc pretty-printer.
 
 ;;;***
 \f
-;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19886 45771))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19888 59421))
 ;;; Generated autoloads from talk.el
 
 (autoload 'talk-connect "talk" "\
@@ -27566,7 +27617,7 @@ Connect to the Emacs talk group from the current X display or tty frame.
 
 ;;;***
 \f
-;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19977 43600))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19976 61778))
 ;;; Generated autoloads from tar-mode.el
 
 (autoload 'tar-mode "tar-mode" "\
@@ -27590,7 +27641,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
 ;;;***
 \f
 ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;;  "progmodes/tcl.el" (19890 42850))
+;;;;;;  "progmodes/tcl.el" (19891 13894))
 ;;; Generated autoloads from progmodes/tcl.el
 
 (autoload 'tcl-mode "tcl" "\
@@ -27638,9 +27689,8 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
 
 ;;;***
 \f
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (19845 45374))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20091 22775))
 ;;; Generated autoloads from net/telnet.el
- (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)"))
 
 (autoload 'telnet "telnet" "\
 Open a network login connection to host named HOST (a string).
@@ -27654,7 +27704,6 @@ falling back on the value of the global variable `telnet-program'.
 Normally input is edited in Emacs and sent a line at a time.
 
 \(fn HOST &optional PORT)" t nil)
- (add-hook 'same-window-regexps (purecopy "\\*rsh-[^-]*\\*\\(\\|<[0-9]*>\\)"))
 
 (autoload 'rsh "telnet" "\
 Open a network login connection to host named HOST (a string).
@@ -27666,7 +27715,7 @@ Normally input is edited in Emacs and sent a line at a time.
 ;;;***
 \f
 ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
-;;;;;;  (20050 11479))
+;;;;;;  (20049 18044))
 ;;; Generated autoloads from term.el
 
 (autoload 'make-term "term" "\
@@ -27708,8 +27757,8 @@ use in that buffer.
 
 ;;;***
 \f
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19931
-;;;;;;  11784))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19933
+;;;;;;  8482))
 ;;; Generated autoloads from terminal.el
 
 (autoload 'terminal-emulator "terminal" "\
@@ -27746,7 +27795,7 @@ subprocess started.
 ;;;***
 \f
 ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;;  (19998 49767))
+;;;;;;  (19998 18685))
 ;;; Generated autoloads from emacs-lisp/testcover.el
 
 (autoload 'testcover-this-defun "testcover" "\
@@ -27756,7 +27805,7 @@ Start coverage on function under point.
 
 ;;;***
 \f
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19889 21967))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19888 59421))
 ;;; Generated autoloads from play/tetris.el
 
 (autoload 'tetris "tetris" "\
@@ -27787,7 +27836,7 @@ tetris-mode keybindings:
 ;;;;;;  tex-start-commands tex-start-options slitex-run-command latex-run-command
 ;;;;;;  tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
 ;;;;;;  tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19779 19681))
 ;;; Generated autoloads from textmodes/tex-mode.el
 
 (defvar tex-shell-file-name nil "\
@@ -28089,7 +28138,7 @@ Major mode to edit DocTeX files.
 ;;;***
 \f
 ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;;  "texinfmt" "textmodes/texinfmt.el" (19845 45374))
+;;;;;;  "texinfmt" "textmodes/texinfmt.el" (19776 18657))
 ;;; Generated autoloads from textmodes/texinfmt.el
 
 (autoload 'texinfo-format-buffer "texinfmt" "\
@@ -28129,7 +28178,7 @@ if large.  You can use `Info-split' to do this manually.
 ;;;***
 \f
 ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
-;;;;;;  "texinfo" "textmodes/texinfo.el" (19845 45374))
+;;;;;;  "texinfo" "textmodes/texinfo.el" (19874 14950))
 ;;; Generated autoloads from textmodes/texinfo.el
 
 (defvar texinfo-open-quote (purecopy "``") "\
@@ -28215,7 +28264,7 @@ value of `texinfo-mode-hook'.
 \f
 ;;;### (autoloads (thai-composition-function thai-compose-buffer
 ;;;;;;  thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from language/thai-util.el
 
 (autoload 'thai-compose-region "thai-util" "\
@@ -28244,7 +28293,7 @@ Compose Thai characters in the current buffer.
 \f
 ;;;### (autoloads (list-at-point number-at-point symbol-at-point
 ;;;;;;  sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
-;;;;;;  "thingatpt" "thingatpt.el" (19990 55648))
+;;;;;;  "thingatpt" "thingatpt.el" (19990 12633))
 ;;; Generated autoloads from thingatpt.el
 
 (autoload 'forward-thing "thingatpt" "\
@@ -28307,7 +28356,7 @@ Return the Lisp list at point, or nil if none is found.
 \f
 ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked
 ;;;;;;  thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from thumbs.el
 
 (autoload 'thumbs-find-thumb "thumbs" "\
@@ -28345,8 +28394,8 @@ In dired, call the setroot program on the image at point.
 ;;;;;;  tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer
 ;;;;;;  tibetan-decompose-string tibetan-decompose-region tibetan-compose-region
 ;;;;;;  tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription
-;;;;;;  tibetan-char-p) "tibet-util" "language/tibet-util.el" (19845
-;;;;;;  45374))
+;;;;;;  tibetan-char-p) "tibet-util" "language/tibet-util.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from language/tibet-util.el
 
 (autoload 'tibetan-char-p "tibet-util" "\
@@ -28420,7 +28469,7 @@ See also docstring of the function tibetan-compose-region.
 ;;;***
 \f
 ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from textmodes/tildify.el
 
 (autoload 'tildify-region "tildify" "\
@@ -28445,7 +28494,7 @@ This function performs no refilling of the changed text.
 \f
 ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
 ;;;;;;  display-time-mode display-time display-time-day-and-date)
-;;;;;;  "time" "time.el" (20033 22846))
+;;;;;;  "time" "time.el" (20032 1244))
 ;;; Generated autoloads from time.el
 
 (defvar display-time-day-and-date nil "\
@@ -28510,7 +28559,7 @@ Return a string giving the duration of the Emacs initialization.
 ;;;;;;  time-to-day-in-year date-leap-year-p days-between date-to-day
 ;;;;;;  time-add time-subtract time-since days-to-time time-less-p
 ;;;;;;  seconds-to-time date-to-time) "time-date" "calendar/time-date.el"
-;;;;;;  (19885 24894))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from calendar/time-date.el
 
 (autoload 'date-to-time "time-date" "\
@@ -28624,7 +28673,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'.
 ;;;***
 \f
 ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;;  "time-stamp.el" (20033 22846))
+;;;;;;  "time-stamp.el" (20032 1358))
 ;;; Generated autoloads from time-stamp.el
 (put 'time-stamp-format 'safe-local-variable 'stringp)
 (put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@@ -28668,7 +28717,7 @@ With ARG, turn time stamping on if and only if arg is positive.
 ;;;;;;  timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out
 ;;;;;;  timeclock-change timeclock-status-string timeclock-out timeclock-in
 ;;;;;;  timeclock-modeline-display) "timeclock" "calendar/timeclock.el"
-;;;;;;  (19981 40664))
+;;;;;;  (19983 37515))
 ;;; Generated autoloads from calendar/timeclock.el
 
 (autoload 'timeclock-modeline-display "timeclock" "\
@@ -28768,7 +28817,7 @@ relative only to the time worked today, and not to past time.
 ;;;***
 \f
 ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;;  "international/titdic-cnv.el" (19845 45374))
+;;;;;;  "international/titdic-cnv.el" (19813 16330))
 ;;; Generated autoloads from international/titdic-cnv.el
 
 (autoload 'titdic-convert "titdic-cnv" "\
@@ -28791,7 +28840,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\".
 ;;;***
 \f
 ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;;  "tmm.el" (19845 45374))
+;;;;;;  "tmm.el" (19776 18657))
 ;;; Generated autoloads from tmm.el
  (define-key global-map "\M-`" 'tmm-menubar)
  (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -28831,7 +28880,7 @@ Its value should be an event that has a binding in MENU.
 \f
 ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities
 ;;;;;;  todo-insert-item todo-add-item-non-interactively todo-add-category)
-;;;;;;  "todo-mode" "calendar/todo-mode.el" (19845 45374))
+;;;;;;  "todo-mode" "calendar/todo-mode.el" (19776 18657))
 ;;; Generated autoloads from calendar/todo-mode.el
 
 (autoload 'todo-add-category "todo-mode" "\
@@ -28891,7 +28940,7 @@ Show TODO list.
 \f
 ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
 ;;;;;;  tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame)
-;;;;;;  "tool-bar" "tool-bar.el" (19994 52720))
+;;;;;;  "tool-bar" "tool-bar.el" (19994 28309))
 ;;; Generated autoloads from tool-bar.el
 
 (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -28962,7 +29011,7 @@ holds a keymap.
 ;;;***
 \f
 ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from emulation/tpu-edt.el
 
 (defvar tpu-edt-mode nil "\
@@ -28989,7 +29038,7 @@ Turn on TPU/edt emulation.
 ;;;***
 \f
 ;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emulation/tpu-mapper.el
 
 (autoload 'tpu-mapper "tpu-mapper" "\
@@ -29023,7 +29072,7 @@ your local X guru can try to figure out why the key is being ignored.
 
 ;;;***
 \f
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19845 45374))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19776 18657))
 ;;; Generated autoloads from emacs-lisp/tq.el
 
 (autoload 'tq-create "tq" "\
@@ -29037,7 +29086,7 @@ to a tcp server on another machine.
 ;;;***
 \f
 ;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;;  "trace" "emacs-lisp/trace.el" (19845 45374))
+;;;;;;  "trace" "emacs-lisp/trace.el" (19776 18657))
 ;;; Generated autoloads from emacs-lisp/trace.el
 
 (defvar trace-buffer (purecopy "*trace-output*") "\
@@ -29074,7 +29123,7 @@ BUFFER defaults to `trace-buffer'.
 ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
 ;;;;;;  tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
 ;;;;;;  tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
-;;;;;;  "net/tramp.el" (20062 2656))
+;;;;;;  "net/tramp.el" (20089 62475))
 ;;; Generated autoloads from net/tramp.el
 
 (defvar tramp-mode t "\
@@ -29207,7 +29256,7 @@ Discard Tramp from loading remote files.
 ;;;***
 \f
 ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el"
-;;;;;;  (19946 29209))
+;;;;;;  (19946 35279))
 ;;; Generated autoloads from net/tramp-ftp.el
 
 (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -29218,7 +29267,7 @@ Discard Tramp from loading remote files.
 ;;;***
 \f
 ;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20048
-;;;;;;  56149))
+;;;;;;  22592))
 ;;; Generated autoloads from tutorial.el
 
 (autoload 'help-with-tutorial "tutorial" "\
@@ -29243,7 +29292,7 @@ resumed later.
 ;;;***
 \f
 ;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19764 32359))
 ;;; Generated autoloads from language/tv-util.el
 
 (autoload 'tai-viet-composition-function "tv-util" "\
@@ -29254,7 +29303,7 @@ resumed later.
 ;;;***
 \f
 ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;;  "textmodes/two-column.el" (19845 45374))
+;;;;;;  "textmodes/two-column.el" (19776 18657))
 ;;; Generated autoloads from textmodes/two-column.el
  (autoload '2C-command "two-column" () t 'keymap)
  (global-set-key "\C-x6" '2C-command)
@@ -29305,7 +29354,7 @@ First column's text    sSs  Second column's text
 ;;;;;;  type-break type-break-mode type-break-keystroke-threshold
 ;;;;;;  type-break-good-break-interval type-break-good-rest-interval
 ;;;;;;  type-break-interval type-break-mode) "type-break" "type-break.el"
-;;;;;;  (19985 37722))
+;;;;;;  (19985 10396))
 ;;; Generated autoloads from type-break.el
 
 (defvar type-break-mode nil "\
@@ -29487,7 +29536,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
 
 ;;;***
 \f
-;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19845 45374))
+;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19776 18657))
 ;;; Generated autoloads from mail/uce.el
 
 (autoload 'uce-reply-to-uce "uce" "\
@@ -29505,7 +29554,7 @@ You might need to set `uce-mail-reader' before using this.
 ;;;;;;  ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string
 ;;;;;;  ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region
 ;;;;;;  ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize"
-;;;;;;  "international/ucs-normalize.el" (20052 53218))
+;;;;;;  "international/ucs-normalize.el" (20053 4711))
 ;;; Generated autoloads from international/ucs-normalize.el
 
 (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -29571,7 +29620,7 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus.
 ;;;***
 \f
 ;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;;  "textmodes/underline.el" (19845 45374))
+;;;;;;  "textmodes/underline.el" (19776 18657))
 ;;; Generated autoloads from textmodes/underline.el
 
 (autoload 'underline-region "underline" "\
@@ -29592,7 +29641,7 @@ which specify the range to operate on.
 ;;;***
 \f
 ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mail/unrmail.el
 
 (autoload 'batch-unrmail "unrmail" "\
@@ -29611,8 +29660,8 @@ Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE.
 
 ;;;***
 \f
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from emacs-lisp/unsafep.el
 
 (autoload 'unsafep "unsafep" "\
@@ -29625,7 +29674,7 @@ UNSAFEP-VARS is a list of symbols with local bindings.
 ;;;***
 \f
 ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
-;;;;;;  "url/url.el" (19845 45374))
+;;;;;;  "url/url.el" (19776 18657))
 ;;; Generated autoloads from url/url.el
 
 (autoload 'url-retrieve "url" "\
@@ -29667,7 +29716,7 @@ no further processing).  URL is either a string or a parsed URL.
 ;;;***
 \f
 ;;;### (autoloads (url-register-auth-scheme url-get-authentication)
-;;;;;;  "url-auth" "url/url-auth.el" (19845 45374))
+;;;;;;  "url-auth" "url/url-auth.el" (19798 54313))
 ;;; Generated autoloads from url/url-auth.el
 
 (autoload 'url-get-authentication "url-auth" "\
@@ -29709,7 +29758,7 @@ RATING   a rating between 1 and 10 of the strength of the authentication.
 ;;;***
 \f
 ;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache)
-;;;;;;  "url-cache" "url/url-cache.el" (19988 13913))
+;;;;;;  "url-cache" "url/url-cache.el" (19988 51157))
 ;;; Generated autoloads from url/url-cache.el
 
 (autoload 'url-store-in-cache "url-cache" "\
@@ -29730,7 +29779,7 @@ Extract FNAM from the local disk cache.
 
 ;;;***
 \f
-;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19845 45374))
+;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19776 18657))
 ;;; Generated autoloads from url/url-cid.el
 
 (autoload 'url-cid "url-cid" "\
@@ -29741,7 +29790,7 @@ Extract FNAM from the local disk cache.
 ;;;***
 \f
 ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
-;;;;;;  "url/url-dav.el" (19845 45374))
+;;;;;;  "url/url-dav.el" (19776 18657))
 ;;; Generated autoloads from url/url-dav.el
 
 (autoload 'url-dav-supported-p "url-dav" "\
@@ -29756,8 +29805,8 @@ Extract FNAM from the local disk cache.
 
 ;;;***
 \f
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from url/url-file.el
 
 (autoload 'url-file "url-file" "\
@@ -29768,7 +29817,7 @@ Handle file: and ftp: URLs.
 ;;;***
 \f
 ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;;  "url/url-gw.el" (19864 29553))
+;;;;;;  "url/url-gw.el" (19875 21674))
 ;;; Generated autoloads from url/url-gw.el
 
 (autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -29788,7 +29837,7 @@ Might do a non-blocking connection; use `process-status' to check.
 \f
 ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
 ;;;;;;  url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from url/url-handlers.el
 
 (defvar url-handler-mode nil "\
@@ -29840,7 +29889,7 @@ accessible.
 ;;;***
 \f
 ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;;  url-http) "url-http" "url/url-http.el" (20031 47065))
+;;;;;;  url-http) "url-http" "url/url-http.el" (20094 24898))
 ;;; Generated autoloads from url/url-http.el
 
 (autoload 'url-http "url-http" "\
@@ -29906,7 +29955,7 @@ HTTPS retrievals are asynchronous.")
 
 ;;;***
 \f
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19845 45374))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19776 18657))
 ;;; Generated autoloads from url/url-irc.el
 
 (autoload 'url-irc "url-irc" "\
@@ -29916,8 +29965,8 @@ HTTPS retrievals are asynchronous.")
 
 ;;;***
 \f
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19776
+;;;;;;  18657))
 ;;; Generated autoloads from url/url-ldap.el
 
 (autoload 'url-ldap "url-ldap" "\
@@ -29931,7 +29980,7 @@ URL can be a URL string, or a URL vector of the type returned by
 ;;;***
 \f
 ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from url/url-mailto.el
 
 (autoload 'url-mail "url-mailto" "\
@@ -29947,7 +29996,7 @@ Handle the mailto: URL syntax.
 ;;;***
 \f
 ;;;### (autoloads (url-data url-generic-emulator-loader url-info
-;;;;;;  url-man) "url-misc" "url/url-misc.el" (19845 45374))
+;;;;;;  url-man) "url-misc" "url/url-misc.el" (19776 18657))
 ;;; Generated autoloads from url/url-misc.el
 
 (autoload 'url-man "url-misc" "\
@@ -29979,7 +30028,7 @@ Fetch a data URL (RFC 2397).
 ;;;***
 \f
 ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from url/url-news.el
 
 (autoload 'url-news "url-news" "\
@@ -29996,7 +30045,7 @@ Fetch a data URL (RFC 2397).
 \f
 ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
 ;;;;;;  dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from url/url-ns.el
 
 (autoload 'isPlainHostName "url-ns" "\
@@ -30037,7 +30086,7 @@ Fetch a data URL (RFC 2397).
 ;;;***
 \f
 ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;;  "url/url-parse.el" (19845 45374))
+;;;;;;  "url/url-parse.el" (19798 54313))
 ;;; Generated autoloads from url/url-parse.el
 
 (autoload 'url-recreate-url "url-parse" "\
@@ -30055,7 +30104,7 @@ TYPE USER PASSWORD HOST PORTSPEC FILENAME TARGET ATTRIBUTES FULLNESS.
 ;;;***
 \f
 ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from url/url-privacy.el
 
 (autoload 'url-setup-privacy-info "url-privacy" "\
@@ -30066,7 +30115,7 @@ Setup variables that expose info about you and your system.
 ;;;***
 \f
 ;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el"
-;;;;;;  (19943 25429))
+;;;;;;  (19946 35279))
 ;;; Generated autoloads from url/url-queue.el
 
 (autoload 'url-queue-retrieve "url-queue" "\
@@ -30085,7 +30134,7 @@ controls the level of parallelism via the
 ;;;;;;  url-pretty-length url-strip-leading-spaces url-eat-trailing-space
 ;;;;;;  url-get-normalized-date url-lazy-message url-normalize-url
 ;;;;;;  url-insert-entities-in-string url-parse-args url-debug url-debug)
-;;;;;;  "url-util" "url/url-util.el" (19867 59212))
+;;;;;;  "url-util" "url/url-util.el" (19776 18657))
 ;;; Generated autoloads from url/url-util.el
 
 (defvar url-debug nil "\
@@ -30221,7 +30270,7 @@ This uses `url-current-object', set locally to the buffer.
 ;;;***
 \f
 ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;;  "userlock" "userlock.el" (19845 45374))
+;;;;;;  "userlock" "userlock.el" (19776 18657))
 ;;; Generated autoloads from userlock.el
 
 (autoload 'ask-user-about-lock "userlock" "\
@@ -30251,7 +30300,7 @@ The buffer in question is current when this function is called.
 \f
 ;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion
 ;;;;;;  utf-7-imap-post-read-conversion utf-7-post-read-conversion)
-;;;;;;  "utf-7" "international/utf-7.el" (19845 45374))
+;;;;;;  "utf-7" "international/utf-7.el" (19776 18657))
 ;;; Generated autoloads from international/utf-7.el
 
 (autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -30276,7 +30325,7 @@ The buffer in question is current when this function is called.
 
 ;;;***
 \f
-;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (19845 45374))
+;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (19776 18657))
 ;;; Generated autoloads from gnus/utf7.el
 
 (autoload 'utf7-encode "utf7" "\
@@ -30288,7 +30337,7 @@ Encode UTF-7 STRING.  Use IMAP modification if FOR-IMAP is non-nil.
 \f
 ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
 ;;;;;;  uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from mail/uudecode.el
 
 (autoload 'uudecode-decode-region-external "uudecode" "\
@@ -30319,7 +30368,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
 ;;;;;;  vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff
 ;;;;;;  vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook
 ;;;;;;  vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (19997
-;;;;;;  28887))
+;;;;;;  49500))
 ;;; Generated autoloads from vc/vc.el
 
 (defvar vc-checkout-hook nil "\
@@ -30602,7 +30651,7 @@ Return the branch part of a revision number REV.
 ;;;***
 \f
 ;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el"
-;;;;;;  (19920 63959))
+;;;;;;  (19919 55642))
 ;;; Generated autoloads from vc/vc-annotate.el
 
 (autoload 'vc-annotate "vc-annotate" "\
@@ -30639,7 +30688,7 @@ mode-specific menu.  `vc-annotate-color-map' and
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (19984 16846))
+;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (19984 44694))
 ;;; Generated autoloads from vc/vc-arch.el
  (defun vc-arch-registered (file)
   (if (vc-find-root file "{arch}/=tagging-method")
@@ -30649,7 +30698,7 @@ mode-specific menu.  `vc-annotate-color-map' and
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (19991 42275))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20087 36265))
 ;;; Generated autoloads from vc/vc-bzr.el
 
 (defconst vc-bzr-admin-dirname ".bzr" "\
@@ -30664,7 +30713,7 @@ Name of the directory containing Bzr repository status files.")
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (19845 45374))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (19776 18657))
 ;;; Generated autoloads from vc/vc-cvs.el
  (defun vc-cvs-registered (f)
   (when (file-readable-p (expand-file-name
@@ -30674,7 +30723,7 @@ Name of the directory containing Bzr repository status files.")
 
 ;;;***
 \f
-;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (19930 13389))
+;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20087 36265))
 ;;; Generated autoloads from vc/vc-dir.el
 
 (autoload 'vc-dir "vc-dir" "\
@@ -30699,7 +30748,7 @@ These are the commands available for use in the file status buffer:
 ;;;***
 \f
 ;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19808 13302))
 ;;; Generated autoloads from vc/vc-dispatcher.el
 
 (autoload 'vc-do-command "vc-dispatcher" "\
@@ -30722,7 +30771,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20063 23511))
+;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20087 36265))
 ;;; Generated autoloads from vc/vc-git.el
  (defun vc-git-registered (file)
   "Return non-nil if FILE is registered with git."
@@ -30733,7 +30782,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (19845 45374))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (19874 15752))
 ;;; Generated autoloads from vc/vc-hg.el
  (defun vc-hg-registered (file)
   "Return non-nil if FILE is registered with hg."
@@ -30744,7 +30793,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (19845 45374))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (19776 18657))
 ;;; Generated autoloads from vc/vc-mtn.el
 
 (defconst vc-mtn-admin-dir "_MTN")
@@ -30759,7 +30808,7 @@ case, and the process object in the asynchronous case.
 ;;;***
 \f
 ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el"
-;;;;;;  (19845 45374))
+;;;;;;  (20064 58966))
 ;;; Generated autoloads from vc/vc-rcs.el
 
 (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -30773,7 +30822,7 @@ For a description of possible values, see `vc-check-master-templates'.")
 ;;;***
 \f
 ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from vc/vc-sccs.el
 
 (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -30790,7 +30839,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (19845 45374))
+;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (19874 14841))
 ;;; Generated autoloads from vc/vc-svn.el
  (defun vc-svn-registered (f)
   (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -30804,7 +30853,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
 ;;;***
 \f
 ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
-;;;;;;  (19890 42850))
+;;;;;;  (19891 13894))
 ;;; Generated autoloads from progmodes/vera-mode.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'")  'vera-mode))
 
@@ -30862,7 +30911,7 @@ Key bindings:
 ;;;***
 \f
 ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;;  (19973 46551))
+;;;;;;  (19973 21789))
 ;;; Generated autoloads from progmodes/verilog-mode.el
 
 (autoload 'verilog-mode "verilog-mode" "\
@@ -30999,7 +31048,7 @@ Key bindings specific to `verilog-mode-map' are:
 ;;;***
 \f
 ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;;  (19914 25180))
+;;;;;;  (19919 55562))
 ;;; Generated autoloads from progmodes/vhdl-mode.el
 
 (autoload 'vhdl-mode "vhdl-mode" "\
@@ -31540,7 +31589,7 @@ Key bindings:
 
 ;;;***
 \f
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19845 45374))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19764 32359))
 ;;; Generated autoloads from emulation/vi.el
 
 (autoload 'vi-mode "vi" "\
@@ -31595,7 +31644,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
 ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
 ;;;;;;  viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
 ;;;;;;  viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
-;;;;;;  "language/viet-util.el" (19845 45374))
+;;;;;;  "language/viet-util.el" (19776 18657))
 ;;; Generated autoloads from language/viet-util.el
 
 (autoload 'viet-encode-viscii-char "viet-util" "\
@@ -31643,7 +31692,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics.
 ;;;;;;  view-mode view-buffer-other-frame view-buffer-other-window
 ;;;;;;  view-buffer view-file-other-frame view-file-other-window
 ;;;;;;  view-file kill-buffer-if-not-modified view-remove-frame-by-deleting)
-;;;;;;  "view" "view.el" (20053 39261))
+;;;;;;  "view" "view.el" (20064 62841))
 ;;; Generated autoloads from view.el
 
 (defvar view-remove-frame-by-deleting t "\
@@ -31880,8 +31929,8 @@ Exit View mode and make the current buffer editable.
 
 ;;;***
 \f
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19845
-;;;;;;  45374))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19797
+;;;;;;  54173))
 ;;; Generated autoloads from emulation/vip.el
 
 (autoload 'vip-setup "vip" "\
@@ -31897,7 +31946,7 @@ Turn on VIP emulation of VI.
 ;;;***
 \f
 ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;;  (19931 11784))
+;;;;;;  (19933 8482))
 ;;; Generated autoloads from emulation/viper.el
 
 (autoload 'toggle-viper-mode "viper" "\
@@ -31914,7 +31963,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'.
 ;;;***
 \f
 ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;;  (19906 31087))
+;;;;;;  (19910 9778))
 ;;; Generated autoloads from emacs-lisp/warnings.el
 
 (defvar warning-prefix-function nil "\
@@ -32004,7 +32053,7 @@ this is equivalent to `display-warning', using
 ;;;***
 \f
 ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;;  (19913 4309))
+;;;;;;  (20075 38050))
 ;;; Generated autoloads from wdired.el
 
 (autoload 'wdired-change-to-wdired-mode "wdired" "\
@@ -32020,7 +32069,7 @@ See `wdired-mode'.
 
 ;;;***
 \f
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19931 11784))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19933 8482))
 ;;; Generated autoloads from net/webjump.el
 
 (autoload 'webjump "webjump" "\
@@ -32037,7 +32086,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
 ;;;***
 \f
 ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
-;;;;;;  (19988 13913))
+;;;;;;  (19987 30383))
 ;;; Generated autoloads from progmodes/which-func.el
  (put 'which-func-format 'risky-local-variable t)
  (put 'which-func-current 'risky-local-variable t)
@@ -32068,7 +32117,7 @@ and off otherwise.
 ;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region
 ;;;;;;  whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options
 ;;;;;;  global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode
-;;;;;;  whitespace-mode) "whitespace" "whitespace.el" (19905 10215))
+;;;;;;  whitespace-mode) "whitespace" "whitespace.el" (20087 36265))
 ;;; Generated autoloads from whitespace.el
 
 (autoload 'whitespace-mode "whitespace" "\
@@ -32471,7 +32520,7 @@ cleaning up these problems.
 ;;;***
 \f
 ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (19886 45771))
+;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (19888 59421))
 ;;; Generated autoloads from wid-browse.el
 
 (autoload 'widget-browse-at "wid-browse" "\
@@ -32498,8 +32547,8 @@ With arg, turn widget mode on if and only if arg is positive.
 ;;;***
 \f
 ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19968
-;;;;;;  28627))
+;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19973
+;;;;;;  21789))
 ;;; Generated autoloads from wid-edit.el
 
 (autoload 'widgetp "wid-edit" "\
@@ -32542,8 +32591,8 @@ Setup current buffer so editing string widgets works.
 ;;;***
 \f
 ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (19886
-;;;;;;  45771))
+;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (19888
+;;;;;;  59421))
 ;;; Generated autoloads from windmove.el
 
 (autoload 'windmove-left "windmove" "\
@@ -32596,7 +32645,7 @@ Default MODIFIER is 'shift.
 ;;;***
 \f
 ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;;  (19998 49767))
+;;;;;;  (19998 18685))
 ;;; Generated autoloads from winner.el
 
 (defvar winner-mode nil "\
@@ -32615,7 +32664,7 @@ With arg, turn Winner mode on if and only if arg is positive.
 ;;;***
 \f
 ;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file
-;;;;;;  woman woman-locale) "woman" "woman.el" (19981 40664))
+;;;;;;  woman woman-locale) "woman" "woman.el" (20086 5617))
 ;;; Generated autoloads from woman.el
 
 (defvar woman-locale nil "\
@@ -32664,7 +32713,7 @@ Default bookmark handler for Woman buffers.
 ;;;***
 \f
 ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;;  (19845 45374))
+;;;;;;  (19776 18657))
 ;;; Generated autoloads from emulation/ws-mode.el
 
 (autoload 'wordstar-mode "ws-mode" "\
@@ -32776,7 +32825,7 @@ The key bindings are:
 
 ;;;***
 \f
-;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19845 45374))
+;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19874 15752))
 ;;; Generated autoloads from net/xesam.el
 
 (autoload 'xesam-search "xesam" "\
@@ -32796,7 +32845,7 @@ Example:
 ;;;***
 \f
 ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;;  (19886 45771))
+;;;;;;  (19888 59421))
 ;;; Generated autoloads from xml.el
 
 (autoload 'xml-parse-file "xml" "\
@@ -32822,7 +32871,7 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
 ;;;***
 \f
 ;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok"
-;;;;;;  "nxml/xmltok.el" (19845 45374))
+;;;;;;  "nxml/xmltok.el" (19776 18657))
 ;;; Generated autoloads from nxml/xmltok.el
 
 (autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -32840,8 +32889,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT.
 
 ;;;***
 \f
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20034
-;;;;;;  23247))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20045
+;;;;;;  40021))
 ;;; Generated autoloads from xt-mouse.el
 
 (defvar xterm-mouse-mode nil "\
@@ -32870,7 +32919,7 @@ down the SHIFT key while pressing the mouse button.
 ;;;***
 \f
 ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;;  "gnus/yenc.el" (19845 45374))
+;;;;;;  "gnus/yenc.el" (19776 18657))
 ;;; Generated autoloads from gnus/yenc.el
 
 (autoload 'yenc-decode-region "yenc" "\
@@ -32886,7 +32935,7 @@ Extract file name from an yenc header.
 ;;;***
 \f
 ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;;  yow) "yow" "play/yow.el" (19845 45374))
+;;;;;;  yow) "yow" "play/yow.el" (19776 18657))
 ;;; Generated autoloads from play/yow.el
 
 (autoload 'yow "yow" "\
@@ -32912,7 +32961,7 @@ Zippy goes to the analyst.
 
 ;;;***
 \f
-;;;### (autoloads (zone) "zone" "play/zone.el" (19889 21967))
+;;;### (autoloads (zone) "zone" "play/zone.el" (19888 59421))
 ;;; Generated autoloads from play/zone.el
 
 (autoload 'zone "zone" "\
@@ -32928,47 +32977,46 @@ Zone out, completely.
 ;;;;;;  "calc/calc-fin.el" "calc/calc-forms.el" "calc/calc-frac.el"
 ;;;;;;  "calc/calc-funcs.el" "calc/calc-graph.el" "calc/calc-help.el"
 ;;;;;;  "calc/calc-incom.el" "calc/calc-keypd.el" "calc/calc-lang.el"
-;;;;;;  "calc/calc-loaddefs.el" "calc/calc-macs.el" "calc/calc-map.el"
-;;;;;;  "calc/calc-math.el" "calc/calc-menu.el" "calc/calc-misc.el"
-;;;;;;  "calc/calc-mode.el" "calc/calc-mtx.el" "calc/calc-nlfit.el"
-;;;;;;  "calc/calc-poly.el" "calc/calc-prog.el" "calc/calc-rewr.el"
-;;;;;;  "calc/calc-rules.el" "calc/calc-sel.el" "calc/calc-stat.el"
-;;;;;;  "calc/calc-store.el" "calc/calc-stuff.el" "calc/calc-trail.el"
-;;;;;;  "calc/calc-units.el" "calc/calc-vec.el" "calc/calc-yank.el"
-;;;;;;  "calc/calcalg2.el" "calc/calcalg3.el" "calc/calccomp.el"
-;;;;;;  "calc/calcsel2.el" "calendar/cal-bahai.el" "calendar/cal-coptic.el"
-;;;;;;  "calendar/cal-french.el" "calendar/cal-html.el" "calendar/cal-islam.el"
-;;;;;;  "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-loaddefs.el"
-;;;;;;  "calendar/cal-mayan.el" "calendar/cal-menu.el" "calendar/cal-move.el"
-;;;;;;  "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el"
-;;;;;;  "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el"
-;;;;;;  "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el"
-;;;;;;  "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el"
-;;;;;;  "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el"
-;;;;;;  "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el"
-;;;;;;  "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el"
-;;;;;;  "cedet/ede/loaddefs.el" "cedet/ede/locate.el" "cedet/ede/make.el"
-;;;;;;  "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" "cedet/ede/pmake.el"
-;;;;;;  "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el"
-;;;;;;  "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el"
-;;;;;;  "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el"
-;;;;;;  "cedet/ede/proj-shared.el" "cedet/ede/proj.el" "cedet/ede/project-am.el"
-;;;;;;  "cedet/ede/shell.el" "cedet/ede/simple.el" "cedet/ede/source.el"
-;;;;;;  "cedet/ede/speedbar.el" "cedet/ede/srecode.el" "cedet/ede/system.el"
-;;;;;;  "cedet/ede/util.el" "cedet/inversion.el" "cedet/mode-local.el"
-;;;;;;  "cedet/pulse.el" "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el"
-;;;;;;  "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el"
-;;;;;;  "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el"
-;;;;;;  "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el"
-;;;;;;  "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el"
-;;;;;;  "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el"
-;;;;;;  "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el"
-;;;;;;  "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el"
-;;;;;;  "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el"
-;;;;;;  "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el"
-;;;;;;  "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el"
-;;;;;;  "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el"
-;;;;;;  "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
+;;;;;;  "calc/calc-macs.el" "calc/calc-map.el" "calc/calc-math.el"
+;;;;;;  "calc/calc-menu.el" "calc/calc-misc.el" "calc/calc-mode.el"
+;;;;;;  "calc/calc-mtx.el" "calc/calc-nlfit.el" "calc/calc-poly.el"
+;;;;;;  "calc/calc-prog.el" "calc/calc-rewr.el" "calc/calc-rules.el"
+;;;;;;  "calc/calc-sel.el" "calc/calc-stat.el" "calc/calc-store.el"
+;;;;;;  "calc/calc-stuff.el" "calc/calc-trail.el" "calc/calc-units.el"
+;;;;;;  "calc/calc-vec.el" "calc/calc-yank.el" "calc/calcalg2.el"
+;;;;;;  "calc/calcalg3.el" "calc/calccomp.el" "calc/calcsel2.el"
+;;;;;;  "calendar/cal-bahai.el" "calendar/cal-coptic.el" "calendar/cal-french.el"
+;;;;;;  "calendar/cal-html.el" "calendar/cal-islam.el" "calendar/cal-iso.el"
+;;;;;;  "calendar/cal-julian.el" "calendar/cal-loaddefs.el" "calendar/cal-mayan.el"
+;;;;;;  "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el"
+;;;;;;  "calendar/cal-tex.el" "calendar/cal-x.el" "calendar/diary-loaddefs.el"
+;;;;;;  "calendar/hol-loaddefs.el" "cdl.el" "cedet/cedet-cscope.el"
+;;;;;;  "cedet/cedet-files.el" "cedet/cedet-global.el" "cedet/cedet-idutils.el"
+;;;;;;  "cedet/cedet.el" "cedet/ede/auto.el" "cedet/ede/autoconf-edit.el"
+;;;;;;  "cedet/ede/base.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el"
+;;;;;;  "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el"
+;;;;;;  "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el"
+;;;;;;  "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el"
+;;;;;;  "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el"
+;;;;;;  "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el"
+;;;;;;  "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el"
+;;;;;;  "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el"
+;;;;;;  "cedet/ede/project-am.el" "cedet/ede/shell.el" "cedet/ede/simple.el"
+;;;;;;  "cedet/ede/source.el" "cedet/ede/speedbar.el" "cedet/ede/srecode.el"
+;;;;;;  "cedet/ede/system.el" "cedet/ede/util.el" "cedet/inversion.el"
+;;;;;;  "cedet/mode-local.el" "cedet/pulse.el" "cedet/semantic/analyze.el"
+;;;;;;  "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el"
+;;;;;;  "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el"
+;;;;;;  "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el"
+;;;;;;  "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el"
+;;;;;;  "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el"
+;;;;;;  "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el"
+;;;;;;  "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el"
+;;;;;;  "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el"
+;;;;;;  "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el"
+;;;;;;  "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el"
+;;;;;;  "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el"
+;;;;;;  "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
 ;;;;;;  "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el"
 ;;;;;;  "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el"
 ;;;;;;  "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el"
@@ -32976,13 +33024,13 @@ Zone out, completely.
 ;;;;;;  "cedet/semantic/fw.el" "cedet/semantic/grammar-wy.el" "cedet/semantic/grammar.el"
 ;;;;;;  "cedet/semantic/html.el" "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el"
 ;;;;;;  "cedet/semantic/idle.el" "cedet/semantic/imenu.el" "cedet/semantic/java.el"
-;;;;;;  "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/loaddefs.el"
-;;;;;;  "cedet/semantic/mru-bookmark.el" "cedet/semantic/sb.el" "cedet/semantic/scope.el"
-;;;;;;  "cedet/semantic/senator.el" "cedet/semantic/sort.el" "cedet/semantic/symref.el"
-;;;;;;  "cedet/semantic/symref/cscope.el" "cedet/semantic/symref/filter.el"
-;;;;;;  "cedet/semantic/symref/global.el" "cedet/semantic/symref/grep.el"
-;;;;;;  "cedet/semantic/symref/idutils.el" "cedet/semantic/symref/list.el"
-;;;;;;  "cedet/semantic/tag-file.el" "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
+;;;;;;  "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/mru-bookmark.el"
+;;;;;;  "cedet/semantic/sb.el" "cedet/semantic/scope.el" "cedet/semantic/senator.el"
+;;;;;;  "cedet/semantic/sort.el" "cedet/semantic/symref.el" "cedet/semantic/symref/cscope.el"
+;;;;;;  "cedet/semantic/symref/filter.el" "cedet/semantic/symref/global.el"
+;;;;;;  "cedet/semantic/symref/grep.el" "cedet/semantic/symref/idutils.el"
+;;;;;;  "cedet/semantic/symref/list.el" "cedet/semantic/tag-file.el"
+;;;;;;  "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
 ;;;;;;  "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el"
 ;;;;;;  "cedet/semantic/util.el" "cedet/semantic/wisent.el" "cedet/semantic/wisent/comp.el"
 ;;;;;;  "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el"
@@ -32994,33 +33042,32 @@ Zone out, completely.
 ;;;;;;  "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el"
 ;;;;;;  "cedet/srecode/fields.el" "cedet/srecode/filters.el" "cedet/srecode/find.el"
 ;;;;;;  "cedet/srecode/getset.el" "cedet/srecode/insert.el" "cedet/srecode/java.el"
-;;;;;;  "cedet/srecode/loaddefs.el" "cedet/srecode/map.el" "cedet/srecode/mode.el"
-;;;;;;  "cedet/srecode/semantic.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el"
-;;;;;;  "cedet/srecode/table.el" "cedet/srecode/template.el" "cedet/srecode/texi.el"
-;;;;;;  "cus-dep.el" "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el"
-;;;;;;  "dos-vars.el" "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el"
-;;;;;;  "emacs-lisp/authors.el" "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el"
-;;;;;;  "emacs-lisp/byte-opt.el" "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el"
-;;;;;;  "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el"
-;;;;;;  "emacs-lisp/cl-specs.el" "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el"
-;;;;;;  "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-datadebug.el"
-;;;;;;  "emacs-lisp/eieio-opt.el" "emacs-lisp/eieio-speedbar.el"
-;;;;;;  "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el"
-;;;;;;  "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/regi.el"
-;;;;;;  "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el"
-;;;;;;  "emulation/cua-gmrk.el" "emulation/cua-rect.el" "emulation/edt-lk201.el"
-;;;;;;  "emulation/edt-mapper.el" "emulation/edt-pc.el" "emulation/edt-vt100.el"
-;;;;;;  "emulation/tpu-extras.el" "emulation/viper-cmd.el" "emulation/viper-ex.el"
-;;;;;;  "emulation/viper-init.el" "emulation/viper-keym.el" "emulation/viper-macs.el"
-;;;;;;  "emulation/viper-mous.el" "emulation/viper-util.el" "erc/erc-backend.el"
-;;;;;;  "erc/erc-goodies.el" "erc/erc-ibuffer.el" "erc/erc-lang.el"
-;;;;;;  "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el"
-;;;;;;  "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el"
-;;;;;;  "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el"
-;;;;;;  "eshell/em-prompt.el" "eshell/em-rebind.el" "eshell/em-script.el"
-;;;;;;  "eshell/em-smart.el" "eshell/em-term.el" "eshell/em-unix.el"
-;;;;;;  "eshell/em-xtra.el" "eshell/esh-arg.el" "eshell/esh-cmd.el"
-;;;;;;  "eshell/esh-ext.el" "eshell/esh-groups.el" "eshell/esh-io.el"
+;;;;;;  "cedet/srecode/map.el" "cedet/srecode/mode.el" "cedet/srecode/semantic.el"
+;;;;;;  "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" "cedet/srecode/table.el"
+;;;;;;  "cedet/srecode/template.el" "cedet/srecode/texi.el" "cus-dep.el"
+;;;;;;  "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" "dos-vars.el"
+;;;;;;  "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el" "emacs-lisp/authors.el"
+;;;;;;  "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el"
+;;;;;;  "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el"
+;;;;;;  "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el"
+;;;;;;  "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-custom.el"
+;;;;;;  "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-opt.el"
+;;;;;;  "emacs-lisp/eieio-speedbar.el" "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el"
+;;;;;;  "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el"
+;;;;;;  "emacs-lisp/regi.el" "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el"
+;;;;;;  "emacs-lisp/tcover-unsafep.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el"
+;;;;;;  "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el"
+;;;;;;  "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el"
+;;;;;;  "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el"
+;;;;;;  "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el"
+;;;;;;  "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el"
+;;;;;;  "erc/erc-lang.el" "eshell/em-alias.el" "eshell/em-banner.el"
+;;;;;;  "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el"
+;;;;;;  "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el"
+;;;;;;  "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el"
+;;;;;;  "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el"
+;;;;;;  "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el"
+;;;;;;  "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el"
 ;;;;;;  "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el"
 ;;;;;;  "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el"
 ;;;;;;  "format-spec.el" "forms-d2.el" "forms-pass.el" "fringe.el"
@@ -33034,19 +33081,18 @@ Zone out, completely.
 ;;;;;;  "gnus/ietf-drums.el" "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el"
 ;;;;;;  "gnus/mail-prsvr.el" "gnus/mail-source.el" "gnus/mailcap.el"
 ;;;;;;  "gnus/messcompat.el" "gnus/mm-bodies.el" "gnus/mm-decode.el"
-;;;;;;  "gnus/mm-encode.el" "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el"
-;;;;;;  "gnus/mml-smime.el" "gnus/mml.el" "gnus/nnagent.el" "gnus/nnbabyl.el"
-;;;;;;  "gnus/nndir.el" "gnus/nndraft.el" "gnus/nneething.el" "gnus/nngateway.el"
-;;;;;;  "gnus/nnheader.el" "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el"
-;;;;;;  "gnus/nnmaildir.el" "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el"
-;;;;;;  "gnus/nnnil.el" "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el"
-;;;;;;  "gnus/nnspool.el" "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el"
-;;;;;;  "gnus/registry.el" "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el"
-;;;;;;  "gnus/rfc2104.el" "gnus/rfc2231.el" "gnus/rtree.el" "gnus/shr-color.el"
-;;;;;;  "gnus/sieve-manage.el" "gnus/smime.el" "gnus/spam-stat.el"
-;;;;;;  "gnus/spam-wash.el" "hex-util.el" "hfy-cmap.el" "ibuf-ext.el"
-;;;;;;  "international/cp51932.el" "international/eucjp-ms.el" "international/fontset.el"
-;;;;;;  "international/iso-ascii.el" "international/ja-dic-cnv.el"
+;;;;;;  "gnus/mm-util.el" "gnus/mm-view.el" "gnus/mml-sec.el" "gnus/mml-smime.el"
+;;;;;;  "gnus/nnagent.el" "gnus/nnbabyl.el" "gnus/nndir.el" "gnus/nndraft.el"
+;;;;;;  "gnus/nneething.el" "gnus/nngateway.el" "gnus/nnheader.el"
+;;;;;;  "gnus/nnimap.el" "gnus/nnir.el" "gnus/nnmail.el" "gnus/nnmaildir.el"
+;;;;;;  "gnus/nnmairix.el" "gnus/nnmbox.el" "gnus/nnmh.el" "gnus/nnnil.el"
+;;;;;;  "gnus/nnoo.el" "gnus/nnregistry.el" "gnus/nnrss.el" "gnus/nnspool.el"
+;;;;;;  "gnus/nntp.el" "gnus/nnvirtual.el" "gnus/nnweb.el" "gnus/registry.el"
+;;;;;;  "gnus/rfc1843.el" "gnus/rfc2045.el" "gnus/rfc2047.el" "gnus/rfc2104.el"
+;;;;;;  "gnus/rfc2231.el" "gnus/rtree.el" "gnus/shr-color.el" "gnus/sieve-manage.el"
+;;;;;;  "gnus/smime.el" "gnus/spam-stat.el" "gnus/spam-wash.el" "hex-util.el"
+;;;;;;  "hfy-cmap.el" "ibuf-ext.el" "international/cp51932.el" "international/eucjp-ms.el"
+;;;;;;  "international/fontset.el" "international/iso-ascii.el" "international/ja-dic-cnv.el"
 ;;;;;;  "international/ja-dic-utl.el" "international/ogonek.el" "international/uni-bidi.el"
 ;;;;;;  "international/uni-category.el" "international/uni-combining.el"
 ;;;;;;  "international/uni-comment.el" "international/uni-decimal.el"
@@ -33124,8 +33170,8 @@ Zone out, completely.
 ;;;;;;  "vc/ediff-init.el" "vc/ediff-merg.el" "vc/ediff-ptch.el"
 ;;;;;;  "vc/ediff-vers.el" "vc/ediff-wind.el" "vc/pcvs-info.el" "vc/pcvs-parse.el"
 ;;;;;;  "vc/pcvs-util.el" "vc/vc-dav.el" "vcursor.el" "vt-control.el"
-;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20063
-;;;;;;  23539 958052))
+;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20095
+;;;;;;  60573 522549))
 
 ;;;***
 \f
index 0722227..576f443 100644 (file)
@@ -479,6 +479,7 @@ and send the mail again%s."
                buglist))))
     (report-emacs-bug-create-existing-bugs-buffer (nreverse buglist) keywords)))
 
+;;;###autoload
 (defun report-emacs-bug-query-existing-bugs (keywords)
   "Query for KEYWORDS at `report-emacs-bug-tracker-url', and return the result.
 The result is an alist with items of the form (URL SUBJECT NO)."
index db06de9..54de631 100644 (file)
@@ -1310,9 +1310,14 @@ Create the buffer if necessary."
   (if (and (local-variable-p 'rmail-view-buffer)
           (buffer-live-p rmail-view-buffer))
       rmail-view-buffer
-    (generate-new-buffer
-     (format " *message-viewer %s*"
-            (file-name-nondirectory (or buffer-file-name (buffer-name)))))))
+    (let ((newbuf
+          (generate-new-buffer
+           (format " *message-viewer %s*"
+                   (file-name-nondirectory
+                    (or buffer-file-name (buffer-name)))))))
+      (with-current-buffer newbuf
+       (add-hook 'kill-buffer-hook 'rmail-view-buffer-kill-buffer-hook nil t))
+      newbuf)))
 
 (defun rmail-swap-buffers ()
   "Swap text between current buffer and `rmail-view-buffer'.
@@ -1372,7 +1377,14 @@ If so restore the actual mbox message collection."
     (message "Marking buffer unmodified to avoid rewriting Babyl file as mbox file")))
 
 (defun rmail-mode-kill-buffer-hook ()
-  (if (buffer-live-p rmail-view-buffer) (kill-buffer rmail-view-buffer)))
+  ;; Turn off the hook on the view buffer, so we can kill it, then kill it.
+  (if (buffer-live-p rmail-view-buffer)
+      (with-current-buffer rmail-view-buffer
+       (setq kill-buffer-hook nil)
+       (kill-buffer rmail-view-buffer))))
+
+(defun rmail-view-buffer-kill-buffer-hook ()
+  (error "Can't kill message view buffer by itself"))
 
 ;; Set up the permanent locals associated with an Rmail file.
 (defun rmail-perm-variables ()
index 6bcf659..dedb571 100644 (file)
@@ -1785,11 +1785,11 @@ The seventh argument ACTIONS is a list of actions to take
  This is how Rmail arranges to mark messages `answered'."
   (interactive "P")
   (if (eq noerase 'new)
-      (switch-to-buffer (generate-new-buffer "*mail*"))
+      (pop-to-buffer-same-window (generate-new-buffer "*mail*"))
     (and noerase
         (not (get-buffer "*mail*"))
         (setq noerase nil))
-    (switch-to-buffer "*mail*"))
+    (pop-to-buffer-same-window "*mail*"))
 
   ;; Avoid danger that the auto-save file can't be written.
   (let ((dir (expand-file-name
index 731aaf2..ee9c9fc 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-20  Bill Wohler  <wohler@newt.com>
+
+       Release MH-E version 8.3.
+
+       * mh-e.el (Version, mh-version): Update for release 8.3.
+
+2011-07-30  Bill Wohler  <wohler@newt.com>
+
+       * mh-show.el (mh-unvisit-file): Clarify language in yes-or-no-p
+       and error messages.
+
 2011-07-17  Bill Wohler  <wohler@newt.com>
 
        Release MH-E version 8.2.93.
index 5562a31..e0e213b 100644 (file)
@@ -5,7 +5,7 @@
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
-;; Version: 8.2.93
+;; Version: 8.3
 ;; Keywords: mail
 
 ;; This file is part of GNU Emacs.
 ;; Try to keep variables local to a single file. Provide accessors if
 ;; variables are shared. Use this section as a last resort.
 
-(defconst mh-version "8.2.93" "Version number of MH-E.")
+(defconst mh-version "8.3" "Version number of MH-E.")
 
 ;; Variants
 
index 7b5593b..d14ab20 100644 (file)
@@ -319,9 +319,9 @@ ignored if VISIBLE-HEADERS is non-nil."
   "Separate current buffer from the message file it was visiting."
   (or (not (buffer-modified-p))
       (null buffer-file-name)           ;we've been here before
-      (yes-or-no-p (format "Message %s modified; flush changes? "
+      (yes-or-no-p (format "Message %s modified; discard changes? "
                            (file-name-nondirectory buffer-file-name)))
-      (error "Flushing changes not confirmed"))
+      (error "Changes preserved"))
   (clear-visited-file-modtime)
   (unlock-buffer)
   (setq buffer-file-name nil))
index 6339561..8a74782 100644 (file)
@@ -904,7 +904,8 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
   (mouse-minibuffer-check start-event)
   (setq mouse-selection-click-count-buffer (current-buffer))
   (deactivate-mark)
-  (let* ((original-window (selected-window))
+  (let* ((scroll-margin 0) ; Avoid margin scrolling (Bug#9541).
+        (original-window (selected-window))
          ;; We've recorded what we needed from the current buffer and
          ;; window, now let's jump to the place of the event, where things
          ;; are happening.
index 87af3d1..ba7d711 100644 (file)
@@ -140,11 +140,14 @@ association to the service from D-Bus."
 
   ;; Find the corresponding entry in the hash table.
   (let* ((key (car object))
-        (value (cdr object))
+        (value (cadr object))
+        (bus (car key))
+        (service (car value))
         (entry (gethash key dbus-registered-objects-table))
         ret)
-    ;; entry has the structure ((UNAME SERVICE PATH MEMBER) ...).
-    ;; value has the structure ((SERVICE PATH [HANDLER]) ...).
+    ;; key has the structure (BUS INTERRFACE MEMBER).
+    ;; value has the structure (SERVICE PATH [HANDLER]).
+    ;; entry has the structure ((UNAME SERVICE PATH MEMBER [RULE]) ...).
     ;; MEMBER is either a string (the handler), or a cons cell (a
     ;; property value).  UNAME and property values are not taken into
     ;; account for comparision.
@@ -152,31 +155,37 @@ association to the service from D-Bus."
     ;; Loop over the registered functions.
     (dolist (elt entry)
       (when (equal
-            (car value)
-            (butlast (cdr elt) (- (length (cdr elt)) (length (car value)))))
+            value
+            (butlast (cdr elt) (- (length (cdr elt)) (length value))))
+       (setq ret t)
        ;; Compute new hash value.  If it is empty, remove it from the
        ;; hash table.
        (unless (puthash key (delete elt entry) dbus-registered-objects-table)
          (remhash key dbus-registered-objects-table))
-       (setq ret t)))
+       ;; Remove match rule of signals.
+       (let ((rule (nth 4 elt)))
+         (when (stringp rule)
+           (setq service nil) ; We do not need to unregister the service.
+           (dbus-call-method
+            bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus
+            "RemoveMatch" rule)))))
     ;; Check, whether there is still a registered function or property
     ;; for the given service.  If not, unregister the service from the
     ;; bus.
-    (dolist (elt entry)
-      (let ((service (cadr elt))
-           (bus (car key))
-           found)
-       (maphash
-        (lambda (k v)
-          (dolist (e v)
-            (ignore-errors
-              (when (and (equal bus (car k)) (string-equal service (cadr e)))
-                (setq found t)))))
-        dbus-registered-objects-table)
-       (unless found
-         (dbus-call-method
-          bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus
-          "ReleaseName" service))))
+    (when service
+      (dolist (elt entry)
+       (let (found)
+         (maphash
+          (lambda (k v)
+            (dolist (e v)
+              (ignore-errors
+                (when (and (equal bus (car k)) (string-equal service (cadr e)))
+                  (setq found t)))))
+          dbus-registered-objects-table)
+         (unless found
+           (dbus-call-method
+            bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus
+            "ReleaseName" service)))))
     ;; Return.
     ret))
 
index 1fbba29..f9975c4 100644 (file)
@@ -5,7 +5,7 @@
 ;; Author:      Ulf Jasper <ulf.jasper@web.de>
 ;; Filename:    newst-reader.el
 ;; URL:         http://www.nongnu.org/newsticker
-;; Time-stamp:  "13. Mai 2011, 20:55:24 (ulf)"
+;; Time-stamp:  "24. September 2011, 15:47:49 (ulf)"
 ;; Package:     newsticker
 
 ;; ======================================================================
@@ -103,28 +103,11 @@ window is used when filling.  See also `newsticker-justification'."
 (defcustom newsticker-html-renderer
   nil
   "Function for rendering HTML contents.
-If non-nil, newsticker.el will call this function whenever it finds
-HTML-like tags in item descriptions.  Possible functions are, for
-example, `w3m-region', `w3-region', and (if you have htmlr.el installed)
-`newsticker-htmlr-render'.
-
-In order to make sure that the HTML renderer is loaded when you
-run newsticker, you should add one of the following statements to
-your .emacs.  If you use w3m,
-
-  (autoload 'w3m-region \"w3m\"
-    \"Render region in current buffer and replace with result.\" t)
-
-  (autoload 'w3m-toggle-inline-image \"w3m\"
-    \"Toggle the visibility of an image under point.\" t)
-
-or, if you use w3,
-
-  (require 'w3-auto)
-
-or, if you use htmlr
-
-  (require 'htmlr)"
+If non-nil, newsticker.el will call this function whenever it
+finds HTML-like tags in item descriptions.  Possible functions
+are `w3m-region', `w3-region', and `newsticker-htmlr-render'.
+Newsticker automatically loads the respective package w3m, w3, or
+htmlr if this option is set."
   :type '(choice :tag "Function"
                  (const :tag "None" nil)
                  (const :tag "w3" w3-region)
@@ -286,6 +269,14 @@ Return the image."
   "Start reading news.  You may want to bind this to a key."
   (interactive)
   (newsticker-start t) ;; will start only if not running
+  ;; Load the html rendering packages
+  (if newsticker-html-renderer
+      (cond ((eq newsticker-html-renderer 'w3m-region)
+             (require 'w3m))
+            ((eq newsticker-html-renderer 'w3-region)
+             (require 'w3-auto))
+            ((eq newsticker-html-renderer 'newsticker-htmlr-render)
+             (require 'htmlr))))
   (funcall newsticker-frontend))
 
 ;; ======================================================================
index e945813..56424f7 100644 (file)
@@ -1738,7 +1738,9 @@ and gid of the corresponding user is taken.  Both parameters must be integers."
                        "file-name-all-completions"
                        nil)))
                  (when cache-hit (list cache-hit))))
-             (tramp-compat-number-sequence (length filename) 0 -1)))))
+             ;; We cannot use a length of 0, because file properties
+             ;; for "foo" and "foo/" are identical.
+             (tramp-compat-number-sequence (length filename) 1 -1)))))
 
          ;; Cache expired or no matching cache entry found so we need
          ;; to perform a remote operation.
@@ -1803,12 +1805,12 @@ and gid of the corresponding user is taken.  Both parameters must be integers."
            (with-current-buffer (tramp-get-buffer v)
              (goto-char (point-max))
 
-             ;; Check result code, found in last line of output
+             ;; Check result code, found in last line of output.
              (forward-line -1)
              (if (looking-at "^fail$")
                  (progn
                    ;; Grab error message from line before last line
-                   ;; (it was put there by `cd 2>&1')
+                   ;; (it was put there by `cd 2>&1').
                    (forward-line -1)
                    (tramp-error
                     v 'file-error
@@ -1829,9 +1831,8 @@ tramp-sh-handle-file-name-all-completions: internal error accessing `%s': `%s'"
                (push (buffer-substring (point) (point-at-eol)) result)))
 
            ;; Because the remote op went through OK we know the
-           ;; directory we `cd'-ed to exists
-           (tramp-set-file-property
-            v localname "file-exists-p" t)
+           ;; directory we `cd'-ed to exists.
+           (tramp-set-file-property v localname "file-exists-p" t)
 
            ;; Because the remote op went through OK we know every
            ;; file listed by `ls' exists.
@@ -1840,11 +1841,10 @@ tramp-sh-handle-file-name-all-completions: internal error accessing `%s': `%s'"
                    v (concat localname entry) "file-exists-p" t))
                 result)
 
-           ;; Store result in the cache
+           ;; Store result in the cache.
            (tramp-set-file-property
             v (concat localname filename)
-            "file-name-all-completions"
-            result))))))))
+           "file-name-all-completions" result))))))))
 
 ;; cp, mv and ln
 
index 3384a6d..1381d33 100644 (file)
@@ -3024,11 +3024,13 @@ User is always nil."
     (if (and (not current-buffer-p) (integerp asynchronous))
        (prog1
            ;; Run the process.
-           (apply 'start-file-process "*Async Shell*" buffer args)
+           (setq p (apply 'start-file-process "*Async Shell*" buffer args))
          ;; Display output.
          (pop-to-buffer output-buffer)
          (setq mode-line-process '(":%s"))
-         (shell-mode))
+         (shell-mode)
+         (set-process-sentinel p 'shell-command-sentinel)
+         (set-process-filter p 'comint-output-filter))
 
       (prog1
          ;; Run the process.
index 941428d..c425e0a 100644 (file)
@@ -116,13 +116,14 @@ but can be invoked at any time to forcefully remove passwords
 from the cache.  This may be useful when it has been detected
 that a password is invalid, so that `password-read' query the
 user again."
-  (let ((password (symbol-value (intern-soft key password-data))))
-    (when password
-      (when (stringp password)
-        (if (fboundp 'clear-string)
-            (clear-string password)
-          (fillarray password ?_)))
-      (unintern key password-data))))
+  (let ((sym (intern-soft key password-data)))
+    (when sym
+      (let ((password (symbol-value sym)))
+        (when (stringp password)
+          (if (fboundp 'clear-string)
+              (clear-string password)
+            (fillarray password ?_)))
+        (unintern key password-data)))))
 
 (defun password-cache-add (key password)
   "Add password to cache.
index a063ce7..e5b4d7e 100644 (file)
@@ -93,7 +93,7 @@
 \f
 ;;; Variables also used at compile time.
 
-(defconst c-version "5.31.8"
+(defconst c-version "5.31.9"
   "CC Mode version number.")
 
 (defconst c-version-sym (intern c-version))
index 7989c60..eea8223 100644 (file)
 ;; Provides support for editing GNU Cfengine files, including
 ;; font-locking, Imenu and indention, but with no special keybindings.
 
-;; Possible customization for auto-mode selection:
-;; (push '(("^cfagent.conf\\'" . cfengine-mode)) auto-mode-alist)
-;; (push '(("^cf\\." . cfengine-mode)) auto-mode-alist)
-;; (push '(("\\.cf\\'" . cfengine-mode)) auto-mode-alist)
+;; The CFEngine 3.x support doesn't have Imenu support but patches are
+;; welcome.
 
-;; Or, if you want to use the CFEngine 3.x support:
+;; You can set it up so either cfengine-mode (2.x and earlier) or
+;; cfengine3-mode (3.x) will be picked, depending on the buffer
+;; contents:
 
-;; (push '(("^cfagent.conf\\'" . cfengine3-mode)) auto-mode-alist)
-;; (push '(("^cf\\." . cfengine3-mode)) auto-mode-alist)
-;; (push '(("\\.cf\\'" . cfengine3-mode)) auto-mode-alist)
+;; (add-to-list 'auto-mode-alist '("\\.cf\\'" . cfengine-auto-mode))
+
+;; OR you can choose to always use a specific version, if you prefer
+;; it
+
+;; (add-to-list 'auto-mode-alist '("\\.cf\\'" . cfengine3-mode))
+;; (add-to-list 'auto-mode-alist '("^cf\\." . cfengine-mode))
+;; (add-to-list 'auto-mode-alist '("^cfagent.conf\\'" . cfengine-mode))
 
 ;; This is not the same as the mode written by Rolf Ebert
 ;; <ebert@waporo.muc.de>, distributed with cfengine-2.0.5.  It does
@@ -466,6 +471,18 @@ to the action header."
        #'cfengine-beginning-of-defun)
   (set (make-local-variable 'end-of-defun-function) #'cfengine-end-of-defun))
 
+;;;###autoload
+(defun cfengine-auto-mode ()
+  "Choose between `cfengine-mode' and `cfengine3-mode' depending
+on the buffer contents"
+  (let ((v3 nil))
+    (save-restriction
+      (goto-char (point-min))
+      (while (not (or (eobp) v3))
+        (setq v3 (looking-at (concat cfengine3-defuns-regex "\\>")))
+        (forward-line)))
+    (if v3 (cfengine3-mode) (cfengine-mode))))
+
 (provide 'cfengine3)
 (provide 'cfengine)
 
index 7d23973..eb33822 100644 (file)
@@ -2012,14 +2012,15 @@ is non-nil, call `f90-update-line' after inserting the continuation marker."
 
 (defun f90-find-breakpoint ()
   "From `fill-column', search backward for break-delimiter."
+  ;; Commented text more likely than commented code.
   (if (f90-in-comment)
       (re-search-backward "\\s-" (line-beginning-position))
-    (re-search-backward f90-break-delimiters (line-beginning-position)))
-  (if (not f90-break-before-delimiters)
-      (forward-char (if (looking-at f90-no-break-re) 2 1))
-    (backward-char)
-    (or (looking-at f90-no-break-re)
-        (forward-char))))
+    (re-search-backward f90-break-delimiters (line-beginning-position))
+    (if (not f90-break-before-delimiters)
+        (forward-char (if (looking-at f90-no-break-re) 2 1))
+      (backward-char)
+      (or (looking-at f90-no-break-re)
+        (forward-char)))))
 
 (defun f90-do-auto-fill ()
   "Break line if non-white characters beyond `fill-column'.
index 49202ab..ca8be01 100644 (file)
@@ -539,7 +539,7 @@ property of an overlay."
 (defun hs-looking-at-block-start-p ()
   "Return non-nil if the point is at the block start."
   (and (looking-at hs-block-start-regexp)
-       (save-match-data (not (nth 4 (syntax-ppss))))))
+       (save-match-data (not (nth 8 (syntax-ppss))))))
 
 (defun hs-forward-sexp (match-data arg)
   "Adjust point based on MATCH-DATA and call `hs-forward-sexp-func' w/ ARG.
@@ -693,8 +693,8 @@ Return point, or nil if original point was not in a block."
         (point)
       ;; look backward for the start of a block that contains the cursor
       (while (and (re-search-backward hs-block-start-regexp nil t)
-                 ;; go again if in a comment
-                 (or (save-match-data (nth 4 (syntax-ppss)))
+                 ;; go again if in a comment or a string
+                 (or (save-match-data (nth 8 (syntax-ppss)))
                      (not (setq done
                                 (< here (save-excursion
                                           (hs-forward-sexp (match-data t) 1)
@@ -718,7 +718,7 @@ Return point, or nil if original point was not in a block."
            (and (< (point) maxp)
                 (re-search-forward hs-block-start-regexp maxp t)))
     (when (save-match-data
-           (not (nth 4 (syntax-ppss)))) ; not inside comments
+           (not (nth 8 (syntax-ppss)))) ; not inside comments or strings
       (if (> arg 1)
          (hs-hide-level-recursive (1- arg) minp maxp)
        (goto-char (match-beginning hs-block-start-mdata-select))
index 0765f74..636766b 100644 (file)
@@ -297,7 +297,7 @@ of `inferior-lisp-program').  Runs the hooks from
                           "inferior-lisp" (car cmdlist) nil (cdr cmdlist)))
        (inferior-lisp-mode)))
   (setq inferior-lisp-buffer "*inferior-lisp*")
-  (switch-to-buffer "*inferior-lisp*"))
+  (pop-to-buffer-same-window "*inferior-lisp*"))
 
 ;;;###autoload
 (defalias 'run-lisp 'inferior-lisp)
index 80358e1..97a1c46 100644 (file)
@@ -4725,7 +4725,7 @@ Try to set `comint-output-filter-functions' like this:
     (if (not (string= "" sql-user))
        (setq params (append (list "-U" sql-user) params)))
     (if (not (= 0 sql-port))
-       (setq params (append (list "-p" sql-port) params)))
+       (setq params (append (list "-p" (number-to-string sql-port)) params)))
     (sql-comint product params)))
 
 (defun sql-postgres-completion-object (sqlbuf schema)
index a6d6a56..6c80705 100644 (file)
@@ -6658,7 +6658,7 @@ If FACE is not a valid face name, use default face."
 ;; But autoload them here to make the separation invisible.
 \f
 ;;;### (autoloads (ps-mule-end-job ps-mule-begin-job ps-mule-initialize
-;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "179b43ee432338186dde9e8c4fe761af")
+;;;;;;  ps-multibyte-buffer) "ps-mule" "ps-mule.el" "cf055ee6ba398da614a675dc25bdb123")
 ;;; Generated autoloads from ps-mule.el
 
 (defvar ps-multibyte-buffer nil "\
index 8c5781f..96c0d27 100644 (file)
@@ -652,7 +652,7 @@ Otherwise, one argument `-i' is passed to the shell.
 
   ;; The buffer's window must be correctly set when we call comint (so
   ;; that comint sets the COLUMNS env var properly).
-  (switch-to-buffer buffer)
+  (pop-to-buffer-same-window buffer)
   (unless (comint-check-proc buffer)
     (let* ((prog (or explicit-shell-file-name
                     (getenv "ESHELL") shell-file-name))
index 4db0aae..1422709 100644 (file)
@@ -568,6 +568,7 @@ On nonblank line, delete any immediately following blank lines."
 All whitespace after the last non-whitespace character in a line is deleted.
 This respects narrowing, created by \\[narrow-to-region] and friends.
 A formfeed is not considered whitespace by this function.
+If END is nil, also delete all trailing lines at the end of the buffer.
 If the region is active, only delete whitespace within the region."
   (interactive (progn
                  (barf-if-buffer-read-only)
@@ -580,12 +581,18 @@ If the region is active, only delete whitespace within the region."
             (start (or start (point-min))))
         (goto-char start)
         (while (re-search-forward "\\s-$" end-marker t)
-          (skip-syntax-backward "-" (save-excursion (forward-line 0) (point)))
+          (skip-syntax-backward "-" (line-beginning-position))
           ;; Don't delete formfeeds, even if they are considered whitespace.
-          (save-match-data
-            (if (looking-at ".*\f")
-                (goto-char (match-end 0))))
+          (if (looking-at-p ".*\f")
+              (goto-char (match-end 0)))
           (delete-region (point) (match-end 0)))
+        ;; Delete trailing empty lines.
+        (goto-char end-marker)
+        (when (and (not end)
+                   (<= (skip-chars-backward "\n") -2)
+                   ;; Really the end of buffer.
+                   (save-restriction (widen) (eobp)))
+          (delete-region (1+ (point)) end-marker))
         (set-marker end-marker nil))))
   ;; Return nil for the benefit of `write-file-functions'.
   nil)
@@ -1054,9 +1061,9 @@ in *Help* buffer.  See also the command `describe-char'."
          ;; Check if the character is displayed with some `display'
          ;; text property.  In that case, set under-display to the
          ;; buffer substring covered by that property.
-         (setq display-prop (get-text-property pos 'display))
+         (setq display-prop (get-char-property pos 'display))
          (if display-prop
-             (let ((to (or (next-single-property-change pos 'display)
+             (let ((to (or (next-single-char-property-change pos 'display)
                            (point-max))))
                (if (< to (+ pos 4))
                    (setq under-display "")
@@ -3430,6 +3437,10 @@ a number counts as a prefix arg.
 To kill a whole line, when point is not at the beginning, type \
 \\[move-beginning-of-line] \\[kill-line] \\[kill-line].
 
+If `show-trailing-whitespace' is non-nil, this command will just
+kill the rest of the current line, even if there are only
+nonblanks there.
+
 If `kill-whole-line' is non-nil, then this command kills the whole line
 including its terminating newline, when used at the beginning of a line
 with no argument.  As a consequence, you can always kill a whole line
index 0d8797b..1aa714f 100644 (file)
@@ -1377,7 +1377,7 @@ arbitrary expression.
 ARGS is a list of variables which will be passed as additional arguments
 to each function, after the initial argument, and which the first argument
 expects to receive when called."
-  (declare (indent 2) (debug t))
+  (declare (indent 2) (debug (form sexp body)))
   ;; We need those two gensyms because CL's lexical scoping is not available
   ;; for function arguments :-(
   (let ((funs (make-symbol "funs"))
index a0892b5..8fd055f 100644 (file)
@@ -456,21 +456,29 @@ sentences.  Also, every paragraph boundary terminates sentences as well."
         (sentence-end (sentence-end)))
     (while (< arg 0)
       (let ((pos (point))
-           ;; We used to use (start-of-paragraph-text), but this can
-           ;; prevent sentence-end from matching if it is anchored at
-           ;; BOL and the paragraph starts indented.
-           (par-beg (save-excursion (backward-paragraph) (point))))
-       (if (and (re-search-backward sentence-end par-beg t)
-               (or (< (match-end 0) pos)
-                   (re-search-backward sentence-end par-beg t)))
-          (goto-char (match-end 0))
-        (goto-char par-beg)))
+           par-beg par-text-beg)
+       (save-excursion
+         (start-of-paragraph-text)
+         ;; Start of real text in the paragraph.
+         ;; We move back to here if we don't see a sentence-end.
+         (setq par-text-beg (point))
+         ;; Start of the first line of the paragraph.
+         ;; We use this as the search limit
+         ;; to allow s1entence-end to match if it is anchored at
+         ;; BOL and the paragraph starts indented.
+         (beginning-of-line)
+         (setq par-beg (point)))
+       (if (and (re-search-backward sentence-end par-beg t)
+                (or (< (match-end 0) pos)
+                    (re-search-backward sentence-end par-beg t)))
+           (goto-char (match-end 0))
+         (goto-char par-text-beg)))
       (setq arg (1+ arg)))
     (while (> arg 0)
       (let ((par-end (save-excursion (end-of-paragraph-text) (point))))
-       (if (re-search-forward sentence-end par-end t)
-          (skip-chars-backward " \t\n")
-        (goto-char par-end)))
+       (if (re-search-forward sentence-end par-end t)
+           (skip-chars-backward " \t\n")
+         (goto-char par-end)))
       (setq arg (1- arg)))
     (constrain-to-field nil opoint t)))
 
index 8148378..678d487 100644 (file)
@@ -83,7 +83,7 @@
   "Position point at the beginning of the line.
 With ARG not nil, move forward ARG - 1 lines first.
 If scan reaches end of buffer, stop there without error."
-  (interactive "P")
+  (interactive "^P")
   (if arg (forward-line (1- (prefix-numeric-value arg))))
   (beginning-of-line)
   (setq picture-desired-column 0))
@@ -92,7 +92,7 @@ If scan reaches end of buffer, stop there without error."
   "Position point after last non-blank character on current line.
 With ARG not nil, move forward ARG - 1 lines first.
 If scan reaches end of buffer, stop there without error."
-  (interactive "P")
+  (interactive "^P")
   (if arg (forward-line (1- (prefix-numeric-value arg))))
   (beginning-of-line)
   (skip-chars-backward " \t" (prog1 (point) (end-of-line)))
@@ -101,7 +101,7 @@ If scan reaches end of buffer, stop there without error."
 (defun picture-forward-column (arg &optional interactive)
   "Move cursor right, making whitespace if necessary.
 With argument, move that many columns."
-  (interactive "p\nd")
+  (interactive "^p\nd")
   (let (deactivate-mark)
     (picture-update-desired-column interactive)
     (setq picture-desired-column (max 0 (+ picture-desired-column arg)))
@@ -115,14 +115,14 @@ With argument, move that many columns."
 (defun picture-backward-column (arg &optional interactive)
   "Move cursor left, making whitespace if necessary.
 With argument, move that many columns."
-  (interactive "p\nd")
+  (interactive "^p\nd")
   (picture-update-desired-column interactive)
   (picture-forward-column (- arg)))
 
 (defun picture-move-down (arg)
   "Move vertically down, making whitespace if necessary.
 With argument, move that many lines."
-  (interactive "p")
+  (interactive "^p")
   (let (deactivate-mark)
     (picture-update-desired-column nil)
     (picture-newline arg)
@@ -139,7 +139,7 @@ With argument, move that many lines."
 (defun picture-move-up (arg)
   "Move vertically up, making whitespace if necessary.
 With argument, move that many lines."
-  (interactive "p")
+  (interactive "^p")
   (picture-update-desired-column nil)
   (picture-move-down (- arg)))
 
@@ -212,7 +212,7 @@ The mode line is updated to reflect the current direction."
 With ARG do it that many times.  Useful for delineating rectangles in
 conjunction with diagonal picture motion.
 Do \\[command-apropos]  picture-movement  to see commands which control motion."
-  (interactive "p")
+  (interactive "^p")
   (picture-move-down (* arg picture-vertical-step))
   (picture-forward-column (* arg picture-horizontal-step)))
 
@@ -221,7 +221,7 @@ Do \\[command-apropos]  picture-movement  to see commands which control motion."
 With ARG do it that many times.  Useful for delineating rectangles in
 conjunction with diagonal picture motion.
 Do \\[command-apropos]  picture-movement  to see commands which control motion."
-  (interactive "p")
+  (interactive "^p")
   (picture-motion (- arg)))
 
 (defun picture-mouse-set-point (event)
@@ -323,13 +323,14 @@ many lines."
   "Move to the beginning of the following line.
 With argument, moves that many lines (up, if negative argument);
 always moves to the beginning of a line."
-  (interactive "p")
-  (if (< arg 0)
-      (forward-line arg)
-    (while (> arg 0)
-      (end-of-line)
-      (if (eobp) (newline) (forward-char 1))
-      (setq arg (1- arg)))))
+  (interactive "^p")
+  (let ((start (point))
+        (lines-left (forward-line arg)))
+    (if (and (eobp)
+             (> (point) start))
+        (newline))
+    (if (> lines-left 0)
+        (newline lines-left))))
 
 (defun picture-open-line (arg)
   "Insert an empty line after the current line.
@@ -438,7 +439,7 @@ With ARG move to column occupied by next interesting character in this
 line.  The character must be preceded by whitespace.
 \"interesting characters\" are defined by variable `picture-tab-chars'.
 If no such character is found, move to beginning of line."
-  (interactive "P")
+  (interactive "^P")
   (let ((target (current-column)))
     (save-excursion
       (if (and (not arg)
@@ -464,7 +465,7 @@ If no such character is found, move to beginning of line."
 With prefix arg, overwrite the traversed text with spaces.  The tab stop
 list can be changed by \\[picture-set-tab-stops] and \\[edit-tab-stops].
 See also documentation for variable `picture-tab-chars'."
-  (interactive "P")
+  (interactive "^P")
   (let* ((opoint (point)))
     (move-to-tab-stop)
     (if arg
index 8ad0a8e..fbc267d 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-24  Christopher J. White  <chris@grierwhite.com>  (tiny change)
+
+       * url-http.el (url-http-create-request): Avoid adding extra CRLF
+       (Bug#8931).
+
 2011-09-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * url-http.el (url-http-find-free-connection): If there was an
index 0ba3aa2..557ef33 100644 (file)
@@ -342,7 +342,9 @@ request.")
              ;; End request
              "\r\n"
              ;; Any data
-             url-http-data))
+             url-http-data
+            ;; If `url-http-data' is nil, avoid two CRLFs (Bug#8931).
+            (if url-http-data "\r\n")))
            ""))
     (url-http-debug "Request is: \n%s" request)
     request))
index e0be98d..512eebc 100644 (file)
@@ -2531,7 +2531,8 @@ before was current this also makes BUFFER the current buffer."
     (when (and selected current)
       (set-buffer buffer))
     (when start
-      (set-window-start window start))
+      ;; Don't force window-start here (even if POINT is nil).
+      (set-window-start window start t))
     (when point
       (if selected
          (with-current-buffer buffer
@@ -2868,8 +2869,9 @@ all window-local buffer lists."
 
 (defun quit-window (&optional kill window)
   "Quit WINDOW and bury its buffer.
-WINDOW defaults to the selected window.
-With a prefix argument, kill the buffer instead.
+WINDOW must be a live window and defaults to the selected one.
+With prefix argument KILL non-nil, kill the buffer instead of
+burying it.
 
 According to information stored in WINDOW's `quit-restore' window
 parameter either \(1) delete WINDOW and its frame, \(2) delete
@@ -2878,51 +2880,65 @@ or \(4) make WINDOW display some other buffer than the present
 one.  If non-nil, reset `quit-restore' parameter to nil."
   (interactive "P")
   (setq window (window-normalize-live-window window))
-  (let ((buffer (window-buffer window))
-       (quit-restore (window-parameter window 'quit-restore))
-       resize)
+  (let* ((buffer (window-buffer window))
+        (quit-restore (window-parameter window 'quit-restore))
+        (prev-buffer
+         (let* ((prev-buffers (window-prev-buffers window))
+                (prev-buffer (caar prev-buffers)))
+           (and (or (not (eq prev-buffer buffer))
+                    (and (cdr prev-buffers)
+                         (not (eq (setq prev-buffer (cadr prev-buffers))
+                                  buffer))))
+                prev-buffer)))
+        quad resize)
     (cond
-     ((and (eq (car-safe quit-restore) 'new-frame)
-          (eq (nth 1 quit-restore) (window-buffer window))
-          (eq (window-deletable-p window) 'frame))
+     ((and (not prev-buffer)
+          (eq (nth 1 quit-restore) 'frame)
+          (eq (window-deletable-p window) 'frame)
+          (eq (nth 3 quit-restore) buffer))
       ;; WINDOW's frame can be deleted.
       (delete-frame (window-frame window))
       ;; If the previously selected window is still alive, select it.
       (when (window-live-p (nth 2 quit-restore))
        (select-window (nth 2 quit-restore))))
-     ((and (eq (car-safe quit-restore) 'new-window)
-          (eq (nth 1 quit-restore) (window-buffer window))
-          (eq (window-deletable-p window) t))
-      ;; WINDOW's can be deleted.
+     ((and (not prev-buffer)
+          (eq (nth 1 quit-restore) 'window)
+          (eq (window-deletable-p window) t)
+          (eq (nth 3 quit-restore) buffer))
+      ;; WINDOW can be deleted.
       (delete-window window)
       ;; If the previously selected window is still alive, select it.
       (when (window-live-p (nth 2 quit-restore))
        (select-window (nth 2 quit-restore))))
-     ((and (buffer-live-p (nth 0 quit-restore))
-          ;; The buffer currently shown in WINDOW must still be the
-          ;; buffer shown when its `quit-restore' parameter was created
-          ;; in the first place.
-          (eq (window-buffer window) (nth 3 quit-restore)))
-      (setq resize (with-current-buffer buffer temp-buffer-resize-mode))
+     ((and (listp (setq quad (nth 1 quit-restore)))
+          (buffer-live-p (car quad))
+          (eq (nth 3 quit-restore) buffer))
+      ;; Show another buffer stored in quit-restore parameter.
+      (setq resize (with-current-buffer buffer
+                    (and temp-buffer-resize-mode
+                         (/= (nth 3 quad) (window-total-size window)))))
       (unrecord-window-buffer window buffer)
-      ;; Display buffer stored in the quit-restore parameter.
       (set-window-dedicated-p window nil)
-      (set-window-buffer window (nth 0 quit-restore))
-      (set-window-start window (nth 1 quit-restore))
-      (set-window-point window (nth 2 quit-restore))
-      (and resize
-          (/= (nth 4 quit-restore) (window-total-size window))
-          (window-resize window
-                         (- (nth 4 quit-restore)
-                            (window-total-size window))))
+      (when resize
+       ;; Try to resize WINDOW to its old height but don't signal an
+       ;; error.
+       (condition-case nil
+           (window-resize window (- (nth 3 quad) (window-total-size window)))
+         (error nil)))
+      ;; Restore WINDOW's previous buffer, window start and point.
+      (set-window-buffer-start-and-point
+       window (nth 0 quad) (nth 1 quad) (nth 2 quad))
       ;; Reset the quit-restore parameter.
       (set-window-parameter window 'quit-restore nil)
-      (when (window-live-p (nth 5 quit-restore))
-       (select-window (nth 5 quit-restore))))
+      ;; Select old window.
+      (when (window-live-p (nth 2 quit-restore))
+       (select-window (nth 2 quit-restore))))
      (t
-      ;; Otherwise, show another buffer in WINDOW and reset the
-      ;; quit-restore parameter.
+      ;; Show some other buffer in WINDOW and reset the quit-restore
+      ;; parameter.
       (set-window-parameter window 'quit-restore nil)
+      ;; Make sure that WINDOW is no more dedicated.
+      (set-window-dedicated-p window nil)
       (switch-to-prev-buffer window 'bury-or-kill)))
 
     ;; Kill WINDOW's old-buffer if requested
@@ -3787,39 +3803,48 @@ subwindows can get as small as `window-safe-min-height' and
 \f
 (defun display-buffer-record-window (type window buffer)
   "Record information for window used by `display-buffer'.
-TYPE must be one of the symbols reuse-window, pop-up-window, or
-pop-up-frame.  WINDOW is the window used for or created by the
-`display-buffer' routines.  BUFFER is the buffer that shall be
-displayed."
+TYPE specifies the type of the calling operation and must be one
+of the symbols 'reuse \(when WINDOW existed already and was
+reused for displaying BUFFER), 'window \(when WINDOW was created
+on an already existing frame), or 'frame \(when WINDOW was
+created on a new frame). WINDOW is the window used for or created
+by the `display-buffer' routines.  BUFFER is the buffer that
+shall be displayed.
+
+This function installs or updates the quit-restore parameter of
+WINDOW.  The quit-restore parameter is a list of four elements:
+The first element is one of the symbols 'window, 'frame, 'same or
+'other.  The second element is either one of the symbols 'window
+or 'frame or a list whose elements are the buffer previously
+shown in the window, that buffer's window start and window point,
+and the window's height.  The third element is the window
+selected at the time the parameter was created.  The fourth
+element is BUFFER."
   (cond
-   ((eq type 'reuse-window)
-    ;; In `help-setup' window parameter record whether we used a window
-    ;; on the same buffer or another one.
-    (set-window-parameter
-     window 'help-setup
-     (if (eq (window-buffer window) buffer) 'reuse-same 'reuse-other))
-    ;; In `quit-restore' parameter record information about the old
-    ;; buffer unless such information exists already.
-    (unless (window-parameter window 'quit-restore)
+   ((eq type 'reuse)
+    (if (eq (window-buffer window) buffer)
+       ;; WINDOW shows BUFFER already.
+       (when (consp (window-parameter window 'quit-restore))
+         ;; If WINDOW has a quit-restore parameter, reset its car.
+         (setcar (window-parameter window 'quit-restore) 'same))
+      ;; WINDOW shows another buffer.
       (set-window-parameter
        window 'quit-restore
-       (list (window-buffer window) (window-start window)
-            (window-point window) buffer
-            (window-total-size window) (selected-window)))))
-   ((eq type 'pop-up-window)
-    ;; In `help-setup' window parameter record window as new.
-    (set-window-parameter window 'help-setup 'new-window)
-    ;; In `quit-restore' parameter record that we popped up this window,
-    ;; its buffer, and which window was selected before.
+       (list 'other
+            ;; A quadruple of WINDOW's buffer, start, point and height.
+            (list (window-buffer window) (window-start window)
+                  (window-point window) (window-total-size window))
+            (selected-window) buffer))))
+   ((eq type 'window)
+    ;; WINDOW has been created on an existing frame.
     (set-window-parameter
-     window 'quit-restore (list 'new-window buffer (selected-window))))
-   ((eq type 'pop-up-frame)
-    ;; In `help-setup' window parameter record window as on new frame.
-    (set-window-parameter window 'help-setup 'new-frame)
-    ;; In `quit-restore' parameter record that we popped up this window
-    ;; on a new frame, the buffer, and which window was selected before.
+     window 'quit-restore
+     (list 'window 'window (selected-window) buffer)))
+   ((eq type 'frame)
+    ;; WINDOW has been created on a new frame.
     (set-window-parameter
-     window 'quit-restore (list 'new-frame buffer (selected-window))))))
+     window 'quit-restore
+     (list 'frame 'frame (selected-window) buffer)))))
 
 (defcustom display-buffer-function nil
   "If non-nil, function to call to handle `display-buffer'.
@@ -4065,7 +4090,7 @@ and (cdr ARGS) as second."
         (let ((frame (window-frame window)))
           (make-frame-visible frame)
           (raise-frame frame)
-          (display-buffer-record-window 'reuse-window window buffer)
+          (display-buffer-record-window 'reuse window buffer)
           window))
        ;; Reuse the current window if the user requested it.
        (when (cdr (assq 'same-window args))
@@ -4079,14 +4104,16 @@ and (cdr ARGS) as second."
                special-display-buffer-names special-display-regexps)
           (display-buffer buffer)))
        ;; If no window yet, make one in a new frame.
-       (let ((frame
-             (with-current-buffer buffer
-               (make-frame (append args special-display-frame-alist)))))
-        (display-buffer-record-window
-         'pop-up-frame (frame-selected-window frame) buffer)
-        (set-window-buffer (frame-selected-window frame) buffer)
-        (set-window-dedicated-p (frame-selected-window frame) t)
-        (frame-selected-window frame))))))
+       (let* ((frame
+              (with-current-buffer buffer
+                (make-frame (append args special-display-frame-alist))))
+             (window (frame-selected-window frame)))
+        (display-buffer-record-window 'frame window buffer)
+        (set-window-buffer window buffer)
+        ;; Reset list of WINDOW's previous buffers to nil.
+        (set-window-prev-buffers window nil)
+        (set-window-dedicated-p window t)
+        window)))))
 
 (defcustom special-display-function 'special-display-popup-frame
   "Function to call for displaying special buffers.
@@ -4442,10 +4469,7 @@ BUFFER-OR-NAME and return that buffer."
 (defconst display-buffer--action-function-custom-type
   '(choice :tag "Function"
           (const :tag "--" ignore) ; default for insertion
-          (const display-buffer--maybe-same-window)
           (const display-buffer-reuse-window)
-          (const display-buffer--special)
-          (const display-buffer--maybe-pop-up-frame-or-window)
           (const display-buffer-use-some-window)
           (const display-buffer-same-window)
           (const display-buffer-pop-up-frame)
@@ -4647,7 +4671,7 @@ selected window."
   (unless (or (cdr (assq 'inhibit-same-window alist))
              (window-minibuffer-p)
              (window-dedicated-p))
-    (display-buffer-record-window 'reuse-window (selected-window) buffer)
+    (display-buffer-record-window 'reuse (selected-window) buffer)
     (window--display-buffer-2 buffer (selected-window))))
 
 (defun display-buffer--maybe-same-window (buffer alist)
@@ -4692,7 +4716,7 @@ terminal if either of those variables is non-nil."
                              (get-buffer-window-list buffer 'nomini
                                                      frames))))))
     (when window
-      (display-buffer-record-window 'reuse-window window buffer)
+      (display-buffer-record-window 'reuse window buffer)
       (window--display-buffer-1 window))))
 
 (defun display-buffer--special (buffer alist)
@@ -4716,7 +4740,7 @@ return the window used; otherwise return nil."
     (when (and fun
               (setq frame (funcall fun))
               (setq window (frame-selected-window frame)))
-      (display-buffer-record-window 'pop-up-frame window buffer)
+      (display-buffer-record-window 'frame window buffer)
       (window--display-buffer-2 buffer window)
       ;; Reset list of WINDOW's previous buffers to nil.
       (set-window-prev-buffers window nil)
@@ -4742,7 +4766,7 @@ If sucessful, return the new window; otherwise return nil."
                                 (get-largest-window frame t))
                                (window--try-to-split-window
                                 (get-lru-window frame t)))))
-      (display-buffer-record-window 'pop-up-window window buffer)
+      (display-buffer-record-window 'window window buffer)
       (window--display-buffer-2 buffer window)
       ;; Reset list of WINDOW's previous buffers to nil.
       (set-window-prev-buffers window nil)
@@ -4796,7 +4820,7 @@ return the window.  If no suitable window is found, return nil."
        ;; Restore dedicated status of selected window.
        (set-window-dedicated-p window-to-undedicate nil)))
     (when window
-      (display-buffer-record-window 'reuse-window window buffer)
+      (display-buffer-record-window 'reuse window buffer)
       (window--even-window-heights window)
       (window--display-buffer-2 buffer window))))
 
@@ -4829,14 +4853,35 @@ at the front of the list of recently selected ones."
         (old-frame (selected-frame))
         (window (display-buffer buffer action))
         (frame (window-frame window)))
-    (if (eq frame old-frame)
-       ;; Make sure new window is selected (Bug#8615), (Bug#6954).
-       (select-window window norecord)
-      ;; If `display-buffer' has chosen another frame, make sure it
-      ;; gets input focus.
+    ;; If we chose another frame, make sure it gets input focus.
+    (unless (eq frame old-frame)
       (select-frame-set-input-focus frame norecord))
+    ;; Make sure new window is selected (Bug#8615), (Bug#6954).
+    (select-window window norecord)
     buffer))
 
+(defun pop-to-buffer-same-window (buffer &optional norecord)
+  "Select buffer BUFFER in some window, preferably the same one.
+This function behaves much like `switch-to-buffer', except it
+displays with `special-display-function' if BUFFER has a match in
+`special-display-buffer-names' or `special-display-regexps'.
+
+Unlike `pop-to-buffer', this function prefers using the selected
+window over popping up a new window or frame.
+
+BUFFER may be a buffer, a string (a buffer name), or nil.  If it
+is a string not naming an existent buffer, create a buffer with
+that name.  If BUFFER is nil, choose some other buffer.  Return
+the buffer.
+
+NORECORD, if non-nil means do not put this buffer at the front of
+the list of recently selected ones."
+  (pop-to-buffer buffer
+                '((display-buffer--special
+                   display-buffer-same-window)
+                  (inhibit-same-window . nil))
+                norecord))
+
 (defun read-buffer-to-switch (prompt)
   "Read the name of a buffer to switch to, prompting with PROMPT.
 Return the neame of the buffer as a string.
@@ -4892,9 +4937,9 @@ do not make the window displaying it the most recently selected
 one.
 
 If FORCE-SAME-WINDOW is non-nil, BUFFER-OR-NAME must be displayed
-in the currently selected window; signal an error if that is
-impossible (e.g. if the selected window is minibuffer-only).
-If non-nil, BUFFER-OR-NAME may be displayed in another window.
+in the selected window; signal an error if that is
+impossible (e.g. if the selected window is minibuffer-only).  If
+non-nil, BUFFER-OR-NAME may be displayed in another window.
 
 Return the buffer switched to."
   (interactive
index 5c2cc96..cd9d254 100644 (file)
@@ -1,4 +1,4 @@
-#serial 14
+#serial 16
 dnl Copyright (C) 2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -71,3 +71,6 @@ AC_DEFUN([gl_FUNC_DUP2],
     fi
   ])
 ])
+
+# Prerequisites of lib/dup2.c.
+AC_DEFUN([gl_PREREQ_DUP2], [])
index b75e05f..b16f40d 100644 (file)
@@ -7,7 +7,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 4
+#serial 5
 
 # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent.
 # New applications should use gl_GETLOADAVG instead.
@@ -91,10 +91,10 @@ else
   HAVE_SYS_LOADAVG_H=0
 fi
 AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0],
-  [#if HAVE_SYS_LOADAVG_H
-   # include <sys/loadavg.h>
-   #endif
-   #include <stdlib.h>])
+  [[#if HAVE_SYS_LOADAVG_H
+    # include <sys/loadavg.h>
+    #endif
+    #include <stdlib.h>]])
 ])# gl_GETLOADAVG
 
 
index f7d99ca..04234bb 100644 (file)
@@ -1,10 +1,22 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
 # Copyright (C) 2002-2011 Free Software Foundation, Inc.
 #
-# This file is free software, distributed under the terms of the GNU
-# General Public License.  As a special exception to the GNU General
-# Public License, this file may be distributed as part of a program
-# that contains a configuration script generated by Autoconf, under
+# This file 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.
+#
+# This file 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 this file.  If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License,
+# this file may be distributed as part of a program that
+# contains a configuration script generated by Autoconf, under
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
@@ -55,7 +67,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module nocrash:
   # Code from module pthread_sigmask:
   # Code from module readlink:
-  # Code from module signal:
+  # Code from module signal-h:
   # Code from module sigprocmask:
   # Code from module snippet/_Noreturn:
   # Code from module snippet/arg-nonnull:
@@ -115,6 +127,7 @@ AC_REQUIRE([gl_C99_STRTOLD])
 gl_FUNC_DUP2
 if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
   AC_LIBOBJ([dup2])
+  gl_PREREQ_DUP2
 fi
 gl_UNISTD_MODULE_INDICATOR([dup2])
 gl_FILEMODE
@@ -233,6 +246,12 @@ if test $HAVE_POSIX_SIGNALBLOCKING = 0; then
 fi
 gl_SIGNAL_MODULE_INDICATOR([sigprocmask])
       gl_gnulib_enabled_sigprocmask=true
+      if $condition; then
+        func_gl_gnulib_m4code_raise
+      fi
+      if $condition; then
+        func_gl_gnulib_m4code_f691f076f650964c9f5598c3ee487616
+      fi
     fi
   }
   func_gl_gnulib_m4code_stat ()
@@ -248,6 +267,9 @@ gl_SYS_STAT_MODULE_INDICATOR([stat])
       if $condition; then
         func_gl_gnulib_m4code_dosname
       fi
+      if $condition; then
+        func_gl_gnulib_m4code_pathmax
+      fi
       if $condition; then
         func_gl_gnulib_m4code_verify
       fi
@@ -283,6 +305,12 @@ gl_STDLIB_MODULE_INDICATOR([strtoull])
       gl_gnulib_enabled_verify=true
     fi
   }
+  if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+    func_gl_gnulib_m4code_f691f076f650964c9f5598c3ee487616
+  fi
+  if test $HAVE_DUP2 = 0 || test $REPLACE_DUP2 = 1; then
+    func_gl_gnulib_m4code_676220fa4366efa9bdbfccf11a857c07
+  fi
   if test $REPLACE_GETOPT = 1; then
     func_gl_gnulib_m4code_be453cec5eecf5731a274f2de7f2db36
   fi
index 14a1009..d5230ce 100644 (file)
@@ -1,4 +1,4 @@
-# include_next.m4 serial 21
+# include_next.m4 serial 22
 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -223,9 +223,11 @@ changequote(,)
                    ;;
                esac
 changequote([,])
-               gl_absolute_header_sed='\#'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[#{
-                   s#.*"\(.*'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[\)".*#\1#
-                   s#^/[^/]#//&#
+               gl_absolute_header_sed='\|'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[|{
+                   s|.*"\(.*'"${gl_dirsep_regex}"']m4_defn([gl_HEADER_NAME])[\)".*|\1|
+changequote(,)dnl
+                   s|^/[^/]|//&|
+changequote([,])dnl
                    p
                    q
                  }'
index c3f2538..5cf54a0 100644 (file)
@@ -1,4 +1,4 @@
-# signal_h.m4 serial 17
+# signal_h.m4 serial 18
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -62,12 +62,14 @@ AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
 AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
 [
   GNULIB_PTHREAD_SIGMASK=0;    AC_SUBST([GNULIB_PTHREAD_SIGMASK])
+  GNULIB_RAISE=0;              AC_SUBST([GNULIB_RAISE])
   GNULIB_SIGNAL_H_SIGPIPE=0;   AC_SUBST([GNULIB_SIGNAL_H_SIGPIPE])
   GNULIB_SIGPROCMASK=0;        AC_SUBST([GNULIB_SIGPROCMASK])
   GNULIB_SIGACTION=0;          AC_SUBST([GNULIB_SIGACTION])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_POSIX_SIGNALBLOCKING=1; AC_SUBST([HAVE_POSIX_SIGNALBLOCKING])
   HAVE_PTHREAD_SIGMASK=1;      AC_SUBST([HAVE_PTHREAD_SIGMASK])
+  HAVE_RAISE=1;                AC_SUBST([HAVE_RAISE])
   HAVE_SIGSET_T=1;             AC_SUBST([HAVE_SIGSET_T])
   HAVE_SIGINFO_T=1;            AC_SUBST([HAVE_SIGINFO_T])
   HAVE_SIGACTION=1;            AC_SUBST([HAVE_SIGACTION])
@@ -77,4 +79,5 @@ AC_DEFUN([gl_SIGNAL_H_DEFAULTS],
                                AC_SUBST([HAVE_TYPE_VOLATILE_SIG_ATOMIC_T])
   HAVE_SIGHANDLER_T=1;         AC_SUBST([HAVE_SIGHANDLER_T])
   REPLACE_PTHREAD_SIGMASK=0;   AC_SUBST([REPLACE_PTHREAD_SIGMASK])
+  REPLACE_RAISE=0;             AC_SUBST([REPLACE_RAISE])
 ])
index 15b7425..eda856d 100644 (file)
@@ -1,4 +1,4 @@
-# signalblocking.m4 serial 12
+# signalblocking.m4 serial 13
 dnl Copyright (C) 2001-2002, 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -22,4 +22,6 @@ AC_DEFUN([gl_SIGNALBLOCKING],
 ])
 
 # Prerequisites of lib/sigprocmask.c.
-AC_DEFUN([gl_PREREQ_SIGPROCMASK], [:])
+AC_DEFUN([gl_PREREQ_SIGPROCMASK], [
+  AC_REQUIRE([AC_C_INLINE])
+])
index c75e957..092161c 100644 (file)
@@ -466,6 +466,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
   fi
   gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
     [gl_STDINT_INCLUDES])
+
+  dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99
+  dnl requirement that wint_t is "unchanged by default argument promotions".
+  dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
+  dnl Set the variable BITSIZEOF_WINT_T accordingly.
+  if test $BITSIZEOF_WINT_T -lt 32; then
+    BITSIZEOF_WINT_T=32
+  fi
 ])
 
 dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
index a8326f3..39bf80e 100644 (file)
@@ -1,4 +1,4 @@
-# stdio_h.m4 serial 37
+# stdio_h.m4 serial 40
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -74,7 +74,7 @@ AC_DEFUN([gl_STDIO_H],
   dnl corresponding gnulib module is not in use, and which is not
   dnl guaranteed by C89.
   gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
-    ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
+    ]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
     snprintf tmpfile vdprintf vsnprintf])
 ])
 
@@ -91,6 +91,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
 [
   GNULIB_DPRINTF=0;              AC_SUBST([GNULIB_DPRINTF])
   GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
+  GNULIB_FDOPEN=0;               AC_SUBST([GNULIB_FDOPEN])
   GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
   GNULIB_FGETC=0;                AC_SUBST([GNULIB_FGETC])
   GNULIB_FGETS=0;                AC_SUBST([GNULIB_FGETS])
@@ -115,6 +116,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   GNULIB_GETS=0;                 AC_SUBST([GNULIB_GETS])
   GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
   GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+  GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
   GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
   GNULIB_POPEN=0;                AC_SUBST([GNULIB_POPEN])
   GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
@@ -153,11 +155,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
   HAVE_DPRINTF=1;                AC_SUBST([HAVE_DPRINTF])
   HAVE_FSEEKO=1;                 AC_SUBST([HAVE_FSEEKO])
   HAVE_FTELLO=1;                 AC_SUBST([HAVE_FTELLO])
+  HAVE_PCLOSE=1;                 AC_SUBST([HAVE_PCLOSE])
+  HAVE_POPEN=1;                  AC_SUBST([HAVE_POPEN])
   HAVE_RENAMEAT=1;               AC_SUBST([HAVE_RENAMEAT])
   HAVE_VASPRINTF=1;              AC_SUBST([HAVE_VASPRINTF])
   HAVE_VDPRINTF=1;               AC_SUBST([HAVE_VDPRINTF])
   REPLACE_DPRINTF=0;             AC_SUBST([REPLACE_DPRINTF])
   REPLACE_FCLOSE=0;              AC_SUBST([REPLACE_FCLOSE])
+  REPLACE_FDOPEN=0;              AC_SUBST([REPLACE_FDOPEN])
   REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
   REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
   REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
index fc41912..83ebac6 100644 (file)
@@ -1,4 +1,4 @@
-# sys_stat_h.m4 serial 24   -*- Autoconf -*-
+# sys_stat_h.m4 serial 26   -*- Autoconf -*-
 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -19,6 +19,9 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
 
   gl_CHECK_NEXT_HEADERS([sys/stat.h])
 
+  dnl Ensure the type mode_t gets defined.
+  AC_REQUIRE([AC_TYPE_MODE_T])
+
   dnl Define types that are supposed to be defined in <sys/types.h> or
   dnl <sys/stat.h>.
   AC_CHECK_TYPE([nlink_t], [],
@@ -30,7 +33,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
   gl_WARN_ON_USE_PREPARE([[#include <sys/stat.h>
-    ]], [fchmodat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
+    ]], [fchmodat fstat fstatat futimens lchmod lstat mkdirat mkfifo mkfifoat
     mknod mknodat stat utimensat])
 ]) # gl_HEADER_SYS_STAT_H
 
@@ -47,6 +50,7 @@ AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
   GNULIB_FCHMODAT=0;    AC_SUBST([GNULIB_FCHMODAT])
+  GNULIB_FSTAT=0;       AC_SUBST([GNULIB_FSTAT])
   GNULIB_FSTATAT=0;     AC_SUBST([GNULIB_FSTATAT])
   GNULIB_FUTIMENS=0;    AC_SUBST([GNULIB_FUTIMENS])
   GNULIB_LCHMOD=0;      AC_SUBST([GNULIB_LCHMOD])
index 6e6394f..3454b23 100644 (file)
@@ -2,7 +2,7 @@
 
 # Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
 
-# serial 5
+# serial 6
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -23,9 +23,6 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
   AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
   gl_NEXT_HEADERS([time.h])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
-
-  dnl Ensure the type pid_t gets defined.
-  AC_REQUIRE([AC_TYPE_PID_T])
 ])
 
 dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
index 6483b81..57c8094 100644 (file)
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 57
+# unistd_h.m4 serial 61
 dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -26,7 +26,10 @@ AC_DEFUN([gl_UNISTD_H],
 
   dnl Check for declarations of anything we want to poison if the
   dnl corresponding gnulib module is not in use.
-  gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
+  gl_WARN_ON_USE_PREPARE([[
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 /* Some systems declare various items in the wrong headers.  */
 #if !(defined __GLIBC__ && !defined __UCLIBC__)
 # include <fcntl.h>
@@ -36,8 +39,8 @@ AC_DEFUN([gl_UNISTD_H],
 #  include <io.h>
 # endif
 #endif
-    ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat
-    fsync ftruncate getcwd getdomainname getdtablesize getgroups
+    ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
+    fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
     gethostname getlogin getlogin_r getpagesize getusershell setusershell
     endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
     readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat
@@ -55,8 +58,10 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
 
 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
 [
+  GNULIB_CHDIR=0;                AC_SUBST([GNULIB_CHDIR])
   GNULIB_CHOWN=0;                AC_SUBST([GNULIB_CHOWN])
   GNULIB_CLOSE=0;                AC_SUBST([GNULIB_CLOSE])
+  GNULIB_DUP=0;                  AC_SUBST([GNULIB_DUP])
   GNULIB_DUP2=0;                 AC_SUBST([GNULIB_DUP2])
   GNULIB_DUP3=0;                 AC_SUBST([GNULIB_DUP3])
   GNULIB_ENVIRON=0;              AC_SUBST([GNULIB_ENVIRON])
@@ -64,6 +69,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_FACCESSAT=0;            AC_SUBST([GNULIB_FACCESSAT])
   GNULIB_FCHDIR=0;               AC_SUBST([GNULIB_FCHDIR])
   GNULIB_FCHOWNAT=0;             AC_SUBST([GNULIB_FCHOWNAT])
+  GNULIB_FDATASYNC=0;            AC_SUBST([GNULIB_FDATASYNC])
   GNULIB_FSYNC=0;                AC_SUBST([GNULIB_FSYNC])
   GNULIB_FTRUNCATE=0;            AC_SUBST([GNULIB_FTRUNCATE])
   GNULIB_GETCWD=0;               AC_SUBST([GNULIB_GETCWD])
@@ -107,6 +113,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_FACCESSAT=1;       AC_SUBST([HAVE_FACCESSAT])
   HAVE_FCHDIR=1;          AC_SUBST([HAVE_FCHDIR])
   HAVE_FCHOWNAT=1;        AC_SUBST([HAVE_FCHOWNAT])
+  HAVE_FDATASYNC=1;       AC_SUBST([HAVE_FDATASYNC])
   HAVE_FSYNC=1;           AC_SUBST([HAVE_FSYNC])
   HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
   HAVE_GETDTABLESIZE=1;   AC_SUBST([HAVE_GETDTABLESIZE])
@@ -131,6 +138,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
   HAVE_DECL_FCHDIR=1;     AC_SUBST([HAVE_DECL_FCHDIR])
+  HAVE_DECL_FDATASYNC=1;  AC_SUBST([HAVE_DECL_FDATASYNC])
   HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
   HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
   HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
index c15fecf..2dbb35c 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -383,7 +383,7 @@ echo "Making links to \`lib'"
 (snippet_h=`(cd build-aux/snippet && ls *.h)`
  cd lib
  ln [a-zA-Z]*.[ch] ../${tempdir}/lib
- ln gnulib.mk Makefile.am Makefile.in ../${tempdir}/lib
+ ln gnulib.mk Makefile.am Makefile.in makefile.w32-in ../${tempdir}/lib
  cd ../${tempdir}/lib
  script='/[*]/d; s/\.in\.h$/.h/'
  rm -f `(echo "$snippet_h"; ls *.in.h) | sed "$script"`)
index 18144cc..3c3e693 100644 (file)
@@ -58,7 +58,7 @@
 /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
 /^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
 /^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/
-/^#undef VERSION/s/^.*$/#define VERSION "24.0.50"/
+/^#undef VERSION/s/^.*$/#define VERSION "24.0.90"/
 /^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
 /^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
 /^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/
index b618e17..54c5da9 100644 (file)
@@ -553,7 +553,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
        <key>CFBundleExecutable</key>
        <string>Emacs</string>
        <key>CFBundleGetInfoString</key>
-       <string>Emacs 24.0.50 Copyright (C) 2011 Free Software Foundation, Inc.</string>
+       <string>Emacs 24.0.90 Copyright (C) 2011 Free Software Foundation, Inc.</string>
        <key>CFBundleIconFile</key>
        <string>Emacs.icns</string>
        <key>CFBundleIdentifier</key>
@@ -566,7 +566,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
        <string>APPL</string>
        <!-- This should be the emacs version number. -->
        <key>CFBundleShortVersionString</key>
-       <string>24.0.50</string>
+       <string>24.0.90</string>
        <key>CFBundleSignature</key>
        <string>EMAx</string>
        <!-- This SHOULD be a build number. -->
index 95bc8ad..67e7de1 100644 (file)
@@ -1,6 +1,6 @@
 /* Localized versions of Info.plist keys */
 
 CFBundleName = "Emacs";
-CFBundleShortVersionString = "Version 24.0.50";
-CFBundleGetInfoString = "Emacs version 24.0.50, NS Windowing";
+CFBundleShortVersionString = "Version 24.0.90";
+CFBundleGetInfoString = "Emacs version 24.0.90, NS Windowing";
 NSHumanReadableCopyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
index 0131bec..366e9bb 100644 (file)
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Encoding=UTF-8
 Type=Application
-Version=24.0.50
+Version=24.0.90
 Categories=GNUstep
 Name=Emacs
 Comment=GNU Emacs for NeXT/Open/GNUstep and OS X
index 9c893ed..9c25900 100644 (file)
@@ -2,7 +2,7 @@
     ApplicationDescription = "GNU Emacs for GNUstep / OS X";
     ApplicationIcon = emacs.tiff;
     ApplicationName = Emacs;
-    ApplicationRelease = "24.0.50";
+    ApplicationRelease = "24.0.90";
     Authors = (
        "Adrian Robert (GNUstep)",
        "Christophe de Dinechin (MacOS X)",
@@ -13,7 +13,7 @@
     );
     Copyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
     CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
-    FullVersionID = "Emacs 24.0.50, NS Windowing";
+    FullVersionID = "Emacs 24.0.90, NS Windowing";
     NSExecutable = Emacs;
     NSIcon = emacs.tiff;
     NSPrincipalClass = NSApplication;
index 1b56289..923143c 100644 (file)
@@ -317,7 +317,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define PACKAGE "emacs"
 
 /* Version number of package */
-#define VERSION "24.0.50"
+#define VERSION "24.0.90"
 
 /* Define to `__inline__' or `__inline' if that's what the C compiler
    calls it, or to nothing if 'inline' is not supported under any name.  */
index 7e753f0..8d0df02 100644 (file)
@@ -7,8 +7,8 @@ Emacs ICON   icons\emacs.ico
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,50,0
- PRODUCTVERSION 24,0,50,0
+ FILEVERSION 24,0,90,0
+ PRODUCTVERSION 24,0,90,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -25,12 +25,12 @@ BEGIN
        BEGIN
            VALUE "CompanyName", "Free Software Foundation\0"
            VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
-           VALUE "FileVersion", "24, 0, 50, 0\0"
+           VALUE "FileVersion", "24, 0, 90, 0\0"
            VALUE "InternalName", "Emacs\0"
            VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
            VALUE "OriginalFilename", "emacs.exe"
            VALUE "ProductName", "Emacs\0"
-           VALUE "ProductVersion", "24, 0, 50, 0\0"
+           VALUE "ProductVersion", "24, 0, 90, 0\0"
            VALUE "OLESelfRegister", "\0"
         END
      END
index 274a063..db98b46 100644 (file)
@@ -5,8 +5,8 @@ Emacs ICON   icons\emacs.ico
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,50,0
- PRODUCTVERSION 24,0,50,0
+ FILEVERSION 24,0,90,0
+ PRODUCTVERSION 24,0,90,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -23,12 +23,12 @@ BEGIN
        BEGIN
            VALUE "CompanyName", "Free Software Foundation\0"
            VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
-           VALUE "FileVersion", "24, 0, 50, 0\0"
+           VALUE "FileVersion", "24, 0, 90, 0\0"
            VALUE "InternalName", "EmacsClient\0"
            VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
            VALUE "OriginalFilename", "emacsclientw.exe"
            VALUE "ProductName", "EmacsClient\0"
-           VALUE "ProductVersion", "24, 0, 50, 0\0"
+           VALUE "ProductVersion", "24, 0, 90, 0\0"
            VALUE "OLESelfRegister", "\0"
         END
      END
index 31ca314..4e4e6ec 100644 (file)
@@ -22,7 +22,7 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out\r
 #        (and remove or replace this comment).\r
 \r
-VERSION                = 24.0.50\r
+VERSION                = 24.0.90\r
 \r
 TMP_DIST_DIR   = emacs-$(VERSION)\r
 \r
index 12a4591..3282654 100644 (file)
@@ -1,3 +1,88 @@
+2011-09-25  Michael Albinus  <michael.albinus@gmx.de>
+
+       * dbusbind.c (Fdbus_register_signal): When service is not
+       registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)
+
+2011-09-25  Glenn Morris  <rgm@gnu.org>
+
+       * buffer.c (truncate-lines): Doc fix.
+
+2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
+
+       * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
+       (Fset_window_next_buffers): Doc fix.
+
+2011-09-24  Glenn Morris  <rgm@gnu.org>
+
+       * minibuf.c (read_minibuf): Disable line truncation.  (Bug#5715)
+
+2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems found by static checking.
+       * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
+       * indent.c (Fvertical_motion): Fix == vs = typo.
+
+2011-09-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispnew.c (syms_of_display) <redisplay-dont-pause>: Default
+       value is now t.  Doc fix.
+
+       * indent.c (Fvertical_motion): Compute and apply the overshoot
+       logic when moving up, not only when moving down.  Fix the
+       confusing name and values of the it_overshoot_expected variable;
+       logic changes accordingly.  (Bug#9254) (Bug#9549)
+
+       * xdisp.c (pos_visible_p): Produce correct pixel coordinates when
+       CHARPOS is covered by a display string which includes newlines.
+       (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
+       is covered by a display string with embedded newlines.
+
+2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
+
+       * dbusbind.c (Fdbus_register_signal): Add match rule to
+       Vdbus_registered_objects_table.  (Bug#9581)
+       (Fdbus_register_method, Vdbus_registered_objects_table): Fix
+       docstring.
+
+2011-09-24  Jim Meyering  <meyering@redhat.com>
+
+       do not ignore write error for any output size
+       The previous change was incomplete.
+       While it makes emacs --batch detect the vast majority of stdout
+       write failures, errors were still ignored whenever the output size is
+       k * (BUFSIZ+1) - 4.  E.g., on a system with BUFSIZ of 4096,
+         $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
+             && echo FAIL: ignored write error
+         FAIL: ignored write error
+         $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
+             && echo FAIL: ignored write error
+         FAIL: ignored write error
+       * emacs.c (Fkill_emacs): Also test ferror.  (Bug#9574)
+
+2011-09-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * emacs.c (Fkill_emacs): In noninteractive mode exit
+       non-successfully if a write error occurred on stdout.  (Bug#9574)
+
+2011-09-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (pop_it): Allow it->object that is a cons cell to pass
+       the xassert test.
+
+       * dispextern.h (struct it): Update the comment documenting what
+       can it->OBJECT be.
+
+2011-09-20  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (set_cursor_from_row): If the row ends in a newline from
+       a display string, extend search for cursor position to end of row.
+       (find_row_edges): If the row ends in a newline from a display
+       string, increment its MATRIX_ROW_END_CHARPOS by one.  (Bug#9549)
+       Handle the case of a display string with multiple newlines.
+       (Fcurrent_bidi_paragraph_direction): Fix search for previous
+       non-empty line.  Fixes confusing cursor motion with arrow keys at
+       the beginning of a line that starts with whitespace.
+
 2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
index 6f462e3..b647364 100644 (file)
        * nsimage.m (EmacsImage-setXBMColor:): Correct previous patch:
        don't change the method signature, change the return.
 
-2010-11-04  Ismail Donmez  <ismail@namtrac.org>  (tiny change)
+2010-11-04  İsmail Dönmez  <ismail@namtrac.org>  (tiny change)
 
        * nsfont.m (nsfont_draw)
        * nsimage.m (EmacsImage-setXBMColor:)
index 3efdc15..599c004 100644 (file)
@@ -222,7 +222,7 @@ bidi_mirror_char (int c)
 static inline void
 bidi_set_sor_type (struct bidi_it *bidi_it, int level_before, int level_after)
 {
-  int higher_level = level_before > level_after ? level_before : level_after;
+  int higher_level = (level_before > level_after ? level_before : level_after);
 
   /* The prev_was_pdf gork is required for when we have several PDFs
      in a row.  In that case, we want to compute the sor type for the
@@ -233,18 +233,18 @@ bidi_set_sor_type (struct bidi_it *bidi_it, int level_before, int level_after)
      level to which we descend after processing all the PDFs.  */
   if (!bidi_it->prev_was_pdf || level_before < level_after)
     /* FIXME: should the default sor direction be user selectable?  */
-    bidi_it->sor = (higher_level & 1) != 0 ? R2L : L2R;
+    bidi_it->sor = ((higher_level & 1) != 0 ? R2L : L2R);
   if (level_before > level_after)
     bidi_it->prev_was_pdf = 1;
 
   bidi_it->prev.type = UNKNOWN_BT;
-  bidi_it->last_strong.type = bidi_it->last_strong.type_after_w1 =
-    bidi_it->last_strong.orig_type = UNKNOWN_BT;
-  bidi_it->prev_for_neutral.type = bidi_it->sor == R2L ? STRONG_R : STRONG_L;
+  bidi_it->last_strong.type = bidi_it->last_strong.type_after_w1
+    bidi_it->last_strong.orig_type = UNKNOWN_BT;
+  bidi_it->prev_for_neutral.type = (bidi_it->sor == R2L ? STRONG_R : STRONG_L);
   bidi_it->prev_for_neutral.charpos = bidi_it->charpos;
   bidi_it->prev_for_neutral.bytepos = bidi_it->bytepos;
-  bidi_it->next_for_neutral.type = bidi_it->next_for_neutral.type_after_w1 =
-    bidi_it->next_for_neutral.orig_type = UNKNOWN_BT;
+  bidi_it->next_for_neutral.type = bidi_it->next_for_neutral.type_after_w1
+    bidi_it->next_for_neutral.orig_type = UNKNOWN_BT;
   bidi_it->ignore_bn_limit = -1; /* meaning it's unknown */
 }
 
@@ -325,10 +325,10 @@ static int bidi_cache_sp;
 /* Size of header used by bidi_shelve_cache.  */
 enum
   {
-    bidi_shelve_header_size =
-      (sizeof (bidi_cache_idx) + sizeof (bidi_cache_start_stack)
-       + sizeof (bidi_cache_sp) + sizeof (bidi_cache_start)
-       + sizeof (bidi_cache_last_idx))
+    bidi_shelve_header_size
+      (sizeof (bidi_cache_idx) + sizeof (bidi_cache_start_stack)
+        + sizeof (bidi_cache_sp) + sizeof (bidi_cache_start)
+        + sizeof (bidi_cache_last_idx))
   };
 
 /* Reset the cache state to the empty state.  We only reset the part
@@ -353,8 +353,8 @@ bidi_cache_shrink (void)
 {
   if (bidi_cache_size > BIDI_CACHE_CHUNK)
     {
-      bidi_cache =
-       (struct bidi_it *) xrealloc (bidi_cache, BIDI_CACHE_CHUNK * elsz);
+      bidi_cache
+       (struct bidi_it *) xrealloc (bidi_cache, BIDI_CACHE_CHUNK * elsz);
       bidi_cache_size = BIDI_CACHE_CHUNK;
     }
   bidi_cache_reset ();
@@ -490,17 +490,17 @@ bidi_cache_ensure_space (ptrdiff_t idx)
     {
       /* The bidi cache cannot be larger than the largest Lisp string
         or buffer.  */
-      ptrdiff_t string_or_buffer_bound =
-       max (BUF_BYTES_MAX, STRING_BYTES_BOUND);
+      ptrdiff_t string_or_buffer_bound
+       max (BUF_BYTES_MAX, STRING_BYTES_BOUND);
 
       /* Also, it cannot be larger than what C can represent.  */
-      ptrdiff_t c_bound =
-       (min (PTRDIFF_MAX, SIZE_MAX) - bidi_shelve_header_size) / elsz;
+      ptrdiff_t c_bound
+       (min (PTRDIFF_MAX, SIZE_MAX) - bidi_shelve_header_size) / elsz;
 
-      bidi_cache =
-       xpalloc (bidi_cache, &bidi_cache_size,
-                max (BIDI_CACHE_CHUNK, idx - bidi_cache_size + 1),
-                min (string_or_buffer_bound, c_bound), elsz);
+      bidi_cache
+       xpalloc (bidi_cache, &bidi_cache_size,
+                  max (BIDI_CACHE_CHUNK, idx - bidi_cache_size + 1),
+                  min (string_or_buffer_bound, c_bound), elsz);
     }
 }
 
@@ -708,8 +708,8 @@ bidi_unshelve_cache (void *databuf, int just_free)
          ptrdiff_t idx;
 
          memcpy (&idx, p, sizeof (bidi_cache_idx));
-         bidi_cache_total_alloc -=
-           bidi_shelve_header_size + idx * sizeof (struct bidi_it);
+         bidi_cache_total_alloc
+           -= bidi_shelve_header_size + idx * sizeof (struct bidi_it);
        }
       else
        {
@@ -737,8 +737,9 @@ bidi_unshelve_cache (void *databuf, int just_free)
                  + sizeof (bidi_cache_start_stack) + sizeof (bidi_cache_sp)
                  + sizeof (bidi_cache_start),
                  sizeof (bidi_cache_last_idx));
-         bidi_cache_total_alloc -=
-           bidi_shelve_header_size + bidi_cache_idx * sizeof (struct bidi_it);
+         bidi_cache_total_alloc
+           -= (bidi_shelve_header_size
+               + bidi_cache_idx * sizeof (struct bidi_it));
        }
 
       xfree (p);
@@ -813,18 +814,18 @@ bidi_init_it (EMACS_INT charpos, EMACS_INT bytepos, int frame_window_p,
   bidi_it->type_after_w1 = NEUTRAL_B;
   bidi_it->orig_type = NEUTRAL_B;
   bidi_it->prev_was_pdf = 0;
-  bidi_it->prev.type = bidi_it->prev.type_after_w1 =
-    bidi_it->prev.orig_type = UNKNOWN_BT;
-  bidi_it->last_strong.type = bidi_it->last_strong.type_after_w1 =
-    bidi_it->last_strong.orig_type = UNKNOWN_BT;
+  bidi_it->prev.type = bidi_it->prev.type_after_w1
+    bidi_it->prev.orig_type = UNKNOWN_BT;
+  bidi_it->last_strong.type = bidi_it->last_strong.type_after_w1
+    bidi_it->last_strong.orig_type = UNKNOWN_BT;
   bidi_it->next_for_neutral.charpos = -1;
-  bidi_it->next_for_neutral.type =
-    bidi_it->next_for_neutral.type_after_w1 =
-    bidi_it->next_for_neutral.orig_type = UNKNOWN_BT;
+  bidi_it->next_for_neutral.type
+    = bidi_it->next_for_neutral.type_after_w1
+    bidi_it->next_for_neutral.orig_type = UNKNOWN_BT;
   bidi_it->prev_for_neutral.charpos = -1;
-  bidi_it->prev_for_neutral.type =
-    bidi_it->prev_for_neutral.type_after_w1 =
-    bidi_it->prev_for_neutral.orig_type = UNKNOWN_BT;
+  bidi_it->prev_for_neutral.type
+    = bidi_it->prev_for_neutral.type_after_w1
+    bidi_it->prev_for_neutral.orig_type = UNKNOWN_BT;
   bidi_it->sor = L2R;   /* FIXME: should it be user-selectable? */
   bidi_it->disp_pos = -1;      /* invalid/unknown */
   bidi_it->disp_prop = 0;
@@ -848,7 +849,7 @@ bidi_line_init (struct bidi_it *bidi_it)
   bidi_it->next_en_pos = -1;
   bidi_it->next_for_ws.type = UNKNOWN_BT;
   bidi_set_sor_type (bidi_it,
-                    bidi_it->paragraph_dir == R2L ? 1 : 0,
+                    (bidi_it->paragraph_dir == R2L ? 1 : 0),
                     bidi_it->level_stack[0].level); /* X10 */
 
   bidi_cache_reset ();
@@ -925,8 +926,8 @@ bidi_fetch_char (EMACS_INT bytepos, EMACS_INT charpos, EMACS_INT *disp_pos,
                 int frame_window_p, EMACS_INT *ch_len, EMACS_INT *nchars)
 {
   int ch;
-  EMACS_INT endpos =
-    (string->s || STRINGP (string->lstring)) ? string->schars : ZV;
+  EMACS_INT endpos
+    (string->s || STRINGP (string->lstring)) ? string->schars : ZV;
   struct text_pos pos;
 
   /* If we got past the last known position of display string, compute
@@ -1173,8 +1174,9 @@ bidi_paragraph_init (bidi_dir_t dir, struct bidi_it *bidi_it, int no_default_p)
         we are potentially in a new paragraph that doesn't yet
         exist.  */
       pos = bidi_it->charpos;
-      s = STRINGP (bidi_it->string.lstring) ?
-       SDATA (bidi_it->string.lstring) : bidi_it->string.s;
+      s = (STRINGP (bidi_it->string.lstring)
+          ? SDATA (bidi_it->string.lstring)
+          : bidi_it->string.s);
       if (bytepos > begbyte
          && bidi_char_at_pos (bytepos, s, bidi_it->string.unibyte) == '\n')
        {
@@ -1324,9 +1326,10 @@ bidi_resolve_explicit_1 (struct bidi_it *bidi_it)
       bidi_it->first_elt = 0;
       if (string_p)
        {
-         const unsigned char *p =
-           STRINGP (bidi_it->string.lstring)
-           ? SDATA (bidi_it->string.lstring) : bidi_it->string.s;
+         const unsigned char *p
+           = (STRINGP (bidi_it->string.lstring)
+              ? SDATA (bidi_it->string.lstring)
+              : bidi_it->string.s);
 
          if (bidi_it->charpos < 0)
            bidi_it->charpos = 0;
@@ -1509,8 +1512,10 @@ bidi_resolve_explicit (struct bidi_it *bidi_it)
   int prev_level = bidi_it->level_stack[bidi_it->stack_idx].level;
   int new_level  = bidi_resolve_explicit_1 (bidi_it);
   EMACS_INT eob = bidi_it->string.s ? bidi_it->string.schars : ZV;
-  const unsigned char *s = STRINGP (bidi_it->string.lstring)
-    ? SDATA (bidi_it->string.lstring) : bidi_it->string.s;
+  const unsigned char *s
+    = (STRINGP (bidi_it->string.lstring)
+       ? SDATA (bidi_it->string.lstring)
+       : bidi_it->string.s);
 
   if (prev_level < new_level
       && bidi_it->type == WEAK_BN
@@ -1594,9 +1599,9 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
   int next_char;
   bidi_type_t type_of_next;
   struct bidi_it saved_it;
-  EMACS_INT eob =
-    (STRINGP (bidi_it->string.lstring) || bidi_it->string.s)
-    ? bidi_it->string.schars : ZV;
+  EMACS_INT eob
+    = ((STRINGP (bidi_it->string.lstring) || bidi_it->string.s)
+       ? bidi_it->string.schars : ZV);
 
   type = bidi_it->type;
   override = bidi_it->level_stack[bidi_it->stack_idx].override;
@@ -1663,15 +1668,15 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
                        && bidi_it->prev.orig_type == WEAK_EN)
                       || bidi_it->prev.type_after_w1 == WEAK_AN)))
        {
-         const unsigned char *s =
-           STRINGP (bidi_it->string.lstring)
-           ? SDATA (bidi_it->string.lstring) : bidi_it->string.s;
-
-         next_char =
-           bidi_it->charpos + bidi_it->nchars >= eob
-           ? BIDI_EOB
-           : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len, s,
-                               bidi_it->string.unibyte);
+         const unsigned char *s
+           = (STRINGP (bidi_it->string.lstring)
+              ? SDATA (bidi_it->string.lstring)
+              : bidi_it->string.s);
+
+         next_char = (bidi_it->charpos + bidi_it->nchars >= eob
+                      ? BIDI_EOB
+                      : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len,
+                                          s, bidi_it->string.unibyte));
          type_of_next = bidi_get_type (next_char, override);
 
          if (type_of_next == WEAK_BN
@@ -1720,17 +1725,17 @@ bidi_resolve_weak (struct bidi_it *bidi_it)
          else                  /* W5: ET/BN with EN after it.  */
            {
              EMACS_INT en_pos = bidi_it->charpos + bidi_it->nchars;
-             const unsigned char *s =
-               STRINGP (bidi_it->string.lstring)
-               ? SDATA (bidi_it->string.lstring) : bidi_it->string.s;
+             const unsigned char *s = (STRINGP (bidi_it->string.lstring)
+                                       ? SDATA (bidi_it->string.lstring)
+                                       : bidi_it->string.s);
 
              if (bidi_it->nchars <= 0)
                abort ();
-             next_char =
-               bidi_it->charpos + bidi_it->nchars >= eob
-               ? BIDI_EOB
-               : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len, s,
-                                   bidi_it->string.unibyte);
+             next_char
+               = (bidi_it->charpos + bidi_it->nchars >= eob
+                  ? BIDI_EOB
+                  : bidi_char_at_pos (bidi_it->bytepos + bidi_it->ch_len, s,
+                                      bidi_it->string.unibyte));
              type_of_next = bidi_get_type (next_char, override);
 
              if (type_of_next == WEAK_ET
@@ -1875,8 +1880,8 @@ bidi_resolve_neutral (struct bidi_it *bidi_it)
                         && bidi_get_category (type) != NEUTRAL)
                     /* This is all per level run, so stop when we
                        reach the end of this level run.  */
-                    || bidi_it->level_stack[bidi_it->stack_idx].level !=
-                    current_level));
+                    || (bidi_it->level_stack[bidi_it->stack_idx].level
+                        != current_level)));
 
          bidi_remember_char (&saved_it.next_for_neutral, bidi_it);
 
@@ -1971,9 +1976,9 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
 
   if (bidi_it->scan_dir == 1)
     {
-      EMACS_INT eob =
-       (bidi_it->string.s || STRINGP (bidi_it->string.lstring))
-       ? bidi_it->string.schars : ZV;
+      EMACS_INT eob
+       = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring))
+          ? bidi_it->string.schars : ZV);
 
       /* There's no sense in trying to advance if we hit end of text.  */
       if (bidi_it->charpos >= eob)
@@ -2018,9 +2023,8 @@ bidi_level_of_next_char (struct bidi_it *bidi_it)
      UNKNOWN_BT.  */
   if (bidi_cache_idx > bidi_cache_start && !bidi_it->first_elt)
     {
-      int bob =
-       (bidi_it->string.s || STRINGP (bidi_it->string.lstring)) ? 0 : 1;
-
+      int bob = ((bidi_it->string.s || STRINGP (bidi_it->string.lstring))
+                ? 0 : 1);
       if (bidi_it->scan_dir > 0)
        {
          if (bidi_it->nchars <= 0)
@@ -2345,9 +2349,9 @@ bidi_move_to_visually_next (struct bidi_it *bidi_it)
        bidi_it->separator_limit = bidi_it->string.schars;
       else if (bidi_it->bytepos < ZV_BYTE)
        {
-         EMACS_INT sep_len =
-           bidi_at_paragraph_end (bidi_it->charpos + bidi_it->nchars,
-                                  bidi_it->bytepos + bidi_it->ch_len);
+         EMACS_INT sep_len
+           bidi_at_paragraph_end (bidi_it->charpos + bidi_it->nchars,
+                                    bidi_it->bytepos + bidi_it->ch_len);
          if (bidi_it->nchars <= 0)
            abort ();
          if (sep_len >= 0)
@@ -2355,8 +2359,8 @@ bidi_move_to_visually_next (struct bidi_it *bidi_it)
              bidi_it->new_paragraph = 1;
              /* Record the buffer position of the last character of the
                 paragraph separator.  */
-             bidi_it->separator_limit =
-               bidi_it->charpos + bidi_it->nchars + sep_len;
+             bidi_it->separator_limit
+               bidi_it->charpos + bidi_it->nchars + sep_len;
            }
        }
     }
index 37d2975..dffdeb5 100644 (file)
@@ -5493,7 +5493,9 @@ Instead, give each line of text just one screen line.
 
 Note that this is overridden by the variable
 `truncate-partial-width-windows' if that variable is non-nil
-and this buffer is not full-frame width.  */);
+and this buffer is not full-frame width.
+
+Minibuffers set this variable to nil.  */);
 
   DEFVAR_PER_BUFFER ("word-wrap", &BVAR (current_buffer, word_wrap), Qnil,
                     doc: /* *Non-nil means to use word-wrapping for continuation lines.
index 227d4e6..52e08d8 100644 (file)
@@ -2071,13 +2071,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
       && (SBYTES (service) > 0)
       && (strcmp (SSDATA (service), DBUS_SERVICE_DBUS) != 0)
       && (strncmp (SSDATA (service), ":", 1) != 0))
-    {
-      uname = call2 (intern ("dbus-get-name-owner"), bus, service);
-      /* When there is no unique name, we mark it with an empty
-        string.  */
-      if (NILP (uname))
-       uname = empty_unibyte_string;
-    }
+    uname = call2 (intern ("dbus-get-name-owner"), bus, service);
   else
     uname = service;
 
@@ -2145,7 +2139,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
 
   /* Create a hash table entry.  */
   key = list3 (bus, interface, signal);
-  key1 = list4 (uname, service, path, handler);
+  key1 = list5 (uname, service, path, handler, build_string (rule));
   value = Fgethash (key, Vdbus_registered_objects_table, Qnil);
 
   if (NILP (Fmember (key1, value)))
@@ -2177,7 +2171,7 @@ When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is not
 registered.  This means that other D-Bus clients have no way of
 noticing the newly registered method.  When interfaces are constructed
 incrementally by adding single methods or properties at a time,
-DONT-REGISTER-SERVICE can be use to prevent other clients from
+DONT-REGISTER-SERVICE can be used to prevent other clients from
 discovering the still incomplete interface.*/)
   (Lisp_Object bus, Lisp_Object service, Lisp_Object path,
    Lisp_Object interface, Lisp_Object method, Lisp_Object handler,
@@ -2319,6 +2313,9 @@ be called when a D-Bus message, which matches the key criteria,
 arrives (methods and signals), or a cons cell containing the value of
 the property.
 
+For signals, there is also a fifth element RULE, which keeps the match
+string the signal is registered with.
+
 In the second case, the key in the hash table is the list (BUS
 SERIAL).  BUS is either a Lisp symbol, `:system' or `:session', or a
 string denoting the bus address.  SERIAL is the serial number of the
index 6528412..3c15737 100644 (file)
@@ -2398,9 +2398,19 @@ struct it
   Lisp_Object font_height;
 
   /* Object and position where the current display element came from.
-     Object can be a Lisp string in case the current display element
-     comes from an overlay string, or it is buffer.  It may also be nil
-     during mode-line update.  Position is a position in object.  */
+     Object is normally the buffer which is being rendered, but it can
+     also be a Lisp string in case the current display element comes
+     from an overlay string or from a display string (before- or
+     after-string).  It may also be nil when a C string is being
+     rendered, e.g., during mode-line or header-line update.  It can
+     also be a cons cell of the form `(space ...)', when we produce a
+     stretch glyph from a `display' specification.  Finally, it can be
+     a zero-valued Lisp integer, but only temporarily, when we are
+     producing special glyphs for display purposes, like truncation
+     and continuation glyphs, or blanks that extend each line to the
+     edge of the window on a TTY.
+
+     Position is the current iterator position in object.  */
   Lisp_Object object;
   struct text_pos position;
 
index 958420d..51b17fc 100644 (file)
@@ -6494,8 +6494,8 @@ See `buffer-display-table' for more information.  */);
   Vstandard_display_table = Qnil;
 
   DEFVAR_BOOL ("redisplay-dont-pause", redisplay_dont_pause,
-              doc: /* *Non-nil means update isn't paused when input is detected.  */);
-  redisplay_dont_pause = 0;
+              doc: /* *Non-nil means display update isn't paused when input is detected.  */);
+  redisplay_dont_pause = 1;
 
 #if PERIODIC_PREEMPTION_CHECKING
   DEFVAR_LISP ("redisplay-preemption-period", Vredisplay_preemption_period,
index 321e791..073156b 100644 (file)
@@ -1993,6 +1993,7 @@ all of which are called before Emacs is actually killed.  */)
 {
   struct gcpro gcpro1;
   Lisp_Object hook;
+  int exit_code;
 
   GCPRO1 (arg);
 
@@ -2017,7 +2018,10 @@ all of which are called before Emacs is actually killed.  */)
   if (STRINGP (Vauto_save_list_file_name))
     unlink (SSDATA (Vauto_save_list_file_name));
 
-  exit (INTEGERP (arg) ? XINT (arg) : EXIT_SUCCESS);
+  exit_code = EXIT_SUCCESS;
+  if (noninteractive && (fflush (stdout) || ferror (stdout)))
+    exit_code = EXIT_FAILURE;
+  exit (INTEGERP (arg) ? XINT (arg) : exit_code);
 }
 
 
index e00d215..a70b797 100644 (file)
@@ -2019,7 +2019,8 @@ whether or not it is currently displayed in some window.  */)
   else
     {
       EMACS_INT it_start;
-      int first_x, it_overshoot_expected IF_LINT (= 0);
+      int first_x, it_overshoot_count = 0;
+      int overshoot_handled = 0;
 
       itdata = bidi_shelve_cache ();
       SET_TEXT_POS (pt, PT, PT_BYTE);
@@ -2028,22 +2029,23 @@ whether or not it is currently displayed in some window.  */)
       it_start = IT_CHARPOS (it);
 
       /* See comments below for why we calculate this.  */
-      if (XINT (lines) > 0)
+      if (it.cmp_it.id >= 0)
+       it_overshoot_count = 0;
+      else if (it.method == GET_FROM_STRING)
        {
-         if (it.cmp_it.id >= 0)
-           it_overshoot_expected = 1;
-         else if (it.method == GET_FROM_STRING)
+         const char *s = SSDATA (it.string);
+         const char *e = s + SBYTES (it.string);
+         while (s < e)
            {
-             const char *s = SSDATA (it.string);
-             const char *e = s + SBYTES (it.string);
-             while (s < e && *s != '\n')
-               ++s;
-             it_overshoot_expected = (s == e) ? -1 : 0;
+             if (*s++ == '\n')
+               it_overshoot_count++;
            }
-         else
-           it_overshoot_expected = (it.method == GET_FROM_IMAGE
-                                    || it.method == GET_FROM_STRETCH);
+         if (!it_overshoot_count)
+           it_overshoot_count = -1;
        }
+      else
+       it_overshoot_count =
+         !(it.method == GET_FROM_IMAGE || it.method == GET_FROM_STRETCH);
 
       /* Scan from the start of the line containing PT.  If we don't
         do this, we start moving with IT->current_x == 0, while PT is
@@ -2057,6 +2059,25 @@ whether or not it is currently displayed in some window.  */)
           tell, and it causes Bug#2694 .  -- cyd */
        move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
 
+      /* IT may move too far if truncate-lines is on and PT lies
+        beyond the right margin.  IT may also move too far if the
+        starting point is on a Lisp string that has embedded
+        newlines.  In these cases, backtrack.  */
+      if (IT_CHARPOS (it) > it_start)
+       {
+         /* We need to backtrack also if the Lisp string contains no
+            newlines, but there is a newline right after it.  In this
+            case, IT overshoots if there is an after-string just
+            before the newline.  */
+         if (it_overshoot_count < 0
+             && it.method == GET_FROM_BUFFER
+             && it.c == '\n')
+           it_overshoot_count = 1;
+         if (it_overshoot_count > 0)
+           move_it_by_lines (&it, -it_overshoot_count);
+
+         overshoot_handled = 1;
+       }
       if (XINT (lines) <= 0)
        {
          it.vpos = 0;
@@ -2065,47 +2086,31 @@ whether or not it is currently displayed in some window.  */)
          if (XINT (lines) == 0 || IT_CHARPOS (it) > 0)
            move_it_by_lines (&it, max (INT_MIN, XINT (lines)));
        }
+      else if (overshoot_handled)
+       {
+         it.vpos = 0;
+         move_it_by_lines (&it, min (INT_MAX, XINT (lines)));
+       }
       else
        {
-         if (IT_CHARPOS (it) > it_start)
-           {
-             /* IT may move too far if truncate-lines is on and PT
-                lies beyond the right margin.  In that case,
-                backtrack unless the starting point is on an image,
-                stretch glyph, composition, or Lisp string.  */
-             if (!it_overshoot_expected
-                 /* Also, backtrack if the Lisp string contains no
-                    newline, but there is a newline right after it.
-                    In this case, IT overshoots if there is an
-                    after-string just before the newline.  */
-                 || (it_overshoot_expected < 0
-                     && it.method == GET_FROM_BUFFER
-                     && it.c == '\n'))
-               move_it_by_lines (&it, -1);
-             it.vpos = 0;
-             move_it_by_lines (&it, min (INT_MAX, XINT (lines)));
-           }
-         else
+         /* Otherwise, we are at the first row occupied by PT, which
+            might span multiple screen lines (e.g., if it's on a
+            multi-line display string).  We want to start from the
+            last line that it occupies.  */
+         if (it_start < ZV)
            {
-             /* Otherwise, we are at the first row occupied by PT,
-                which might span multiple screen lines (e.g., if it's
-                on a multi-line display string).  We want to start
-                from the last line that it occupies.  */
-             if (it_start < ZV)
-               {
-                 while (IT_CHARPOS (it) <= it_start)
-                   {
-                     it.vpos = 0;
-                     move_it_by_lines (&it, 1);
-                   }
-                 if (XINT (lines) > 1)
-                   move_it_by_lines (&it, min (INT_MAX, XINT (lines) - 1));
-               }
-             else
+             while (IT_CHARPOS (it) <= it_start)
                {
                  it.vpos = 0;
-                 move_it_by_lines (&it, min (INT_MAX, XINT (lines)));
+                 move_it_by_lines (&it, 1);
                }
+             if (XINT (lines) > 1)
+               move_it_by_lines (&it, min (INT_MAX, XINT (lines) - 1));
+           }
+         else
+           {
+             it.vpos = 0;
+             move_it_by_lines (&it, min (INT_MAX, XINT (lines)));
            }
        }
 
index d3f43b0..341d544 100644 (file)
@@ -559,6 +559,10 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
   minibuffer = get_minibuffer (minibuf_level);
   Fset_buffer (minibuffer);
 
+  /* Defeat (setq-default truncate-lines t), since truncated lines do
+     not work correctly in minibuffers.  (Bug#5715, etc)  */
+  BVAR (current_buffer, truncate_lines) = Qnil;
+
   /* If appropriate, copy enable-multibyte-characters into the minibuffer.  */
   if (inherit_input_method)
     BVAR (current_buffer, enable_multibyte_characters) = enable_multibyte;
index 39210b9..ba06779 100644 (file)
@@ -1665,8 +1665,9 @@ DEFUN ("window-prev-buffers", Fwindow_prev_buffers, Swindow_prev_buffers,
        doc:  /* Return buffers previously shown in WINDOW.
 WINDOW must be a live window and defaults to the selected one.
 
-The return value is either nil or a list of <buffer, window-start,
-window-point> triples where buffer was previously shown in WINDOW.  */)
+The return value is a list of elements (BUFFER WINDOW-START POS),
+where BUFFER is a buffer, WINDOW-START is the start position of the
+window for that buffer, and POS is a window-specific point value.  */)
   (Lisp_Object window)
 {
   return decode_window (window)->prev_buffers;
@@ -1675,11 +1676,11 @@ window-point> triples where buffer was previously shown in WINDOW.  */)
 DEFUN ("set-window-prev-buffers", Fset_window_prev_buffers,
        Sset_window_prev_buffers, 2, 2, 0,
        doc: /* Set WINDOW's previous buffers to PREV-BUFFERS.
-WINDOW must be a live window and defaults to the selected one.  Return
-PREV-BUFFERS.
+WINDOW must be a live window and defaults to the selected one.
 
-PREV-BUFFERS should be either nil or a list of <buffer, window-start,
-window-point> triples where buffer was previously shown in WINDOW.  */)
+PREV-BUFFERS should be a list of elements (BUFFER WINDOW-START POS),
+where BUFFER is a buffer, WINDOW-START is the start position of the
+window for that buffer, and POS is a window-specific point value.  */)
      (Lisp_Object window, Lisp_Object prev_buffers)
 {
   return decode_window (window)->prev_buffers = prev_buffers;
@@ -1697,11 +1698,8 @@ WINDOW must be a live window and defaults to the selected one.  */)
 DEFUN ("set-window-next-buffers", Fset_window_next_buffers,
        Sset_window_next_buffers, 2, 2, 0,
        doc: /* Set WINDOW's next buffers to NEXT-BUFFERS.
-WINDOW must be a live window and defaults to the selected one.  Return
-NEXT-BUFFERS.
-
-NEXT-BUFFERS should be either nil or a list of buffers that have been
-recently re-shown in WINDOW.  */)
+WINDOW must be a live window and defaults to the selected one.
+NEXT-BUFFERS should be a list of buffers.  */)
      (Lisp_Object window, Lisp_Object next_buffers)
 {
   return decode_window (window)->next_buffers = next_buffers;
index d58eea5..a556236 100644 (file)
@@ -1210,6 +1210,34 @@ line_bottom_y (struct it *it)
   return line_top_y + line_height;
 }
 
+/* Subroutine of pos_visible_p below.  Extracts a display string, if
+   any, from the display spec given as its argument.  */
+static Lisp_Object
+string_from_display_spec (Lisp_Object spec)
+{
+  if (CONSP (spec))
+    {
+      while (CONSP (spec))
+       {
+         if (STRINGP (XCAR (spec)))
+           return XCAR (spec);
+         spec = XCDR (spec);
+       }
+    }
+  else if (VECTORP (spec))
+    {
+      ptrdiff_t i;
+
+      for (i = 0; i < ASIZE (spec); i++)
+       {
+         if (STRINGP (AREF (spec, i)))
+           return AREF (spec, i);
+       }
+      return Qnil;
+    }
+
+  return spec;
+}
 
 /* Return 1 if position CHARPOS is visible in window W.
    CHARPOS < 0 means return info about WINDOW_END position.
@@ -1304,6 +1332,136 @@ pos_visible_p (struct window *w, EMACS_INT charpos, int *x, int *y,
                    }
                }
            }
+         else if (IT_CHARPOS (it) != charpos)
+           {
+             Lisp_Object cpos = make_number (charpos);
+             Lisp_Object spec = Fget_char_property (cpos, Qdisplay, Qnil);
+             Lisp_Object string = string_from_display_spec (spec);
+             int newline_in_string = 0;
+
+             if (STRINGP (string))
+               {
+                 const char *s = SSDATA (string);
+                 const char *e = s + SBYTES (string);
+                 while (s < e)
+                   {
+                     if (*s++ == '\n')
+                       {
+                         newline_in_string = 1;
+                         break;
+                       }
+                   }
+               }
+             /* The tricky code below is needed because there's a
+                discrepancy between move_it_to and how we set cursor
+                when the display line ends in a newline from a
+                display string.  move_it_to will stop _after_ such
+                display strings, whereas set_cursor_from_row
+                conspires with cursor_row_p to place the cursor on
+                the first glyph produced from the display string.  */
+
+             /* We have overshoot PT because it is covered by a
+                display property whose value is a string.  If the
+                string includes embedded newlines, we are also in the
+                wrong display line.  Backtrack to the correct line,
+                where the display string begins.  */
+             if (newline_in_string)
+               {
+                 Lisp_Object startpos, endpos;
+                 EMACS_INT start, end;
+                 struct it it3;
+
+                 /* Find the first and the last buffer positions
+                    covered by the display string.  */
+                 endpos =
+                   Fnext_single_char_property_change (cpos, Qdisplay,
+                                                      Qnil, Qnil);
+                 startpos =
+                   Fprevious_single_char_property_change (endpos, Qdisplay,
+                                                          Qnil, Qnil);
+                 start = XFASTINT (startpos);
+                 end = XFASTINT (endpos);
+                 /* Move to the last buffer position before the
+                    display property.  */
+                 start_display (&it3, w, top);
+                 move_it_to (&it3, start - 1, -1, -1, -1, MOVE_TO_POS);
+                 /* Move forward one more line if the position before
+                    the display string is a newline or if it is the
+                    rightmost character on a line that is
+                    continued or word-wrapped.  */
+                 if (it3.method == GET_FROM_BUFFER
+                     && it3.c == '\n')
+                   move_it_by_lines (&it3, 1);
+                 else if (move_it_in_display_line_to (&it3, -1,
+                                                      it3.current_x
+                                                      + it3.pixel_width,
+                                                      MOVE_TO_X)
+                          == MOVE_LINE_CONTINUED)
+                   {
+                     move_it_by_lines (&it3, 1);
+                     /* When we are under word-wrap, the #$@%!
+                        move_it_by_lines moves 2 lines, so we need to
+                        fix that up.  */
+                     if (it3.line_wrap == WORD_WRAP)
+                       move_it_by_lines (&it3, -1);
+                   }
+
+                 /* Record the vertical coordinate of the display
+                    line where we wound up.  */
+                 top_y = it3.current_y;
+                 if (it3.bidi_p)
+                   {
+                     /* When characters are reordered for display,
+                        the character displayed to the left of the
+                        display string could be _after_ the display
+                        property in the logical order.  Use the
+                        smallest vertical position of these two.  */
+                     start_display (&it3, w, top);
+                     move_it_to (&it3, end + 1, -1, -1, -1, MOVE_TO_POS);
+                     if (it3.current_y < top_y)
+                       top_y = it3.current_y;
+                   }
+                 /* Move from the top of the window to the beginning
+                    of the display line where the display string
+                    begins.  */
+                 start_display (&it3, w, top);
+                 move_it_to (&it3, -1, 0, top_y, -1, MOVE_TO_X | MOVE_TO_Y);
+                 /* Finally, advance the iterator until we hit the
+                    first display element whose character position is
+                    CHARPOS, or until the first newline from the
+                    display string, which signals the end of the
+                    display line.  */
+                 while (get_next_display_element (&it3))
+                   {
+                     PRODUCE_GLYPHS (&it3);
+                     if (IT_CHARPOS (it3) == charpos
+                         || ITERATOR_AT_END_OF_LINE_P (&it3))
+                       break;
+                     set_iterator_to_next (&it3, 0);
+                   }
+                 top_x = it3.current_x - it3.pixel_width;
+                 /* Normally, we would exit the above loop because we
+                    found the display element whose character
+                    position is CHARPOS.  For the contingency that we
+                    didn't, and stopped at the first newline from the
+                    display string, move back over the glyphs
+                    prfoduced from the string, until we find the
+                    rightmost glyph not from the string.  */
+                 if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string))
+                   {
+                     struct glyph *g = it3.glyph_row->glyphs[TEXT_AREA]
+                                       + it3.glyph_row->used[TEXT_AREA];
+
+                     while (EQ ((g - 1)->object, string))
+                       {
+                         --g;
+                         top_x -= g->pixel_width;
+                       }
+                     xassert (g < it3.glyph_row->glyphs[TEXT_AREA]
+                                   + it3.glyph_row->used[TEXT_AREA]);
+                   }
+               }
+           }
 
          *x = top_x;
          *y = max (top_y + max (0, it.max_ascent - it.ascent), window_top_y);
@@ -5459,7 +5617,8 @@ pop_it (struct it *it)
                && IT_BYTEPOS (*it) == it->bidi_it.bytepos)
               || (STRINGP (it->object)
                   && IT_STRING_CHARPOS (*it) == it->bidi_it.charpos
-                  && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos));
+                  && IT_STRING_BYTEPOS (*it) == it->bidi_it.bytepos)
+              || (CONSP (it->object) && it->method == GET_FROM_STRETCH));
     }
 }
 
@@ -8520,7 +8679,16 @@ move_it_vertically_backward (struct it *it, int dy)
       move_it_to (&it2, start_pos, -1, -1, it2.vpos + 1,
                  MOVE_TO_POS | MOVE_TO_VPOS);
     }
-  while (!IT_POS_VALID_AFTER_MOVE_P (&it2));
+  while (!(IT_POS_VALID_AFTER_MOVE_P (&it2)
+          /* If we are in a display string which starts at START_POS,
+             and that display string includes a newline, and we are
+             right after that newline (i.e. at the beginning of a
+             display line), exit the loop, because otherwise we will
+             infloop, since move_it_to will see that it is already at
+             START_POS and will not move.  */
+          || (it2.method == GET_FROM_STRING
+              && IT_CHARPOS (it2) == start_pos
+              && SREF (it2.string, IT_STRING_BYTEPOS (it2) - 1) == '\n')));
   xassert (IT_CHARPOS (*it) >= BEGV);
   SAVE_IT (it3, it2, it3data);
 
@@ -13666,6 +13834,17 @@ set_cursor_from_row (struct window *w, struct glyph_row *row,
 
          x = -1;
 
+         /* If the row ends in a newline from a display string,
+            reordering could have moved the glyphs belonging to the
+            string out of the [GLYPH_BEFORE..GLYPH_AFTER] range.  So
+            in this case we extend the search to the last glyph in
+            the row that was not inserted by redisplay.  */
+         if (row->ends_in_newline_from_string_p)
+           {
+             glyph_after = end;
+             pos_after = MATRIX_ROW_END_CHARPOS (row) + delta;
+           }
+
          /* GLYPH_BEFORE and GLYPH_AFTER are the glyphs that
             correspond to POS_BEFORE and POS_AFTER, respectively.  We
             need START and STOP in the order that corresponds to the
@@ -18341,7 +18520,8 @@ find_row_edges (struct it *it, struct glyph_row *row,
      Line ends in a newline from buffer       eol_pos + 1
      Line is continued from buffer            max_pos + 1
      Line is truncated on right               it->current.pos
-     Line ends in a newline from string       max_pos
+     Line ends in a newline from string       max_pos + 1(*)
+      (*) + 1 only when line ends in a forward scan
      Line is continued from string            max_pos
      Line is continued from display vector    max_pos
      Line is entirely from a string           min_pos == max_pos
@@ -18354,8 +18534,76 @@ find_row_edges (struct it *it, struct glyph_row *row,
     row->maxpos = it->current.pos;
   else if (row->used[TEXT_AREA])
     {
-      if (row->ends_in_newline_from_string_p)
-       SET_TEXT_POS (row->maxpos, max_pos, max_bpos);
+      int seen_this_string = 0;
+      struct glyph_row *r1 = row - 1;
+
+      /* Did we see the same display string on the previous row?  */
+      if (STRINGP (it->object)
+         /* this is not the first row */
+         && row > it->w->desired_matrix->rows
+         /* previous row is not the header line */
+         && !r1->mode_line_p
+         /* previous row also ends in a newline from a string */
+         && r1->ends_in_newline_from_string_p)
+       {
+         struct glyph *start, *end;
+
+         /* Search for the last glyph of the previous row that came
+            from buffer or string.  Depending on whether the row is
+            L2R or R2L, we need to process it front to back or the
+            other way round.  */
+         if (!r1->reversed_p)
+           {
+             start = r1->glyphs[TEXT_AREA];
+             end = start + r1->used[TEXT_AREA];
+             /* Glyphs inserted by redisplay have an integer (zero)
+                as their object.  */
+             while (end > start
+                    && INTEGERP ((end - 1)->object)
+                    && (end - 1)->charpos <= 0)
+               --end;
+             if (end > start)
+               {
+                 if (EQ ((end - 1)->object, it->object))
+                   seen_this_string = 1;
+               }
+             else
+               abort ();
+           }
+         else
+           {
+             end = r1->glyphs[TEXT_AREA] - 1;
+             start = end + r1->used[TEXT_AREA];
+             while (end < start
+                    && INTEGERP ((end + 1)->object)
+                    && (end + 1)->charpos <= 0)
+               ++end;
+             if (end < start)
+               {
+                 if (EQ ((end + 1)->object, it->object))
+                   seen_this_string = 1;
+               }
+             else
+               abort ();
+           }
+       }
+      /* Take note of each display string that covers a newline only
+        once, the first time we see it.  This is for when a display
+        string includes more than one newline in it.  */
+      if (row->ends_in_newline_from_string_p && !seen_this_string)
+       {
+         /* If we were scanning the buffer forward when we displayed
+            the string, we want to account for at least one buffer
+            position that belongs to this row (position covered by
+            the display string), so that cursor positioning will
+            consider this row as a candidate when point is at the end
+            of the visual line represented by this row.  This is not
+            required when scanning back, because max_pos will already
+            have a much larger value.  */
+         if (CHARPOS (row->end.pos) > max_pos)
+           INC_BOTH (max_pos, max_bpos);
+         SET_TEXT_POS (row->maxpos, max_pos, max_bpos);
+       }
       else if (CHARPOS (it->eol_pos) > 0)
        SET_TEXT_POS (row->maxpos,
                      CHARPOS (it->eol_pos) + 1, BYTEPOS (it->eol_pos) + 1);
@@ -19125,6 +19373,7 @@ See also `bidi-paragraph-direction'.  */)
       EMACS_INT pos = BUF_PT (buf);
       EMACS_INT bytepos = BUF_PT_BYTE (buf);
       int c;
+      void *itb_data = bidi_shelve_cache ();
 
       set_buffer_temp (buf);
       /* bidi_paragraph_init finds the base direction of the paragraph
@@ -19137,27 +19386,27 @@ See also `bidi-paragraph-direction'.  */)
          pos--;
          bytepos = CHAR_TO_BYTE (pos);
        }
-      while ((c = FETCH_BYTE (bytepos)) == '\n'
-            || c == ' ' || c == '\t' || c == '\f')
+      if (fast_looking_at (build_string ("[\f\t ]*\n"),
+                          pos, bytepos, ZV, ZV_BYTE, Qnil) > 0)
        {
-         if (bytepos <= BEGV_BYTE)
-           break;
-         bytepos--;
-         pos--;
+         while ((c = FETCH_BYTE (bytepos)) == '\n'
+                || c == ' ' || c == '\t' || c == '\f')
+           {
+             if (bytepos <= BEGV_BYTE)
+               break;
+             bytepos--;
+             pos--;
+           }
+         while (!CHAR_HEAD_P (FETCH_BYTE (bytepos)))
+           bytepos--;
        }
-      while (!CHAR_HEAD_P (FETCH_BYTE (bytepos)))
-       bytepos--;
-      itb.charpos = pos;
-      itb.bytepos = bytepos;
-      itb.nchars = -1;
+      bidi_init_it (pos, bytepos, FRAME_WINDOW_P (SELECTED_FRAME ()), &itb);
       itb.string.s = NULL;
       itb.string.lstring = Qnil;
-      itb.frame_window_p = FRAME_WINDOW_P (SELECTED_FRAME ()); /* guesswork */
-      itb.first_elt = 1;
-      itb.separator_limit = -1;
-      itb.paragraph_dir = NEUTRAL_DIR;
-
+      itb.string.bufpos = 0;
+      itb.string.unibyte = 0;
       bidi_paragraph_init (NEUTRAL_DIR, &itb, 1);
+      bidi_unshelve_cache (itb_data, 0);
       set_buffer_temp (old);
       switch (itb.paragraph_dir)
        {