changeset 110091:66a2fac996a4

merge emacs-23
author Kenichi Handa <handa@m17n.org>
date Fri, 27 Aug 2010 23:05:43 +0900
parents 4a06b9752df5 (current diff) 3241579568b9 (diff)
children 6252a1df1110
files
diffstat 305 files changed, 6461 insertions(+), 5098 deletions(-) [+]
line wrap: on
line diff
--- a/.bzrignore	Sat Apr 03 19:40:20 2010 -0400
+++ b/.bzrignore	Fri Aug 27 23:05:43 2010 +0900
@@ -10,6 +10,7 @@
 oo
 oo-spd
 autom4te.cache
+*.dSYM
 *.elc
 *.exe
 DOC
@@ -48,6 +49,7 @@
 lisp/cus-load.el
 lisp/eshell/esh-groups.el
 lisp/finder-inf.el
+nextstep/Emacs.app
 nt/config.log
 src/buildobj.h
 src/config.h
@@ -63,3 +65,6 @@
 src/temacs
 src/deps
 configure.lineno
+src/core
+core
+lib-src/stamp-*
--- a/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,37 @@
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* info/dir: Start descriptions in column 32, per Texinfo convention.
+
+2010-06-12  Chong Yidong  <cyd@stupidchicken.com>
+
+	* INSTALL: Update font information (Bug#6389).
+
+2010-06-10  Glenn Morris  <rgm@gnu.org>
+
+	* INSTALL: General update.
+
+2010-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* .bzrignore: Ignore new files from trunk, which appear if you use
+	colocated branches (i.e. "bzr switch").
+
+2010-05-10  Miles Bader  <miles@gnu.org>
+
+	* configure.in: Get rid of "unix" pre-defined macro when
+	preprocessing Makefile.  (Bug#5857)  [Backport from trunk]
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* INSTALL: Fix typos.
+
+2010-05-03  Chong Yidong  <cyd@stupidchicken.com>
+
+	* configure.in: Add check for buggy version of GCC (Bug#6031).
+
 2010-01-31  Juri Linkov  <juri@jurta.org>
 
 	* .bzrignore: Add TAGS-LISP.
--- a/INSTALL	Sat Apr 03 19:40:20 2010 -0400
+++ b/INSTALL	Fri Aug 27 23:05:43 2010 +0900
@@ -1,35 +1,42 @@
 GNU Emacs Installation Guide
 Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+  2005, 2006, 2007, 2008, 2009, 2010
+  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
-This file contains general information.  For more specific information
-for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files
-nt/INSTALL nextstep/INSTALL, and msdos/INSTALL.  For information
-specific to building from a Bazaar checkout (rather than a release), see
-the file INSTALL.BZR.
+This file contains general information on building GNU Emacs.
+For more information specific to the MS-Windows, GNUstep/Mac OS X, and
+MS-DOS ports, also read the files nt/INSTALL, nextstep/INSTALL, and
+msdos/INSTALL.  For information about building from a Bazaar checkout
+(rather than a release), also read the file INSTALL.BZR.
 
 
 BASIC INSTALLATION
 
-The simplest way to build Emacs is to use the `configure' shell script
-which attempts to guess correct values for various system-dependent
-variables and features and find the directories where various system
-headers and libraries are kept.  It then creates a `Makefile' in each
-subdirectory and a `config.h' file containing system-dependent
-definitions.  Running the `make' utility then builds the package for
-your system.
+On most Unix systems, you build Emacs by first running the `configure'
+shell script.  This attempts to deduce the correct values for
+various system-dependent variables and features, and find the
+directories where certain system headers and libraries are kept.
+In a few cases, you may need to explicitly tell configure where to
+find some things, or what options to use.
+
+`configure' creates a `Makefile' in several subdirectories, and a
+`src/config.h' file containing system-dependent definitions.
+Running the `make' utility then builds the package for your system.
 
 Here's the procedure to build Emacs using `configure' on systems which
-are supported by it.  If this simplified procedure fails, or if you
-are using a platform such as MS-Windows, where `configure' script
-doesn't work, you might need to use various non-default options, and
-maybe perform some of the steps manually.  The more detailed
-description in the rest of the sections of this guide will help you do
-that, so please refer to them if the simple procedure does not work.
+are supported by it.  In some cases, if the simplified procedure fails,
+you might need to use various non-default options, and maybe perform
+some of the steps manually.  The more detailed description in the other
+sections of this guide will help you do that, so please refer to those
+sections if you need to.
 
-  1. Make sure your system has at least 120 MB of free disk space.
+  1. Unpacking the Emacs 23.2 release requires about 170 MB of free
+  disk space.  Building Emacs uses about another 60 MB of space.
+  The final installed Emacs uses about 120 MB of disk space.
+  This includes the space-saving that comes from automatically
+  compressing the Lisp source files on installation.
 
   2a. `cd' to the directory where you unpacked Emacs and invoke the
       `configure' script:
@@ -42,8 +49,8 @@
 
 		 SOURCE-DIR/configure
 
-      where SOURCE-DIR is the top-level Emacs source directory.  This
-      may not work unless you use GNU make.
+      where SOURCE-DIR is the top-level Emacs source directory.
+      This may not work unless you use GNU make.
 
   3. When `configure' finishes, it prints several lines of details
      about the system configuration.  Read those details carefully
@@ -51,17 +58,18 @@
      system names, wrong places for headers or libraries, missing
      libraries that you know are installed on your system, etc.
 
-     If you find anything wrong, you will have to pass to `configure'
-     explicit machine configuration name, and one or more options
-     which tell it where to find various headers and libraries; refer
-     to DETAILED BUILDING AND INSTALLATION section below.
+     If you find anything wrong, you may have to pass to `configure'
+     one or more options specifying the explicit machine configuration
+     name, where to find various headers and libraries, etc.
+     Refer to the section DETAILED BUILDING AND INSTALLATION below.
 
-     If `configure' didn't find some image support libraries, such as
-     Xpm, jpeg, etc., and you want to use them refer to the subsection
-     "Image support libraries", below.
+     If `configure' didn't find some (optional) image support libraries,
+     such as Xpm, jpeg, etc., and you want to use them, refer to the
+     subsection "Image support libraries" below.
 
      If the details printed by `configure' don't make any sense to
-     you, assume that `configure' did its job and proceed.
+     you, but there are no obvious errors, assume that `configure' did
+     its job and proceed.
 
   4. If you need to run the `configure' script more than once (e.g.,
      with some non-default options), always clean the source
@@ -78,7 +86,7 @@
      in the `src' directory.  You can try this program, to make sure
      it works:
 
-		 src/emacs -q
+		 src/emacs -Q
 
   7. Assuming that the program `src/emacs' starts and displays its
      opening screen, you can install the program and its auxiliary
@@ -92,9 +100,13 @@
 
 		 make clean
 
-  You can also save some space by compressing (with `gzip') Info files
-  and installed Lisp source (.el) files which have corresponding .elc
-  versions.
+  You can delete the entire build directory if you do not plan to
+  build Emacs again, but it can be useful to keep for debugging.
+
+  Note that the install automatically saves space by compressing
+  (provided you have the `gzip' program) those installed Lisp source (.el)
+  files that have corresponding .elc versions.  You may also wish
+  to compress the installed Info files.
 
 
 ADDITIONAL DISTRIBUTION FILES
@@ -156,19 +168,15 @@
 running Emacs; however, note that Emacs will not be able to use
 colored icons in the toolbar if XPM support is not compiled in.
 
-Here's the list of these optional libraries, and the URLs where they
-can be found:
+Here's the list of some of these optional libraries, and the URLs
+where they can be found (in the unlikely event that your distribution
+does not provide them):
 
-  . libXaw3d for fancy 3D-style
-      scroll bars:    ftp://ftp.x.org/contrib/widgets/Xaw3d/
-  . libxpm for XPM:   ftp://ftp.x.org/contrib/libraries/
-		      Get version 3.4k or later, which lets Emacs
-		      use its own color allocation functions.
-  . libpng for PNG:   ftp://ftp.simplesystems.org/pub/libpng/png/
+  . libXaw3d          http://directory.fsf.org/project/xaw3d/
+  . libxpm for XPM:   http://www.x.org/releases/current/src/lib/
+  . libpng for PNG:   http://www.libpng.org/
   . libz (for PNG):   http://www.zlib.net/
-  . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/
-                      Get version 6b -- 6a is reported to fail in
-                      Emacs.
+  . libjpeg for JPEG: http://www.ijg.org/
   . libtiff for TIFF: http://www.libtiff.org/
   . libgif for GIF:   http://sourceforge.net/projects/giflib/
 
@@ -177,61 +185,38 @@
 appropriate --without-LIB option.  In some cases, older versions of
 these libraries won't work because some routines are missing, and
 configure should avoid such old versions.  If that happens, use the
---without-LIB options to `configure'.  See below for more details.
+--without-LIB options to `configure', if you need to.
 
 * Extra fonts
 
 The Emacs distribution does not include fonts and does not install
-them.  You must do that yourself.
-
-Emacs running on the GNU system supports both X fonts and local fonts
-(i.e. the fonts managed by the fontconfig library).
-
-For `Unicode' (ISO 10646) X fonts, see
-<URL:http://czyborra.com/unifont/> (packaged in Debian),
-<URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian).  (In
-recent Debian versions, there is an extensive `misc-fixed' iso10646-1
-in the default X installation.)  Perhaps also see
-<URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>.
-
-<URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
-ISO-8859 charsets.
+them.
 
-XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors)
-contains font support for most, if not all, of the charsets that Emacs
-currently supports, including iso10646-1 encoded fonts for use with
-the mule-unicode charsets.  The font files should also be usable with
-older X releases.  Note that XFree 4 contains many iso10646-1 fonts
-with minimal character repertoires, which can cause problems -- see
-etc/PROBLEMS.
-
-BDF Unicode fonts etl-unicode.tar.gz are available from
-<URL:ftp://ftp.x.org/contrib/fonts/> and
-<URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>.  These
-fonts can also be used by ps-print and ps-mule to print Unicode
-characters.
-
-Finally, the Web page <URL:http://www.gnu.org/software/freefont/>
-lists a large number of free Unicode fonts.
+On the GNU system, Emacs supports both X fonts and local fonts
+(i.e. fonts managed by the fontconfig library).  If you need more
+fonts than your distribution normally provides, you must install them
+yourself.  See <URL:http://www.gnu.org/software/freefont/> for a large
+number of free Unicode fonts.
 
 * GNU/Linux development packages
 
-Many GNU/Linux systems do not come with development packages by
-default; they just include the files that you need to run Emacs, but
-not those you need to compile it.  For example, to compile Emacs with
-X11 support, you may need to install the special `X11 development'
-package.  For example, in April 2003, the package names to install
-were `XFree86-devel' and `Xaw3d-devel' on Red Hat.  On Debian, the
-packages necessary to build the installed version should be
-sufficient; they can be installed using `apt-get build-dep emacs21' in
-Debian 3 and above.
+Many GNU/Linux systems do not come with development packages by default;
+they include the files that you need to run Emacs, but not those you
+need to compile it.  For example, to compile Emacs with support for X
+and graphics libraries, you may need to install the `X development'
+package(s), and development versions of the jpeg, png, etc. packages.
+
+The names of the packages that you need varies according to the
+GNU/Linux distribution that you use, and the options that you want to
+configure Emacs with.  On Debian-based systems, you can install all the
+packages needed to build the installed version of Emacs with a command
+like `apt-get build-dep emacs23'.
 
 
 DETAILED BUILDING AND INSTALLATION:
 
-(This is for a Unix or Unix-like system.  For MS-DOS and Windows 3.X,
-see msdos/INSTALL.  For Windows 9X, Windows ME, Windows NT, Windows
-2000, Windows XP/2003, and Windows Vista/2008, see the file
+(This is for a Unix or Unix-like system.  For MS-DOS and MS Windows 3.X,
+see msdos/INSTALL.  For later versions of MS Windows, see the file
 nt/INSTALL.  For GNUstep and Mac OS X, see nextstep/INSTALL.)
 
 1) Make sure your system has enough swapping space allocated to handle
@@ -239,21 +224,20 @@
 least 2.8 MB and can reach 100 MB or more.  If the swapping space is
 insufficient, you will get an error in the command `temacs -batch -l
 loadup dump', found in `./src/Makefile.in', or possibly when
-running the final dumped Emacs.
+running the final dumped Emacs.  (This should not be an issue
+on any recent system.)
 
-Building Emacs requires about 140 MB of disk space (including the
-Emacs sources) Once installed, Emacs occupies about 77 MB in the file
+Building Emacs requires about 230 MB of disk space (including the
+Emacs sources).  Once installed, Emacs occupies about 120 MB in the file
 system where it is installed; this includes the executable files, Lisp
 libraries, miscellaneous data files, and on-line documentation.  If
 the building and installation take place in different directories,
-then the installation procedure momentarily requires 140+77 MB.
+then the installation procedure momentarily requires 230+120 MB.
 
-2) Consult `./etc/MACHINES' to see what configuration name you should
-give to the `configure' program.  That file offers hints for
-getting around some possible installation problems.  The file lists
-many different configurations, but only the part for your machine and
-operating system is relevant.  (The list is arranged in alphabetical
-order by the vendor name.)
+2) In the unlikely event that `configure' does not detect your system
+type correctly, consult `./etc/MACHINES' to see what --host, --build
+options you should pass to `configure'.  That file also offers hints
+for getting around some possible installation problems.
 
 3) You can build Emacs in the top-level Emacs source directory
 or in a separate directory.
@@ -261,15 +245,10 @@
 3a) To build in the top-level Emacs source directory, go to that
 directory and run the program `configure' as follows:
 
-    ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
-
-The CONFIGURATION-NAME argument should be a configuration name given
-in `./etc/MACHINES', with the system version number added at the end.
+    ./configure [--OPTION[=VALUE]] ...
 
-You should try first omitting CONFIGURATION-NAME.  This way,
-`configure' will try to guess your system type.  If it cannot guess,
-or if something goes wrong in building or installing Emacs this way,
-try again specifying the proper CONFIGURATION-NAME explicitly.
+If `configure' cannot determine your system type, try again
+specifying the proper --build, --host options explicitly.
 
 If you don't want X support, specify `--with-x=no'.  If you omit this
 option, `configure' will try to figure out for itself whether your
@@ -284,20 +263,19 @@
 
 To get more attractive menus, you can specify an X toolkit when you
 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
-TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms
-for `athena').  On some systems, it does not work to use a toolkit
-with shared libraries.  A free implementation of Motif, called
-LessTif, is available from <http://www.lesstif.org>.  Compiling with
-LessTif or Motif causes a standard File Selection Dialog to pop up
-when you invoke file commands with the mouse.  You can get fancy
-3D-style scroll bars, even without LessTif/Motif, if you have the
-Xaw3d library installed (see "Image support libraries" above for Xaw3d
-availability).
+TOOLKIT is `gtk' (the default), `athena', or `motif' (`yes' and
+`lucid' are synonyms for `athena').  On some systems, it does not work
+to use a toolkit with shared libraries.  A free implementation of
+Motif, called LessTif, is available from <http://www.lesstif.org>.
+Compiling with LessTif or Motif causes a standard File Selection
+Dialog to pop up when you invoke file commands with the mouse.  You
+can get fancy 3D-style scroll bars, even without Gtk or LessTif/Motif,
+if you have the Xaw3d library installed (see "Image support libraries"
+above for Xaw3d availability).
 
-If `--with-x-toolkit=gtk' is specified, you can tell configure where
-to search for GTK by specifying `--with-pkg-config-prog=PATH' where
-PATH is the pathname to pkg-config.  Note that GTK version 2.4 or
-newer is required for Emacs.
+You can tell configure where to search for GTK by specifying
+`--with-pkg-config-prog=PATH' where PATH is the pathname to
+pkg-config.  Note that GTK version 2.6 or newer is required for Emacs.
 
 The Emacs mail reader RMAIL is configured to be able to read mail from
 a POP3 server by default.  Versions of the POP protocol older than
@@ -324,10 +302,10 @@
 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
 scroll bars.
 
-Use --without-xim to inhibit the default use of X Input Methods.  In
-this case, the X resource useXIM can be used to turn on use of XIM.
+Use --without-xim to inhibit the default use of X Input Methods.
+In this case, the X resource useXIM can be used to turn on use of XIM.
 
-Use --disable-largefile omits support for files larger than 2GB on
+Use --disable-largefile to omit support for files larger than 2GB on
 systems which support that.
 
 Use --without-sound to disable sound support.
@@ -337,11 +315,11 @@
 - Emacs (and the other utilities users run) go in PREFIXDIR/bin
   (unless the `--exec-prefix' option says otherwise).
 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION
-  (where VERSION is the version number of Emacs, like `19.27').
+  (where VERSION is the version number of Emacs, like `23.2').
 - The architecture-dependent files go in
   PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION
-  (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2),
-  unless the `--exec-prefix' option says otherwise.
+  (where CONFIGURATION is the configuration name, like
+  i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise.
 
 The `--exec-prefix=EXECDIR' option allows you to specify a separate
 portion of the directory tree for installing architecture-specific
@@ -353,17 +331,16 @@
 
 For example, the command
 
-    ./configure mips-dec-ultrix --with-x11
+    ./configure --build=i386-linux-gnu --without-sound
 
-configures Emacs to build for a DECstation running Ultrix, with
-support for the X11 window system.
+configures Emacs to build for a 32-bit GNU/Linux distribution,
+without sound support.
 
-`configure' doesn't do any compilation or installation
-itself.  It just creates the files that influence those things:
-`./Makefile', `lib-src/Makefile', `oldXMenu/Makefile',
-`lwlib/Makefile', `src/Makefile', and `./src/config.h'.  For details
-on exactly what it does, see the section called `CONFIGURATION BY
-HAND', below.
+`configure' doesn't do any compilation or installation itself.
+It just creates the files that influence those things:
+`./Makefile' in the top-level directory and several subdirectories;
+and `./src/config.h'.  For details on exactly what it does, see the
+section called `CONFIGURATION BY HAND', below.
 
 When it is done, `configure' prints a description of what it did and
 creates a shell script `config.status' which, when run, recreates the
@@ -405,10 +382,10 @@
 preprocessor to look in the `/foo/myinclude' directory for header
 files (in addition to the standard directories), instruct the linker
 to look in `/bar/mylib' for libraries, pass the -O3 optimization
-switch to the compiler, and link against libfoo.a and libbar.a
+switch to the compiler, and link against libfoo and libbar
 libraries in addition to the standard ones.
 
-For some libraries, like Gtk+, fontconfig and ALSA, `configure' use
+For some libraries, like Gtk+, fontconfig and ALSA, `configure' uses
 pkg-config to find where those libraries are installed.
 If you want pkg-config to look in special directories, you have to set
 the environment variable PKG_CONFIG_PATH to point to the directories
@@ -435,14 +412,9 @@
 To build in a separate directory, you must use a version of `make'
 that supports the `VPATH' variable, such as GNU `make'.
 
-3c) Some people try to build in a separate directory by filling
-it full of symlinks to the files in the real source directory.
-If you do that, `make all' does work, but `make install' fails:
-it copies the symbolic links rather than the actual files.
-
-As far as is known, there is no particular reason to use
-a directory full of links rather than use the standard GNU
-facilities to build in a separate directory (see 3b above).
+(Do not try to build in a separate directory by creating many links
+to the real source directory--there is no need, and installation will
+fail.)
 
 4) Look at `./lisp/paths.el'; if some of those values are not right
 for your system, set up the file `./lisp/site-init.el' with Emacs
@@ -453,7 +425,7 @@
      (setq news-inews-program "/usr/bin/inews")
 
 is how you would override the default value of the variable
-news-inews-program (which is "/usr/local/inews").
+news-inews-program.
 
 Before you override a variable this way, *look at the value* that the
 variable gets by default!  Make sure you know what kind of value the
@@ -466,24 +438,17 @@
 documentation strings to be in the etc/DOC file (see
 src/Makefile.in if you wish to figure out how to do that).  For all
 else, use site-init.el.  Do not load byte-compiled code which
-was build with a non-nil value of `byte-compile-dynamic'.
+was built with a non-nil value of `byte-compile-dynamic'.
 
 If you set load-path to a different value in site-init.el or
 site-load.el, Emacs will use *precisely* that value when it starts up
 again.  If you do this, you are on your own!
 
-Note that, on some systems, the code you place in site-init.el must
-not use expand-file-name or any other function which may look
-something up in the system's password and user information database.
-See `./etc/PROBLEMS' for more details on which systems this affects.
-
 The `site-*.el' files are nonexistent in the distribution.  You do not
 need to create them if you have nothing to put in them.
 
 6) Refer to the file `./etc/TERMS' for information on fields you may
-wish to add to various termcap entries.  The files `./etc/termcap.ucb'
-and `./etc/termcap.dat' may already contain appropriately-modified
-entries.
+wish to add to various termcap entries.  (This is unlikely to be necessary.)
 
 7) Run `make' in the top directory of the Emacs distribution to finish
 building Emacs in the standard way.  The final executable file is
@@ -491,17 +456,17 @@
 copying it, if you wish; then it automatically uses the sibling
 directories ../lisp, ../lib-src, ../info.
 
-Or you can "install" the executable and the other Emacs into their
+Or you can "install" the executable and the other files into their
 installed locations, with `make install'.  By default, Emacs's files
 are installed in the following directories:
 
 `/usr/local/bin' holds the executable programs users normally run -
 		`emacs', `etags', `ctags', `b2m', `emacsclient',
-		and `rcs-checkin'.
+		`grep-changelog', and `rcs-checkin'.
 
 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
 		`VERSION' stands for the number of the Emacs version
-		you are installing, like `18.59' or `19.27'.  Since the
+		you are installing, like `23.1' or `23.2'.  Since the
 		Lisp library changes from one version of Emacs to
 		another, including the version number in the path
 		allows you to have several versions of Emacs installed
@@ -509,18 +474,17 @@
 		make Emacs unavailable while installing a new version.
 
 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
-		file, the `yow' database, and other
-		architecture-independent files Emacs might need while
-		running.  VERSION is as specified for `.../lisp'.
+		file, and other architecture-independent files Emacs
+		might need while running.
 
 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
 		programs used by Emacs that users are not expected to
 		run themselves.
 		`VERSION' is the number of the Emacs version you are
-		installing, and `CONFIGURATION-NAME' is the argument
-		you gave to the `configure' program to identify the
+		installing, and `CONFIGURATION-NAME' is the value
+		deduced by the `configure' program to identify the
 		architecture and operating system of your machine,
-		like `mips-dec-ultrix' or `sparc-sun-sunos'.  Since
+		like `i686-pc-linux-gnu' or `sparc-sun-sunos'.  Since
 		these files are specific to the version of Emacs,
 		operating system, and architecture in use, including
 		the configuration name in the path allows you to have
@@ -532,10 +496,9 @@
 `/usr/local/share/info' holds the on-line documentation for Emacs,
 		known as "info files".  Many other GNU programs are
 		documented using info files as well, so this directory
-		stands apart from the other, Emacs-specific
-		directories.
+		stands apart from the other, Emacs-specific directories.
 
-`/usr/local/man/man1' holds the man pages for the programs installed
+`/usr/local/share/man/man1' holds the man pages for the programs installed
 		in `/usr/local/bin'.
 
 Any version of Emacs, whether installed or not, also looks for Lisp
@@ -598,10 +561,9 @@
 	defaults to /usr/local/share.  We create the following
 	subdirectories under `datadir':
 	- `emacs/VERSION/lisp', containing the Emacs Lisp library, and
-	- `emacs/VERSION/etc', containing the Emacs tutorial, the DOC
-		file, and the `yow' database.
+	- `emacs/VERSION/etc', containing the tutorials, DOC file, etc.
 	`VERSION' is the number of the Emacs version you are installing,
-	like `18.59' or `19.0'.  Since these files vary from one version
+	like `23.1' or `23.2'.  Since these files vary from one version
 	of Emacs to another, including the version number in the path
 	allows you to have several versions of Emacs installed at the
 	same time; this means that you don't have to make Emacs
@@ -614,29 +576,23 @@
 		programs used by Emacs that users are not expected to run
 		themselves.
 	`VERSION' is the number of the Emacs version you are installing,
-	and `CONFIGURATION-NAME' is the argument you gave to the
+	and `CONFIGURATION-NAME' is the value deduced by the
 	`configure' program to identify the architecture and operating
-	system of your machine, like `mips-dec-ultrix' or
-	`sparc-sun-sunos'.  Since these files are specific to the version
-	of Emacs, operating system, and architecture in use, including
-	the configuration name in the path allows you to have several
-	versions of Emacs for any mix of machines and operating systems
-	installed at the same time; this is useful for sites at which
-	different kinds of machines share the file system Emacs is
-	installed on.
+	system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'.
+	Since these files are specific to the version of Emacs,
+	operating system, and architecture in use, including the
+	configuration name in the path allows you to have several
+	versions of Emacs for any mix of machines and operating
+	systems installed at the same time; this is useful for sites
+	at which different kinds of machines share the file system
+	Emacs is installed on.
 
 `infodir' indicates where to put the info files distributed with
 	Emacs; it defaults to `/usr/local/share/info'.
 
 `mandir' indicates where to put the man pages for Emacs and its
 	utilities (like `etags'); it defaults to
-	`/usr/local/man/man1'.
-
-`manext' gives the extension the man pages should be installed with.
-	It should contain a period, followed by the appropriate
-	digit.  It defaults to `.1'.  For example given the default
-	values for `mandir' and `manext', the Emacs man page would be
-	installed as `/usr/local/man/man1/emacs.1'.
+	`/usr/local/share/man/man1'.
 
 `prefix' doesn't give a path for any specific part of Emacs; instead,
 	its value is used to determine the defaults for all the
@@ -658,7 +614,7 @@
 	path variables - `bindir' and `libexecdir'.
 
 The above variables serve analogous purposes in the makefiles for all
-GNU software; this variable is specific to Emacs.
+GNU software; the following variable is specific to Emacs.
 
 `archlibdir' indicates where Emacs installs and expects the executable
 	files and other architecture-dependent data it uses while
@@ -674,7 +630,7 @@
 directory, but be aware that running the `configure' program erases
 `Makefile' and rebuilds it from `Makefile.in'.
 
-The path for finding Lisp files is specified in src/paths.h,
+The path for finding Lisp files is specified in src/epaths.h,
 a file which is generated by running configure.  To change the path,
 you can edit the definition of PATH_LOADSEARCH in that file
 before you run `make'.
@@ -686,8 +642,8 @@
 
 CONFIGURATION BY HAND
 
-Instead of running the `configure' program, you have to perform the
-following steps.
+This should not be necessary and is not recommended.  Instead of
+running the `configure' program, you have to perform the following steps.
 
 1) Copy `./src/config.in' to `./src/config.h'.
 
@@ -701,8 +657,7 @@
 2) Edit `./src/config.h' to set the right options for your system.  If
 you need to override any of the definitions in the s/*.h and m/*.h
 files for your system and machine, do so by editing config.h, not by
-changing the s/*.h and m/*.h files.  Occasionally you may need to
-redefine parameters used in `./lib-src/movemail.c'.
+changing the s/*.h and m/*.h files.
 
 3) Create src/Makefile and lib-src/Makefile from the corresponding
 `Makefile.in' files.  First copy `Makefile.in' to `Makefile.c',
@@ -710,28 +665,28 @@
 and then copy the shell commands near the end of `configure'
 that run cpp to construct `Makefile'.
 
-4) Create `Makefile' files in various other directories
-from the corresponding `Makefile.in' files.  This isn't so hard,
-just a matter of substitution.
+4) Create `Makefile' files in various other directories from the
+corresponding `Makefile.in' files.  This isn't so hard, just a matter
+of editing in appropriate substitutions for the @...@ constructs.
 
 The `configure' script is built from `configure.in' by the `autoconf'
-program.  You need version 2.51 or newer of `autoconf' to rebuild
-`configure'.
+program.  You need at least the version of autoconf specified in the
+AC_PREREQ(...) command to rebuild `configure' from `configure.in'.
 
 BUILDING GNU EMACS BY HAND
 
 Once Emacs is configured, running `make' in the top directory performs
 the following steps.
 
-1) Run `make src/paths.h' in the top directory.  This produces
-`./src/paths.h' from the template file `./src/paths.in', changing
+1) Run `make epaths-force' in the top directory.  This produces
+`./src/epaths.h' from the template file `./src/epaths.in', changing
 the paths to the values specified in `./Makefile'.
 
 2) Go to directory `./lib-src' and run `make'.  This creates
 executables named `ctags' and `etags' and `make-docfile' and
 `digest-doc' and `test-distrib'.  And others.
 
-3) Go to directory `./src' and Run `make'.  This refers to files in
+3) Go to directory `./src' and run `make'.  This refers to files in
 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and
 `../lib-src'.
 
@@ -743,8 +698,7 @@
 current Emacs version.  This file contains documentation strings for
 all the functions in Emacs.  Each time you run make to make a new
 emacs, a new DOC file with a new name is made.  You must keep the DOC
-file for an Emacs version as long as you keep using that Emacs
-version.
+file for an Emacs version as long as you keep using that Emacs version.
 
 
 INSTALLATION BY HAND
@@ -753,7 +707,7 @@
 directory of the Emacs distribution.
 
 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
-in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
+in `./lib-src' to their final destinations, as selected in `./src/epaths.h'.
 
 Strictly speaking, not all of the executables in `./lib-src' need be copied.
 - The programs `fakemail', `hexl', `movemail', `profile', `rcs2log',
@@ -784,8 +738,7 @@
 `rcs-checkin' from `./lib-src' to `/usr/local/bin'.  These programs are
 intended for users to run.
 
-5) Copy the man pages in `./etc' for emacs, ctags, and etags into the
-appropriate man directories.
+5) Copy the man pages in `./doc/man' into the appropriate man directory.
 
 6) The files in the `./src' subdirectory, except for `emacs', are not
 used by Emacs once it is built.  However, it is very desirable to keep
@@ -794,8 +747,8 @@
 
 PROBLEMS
 
-See the file PROBLEMS in etc subdirectory for a list of various
-problems sometimes encountered, and what to do about them.
+See the file `./etc/PROBLEMS' for a list of various problems sometimes
+encountered, and what to do about them.
 
 This file is part of GNU Emacs.
 
--- a/README	Sat Apr 03 19:40:20 2010 -0400
+++ b/README	Fri Aug 27 23:05:43 2010 +0900
@@ -3,7 +3,7 @@
 See the end of the file for license conditions.
 
 
-This directory tree holds version 23.1.95 of GNU Emacs, the extensible,
+This directory tree holds version 23.2.50 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
--- a/admin/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/admin/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-02-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* quick-install-emacs (PRUNED): Fix typo in message.
--- a/admin/notes/bugtracker	Sat Apr 03 19:40:20 2010 -0400
+++ b/admin/notes/bugtracker	Fri Aug 27 23:05:43 2010 +0900
@@ -4,7 +4,7 @@
 
 * Quick-start guide
 
-This is 95% of all you will ever need.
+This is 95% of all you will ever need to know.
 
 ** How do I report a bug?
 Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org.
@@ -34,8 +34,12 @@
 
 For a list of all bugs, see http://debbugs.gnu.org/db/pa/lemacs.html
 This is a static page, updated once a day.  There is also a dynamic
-list, generated on request, but since there are many bug reports this
-is slow and not recommended.
+list, generated on request. This accepts various options, eg to see
+the most recent bugs:
+
+http://debbugs.gnu.org/cgi/pkgreport.cgi?newest=100
+
+Or follow the links on the front page http://debbugs.gnu.org .
 
 ** How do I report a bug in Emacs now?
 The same way as you always did.  Send mail to bug-gnu-emacs@gnu.org,
@@ -92,6 +96,9 @@
 in the subsequent discussion will end up creating a new bug.
 This is annoying.
 
+(So annoying that a form of message-id tracking has been implemented
+to hopefully stop this happening, but it is still better to use X-Debbugs-CC.)
+
 If a new report contains X-Debbugs-CC in the input, this is
 converted to a real Cc header in the output.  (See Bug#1720).
 It is also merged into the Resent-CC header (see below).
@@ -191,8 +198,7 @@
 Version: 23.0.60
 Severity: minor
 
-Optionally, add a sub-package, eg Package: emacs,calendar.
-This can include tags.  Some things (e.g. submitter) don't seem to
+This can also include tags.  Some things (e.g. submitter) don't seem to
 work here.
 
 Otherwise, send mail to the control server, control@debbugs.gnu.org.
@@ -229,7 +235,7 @@
 
 123             # given bug number
 123;mbox=yes    # mbox version of given bug
-package         # bugs in given package    (don't use "emacs" - too many bugs!)
+package         # bugs in given package
 from:submitter@email.address
 severity:severity      # all bugs of given severity
 tag:tag                # all bugs with given tag
@@ -281,6 +287,9 @@
 search box.  The only piece you really need to add is the "users"
 portion, the rest has the same syntax as normal.
 
+**** To browse bugs by usertag:
+http://debbugs.gnu.org/cgi/pkgindex.cgi?indexon=users
+
 **** To find all bugs usertagged by a given email address:
 
 http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org
@@ -359,7 +368,7 @@
 notfixed 123 23.0.60
 
 *** To assign or reassign a bug to a package or list of packages:
-reassign 1234 emacs,cc-mode
+reassign 1234 emacs
 
 ** To remove spam from the tracker, move it to the `spam' pseudo-package:
 reassign 123 spam
--- a/configure	Sat Apr 03 19:40:20 2010 -0400
+++ b/configure	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for emacs 23.1.95.
+# Generated by GNU Autoconf 2.62 for emacs 23.2.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -594,8 +594,8 @@
 # Identity of this package.
 PACKAGE_NAME='emacs'
 PACKAGE_TARNAME='emacs'
-PACKAGE_VERSION='23.1.95'
-PACKAGE_STRING='emacs 23.1.95'
+PACKAGE_VERSION='23.2'
+PACKAGE_STRING='emacs 23.2'
 PACKAGE_BUGREPORT=''
 
 ac_unique_file="src/lisp.h"
@@ -1371,7 +1371,7 @@
   # 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 23.1.95 to adapt to many kinds of systems.
+\`configure' configures emacs 23.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1445,7 +1445,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of emacs 23.1.95:";;
+     short | recursive ) echo "Configuration of emacs 23.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1588,7 +1588,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-emacs configure 23.1.95
+emacs configure 23.2
 generated by GNU Autoconf 2.62
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1602,7 +1602,7 @@
 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 23.1.95, which was
+It was created by emacs $as_me 23.2, which was
 generated by GNU Autoconf 2.62.  Invocation command line was
 
   $ $0 $@
@@ -25559,6 +25559,16 @@
 CFLAGS="$REAL_CFLAGS"
 CPPFLAGS="$REAL_CPPFLAGS"
 
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+   && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+   && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
+   && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+   { { $as_echo "$as_me:$LINENO: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&5
+$as_echo "$as_me: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
 #### Find out which version of Emacs this is.
 version=`grep 'defconst[	 ]*emacs-version' ${srcdir}/lisp/version.el \
 	 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
@@ -26259,7 +26269,7 @@
 # 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 23.1.95, which was
+This file was extended by emacs $as_me 23.2, which was
 generated by GNU Autoconf 2.62.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -26312,7 +26322,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-emacs config.status 23.1.95
+emacs config.status 23.2
 configured by $0, generated by GNU Autoconf 2.62,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
--- a/configure.in	Sat Apr 03 19:40:20 2010 -0400
+++ b/configure.in	Fri Aug 27 23:05:43 2010 +0900
@@ -22,7 +22,7 @@
 dnl  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ(2.62)
-AC_INIT(emacs, 23.1.95)
+AC_INIT(emacs, 23.2.50)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 
@@ -2600,6 +2600,14 @@
 CFLAGS="$REAL_CFLAGS"
 CPPFLAGS="$REAL_CPPFLAGS"
 
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+   && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+   && test x"`echo $CFLAGS | grep '\-O@<:@23@:>@'`" != x \
+   && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+   AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.])
+fi
+
 #### Find out which version of Emacs this is.
 [version=`grep 'defconst[	 ]*emacs-version' ${srcdir}/lisp/version.el \
 	 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`]
@@ -3064,7 +3072,7 @@
 # the C preprocessor to some helpful value like 1, or maybe the empty
 # string.  Needless to say consequent macro substitutions are less
 # than conducive to the makefile finding the correct directory.
-[cpp_undefs="`echo $srcdir $configuration $canonical |
+[cpp_undefs="`echo $srcdir $configuration $canonical unix |
   sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/  *$//' \
   -e 's/  */ -U/g' -e 's/-U[0-9][^ ]*//g'`"]
 
--- a/doc/emacs/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,83 @@
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
+	* custom.texi, dired.texi, display.texi, emacs.texi, emerge-xtra.texi:
+	* files.texi, fortran-xtra.texi, frames.texi, help.texi, killing.texi:
+	* maintaining.texi, mark.texi, mini.texi, misc.texi, msdog.texi:
+	* mule.texi, programs.texi, rmail.texi, screen.texi, search.texi:
+	* sending.texi, text.texi, trouble.texi, vc1-xtra.texi, xresources.texi:
+	Untabify Texinfo files.
+
+2010-06-10  Glenn Morris  <rgm@gnu.org>
+
+	* basic.texi (Inserting Text): Minor clarification.  (Bug#6374)
+
+	* basic.texi (Inserting Text): Fix typo.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* building.texi (GDB Graphical Interface): Remove misleading comparison
+	to an IDE (Bug#6128).
+
+2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* programs.texi (Man Page):
+	* misc.texi (Invoking emacsclient):
+	* mini.texi (Repetition):
+	* mark.texi (Setting Mark): Fix typos.
+
+2010-04-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* misc.texi (Printing): Document htmlfontify-buffer.
+
+2010-04-21  Glenn Morris  <rgm@gnu.org>
+
+	* calendar.texi (Displaying the Diary, Format of Diary File):
+	Fix external cross-references for TeX format output.
+
+2010-04-18  Chong Yidong  <cyd@stupidchicken.com>
+
+	* programs.texi (Semantic): New node.
+
+	* maintaining.texi (EDE): New node.
+
+	* emacs.texi: Update node listing.
+
+	* misc.texi (Gnus): Use the `C-h i' keybinding for info.
+
+2010-04-16  Glenn Morris  <rgm@gnu.org>
+
+	* emacs.texi (Acknowledgments): Remove duplicate.
+
+	* maintaining.texi (VC Directory Commands): Mention stashes and shelves.
+
+2010-04-15  Glenn Morris  <rgm@gnu.org>
+
+	* dired.texi (Misc Dired Features): Mention VC diff and log.
+	* maintaining.texi (Old Revisions, VC Change Log):
+	Mention that diff and log work in Dired buffers.
+
+	* help.texi (Help Summary): Mention M-x info-finder.
+
+	* ack.texi (Acknowledgments): Add mpc.el.
+
+	* custom.texi (Specifying File Variables, Directory Variables):
+	Document new commands for manipulating local variable lists.
+
+2010-04-09  Glenn Morris  <rgm@gnu.org>
+
+	* trouble.texi (Contributing): Add cindex entry.
+	Mention etc/CONTRIBUTE.
+
+2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mark.texi (Persistent Mark): Copyedits.  Replace undo example with
+	query-replace (Bug#5774).
+
 2010-03-30  Eli Zaretskii  <eliz@gnu.org>
 
 	* mule.texi (Input Methods): Mention "C-x 8 RET" and add a
--- a/doc/emacs/abbrevs.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/abbrevs.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -235,9 +235,9 @@
 @example
 @var{various other tables@dots{}}
 (lisp-mode-abbrev-table)
-"dk"	       0    "define-key"
+"dk"          0    "define-key"
 (global-abbrev-table)
-"dfn"	       0    "definition"
+"dfn"         0    "definition"
 @end example
 
 @noindent
--- a/doc/emacs/ack.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/ack.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -801,8 +801,9 @@
 @file{reveal.el}, a minor mode for automatically revealing invisible
 text; @file{smerge-mode.el}, a minor mode for resolving @code{diff3}
 conflicts; @file{diff-mode.el}, a mode for viewing and editing context
-diffs; @file{css-mode.el} for Cascading Style Sheets; and
-@file{bibtex-style.el} for BibTeX Style files.
+diffs; @file{css-mode.el} for Cascading Style Sheets;
+@file{bibtex-style.el} for BibTeX Style files; and @file{mpc.el}, a
+client for the ``Music Player Daemon''.
 
 @item
 Morioka Tomohiko wrote several packages for MIME support in Gnus and
--- a/doc/emacs/basic.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/basic.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Basic, Minibuffer, Exiting, Top
 @chapter Basic Editing Commands
@@ -16,15 +17,15 @@
 
 * Inserting Text::      Inserting text by simply typing it.
 * Moving Point::        Moving the cursor to the place where you want to
-			  change something.
-* Erasing::	        Deleting and killing text.
-* Basic Undo::	        Undoing recent changes in the text.
+                          change something.
+* Erasing::             Deleting and killing text.
+* Basic Undo::          Undoing recent changes in the text.
 * Files: Basic Files.   Visiting, creating, and saving files.
 * Help: Basic Help.     Asking what a character does.
-* Blank Lines::	        Making and deleting blank lines.
+* Blank Lines::         Making and deleting blank lines.
 * Continuation Lines::  How Emacs displays lines too wide for the screen.
 * Position Info::       What page, line, row, or column is point on?
-* Arguments::	        Numeric arguments for repeating a command N times.
+* Arguments::           Numeric arguments for repeating a command N times.
 * Repeating::           Repeating the previous command quickly.
 @end menu
 
@@ -92,9 +93,9 @@
 @vindex read-quoted-char-radix
 @noindent
 To use decimal or hexadecimal instead of octal, set the variable
-@code{read-quoted-char-radix} to 10 or 16.  If the radix is greater
-than 10, some letters starting with @kbd{a} serve as part of a
-character code, just like digits.
+@code{read-quoted-char-radix} to 10 or 16.  If the radix is 16,
+the letters @kbd{a} to @kbd{f} serve as part of a character code,
+just like digits.  Case is ignored.
 
   A numeric argument tells @kbd{C-q} how many copies of the quoted
 character to insert (@pxref{Arguments}).
@@ -104,7 +105,7 @@
 @cindex Unicode
   Instead of @kbd{C-q}, you can use @kbd{C-x 8 @key{RET}}
 (@code{ucs-insert}) to insert a character based on its Unicode name or
-code-point.  This commands prompts for a character to insert, using
+code-point.  This command prompts for a character to insert, using
 the minibuffer; you can specify the character using either (i) the
 character's name in the Unicode standard, or (ii) the character's
 code-point in the Unicode standard.  If you specify the character's
--- a/doc/emacs/buffers.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/buffers.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Buffers, Windows, Files, Top
 @chapter Using Multiple Buffers
@@ -49,10 +50,10 @@
 @menu
 * Select Buffer::       Creating a new buffer or reselecting an old one.
 * List Buffers::        Getting a list of buffers that exist.
-* Misc Buffer::	        Renaming; changing read-onlyness; copying text.
-* Kill Buffer::	        Killing buffers you no longer need.
+* Misc Buffer::         Renaming; changing read-onlyness; copying text.
+* Kill Buffer::         Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
-			  and operate variously on several of them.
+                          and operate variously on several of them.
 * Indirect Buffers::    An indirect buffer shares the text of another buffer.
 * Buffer Convenience::  Convenience and customization features for
                           buffer handling.
--- a/doc/emacs/building.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/building.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Building, Maintaining, Programs, Top
 @chapter Compiling and Testing Programs
@@ -20,14 +21,14 @@
                           for use in the compilation buffer.
 * Grep Searching::      Searching with grep.
 * Flymake::             Finding syntax errors on the fly.
-* Debuggers::	        Running symbolic debuggers for non-Lisp programs.
+* Debuggers::           Running symbolic debuggers for non-Lisp programs.
 * Executing Lisp::      Various modes for editing Lisp programs,
                           with different facilities for running
                           the Lisp programs.
 * Libraries: Lisp Libraries.      Creating Lisp programs to run in Emacs.
 * Eval: Lisp Eval.      Executing a single Lisp expression in Emacs.
 * Interaction: Lisp Interaction.  Executing Lisp in an Emacs buffer.
-* External Lisp::         Communicating through Emacs with a separate Lisp.
+* External Lisp::       Communicating through Emacs with a separate Lisp.
 @end menu
 
 @node Compilation
@@ -471,10 +472,10 @@
 Lisp Reference Manual}, for information on the Emacs Lisp debugger.
 
 @menu
-* Starting GUD::	How to start a debugger subprocess.
-* Debugger Operation::	Connection between the debugger and source buffers.
-* Commands of GUD::	Key bindings for common commands.
-* GUD Customization::	Defining your own commands for GUD.
+* Starting GUD::        How to start a debugger subprocess.
+* Debugger Operation::  Connection between the debugger and source buffers.
+* Commands of GUD::     Key bindings for common commands.
+* GUD Customization::   Defining your own commands for GUD.
 * GDB Graphical Interface::  An enhanced mode that uses GDB features to
                         implement a graphical debugging environment through
                         Emacs.
@@ -836,12 +837,11 @@
 @subsection GDB Graphical Interface
 
   The command @code{gdb} starts GDB in a graphical interface, using
-Emacs windows for display program state information.  In effect, this
-makes Emacs into an IDE (interactive development environment).  With
-it, you do not need to use textual GDB commands; you can control the
-debugging session with the mouse.  For example, you can click in the
-fringe of a source buffer to set a breakpoint there, or on a stack
-frame in the stack buffer to select that frame.
+Emacs windows for display program state information.  With it, you do
+not need to use textual GDB commands; you can control the debugging
+session with the mouse.  For example, you can click in the fringe of a
+source buffer to set a breakpoint there, or on a stack frame in the
+stack buffer to select that frame.
 
   This mode requires telling GDB that its ``screen size'' is
 unlimited, so it sets the height and width accordingly.  For correct
--- a/doc/emacs/calendar.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/calendar.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -42,7 +42,7 @@
 * Lunar Phases::        Displaying phases of the moon.
 * Other Calendars::     Converting dates to other calendar systems.
 * Diary::               Displaying events from your diary.
-* Appointments::	Reminders when it's time to do something.
+* Appointments::        Reminders when it's time to do something.
 * Importing Diary::     Converting diary events to/from other formats.
 * Daylight Saving::     How to specify when daylight saving time is active.
 * Time Intervals::      Keeping track of time intervals.
@@ -674,11 +674,11 @@
 and from several other calendars.
 
 @menu
-* Calendar Systems::	   The calendars Emacs understands
-			     (aside from Gregorian).
-* To Other Calendar::	   Converting the selected date to various calendars.
-* From Other Calendar::	   Moving to a date specified in another calendar.
-* Mayan Calendar::	   Moving to a date specified in a Mayan calendar.
+* Calendar Systems::       The calendars Emacs understands
+                             (aside from Gregorian).
+* To Other Calendar::      Converting the selected date to various calendars.
+* From Other Calendar::    Moving to a date specified in another calendar.
+* Mayan Calendar::         Moving to a date specified in a Mayan calendar.
 @end menu
 
 @node Calendar Systems
@@ -1040,8 +1040,8 @@
 @menu
 * Displaying the Diary::   Viewing diary entries and associated calendar dates.
 * Format of Diary File::   Entering events in your diary.
-* Date Formats::	   Various ways you can specify dates.
-* Adding to Diary::	   Commands to create diary entries.
+* Date Formats::           Various ways you can specify dates.
+* Adding to Diary::        Commands to create diary entries.
 * Special Diary Entries::  Anniversaries, blocks of dates, cyclic entries, etc.
 @end menu
 
@@ -1082,7 +1082,7 @@
 shown either in the buffer or in the mode line, depending on the display
 method you choose
 @iftex
-(@pxref{Diary Display,, emacs-xtra}).
+(@pxref{Diary Display,,, emacs-xtra, Specialized Emacs Features}).
 @end iftex
 @ifnottex
 (@pxref{Diary Display}).
@@ -1186,7 +1186,7 @@
 This entry will have a different appearance if you use the simple diary
 display
 @iftex
-(@pxref{Diary Display,, emacs-xtra}).
+(@pxref{Diary Display,,, emacs-xtra, Specialized Emacs Features}).
 @end iftex
 @ifnottex
 (@pxref{Diary Display}).
--- a/doc/emacs/custom.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/custom.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Customization, Quitting, Amusements, Top
 @chapter Customization
@@ -23,18 +24,18 @@
 @end ifnottex
 
 @menu
-* Minor Modes::		Each minor mode is a feature you can turn on
-			  independently of any others.
+* Minor Modes::         Each minor mode is a feature you can turn on
+                          independently of any others.
 * Easy Customization::  Convenient way to browse and change settings.
-* Variables::		Many Emacs commands examine Emacs variables
-			  to decide what to do; by setting variables,
-			  you can control their functioning.
-* Key Bindings::	The keymaps say what command each key runs.
-			  By changing them, you can "redefine keys".
-* Syntax::		The syntax table controls how words and
-			  expressions are parsed.
-* Init File::		How to write common customizations in the
-			  @file{.emacs} file.
+* Variables::           Many Emacs commands examine Emacs variables
+                          to decide what to do; by setting variables,
+                          you can control their functioning.
+* Key Bindings::        The keymaps say what command each key runs.
+                          By changing them, you can "redefine keys".
+* Syntax::              The syntax table controls how words and
+                          expressions are parsed.
+* Init File::           How to write common customizations in the
+                          @file{.emacs} file.
 @end menu
 
 @node Minor Modes
@@ -793,10 +794,10 @@
 expects (@pxref{Examining}).
 
 @menu
-* Examining::	        Examining or setting one variable's value.
-* Hooks::	        Hook variables let you specify programs for parts
-		          of Emacs to run on particular occasions.
-* Locals::	        Per-buffer values of variables.
+* Examining::           Examining or setting one variable's value.
+* Hooks::               Hook variables let you specify programs for parts
+                          of Emacs to run on particular occasions.
+* Locals::              Per-buffer values of variables.
 * File Variables::      How files can specify variable values.
 * Directory Variables:: How variable values can be specified by directory.
 @end menu
@@ -942,12 +943,12 @@
 @end group
 @group
     (c-cleanup-list . (scope-operator
-		       empty-defun-braces
-		       defun-close-semi))
+                       empty-defun-braces
+                       defun-close-semi))
 @end group
 @group
     (c-offsets-alist . ((arglist-close . c-lineup-arglist)
-			(substatement-open . 0)))))
+                        (substatement-open . 0)))))
 @end group
 
 @group
@@ -1086,11 +1087,22 @@
 pair with a colon and semicolon as shown above.  The special
 variable/value pair @code{mode: @var{modename};}, if present,
 specifies a major or minor mode; if you use this to specify a major
-mode, it should come first in the line.  The @var{value}s are are used
+mode, it should come first in the line.  The @var{value}s are used
 literally, and not evaluated.
 
-  Here is an example that specifies Lisp mode and sets two variables
-with numeric values:
+@findex add-file-local-variable-prop-line
+@findex delete-file-local-variable-prop-line
+@findex copy-dir-locals-to-file-locals-prop-line
+  You can use the command @code{add-file-local-variable-prop-line}
+instead of adding entries by hand.  It prompts for a variable
+and value, and adds them to the first line in the appropriate way.
+The command @code{delete-file-local-variable-prop-line} deletes a
+variable from the line.  The command
+@code{copy-dir-locals-to-file-locals-prop-line} copies directory-local
+variables (@pxref{Directory Variables}) to the first line.
+
+  Here is an example first line that specifies Lisp mode and sets two
+variables with numeric values:
 
 @smallexample
 ;; -*- mode: Lisp; fill-column: 75; comment-column: 50; -*-
@@ -1144,6 +1156,17 @@
 example above is for the C programming language, where comment lines
 start with @samp{/*} and end with @samp{*/}.
 
+@findex add-file-local-variable
+@findex delete-file-local-variable
+@findex copy-dir-locals-to-file-locals
+  You can construct the local variables list yourself, or use the
+command @code{add-file-local-variable}.  This prompts for a variable
+and value, and adds them to the list.  If necessary, it also adds the
+start and end markers.  The command @code{delete-file-local-variable}
+deletes a variable from the list.  The command
+@code{copy-dir-locals-to-file-locals} copies directory-local variables
+(@pxref{Directory Variables}) to the list.
+
   As with the @samp{-*-} line, the variables in a local variables list
 are used literally, and are not evaluated first.  If you want to split
 a long string across multiple lines of the file, you can use
@@ -1323,6 +1346,16 @@
 subdirectory of the directory where you put the @file{.dir-locals.el}
 file.
 
+@findex add-dir-local-variable
+@findex delete-dir-local-variable
+@findex copy-file-locals-to-dir-locals
+  You can edit the @file{.dir-locals.el} file by hand, or use the
+command @code{add-dir-local-variable}.  This prompts for a mode (or
+subdirectory), variable and value, and adds an entry to the file.
+The command @code{delete-dir-local-variable} deletes an entry.  The
+command @code{copy-file-locals-to-dir-locals} copies file local
+variables (@pxref{File Variables}) to the @file{.dir-locals.el} file.
+
 @findex dir-locals-set-class-variables
 @findex dir-locals-set-directory-class
   Another method of specifying directory-local variables is to explicitly
@@ -2142,10 +2175,10 @@
 @end ifnottex
 
 @menu
-* Init Syntax::	        Syntax of constants in Emacs Lisp.
+* Init Syntax::         Syntax of constants in Emacs Lisp.
 * Init Examples::       How to do some things with an init file.
 * Terminal Init::       Each terminal type can have an init file.
-* Find Init::	        How Emacs finds the init file.
+* Find Init::           How Emacs finds the init file.
 * Init Non-ASCII::      Using non-@acronym{ASCII} characters in an init file.
 @end menu
 
--- a/doc/emacs/dired.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/dired.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Dired, Calendar/Diary, Rmail, Top
 @chapter Dired, the Directory Editor
@@ -35,20 +36,20 @@
 * Deletion: Dired Deletion.   Deleting files with Dired.
 * Flagging Many Files::       Flagging files based on their names.
 * Visit: Dired Visiting.      Other file operations through Dired.
-* Marks vs Flags::	      Flagging for deletion vs marking.
-* Operating on Files::	      How to copy, rename, print, compress, etc.
-			        either one file or several files.
+* Marks vs Flags::            Flagging for deletion vs marking.
+* Operating on Files::        How to copy, rename, print, compress, etc.
+                                either one file or several files.
 * Shell Commands in Dired::   Running a shell command on the marked files.
 * Transforming File Names::   Using patterns to rename multiple files.
-* Comparison in Dired::	      Running `diff' by way of Dired.
+* Comparison in Dired::       Running `diff' by way of Dired.
 * Subdirectories in Dired::   Adding subdirectories to the Dired buffer.
 @ifnottex
 * Subdir Switches::           Subdirectory switches in Dired.
 @end ifnottex
-* Subdirectory Motion::	      Moving across subdirectories, and up and down.
+* Subdirectory Motion::       Moving across subdirectories, and up and down.
 * Hiding Subdirectories::     Making subdirectories visible or invisible.
 * Updating: Dired Updating.   Discarding lines for files of no interest.
-* Find: Dired and Find.	      Using `find' to choose the files for Dired.
+* Find: Dired and Find.       Using `find' to choose the files for Dired.
 * Wdired::                    Operating on files by editing the Dired buffer.
 * Image-Dired::               Viewing image thumbnails in Dired.
 * Misc: Misc Dired Features.  Various other features.
@@ -1339,6 +1340,11 @@
 it added to the kill ring, so you can use it to display the list of
 currently marked files in the echo area.
 
+@cindex Dired and version control
+  If the directory you are visiting is under version control
+(@pxref{Version Control}), then the normal VC diff and log commands
+will operate on the selected files.
+
 @findex dired-compare-directories
   The command @kbd{M-x dired-compare-directories} is used to compare
 the current Dired buffer with another directory.  It marks all the files
--- a/doc/emacs/display.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/display.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -13,11 +13,11 @@
 want to see, and how to display it.
 
 @menu
-* Scrolling::	           Commands to move text up and down in a window.
+* Scrolling::              Commands to move text up and down in a window.
 * Auto Scrolling::         Redisplay scrolls text automatically when needed.
 * Horizontal Scrolling::   Moving text left and right in a window.
 * Follow Mode::            Follow mode lets two windows scroll as one.
-* Faces::	           How to change the display style using faces.
+* Faces::                  How to change the display style using faces.
 * Standard Faces::         Emacs' predefined faces.
 * Temporary Face Changes:: Commands to temporarily modify the default text face
 * Font Lock::              Minor mode for syntactic highlighting using faces.
--- a/doc/emacs/emacs.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/emacs.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -5,7 +5,7 @@
 
 @c The edition number appears in several places in this file
 @set EDITION   Sixteenth
-@set EMACSVER  23.1.95
+@set EMACSVER  23.2.50
 
 @copying
 This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
@@ -33,7 +33,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs: (emacs).	The extensible self-documenting text editor.
+* Emacs: (emacs).       The extensible self-documenting text editor.
 @end direntry
 
 @c in general, keep the following line commented out, unless doing a
@@ -134,13 +134,13 @@
 @end ignore
 
 @menu
-* Distrib::	        How to get the latest Emacs distribution.
-* Intro::	        An introduction to Emacs concepts.
+* Distrib::             How to get the latest Emacs distribution.
+* Intro::               An introduction to Emacs concepts.
 @c Note that in the printed manual, the glossary and indices come last.
-* Glossary::	        Terms used in this manual.
+* Glossary::            Terms used in this manual.
 
 Indexes (each index contains a large menu)
-* Key Index::	        An item for each standard Emacs key sequence.
+* Key Index::           An item for each standard Emacs key sequence.
 * Option Index::        An item for every command-line option.
 * Command Index::       An item for each command name.
 * Variable Index::      An item for each documented variable.
@@ -149,100 +149,100 @@
 * Acknowledgments::     Major contributors to GNU Emacs.
 
 Important General Concepts
-* Screen::	        How to interpret what you see on the screen.
-* User Input::	        Kinds of input events (characters, buttons,
+* Screen::              How to interpret what you see on the screen.
+* User Input::          Kinds of input events (characters, buttons,
                           function keys).
-* Keys::	        Key sequences: what you type to request one
+* Keys::                Key sequences: what you type to request one
                           editing action.
-* Commands::	        Named functions run by key sequences to do editing.
+* Commands::            Named functions run by key sequences to do editing.
 * Entering Emacs::      Starting Emacs from the shell.
-* Exiting::	        Stopping or killing Emacs.
+* Exiting::             Stopping or killing Emacs.
 
 Fundamental Editing Commands
-* Basic::	        The most basic editing commands.
-* Minibuffer::	        Entering arguments that are prompted for.
-* M-x::		        Invoking commands by their names.
-* Help::	        Commands for asking Emacs about its commands.
+* Basic::               The most basic editing commands.
+* Minibuffer::          Entering arguments that are prompted for.
+* M-x::                 Invoking commands by their names.
+* Help::                Commands for asking Emacs about its commands.
 
 Important Text-Changing Commands
-* Mark::	        The mark: how to delimit a ``region'' of text.
-* Killing::	        Killing (cutting) text.
-* Yanking::	        Recovering killed text.  Moving text. (Pasting.)
+* Mark::                The mark: how to delimit a ``region'' of text.
+* Killing::             Killing (cutting) text.
+* Yanking::             Recovering killed text.  Moving text. (Pasting.)
 * Accumulating Text::   Other ways of copying text.
-* Rectangles::	        Operating on the text inside a rectangle on the screen.
+* Rectangles::          Operating on the text inside a rectangle on the screen.
 * CUA Bindings::        Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
                           and paste, with enhanced rectangle support.
-* Registers::	        Saving a text string or a location in the buffer.
-* Display::	        Controlling what text is displayed.
-* Search::	        Finding or replacing occurrences of a string.
-* Fixit::	        Commands especially useful for fixing typos.
-* Keyboard Macros::	A keyboard macro records a sequence of
-			  keystrokes to be replayed with a single command.
+* Registers::           Saving a text string or a location in the buffer.
+* Display::             Controlling what text is displayed.
+* Search::              Finding or replacing occurrences of a string.
+* Fixit::               Commands especially useful for fixing typos.
+* Keyboard Macros::     A keyboard macro records a sequence of
+                          keystrokes to be replayed with a single command.
 
 Major Structures of Emacs
-* Files::	        All about handling files.
-* Buffers::	        Multiple buffers; editing several files at once.
-* Windows::	        Viewing two pieces of text at once.
-* Frames::	        Running the same Emacs session in multiple X windows.
+* Files::               All about handling files.
+* Buffers::             Multiple buffers; editing several files at once.
+* Windows::             Viewing two pieces of text at once.
+* Frames::              Running the same Emacs session in multiple X windows.
 * International::       Using non-@acronym{ASCII} character sets.
 
 Advanced Features
-* Major Modes::	        Text mode vs. Lisp mode vs. C mode...
-* Indentation::	        Editing the white space at the beginnings of lines.
-* Text::	        Commands and modes for editing English.
-* Programs::	        Commands and modes for editing programs.
-* Building::	        Compiling, running and debugging programs.
+* Major Modes::         Text mode vs. Lisp mode vs. C mode...
+* Indentation::         Editing the white space at the beginnings of lines.
+* Text::                Commands and modes for editing English.
+* Programs::            Commands and modes for editing programs.
+* Building::            Compiling, running and debugging programs.
 * Maintaining::         Features for maintaining large programs.
-* Abbrevs::	        How to define text abbreviations to reduce
-			  the number of characters you must type.
+* Abbrevs::             How to define text abbreviations to reduce
+                          the number of characters you must type.
 @c AFAICS, the tex stuff generates its own index and does not use this one.
 @ifnottex
 * Picture Mode::        Editing pictures made up of characters using
                           the quarter-plane screen model.
 @end ifnottex
 * Sending Mail::        Sending mail in Emacs.
-* Rmail::	        Reading mail in Emacs.
-* Dired::	        You can ``edit'' a directory to manage files in it.
+* Rmail::               Reading mail in Emacs.
+* Dired::               You can ``edit'' a directory to manage files in it.
 * Calendar/Diary::      The calendar and diary facilities.
 * Document View::       Viewing PDF, PS and DVI files.
-* Gnus::	        How to read netnews with Emacs.
-* Shell::	        Executing shell commands from Emacs.
+* Gnus::                How to read netnews with Emacs.
+* Shell::               Executing shell commands from Emacs.
 * Emacs Server::        Using Emacs as an editing server for @code{mail}, etc.
-* Printing::	        Printing hardcopies of buffers or regions.
-* Sorting::	        Sorting lines, paragraphs or pages within Emacs.
-* Narrowing::	        Restricting display and editing to a portion
-		          of the buffer.
-* Two-Column::	        Splitting apart columns to edit them
-		          in side-by-side windows.
+* Printing::            Printing hardcopies of buffers or regions.
+* Sorting::             Sorting lines, paragraphs or pages within Emacs.
+* Narrowing::           Restricting display and editing to a portion
+                          of the buffer.
+* Two-Column::          Splitting apart columns to edit them
+                          in side-by-side windows.
 * Editing Binary Files::Using Hexl mode to edit binary files.
 * Saving Emacs Sessions:: Saving Emacs state from one session to the next.
 * Recursive Edit::      A command can allow you to do editing
-			  "within the command".  This is called a
-			  "recursive editing level".
-* Emulation::	        Emulating some other editors with Emacs.
+                          "within the command".  This is called a
+                          "recursive editing level".
+* Emulation::           Emulating some other editors with Emacs.
 * Hyperlinking::        Following links in buffers.
 * Dissociated Press::   Dissociating text for fun.
-* Amusements::	        Various games and hacks.
+* Amusements::          Various games and hacks.
 * Customization::       Modifying the behavior of Emacs.
 
 Recovery from Problems
-* Quitting::	        Quitting and aborting.
-* Lossage::	        What to do if Emacs is hung or malfunctioning.
-* Bugs::	        How and when to report a bug.
+* Quitting::            Quitting and aborting.
+* Lossage::             What to do if Emacs is hung or malfunctioning.
+* Bugs::                How and when to report a bug.
 * Contributing::        How to contribute improvements to Emacs.
-* Service::	        How to get help for your own Emacs needs.
+* Service::             How to get help for your own Emacs needs.
 
 Appendices
-* Copying::	        The GNU General Public License gives you permission
-			  to redistribute GNU Emacs on certain terms;
-			  it also explains that there is no warranty.
+* Copying::             The GNU General Public License gives you permission
+                          to redistribute GNU Emacs on certain terms;
+                          it also explains that there is no warranty.
 * GNU Free Documentation License:: The license for this documentation.
 * Emacs Invocation::    Hairy startup options.
 * X Resources::         X resources for customizing Emacs.
-* Antinews::	        Information about Emacs version 22.
+* Antinews::            Information about Emacs version 22.
 * Mac OS / GNUstep::    Using Emacs under Mac OS and GNUstep.
 * Microsoft Windows::   Using Emacs on Microsoft Windows and MS-DOS.
-* Manifesto::	        What's GNU?  Gnu's Not Unix!
+* Manifesto::           What's GNU?  Gnu's Not Unix!
 
 @c Do NOT modify the following 3 lines!  They must have this form to
 @c be correctly identified by `texinfo-multiple-files-update'.  In
@@ -258,9 +258,9 @@
 
 The Organization of the Screen
 
-* Point::	        The place in the text where editing commands operate.
+* Point::               The place in the text where editing commands operate.
 * Echo Area::           Short messages appear at the bottom of the screen.
-* Mode Line::	        Interpreting the mode line.
+* Mode Line::           Interpreting the mode line.
 * Menu Bar::            How to use the menu bar.
 
 Basic Editing Commands
@@ -268,23 +268,23 @@
 * Inserting Text::      Inserting text by simply typing it.
 * Moving Point::        Moving the cursor to the place where you want to
                         change something.
-* Erasing::	        Deleting and killing text.
-* Basic Undo::	        Undoing recent changes in the text.
+* Erasing::             Deleting and killing text.
+* Basic Undo::          Undoing recent changes in the text.
 * Basic Files::         Visiting, creating, and saving files.
 * Basic Help::          Asking what a character does.
-* Blank Lines::	        Making and deleting blank lines.
+* Blank Lines::         Making and deleting blank lines.
 * Continuation Lines::  How Emacs displays lines too wide for the screen.
 * Position Info::       What page, line, row, or column is point on?
-* Arguments::	        Numeric arguments for repeating a command N times.
+* Arguments::           Numeric arguments for repeating a command N times.
 * Repeating::           Repeating the previous command quickly.
 
 The Minibuffer
 
 * Minibuffer File::     Entering file names with the minibuffer.
 * Minibuffer Edit::     How to edit in the minibuffer.
-* Completion::		An abbreviation facility for minibuffer input.
-* Minibuffer History::	Reusing recent minibuffer arguments.
-* Repetition::		Re-executing commands that used the minibuffer.
+* Completion::          An abbreviation facility for minibuffer input.
+* Minibuffer History::  Reusing recent minibuffer arguments.
+* Repetition::          Re-executing commands that used the minibuffer.
 * Passwords::           Entering passwords in the echo area.
 
 Completion
@@ -296,59 +296,59 @@
 
 Help
 
-* Help Summary::	Brief list of all Help commands.
-* Key Help::		Asking what a key does in Emacs.
-* Name Help::		Asking about a command, variable or function name.
-* Apropos::		Asking what pertains to a given topic.
+* Help Summary::        Brief list of all Help commands.
+* Key Help::            Asking what a key does in Emacs.
+* Name Help::           Asking about a command, variable or function name.
+* Apropos::             Asking what pertains to a given topic.
 * Help Mode::           Special features of Help mode and Help buffers.
-* Library Keywords::	Finding Lisp libraries by keywords (topics).
+* Library Keywords::    Finding Lisp libraries by keywords (topics).
 * Language Help::       Help relating to international language support.
-* Misc Help::		Other help commands.
+* Misc Help::           Other help commands.
 * Help Files::          Commands to display pre-written help files.
 * Help Echo::           Help on active text and tooltips (`balloon help').
 
 The Mark and the Region
 
-* Setting Mark::	Commands to set the mark.
-* Marking Objects::	Commands to put region around textual units.
-* Using Region::	Summary of ways to operate on contents of the region.
-* Mark Ring::   	Previous mark positions saved so you can go back there.
+* Setting Mark::        Commands to set the mark.
+* Marking Objects::     Commands to put region around textual units.
+* Using Region::        Summary of ways to operate on contents of the region.
+* Mark Ring::           Previous mark positions saved so you can go back there.
 * Global Mark Ring::    Previous mark positions in various buffers.
 * Shift Selection::     Using shifted cursor motion keys.
-* Persistent Mark::	Keeping the mark active all the time.
+* Persistent Mark::     Keeping the mark active all the time.
 
 Killing and Moving Text
 
-* Deletion::		Commands for deleting small amounts of text and
-			  blank areas.
-* Killing by Lines::	How to kill entire lines of text at one time.
+* Deletion::            Commands for deleting small amounts of text and
+                          blank areas.
+* Killing by Lines::    How to kill entire lines of text at one time.
 * Other Kill Commands:: Commands to kill large regions of text and
-			  syntactic units such as words and sentences.
+                          syntactic units such as words and sentences.
 * Kill Options::        Options that affect killing.
 
 Yanking
 
-* Kill Ring::		Where killed text is stored.  Basic yanking.
-* Appending Kills::	Several kills in a row all yank together.
-* Earlier Kills::	Yanking something killed some time ago.
+* Kill Ring::           Where killed text is stored.  Basic yanking.
+* Appending Kills::     Several kills in a row all yank together.
+* Earlier Kills::       Yanking something killed some time ago.
 
 Registers
 
-* RegPos::      	Saving positions in registers.
-* RegText::     	Saving text in registers.
-* RegRect::     	Saving rectangles in registers.
+* RegPos::              Saving positions in registers.
+* RegText::             Saving text in registers.
+* RegRect::             Saving rectangles in registers.
 * RegConfig::           Saving window configurations in registers.
 * RegNumbers::          Numbers in registers.
-* RegFiles::    	File names in registers.
+* RegFiles::            File names in registers.
 * Bookmarks::           Bookmarks are like registers, but persistent.
 
 Controlling the Display
 
-* Scrolling::	           Commands to move text up and down in a window.
+* Scrolling::              Commands to move text up and down in a window.
 * Auto Scrolling::         Redisplay scrolls text automatically when needed.
 * Horizontal Scrolling::   Moving text left and right in a window.
 * Follow Mode::            Follow mode lets two windows scroll as one.
-* Faces::	           How to change the display style using faces.
+* Faces::                  How to change the display style using faces.
 * Standard Faces::         Emacs' predefined faces.
 * Temporary Face Changes:: Commands to temporarily modify the default text face
 * Font Lock::              Minor mode for syntactic highlighting using faces.
@@ -367,15 +367,15 @@
 
 Searching and Replacement
 
-* Incremental Search::	   Search happens as you type the string.
+* Incremental Search::     Search happens as you type the string.
 * Nonincremental Search::  Specify entire string and then search.
-* Word Search::		   Search for sequence of words.
-* Regexp Search::	   Search for match for a regexp.
-* Regexps::		   Syntax of regular expressions.
+* Word Search::            Search for sequence of words.
+* Regexp Search::          Search for match for a regexp.
+* Regexps::                Syntax of regular expressions.
 * Regexp Backslash::       Regular expression constructs starting with `\'.
 * Regexp Example::         A complex regular expression explained.
-* Search Case::		   To ignore case while searching, or not.
-* Replace::		   Search, and replace some or all matches.
+* Search Case::            To ignore case while searching, or not.
+* Replace::                Search, and replace some or all matches.
 * Other Repeating Search:: Operating on all matches for some regexp.
 
 Incremental Search
@@ -393,16 +393,16 @@
 Replacement Commands
 
 * Unconditional Replace::  Replacing all matches for a string.
-* Regexp Replace::	   Replacing all matches for a regexp.
+* Regexp Replace::         Replacing all matches for a regexp.
 * Replacement and Case::   How replacements preserve case of letters.
-* Query Replace::	   How to use querying.
+* Query Replace::          How to use querying.
 
 Commands for Fixing Typos
 
 * Undo::                The Undo commands.
-* Transpose::	        Exchanging two characters, words, lines, lists...
+* Transpose::           Exchanging two characters, words, lines, lists...
 * Fixing Case::         Correcting case of last word entered.
-* Spelling::	        Apply spelling checker to a word, or a whole file.
+* Spelling::            Apply spelling checker to a word, or a whole file.
 
 Keyboard Macros
 
@@ -448,9 +448,9 @@
 
 Backup Files
 
-* Backup Names::	How backup files are named.
-* Backup Deletion::	Emacs deletes excess numbered backups.
-* Backup Copying::	Backups can be made by copying or renaming.
+* Backup Names::        How backup files are named.
+* Backup Deletion::     Emacs deletes excess numbered backups.
+* Backup Copying::      Backups can be made by copying or renaming.
 
 Auto Reverting Non-File Buffers
 
@@ -463,16 +463,16 @@
 * Auto Save Files::     The file where auto-saved changes are
                           actually made until you save the file.
 * Auto Save Control::   Controlling when and how often to auto-save.
-* Recover::	        Recovering text from auto-save files.
+* Recover::             Recovering text from auto-save files.
 
 Using Multiple Buffers
 
 * Select Buffer::       Creating a new buffer or reselecting an old one.
 * List Buffers::        Getting a list of buffers that exist.
-* Misc Buffer::	        Renaming; changing read-onlyness; copying text.
-* Kill Buffer::	        Killing buffers you no longer need.
+* Misc Buffer::         Renaming; changing read-onlyness; copying text.
+* Kill Buffer::         Killing buffers you no longer need.
 * Several Buffers::     How to go through the list of all buffers
-			  and operate variously on several of them.
+                          and operate variously on several of them.
 * Indirect Buffers::    An indirect buffer shares the text of another buffer.
 * Buffer Convenience::  Convenience and customization features for
                           buffer handling.
@@ -507,10 +507,10 @@
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
 * Frame Parameters::    Changing the colors and other modes of frames.
-* Scroll Bars::	        How to enable and disable scroll bars; how to use them.
+* Scroll Bars::         How to enable and disable scroll bars; how to use them.
 * Wheeled Mice::        Using mouse wheels for scrolling.
 * Drag and Drop::       Using drag and drop to open files and insert text.
-* Menu Bars::	        Enabling and disabling the menu bar.
+* Menu Bars::           Enabling and disabling the menu bar.
 * Tool Bars::           Enabling and disabling the tool bar.
 * Dialog Boxes::        Controlling use of dialog boxes.
 * Tooltips::            Displaying information at the current mouse position.
@@ -559,31 +559,31 @@
 Indentation
 
 * Indentation Commands::  Various commands and techniques for indentation.
-* Tab Stops::		  You can set arbitrary "tab stops" and then
-			    indent to the next tab stop when you want to.
-* Just Spaces::		  You can request indentation using just spaces.
+* Tab Stops::             You can set arbitrary "tab stops" and then
+                            indent to the next tab stop when you want to.
+* Just Spaces::           You can request indentation using just spaces.
 
 Commands for Human Languages
 
-* Words::	        Moving over and killing words.
-* Sentences::	        Moving over and killing sentences.
-* Paragraphs::	        Moving over paragraphs.
-* Pages::	        Moving over pages.
-* Filling::	        Filling or justifying text.
-* Case::	        Changing the case of text.
-* Text Mode::	        The major modes for editing text files.
+* Words::               Moving over and killing words.
+* Sentences::           Moving over and killing sentences.
+* Paragraphs::          Moving over paragraphs.
+* Pages::               Moving over pages.
+* Filling::             Filling or justifying text.
+* Case::                Changing the case of text.
+* Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
-* TeX Mode::	        Editing input to the formatter TeX.
+* TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
-* Nroff Mode::	        Editing input to the formatter nroff.
+* Nroff Mode::          Editing input to the formatter nroff.
 * Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
 * Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
 
 Filling Text
 
-* Auto Fill::	        Auto Fill mode breaks long lines automatically.
+* Auto Fill::           Auto Fill mode breaks long lines automatically.
 * Fill Commands::       Commands to refill paragraphs and center lines.
-* Fill Prefix::	        Filling paragraphs that are indented
+* Fill Prefix::         Filling paragraphs that are indented
                           or in a comment, etc.
 * Adaptive Fill::       How Emacs can determine the fill prefix automatically.
 * Refill::              Keeping paragraphs filled.
@@ -592,7 +592,7 @@
 Outline Mode
 
 * Outline Format::      What the text of an outline looks like.
-* Outline Motion::	Special commands for moving through
+* Outline Motion::      Special commands for moving through
                           outlines.
 * Outline Visibility::  Commands to control what is visible.
 * Outline Views::       Outlines and multiple views.
@@ -644,11 +644,12 @@
                           of a program.
 * Program Indent::      Adjusting indentation to show the nesting.
 * Parentheses::         Commands that operate on parentheses.
-* Comments::	        Inserting, killing, and aligning comments.
+* Comments::            Inserting, killing, and aligning comments.
 * Documentation::       Getting documentation of functions you plan to call.
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
 * Glasses::             Making identifiersLikeThis more readable.
+* Semantic::            Suite of editing tools based on source code parsing.
 * Misc for Programs::   Other Emacs features useful for editing programs.
 * C Modes::             Special commands of C, C++, Objective-C,
                           Java, and Pike modes.
@@ -665,18 +666,18 @@
 
 Indentation for Programs
 
-* Basic Indent::	Indenting a single line.
+* Basic Indent::        Indenting a single line.
 * Multi-line Indent::   Commands to reindent many lines at once.
-* Lisp Indent::		Specifying how each Lisp function should be indented.
-* C Indent::		Extra features for indenting C and related modes.
-* Custom C Indent::	Controlling indentation style for C and related modes.
+* Lisp Indent::         Specifying how each Lisp function should be indented.
+* C Indent::            Extra features for indenting C and related modes.
+* Custom C Indent::     Controlling indentation style for C and related modes.
 
 Commands for Editing with Parentheses
 
 * Expressions::         Expressions with balanced parentheses.
 * Moving by Parens::    Commands for moving up, down and across
                           in the structure of parentheses.
-* Matching::	        Insertion of a close-delimiter flashes matching open.
+* Matching::            Insertion of a close-delimiter flashes matching open.
 
 Manipulating Comments
 
@@ -701,12 +702,12 @@
 
 Fortran Mode
 
-* Fortran Motion::	Moving point by statements or subprograms.
-* Fortran Indent::	Indentation commands for Fortran.
-* Fortran Comments::	Inserting and aligning comments.
-* Fortran Autofill::	Auto fill support for Fortran.
-* Fortran Columns::	Measuring columns for valid Fortran.
-* Fortran Abbrev::	Built-in abbrevs for Fortran keywords.
+* Fortran Motion::      Moving point by statements or subprograms.
+* Fortran Indent::      Indentation commands for Fortran.
+* Fortran Comments::    Inserting and aligning comments.
+* Fortran Autofill::    Auto fill support for Fortran.
+* Fortran Columns::     Measuring columns for valid Fortran.
+* Fortran Abbrev::      Built-in abbrevs for Fortran keywords.
 
 Fortran Indentation
 
@@ -718,28 +719,28 @@
 
 Compiling and Testing Programs
 
-* Compilation::		Compiling programs in languages other
-			  than Lisp (C, Pascal, etc.).
+* Compilation::         Compiling programs in languages other
+                          than Lisp (C, Pascal, etc.).
 * Compilation Mode::    The mode for visiting compiler errors.
 * Compilation Shell::   Customizing your shell properly
                           for use in the compilation buffer.
 * Grep Searching::      Searching with grep.
 * Flymake::             Finding syntax errors on the fly.
-* Debuggers::		Running symbolic debuggers for non-Lisp programs.
-* Executing Lisp::	Various modes for editing Lisp programs,
-			  with different facilities for running
-			  the Lisp programs.
+* Debuggers::           Running symbolic debuggers for non-Lisp programs.
+* Executing Lisp::      Various modes for editing Lisp programs,
+                          with different facilities for running
+                          the Lisp programs.
 * Lisp Libraries::      Creating Lisp programs to run in Emacs.
-* Lisp Eval::		Executing a single Lisp expression in Emacs.
+* Lisp Eval::           Executing a single Lisp expression in Emacs.
 * Lisp Interaction::    Executing Lisp in an Emacs buffer.
-* External Lisp::	Communicating through Emacs with a separate Lisp.
+* External Lisp::       Communicating through Emacs with a separate Lisp.
 
 Running Debuggers Under Emacs
 
-* Starting GUD::	How to start a debugger subprocess.
-* Debugger Operation::	Connection between the debugger and source buffers.
-* Commands of GUD::	Key bindings for common commands.
-* GUD Customization::	Defining your own commands for GUD.
+* Starting GUD::        How to start a debugger subprocess.
+* Debugger Operation::  Connection between the debugger and source buffers.
+* Commands of GUD::     Key bindings for common commands.
+* GUD Customization::   Defining your own commands for GUD.
 * GDB Graphical Interface::  An enhanced mode that uses GDB features to
                           implement a graphical debugging environment through
                           Emacs.
@@ -758,9 +759,10 @@
 Maintaining Large Programs
 
 * Version Control::     Using version control systems.
-* Change Log::	        Maintaining a change history for your program.
-* Tags::	        Go directly to any function in your program in one
-			  command.  Tags remembers which file it is in.
+* Change Log::          Maintaining a change history for your program.
+* Tags::                Go directly to any function in your program in one
+                          command.  Tags remembers which file it is in.
+* EDE::                 An integrated development environment for Emacs.
 * Emerge::              A convenient way of merging two versions of a program.
 
 Version Control
@@ -840,25 +842,25 @@
 
 Tags Tables
 
-* Tag Syntax::		Tag syntax for various types of code and text files.
-* Create Tags Table::	Creating a tags table with @code{etags}.
+* Tag Syntax::          Tag syntax for various types of code and text files.
+* Create Tags Table::   Creating a tags table with @code{etags}.
 * Etags Regexps::       Create arbitrary tags using regular expressions.
-* Select Tags Table::	How to visit a tags table.
-* Find Tag::		Commands to find the definition of a specific tag.
-* Tags Search::		Using a tags table for searching and replacing.
-* List Tags::		Listing and finding tags defined in a file.
+* Select Tags Table::   How to visit a tags table.
+* Find Tag::            Commands to find the definition of a specific tag.
+* Tags Search::         Using a tags table for searching and replacing.
+* List Tags::           Listing and finding tags defined in a file.
 
 Merging Files with Emerge
 
-* Overview of Emerge::	How to start Emerge.  Basic concepts.
-* Submodes of Emerge::	Fast mode vs. Edit mode.
-			  Skip Prefers mode and Auto Advance mode.
-* State of Difference::	You do the merge by specifying state A or B
-			  for each difference.
-* Merge Commands::	Commands for selecting a difference,
-			  changing states of differences, etc.
-* Exiting Emerge::	What to do when you've finished the merge.
-* Combining in Emerge::	    How to keep both alternatives for a difference.
+* Overview of Emerge::  How to start Emerge.  Basic concepts.
+* Submodes of Emerge::  Fast mode vs. Edit mode.
+                          Skip Prefers mode and Auto Advance mode.
+* State of Difference:: You do the merge by specifying state A or B
+                          for each difference.
+* Merge Commands::      Commands for selecting a difference,
+                          changing states of differences, etc.
+* Exiting Emerge::      What to do when you've finished the merge.
+* Combining in Emerge::     How to keep both alternatives for a difference.
 * Fine Points of Emerge::   Miscellaneous issues.
 
 Abbrevs
@@ -883,10 +885,10 @@
 
 Sending Mail
 
-* Mail Format:: 	Format of the mail being composed.
+* Mail Format::         Format of the mail being composed.
 * Mail Headers::        Details of some standard mail header fields.
 * Mail Aliases::        Abbreviating and grouping mail addresses.
-* Mail Commands::   	Special commands for editing mail being composed.
+* Mail Commands::       Special commands for editing mail being composed.
 * Mail Signature::      Adding a signature to every message.
 * Mail Amusements::     Distracting the NSA; adding fortune messages.
 * Mail Methods::        Using alternative mail-composition methods.
@@ -924,28 +926,28 @@
 
 Summaries
 
-* Rmail Make Summary::	     Making various sorts of summaries.
-* Rmail Summary Edit::	     Manipulating messages from the summary.
+* Rmail Make Summary::       Making various sorts of summaries.
+* Rmail Summary Edit::       Manipulating messages from the summary.
 
 Dired, the Directory Editor
 
-* Dired Enter:: 	     How to invoke Dired.
+* Dired Enter::              How to invoke Dired.
 * Dired Navigation::         Special motion commands in the Dired buffer.
 * Dired Deletion::           Deleting files with Dired.
 * Flagging Many Files::      Flagging files based on their names.
 * Dired Visiting::           Other file operations through Dired.
-* Marks vs Flags::	     Flagging for deletion vs marking.
-* Operating on Files::	     How to copy, rename, print, compress, etc.
-			       either one file or several files.
+* Marks vs Flags::           Flagging for deletion vs marking.
+* Operating on Files::       How to copy, rename, print, compress, etc.
+                               either one file or several files.
 * Shell Commands in Dired::  Running a shell command on the marked files.
 * Transforming File Names::  Using patterns to rename multiple files.
-* Comparison in Dired::	     Running `diff' by way of Dired.
+* Comparison in Dired::      Running `diff' by way of Dired.
 * Subdirectories in Dired::  Adding subdirectories to the Dired buffer.
 * Subdir Switches::          Subdirectory switches in Dired.
-* Subdirectory Motion::	     Moving across subdirectories, and up and down.
+* Subdirectory Motion::      Moving across subdirectories, and up and down.
 * Hiding Subdirectories::    Making subdirectories visible or invisible.
 * Dired Updating::           Discarding lines for files of no interest.
-* Dired and Find::	     Using `find' to choose the files for Dired.
+* Dired and Find::           Using `find' to choose the files for Dired.
 * Wdired::                   Operating on files by editing the Dired buffer.
 * Image-Dired::              Viewing image thumbnails in Dired.
 * Misc Dired Features::      Various other features.
@@ -962,7 +964,7 @@
 * Lunar Phases::        Displaying phases of the moon.
 * Other Calendars::     Converting dates to other calendar systems.
 * Diary::               Displaying events from your diary.
-* Appointments::	Reminders when it's time to do something.
+* Appointments::        Reminders when it's time to do something.
 * Importing Diary::     Converting diary events to/from other formats.
 * Daylight Saving::    How to specify when daylight saving time is active.
 * Time Intervals::      Keeping track of time intervals.
@@ -972,23 +974,23 @@
 
 * Calendar Unit Motion::      Moving by days, weeks, months, and years.
 * Move to Beginning or End::  Moving to start/end of weeks, months, and years.
-* Specified Dates::	      Moving to the current date or another
-				specific date.
+* Specified Dates::           Moving to the current date or another
+                                specific date.
 
 Conversion To and From Other Calendars
 
-* Calendar Systems::	   The calendars Emacs understands
-			     (aside from Gregorian).
-* To Other Calendar::	   Converting the selected date to various calendars.
-* From Other Calendar::	   Moving to a date specified in another calendar.
-* Mayan Calendar::	   Moving to a date specified in a Mayan calendar.
+* Calendar Systems::       The calendars Emacs understands
+                             (aside from Gregorian).
+* To Other Calendar::      Converting the selected date to various calendars.
+* From Other Calendar::    Moving to a date specified in another calendar.
+* Mayan Calendar::         Moving to a date specified in a Mayan calendar.
 
 The Diary
 
 * Displaying the Diary::   Viewing diary entries and associated calendar dates.
 * Format of Diary File::   Entering events in your diary.
-* Date Formats::	   Various ways you can specify dates.
-* Adding to Diary::	   Commands to create diary entries.
+* Date Formats::           Various ways you can specify dates.
+* Adding to Diary::        Commands to create diary entries.
 * Special Diary Entries::  Anniversaries, blocks of dates, cyclic entries, etc.
 
 Customizing the Calendar and Diary
@@ -1005,22 +1007,22 @@
 
 Document Viewing
 
-* Navigation::	Navigation inside DocView buffers.
-* Searching::	Searching inside documents.
-* Slicing::	Specifying which part of pages should be displayed.
-* Conversion::	Influencing and triggering conversion.
+* Navigation::  Navigation inside DocView buffers.
+* Searching::   Searching inside documents.
+* Slicing::     Specifying which part of pages should be displayed.
+* Conversion::  Influencing and triggering conversion.
 
 Gnus
 
-* Buffers of Gnus::	The group, summary, and article buffers.
-* Gnus Startup::	What you should know about starting Gnus.
-* Summary of Gnus::	A short description of the basic Gnus commands.
+* Buffers of Gnus::     The group, summary, and article buffers.
+* Gnus Startup::        What you should know about starting Gnus.
+* Summary of Gnus::     A short description of the basic Gnus commands.
 
 Running Shell Commands from Emacs
 
-* Single Shell::	How to run one shell command and return.
-* Interactive Shell::	Permanent shell taking input via Emacs.
-* Shell Mode::		Special Emacs commands used with permanent shell.
+* Single Shell::        How to run one shell command and return.
+* Interactive Shell::   Permanent shell taking input via Emacs.
+* Shell Mode::          Special Emacs commands used with permanent shell.
 * Shell Prompts::       Two ways to recognize shell prompts.
 * Shell History::       Repeating previous commands in a shell buffer.
 * Directory Tracking::  Keeping track when the subshell changes directory.
@@ -1028,7 +1030,7 @@
 * Terminal emulator::   An Emacs window as a terminal emulator.
 * Term Mode::           Special Emacs commands used in Term mode.
 * Paging in Term::      Paging in the terminal emulator.
-* Remote Host::		Connecting to another computer.
+* Remote Host::         Connecting to another computer.
 * Serial Terminal::     Connecting to a serial port.
 
 Shell Command History
@@ -1044,7 +1046,7 @@
 
 Printing Hard Copies
 
-* PostScript::	         Printing buffers or regions as PostScript.
+* PostScript::           Printing buffers or regions as PostScript.
 * PostScript Variables:: Customizing the PostScript printing commands.
 * Printing Package::     An optional advanced printing interface.
 
@@ -1056,18 +1058,18 @@
 
 Customization
 
-* Minor Modes::		Each minor mode is a feature you can turn on
-			  independently of any others.
+* Minor Modes::         Each minor mode is a feature you can turn on
+                          independently of any others.
 * Easy Customization::  Convenient way to browse and change settings.
-* Variables::		Many Emacs commands examine Emacs variables
-			  to decide what to do; by setting variables,
-			  you can control their functioning.
-* Key Bindings::	The keymaps say what command each key runs.
-			  By changing them, you can "redefine keys".
-* Syntax::		The syntax table controls how words and
-			  expressions are parsed.
-* Init File::		How to write common customizations in the
-			  @file{.emacs} file.
+* Variables::           Many Emacs commands examine Emacs variables
+                          to decide what to do; by setting variables,
+                          you can control their functioning.
+* Key Bindings::        The keymaps say what command each key runs.
+                          By changing them, you can "redefine keys".
+* Syntax::              The syntax table controls how words and
+                          expressions are parsed.
+* Init File::           How to write common customizations in the
+                          @file{.emacs} file.
 
 Easy Customization Interface
 
@@ -1083,10 +1085,10 @@
 
 Variables
 
-* Examining::	        Examining or setting one variable's value.
-* Hooks::	        Hook variables let you specify programs for parts
-		          of Emacs to run on particular occasions.
-* Locals::	        Per-buffer values of variables.
+* Examining::           Examining or setting one variable's value.
+* Hooks::               Hook variables let you specify programs for parts
+                          of Emacs to run on particular occasions.
+* Locals::              Per-buffer values of variables.
 * File Variables::      How files can specify variable values.
 * Directory Variables:: How variable values can be specified by directory.
 
@@ -1113,10 +1115,10 @@
 
 The Init File, @file{~/.emacs}
 
-* Init Syntax::	        Syntax of constants in Emacs Lisp.
+* Init Syntax::         Syntax of constants in Emacs Lisp.
 * Init Examples::       How to do some things with an init file.
 * Terminal Init::       Each terminal type can have an init file.
-* Find Init::	        How Emacs finds the init file.
+* Find Init::           How Emacs finds the init file.
 * Init Non-ASCII::      Using non-@acronym{ASCII} characters in an init file.
 
 Dealing with Emacs Trouble
@@ -1134,31 +1136,31 @@
 Reporting Bugs
 
 * Bug Criteria::        Have you really found a bug?
-* Understanding Bug Reporting::	How to report a bug effectively.
-* Checklist::		Steps to follow for a good bug report.
-* Sending Patches::	How to send a patch for GNU Emacs.
+* Understanding Bug Reporting:: How to report a bug effectively.
+* Checklist::           Steps to follow for a good bug report.
+* Sending Patches::     How to send a patch for GNU Emacs.
 
 Command Line Arguments for Emacs Invocation
 
-* Action Arguments::	Arguments to visit files, load libraries,
-			  and call functions.
+* Action Arguments::    Arguments to visit files, load libraries,
+                          and call functions.
 * Initial Options::     Arguments that take effect while starting Emacs.
 * Command Example::     Examples of using command line arguments.
-* Resume Arguments::	Specifying arguments when you resume a running Emacs.
+* Resume Arguments::    Specifying arguments when you resume a running Emacs.
 * Environment::         Environment variables that Emacs uses.
 * Display X::           Changing the default display and using remote login.
-* Font X::	        Choosing a font for text, under X.
-* Colors::	        Choosing display colors.
+* Font X::              Choosing a font for text, under X.
+* Colors::              Choosing display colors.
 * Window Size X::       Start-up window size, under X.
-* Borders X::	        Internal and external borders, under X.
+* Borders X::           Internal and external borders, under X.
 * Title X::             Specifying the initial frame's title.
 * Icons X::             Choosing what sort of icon to use, under X.
 * Misc X::              Other display options.
 
 Environment Variables
 
-* General Variables::	Environment variables that all versions of Emacs use.
-* Misc Variables::	Certain system-specific variables.
+* General Variables::   Environment variables that all versions of Emacs use.
+* Misc Variables::      Certain system-specific variables.
 * MS-Windows Registry:: An alternative to the environment on MS-Windows.
 
 X Options and Resources
@@ -1403,9 +1405,9 @@
 Scholz, Eric Schulte, Andreas Schwab, Randal Schwartz, Oliver Seidel,
 Manuel Serrano, Hovav Shacham, Stanislav Shalunov, Marc Shapiro, Richard
 Sharman, Olin Shivers, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris
-Smith, David Smith, Paul D.@: Smith, Andre Spiegel, Michael Staats,
-William Sommerfeld, Michael Staats, Reiner Steib, Sam Steingold, Ake
-Stenhoff, Peter Stephenson, Ken Stevens, Andy Stewart, Jonathan
+Smith, David Smith, Paul D.@: Smith, William Sommerfeld, Andre Spiegel,
+Michael Staats, Reiner Steib, Sam Steingold, Ake Stenhoff,
+Peter Stephenson, Ken Stevens, Andy Stewart, Jonathan
 Stigelman, Martin Stjernholm, Kim F.@: Storm, Steve Strassman, Olaf
 Sylvester, Naoto Takahashi, Steven Tamm, Jean-Philippe Theberge, Jens
 T.@: Berger Thielemann, Spencer Thomas, Jim Thompson, Luc Teirlinck,
--- a/doc/emacs/emerge-xtra.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/emerge-xtra.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -22,16 +23,16 @@
 and @ref{Top, Ediff,, ediff, The Ediff Manual}.
 
 @menu
-* Overview of Emerge::	How to start Emerge.  Basic concepts.
-* Submodes of Emerge::	Fast mode vs. Edit mode.
-			  Skip Prefers mode and Auto Advance mode.
-* State of Difference::	You do the merge by specifying state A or B
-			  for each difference.
-* Merge Commands::	Commands for selecting a difference,
-			  changing states of differences, etc.
-* Exiting Emerge::	What to do when you've finished the merge.
-* Combining in Emerge::	    How to keep both alternatives for a difference.
-* Fine Points of Emerge::   Miscellaneous issues.
+* Overview of Emerge::     How to start Emerge.  Basic concepts.
+* Submodes of Emerge::     Fast mode vs. Edit mode.
+                             Skip Prefers mode and Auto Advance mode.
+* State of Difference::    You do the merge by specifying state A or B
+                             for each difference.
+* Merge Commands::         Commands for selecting a difference,
+                             changing states of differences, etc.
+* Exiting Emerge::         What to do when you've finished the merge.
+* Combining in Emerge::    How to keep both alternatives for a difference.
+* Fine Points of Emerge::  Miscellaneous issues.
 @end menu
 
 @node Overview of Emerge
--- a/doc/emacs/files.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/files.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Files, Buffers, Keyboard Macros, Top
 @chapter File Handling
@@ -553,9 +554,9 @@
 another from the newly saved contents if you save again.
 
 @menu
-* Names: Backup Names.		How backup files are named.
-* Deletion: Backup Deletion.	Emacs deletes excess numbered backups.
-* Copying: Backup Copying.	Backups can be made by copying or renaming.
+* Names: Backup Names.          How backup files are named.
+* Deletion: Backup Deletion.    Emacs deletes excess numbered backups.
+* Copying: Backup Copying.      Backups can be made by copying or renaming.
 @end menu
 
 @node Backup Names
@@ -994,7 +995,7 @@
 * Files: Auto Save Files.       The file where auto-saved changes are
                                   actually made until you save the file.
 * Control: Auto Save Control.   Controlling when and how often to auto-save.
-* Recover::		        Recovering text from auto-save files.
+* Recover::                     Recovering text from auto-save files.
 @end menu
 
 @node Auto Save Files
--- a/doc/emacs/fortran-xtra.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/fortran-xtra.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @c
 @c This file is included either in emacs-xtra.texi (when producing the
@@ -57,12 +58,12 @@
 @end ifnottex
 
 @menu
-* Motion: Fortran Motion.	 Moving point by statements or subprograms.
-* Indent: Fortran Indent.	 Indentation commands for Fortran.
-* Comments: Fortran Comments.	 Inserting and aligning comments.
-* Autofill: Fortran Autofill.	 Auto fill support for Fortran.
-* Columns: Fortran Columns.	 Measuring columns for valid Fortran.
-* Abbrev: Fortran Abbrev.	 Built-in abbrevs for Fortran keywords.
+* Motion: Fortran Motion.        Moving point by statements or subprograms.
+* Indent: Fortran Indent.        Indentation commands for Fortran.
+* Comments: Fortran Comments.    Inserting and aligning comments.
+* Autofill: Fortran Autofill.    Auto fill support for Fortran.
+* Columns: Fortran Columns.      Measuring columns for valid Fortran.
+* Abbrev: Fortran Abbrev.        Built-in abbrevs for Fortran keywords.
 @end menu
 
 @node Fortran Motion
--- a/doc/emacs/frames.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/frames.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Frames, International, Windows, Top
 @chapter Frames and Graphical Displays
@@ -44,10 +45,10 @@
 * Multiple Displays::   How one Emacs job can talk to several displays.
 * Special Buffer Frames::  You can make certain buffers have their own frames.
 * Frame Parameters::    Changing the colors and other modes of frames.
-* Scroll Bars::	        How to enable and disable scroll bars; how to use them.
+* Scroll Bars::         How to enable and disable scroll bars; how to use them.
 * Wheeled Mice::        Using mouse wheels for scrolling.
 * Drag and Drop::       Using drag and drop to open files and insert text.
-* Menu Bars::	        Enabling and disabling the menu bar.
+* Menu Bars::           Enabling and disabling the menu bar.
 * Tool Bars::           Enabling and disabling the tool bar.
 * Dialog Boxes::        Controlling use of dialog boxes.
 * Tooltips::            Displaying information at the current mouse position.
--- a/doc/emacs/help.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/help.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Help, Mark, M-x, Top
 @chapter Help
@@ -69,14 +70,14 @@
 @end table
 
 @menu
-* Help Summary::	Brief list of all Help commands.
-* Key Help::		Asking what a key does in Emacs.
-* Name Help::		Asking about a command, variable or function name.
-* Apropos::		Asking what pertains to a given topic.
+* Help Summary::        Brief list of all Help commands.
+* Key Help::            Asking what a key does in Emacs.
+* Name Help::           Asking about a command, variable or function name.
+* Apropos::             Asking what pertains to a given topic.
 * Help Mode::           Special features of Help mode and Help buffers.
-* Library Keywords::	Finding Lisp libraries by keywords (topics).
+* Library Keywords::    Finding Lisp libraries by keywords (topics).
 * Language Help::       Help relating to international language support.
-* Misc Help::		Other help commands.
+* Misc Help::           Other help commands.
 * Help Files::          Commands to display pre-written help files.
 * Help Echo::           Help on active text and tooltips (`balloon help').
 @end menu
@@ -133,7 +134,9 @@
 @item C-h n
 Display news of recent Emacs changes (@code{view-emacs-news}).
 @item C-h p
-Find packages by topic keyword (@code{finder-by-keyword}).
+Find packages by topic keyword (@code{finder-by-keyword}).  For an
+alternative interface to the same information, try the @code{info-finder}
+command.
 @item C-h r
 Display the Emacs manual in Info (@code{info-emacs-manual}).
 @item C-h s
--- a/doc/emacs/killing.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/killing.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
 @node Killing, Yanking, Mark, Top
@@ -260,9 +261,9 @@
 instead of text killed within Emacs.
 
 @menu
-* Kill Ring::		Where killed text is stored.  Basic yanking.
-* Appending Kills::	Several kills in a row all yank together.
-* Earlier Kills::	Yanking something killed some time ago.
+* Kill Ring::           Where killed text is stored.  Basic yanking.
+* Appending Kills::     Several kills in a row all yank together.
+* Earlier Kills::       Yanking something killed some time ago.
 @end menu
 
 @node Kill Ring
--- a/doc/emacs/maintaining.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/maintaining.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -11,9 +11,10 @@
 
 @menu
 * Version Control::     Using version control systems.
-* Change Log::	        Maintaining a change history for your program.
-* Tags::	        Go directly to any function in your program in one
-			  command.  Tags remembers which file it is in.
+* Change Log::          Maintaining a change history for your program.
+* Tags::                Go directly to any function in your program in one
+                          command.  Tags remembers which file it is in.
+* EDE::                 An integrated development environment for Emacs.
 @ifnottex
 * Emerge::              A convenient way of merging two versions of a program.
 @end ifnottex
@@ -653,7 +654,8 @@
 @item C-x v =
 Compare the files in the current fileset with the working revision(s)
 you started from (@code{vc-diff}).  With a prefix argument, prompt for
-two revisions of the current fileset and compare them.
+two revisions of the current fileset and compare them.  You can call
+this command from a Dired buffer (@pxref{Dired}).
 
 @item C-x v D
 Compare the entire tree corresponding to the current fileset with the
@@ -895,6 +897,7 @@
 Buffer}.)  Point is centered at the revision of the file currently
 being visited.  With a prefix argument, the command prompts for the
 revision to center on, and the maximum number of revisions to display.
+You can call this command from a Dired buffer (@pxref{Dired}).
 
 @findex vc-print-root-log
   Type @kbd{C-x v L} (@code{vc-print-root-log}) to display a
@@ -1145,9 +1148,14 @@
 
   @kbd{M-s a C-M-s} does an incremental search on the marked files.
 
-  Commands are also accessible from the VC-dir menu.  Note that some VC
-backends use the VC-dir menu to make available extra backend specific
-commands.
+@cindex stashes in version control
+@cindex shelves in version control
+  Commands are also accessible from the VC-dir menu.  Note that some
+VC backends use the VC-dir menu to make available extra,
+backend-specific, commands.  For example, Git and Bazaar allow you to
+manipulate @dfn{stashes} and @dfn{shelves}.  (These provide a
+mechanism to temporarily store uncommitted changes somewhere out of
+the way, and bring them back at a later time.)
 
   Normal VC commands with the @kbd{C-x v} prefix work in VC directory
 buffers.  Some single-key shortcuts are available as well; @kbd{=},
@@ -1562,13 +1570,13 @@
 @xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}.
 
 @menu
-* Tag Syntax::		Tag syntax for various types of code and text files.
-* Create Tags Table::	Creating a tags table with @code{etags}.
+* Tag Syntax::          Tag syntax for various types of code and text files.
+* Create Tags Table::   Creating a tags table with @code{etags}.
 * Etags Regexps::       Create arbitrary tags using regular expressions.
-* Select Tags Table::	How to visit a tags table.
-* Find Tag::		Commands to find the definition of a specific tag.
-* Tags Search::		Using a tags table for searching and replacing.
-* List Tags::		Listing and finding tags defined in a file.
+* Select Tags Table::   How to visit a tags table.
+* Find Tag::            Commands to find the definition of a specific tag.
+* Tags Search::         Using a tags table for searching and replacing.
+* List Tags::           Listing and finding tags defined in a file.
 @end menu
 
 @node Tag Syntax
@@ -2260,6 +2268,69 @@
 @include emerge-xtra.texi
 @end ifnottex
 
+@node EDE
+@section Emacs Development Environment
+@cindex EDE (Emacs Development Environment)
+@cindex Emacs Development Environment
+@cindex Integrated development environment
+
+EDE (@dfn{Emacs Development Environment}) is a package that simplifies
+the task of creating, building, and debugging large programs with
+Emacs.  It provides some of the features of an IDE, or @dfn{Integrated
+Development Environment}, in Emacs.
+
+This section provides a brief description of EDE usage.
+@ifnottex
+For full details, see @ref{Top, EDE,, ede, Emacs Development Environment}.
+@end ifnottex
+@iftex
+For full details on Ede, type @kbd{C-h i} and then select the EDE
+manual.
+@end iftex
+
+  EDE is implemented as a global minor mode (@pxref{Minor Modes}).  To
+enable it, type @kbd{M-x global-ede-mode} or click on the
+@samp{Project Support (EDE)} item in the @samp{Tools} menu.  You can
+also enable EDE each time you start Emacs, by adding the following
+line to your initialization file:
+
+@smallexample
+(global-ede-mode t)
+@end smallexample
+
+@noindent
+Activating EDE adds a menu named @samp{Development} to the menu bar.
+Many EDE commands, including the ones described below, can be invoked
+from this menu.
+
+  EDE organizes files into @dfn{projects}, which correspond to
+directory trees.  The @dfn{project root} is the topmost directory of a
+project.  To define a new project, visit a file in the desired project
+root and type @kbd{M-x ede-new}.  This command prompts for a
+@dfn{project type}, which refers to the underlying method that EDE
+will use to manage the project (@pxref{Creating a Project, EDE,, ede,
+Emacs Development Environment}).  The most common project types are
+@samp{Make}, which uses Makefiles, and @samp{Automake}, which uses GNU
+Automake (@pxref{Top, Automake,, automake, Automake}).  In both cases,
+EDE also creates a file named @file{Project.ede}, which stores
+information about the project.
+
+  A project may contain one or more @dfn{targets}.  A target can be an
+object file, executable program, or some other type of file, which is
+``built'' from one or more of the files in the project.
+
+  To add a new @dfn{target} to a project, type @kbd{C-c . t}
+(@code{M-x ede-new-target}).  This command also asks if you wish to
+``add'' the current file to that target, which means that the target
+is to be built from that file.  After you have defined a target, you
+can add more files to it by typing @kbd{C-c . a}
+(@code{ede-add-file}).
+
+  To build a target, type @kbd{C-c . c} (@code{ede-compile-target}).
+To build all the targets in the project, type @kbd{C-c . C}
+(@code{ede-compile-project}).  EDE uses the file types to guess how
+the target should be built.
+
 @ignore
    arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb
 @end ignore
--- a/doc/emacs/mark.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/mark.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Mark, Killing, Help, Top
 @chapter The Mark and the Region
@@ -41,13 +42,13 @@
 non-@code{nil}, each window highlights its own region.
 
 @menu
-* Setting Mark::	Commands to set the mark.
-* Marking Objects::	Commands to put region around textual units.
-* Using Region::	Summary of ways to operate on contents of the region.
-* Mark Ring::   	Previous mark positions saved so you can go back there.
+* Setting Mark::        Commands to set the mark.
+* Marking Objects::     Commands to put region around textual units.
+* Using Region::        Summary of ways to operate on contents of the region.
+* Mark Ring::           Previous mark positions saved so you can go back there.
 * Global Mark Ring::    Previous mark positions in various buffers.
 * Shift Selection::     Using shifted cursor motion keys.
-* Persistent Mark::	Keeping the mark active all the time.
+* Persistent Mark::     Keeping the mark active all the time.
 @end menu
 
 @node Setting Mark
@@ -80,7 +81,7 @@
 character in @acronym{ASCII}; usually, typing @kbd{C-@key{SPC}} on a
 text terminal gives the character @kbd{C-@@}.  This key is also bound
 to @code{set-mark-command}, so unless you are unlucky enough to have
-an text terminal that behaves differently, you might as well think of
+a text terminal that behaves differently, you might as well think of
 @kbd{C-@@} as @kbd{C-@key{SPC}}.}.  This sets the mark where point is,
 and activates it.  You can then move point away, leaving the mark
 behind.
@@ -387,10 +388,10 @@
 
 @findex transient-mark-mode
   To turn off Transient Mark mode, type @kbd{M-x transient-mark-mode}.
-This command toggles the mode; you can use the same command to turn
-Transient Mark mode on again.  You can also turn off Transient Mark
-mode using the menu bar: in the @samp{Options} menu, toggle the
-@samp{Active Region Highlighting} menu item.
+This command toggles the mode; you can use the same command to turn it
+on again.  You can also toggle Transient Mark mode using the
+@samp{Active Region Highlighting} menu item in the @samp{Options}
+menu.
 
   Here are the details of how Emacs behaves when Transient Mark mode
 is off:
@@ -415,13 +416,12 @@
 @kbd{C-s}, first set the mark where point was.
 
 @item
-Some commands, which ordinarily operate on the region when the mark is
-active, instead act on the entire buffer.  For instance, @kbd{C-x u}
-normally reverses changes within the region if the mark is active;
-when Transient Mark mode is off, it acts on the entire buffer.
-However, you can type @kbd{C-u C-x u} to make it operate on the
-region.  @xref{Undo}.  Other commands that act this way are identified
-in their own documentation.
+Some commands, which ordinarily act on the region when the mark is
+active, no longer do so.  For example, normally @kbd{M-%}
+(@code{query-replace}) performs replacements within the region, if the
+mark is active.  When Transient Mark mode is off, it always operates
+from point to the end of the buffer.  Commands that act this way are
+identified in their own documentation.
 @end itemize
 
   While Transient Mark mode is off, you can activate it temporarily
@@ -437,9 +437,9 @@
 
 @item C-u C-x C-x
 @kindex C-u C-x C-x
-Activate the mark without changing it; enable Transient Mark mode just
-once, until the mark is deactivated.  (This is the @kbd{C-x C-x}
-command, @code{exchange-point-and-mark}, with a prefix argument.)
+Activate the mark and enable Transient Mark mode temporarily, until
+the mark is next deactivated.  (This is the @kbd{C-x C-x} command,
+@code{exchange-point-and-mark}, with a prefix argument.)
 @end table
 
   These commands set or activate the mark, and enable Transient Mark
--- a/doc/emacs/mini.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/mini.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Minibuffer, M-x, Basic, Top
 @chapter The Minibuffer
@@ -43,9 +44,9 @@
 @menu
 * Minibuffer File::       Entering file names with the minibuffer.
 * Minibuffer Edit::       How to edit in the minibuffer.
-* Completion::		  An abbreviation facility for minibuffer input.
+* Completion::            An abbreviation facility for minibuffer input.
 * Minibuffer History::    Reusing recent minibuffer arguments.
-* Repetition::		  Re-executing commands that used the minibuffer.
+* Repetition::            Re-executing commands that used the minibuffer.
 * Passwords::             Entering passwords in the echo area.
 @end menu
 
@@ -601,7 +602,7 @@
 unchanged.  You can also change the command by editing the Lisp
 expression before you execute it.  The repeated command is added to
 the front of the command history unless it is identical to the most
-recently item.
+recent item.
 
   Once inside the minibuffer for @kbd{C-x @key{ESC} @key{ESC}}, you can
 use the minibuffer history commands (@kbd{M-p}, @kbd{M-n}, @kbd{M-r},
--- a/doc/emacs/misc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/misc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -71,10 +71,10 @@
 (@code{quit-window}).
 
 @menu
-* Navigation::	Navigation inside DocView buffers.
-* Searching::	Searching inside documents.
-* Slicing::	Specifying which part of pages should be displayed.
-* Conversion::	Influencing and triggering conversion.
+* Navigation::  Navigation inside DocView buffers.
+* Searching::   Searching inside documents.
+* Slicing::     Specifying which part of pages should be displayed.
+* Conversion::  Influencing and triggering conversion.
 @end menu
 
 @node Navigation
@@ -203,7 +203,7 @@
 For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}.
 @end ifnottex
 @iftex
-For full details on Gnus, type @kbd{M-x info} and then select the Gnus
+For full details on Gnus, type @kbd{C-h i} and then select the Gnus
 manual.
 @end iftex
 
@@ -211,9 +211,9 @@
 To start Gnus, type @kbd{M-x gnus @key{RET}}.
 
 @menu
-* Buffers of Gnus::	The group, summary, and article buffers.
-* Gnus Startup::	What you should know about starting Gnus.
-* Summary of Gnus::	A short description of the basic Gnus commands.
+* Buffers of Gnus::     The group, summary, and article buffers.
+* Gnus Startup::        What you should know about starting Gnus.
+* Summary of Gnus::     A short description of the basic Gnus commands.
 @end menu
 
 @node Buffers of Gnus
@@ -1528,7 +1528,7 @@
 @kbd{C-x #} (@code{server-edit}) in its buffer.  This saves the file
 and sends a message back to the @command{emacsclient} program, telling
 it to exit.  Programs that use @env{EDITOR} usually wait for the
-``editor''---in the case @command{emacsclient}---to exit before doing
+``editor''---in this case @command{emacsclient}---to exit before doing
 something else.
 
   You can also call @command{emacsclient} with multiple file name
@@ -1701,8 +1701,14 @@
   Emacs provides commands for printing hard copies of either an entire
 buffer or just part of one, with or without page headers.  You can
 invoke the printing commands directly, as detailed in the following
-section, or using the @samp{File} menu on the menu bar.  See also the
-hardcopy commands of Dired (@pxref{Misc File Ops}) and the diary
+section, or using the @samp{File} menu on the menu bar.
+
+@findex htmlfontify-buffer
+  Aside from the commands described in this section, you can also
+``print'' an Emacs buffer to HTML with @kbd{M-x htmlfontify-buffer}.
+This command converts the current buffer to a HTML file, replacing
+Emacs faces with CSS-based markup.  In addition, see the hardcopy
+commands of Dired (@pxref{Misc File Ops}) and the diary
 (@pxref{Displaying the Diary}).
 
 @table @kbd
@@ -1751,7 +1757,7 @@
 not compatible with @code{lpr}.
 
 @menu
-* PostScript::	         Printing buffers or regions as PostScript.
+* PostScript::           Printing buffers or regions as PostScript.
 * PostScript Variables:: Customizing the PostScript printing commands.
 * Printing Package::     An optional advanced printing interface.
 @end menu
--- a/doc/emacs/msdog.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/msdog.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
 @appendix Emacs and Microsoft Windows/MS-DOS
@@ -761,8 +762,8 @@
 (setq ps-printer-name t)
 (setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe")
 (setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH"
-			"-sDEVICE=mswinpr2"
-			"-sPAPERSIZE=a4"))
+                        "-sDEVICE=mswinpr2"
+                        "-sPAPERSIZE=a4"))
 @end example
 
 @noindent
--- a/doc/emacs/mule.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/mule.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -221,7 +221,7 @@
         character: @`A (192, #o300, #xc0)
 preferred charset: unicode (Unicode (ISO10646))
        code point: 0xC0
-           syntax: w 	which means: word
+           syntax: w    which means: word
          category: j:Japanese l:Latin v:Vietnamese
       buffer code: #xC3 #x80
         file code: not encodable by coding system undecided-unix
--- a/doc/emacs/programs.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/programs.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -34,11 +34,12 @@
                           of a program.
 * Program Indent::      Adjusting indentation to show the nesting.
 * Parentheses::         Commands that operate on parentheses.
-* Comments::	        Inserting, killing, and aligning comments.
+* Comments::            Inserting, killing, and aligning comments.
 * Documentation::       Getting documentation of functions you plan to call.
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
 * Glasses::             Making identifiersLikeThis more readable.
+* Semantic::            Suite of editing tools based on source code parsing.
 * Misc for Programs::   Other Emacs features useful for editing programs.
 * C Modes::             Special commands of C, C++, Objective-C,
                           Java, and Pike modes.
@@ -353,11 +354,11 @@
 single parenthetical grouping.
 
 @menu
-* Basic Indent::	Indenting a single line.
+* Basic Indent::        Indenting a single line.
 * Multi-line Indent::   Commands to reindent many lines at once.
-* Lisp Indent::		Specifying how each Lisp function should be indented.
-* C Indent::		Extra features for indenting C and related modes.
-* Custom C Indent::	Controlling indentation style for C and related modes.
+* Lisp Indent::         Specifying how each Lisp function should be indented.
+* C Indent::            Extra features for indenting C and related modes.
+* Custom C Indent::     Controlling indentation style for C and related modes.
 @end menu
 
 @cindex pretty-printer
@@ -651,7 +652,7 @@
 * Expressions::         Expressions with balanced parentheses.
 * Moving by Parens::    Commands for moving up, down and across
                           in the structure of parentheses.
-* Matching::	        Insertion of a close-delimiter flashes matching open.
+* Matching::            Insertion of a close-delimiter flashes matching open.
 @end menu
 
 @node Expressions
@@ -1201,7 +1202,7 @@
 your machine; the list of available manual pages is computed
 automatically the first time you invoke @code{woman}.  The word at
 point in the current buffer is used to suggest the default for the
-name the manual page.
+name of the manual page.
 
   With a numeric argument, @kbd{M-x woman} recomputes the list of the
 manual pages used for completion.  This is useful if you add or delete
@@ -1387,6 +1388,73 @@
 of the programming language major modes in which you normally want
 to use Glasses mode.
 
+@node Semantic
+@section Semantic
+@cindex Semantic package
+
+Semantic is a package that provides language-aware editing commands
+based on @code{source code parsers}.  This section provides a brief
+description of Semantic;
+@ifnottex
+for full details, see @ref{Top, Semantic,, semantic, Semantic}.
+@end ifnottex
+@iftex
+for full details, type @kbd{C-h i} (@code{info}) and then select the
+Semantic manual.
+@end iftex
+
+  Most of the ``language aware'' features in Emacs, such as font lock
+(@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
+expressions and syntax tables.} that usually give good results but are
+never completely exact.  In contrast, the parsers used by Semantic
+have an exact understanding of programming language syntax.  This
+allows Semantic to provide search, navigation, and completion commands
+that are powerful and precise.
+
+  To begin using Semantic, type @kbd{M-x semantic-mode} or click on
+the menu item named @samp{Source Code Parsers (Semantic)} in the
+@samp{Tools} menu.  This enables Semantic mode, a global minor mode.
+
+   When Semantic mode is enabled, Emacs automatically attempts to
+parses each file you visit.  Currently, Semantic understands C, C++,
+Scheme, Javascript, Java, HTML, and Make.  Within each parsed buffer,
+the following commands are available:
+
+@table @kbd
+@item C-c , j
+@kindex C-c , j
+Prompt for the name of a function defined in the current file, and
+move point there (@code{semantic-complete-jump-local}).
+
+@item C-c , J
+@kindex C-c , J
+Prompt for the name of a function defined in any file Emacs has
+parsed, and move point there (@code{semantic-complete-jump}).
+
+@item C-c , @key{SPC}
+@kindex C-c , @key{SPC}
+Display a list of possible completions for the symbol at point
+(@code{semantic-complete-analyze-inline}).  This also activates a set
+of special keybindings for choosing a completion: @key{RET} accepts
+the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
+completions, @key{TAB} completes as far as possible and then cycles,
+and @kbd{C-g} or any other key aborts completion.
+
+@item C-c , l
+@kindex C-c , l
+Display a list of the possible completions of the symbol at point, in
+another window (@code{semantic-analyze-possible-completions}).
+@end table
+
+@noindent
+In addition to the above commands, the Semantic package provides a
+variety of other ways to make use of parser information.  For
+instance, you can use it to display a list of completions when Emacs
+is idle.
+@ifnottex
+@xref{Top, Semantic,, semantic, Semantic}, for details.
+@end ifnottex
+
 @node Misc for Programs
 @section Other Features Useful for Editing Programs
 
--- a/doc/emacs/rmail.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/rmail.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Rmail, Dired, Sending Mail, Top
 @chapter Reading Mail with Rmail
@@ -21,7 +22,7 @@
 * Deletion: Rmail Deletion.  Deleting and expunging messages.
 * Inbox: Rmail Inbox.        How mail gets into the Rmail file.
 * Files: Rmail Files.        Using multiple Rmail files.
-* Output: Rmail Output.	     Copying messages out to files.
+* Output: Rmail Output.      Copying messages out to files.
 * Labels: Rmail Labels.      Classifying messages by labeling them.
 * Attrs: Rmail Attributes.   Certain standard labels, called attributes.
 * Reply: Rmail Reply.        Sending replies to messages you are viewing.
@@ -31,7 +32,7 @@
 * Coding: Rmail Coding.      How Rmail handles decoding character sets.
 * Editing: Rmail Editing.    Editing message text and headers in Rmail.
 * Digest: Rmail Digest.      Extracting the messages from a digest message.
-* Rot13: Rmail Rot13.	     Reading messages encoded in the rot13 code.
+* Rot13: Rmail Rot13.        Reading messages encoded in the rot13 code.
 * Movemail::                 More details of fetching new mail.
 * Remote Mailboxes::         Retrieving mail from remote mailboxes.
 * Other Mailbox Formats::    Retrieving mail from local mailboxes in
@@ -834,8 +835,8 @@
 time.
 
 @menu
-* Rmail Make Summary::	     Making various sorts of summaries.
-* Rmail Summary Edit::	     Manipulating messages from the summary.
+* Rmail Make Summary::       Making various sorts of summaries.
+* Rmail Summary Edit::       Manipulating messages from the summary.
 @end menu
 
 @node Rmail Make Summary
--- a/doc/emacs/screen.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/screen.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Screen, User Input, Acknowledgments, Top
 @chapter The Organization of the Screen
@@ -53,10 +54,10 @@
 selecting a particular frame selects a window in that frame.
 
 @menu
-* Point::	        The place in the text where editing commands operate.
-* Echo Area::           Short messages appear at the bottom of the screen.
-* Mode Line::	        Interpreting the mode line.
-* Menu Bar::            How to use the menu bar.
+* Point::             The place in the text where editing commands operate.
+* Echo Area::         Short messages appear at the bottom of the screen.
+* Mode Line::         Interpreting the mode line.
+* Menu Bar::          How to use the menu bar.
 @end menu
 
 @node Point
--- a/doc/emacs/search.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/search.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Search, Fixit, Display, Top
 @chapter Searching and Replacement
@@ -19,16 +20,16 @@
 
 
 @menu
-* Incremental Search::		Search happens as you type the string.
-* Nonincremental Search::	Specify entire string and then search.
-* Word Search::			Search for sequence of words.
-* Regexp Search::		Search for match for a regexp.
-* Regexps::			Syntax of regular expressions.
-* Regexp Backslash::            Regular expression constructs starting with `\'.
-* Regexp Example::              A complex regular expression explained.
-* Search Case::			To ignore case while searching, or not.
-* Replace::			Search, and replace some or all matches.
-* Other Repeating Search::	Operating on all matches for some regexp.
+* Incremental Search::        Search happens as you type the string.
+* Nonincremental Search::     Specify entire string and then search.
+* Word Search::               Search for sequence of words.
+* Regexp Search::             Search for match for a regexp.
+* Regexps::                   Syntax of regular expressions.
+* Regexp Backslash::          Regular expression constructs starting with `\'.
+* Regexp Example::            A complex regular expression explained.
+* Search Case::               To ignore case while searching, or not.
+* Replace::                   Search, and replace some or all matches.
+* Other Repeating Search::    Operating on all matches for some regexp.
 @end menu
 
 @node Incremental Search
@@ -983,10 +984,10 @@
 command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}).
 
 @menu
-* Unconditional Replace::	Replacing all matches for a string.
-* Regexp Replace::		Replacing all matches for a regexp.
-* Replacement and Case::	How replacements preserve case of letters.
-* Query Replace::		How to use querying.
+* Unconditional Replace::   Replacing all matches for a string.
+* Regexp Replace::          Replacing all matches for a regexp.
+* Replacement and Case::    How replacements preserve case of letters.
+* Query Replace::           How to use querying.
 @end menu
 
 @node Unconditional Replace, Regexp Replace, Replace, Replace
--- a/doc/emacs/sending.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/sending.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Sending Mail
 @chapter Sending Mail
@@ -63,7 +64,7 @@
 cannot receive mail via SMTP (@pxref{Mail Headers}).
 
 @menu
-* Format: Mail Format.	      Format of a mail message.
+* Format: Mail Format.        Format of a mail message.
 * Headers: Mail Headers.      Details of some standard mail header fields.
 * Aliases: Mail Aliases.      Abbreviating and grouping mail addresses.
 * Commands: Mail Commands.    Special commands for editing mail being composed.
--- a/doc/emacs/text.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/text.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Text, Programs, Indentation, Top
 @chapter Commands for Human Languages
@@ -57,17 +58,17 @@
 @inforef{Top,, autotype}.
 
 @menu
-* Words::	        Moving over and killing words.
-* Sentences::	        Moving over and killing sentences.
-* Paragraphs::	        Moving over paragraphs.
-* Pages::	        Moving over pages.
-* Filling::	        Filling or justifying text.
-* Case::	        Changing the case of text.
-* Text Mode::	        The major modes for editing text files.
+* Words::               Moving over and killing words.
+* Sentences::           Moving over and killing sentences.
+* Paragraphs::          Moving over paragraphs.
+* Pages::               Moving over pages.
+* Filling::             Filling or justifying text.
+* Case::                Changing the case of text.
+* Text Mode::           The major modes for editing text files.
 * Outline Mode::        Editing outlines.
-* TeX Mode::	        Editing input to the formatter TeX.
+* TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
-* Nroff Mode::	        Editing input to the formatter nroff.
+* Nroff Mode::          Editing input to the formatter nroff.
 * Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
 * Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
 @end menu
@@ -402,13 +403,12 @@
 Text}).
 
 @menu
-* Auto Fill::	        Auto Fill mode breaks long lines automatically.
-* Fill Commands::       Commands to refill paragraphs and center lines.
-* Fill Prefix::	        Filling paragraphs that are indented
-                          or in a comment, etc.
-* Adaptive Fill::       How Emacs can determine the fill prefix automatically.
-* Refill::              Keeping paragraphs filled.
-* Longlines::           Editing text with very long lines.
+* Auto Fill::      Auto Fill mode breaks long lines automatically.
+* Fill Commands::  Commands to refill paragraphs and center lines.
+* Fill Prefix::    Filling paragraphs that are indented or in a comment, etc.
+* Adaptive Fill::  How Emacs can determine the fill prefix automatically.
+* Refill::         Keeping paragraphs filled.
+* Longlines::      Editing text with very long lines.
 @end menu
 
 @node Auto Fill
@@ -978,8 +978,8 @@
 the hook @code{outline-mode-hook} (@pxref{Hooks}).
 
 @menu
-* Format: Outline Format.	   What the text of an outline looks like.
-* Motion: Outline Motion.	   Special commands for moving through
+* Format: Outline Format.          What the text of an outline looks like.
+* Motion: Outline Motion.          Special commands for moving through
                                      outlines.
 * Visibility: Outline Visibility.  Commands to control what is visible.
 * Views: Outline Views.            Outlines and multiple views.
--- a/doc/emacs/trouble.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/trouble.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -426,10 +426,10 @@
 work-around, or give you additional information about related issues.
 
 @menu
-* Criteria:  Bug Criteria.	 Have you really found a bug?
-* Understanding Bug Reporting::	 How to report a bug effectively.
-* Checklist::			 Steps to follow for a good bug report.
-* Sending Patches::		 How to send a patch for GNU Emacs.
+* Criteria:  Bug Criteria.       Have you really found a bug?
+* Understanding Bug Reporting::  How to report a bug effectively.
+* Checklist::                    Steps to follow for a good bug report.
+* Sending Patches::              How to send a patch for GNU Emacs.
 @end menu
 
 @node Bug Criteria
@@ -1008,6 +1008,7 @@
 
 @node Contributing, Service, Bugs, Top
 @section Contributing to Emacs Development
+@cindex contributing to Emacs
 
 If you would like to help pretest Emacs releases to assure they work
 well, or if you would like to work on improving Emacs, please contact
@@ -1027,6 +1028,9 @@
 See the Emacs project page
 @url{http://savannah.gnu.org/projects/emacs/} for details.
 
+For more information on how to contribute, see the @file{etc/CONTRIBUTE}
+file in the Emacs distribution.
+
 @node Service, Copying, Contributing, Top
 @section How To Get Help with GNU Emacs
 
--- a/doc/emacs/vc1-xtra.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/vc1-xtra.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -220,8 +220,8 @@
 stable version of the system that is ready for distribution to users.
 
 @menu
-* Making Revision Tags::		The tag facilities.
-* Revision Tag Caveats::		Things to be careful of when using tags.
+* Making Revision Tags::  The tag facilities.
+* Revision Tag Caveats::  Things to be careful of when using tags.
 @end menu
 
 @node Making Revision Tags
--- a/doc/emacs/xresources.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/emacs/xresources.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -436,14 +436,14 @@
 the font @samp{8x16} for the pop-up menu items, write this:
 
 @example
-Emacs.menu*.font:	8x16
+Emacs.menu*.font:  8x16
 @end example
 
 @noindent
 For dialog boxes, use @samp{dialog*}:
 
 @example
-Emacs.dialog*.font:	8x16
+Emacs.dialog*.font:  8x16
 @end example
 
 @noindent
--- a/doc/lispintro/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispintro/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,11 @@
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* emacs-lisp-intro.texi: Untabify.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-02-16  Glenn Morris  <rgm@gnu.org>
 
 	* emacs-lisp-intro.texi: Fix typo in name of `find-tag' command.
--- a/doc/lispintro/emacs-lisp-intro.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispintro/emacs-lisp-intro.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -17789,7 +17789,7 @@
 This is an interface to the function `load'."
   (interactive
    (list (completing-read "Load library: "
-			  (apply-partially 'locate-file-completion-table
+                          (apply-partially 'locate-file-completion-table
                                            load-path
                                            (get-load-suffixes)))))
   (load library))
--- a/doc/lispref/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,95 @@
+2010-07-27  Juanma Barranquero  <lekktu@gmail.com>
+
+	* modes.texi (Defining Minor Modes): Use C-delete in examples,
+	instead of "\C-\^?" (bug#6334).
+
+2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* text.texi (Special Properties): Fix typo.
+
+2010-06-24  Chong Yidong  <cyd@stupidchicken.com>
+
+	* text.texi (Undo): Clarify command loop behavior (Bug#2433).
+
+	* commands.texi (Command Overview): Mention undo-boundary call.
+
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* abbrevs.texi, commands.texi, compile.texi, debugging.texi:
+	* display.texi, edebug.texi, elisp.texi, eval.texi, files.texi:
+	* frames.texi, functions.texi, internals.texi, keymaps.texi:
+	* loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi:
+	* searching.texi, sequences.texi, strings.texi, syntax.texi:
+	* text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi:
+	Untabify Texinfo files.
+
+2010-06-20  Chong Yidong  <cyd@stupidchicken.com>
+
+	* modes.texi (Minor Mode Conventions): Fix typo (Bug#6477).
+
+2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
+
+	* errors.texi (Standard Errors): Remove unnecessary markup
+	(Bug#6461).
+
+2010-06-02  Chong Yidong  <cyd@stupidchicken.com>
+
+	* searching.texi (Regexp Special): Remove obsolete information
+	about matching non-ASCII characters, and suggest using char
+	classes (Bug#6283).
+
+2010-05-30  Juanma Barranquero  <lekktu@gmail.com>
+
+	* minibuf.texi (Basic Completion): Add missing "@end defun".
+
+2010-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* minibuf.texi (Basic Completion): Document completion-boundaries.
+	(Programmed Completion): Document the new fourth method for boundaries.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* windows.texi (Textual Scrolling):
+	* tips.texi (Coding Conventions):
+	* minibuf.texi (Minibuffer History):
+	* maps.texi (Standard Keymaps):
+	* loading.texi (Where Defined):
+	* edebug.texi (Instrumenting): Fix typos.
+
+2010-04-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* keymaps.texi (Menu Bar): Document :advertised-binding property.
+
+	* functions.texi (Obsolete Functions): Document
+	set-advertised-calling-convention.
+
+	* minibuf.texi (Basic Completion): Document completion-in-region.
+	(Programmed Completion): Document completion-annotate-function.
+
+	* commands.texi (Reading One Event): Document read-key.
+	(Distinguish Interactive): Document KIND arg to
+	called-interactively-p.  Delete obsolete interactive-p.
+
+	* elisp.texi (Top): Update node description.
+
+2010-04-14  Juri Linkov  <juri@jurta.org>
+
+	Fix @deffn without category.
+
+	* abbrevs.texi (Abbrev Expansion): Replace @deffn with @defun
+	for `abbrev-insert'.
+
+	* buffers.texi (Indirect Buffers): Add category `Command'
+	to @deffn of `clone-indirect-buffer'.
+
+	* windows.texi (Cyclic Window Ordering): Replace @deffn with @defun
+	for `next-window' and `previous-window'.  Add category `Command'
+	to @deffn of `pop-to-buffer'.
+
 2010-04-01  Chong Yidong  <cyd@stupidchicken.com>
 
 	* nonascii.texi (Text Representations): Don't mark
--- a/doc/lispref/abbrevs.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/abbrevs.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -281,7 +281,7 @@
 returns @code{nil} even though expansion did occur.
 @end deffn
 
-@deffn abbrev-insert abbrev &optional name start end
+@defun abbrev-insert abbrev &optional name start end
 This function inserts the abbrev expansion of @code{abbrev}, replacing
 the text between @code{start} and @code{end}.  If @code{start} is
 omitted, it defaults to point.  @code{name}, if non-@code{nil}, should
@@ -289,7 +289,7 @@
 figure out whether to adjust the capitalization of the expansion.  The
 function returns @code{abbrev} if the abbrev was successfully
 inserted.
-@end deffn
+@end defun
 
 @deffn Command abbrev-prefix-mark &optional arg
 This command marks the current location of point as the beginning of
@@ -376,10 +376,10 @@
       (funcall expand))))
 
 (add-hook 'foo-mode-hook
-	  #'(lambda ()
-	      (add-hook 'abbrev-expand-functions
-			'foo-mode-abbrev-expand-function
-			nil t)))
+          #'(lambda ()
+              (add-hook 'abbrev-expand-functions
+                        'foo-mode-abbrev-expand-function
+                        nil t)))
 @end smallexample
 
 @node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs
--- a/doc/lispref/book-spine.texinfo	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/book-spine.texinfo	Fri Aug 27 23:05:43 2010 +0900
@@ -11,7 +11,7 @@
 @center @titlefont{GNU Emacs Lisp Reference Manual}
 @sp 5
 @center GNU
-@center Emacs Version 23.1.95
+@center Emacs Version 23.2.50
 @center for Unix Users
 @sp 5
 
--- a/doc/lispref/buffers.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/buffers.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1135,7 +1135,7 @@
 buffer, not from @var{base-buffer}.
 @end deffn
 
-@deffn clone-indirect-buffer newname display-flag &optional norecord
+@deffn Command clone-indirect-buffer newname display-flag &optional norecord
 This function creates and returns a new indirect buffer that shares
 the current buffer's base buffer and copies the rest of the current
 buffer's attributes.  (If the current buffer is not indirect, it is
--- a/doc/lispref/commands.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/commands.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/commands
 @node Command Loop, Keymaps, Minibuffers, Top
@@ -21,7 +22,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -52,16 +53,19 @@
 command, which it then calls.  This is done by the command
 @code{execute-extended-command} (@pxref{Interactive Call}).
 
-  To execute a command requires first reading the arguments for it.
-This is done by calling @code{command-execute} (@pxref{Interactive
-Call}).  For commands written in Lisp, the @code{interactive}
-specification says how to read the arguments.  This may use the prefix
-argument (@pxref{Prefix Command Arguments}) or may read with prompting
-in the minibuffer (@pxref{Minibuffers}).  For example, the command
-@code{find-file} has an @code{interactive} specification which says to
-read a file name using the minibuffer.  The command's function body does
-not use the minibuffer; if you call this command from Lisp code as a
-function, you must supply the file name string as an ordinary Lisp
+  Prior to executing the command, Emacs runs @code{undo-boundary} to
+create an undo boundary.  @xref{Maintaining Undo}.
+
+  To execute a command, Emacs first reads its arguments by calling
+@code{command-execute} (@pxref{Interactive Call}).  For commands
+written in Lisp, the @code{interactive} specification says how to read
+the arguments.  This may use the prefix argument (@pxref{Prefix
+Command Arguments}) or may read with prompting in the minibuffer
+(@pxref{Minibuffers}).  For example, the command @code{find-file} has
+an @code{interactive} specification which says to read a file name
+using the minibuffer.  The function body of @code{find-file} does not
+use the minibuffer, so if you call @code{find-file} as a function from
+Lisp code, you must supply the file name string as an ordinary Lisp
 function argument.
 
   If the command is a string or vector (i.e., a keyboard macro) then
@@ -696,71 +700,67 @@
 because it allows callers to say ``treat this call as interactive.''
 But you can also do the job by testing @code{called-interactively-p}.
 
-@defun called-interactively-p
+@defun called-interactively-p kind
 This function returns @code{t} when the calling function was called
 using @code{call-interactively}.
 
-If the containing function was called by Lisp evaluation (or with
-@code{apply} or @code{funcall}), then it was not called interactively.
+The argument @var{kind} should be either the symbol @code{interactive}
+or the symbol @code{any}.  If it is @code{interactive}, then
+@code{called-interactively-p} returns @code{t} only if the call was
+made directly by the user---e.g., if the user typed a key sequence
+bound to the calling function, but @emph{not} if the user ran a
+keyboard macro that called the function (@pxref{Keyboard Macros}).  If
+@var{kind} is @code{any}, @code{called-interactively-p} returns
+@code{t} for any kind of interactive call, including keyboard macros.
+
+If in doubt, use @code{any}; the only known proper use of
+@code{interactive} is if you need to decide whether to display a
+helpful message while a function is running.
+
+A function is never considered to be called interactively if it was
+called via Lisp evaluation (or with @code{apply} or @code{funcall}).
 @end defun
 
-   Here's an example of using @code{called-interactively-p}:
+@noindent
+Here is an example of using @code{called-interactively-p}:
 
 @example
 @group
 (defun foo ()
   (interactive)
-  (when (called-interactively-p)
-    (message "foo"))
-  'haha)
-     @result{} foo
+  (when (called-interactively-p 'any)
+    (message "Interactive!")
+    'foo-called-interactively))
 @end group
 
 @group
 ;; @r{Type @kbd{M-x foo}.}
-     @print{} foo
+     @print{} Interactive!
 @end group
 
 @group
 (foo)
-     @result{} haha
+     @result{} nil
 @end group
 @end example
 
-  Here is another example that contrasts direct and indirect
-calls to @code{called-interactively-p}.
+@noindent
+Here is another example that contrasts direct and indirect calls to
+@code{called-interactively-p}.
 
 @example
 @group
 (defun bar ()
   (interactive)
-  (setq foobar (list (foo) (called-interactively-p))))
-     @result{} bar
+  (message "%s" (list (foo) (called-interactively-p 'any))))
 @end group
 
 @group
 ;; @r{Type @kbd{M-x bar}.}
-;; @r{This does not display a message.}
-@end group
-
-@group
-foobar
-     @result{} (nil t)
+     @print{} (nil t)
 @end group
 @end example
 
-  If you want to treat commands run in keyboard macros just like calls
-from Lisp programs, test @code{interactive-p} instead of
-@code{called-interactively-p}.
-
-@defun interactive-p
-This function returns @code{t} if the containing function (the one
-whose code includes the call to @code{interactive-p}) was called in
-direct response to user input.  This means that it was called with the
-function @code{call-interactively}, and that a keyboard macro is
-not running, and that Emacs is not running in batch mode.
-@end defun
-
 @node Command Loop Info
 @comment  node-name,  next,  previous,  up
 @section Information from the Command Loop
@@ -972,23 +972,23 @@
 @end defun
 
 @menu
-* Keyboard Events::		Ordinary characters--keys with symbols on them.
-* Function Keys::		Function keys--keys with names, not symbols.
+* Keyboard Events::             Ordinary characters--keys with symbols on them.
+* Function Keys::               Function keys--keys with names, not symbols.
 * Mouse Events::                Overview of mouse events.
-* Click Events::		Pushing and releasing a mouse button.
-* Drag Events::			Moving the mouse before releasing the button.
-* Button-Down Events::		A button was pushed and not yet released.
+* Click Events::                Pushing and releasing a mouse button.
+* Drag Events::                 Moving the mouse before releasing the button.
+* Button-Down Events::          A button was pushed and not yet released.
 * Repeat Events::               Double and triple click (or drag, or down).
-* Motion Events::		Just moving the mouse, not pushing a button.
-* Focus Events::		Moving the mouse between frames.
+* Motion Events::               Just moving the mouse, not pushing a button.
+* Focus Events::                Moving the mouse between frames.
 * Misc Events::                 Other events the system can generate.
-* Event Examples::		Examples of the lists for mouse events.
-* Classifying Events::		Finding the modifier keys in an event symbol.
-				Event types.
-* Accessing Mouse::		Functions to extract info from mouse events.
-* Accessing Scroll::		Functions to get info from scroll bar events.
+* Event Examples::              Examples of the lists for mouse events.
+* Classifying Events::          Finding the modifier keys in an event symbol.
+                                Event types.
+* Accessing Mouse::             Functions to extract info from mouse events.
+* Accessing Scroll::            Functions to get info from scroll bar events.
 * Strings of Events::           Special considerations for putting
-				  keyboard character events in a string.
+                                  keyboard character events in a string.
 @end menu
 
 @node Keyboard Events
@@ -2162,12 +2162,12 @@
   For higher-level input facilities, see @ref{Minibuffers}.
 
 @menu
-* Key Sequence Input::		How to read one key sequence.
-* Reading One Event::		How to read just one event.
+* Key Sequence Input::          How to read one key sequence.
+* Reading One Event::           How to read just one event.
 * Event Mod::                   How Emacs modifies events as they are read.
 * Invoking the Input Method::   How reading an event uses the input method.
-* Quoted Character Input::	Asking the user to specify a character.
-* Event Input Misc::    	How to reread or throw away input events.
+* Quoted Character Input::      Asking the user to specify a character.
+* Event Input Misc::            How to reread or throw away input events.
 @end menu
 
 @node Key Sequence Input
@@ -2309,10 +2309,8 @@
 @cindex reading a single event
 @cindex event, reading only one
 
-  The lowest level functions for command input are those that read a
-single event.
-
-None of the three functions below suppresses quitting.
+  The lowest level functions for command input are @code{read-event},
+@code{read-char}, and @code{read-char-exclusive}.
 
 @defun read-event &optional prompt inherit-input-method seconds
 This function reads and returns the next event of command input, waiting
@@ -2409,11 +2407,31 @@
 gets a character.  The arguments work as in @code{read-event}.
 @end defun
 
+  None of the above functions suppress quitting.
+
 @defvar num-nonmacro-input-events
 This variable holds the total number of input events received so far
 from the terminal---not counting those generated by keyboard macros.
 @end defvar
 
+  We emphasize that, unlike @code{read-key-sequence}, the functions
+@code{read-event}, @code{read-char}, and @code{read-char-exclusive} do
+not perform the translations described in @ref{Translation Keymaps}.
+If you wish to read a single key taking these translations into
+account, use the function @code{read-key}:
+
+@defun read-key &optional prompt
+This function reads a single key.  It is ``intermediate'' between
+@code{read-key-sequence} and @code{read-event}.  Unlike the former, it
+reads a single key, not a key sequence.  Unlike the latter, it does
+not return a raw event, but decodes and translates the user input
+according to @code{input-decode-map}, @code{local-function-key-map},
+and @code{key-translation-map} (@pxref{Translation Keymaps}).
+
+The argument @var{prompt} is either a string to be displayed in the
+echo area as a prompt, or @code{nil}, meaning not to display a prompt.
+@end defun
+
 @node Event Mod
 @subsection Modifying and Translating Input Events
 
@@ -2875,9 +2893,9 @@
     (while (not done)
       (let ((inhibit-quit first)
             @dots{})
-	(and prompt (message "%s-" prompt))
-	(setq char (read-event))
-	(if inhibit-quit (setq quit-flag nil)))
+        (and prompt (message "%s-" prompt))
+        (setq char (read-event))
+        (if inhibit-quit (setq quit-flag nil)))
       @r{@dots{}set the variable @code{code}@dots{}})
     code))
 @end example
--- a/doc/lispref/compile.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/compile.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -47,9 +47,9 @@
 * Compilation Functions::       Byte compilation functions.
 * Docs and Compilation::        Dynamic loading of documentation strings.
 * Dynamic Loading::             Dynamic loading of individual functions.
-* Eval During Compile::  	Code to be evaluated when you compile.
+* Eval During Compile::         Code to be evaluated when you compile.
 * Compiler Errors::             Handling compiler error messages.
-* Byte-Code Objects::		The data type used for byte-compiled functions.
+* Byte-Code Objects::           The data type used for byte-compiled functions.
 * Disassembly::                 Disassembling byte-code; how to read byte-code.
 @end menu
 
--- a/doc/lispref/debugging.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/debugging.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -28,7 +28,7 @@
 
 @menu
 * Debugger::            How the Emacs Lisp debugger is implemented.
-* Edebug::		A source-level Emacs Lisp debugger.
+* Edebug::              A source-level Emacs Lisp debugger.
 * Syntax Errors::       How to find syntax errors.
 * Test Coverage::       Ensuring you have tested all branches in your code.
 * Compilation Errors::  How to find errors that show up in byte compilation.
@@ -58,7 +58,7 @@
 
 @menu
 * Error Debugging::       Entering the debugger when an error happens.
-* Infinite Loops::	  Stopping and debugging a program that doesn't exit.
+* Infinite Loops::        Stopping and debugging a program that doesn't exit.
 * Function Debugging::    Entering it when a certain function is called.
 * Explicit Debug::        Entering it at a certain point in the program.
 * Using Debugger::        What the debugger does; what you see while in it.
--- a/doc/lispref/display.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/display.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1181,7 +1181,7 @@
 @menu
 * Managing Overlays::   Creating and moving overlays.
 * Overlay Properties::  How to read and set properties.
-			What properties do to the screen display.
+                          What properties do to the screen display.
 * Finding Overlays::    Searching for overlays.
 @end menu
 
--- a/doc/lispref/edebug.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/edebug.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -59,24 +59,24 @@
 start using it.
 
 @menu
-* Using Edebug::		Introduction to use of Edebug.
-* Instrumenting::		You must instrument your code
-				  in order to debug it with Edebug.
+* Using Edebug::                Introduction to use of Edebug.
+* Instrumenting::               You must instrument your code
+                                  in order to debug it with Edebug.
 * Modes: Edebug Execution Modes. Execution modes, stopping more or less often.
-* Jumping::			Commands to jump to a specified place.
-* Misc: Edebug Misc.		Miscellaneous commands.
+* Jumping::                     Commands to jump to a specified place.
+* Misc: Edebug Misc.            Miscellaneous commands.
 * Breaks::                      Setting breakpoints to make the program stop.
-* Trapping Errors::		Trapping errors with Edebug.
-* Views: Edebug Views.		Views inside and outside of Edebug.
-* Eval: Edebug Eval.		Evaluating expressions within Edebug.
-* Eval List::			Expressions whose values are displayed
-				  each time you enter Edebug.
-* Printing in Edebug::		Customization of printing.
-* Trace Buffer::		How to produce trace output in a buffer.
-* Coverage Testing::		How to test evaluation coverage.
-* The Outside Context::		Data that Edebug saves and restores.
-* Edebug and Macros::	        Specifying how to handle macro calls.
-* Options: Edebug Options.	Option variables for customizing Edebug.
+* Trapping Errors::             Trapping errors with Edebug.
+* Views: Edebug Views.          Views inside and outside of Edebug.
+* Eval: Edebug Eval.            Evaluating expressions within Edebug.
+* Eval List::                   Expressions whose values are displayed
+                                  each time you enter Edebug.
+* Printing in Edebug::          Customization of printing.
+* Trace Buffer::                How to produce trace output in a buffer.
+* Coverage Testing::            How to test evaluation coverage.
+* The Outside Context::         Data that Edebug saves and restores.
+* Edebug and Macros::           Specifying how to handle macro calls.
+* Options: Edebug Options.      Option variables for customizing Edebug.
 @end menu
 
 @node Using Edebug
@@ -186,7 +186,7 @@
 
   While Edebug is active, the command @kbd{I}
 (@code{edebug-instrument-callee}) instruments the definition of the
-function or macro called by the list form after point, if is not already
+function or macro called by the list form after point, if it is not already
 instrumented.  This is possible only if Edebug knows where to find the
 source for that function; for this reason, after loading Edebug,
 @code{eval-region} records the position of every definition it
@@ -429,8 +429,8 @@
 
 @menu
 * Breakpoints::                 Breakpoints at stop points.
-* Global Break Condition::	Breaking on an event.
-* Source Breakpoints::  	Embedding breakpoints in source code.
+* Global Break Condition::      Breaking on an event.
+* Source Breakpoints::          Embedding breakpoints in source code.
 @end menu
 
 @node Breakpoints
@@ -940,9 +940,9 @@
 be completely transparent.
 
 @menu
-* Checking Whether to Stop::	When Edebug decides what to do.
-* Edebug Display Update::	When Edebug updates the display.
-* Edebug Recursive Edit::	When Edebug stops execution.
+* Checking Whether to Stop::    When Edebug decides what to do.
+* Edebug Display Update::       When Edebug updates the display.
+* Edebug Recursive Edit::       When Edebug stops execution.
 @end menu
 
 @node Checking Whether to Stop
@@ -1074,9 +1074,9 @@
 
 @menu
 * Instrumenting Macro Calls::   The basic problem.
-* Specification List::		How to specify complex patterns of evaluation.
-* Backtracking::		What Edebug does when matching fails.
-* Specification Examples::	To help understand specifications.
+* Specification List::          How to specify complex patterns of evaluation.
+* Backtracking::                What Edebug does when matching fails.
+* Specification Examples::      To help understand specifications.
 @end menu
 
 @node Instrumenting Macro Calls
--- a/doc/lispref/elisp.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/elisp.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,7 +8,7 @@
 @c Please remember to update the edition number in README as well.
 @c And also the copies in vol1.texi and vol2.texi.
 @set VERSION  3.0
-@set EMACSVER 23.1.95
+@set EMACSVER 23.2.50
 @set DATE July 2009
 
 @c in general, keep the following line commented out, unless doing a
@@ -143,7 +143,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -155,7 +155,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -291,10 +291,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -311,7 +311,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -379,7 +379,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -460,9 +460,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -522,9 +522,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -534,7 +534,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -563,7 +563,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -573,24 +573,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -607,8 +607,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -633,13 +633,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -649,7 +649,6 @@
 Completion
 
 * Basic Completion::        Low-level functions for completing strings.
-                              (These are too low level to use the minibuffer.)
 * Minibuffer Completion::   Invoking the minibuffer with completion.
 * Completion Commands::     Minibuffer commands that do completion.
 * High-Level Completion::   Convenient special cases of completion
@@ -667,7 +666,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -701,7 +700,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -851,9 +850,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -865,7 +864,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -935,8 +934,8 @@
 * 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.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -956,37 +955,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * 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.
+* 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.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1045,7 +1044,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1071,7 +1070,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1086,9 +1085,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1098,8 +1097,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1142,7 +1141,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1159,9 +1158,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1171,7 +1170,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1260,10 +1259,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1272,9 +1271,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1296,7 +1295,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                              What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1376,14 +1375,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1410,8 +1409,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1421,7 +1420,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/errors.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/errors.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -63,11 +63,11 @@
 @xref{Lisp and Coding Systems}.
 
 @item cyclic-function-indirection
-@code{"Symbol's chain of function indirections\@* contains a loop"}@*
+@code{"Symbol's chain of function indirections contains a loop"}@*
 @xref{Function Indirection}.
 
 @item cyclic-variable-indirection
-@code{"Symbol's chain of variable indirections\@* contains a loop"}@*
+@code{"Symbol's chain of variable indirections contains a loop"}@*
 @xref{Variable Aliases}.
 
 @item end-of-buffer
--- a/doc/lispref/eval.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/eval.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -110,7 +110,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
--- a/doc/lispref/files.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/files.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/files
 @node Files, Backups and Auto-Saving, Documentation, Top
@@ -38,9 +39,9 @@
 * Changing Files::           Renaming files, changing protection, etc.
 * File Names::               Decomposing and expanding file names.
 * Contents of Directories::  Getting a list of the files in a directory.
-* Create/Delete Dirs::	     Creating and Deleting Directories.
-* Magic File Names::	     Defining "magic" special handling
-			       for certain file names.
+* Create/Delete Dirs::       Creating and Deleting Directories.
+* Magic File Names::         Defining "magic" special handling
+                               for certain file names.
 * Format Conversion::        Conversion to and from various file formats.
 @end menu
 
@@ -755,7 +756,7 @@
 @menu
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 @end menu
--- a/doc/lispref/frames.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/frames.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -85,26 +85,26 @@
 * Frame Parameters::            Controlling frame size, position, font, etc.
 * Terminal Parameters::         Parameters common for all frames on terminal.
 * 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.
-* Raising and Lowering::	Raising a frame makes it hide other windows;
-				  lowering it makes the others hide it.
-* Frame Configurations::	Saving the state of all frames.
-* Mouse Tracking::		Getting events that say when the mouse moves.
-* Mouse Position::		Asking where the mouse is, or moving it.
-* Pop-Up Menus::		Displaying a menu for the user to select from.
+* 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.
+* Raising and Lowering::        Raising a frame makes it hide other windows;
+                                  lowering it makes the others hide it.
+* Frame Configurations::        Saving the state of all frames.
+* Mouse Tracking::              Getting events that say when the mouse moves.
+* Mouse Position::              Asking where the mouse is, or moving it.
+* Pop-Up Menus::                Displaying a menu for the user to select from.
 * Dialog Boxes::                Displaying a box to ask yes or no.
 * Pointer Shape::               Specifying the shape of the mouse pointer.
 * Window System Selections::    Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	                Getting the definitions of color names.
+* Color Names::                 Getting the definitions of color names.
 * Text Terminal Colors::        Defining colors for text-only terminals.
-* Resources::		        Getting resource values from the server.
+* Resources::                   Getting resource values from the server.
 * Display Feature Testing::     Determining the features of a terminal.
 @end menu
 
@@ -343,7 +343,7 @@
 
 @menu
 * Parameter Access::       How to change a frame's parameters.
-* Initial Parameters::	   Specifying frame parameters when you make a frame.
+* Initial Parameters::     Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::      Changing the size and position of a frame.
 * Geometry::               Parsing geometry specifications.
--- a/doc/lispref/functions.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/functions.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/functions
 @node Functions, Macros, Variables, Top
@@ -22,7 +23,7 @@
 * Function Cells::        Accessing or setting the function definition
                             of a symbol.
 * Obsolete Functions::    Declaring functions obsolete.
-* Inline Functions::	  Defining functions that the compiler will open code.
+* Inline Functions::      Defining functions that the compiler will open code.
 * Declaring Functions::   Telling the compiler that a function is defined.
 * Function Safety::       Determining whether a function is safe to call.
 * Related Topics::        Cross-references to specific Lisp primitives
@@ -1197,7 +1198,7 @@
 @end defun
 
 You can define a function as an alias and declare it obsolete at the
-same time using the macro @code{define-obsolete-function-alias}.
+same time using the macro @code{define-obsolete-function-alias}:
 
 @defmac define-obsolete-function-alias obsolete-name current-name &optional when docstring
 This macro marks the function @var{obsolete-name} obsolete and also
@@ -1210,6 +1211,33 @@
 @end example
 @end defmac
 
+In addition, you can mark a certain a particular calling convention
+for a function as obsolete:
+
+@defun set-advertised-calling-convention function signature
+This function specifies the argument list @var{signature} as the
+correct way to call @var{function}.  This causes the Emacs byte
+compiler to issue a warning whenever it comes across an Emacs Lisp
+program that calls @var{function} any other way (however, it will
+still allow the code to be byte compiled).
+
+For instance, in old versions of Emacs the @code{sit-for} function
+accepted three arguments, like this
+
+@smallexample
+  (sit-for seconds milliseconds nodisp)
+@end smallexample
+
+However, calling @code{sit-for} this way is considered obsolete
+(@pxref{Waiting}).  The old calling convention is deprecated like
+this:
+
+@smallexample
+(set-advertised-calling-convention
+  'sit-for '(seconds &optional nodisp))
+@end smallexample
+@end defun
+
 @node Inline Functions
 @section Inline Functions
 @cindex inline functions
--- a/doc/lispref/internals.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/internals.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -761,22 +761,22 @@
 @group
   switch (coordinates_in_window (XWINDOW (window), &x, &y))
     @{
-    case 0:			/* NOT in window at all. */
+    case 0:                     /* NOT in window at all. */
       return Qnil;
 @end group
 
 @group
-    case 1:			/* In text part of window. */
+    case 1:                     /* In text part of window. */
       return Fcons (make_number (x), make_number (y));
 @end group
 
 @group
-    case 2:			/* In mode line of window. */
+    case 2:                     /* In mode line of window. */
       return Qmode_line;
 @end group
 
 @group
-    case 3:			/* On right border of window.  */
+    case 3:                     /* On right border of window.  */
       return Qvertical_line;
 @end group
 
--- a/doc/lispref/keymaps.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/keymaps.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/keymaps
 @node Keymaps, Modes, Command Loop, Top
@@ -16,19 +17,19 @@
 is found.  The whole process is called @dfn{key lookup}.
 
 @menu
-* Key Sequences::        	Key sequences as Lisp objects.
+* Key Sequences::               Key sequences as Lisp objects.
 * Keymap Basics::               Basic concepts of keymaps.
-* Format of Keymaps::		What a keymap looks like as a Lisp object.
-* Creating Keymaps:: 		Functions to create and copy keymaps.
-* Inheritance and Keymaps::	How one keymap can inherit the bindings
-				   of another keymap.
+* Format of Keymaps::           What a keymap looks like as a Lisp object.
+* Creating Keymaps::            Functions to create and copy keymaps.
+* Inheritance and Keymaps::     How one keymap can inherit the bindings
+                                   of another keymap.
 * Prefix Keys::                 Defining a key with a keymap as its definition.
 * Active Keymaps::              How Emacs searches the active keymaps
                                    for a key binding.
 * Searching Keymaps::           A pseudo-Lisp summary of searching active maps.
 * Controlling Active Maps::     Each buffer has a local keymap
                                    to override the standard (global) bindings.
-				   A minor mode can also override them.
+                                   A minor mode can also override them.
 * Key Lookup::                  Finding a key's binding in one keymap.
 * Functions for Key Lookup::    How to request key lookup.
 * Changing Key Bindings::       Redefining a key in a keymap.
@@ -36,7 +37,7 @@
 * Translation Keymaps::         Keymaps for translating sequences of events.
 * Key Binding Commands::        Interactive interfaces for redefining keys.
 * Scanning Keymaps::            Looking through all keymaps, for printing help.
-* Menu Keymaps::		Defining a menu as a keymap.
+* Menu Keymaps::                Defining a menu as a keymap.
 @end menu
 
 @node Key Sequences
@@ -1959,11 +1960,11 @@
 feature.
 
 @menu
-* Defining Menus::		How to make a keymap that defines a menu.
-* Mouse Menus::			How users actuate the menu with the mouse.
-* Keyboard Menus::		How users actuate the menu with the keyboard.
-* Menu Example::		Making a simple menu.
-* Menu Bar::			How to customize the menu bar.
+* Defining Menus::              How to make a keymap that defines a menu.
+* Mouse Menus::                 How users actuate the menu with the mouse.
+* Keyboard Menus::              How users actuate the menu with the keyboard.
+* Menu Example::                Making a simple menu.
+* Menu Bar::                    How to customize the menu bar.
 * Tool Bar::                    A tool bar is a row of images.
 * Modifying Menus::             How to add new items to a menu.
 @end menu
@@ -2413,10 +2414,10 @@
 @smallexample
 (define-key menu-bar-replace-menu [tags-repl-continue]
   '(menu-item "Continue Replace" tags-loop-continue
-	      :help "Continue last tags replace operation"))
+              :help "Continue last tags replace operation"))
 (define-key menu-bar-replace-menu [tags-repl]
   '(menu-item "Replace in tagged files" tags-query-replace
-	      :help "Interactively replace a regexp in all tagged files"))
+              :help "Interactively replace a regexp in all tagged files"))
 (define-key menu-bar-replace-menu [separator-replace-tags]
   '(menu-item "--"))
 ;; @r{@dots{}}
@@ -2470,9 +2471,13 @@
 @cindex menu bar
 
   Most window systems allow each frame to have a @dfn{menu bar}---a
-permanently displayed menu stretching horizontally across the top of the
-frame.  The items of the menu bar are the subcommands of the fake
-``function key'' @code{menu-bar}, as defined in the active keymaps.
+permanently displayed menu stretching horizontally across the top of
+the frame.  (In order for a frame to display a menu bar, its
+@code{menu-bar-lines} parameter must be greater than zero.
+@xref{Layout Parameters}.)
+
+  The items of the menu bar are the subcommands of the fake ``function
+key'' @code{menu-bar}, as defined in the active keymaps.
 
   To add an item to the menu bar, invent a fake ``function key'' of your
 own (let's call it @var{key}), and make a binding for the key sequence
@@ -2490,13 +2495,6 @@
 from the keymaps that would be active if @code{overriding-local-map}
 were @code{nil}.  @xref{Active Keymaps}.
 
-  In order for a frame to display a menu bar, its @code{menu-bar-lines}
-parameter must be greater than zero.  Emacs uses just one line for the
-menu bar itself; if you specify more than one line, the other lines
-serve to separate the menu bar from the windows in the frame.  We
-recommend 1 or 2 as the value of @code{menu-bar-lines}.  @xref{Layout
-Parameters}.
-
   Here's an example of setting up a menu bar item:
 
 @example
@@ -2535,8 +2533,8 @@
 @end example
 
 @noindent
-@code{edit} is the fake function key used by the global map for the
-@samp{Edit} menu bar item.  The main reason to suppress a global
+Here, @code{edit} is the fake function key used by the global map for
+the @samp{Edit} menu bar item.  The main reason to suppress a global
 menu bar item is to regain space for mode-specific items.
 
 @defvar menu-bar-final-items
@@ -2557,6 +2555,23 @@
 in the usual case.
 @end defvar
 
+Next to every menu bar item, Emacs displays a key binding that runs
+the same command (if such a key binding exists).  This serves as a
+convenient hint for users who do not know the key binding.  If a
+command has multiple bindings, Emacs normally displays the first one
+it finds.  You can specify one particular key binding by assigning an
+@code{:advertised-binding} symbol property to the command.  For
+instance, the following tells Emacs to show @kbd{C-/} for the
+@code{undo} menu item:
+
+@smallexample
+(put 'undo :advertised-binding [?\C-/])
+@end smallexample
+
+@noindent
+If the @code{:advertised-binding} property specifies a key binding
+that the command does not actually have, it is ignored.
+
 @node Tool Bar
 @subsection Tool bars
 @cindex tool bar
@@ -2642,8 +2657,8 @@
 By default, the global map binds @code{[tool-bar]} as follows:
 @example
 (global-set-key [tool-bar]
-		'(menu-item "tool bar" ignore
-			    :filter (lambda (ignore) tool-bar-map)))
+                '(menu-item "tool bar" ignore
+                            :filter (lambda (ignore) tool-bar-map)))
 @end example
 @noindent
 Thus the tool bar map is derived dynamically from the value of variable
--- a/doc/lispref/loading.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/loading.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/loading
 @node Loading, Byte Compilation, Customization, Top
@@ -43,9 +44,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 @end menu
 
 @node How Programs Do Loading
@@ -823,7 +824,7 @@
 @code{load-history}.
 
 @defvar load-history
-This value of this variable is an alist that associates the names of
+The value of this variable is an alist that associates the names of
 loaded library files with the names of the functions and variables
 they defined, as well as the features they provided or required.
 
--- a/doc/lispref/locals.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/locals.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -85,6 +85,9 @@
 @item case-fold-search
 @xref{Searching and Case}.
 
+@item comment-column
+@xref{Comments,,, emacs, The GNU Emacs Manual}.
+
 @item ctl-arrow
 @xref{Usual Display}.
 
@@ -94,9 +97,6 @@
 @item cursor-type
 @xref{Cursor Parameters}.
 
-@item comment-column
-@xref{Comments,,, emacs, The GNU Emacs Manual}.
-
 @item default-directory
 @xref{File Name Expansion}.
 
--- a/doc/lispref/maps.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/maps.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -163,7 +163,7 @@
 
 @item key-translation-map
 A keymap for translating keys.  This one overrides ordinary key
-bindings, unlike @code{local- function-key-map}.  @xref{Translation
+bindings, unlike @code{local-function-key-map}.  @xref{Translation
 Keymaps}.
 
 @item kmacro-map
--- a/doc/lispref/minibuf.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/minibuf.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/minibuf
 @node Minibuffers, Command Loop, Read and Print, Top
@@ -22,13 +23,13 @@
 * Intro to Minibuffers::      Basic information about minibuffers.
 * Text from Minibuffer::      How to read a straight text string.
 * Object from Minibuffer::    How to read a Lisp object or expression.
-* Minibuffer History::	      Recording previous minibuffer inputs
-				so the user can reuse them.
+* Minibuffer History::        Recording previous minibuffer inputs
+                                so the user can reuse them.
 * Initial Input::             Specifying initial contents for the minibuffer.
 * Completion::                How to invoke and customize completion.
 * Yes-or-No Queries::         Asking a question with a simple answer.
-* Multiple Queries::	      Asking a series of similar questions.
-* Reading a Password::	      Reading a password from the terminal.
+* Multiple Queries::          Asking a series of similar questions.
+* Reading a Password::        Reading a password from the terminal.
 * Minibuffer Commands::       Commands used as key bindings in minibuffers.
 * Minibuffer Contents::       How such commands access the minibuffer text.
 * Minibuffer Windows::        Operating on the special minibuffer windows.
@@ -511,7 +512,7 @@
 @defopt history-length
 The value of this variable specifies the maximum length for all
 history lists that don't specify their own maximum lengths.  If the
-value is @code{t}, that means there no maximum (don't delete old
+value is @code{t}, that means there is no maximum (don't delete old
 elements).  The value of @code{history-length} property of the history
 list variable's symbol, if set, overrides this variable for that
 particular history list.
@@ -626,7 +627,6 @@
 
 @menu
 * Basic Completion::       Low-level functions for completing strings.
-                             (These are too low level to use the minibuffer.)
 * Minibuffer Completion::  Invoking the minibuffer with completion.
 * Completion Commands::    Minibuffer commands that do completion.
 * High-Level Completion::  Convenient special cases of completion
@@ -640,31 +640,23 @@
 @node Basic Completion
 @subsection Basic Completion Functions
 
-  The completion functions @code{try-completion},
-@code{all-completions} and @code{test-completion} have nothing in
-themselves to do with minibuffers.  We describe them in this chapter
-so as to keep them near the higher-level completion features that do
-use the minibuffer.
-
-  If you store a completion alist in a variable, you should mark the
-variable as ``risky'' with a non-@code{nil}
-@code{risky-local-variable} property.
+  The following completion functions have nothing in themselves to do
+with minibuffers.  We describe them here to keep them near the
+higher-level completion features that do use the minibuffer.
 
 @defun try-completion string collection &optional predicate
 This function returns the longest common substring of all possible
 completions of @var{string} in @var{collection}.  The value of
 @var{collection} must be a list of strings or symbols, an alist, an
-obarray, a hash table, or a function that implements a virtual set of
-strings (see below).
+obarray, a hash table, or a completion function (@pxref{Programmed
+Completion}).
 
 Completion compares @var{string} against each of the permissible
-completions specified by @var{collection}; if the beginning of the
-permissible completion equals @var{string}, it matches.  If no permissible
-completions match, @code{try-completion} returns @code{nil}.  If only
-one permissible completion matches, and the match is exact, then
-@code{try-completion} returns @code{t}.  Otherwise, the value is the
-longest initial sequence common to all the permissible completions that
-match.
+completions specified by @var{collection}.  If no permissible
+completions match, @code{try-completion} returns @code{nil}.  If there
+is just one matching completion, and the match is exact, it returns
+@code{t}.  Otherwise, it returns the longest initial sequence common
+to all possible matching completions.
 
 If @var{collection} is an alist (@pxref{Association Lists}), the
 permissible completions are the elements of the alist that are either
@@ -688,13 +680,13 @@
 If @var{collection} is a hash table, then the keys that are strings
 are the possible completions.  Other keys are ignored.
 
-You can also use a symbol that is a function as @var{collection}.  Then
-the function is solely responsible for performing completion;
+You can also use a symbol that is a function as @var{collection}.
+Then the function is solely responsible for performing completion;
 @code{try-completion} returns whatever this function returns.  The
 function is called with three arguments: @var{string}, @var{predicate}
-and @code{nil}.  (The reason for the third argument is so that the same
+and @code{nil} (the reason for the third argument is so that the same
 function can be used in @code{all-completions} and do the appropriate
-thing in either case.)  @xref{Programmed Completion}.
+thing in either case).  @xref{Programmed Completion}.
 
 If the argument @var{predicate} is non-@code{nil}, then it must be a
 function of one argument, unless @var{collection} is a hash table, in
@@ -823,6 +815,29 @@
 it returns, @code{test-completion} returns in turn.
 @end defun
 
+@defun completion-boundaries string collection predicate suffix
+This function returns the boundaries of the field on which @var{collection}
+will operate, assuming that @var{string} holds the text before point
+and @var{suffix} holds the text after point.
+
+Normally completion operates on the whole string, so for all normal
+collections, this will always return @code{(0 . (length
+@var{suffix}))}.  But more complex completion such as completion on
+files is done one field at a time.  For example, completion of
+@code{"/usr/sh"} will include @code{"/usr/share/"} but not
+@code{"/usr/share/doc"} even if @code{"/usr/share/doc"} exists.
+Also @code{all-completions} on @code{"/usr/sh"} will not include
+@code{"/usr/share/"} but only @code{"share/"}.  So if @var{string} is
+@code{"/usr/sh"} and @var{suffix} is @code{"e/doc"},
+@code{completion-boundaries} will return @code{(5 . 1)} which tells us
+that the @var{collection} will only return completion information that
+pertains to the area after @code{"/usr/"} and before @code{"/doc"}.
+@end defun
+
+If you store a completion alist in a variable, you should mark the
+variable as ``risky'' with a non-@code{nil}
+@code{risky-local-variable} property.  @xref{File Local Variables}.
+
 @defvar completion-ignore-case
 If the value of this variable is non-@code{nil}, Emacs does not
 consider case significant in completion.  Note, however, that this
@@ -855,6 +870,23 @@
 @end smallexample
 @end defmac
 
+The function @code{completion-in-region} provides a convenient way to
+perform completion on an arbitrary stretch of text in an Emacs buffer:
+
+@defun completion-in-region start end collection &optional predicate
+This function completes the text in the current buffer between the
+positions @var{start} and @var{end}, using @var{collection}.  The
+argument @var{collection} has the same meaning as in
+@code{try-completion} (@pxref{Basic Completion}).
+
+This function inserts the completion text directly into the current
+buffer.  Unlike @code{completing-read} (@pxref{Minibuffer
+Completion}), it does not activate the minibuffer.
+
+For this function to work, point must be somewhere between @var{start}
+and @var{end}.
+@end defun
+
 @node Minibuffer Completion
 @subsection Completion and the Minibuffer
 @cindex minibuffer completion
@@ -869,12 +901,12 @@
 @var{prompt}, which must be a string.
 
 The actual completion is done by passing @var{collection} and
-@var{predicate} to the function @code{try-completion}.  This happens
-in certain commands bound in the local keymaps used for completion.
-Some of these commands also call @code{test-completion}.  Thus, if
-@var{predicate} is non-@code{nil}, it should be compatible with
-@var{collection} and @code{completion-ignore-case}.  @xref{Definition
-of test-completion}.
+@var{predicate} to the function @code{try-completion} (@pxref{Basic
+Completion}).  This happens in certain commands bound in the local
+keymaps used for completion.  Some of these commands also call
+@code{test-completion}.  Thus, if @var{predicate} is non-@code{nil},
+it should be compatible with @var{collection} and
+@code{completion-ignore-case}.  @xref{Definition of test-completion}.
 
 The value of the optional argument @var{require-match} determines how
 the user may exit the minibuffer:
@@ -1603,14 +1635,17 @@
 
   Sometimes it is not possible to create an alist or an obarray
 containing all the intended possible completions.  In such a case, you
-can supply your own function to compute the completion of a given string.
-This is called @dfn{programmed completion}.
+can supply your own function to compute the completion of a given
+string.  This is called @dfn{programmed completion}.  Emacs uses
+programmed completion when completing file names (@pxref{File Name
+Completion}), among many other cases.
 
-  To use this feature, pass a symbol with a function definition as the
-@var{collection} argument to @code{completing-read}.  The function
+  To use this feature, pass a function as the @var{collection}
+argument to @code{completing-read}.  The function
 @code{completing-read} arranges to pass your completion function along
-to @code{try-completion} and @code{all-completions}, which will then let
-your function do all the work.
+to @code{try-completion}, @code{all-completions}, and other basic
+completion functions, which will then let your function do all
+the work.
 
   The completion function should accept three arguments:
 
@@ -1624,10 +1659,14 @@
 and ignore the possible match if the predicate returns @code{nil}.
 
 @item
-A flag specifying the type of operation.
+A flag specifying the type of operation.  The best way to think about
+it is that the function stands for an object (in the
+``object-oriented'' sense of the word), and this third argument
+specifies which method to run.
 @end itemize
 
-  There are three flag values for three operations:
+  There are currently four methods, i.e. four flag values, one for
+  each of the four different basic operations:
 
 @itemize @bullet
 @item
@@ -1649,6 +1688,13 @@
 @code{lambda} specifies @code{test-completion}.  The completion
 function should return @code{t} if the specified string is an exact
 match for some possibility; @code{nil} otherwise.
+
+@item
+@code{(boundaries . SUFFIX)} specifies @code{completion-boundaries}.
+The function should return a value of the form @code{(boundaries
+START . END)} where START is the position of the beginning boundary in
+in the string to complete, and END is the position of the end boundary
+in SUFFIX.
 @end itemize
 
   It would be consistent and clean for completion functions to allow
@@ -1659,9 +1705,6 @@
 function.  So you must arrange for any function you wish to use for
 completion to be encapsulated in a symbol.
 
-  Emacs uses programmed completion when completing file names.
-@xref{File Name Completion}.
-
 @defun completion-table-dynamic function
 This function is a convenient way to write a function that can act as
 programmed completion function.  The argument @var{function} should be
@@ -1671,6 +1714,19 @@
 and the interface for programmed completion functions.
 @end defun
 
+@defvar completion-annotate-function
+The value of this variable, if non-@code{nil}, should be a function
+for ``annotating'' the entries in the @samp{*Completions*} buffer.
+The function should accept a single argument, the completion string
+for an entry.  It should return an additional string to display next
+to that entry in the @samp{*Completions*} buffer, or @code{nil} if no
+additional string is to be displayed.
+
+The function can determine the collection used for the current
+completion via the variable @code{minibuffer-completion-table}
+(@pxref{Completion Commands}).
+@end defvar
+
 @node Yes-or-No Queries
 @section Yes-or-No Queries
 @cindex asking the user questions
--- a/doc/lispref/modes.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/modes.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1342,7 +1342,7 @@
   Global minor modes distributed with Emacs should if possible support
 enabling and disabling via Custom (@pxref{Customization}).  To do this,
 the first step is to define the mode variable with @code{defcustom}, and
-specify @code{:type boolean}.
+specify @code{:type 'boolean}.
 
   If just setting the variable is not sufficient to enable the mode, you
 should also specify a @code{:set} method which enables the mode by
@@ -1494,7 +1494,7 @@
  ;; The indicator for the mode line.
  " Hungry"
  ;; The minor mode bindings.
- '(("\C-\^?" . hungry-electric-delete))
+ '(([C-delete] . hungry-electric-delete))
  :group 'hunger)
 @end smallexample
 
@@ -1526,8 +1526,8 @@
  :lighter " Hungry"
  ;; The minor mode bindings.
  :keymap
- '(("\C-\^?" . hungry-electric-delete)
-   ("\C-\M-\^?"
+ '(([C-delete] . hungry-electric-delete)
+   ([C-M-delete]
     . (lambda ()
         (interactive)
         (hungry-electric-delete t))))
--- a/doc/lispref/numbers.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/numbers.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -21,10 +21,10 @@
 
 @menu
 * Integer Basics::            Representation and range of integers.
-* Float Basics::	      Representation and range of floating point.
+* Float Basics::              Representation and range of floating point.
 * Predicates on Numbers::     Testing for numbers.
 * Comparison of Numbers::     Equality and inequality predicates.
-* Numeric Conversions::	      Converting float to integer and vice versa.
+* Numeric Conversions::       Converting float to integer and vice versa.
 * Arithmetic Operations::     How to add, subtract, multiply and divide.
 * Rounding Operations::       Explicitly rounding floating point numbers.
 * Bitwise Operations::        Logical and, or, not, shifting.
--- a/doc/lispref/os.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/os.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/os
 @node System Interface, Antinews, Display, Top
@@ -20,14 +21,14 @@
 * Getting Out::         How exiting works (permanent or temporary).
 * System Environment::  Distinguish the name and kind of system.
 * User Identification:: Finding the name and user id of the user.
-* Time of Day::		Getting the current time.
+* Time of Day::         Getting the current time.
 * Time Conversion::     Converting a time from numeric form to 
                           calendrical data and vice versa.
 * Time Parsing::        Converting a time from numeric form to text
                           and vice versa.
 * Processor Run Time::  Getting the run time used by Emacs.
 * Time Calculations::   Adding, subtracting, comparing times, etc.
-* Timers::		Setting a timer to call a function at a certain time.
+* Timers::              Setting a timer to call a function at a certain time.
 * Idle Timers::         Setting a timer to call a function when Emacs has
                           been idle for a certain length of time.
 * Terminal Input::      Accessing and recording terminal input.
@@ -1818,8 +1819,8 @@
 functions.
 
 @menu
-* Input Modes::		Options for how input is processed.
-* Recording Input::	Saving histories of recent or all input events.
+* Input Modes::         Options for how input is processed.
+* Recording Input::     Saving histories of recent or all input events.
 @end menu
 
 @node Input Modes
--- a/doc/lispref/processes.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/processes.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/processes
 @node Processes, Display, Abbrevs, Top
@@ -51,13 +52,13 @@
 * Sentinels::                Sentinels run when process run-status changes.
 * Query Before Exit::        Whether to query if exiting will kill a process.
 * System Processes::         Accessing other processes running on your system.
-* Transaction Queues::	     Transaction-based communication with subprocesses.
+* Transaction Queues::       Transaction-based communication with subprocesses.
 * Network::                  Opening network connections.
 * Network Servers::          Network servers let Emacs accept net connections.
 * Datagrams::                UDP network connections.
 * Low-Level Network::        Lower-level but more general function
                                to create connections and servers.
-* Misc Network::             Additional relevant functions for network connections.
+* Misc Network::             Additional relevant functions for net connections.
 * Serial Ports::             Communicating with serial ports.
 * Byte Packing::             Using bindat to pack and unpack binary data.
 @end menu
--- a/doc/lispref/searching.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/searching.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/searching
 @node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -22,7 +23,7 @@
 * POSIX Regexps::         Searching POSIX-style for the longest match.
 * Match Data::            Finding out which part of the text matched,
                             after a string or regexp search.
-* Search and Replace::	  Commands that loop, searching and replacing.
+* Search and Replace::    Commands that loop, searching and replacing.
 * Standard Regexps::      Useful regexps for finding sentences, pages,...
 @end menu
 
@@ -362,7 +363,7 @@
 
 Thus, @samp{[ad]} matches either one @samp{a} or one @samp{d}, and
 @samp{[ad]*} matches any string composed of just @samp{a}s and @samp{d}s
-(including the empty string), from which it follows that @samp{c[ad]*r}
+(including the empty string).  It follows that @samp{c[ad]*r}
 matches @samp{cr}, @samp{car}, @samp{cdr}, @samp{caddaar}, etc.
 
 You can also include character ranges in a character alternative, by
@@ -400,20 +401,11 @@
 @var{c1} is the first character of the charset to which @var{c2}
 belongs.
 
-You cannot always match all non-@acronym{ASCII} characters with the regular
-expression @code{"[\200-\377]"}.  This works when searching a unibyte
-buffer or string (@pxref{Text Representations}), but not in a multibyte
-buffer or string, because many non-@acronym{ASCII} characters have codes
-above octal 0377.  However, the regular expression @code{"[^\000-\177]"}
-does match all non-@acronym{ASCII} characters (see below regarding @samp{^}),
-in both multibyte and unibyte representations, because only the
-@acronym{ASCII} characters are excluded.
-
-A character alternative can also specify named
-character classes (@pxref{Char Classes}).  This is a POSIX feature whose
-syntax is @samp{[:@var{class}:]}.  Using a character class is equivalent
-to mentioning each of the characters in that class; but the latter is
-not feasible in practice, since some classes include thousands of
+A character alternative can also specify named character classes
+(@pxref{Char Classes}).  This is a POSIX feature whose syntax is
+@samp{[:@var{class}:]}.  Using a character class is equivalent to
+mentioning each of the characters in that class; but the latter is not
+feasible in practice, since some classes include thousands of
 different characters.
 
 @item @samp{[^ @dots{} ]}
@@ -431,6 +423,10 @@
 mentioned as one of the characters not to match.  This is in contrast to
 the handling of regexps in programs such as @code{grep}.
 
+You can specify named character classes, just like in character
+alternatives.  For instance, @samp{[^[:ascii:]]} matches any
+non-@acronym{ASCII} character.  @xref{Char Classes}.
+
 @item @samp{^}
 @cindex beginning of line in regexp
 When matching a buffer, @samp{^} matches the empty string, but only at the
@@ -614,8 +610,8 @@
 For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
 @samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
 nothing else.@*
-@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.	@*
-@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.	@*
+@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@*
+@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@*
 @samp{\@{1,\@}} is equivalent to @samp{+}.
 
 @item \( @dots{} \)
@@ -1218,9 +1214,9 @@
 match data around it, to prevent it from being overwritten.
 
 @menu
-* Replacing Match::	  Replacing a substring that was matched.
+* Replacing Match::       Replacing a substring that was matched.
 * Simple Match Data::     Accessing single items of match data,
-			    such as where a particular subexpression started.
+                            such as where a particular subexpression started.
 * Entire Match Data::     Accessing the entire match data at once, as a list.
 * Saving Match Data::     Saving and restoring the match data.
 @end menu
--- a/doc/lispref/sequences.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/sequences.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/sequences
 @node Sequences Arrays Vectors, Hash Tables, Lists, Top
@@ -669,13 +670,13 @@
 (let (accumulator)
    (map-char-table
     #'(lambda (key value)
-	(setq accumulator
-	      (cons (list
-		     (if (consp key)
-			 (list (car key) (cdr key))
-		       key)
-		     value)
-		    accumulator)))
+        (setq accumulator
+              (cons (list
+                     (if (consp key)
+                         (list (car key) (cdr key))
+                       key)
+                     value)
+                    accumulator)))
     (syntax-table))
    accumulator)
 @result{}
--- a/doc/lispref/strings.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/strings.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/strings
 @node Strings and Characters, Lists, Numbers, Top
@@ -31,7 +32,7 @@
 * String Conversion::         Converting to and from characters and strings.
 * Formatting Strings::        @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::           Case conversion functions.
-* Case Tables::		      Customizing case conversion.
+* Case Tables::               Customizing case conversion.
 @end menu
 
 @node String Basics
--- a/doc/lispref/syntax.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/syntax.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/syntax
 @node Syntax Tables, Abbrevs, Searching and Matching, Top
@@ -23,7 +24,7 @@
 * Desc: Syntax Descriptors.  How characters are classified.
 * Syntax Table Functions::   How to create, examine and alter syntax tables.
 * Syntax Properties::        Overriding syntax with text properties.
-* Motion and Syntax::	     Moving over characters with certain syntaxes.
+* Motion and Syntax::        Moving over characters with certain syntaxes.
 * Parsing Expressions::      Parsing balanced expressions
                                 using the syntax table.
 * Standard Syntax Tables::   Syntax tables used by various major modes.
--- a/doc/lispref/text.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/text.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/text
 @node Text, Non-ASCII Characters, Markers, Top
@@ -42,7 +43,7 @@
 * The Kill Ring::    Where removed text sometimes is saved for later use.
 * Undo::             Undoing changes to the text of a buffer.
 * Maintaining Undo:: How to enable and disable undo information.
-			How to control how much information is kept.
+                        How to control how much information is kept.
 * Filling::          Functions for explicit filling.
 * Margins::          How to specify margins for filling commands.
 * Adaptive Fill::    Adaptive Fill mode chooses a fill prefix from context.
@@ -821,7 +822,7 @@
 * Kill Functions::         Functions that kill text.
 * Yanking::                How yanking is done.
 * Yank Commands::          Commands that access the kill ring.
-* Low-Level Kill Ring::	   Functions and variables for kill ring access.
+* Low-Level Kill Ring::    Functions and variables for kill ring access.
 * Internals of Kill Ring:: Variables that hold kill ring data.
 @end menu
 
@@ -1298,13 +1299,16 @@
 command stops at such a boundary, and successive undo commands undo
 to earlier and earlier boundaries.  This function returns @code{nil}.
 
-The editor command loop automatically creates an undo boundary before
-each key sequence is executed.  Thus, each undo normally undoes the
-effects of one command.  Self-inserting input characters are an
-exception.  The command loop makes a boundary for the first such
-character; the next 19 consecutive self-inserting input characters do
-not make boundaries, and then the 20th does, and so on as long as
-self-inserting characters continue.
+The editor command loop automatically calls @code{undo-boundary} just
+before executing each key sequence, so that each undo normally undoes
+the effects of one command.  As an exception, the command
+@code{self-insert-command}, which produces self-inserting input
+characters (@pxref{Commands for Insertion}), may remove the boundary
+inserted by the command loop: a boundary is accepted for the first
+such character, the next 19 consecutive self-inserting input
+characters do not have boundaries, and then the 20th does; and so on
+as long as the self-inserting characters continue.  Hence, sequences
+of consecutive character insertions can be undone as a group.
 
 All buffer modifications add a boundary whenever the previous undoable
 change was made in some other buffer.  This is to ensure that
@@ -2593,9 +2597,9 @@
 
 @menu
 * Examining Properties::   Looking at the properties of one character.
-* Changing Properties::	   Setting the properties of a range of text.
-* Property Search::	   Searching for where a property changes value.
-* Special Properties::	   Particular properties with special meanings.
+* Changing Properties::    Setting the properties of a range of text.
+* Property Search::        Searching for where a property changes value.
+* Special Properties::     Particular properties with special meanings.
 * Format Properties::      Properties for representing formatting of text.
 * Sticky Properties::      How inserted text gets properties from
                              neighboring text.
@@ -2605,8 +2609,8 @@
                              do something when you click on them.
 * Fields::                 The @code{field} property defines
                              fields within the buffer.
-* Not Intervals::	   Why text properties do not use
-			     Lisp-visible text intervals.
+* Not Intervals::          Why text properties do not use
+                             Lisp-visible text intervals.
 @end menu
 
 @node Examining Properties
@@ -3031,7 +3035,7 @@
 property when Font Lock mode is enabled.  When Font Lock mode is disabled,
 @code{font-lock-face} has no effect.
 
-The @code{font-lock-mode} property is useful for special modes that
+The @code{font-lock-face} property is useful for special modes that
 implement their own highlighting.  @xref{Precalculated Fontification}.
 
 @item mouse-face
--- a/doc/lispref/tips.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/tips.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/tips
 @node Tips, GNU Emacs Internals, GPL, Top
@@ -28,7 +29,7 @@
 * Compilation Tips::          Making compiled code run fast.
 * Warning Tips::              Turning off compiler warnings.
 * Documentation Tips::        Writing readable documentation strings.
-* Comment Tips::	      Conventions for writing comments.
+* Comment Tips::              Conventions for writing comments.
 * Library Headers::           Standard headers for library packages.
 @end menu
 
@@ -90,7 +91,7 @@
 If a file requires certain other Lisp programs to be loaded
 beforehand, then the comments at the beginning of the file should say
 so.  Also, use @code{require} to make sure they are loaded.
-x@xref{Named Features}.
+@xref{Named Features}.
 
 @item
 If a file @var{foo} uses a macro defined in another file @var{bar},
--- a/doc/lispref/vol1.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/vol1.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -27,7 +27,7 @@
 @c Version of the manual and of Emacs.
 @c Please remember to update the edition number in README as well.
 @set VERSION  3.0
-@set EMACSVER 23.1.95
+@set EMACSVER 23.2.50
 @set DATE July 2009
 
 @dircategory Emacs
@@ -164,7 +164,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -176,7 +176,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -311,10 +311,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -331,7 +331,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -399,7 +399,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -480,9 +480,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -542,9 +542,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -554,7 +554,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -583,7 +583,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -593,24 +593,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -627,8 +627,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -653,13 +653,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -687,7 +687,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -721,7 +721,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -871,9 +871,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -885,7 +885,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -955,8 +955,8 @@
 * 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.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -976,37 +976,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * 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.
+* 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.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1065,7 +1065,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1091,7 +1091,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1106,9 +1106,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1118,8 +1118,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1162,7 +1162,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1179,9 +1179,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1191,7 +1191,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1280,10 +1280,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1292,9 +1292,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1316,7 +1316,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                            What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1396,14 +1396,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1430,8 +1430,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1441,7 +1441,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/vol2.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/vol2.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -27,7 +27,7 @@
 @c Version of the manual and of Emacs.
 @c Please remember to update the edition number in README as well.
 @set VERSION  3.0
-@set EMACSVER 23.1.95
+@set EMACSVER 23.2.50
 @set DATE July 2009
 
 @dircategory Emacs
@@ -163,7 +163,7 @@
                               files are made.
 * Buffers::                 Creating and using buffer objects.
 * Windows::                 Manipulating windows and displaying buffers.
-* Frames::		    Making multiple system-level windows.
+* Frames::                  Making multiple system-level windows.
 * Positions::               Buffer positions and motion functions.
 * Markers::                 Markers represent positions and update
                               automatically when the text is changed.
@@ -175,7 +175,7 @@
 * Abbrevs::                 How Abbrev mode works, and its data structures.
 
 * Processes::               Running and communicating with subprocesses.
-* Display::	            Features for controlling the screen display.
+* Display::                 Features for controlling the screen display.
 * System Interface::        Getting the user id, system type, environment
                               variables, and other such things.
 
@@ -310,10 +310,10 @@
 Numbers
 
 * Integer Basics::          Representation and range of integers.
-* Float Basics::	    Representation and range of floating point.
+* Float Basics::            Representation and range of floating point.
 * Predicates on Numbers::   Testing for numbers.
 * Comparison of Numbers::   Equality and inequality predicates.
-* Numeric Conversions::	    Converting float to integer and vice versa.
+* Numeric Conversions::     Converting float to integer and vice versa.
 * Arithmetic Operations::   How to add, subtract, multiply and divide.
 * Rounding Operations::     Explicitly rounding floating point numbers.
 * Bitwise Operations::      Logical and, or, not, shifting.
@@ -330,7 +330,7 @@
 * String Conversion::       Converting to and from characters and strings.
 * Formatting Strings::      @code{format}: Emacs's analogue of @code{printf}.
 * Case Conversion::         Case conversion functions.
-* Case Tables::		    Customizing case conversion.
+* Case Tables::             Customizing case conversion.
 
 Lists
 
@@ -398,7 +398,7 @@
 * Symbol Forms::            Symbols evaluate as variables.
 * Classifying Lists::       How to distinguish various sorts of list forms.
 * Function Indirection::    When a symbol appears as the car of a list,
-			      we find the real function via the symbol.
+                              we find the real function via the symbol.
 * Function Forms::          Forms that call functions.
 * Macro Forms::             Forms that call macros.
 * Special Forms::           "Special forms" are idiosyncratic primitives,
@@ -479,9 +479,9 @@
 * Function Cells::          Accessing or setting the function definition
                               of a symbol.
 * Obsolete Functions::      Declaring functions obsolete.
-* Inline Functions::	    Defining functions that the compiler
+* Inline Functions::        Defining functions that the compiler
                               will open code.
-* Declaring Functions::	    Telling the compiler that a function is defined.
+* Declaring Functions::     Telling the compiler that a function is defined.
 * Function Safety::         Determining whether a function is safe to call.
 * Related Topics::          Cross-references to specific Lisp primitives
                               that have a special bearing on how
@@ -541,9 +541,9 @@
 * Repeated Loading::        Precautions about loading a file twice.
 * Named Features::          Loading a library if it isn't already loaded.
 * Where Defined::           Finding which file defined a certain symbol.
-* Unloading::		    How to "unload" a library that was loaded.
-* Hooks for Loading::	    Providing code to be run when
-			      particular libraries are loaded.
+* Unloading::               How to "unload" a library that was loaded.
+* Hooks for Loading::       Providing code to be run when
+                              particular libraries are loaded.
 
 Byte Compilation
 
@@ -553,7 +553,7 @@
 * Dynamic Loading::         Dynamic loading of individual functions.
 * Eval During Compile::     Code to be evaluated when you compile.
 * Compiler Errors::         Handling compiler error messages.
-* Byte-Code Objects::	    The data type used for byte-compiled functions.
+* Byte-Code Objects::       The data type used for byte-compiled functions.
 * Disassembly::             Disassembling byte-code; how to read byte-code.
 
 Advising Emacs Lisp Functions
@@ -582,7 +582,7 @@
 The Lisp Debugger
 
 * Error Debugging::         Entering the debugger when an error happens.
-* Infinite Loops::	    Stopping and debugging a program that doesn't exit.
+* Infinite Loops::          Stopping and debugging a program that doesn't exit.
 * Function Debugging::      Entering it when a certain function is called.
 * Explicit Debug::          Entering it at a certain point in the program.
 * Using Debugger::          What the debugger does; what you see while in it.
@@ -592,24 +592,24 @@
 
 Edebug
 
-* Using Edebug::	    Introduction to use of Edebug.
-* Instrumenting::	    You must instrument your code
-			      in order to debug it with Edebug.
+* Using Edebug::            Introduction to use of Edebug.
+* Instrumenting::           You must instrument your code
+                              in order to debug it with Edebug.
 * Edebug Execution Modes::  Execution modes, stopping more or less often.
-* Jumping::		    Commands to jump to a specified place.
-* Edebug Misc::		    Miscellaneous commands.
-* Breaks::		    Setting breakpoints to make the program stop.
-* Trapping Errors::	    Trapping errors with Edebug.
-* Edebug Views::	    Views inside and outside of Edebug.
-* Edebug Eval::		    Evaluating expressions within Edebug.
-* Eval List::		    Expressions whose values are displayed
-			      each time you enter Edebug.
-* Printing in Edebug::	    Customization of printing.
-* Trace Buffer::	    How to produce trace output in a buffer.
-* Coverage Testing::	    How to test evaluation coverage.
-* The Outside Context::	    Data that Edebug saves and restores.
+* Jumping::                 Commands to jump to a specified place.
+* Edebug Misc::             Miscellaneous commands.
+* Breaks::                  Setting breakpoints to make the program stop.
+* Trapping Errors::         Trapping errors with Edebug.
+* Edebug Views::            Views inside and outside of Edebug.
+* Edebug Eval::             Evaluating expressions within Edebug.
+* Eval List::               Expressions whose values are displayed
+                              each time you enter Edebug.
+* Printing in Edebug::      Customization of printing.
+* Trace Buffer::            How to produce trace output in a buffer.
+* Coverage Testing::        How to test evaluation coverage.
+* The Outside Context::     Data that Edebug saves and restores.
 * Edebug and Macros::       Specifying how to handle macro calls.
-* Edebug Options::	    Option variables for customizing Edebug.
+* Edebug Options::          Option variables for customizing Edebug.
 
 Breaks
 
@@ -626,8 +626,8 @@
 Edebug and Macros
 
 * Instrumenting Macro Calls::The basic problem.
-* Specification List::	    How to specify complex patterns of evaluation.
-* Backtracking::	    What Edebug does when matching fails.
+* Specification List::      How to specify complex patterns of evaluation.
+* Backtracking::            What Edebug does when matching fails.
 * Specification Examples::  To help understand specifications.
 
 Debugging Invalid Lisp Syntax
@@ -652,13 +652,13 @@
 * Intro to Minibuffers::    Basic information about minibuffers.
 * Text from Minibuffer::    How to read a straight text string.
 * Object from Minibuffer::  How to read a Lisp object or expression.
-* Minibuffer History::	    Recording previous minibuffer inputs
-			      so the user can reuse them.
+* Minibuffer History::      Recording previous minibuffer inputs
+                              so the user can reuse them.
 * Initial Input::           Specifying initial contents for the minibuffer.
 * Completion::              How to invoke and customize completion.
 * Yes-or-No Queries::       Asking a question with a simple answer.
-* Multiple Queries::	    Asking a series of similar questions.
-* Reading a Password::	    Reading a password from the terminal.
+* Multiple Queries::        Asking a series of similar questions.
+* Reading a Password::      Reading a password from the terminal.
 * Minibuffer Commands::     Commands used as key bindings in minibuffers.
 * Minibuffer Contents::     How such commands access the minibuffer text.
 * Minibuffer Windows::      Operating on the special minibuffer windows.
@@ -686,7 +686,7 @@
 * Distinguish Interactive::     Making a command distinguish interactive calls.
 * Command Loop Info::   Variables set by the command loop for you to examine.
 * Adjusting Point::     Adjustment of point after a command.
-* Input Events::	What input looks like when you read it.
+* Input Events::        What input looks like when you read it.
 * Reading Input::       How to read input events from the keyboard or mouse.
 * Special Events::      Events processed immediately and individually.
 * Waiting::             Waiting for user input or elapsed time.
@@ -720,7 +720,7 @@
 * Event Examples::          Examples of the lists for mouse events.
 * Classifying Events::      Finding the modifier keys in an event symbol.
                               Event types.
-* Accessing Mouse::	    Functions to extract info from mouse events.
+* Accessing Mouse::         Functions to extract info from mouse events.
 * Accessing Scroll::        Functions to get info from scroll bar events.
 * Strings of Events::       Special considerations for putting
                               keyboard character events in a string.
@@ -870,9 +870,9 @@
 * Changing Files::          Renaming files, changing protection, etc.
 * File Names::              Decomposing and expanding file names.
 * Contents of Directories:: Getting a list of the files in a directory.
-* Create/Delete Dirs::	    Creating and Deleting Directories.
-* Magic File Names::	    Defining "magic" special handling
-			      for certain file names.
+* Create/Delete Dirs::      Creating and Deleting Directories.
+* Magic File Names::        Defining "magic" special handling
+                              for certain file names.
 * Format Conversion::       Conversion to and from various file formats.
 
 Visiting Files
@@ -884,7 +884,7 @@
 
 * Testing Accessibility::   Is a given file readable?  Writable?
 * Kinds of Files::          Is it a directory?  A symbolic link?
-* Truenames::		    Eliminating symbolic links from a file name.
+* Truenames::               Eliminating symbolic links from a file name.
 * File Attributes::         How large is it?  Any other names?  Etc.
 * Locating Files::          How to find a file in standard places.
 
@@ -954,8 +954,8 @@
 * 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.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.          
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -975,37 +975,37 @@
 
 Frames
 
-* Creating Frames::	    Creating additional frames.
+* Creating Frames::         Creating additional frames.
 * Multiple Terminals::      Displaying on several different devices.
-* Frame Parameters::	    Controlling frame size, position, font, etc.
+* Frame Parameters::        Controlling frame size, position, font, etc.
 * Terminal Parameters::     Parameters common for all frames on terminal.
 * 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.
+* 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.
+* Input Focus::             Specifying the selected frame.
 * Visibility of Frames::    Frames may be visible or invisible, or icons.
 * Raising and Lowering::    Raising a frame makes it hide other windows;
-			      lowering it makes the others hide it.
+                              lowering it makes the others hide it.
 * Frame Configurations::    Saving the state of all frames.
-* Mouse Tracking::	    Getting events that say when the mouse moves.
-* Mouse Position::	    Asking where the mouse is, or moving it.
-* Pop-Up Menus::	    Displaying a menu for the user to select from.
+* Mouse Tracking::          Getting events that say when the mouse moves.
+* Mouse Position::          Asking where the mouse is, or moving it.
+* Pop-Up Menus::            Displaying a menu for the user to select from.
 * Dialog Boxes::            Displaying a box to ask yes or no.
 * Pointer Shape::           Specifying the shape of the mouse pointer.
 * Window System Selections::Transferring text to and from other X clients.
 * Drag and Drop::               Internals of Drag-and-Drop implementation.
-* Color Names::	            Getting the definitions of color names.
+* Color Names::             Getting the definitions of color names.
 * Text Terminal Colors::    Defining colors for text-only terminals.
-* Resources::		    Getting resource values from the server.
+* Resources::               Getting resource values from the server.
 * Display Feature Testing:: Determining the features of a terminal.
 
 Frame Parameters
 
 * Parameter Access::        How to change a frame's parameters.
-* Initial Parameters::	    Specifying frame parameters when you make a frame.
+* Initial Parameters::      Specifying frame parameters when you make a frame.
 * Window Frame Parameters:: List of frame parameters for window systems.
 * Size and Position::       Changing the size and position of a frame.
 * Geometry::                Parsing geometry specifications.
@@ -1064,7 +1064,7 @@
                               later use.
 * Undo::                    Undoing changes to the text of a buffer.
 * Maintaining Undo::        How to enable and disable undo information.
-			      How to control how much information is kept.
+                              How to control how much information is kept.
 * Filling::                 Functions for explicit filling.
 * Margins::                 How to specify margins for filling commands.
 * Adaptive Fill::           Adaptive Fill mode chooses a fill prefix
@@ -1090,7 +1090,7 @@
 * Kill Functions::          Functions that kill text.
 * Yanking::                 How yanking is done.
 * Yank Commands::           Commands that access the kill ring.
-* Low-Level Kill Ring::	    Functions and variables for kill ring access.
+* Low-Level Kill Ring::     Functions and variables for kill ring access.
 * Internals of Kill Ring::  Variables that hold kill ring data.
 
 Indentation
@@ -1105,9 +1105,9 @@
 Text Properties
 
 * Examining Properties::    Looking at the properties of one character.
-* Changing Properties::	    Setting the properties of a range of text.
-* Property Search::	    Searching for where a property changes value.
-* Special Properties::	    Particular properties with special meanings.
+* Changing Properties::     Setting the properties of a range of text.
+* Property Search::         Searching for where a property changes value.
+* Special Properties::      Particular properties with special meanings.
 * Format Properties::       Properties for representing formatting of text.
 * Sticky Properties::       How inserted text gets properties from
                               neighboring text.
@@ -1117,8 +1117,8 @@
                               do something when you click on them.
 * Fields::                  The @code{field} property defines
                               fields within the buffer.
-* Not Intervals::	    Why text properties do not use
-			      Lisp-visible text intervals.
+* Not Intervals::           Why text properties do not use
+                              Lisp-visible text intervals.
 
 Non-@acronym{ASCII} Characters
 
@@ -1161,7 +1161,7 @@
 * POSIX Regexps::           Searching POSIX-style for the longest match.
 * Match Data::              Finding out which part of the text matched,
                               after a string or regexp search.
-* Search and Replace::	    Commands that loop, searching and replacing.
+* Search and Replace::      Commands that loop, searching and replacing.
 * Standard Regexps::        Useful regexps for finding sentences, pages,...
 
 Regular Expressions
@@ -1178,9 +1178,9 @@
 
 The Match Data
 
-* Replacing Match::	    Replacing a substring that was matched.
+* Replacing Match::         Replacing a substring that was matched.
 * Simple Match Data::       Accessing single items of match data,
-			      such as where a particular subexpression started.
+                              such as where a particular subexpression started.
 * Entire Match Data::       Accessing the entire match data at once, as a list.
 * Saving Match Data::       Saving and restoring the match data.
 
@@ -1190,7 +1190,7 @@
 * Syntax Descriptors::      How characters are classified.
 * Syntax Table Functions::  How to create, examine and alter syntax tables.
 * Syntax Properties::       Overriding syntax with text properties.
-* Motion and Syntax::	    Moving over characters with certain syntaxes.
+* Motion and Syntax::       Moving over characters with certain syntaxes.
 * Parsing Expressions::     Parsing balanced expressions
                               using the syntax table.
 * Standard Syntax Tables::  Syntax tables used by various major modes.
@@ -1279,10 +1279,10 @@
 * Invisible Text::          Hiding part of the buffer text.
 * Selective Display::       Hiding part of the buffer text (the old way).
 * Temporary Displays::      Displays that go away automatically.
-* Overlays::		    Use overlays to highlight parts of the buffer.
+* Overlays::                Use overlays to highlight parts of the buffer.
 * Width::                   How wide a character or string is on the screen.
 * Line Height::             Controlling the height of lines.
-* Faces::		    A face defines a graphics style
+* Faces::                   A face defines a graphics style
                               for text characters: font, colors, etc.
 * Fringes::                 Controlling window fringes.
 * Scroll Bars::             Controlling vertical scroll bars.
@@ -1291,9 +1291,9 @@
 * Buttons::                 Adding clickable buttons to Emacs buffers.
 * Abstract Display::        Emacs' Widget for Object Collections.
 * Blinking::                How Emacs shows the matching open parenthesis.
-* Usual Display::	    The usual conventions for displaying
+* Usual Display::           The usual conventions for displaying
                               nonprinting chars.
-* Display Tables::	    How to specify other conventions.
+* Display Tables::          How to specify other conventions.
 * Beeping::                 Audible signal to the user.
 * Window Systems::          Which window system is being used.
 
@@ -1315,7 +1315,7 @@
 
 * Managing Overlays::       Creating and moving overlays.
 * Overlay Properties::      How to read and set properties.
-			    What properties do to the screen display.
+                            What properties do to the screen display.
 * Finding Overlays::        Searching for overlays.
 
 Faces
@@ -1395,14 +1395,14 @@
 * Getting Out::             How exiting works (permanent or temporary).
 * System Environment::      Distinguish the name and kind of system.
 * User Identification::     Finding the name and user id of the user.
-* Time of Day::		    Getting the current time.
+* Time of Day::             Getting the current time.
 * Time Conversion::         Converting a time from numeric form to 
                               calendrical data and vice versa.
 * Time Parsing::            Converting a time from numeric form to text
                               and vice versa.
 * Processor Run Time::      Getting the run time used by Emacs.
 * Time Calculations::       Adding, subtracting, comparing times, etc.
-* Timers::		    Setting a timer to call a function at a
+* Timers::                  Setting a timer to call a function at a
                               certain time.
 * Idle Timers::             Setting a timer to call a function when Emacs has
                               been idle for a certain length of time.
@@ -1429,8 +1429,8 @@
 
 Terminal Input
 
-* Input Modes::		    Options for how input is processed.
-* Recording Input::	    Saving histories of recent or all input events.
+* Input Modes::             Options for how input is processed.
+* Recording Input::         Saving histories of recent or all input events.
 
 Tips and Conventions
 
@@ -1440,7 +1440,7 @@
 * Compilation Tips::        Making compiled code run fast.
 * Warning Tips::            Turning off compiler warnings.
 * Documentation Tips::      Writing readable documentation strings.
-* Comment Tips::	    Conventions for writing comments.
+* Comment Tips::            Conventions for writing comments.
 * Library Headers::         Standard headers for library packages.
 
 GNU Emacs Internals
--- a/doc/lispref/windows.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/lispref/windows.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -22,8 +22,8 @@
 * 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.
-* Choosing Window::	    How to choose a window for displaying a buffer.
-* Dedicated Windows::	    How to avoid displaying another buffer in
+* Choosing Window::         How to choose a window for displaying a buffer.
+* Dedicated Windows::       How to avoid displaying another buffer in
                               a specific window.
 * Window Point::            Each window has its own location of point.
 * Window Start and End::    Buffer positions indicating which text is
@@ -525,7 +525,7 @@
 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.
 
-@deffn next-window &optional window minibuf all-frames
+@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
@@ -588,13 +588,13 @@
      @result{} #<window 56 on windows.texi>
 @end group
 @end example
-@end deffn
-
-@deffn previous-window &optional window minibuf all-frames
+@end defun
+
+@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}.
-@end deffn
+@end defun
 
 @deffn Command other-window count &optional all-frames
 This function selects another window in the cyclic ordering of windows.
@@ -827,7 +827,7 @@
 unless @var{norecord} is non-@code{nil}.
 @end deffn
 
-@deffn pop-to-buffer buffer-or-name &optional other-window norecord
+@deffn Command pop-to-buffer buffer-or-name &optional other-window norecord
 This command 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
@@ -1661,8 +1661,8 @@
 @end defopt
 
 @defopt scroll-step
-This variable is an older variant of @code{scroll-conservatively}.  The
-difference is that it if its value is @var{n}, that permits scrolling
+This variable is an older variant of @code{scroll-conservatively}.
+The difference is that if its value is @var{n}, that permits scrolling
 only by precisely @var{n} lines, not a smaller number.  This feature
 does not work with @code{scroll-margin}.  The default value is zero.
 @end defopt
--- a/doc/man/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/man/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 
 	* emacs.1: Copyedits.  Update options -Q, -mm and --daemon.  Remove
--- a/doc/man/emacs.1	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/man/emacs.1	Fri Aug 27 23:05:43 2010 +0900
@@ -1,5 +1,5 @@
 .\" See section COPYING for copyright and redistribution information.
-.TH EMACS 1 "2007 April 13" "GNU Emacs 23.1.95"
+.TH EMACS 1 "2007 April 13" "GNU Emacs 23.2.50"
 .
 .
 .SH NAME
--- a/doc/misc/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,71 @@
+2010-07-23  Chong Yidong  <cyd@stupidchicken.com>
+
+	* nxml-mode.texi (Limitations): Remove obsolete discussion (Bug#6708).
+
+2010-06-27  Alex Schroeder  <alex@gnu.org>
+
+	* nxml-mode.texi (Commands for locating a schema): Fix typo.
+
+2010-06-24  Glenn Morris  <rgm@gnu.org>
+
+	* ada-mode.texi, auth.texi, autotype.texi, calc.texi, cc-mode.texi:
+	* dired-x.texi, ebrowse.texi, ede.texi, edt.texi, eieio.texi:
+	* emacs-mime.texi, epa.texi, erc.texi, eshell.texi, eudc.texi:
+	* flymake.texi, gnus.texi, info.texi, mairix-el.texi, message.texi:
+	* newsticker.texi, org.texi, pgg.texi, rcirc.texi, reftex.texi:
+	* remember.texi, sasl.texi, semantic.texi, ses.texi, smtpmail.texi:
+	* speedbar.texi, tramp.texi, url.texi, viper.texi, widget.texi:
+	* woman.texi: Start direntry descriptions in column 32, per Texinfo
+	convention.   Make them end with a period.
+
+2010-06-23  Glenn Morris  <rgm@gnu.org>
+
+	* autotype.texi, cl.texi, dired-x.texi, ebrowse.texi, ede.texi:
+	* eieio.texi, epa.texi, faq.texi, flymake.texi, forms.texi:
+	* gnus-faq.texi, idlwave.texi, mh-e.texi, nxml-mode.texi, org.texi:
+	* pcl-cvs.texi, pgg.texi, reftex.texi, sasl.texi, sc.texi,
+	* sem-user.texi, semantic.texi, sieve.texi, smtpmail.texi,
+	* speedbar.texi, vip.texi, viper.texi, widget.texi: Untabify.
+
+2010-06-10  Glenn Morris  <rgm@gnu.org>
+
+	* idlwave.texi (Load-Path Shadows):
+	* org.texi (Handling links): Fix typos.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-03  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* url.texi (HTTP language/coding, Customization):
+	* message.texi (Header Commands, Responses):
+	* cl.texi (Argument Lists): Fix typos.
+
+2010-04-18  Chong Yidong  <cyd@stupidchicken.com>
+
+	* ede.texi (EDE Mode): Refer to init file rather than `.emacs'.  Note
+	that Development menu is always available.
+	(Creating a project): Fix terminology.
+	(Add/Remove files): Fix typo.
+
+2010-04-17  Teodor Zlatanov  <tzz@lifelogs.com>
+
+	* gnus.texi (Gnus Versions, Oort Gnus): Mention the Git repo instead of
+	the CVS repo.  Put the Git repo in the news section.
+
+	* gnus-coding.texi (Gnus Maintainance Guide): Fixed title typo.
+	Removed some mentions of CVS.  Mention the new Git repo.
+
+2010-04-15  Andreas Seltenreich  <seltenreich@gmx.de>
+
+	* gnus.texi (Score File Format): Fix typo.  Reported by Štěpán Němec.
+	(Mail Group Commands): Add index entry.
+
+2010-04-15  Glenn Morris  <rgm@gnu.org>
+
+	* info.texi (Search Index): Mention Emacs's Info-virtual-index.
+
 2010-03-14  Michael Albinus  <michael.albinus@gmx.de>
 
 	* trampver.texi: Update release number.
@@ -6317,10 +6385,6 @@
 	(INFO_TARGETS): Add ../info/cc-mode.
 	(DVI_TARGETS): Add cc-mode.dvi.
 
-1996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
-
-	* Version 19.31 released.
-
 1995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
 
 	* Version 19.30 released.
--- a/doc/misc/ada-mode.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/ada-mode.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -3,8 +3,8 @@
 @settitle Ada Mode
 
 @copying
-Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -22,7 +22,7 @@
 
 @dircategory Emacs
 @direntry
-* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code.
+* Ada mode: (ada-mode).         Emacs mode for editing and compiling Ada code.
 @end direntry
 
 @titlepage
--- a/doc/misc/auth.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/auth.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* Auth-source: (auth).   The Emacs auth-source library.
+* Auth-source: (auth).          The Emacs auth-source library.
 @end direntry
 
 @titlepage
--- a/doc/misc/autotype.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/autotype.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -10,8 +10,8 @@
 @c  @cindex autotypist
 
 @copying
-Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005,
+2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -29,8 +29,8 @@
 
 @dircategory Emacs
 @direntry
-* Autotype: (autotype). Convenient features for text that you enter frequently
-                          in Emacs.
+* Autotype: (autotype).         Convenient features for text that you
+                                  enter frequently in Emacs.
 @end direntry
 
 @titlepage
@@ -92,7 +92,7 @@
                              after point.
 * Autoinserting::          Filling up empty files as soon as you visit them.
 * Copyrights::             Inserting and updating copyrights.
-* Executables::	           Turning interpreter scripts into executables.
+* Executables::            Turning interpreter scripts into executables.
 * Timestamps::             Updating dates and times in modified files.
 * QuickURL::               Inserting URLs based on text at point.
 * Tempo::                  Flexible template insertion.
@@ -201,7 +201,7 @@
 
 @example
 (c-mode-abbrev-table)
-"if"	       0    ""	       c-if
+"if"           0    ""         c-if
 @end example
 
 @noindent
--- a/doc/misc/calc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/calc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -112,7 +112,7 @@
 
 @dircategory Emacs
 @direntry
-* Calc: (calc).         Advanced desk calculator and mathematical tool.
+* Calc: (calc).                 Advanced desk calculator and mathematical tool.
 @end direntry
 
 @titlepage
--- a/doc/misc/cc-mode.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/cc-mode.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -180,8 +180,8 @@
 @comment here is by request from the FSF folks.
 @dircategory Emacs
 @direntry
-* CC Mode: (ccmode).    Emacs mode for editing C, C++, Objective-C,
-                        Java, Pike, AWK, and CORBA IDL code.
+* CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
+                                Java, Pike, AWK, and CORBA IDL code.
 @end direntry
 
 @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--- a/doc/misc/cl.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/cl.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* CL: (cl).		Partial Common Lisp support for Emacs Lisp.
+* CL: (cl).                     Partial Common Lisp support for Emacs Lisp.
 @end direntry
 
 @finalout
@@ -356,7 +356,7 @@
 calls to it may be expanded into in-line code by the byte compiler.
 This is analogous to the @code{defsubst} form;
 @code{defsubst*} uses a different method (compiler macros) which
-works in all version of Emacs, and also generates somewhat more
+works in all versions of Emacs, and also generates somewhat more
 efficient inline expansions.  In particular, @code{defsubst*}
 arranges for the processing of keyword arguments, default values,
 etc., to be done at compile-time whenever possible.
--- a/doc/misc/dired-x.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/dired-x.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -3,7 +3,7 @@
 @c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs
 @c
 @c Author: Sebastian Kremer <sk@thp.uni-koeln.de>
-@c	Lawrence R. Dodd <dodd@roebling.poly.edu>
+@c      Lawrence R. Dodd <dodd@roebling.poly.edu>
 @c [Dodd's address no longer valid.]
 
 @comment %**start of header (This is for running Texinfo on a region.)
@@ -14,7 +14,7 @@
 @iftex
 @finalout
 @end iftex
-@c @setchapternewpage odd		% For book style double sided manual.
+@c @setchapternewpage odd               % For book style double sided manual.
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
@@ -37,7 +37,7 @@
 
 @dircategory Emacs
 @direntry
-* Dired-X: (dired-x).   Dired Extra Features.
+* Dired-X: (dired-x).           Dired Extra Features.
 @end direntry
 
 @c      @smallbook
--- a/doc/misc/ebrowse.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/ebrowse.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -29,7 +29,7 @@
 
 @dircategory Emacs
 @direntry
-* Ebrowse: (ebrowse).   A C++ class browser for Emacs.
+* Ebrowse: (ebrowse).           A C++ class browser for Emacs.
 @end direntry
 
 @titlepage
@@ -55,14 +55,14 @@
 @end ifnottex
 
 @menu
-* Overview::			What is it and how does it work?
-* Generating browser files::	How to process C++ source files
-* Loading a Tree::		How to start browsing
-* Tree Buffers::		Traversing class hierarchies
-* Member Buffers::		Looking at member information
-* Tags-like Functions::		Finding members from source files
+* Overview::                    What is it and how does it work?
+* Generating browser files::    How to process C++ source files
+* Loading a Tree::              How to start browsing
+* Tree Buffers::                Traversing class hierarchies
+* Member Buffers::              Looking at member information
+* Tags-like Functions::         Finding members from source files
 * GNU Free Documentation License:: The license for this documentation.
-* Concept Index::		An entry for each concept defined
+* Concept Index::               An entry for each concept defined
 @end menu
 
 
@@ -215,10 +215,10 @@
 available command line options.@refill
 
 @menu
-* Input files::		Specifying which files to parse
-* Output file::		Changing the output file name
-* Structs and unions::	Omitting @code{struct}s and @code{union}s
-* Matching::		Setting regular expression lengths
+* Input files::         Specifying which files to parse
+* Output file::         Changing the output file name
+* Structs and unions::  Omitting @code{struct}s and @code{union}s
+* Matching::            Setting regular expression lengths
 * Verbosity::           Getting feedback for lengthy operations
 @end menu
 
@@ -454,17 +454,17 @@
 buffers.
 
 @menu
-* Source Display::		Viewing and finding a class declaration
-* Member Display::		Showing members, switching to member buffers
-* Go to Class::			Finding a class
-* Quitting::			Discarding and burying the tree buffer
-* File Name Display::		Showing file names in the tree
-* Expanding and Collapsing::	Expanding and collapsing branches
-* Tree Indentation::		Changing the tree indentation
-* Killing Classes::		Removing class from the tree
-* Saving a Tree::		Saving a modified tree
-* Statistics::			Displaying class tree statistics
-* Marking Classes::		Marking and unmarking classes
+* Source Display::              Viewing and finding a class declaration
+* Member Display::              Showing members, switching to member buffers
+* Go to Class::                 Finding a class
+* Quitting::                    Discarding and burying the tree buffer
+* File Name Display::           Showing file names in the tree
+* Expanding and Collapsing::    Expanding and collapsing branches
+* Tree Indentation::            Changing the tree indentation
+* Killing Classes::             Removing class from the tree
+* Saving a Tree::               Saving a modified tree
+* Statistics::                  Displaying class tree statistics
+* Marking Classes::             Marking and unmarking classes
 @end menu
 
 
@@ -625,17 +625,15 @@
 Here is an example of a tree buffer with file names displayed.
 
 @example
-|  Collection		(unknown)
-|    IndexedCollection	(indexedcltn.h)
-|      Array		(array.h)
-|        FixedArray	(fixedarray.h)
-|    Set		(set.h)
-|    Dictionary		(dict.h)
+|  Collection           (unknown)
+|    IndexedCollection  (indexedcltn.h)
+|      Array            (array.h)
+|        FixedArray     (fixedarray.h)
+|    Set                (set.h)
+|    Dictionary         (dict.h)
 @end example
 
 
-
-
 @node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers
 @comment  node-name,  next,  previous,  up
 @section Expanding and Collapsing a Tree
@@ -818,20 +816,20 @@
 buffer: members, classes, and the buffer itself.
 
 @menu
-* Switching Member Lists::	Choosing which members to display
-* Finding/Viewing::		Modifying source code
-* Inherited Members::		Display of Inherited Members
-* Searching Members::		Finding members in member buffer
-* Switching to Tree::		Going back to the tree buffer
-* Filters::			Selective member display
-* Attributes::			Display of @code{virtual} etc.
-* Long and Short Display::	Comprehensive and verbose display
-* Regexp Display::		Showing matching regular expressions
-* Switching Classes::		Displaying another class
-* Killing/Burying::		Getting rid of the member buffer
-* Column Width::		Display style
-* Redisplay::			Redrawing the member list
-* Getting Help::		How to get help for key bindings
+* Switching Member Lists::      Choosing which members to display
+* Finding/Viewing::             Modifying source code
+* Inherited Members::           Display of Inherited Members
+* Searching Members::           Finding members in member buffer
+* Switching to Tree::           Going back to the tree buffer
+* Filters::                     Selective member display
+* Attributes::                  Display of @code{virtual} etc.
+* Long and Short Display::      Comprehensive and verbose display
+* Regexp Display::              Showing matching regular expressions
+* Switching Classes::           Displaying another class
+* Killing/Burying::             Getting rid of the member buffer
+* Column Width::                Display style
+* Redisplay::                   Redrawing the member list
+* Getting Help::                How to get help for key bindings
 @end menu
 
 
@@ -1234,7 +1232,7 @@
 
 
 @comment **************************************************************
-@comment ***		    TAGS LIKE FUNCTIONS
+@comment ***                TAGS LIKE FUNCTIONS
 @comment **************************************************************
 
 @node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top
@@ -1245,14 +1243,14 @@
 Emacs Tags facility, but better suited to the needs of C++ programmers.
 
 @menu
-* Finding and Viewing::	Going to a member declaration/definition
-* Position Stack::	Moving to previous locations
-* Search & Replace::    Searching and replacing over class tree files
-* Members in Files::    Listing all members in a given file
-* Apropos::             Listing members matching a regular expression
-* Symbol Completion::   Completing names while editing
+* Finding and Viewing::   Going to a member declaration/definition
+* Position Stack::        Moving to previous locations
+* Search & Replace::      Searching and replacing over class tree files
+* Members in Files::      Listing all members in a given file
+* Apropos::               Listing members matching a regular expression
+* Symbol Completion::     Completing names while editing
 * Member Buffer Display:: Quickly display a member buffer for some
-                        identifier
+                            identifier
 @end menu
 
 
--- a/doc/misc/ede.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/ede.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -5,8 +5,8 @@
 @copying
 This file describes EDE, the Emacs Development Environment.
 
-Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009,
+2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* ede: (ede).       Project management for Emacs
+* ede: (ede).                   Project management for Emacs.
 @end direntry
 
 @titlepage
@@ -129,27 +129,26 @@
 @node EDE Mode, Creating a project, EDE Project Concepts, top
 @chapter @ede{} Mode
 
-@ede{} is implemented as a minor-mode, which augments other modes such
+@ede{} is implemented as a minor mode, which augments other modes such
 as C mode, and Texinfo mode.  You can enable @ede{} for all buffers by
 running the command @code{global-ede-mode}, or by putting this in your
-@file{~/.emacs} file:
+init file:
 
 @example
 (global-ede-mode t)
 @end example
 
-When @ede{} is active for a given buffer, the menu item
-``Development'' appears.  This menu provides several menu items for
-high-level @ede{} commands.  These menu items, and their corresponding
-keybindings, are independent of the type of project you are actually
-working on.
+Activating @ede{} adds a menu named @samp{Development} to the menu
+bar.  This menu provides several menu items for high-level @ede{}
+commands.  These menu items, and their corresponding keybindings, are
+independent of the type of project you are actually working on.
 
 @node Creating a project, Modifying your project, EDE Mode, top
 @chapter Creating a project
 
 To create a new project, first visit a file that you want to include
-in that project.  If you have a hierarchy of directories, choose a
-file in the topmost directory first.  From this buffer, type @kbd{M-x
+in that project.  If you have a hierarchy of directories, first visit
+a file in the topmost directory.  From this buffer, type @kbd{M-x
 ede-new}, or click on the @samp{Create Project} item in the
 @samp{Development} menu.
 
@@ -220,8 +219,8 @@
 @node Add/Remove target, Add/Remove files, Modifying your project, Modifying your project
 @section Add/Remove target
 
-To create a new target, type @kbd{C-c . t} (@code{M-x ede-new-target})
-or use the @samp{Add Target} menu item in the @samp{Project Options}
+To create a new target, type @kbd{C-c . t} (@code{ede-new-target}) or
+use the @samp{Add Target} menu item in the @samp{Project Options}
 submenu.  This prompts for a target name, and adds the current buffer
 to that target.
 
@@ -237,7 +236,7 @@
 @section Add/Remove files
 
 To add the current file to an existing target, type @kbd{C-c . a}
-(@code{ede-add-file}), or or use the @samp{Add File} menu item in the
+(@code{ede-add-file}), or use the @samp{Add File} menu item in the
 @samp{Target Options} submenu.
 
 You can add a file to more than one target; this is OK.
@@ -405,8 +404,8 @@
 @menu
 * ede-cpp-root::        This project marks the root of a C/C++ code project.
 * ede-simple subclassing:: Create your own simple project.
-* ede-emacs::		A project for working with Emacs.
-* ede-linux::		A project for working with Linux kernels.
+* ede-emacs::           A project for working with Emacs.
+* ede-linux::           A project for working with Linux kernels.
 * Custom Locate::       Customizing how to locate files in a simple project
 @end menu
 
@@ -526,14 +525,14 @@
   )
 
 (add-to-list 'ede-project-class-files
-	     (ede-project-autoload "cpp-root"
-	      :name "CPP ROOT"
-	      :file 'ede-cpp-root
-	      :proj-file 'MY-FILE-FOR-DIR
+             (ede-project-autoload "cpp-root"
+              :name "CPP ROOT"
+              :file 'ede-cpp-root
+              :proj-file 'MY-FILE-FOR-DIR
               :proj-root 'MY-ROOT-FCN
-	      :load-type 'MY-LOAD
-	      :class-sym 'ede-cpp-root)
-	     t)
+              :load-type 'MY-LOAD
+              :class-sym 'ede-cpp-root)
+             t)
 @end example
 
 This example only creates an auto-loader, and does not create a new kind
@@ -752,9 +751,9 @@
 @example
 (defvar ede-source-emacs
   (ede-sourcecode "ede-emacs-source"
-		  :name "Emacs Lisp"
-		  :sourcepattern "\\.el$"
-		  :garbagepattern '("*.elc"))
+                  :name "Emacs Lisp"
+                  :sourcepattern "\\.el$"
+                  :garbagepattern '("*.elc"))
   "Emacs Lisp source code definition.")
 @end example
 
--- a/doc/misc/edt.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/edt.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -25,7 +25,7 @@
 
 @dircategory Emacs
 @direntry
-* EDT: (edt).   An Emacs emulation of the EDT editor.
+* EDT: (edt).                   An Emacs emulation of the EDT editor.
 @end direntry
 
 @titlepage
--- a/doc/misc/eieio.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/eieio.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -29,7 +29,7 @@
 
 @dircategory Emacs
 @direntry
-* eieio: (eieio).       Objects for Emacs
+* eieio: (eieio).               Objects for Emacs.
 @end direntry
 
 @titlepage
@@ -295,8 +295,8 @@
 
 @menu
 * Inheritance::         How to specify parents classes
-* Slot Options::	How to specify features of a slot.
-* Class Options::	How to specify features for this class.
+* Slot Options::        How to specify features of a slot.
+* Class Options::       How to specify features for this class.
 @end menu
 
 @node Inheritance
--- a/doc/misc/emacs-mime.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/emacs-mime.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs MIME: (emacs-mime).   Emacs MIME de/composition library.
+* Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.
 @end direntry
 @iftex
 @finalout
--- a/doc/misc/epa.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/epa.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -33,7 +33,7 @@
 
 @dircategory Emacs
 @direntry
-* EasyPG Assistant: (epa).   An Emacs user interface to GNU Privacy Guard.
+* EasyPG Assistant: (epa).      An Emacs user interface to GNU Privacy Guard.
 @end direntry
 
 @titlepage
@@ -142,15 +142,15 @@
 @example
  u Daiki Ueno <ueno@@unixuser.org>
  u A5B6B2D4B15813FE 1024bits DSA
-	Created: 2001-10-09
-	Expires: 2007-09-04
-	Capabilities: sign certify
-	Fingerprint: 8003 7CD0 0F1A 9400 03CA  50AA A5B6 B2D4 B158 13FE
+        Created: 2001-10-09
+        Expires: 2007-09-04
+        Capabilities: sign certify
+        Fingerprint: 8003 7CD0 0F1A 9400 03CA  50AA A5B6 B2D4 B158 13FE
  u 4447461B2A9BEA2D 2048bits ELGAMAL_E
-	Created: 2001-10-09
-	Expires: 2007-09-04
-	Capabilities: encrypt
-	Fingerprint: 9003 D76B 73B7 4A8A E588  10AF 4447 461B 2A9B EA2D
+        Created: 2001-10-09
+        Expires: 2007-09-04
+        Capabilities: encrypt
+        Fingerprint: 9003 D76B 73B7 4A8A E588  10AF 4447 461B 2A9B EA2D
 @end example
 
 @noindent
--- a/doc/misc/erc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/erc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,7 +8,8 @@
 @copying
 This manual is for ERC version 5.3.
 
-Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -29,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* ERC: (erc).           Powerful, modular, and extensible IRC client for Emacs.
+* ERC: (erc).                   Powerful and extensible IRC client for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/eshell.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/eshell.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,8 +8,8 @@
 @copying
 This manual is for Eshell, the Emacs shell.
 
-Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* Eshell: (eshell).     A command shell implemented in Emacs Lisp.
+* Eshell: (eshell).             A command shell implemented in Emacs Lisp.
 @end direntry
 
 @titlepage
--- a/doc/misc/eudc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/eudc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -31,7 +31,7 @@
 
 @dircategory Emacs
 @direntry
-* EUDC: (eudc).   An Emacs client for directory servers (LDAP, PH).
+* EUDC: (eudc).                 Emacs client for directory servers (LDAP, PH).
 @end direntry
 
 @footnotestyle end
--- a/doc/misc/faq.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/faq.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -5,7 +5,7 @@
 @c %**end of header
 
 @c This is used in many places
-@set VER 23.1.95
+@set VER 23.2.50
 
 @c This file is maintained by Romain Francoise <rfrancoise@gnu.org>.
 @c Feel free to install changes without prior permission (but I'd
@@ -41,7 +41,7 @@
 
 @dircategory Emacs
 @direntry
-* Emacs FAQ: (efaq).	Frequently Asked Questions about Emacs.
+* Emacs FAQ: (efaq).            Frequently Asked Questions about Emacs.
 @end direntry
 
 @c The @titlepage stuff only appears in the printed version
--- a/doc/misc/flymake.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/flymake.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -11,8 +11,8 @@
 This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
 which is a universal on-the-fly syntax checker for GNU Emacs.
 
-Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-Foundation, Inc.
+Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* Flymake: (flymake). A universal on-the-fly syntax checker.
+* Flymake: (flymake).           A universal on-the-fly syntax checker.
 @end direntry
 
 @titlepage
@@ -409,7 +409,7 @@
 (defun flymake-perl-init ()
   (let* ((temp-file (flymake-init-create-temp-buffer-copy
                      'flymake-create-temp-inplace))
-	 (local-file (file-relative-name
+         (local-file (file-relative-name
                       temp-file
                       (file-name-directory buffer-file-name))))
     (list "perl" (list "-wc " local-file))))
--- a/doc/misc/forms.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/forms.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,4 +1,4 @@
-\input texinfo			@c -*-texinfo-*-
+\input texinfo                  @c -*-texinfo-*-
 @c documentation for forms-mode
 @c Written by Johan Vromans, and edited by Richard Stallman
 
@@ -37,8 +37,8 @@
 
 @dircategory Emacs
 @direntry
-* Forms: (forms).	Emacs package for editing data bases
-			  by filling in forms.
+* Forms: (forms).               Emacs package for editing data bases
+                                  by filling in forms.
 @end direntry
 
 @titlepage
--- a/doc/misc/gnus-coding.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/gnus-coding.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -32,16 +32,16 @@
 
 
 @titlepage
-@title Gnus Coding Style and Maintainance Guide
+@title Gnus Coding Style and Maintenance Guide
 
 @author by Reiner Steib  <Reiner.Steib@@gmx.de>
 
 @insertcopying
 @end titlepage
 
-@c Obviously this is only a very rudimentary draft.  We put it in CVS
-@c anyway hoping that it might annoy someone enough to fix it.  ;-)
-@c Fixing only a paragraph also is appreciated.
+@c Obviously this is only a very rudimentary draft.  We put it in the
+@c repository anyway hoping that it might annoy someone enough to fix
+@c it.  ;-) Fixing only a paragraph also is appreciated.
 
 @ifnottex
 @node Top
@@ -255,15 +255,17 @@
 
 @section Stable and development versions
 
-The development of Gnus normally is done on the CVS trunk, i.e. there
-are no separate branches to develop and test new features.  Most of the
-time, the trunk is developed quite actively with more or less daily
-changes.  Only after a new major release, e.g. 5.10.1, there's usually a
-feature period of several months.  After the release of Gnus 5.10.6 the
-development of new features started again on the trunk while the 5.10
-series is continued on the stable branch (v5-10) from which more stable
-releases will be done when needed (5.10.8, @dots{}).
-@ref{Gnus Development, ,Gnus Development, gnus, The Gnus Newsreader}
+The development of Gnus normally is done on the Git repository trunk
+as of April 19, 2010 (formerly it was done in CVS; the repository is
+at http://git.gnus.org), i.e. there are no separate branches to
+develop and test new features.  Most of the time, the trunk is
+developed quite actively with more or less daily changes.  Only after
+a new major release, e.g. 5.10.1, there's usually a feature period of
+several months.  After the release of Gnus 5.10.6 the development of
+new features started again on the trunk while the 5.10 series is
+continued on the stable branch (v5-10) from which more stable releases
+will be done when needed (5.10.8, @dots{}).  @ref{Gnus Development,
+,Gnus Development, gnus, The Gnus Newsreader}
 
 Stable releases of Gnus finally become part of Emacs.  E.g. Gnus 5.8
 became a part of Emacs 21 (relabeled to Gnus 5.9).  The 5.10 series 
@@ -333,8 +335,12 @@
 
 @item
 For general Gnus development changes, of course you just make the
-change on the Gnus CVS trunk and it goes into Emacs a few years
+change on the Gnus Git trunk and it goes into Emacs a few years
 later... :-)
+
+With the new Git repository, we'll probably set up something to
+automatically synchronize with Emacs when possible.  CVS was much less
+powerful for this kind of synchronization.
 @end itemize
 
 Of course in any case, if you just can't wait for me to sync your
--- a/doc/misc/gnus-faq.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/gnus-faq.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,8 +1,8 @@
 @c \input texinfo @c -*-texinfo-*-
 @c Uncomment 1st line before texing this file alone.
 @c %**start of header
-@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-@c   2008, 2009, 2010 Free Software Foundation, Inc.
+@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+@c   2009, 2010 Free Software Foundation, Inc.
 @c
 @c Do not modify this file, it was generated from gnus-faq.xml, available from
 @c <URL:http://my.gnus.org/FAQ/>.
@@ -550,7 +550,7 @@
 @example
 (add-to-list 'gnus-secondary-select-methods
              '(nnspool ""
-		       (nnspool-directory "/usr/local/myspoolddir")))
+                       (nnspool-directory "/usr/local/myspoolddir")))
 @end example
 @noindent
 
@@ -635,8 +635,8 @@
 @example
 (eval-after-load "mail-source"
   '(add-to-list 'mail-sources
-		'(directory :path "/path/to/procmail-dir/"
-			    :suffix ".prcml")))
+                '(directory :path "/path/to/procmail-dir/"
+                            :suffix ".prcml")))
 @end example
 @noindent
 
@@ -691,10 +691,10 @@
 
 @example
 (add-to-list 'gnus-secondary-select-methods
-	     '(nnimap "Give the baby a name"
-		      (nnimap-address "imap.yourProvider.net")
-		      (nnimap-port 143)
-		      (nnimap-list-pattern "archive.*")))
+             '(nnimap "Give the baby a name"
+                      (nnimap-address "imap.yourProvider.net")
+                      (nnimap-port 143)
+                      (nnimap-list-pattern "archive.*")))
 @end example
 @noindent
 
@@ -874,7 +874,7 @@
 @example
 (setq gnus-visible-headers
       '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To"
-	"^User-Agent" "^X-Newsreader" "^X-Mailer"))
+        "^User-Agent" "^X-Newsreader" "^X-Mailer"))
 @end example
 @noindent
 
@@ -1099,18 +1099,18 @@
 (gnus-add-configuration
  '(article
    (horizontal 1.0
-	       (vertical 25
-			 (group 1.0))
-	       (vertical 1.0
-			 (summary 0.25 point)
-			 (article 1.0)))))
+               (vertical 25
+                         (group 1.0))
+               (vertical 1.0
+                         (summary 0.25 point)
+                         (article 1.0)))))
 (gnus-add-configuration
  '(summary
    (horizontal 1.0
-	       (vertical 25
-			 (group 1.0))
-	       (vertical 1.0
-			 (summary 1.0 point)))))
+               (vertical 25
+                         (group 1.0))
+               (vertical 1.0
+                         (summary 1.0 point)))))
 @end example
 @noindent
 
@@ -1480,7 +1480,7 @@
 alias syntax:
 
 @example
-alias al	"Al <al@@english-heritage.invalid>"
+alias al        "Al <al@@english-heritage.invalid>"
 @end example
 @noindent
 
@@ -1644,9 +1644,9 @@
 
 @example
 (setq gnus-message-archive-group
-	'((if (message-news-p)
-	      "nnml:Send-News"
-	    "nnml:Send-Mail")))
+        '((if (message-news-p)
+              "nnml:Send-News"
+            "nnml:Send-Mail")))
 @end example
 @noindent
 
--- a/doc/misc/gnus.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/gnus.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -322,7 +322,7 @@
 
 @dircategory Emacs
 @direntry
-* Gnus: (gnus).         The newsreader Gnus.
+* Gnus: (gnus).                 The newsreader Gnus.
 @end direntry
 @iftex
 @finalout
@@ -11315,6 +11315,7 @@
 
 @item B DEL
 @kindex B DEL (Summary)
+@cindex deleting mail
 @findex gnus-summary-delete-article
 @c @icon{gnus-summary-mail-delete}
 Delete the mail article.  This is ``delete'' as in ``delete it from your
@@ -21827,7 +21828,7 @@
 
 When you enter the group the first time, you will only see the new
 threads.  You then raise the score of the threads that you find
-interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{C y}) the
+interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{c y}) the
 rest.  Next time you enter the group, you will see new articles in the
 interesting threads, plus any new threads.
 
@@ -27095,6 +27096,10 @@
 
 On the January 4th 2004, No Gnus was begun.
 
+On April 19, 2010 Gnus development was moved to Git.  See
+http://git.gnus.org for details (http://www.gnus.org will be updated
+with the information when possible).
+
 If you happen upon a version of Gnus that has a prefixed name --
 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'',
 ``Pterodactyl Gnus'', ``Oort Gnus'', ``No Gnus'' -- don't panic.
@@ -28491,7 +28496,7 @@
 hierarchy.
 
 @c FIXME: `gnus-load' is mentioned in README, which is not included in
-@c CVS.  We should find a better place for this item.
+@c the repository.  We should find a better place for this item.
 @item
 @code{(require 'gnus-load)}
 
--- a/doc/misc/idlwave.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/idlwave.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -41,7 +41,7 @@
 
 @dircategory Emacs
 @direntry
-* IDLWAVE: (idlwave).	Major mode and shell for IDL files.
+* IDLWAVE: (idlwave).           Major mode and shell for IDL files.
 @end direntry
 
 @titlepage
@@ -3717,7 +3717,7 @@
 
 @table @asis
 @item @kbd{M-x idlwave-list-buffer-load-path-shadows}
-This commands checks the names of all routines defined in the current
+This command checks the names of all routines defined in the current
 buffer for shadowing conflicts with other routines accessible to
 IDLWAVE.  The command also has a key binding: @kbd{C-c C-b}
 @item @kbd{M-x idlwave-list-shell-load-path-shadows}.
--- a/doc/misc/info.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/info.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -15,7 +15,8 @@
 documentation system.
 
 Copyright @copyright{} 1989, 1992, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -39,7 +40,7 @@
 
 @dircategory Texinfo documentation system
 @direntry
-* Info: (info).         How to use the documentation browsing system.
+* Info: (info).                 How to use the documentation browsing system.
 @end direntry
 
 @titlepage
@@ -1050,6 +1051,13 @@
 want to read the description of what the @kbd{C-l} key does, type
 @kbd{iC-l@key{RET}} literally.
 
+@findex Info-virtual-index
+@kindex I @r{(Info mode)}
+Emacs provides the command @code{Info-virtual-index}, bound to the
+@kbd{I} key.  This behaves like @kbd{i}, but constructs a virtual
+info node displaying the results of an index search, making it easier
+to select the one you want.
+
 @findex info-apropos
 @findex index-apropos
 If you aren't sure which manual documents the topic you are looking
--- a/doc/misc/mairix-el.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/mairix-el.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -24,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* Mairix: (mairix-el).  Emacs interface to the Mairix mail indexer.
+* Mairix: (mairix-el).          Emacs interface to the Mairix mail indexer.
 @end direntry
 
 @titlepage
--- a/doc/misc/message.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/message.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -27,7 +27,8 @@
 
 @dircategory Emacs
 @direntry
-* Message: (message).   Mail and news composition mode that goes with Gnus.
+* Message: (message).           Mail and news composition mode that
+                                  goes with Gnus.
 @end direntry
 @iftex
 @finalout
@@ -659,7 +660,7 @@
 @findex message-insert-disposition-notification-to
 Insert a request for a disposition
 notification.  (@code{message-insert-disposition-notification-to}).
-This means that if the recipient support RFC 2298 she might send you a
+This means that if the recipient supports RFC 2298 she might send you a
 notification that she received the message.
 
 @item M-x message-insert-importance-high
@@ -2387,7 +2388,7 @@
 
 @item wide reply
 A @dfn{wide reply} is a mail response that includes @emph{all} entities
-mentioned in the message you are responded to.  All mailboxes from the
+mentioned in the message you are responding to.  All mailboxes from the
 following headers will be concatenated to form the outgoing
 @code{To}/@code{Cc} headers:
 
--- a/doc/misc/mh-e.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/mh-e.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -24,8 +24,8 @@
 This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
 Manual}, last updated @value{UPDATED}.
 
-Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008,
+  2009, 2010  Free Software Foundation, Inc.
 
 @c This dual license has been agreed upon by the FSF.
 
@@ -58,7 +58,7 @@
 @c Info Directory Entry
 @dircategory Emacs
 @direntry
-* MH-E: (mh-e).		Emacs interface to the MH mail system.
+* MH-E: (mh-e).                 Emacs interface to the MH mail system.
 @end direntry
 
 @c Title Page
@@ -7767,7 +7767,7 @@
 done by adding the following to your @file{crontab}:
 
 @smallexample
-0 * * * *	sa-learn --rebuild > /dev/null 2>&1
+0 * * * *       sa-learn --rebuild > /dev/null 2>&1
 @end smallexample
 
 @subheading Bogofilter
--- a/doc/misc/newsticker.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/newsticker.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -32,7 +32,7 @@
 
 @dircategory Emacs
 @direntry
-* Newsticker: (newsticker). A Newsticker for Emacs.
+* Newsticker: (newsticker).     A Newsticker for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/nxml-mode.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/nxml-mode.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -187,7 +187,7 @@
 
 @example
 Possible completions are:
-xml:lang			   xmlns
+xml:lang                           xmlns
 @end example
 
 @noindent
@@ -520,7 +520,7 @@
 
 If you want to use a schema that has not yet been added to the
 schema locating files, you can use the command @kbd{C-c C-s C-f}
-to manually select the file contaiing the schema for the document in
+to manually select the file containing the schema for the document in
 current buffer.  Emacs will read the file-name of the schema from the
 minibuffer. After reading the file-name, Emacs will ask whether you
 wish to add a rule to a schema locating file that persistently
@@ -851,11 +851,6 @@
 @item
 The restrictions on RELAX NG schemas in section 7 of the RELAX NG
 specification are not enforced.
-@item
-Unicode support has problems. This stems mostly from the fact that
-the XML (and RELAX NG) character model is based squarely on Unicode,
-whereas the Emacs character model is not.  Emacs 22 is slated to have
-full Unicode support, which should improve the situation here.
 @end itemize
 
 @bye
--- a/doc/misc/org.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/org.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -68,7 +68,7 @@
 
 @dircategory Emacs
 @direntry
-* Org Mode: (org).      Outline-based notes management and organizer
+* Org Mode: (org).              Outline-based notes management and organizer.
 @end direntry
 
 @titlepage
@@ -2928,7 +2928,7 @@
 Open link at point.  This will launch a web browser for URLs (using
 @command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
 the corresponding links, and execute the command in a shell link.  When the
-cursor is on an internal link, this commands runs the corresponding search.
+cursor is on an internal link, this command runs the corresponding search.
 When the cursor is on a TAG list in a headline, it creates the corresponding
 TAGS view.  If the cursor is on a timestamp, it compiles the agenda for that
 date.  Furthermore, it will visit text and remote files in @samp{file:} links
@@ -4624,7 +4624,7 @@
 
 @example
 :COLUMNS:  %25ITEM %9Approved(Approved?)@{X@} %Owner %11Status \@footnote{Please note that the COLUMNS definition must be on a single line---it is wrapped here only because of formatting constraints.}
-		   %10Time_Estimate@{:@} %CLOCKSUM
+                   %10Time_Estimate@{:@} %CLOCKSUM
 :Owner_ALL:    Tammy Mark Karl Lisa Don
 :Status_ALL:   "In progress" "Not started yet" "Finished" ""
 :Approved_ALL: "[ ]" "[X]"
@@ -7393,12 +7393,12 @@
 @group
 (defun org-my-auto-exclude-function (tag)
   (and (cond
-	((string= tag "Net")
-	 (/= 0 (call-process "/sbin/ping" nil nil nil
-			     "-c1" "-q" "-t1" "mail.gnu.org")))
-	((or (string= tag "Errand") (string= tag "Call"))
-	 (let ((hour (nth 2 (decode-time))))
-	   (or (< hour 8) (> hour 21)))))
+        ((string= tag "Net")
+         (/= 0 (call-process "/sbin/ping" nil nil nil
+                             "-c1" "-q" "-t1" "mail.gnu.org")))
+        ((or (string= tag "Errand") (string= tag "Call"))
+         (let ((hour (nth 2 (decode-time))))
+           (or (< hour 8) (> hour 21)))))
        (concat "-" tag)))
 
 (setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function)
@@ -11040,9 +11040,9 @@
 
 @lisp
 (add-hook 'org-mode-hook
-	  (lambda ()
-	    (org-set-local 'yas/trigger-key [tab])
-	    (define-key yas/keymap [tab] 'yas/next-field-group)))
+          (lambda ()
+            (org-set-local 'yas/trigger-key [tab])
+            (define-key yas/keymap [tab] 'yas/next-field-group)))
 @end lisp
 
 @item @file{windmove.el} by Hovav Shacham
--- a/doc/misc/pcl-cvs.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/pcl-cvs.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -26,7 +26,7 @@
 
 @dircategory Emacs
 @direntry
-* PCL-CVS: (pcl-cvs).	Emacs front-end to CVS.
+* PCL-CVS: (pcl-cvs).           Emacs front-end to CVS.
 @end direntry
 
 @c The titlepage section does not appear in the Info file.
--- a/doc/misc/pgg.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/pgg.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,8 +8,8 @@
 This file describes PGG @value{VERSION}, an Emacs interface to various
 PGP implementations.
 
-Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* PGG: (pgg).   Emacs interface to various PGP implementations.
+* PGG: (pgg).                   Emacs interface to various PGP implementations.
 @end direntry
 
 @titlepage
@@ -133,7 +133,7 @@
 * User Commands::               
 * Selecting an implementation::  
 * Caching passphrase::          
-* Default user identity::	
+* Default user identity::       
 @end menu
 
 @node User Commands
@@ -376,7 +376,7 @@
 (defun pgg-make-scheme-gpg ()
   (or pgg-scheme-gpg-instance
       (setq pgg-scheme-gpg-instance
-	    (luna-make-entity 'pgg-scheme-gpg))))
+            (luna-make-entity 'pgg-scheme-gpg))))
 @end lisp
 
 The name of the function must follow the
--- a/doc/misc/rcirc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/rcirc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -5,7 +5,8 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 2006, 2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -23,7 +24,7 @@
 
 @dircategory Emacs
 @direntry
-* Rcirc: (rcirc).       Internet Relay Chat (IRC) client.
+* Rcirc: (rcirc).               Internet Relay Chat (IRC) client.
 @end direntry
 
 @titlepage
--- a/doc/misc/reftex.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/reftex.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -46,7 +46,8 @@
 
 @dircategory Emacs
 @direntry
-* RefTeX: (reftex).	Emacs support for LaTeX cross-references and citations.
+* RefTeX: (reftex).             Emacs support for LaTeX cross-references
+                                  and citations.
 @end direntry
 
 @finalout
@@ -3281,7 +3282,7 @@
 (TeX-add-style-hook "multind"
   (lambda ()
     (and (fboundp 'reftex-add-index-macros)
-	 (reftex-add-index-macros '(multind)))))
+         (reftex-add-index-macros '(multind)))))
 @end lisp
 
 If you have your own package @file{myindex} which defines the
--- a/doc/misc/remember.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/remember.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -27,7 +27,7 @@
 
 @dircategory Emacs
 @direntry
-* Remember: (remember). Simple information manager for Emacs
+* Remember: (remember).         Simple information manager for Emacs.
 @end direntry
 
 @titlepage
--- a/doc/misc/sasl.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/sasl.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -32,7 +32,7 @@
 
 @dircategory Emacs
 @direntry
-* SASL: (sasl).   The Emacs SASL library.
+* SASL: (sasl).                 The Emacs SASL library.
 @end direntry
 
 
@@ -148,7 +148,7 @@
 
 @example
 (defconst sasl-anonymous-steps
-  '(identity				;no initial response
+  '(identity                            ;no initial response
     sasl-anonymous-response))
 
 (put 'sasl-anonymous 'sasl-mechanism
@@ -232,7 +232,7 @@
 @example
 (process-send-string
  process
- (if (sasl-step-data step)		;initial response
+ (if (sasl-step-data step)              ;initial response
      (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t))
    (format "AUTH %s\r\n" name)))
 @end example
--- a/doc/misc/sc.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/sc.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -7,7 +7,7 @@
 @finalout
 @end iftex
 
-@c @setchapternewpage odd		% For book style double sided manual.
+@c @setchapternewpage odd               % For book style double sided manual.
 @comment %**end of header (This is for running Texinfo on a region.)
 
 @copying
@@ -35,8 +35,8 @@
 
 @dircategory Emacs
 @direntry
-* SC: (sc).		Supercite lets you cite parts of messages you're
-			  replying to, in flexible ways.
+* SC: (sc).                     Supercite lets you cite parts of messages
+                                  you're replying to, in flexible ways.
 @end direntry
 
 @titlepage
@@ -1795,23 +1795,23 @@
 a mail message to the Supercite mailing list:
 
 @example
-	Martin> Each news/mail-reader should provide a form of
-	Martin> mail-yank-original that
+        Martin> Each news/mail-reader should provide a form of
+        Martin> mail-yank-original that
 
-	Martin> 1: inserts the original message incl. header into the
-	Martin>    reply buffer; no indentation/prefixing is done, the header
-	Martin>    tends to be a "full blown" version rather than to be
-	Martin>    stripped down.
+        Martin> 1: inserts the original message incl. header into the
+        Martin>    reply buffer; no indentation/prefixing is done, the header
+        Martin>    tends to be a "full blown" version rather than to be
+        Martin>    stripped down.
 
-	Martin> 2: `point' is at the start of the header, `mark' at the
-	Martin>    end of the message body.
+        Martin> 2: `point' is at the start of the header, `mark' at the
+        Martin>    end of the message body.
 
-	Martin> 3: (run-hooks 'mail-yank-hooks)
+        Martin> 3: (run-hooks 'mail-yank-hooks)
 
-	Martin> [Supercite] should be run as such a hook and merely
-	Martin> rewrite the message.  This way it isn't anymore
-	Martin> [Supercite]'s job to gather the original from obscure
-	Martin> sources. [@dots{}]
+        Martin> [Supercite] should be run as such a hook and merely
+        Martin> rewrite the message.  This way it isn't anymore
+        Martin> [Supercite]'s job to gather the original from obscure
+        Martin> sources. [@dots{}]
 @end example
 
 @vindex mail-citation-hook
--- a/doc/misc/sem-user.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/sem-user.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,7 @@
 @c This file is included by semantic.texi
 
-@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
+@c   2010  Free Software Foundation, Inc.
 
 @c Permission is granted to copy, distribute and/or modify this
 @c document under the terms of the GNU Free Documentation License,
@@ -328,8 +328,8 @@
 
 @example
 (setq-mode-local c-mode
-		 semanticdb-find-default-throttle
-		 '(project unloaded system recursive))
+                 semanticdb-find-default-throttle
+                 '(project unloaded system recursive))
 @end example
 
 @defvar semanticdb-find-default-throttle
--- a/doc/misc/semantic.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/semantic.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -43,7 +43,7 @@
 
 @dircategory Emacs
 @direntry
-* Semantic: (semantic).      Source code parser library and utilities.
+* Semantic: (semantic).         Source code parser library and utilities.
 @end direntry
 
 @titlepage
@@ -224,8 +224,8 @@
 to learn more about how @semantic{} works.
 
 @menu
-* Parser code ::	  Code used for the parsers
-* Tag handling ::	  Code used for manipulating tags
+* Parser code ::          Code used for the parsers
+* Tag handling ::         Code used for manipulating tags
 * Semanticdb Internals :: Code used in the semantic database
 * Analyzer Internals ::   Code used in the code analyzer
 * Tools ::                Code used in user tools
--- a/doc/misc/ses.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/ses.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -11,8 +11,8 @@
 @copying
 This file documents SES: the Simple Emacs Spreadsheet.
 
-Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@
 
 @dircategory Emacs
 @direntry
-* SES: (ses).       Simple Emacs Spreadsheet
+* SES: (ses).                   Simple Emacs Spreadsheet.
 @end direntry
 
 @finalout
--- a/doc/misc/sieve.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/sieve.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,8 +8,8 @@
 @copying
 This file documents the Emacs Sieve package, for server-side mail filtering.
 
-Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-Free Software Foundation, Inc.
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -227,7 +227,7 @@
 require "fileinto";
 
 if address "sender" "owner-w3-beta@@xemacs.org" @{
-	fileinto "INBOX.w3-beta";
+        fileinto "INBOX.w3-beta";
 @}
 @end example
 
@@ -238,7 +238,7 @@
 
 @example
 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
-	fileinto "INBOX.auc-tex";
+        fileinto "INBOX.auc-tex";
 @}
 @end example
 
@@ -249,7 +249,7 @@
 
 @example
 if address ["to", "cc"] "kerberos@@mit.edu" @{
-	fileinto "INBOX.kerberos";
+        fileinto "INBOX.kerberos";
 @}
 @end example
 
--- a/doc/misc/smtpmail.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/smtpmail.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -22,7 +22,7 @@
 
 @dircategory Emacs
 @direntry
-* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
+* SMTP: (smtpmail).             Emacs library for sending mail via SMTP.
 @end direntry
 
 @titlepage
@@ -44,17 +44,17 @@
 @end ifnottex
 
 @menu
-* How Mail Works::	Brief introduction to mail concepts.
+* How Mail Works::      Brief introduction to mail concepts.
 * Emacs Speaks SMTP::   How to use the SMTP library in Emacs.
-* Authentication::	Authenticating yourself to the server.
-* Queued delivery::	Sending mail without an internet connection.
-* Server workarounds::	Mail servers with special requirements.
-* Debugging::		Tracking down problems.
+* Authentication::      Authenticating yourself to the server.
+* Queued delivery::     Sending mail without an internet connection.
+* Server workarounds::  Mail servers with special requirements.
+* Debugging::           Tracking down problems.
 * GNU Free Documentation License:: The license for this documentation.
 
 Indices
 
-* Index::		Index over variables and functions.
+* Index::               Index over variables and functions.
 @end menu
 
 @node How Mail Works
@@ -355,15 +355,15 @@
 set this unless you have get an error like:
 
 @example
-	Sending failed; SMTP protocol error
+        Sending failed; SMTP protocol error
 @end example
 
 when sending mail, and the debug buffer (@pxref{Debugging})) contains
 an error such as:
 
 @example
-	RCPT TO: @var{someone}
-	501 @var{someone}: recipient address must contain a domain
+        RCPT TO: @var{someone}
+        501 @var{someone}: recipient address must contain a domain
 @end example
 
 @end table
--- a/doc/misc/speedbar.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/speedbar.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -23,7 +23,7 @@
 
 @dircategory Emacs
 @direntry
-* Speedbar: (speedbar). File/Tag summarizing utility.
+* Speedbar: (speedbar).         File/Tag summarizing utility.
 @end direntry
 
 @titlepage
@@ -1131,7 +1131,7 @@
 
 @example
 (add-to-list 'speedbar-dynamic-tags-function-list
-	     '(my-fetch-dynamic-tags  . my-insert-tag-list))
+             '(my-fetch-dynamic-tags . my-insert-tag-list))
 @end example
 
 If your parser is only good for a few types of files, make sure that it
Binary file doc/misc/tramp.texi has changed
--- a/doc/misc/url.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/url.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -15,7 +15,7 @@
 @dircategory World Wide Web
 @dircategory Emacs
 @direntry
-* URL: (url).                 URL loading package.
+* URL: (url).                   URL loading package.
 @end direntry
 
 @copying
@@ -313,7 +313,7 @@
 variables, the value is a string; it can specify a single choice, or
 it can be a comma-separated list.
 
-Normally this list ordered by descending preference.  However, each
+Normally, this list is ordered by descending preference.  However, each
 element can be followed by @samp{;q=@var{priority}} to specify its
 preference level, a decimal number from 0 to 1; e.g., for
 @code{url-mime-language-string}, @w{@code{"de, en-gb;q=0.8,
@@ -1120,11 +1120,11 @@
 
 @defopt url-debug
 @cindex debugging
-Specifies the types of debug messages the library which are logged to
+Specifies the types of debug messages which are logged to
 the @code{*URL-DEBUG*} buffer.
 @code{t} means log all messages.
 A number means log all messages and show them with @code{message}.
-If may also be a list of the types of messages to be logged.
+It may also be a list of the types of messages to be logged.
 @end defopt
 @defopt url-personal-mail-address
 @end defopt
--- a/doc/misc/vip.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/vip.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -3,8 +3,8 @@
 @settitle VIP
 
 @copying
-Copyright @copyright{} 1987, 2001, 2002, 2003, 2004,
-2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -38,7 +38,7 @@
 
 @dircategory Emacs
 @direntry
-* VIP: (vip).		An older VI-emulation for Emacs.
+* VIP: (vip).                   An older VI-emulation for Emacs.
 @end direntry
 
 @ifnottex
@@ -65,10 +65,10 @@
 @end ifnottex
 
 @menu
-* Survey::		A survey of VIP.
-* Vi Commands::		Details of Vi commands.
-* Ex Commands::		Details of Ex commands.
-* Customization::	How to customize VIP.
+* Survey::              A survey of VIP.
+* Vi Commands::         Details of Vi commands.
+* Ex Commands::         Details of Ex commands.
+* Customization::       How to customize VIP.
 * GNU Free Documentation License:: The license for this documentation.
 
 @end menu
@@ -99,10 +99,10 @@
 found in Vi and on how to use VIP under GNU Emacs.
 
 @menu
-* Basic Concepts::	Basic concepts in Emacs.
-* Loading VIP::		How to load VIP automatically.
-* Modes in VIP::	VIP has three modes, which are orthogonal to modes
-			in Emacs.
+* Basic Concepts::      Basic concepts in Emacs.
+* Loading VIP::         How to load VIP automatically.
+* Modes in VIP::        VIP has three modes, which are orthogonal to modes
+                          in Emacs.
 * Differences from Vi:: Differences of VIP from Vi is explained.
 @end menu
 
@@ -253,10 +253,10 @@
 @end ifinfo
 
 @menu
-* Emacs Mode::		This is the mode you should know better.
-* Vi Mode::		Vi commands are executed in this mode.
-* Insert Mode::		You can enter text, and also can do editing if you
-			know enough Emacs commands.
+* Emacs Mode::          This is the mode you should know better.
+* Vi Mode::             Vi commands are executed in this mode.
+* Insert Mode::         You can enter text, and also can do editing if you
+                          know enough Emacs commands.
 @end menu
 
 @node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP
@@ -306,23 +306,23 @@
 The major differences from Vi are explained below.
 
 @menu
-* Undoing::		You can undo more in VIP.
-* Changing::		Commands for changing the text.
-* Searching::		Search commands.
-* z Command::		You can now use zH, zM and zL as well as z- etc.
-* Counts::		Some Vi commands which do not accept a count now
-			accept one.
-* Marking::		You can now mark the current point, beginning of
-			the buffer etc.
-* Region Commands::	You can now give a region as an argument for delete
-			commands etc.
-* New Commands::	Some new commands not available in Vi are added.
-* New Bindings::	Bindings of some keys are changed for the
-			convenience of editing under Emacs.
-* Window Commands::	Commands for moving among windows etc.
-* Buffer Commands::	Commands for selecting buffers etc.
-* File Commands::	Commands for visiting files etc.
-* Misc Commands::	Other useful commands.
+* Undoing::             You can undo more in VIP.
+* Changing::            Commands for changing the text.
+* Searching::           Search commands.
+* z Command::           You can now use zH, zM and zL as well as z- etc.
+* Counts::              Some Vi commands which do not accept a count now
+                        accept one.
+* Marking::             You can now mark the current point, beginning of
+                        the buffer etc.
+* Region Commands::     You can now give a region as an argument for delete
+                        commands etc.
+* New Commands::        Some new commands not available in Vi are added.
+* New Bindings::        Bindings of some keys are changed for the
+                        convenience of editing under Emacs.
+* Window Commands::     Commands for moving among windows etc.
+* Buffer Commands::     Commands for selecting buffers etc.
+* File Commands::       Commands for visiting files etc.
+* Misc Commands::       Other useful commands.
 @end menu
 
 @node Undoing, Changing, Differences from Vi, Differences from Vi
@@ -693,17 +693,17 @@
 commands described in this chapter are to be used in vi mode.
 
 @menu
-* Numeric Arguments::	Many commands accept numeric arguments
-* Important Keys::	Some very important keys.
-* Buffers and Windows::	Commands for handling buffers and windows.
-* Files::		Commands for handling files.
-* Viewing the Buffer::	How you can view the current buffer.
-* Mark Commands::	Marking positions in a buffer.
-* Motion Commands::	Commands for moving point.
-* Searching and Replacing::	Commands for searching and replacing.
-* Modifying Commands::	Commands for modifying the buffer.
-* Other Vi Commands::	Miscellaneous Commands.
-* Commands in Insert Mode::	Commands for entering insert mode.
+* Numeric Arguments::        Many commands accept numeric arguments
+* Important Keys::           Some very important keys.
+* Buffers and Windows::      Commands for handling buffers and windows.
+* Files::                    Commands for handling files.
+* Viewing the Buffer::       How you can view the current buffer.
+* Mark Commands::            Marking positions in a buffer.
+* Motion Commands::          Commands for moving point.
+* Searching and Replacing::  Commands for searching and replacing.
+* Modifying Commands::       Commands for modifying the buffer.
+* Other Vi Commands::        Miscellaneous Commands.
+* Commands in Insert Mode::  Commands for entering insert mode.
 @end menu
 
 @node Numeric Arguments, Important Keys, Vi Commands, Vi Commands
@@ -1265,7 +1265,7 @@
 @var{newstring}.  If the mode is regular expression, @var{string} is
 treated as a regular expression and every string matching the regular
 expression is replaced with @var{newstring} (@code{vip-replace-string}).
-@item Q	@var{string} RET @var{newstring}
+@item Q @var{string} RET @var{newstring}
 @kindex 121 @kbd{Q} (@code{vip-query-replace})
 Same as @kbd{R} except that you will be asked form confirmation before each
 replacement
@@ -1311,10 +1311,10 @@
 command.
 
 @menu
-* Delete Commands::	Commands for deleting text.
-* Yank Commands::	Commands for yanking text in Vi's sense.
-* Put Back Commands::	Commands for putting back deleted/yanked text.
-* Change Commands::	Commands for changing text.
+* Delete Commands::     Commands for deleting text.
+* Yank Commands::       Commands for yanking text in Vi's sense.
+* Put Back Commands::   Commands for putting back deleted/yanked text.
+* Change Commands::     Commands for changing text.
 * Repeating and Undoing Modifications::
 @end menu
 @node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands
@@ -1713,7 +1713,7 @@
 character @samp{|}.
 
 @menu
-* Ex Command Reference::	Explain all the Ex commands available in VIP.
+* Ex Command Reference::        Explain all the Ex commands available in VIP.
 @end menu
 @node Ex Command Reference, Customization, Ex Commands, Ex Commands
 @section Ex Command Reference
@@ -1869,8 +1869,8 @@
 customizing VIP.
 
 @menu
-* Customizing Constants::	How to change values of constants.
-* Customizing Key Bindings::	How to change key bindings.
+* Customizing Constants::       How to change values of constants.
+* Customizing Key Bindings::    How to change key bindings.
 @end menu
 
 @node Customizing Constants, Customizing Key Bindings, Customization, Customization
--- a/doc/misc/viper.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/viper.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -26,9 +26,9 @@
 
 @dircategory Emacs
 @direntry
-* VIPER: (viper).       The newest Emacs VI-emulation mode.
-                          (also, A VI Plan for Emacs Rescue
-                           or the VI PERil.)
+* VIPER: (viper).               The newest Emacs VI-emulation mode.
+                                  (also, A VI Plan for Emacs Rescue
+                                  or the VI PERil.)
 @end direntry
 
 @finalout
@@ -3004,14 +3004,14 @@
 found on the Vi archives.  This reference has been adapted for Viper.@refill
 
 @menu
-* Groundwork::			Textual Conventions and Viper basics
-* Text Handling::		Moving, Editing, Undoing.
-* Display::			Scrolling.
-* File and Buffer Handling::	Editing, Writing and Quitting.
-* Mapping::			Mapping Keys, Keyboard Macros
-* Shell Commands::		Accessing Shell Commands, Processing Text
-* Options::			Ex options, the @kbd{:set} commands
-* Emacs Related Commands::	Meta Keys, Windows
+* Groundwork::                  Textual Conventions and Viper basics
+* Text Handling::               Moving, Editing, Undoing.
+* Display::                     Scrolling.
+* File and Buffer Handling::    Editing, Writing and Quitting.
+* Mapping::                     Mapping Keys, Keyboard Macros
+* Shell Commands::              Accessing Shell Commands, Processing Text
+* Options::                     Ex options, the @kbd{:set} commands
+* Emacs Related Commands::      Meta Keys, Windows
 * Mouse-bound Commands::        Search and insertion of text
 @end menu
 
@@ -3230,15 +3230,15 @@
 @section Text Handling
 
 @menu
-* Move Commands::		Moving, Searching
-* Marking::		        Textmarkers in Viper and the Emacs Mark.
-* Appending Text::		Text insertion, Shifting, Putting
-* Editing in Insert State::	Autoindent, Quoting etc.
-* Deleting Text::		Deleting
-* Changing Text::		Changing, Replacement, Joining
-* Search and Replace::		Searches, Query Replace, Pattern Commands
-* Yanking::			Yanking, Viewing Registers
-* Undoing::			Multiple Undo, Backups
+* Move Commands::               Moving, Searching
+* Marking::                     Textmarkers in Viper and the Emacs Mark.
+* Appending Text::              Text insertion, Shifting, Putting
+* Editing in Insert State::     Autoindent, Quoting etc.
+* Deleting Text::               Deleting
+* Changing Text::               Changing, Replacement, Joining
+* Search and Replace::          Searches, Query Replace, Pattern Commands
+* Yanking::                     Yanking, Viewing Registers
+* Undoing::                     Multiple Undo, Backups
 @end menu
 
 @node Move Commands,Marking,,Text Handling
--- a/doc/misc/widget.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/widget.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -8,8 +8,8 @@
 @c %**end of header
 
 @copying
-Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009, 2010  Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -27,8 +27,8 @@
 
 @dircategory Emacs
 @direntry
-* Widget: (widget).      The "widget" package used by the Emacs Customization
-                           facility.
+* Widget: (widget).             The "widget" package used by the Emacs
+                                  Customization facility.
 @end direntry
 
 @contents
@@ -338,71 +338,71 @@
   (remove-overlays)
   (widget-insert "Here is some documentation.\n\n")
   (widget-create 'editable-field
-		 :size 13
-		 :format "Name: %v " ; Text after the field!
-		 "My Name")
+                 :size 13
+                 :format "Name: %v " ; Text after the field!
+                 "My Name")
   (widget-create 'menu-choice
-		 :tag "Choose"
-		 :value "This"
-		 :help-echo "Choose me, please!"
-		 :notify (lambda (widget &rest ignore)
-			   (message "%s is a good choice!"
-				    (widget-value widget)))
-		 '(item :tag "This option" :value "This")
-		 '(choice-item "That option")
-		 '(editable-field :menu-tag "No option" "Thus option"))
+                 :tag "Choose"
+                 :value "This"
+                 :help-echo "Choose me, please!"
+                 :notify (lambda (widget &rest ignore)
+                           (message "%s is a good choice!"
+                                    (widget-value widget)))
+                 '(item :tag "This option" :value "This")
+                 '(choice-item "That option")
+                 '(editable-field :menu-tag "No option" "Thus option"))
   (widget-create 'editable-field
-		 :format "Address: %v"
-		 "Some Place\nIn some City\nSome country.")
+                 :format "Address: %v"
+                 "Some Place\nIn some City\nSome country.")
   (widget-insert "\nSee also ")
   (widget-create 'link
-		 :notify (lambda (&rest ignore)
-			   (widget-value-set widget-example-repeat
-					     '("En" "To" "Tre"))
-			   (widget-setup))
-		 "other work")
+                 :notify (lambda (&rest ignore)
+                           (widget-value-set widget-example-repeat
+                                             '("En" "To" "Tre"))
+                           (widget-setup))
+                 "other work")
   (widget-insert
     " for more information.\n\nNumbers: count to three below\n")
   (setq widget-example-repeat
-	(widget-create 'editable-list
-		       :entry-format "%i %d %v"
-		       :notify (lambda (widget &rest ignore)
-				 (let ((old (widget-get widget
-							':example-length))
-				       (new (length (widget-value widget))))
-				   (unless (eq old new)
-				     (widget-put widget ':example-length new)
-				     (message "You can count to %d." new))))
-		       :value '("One" "Eh, two?" "Five!")
-		       '(editable-field :value "three")))
+        (widget-create 'editable-list
+                       :entry-format "%i %d %v"
+                       :notify (lambda (widget &rest ignore)
+                                 (let ((old (widget-get widget
+                                                        ':example-length))
+                                       (new (length (widget-value widget))))
+                                   (unless (eq old new)
+                                     (widget-put widget ':example-length new)
+                                     (message "You can count to %d." new))))
+                       :value '("One" "Eh, two?" "Five!")
+                       '(editable-field :value "three")))
   (widget-insert "\n\nSelect multiple:\n\n")
   (widget-create 'checkbox t)
   (widget-insert " This\n")
   (widget-create 'checkbox nil)
   (widget-insert " That\n")
   (widget-create 'checkbox
-		 :notify (lambda (&rest ignore) (message "Tickle"))
-		 t)
+                 :notify (lambda (&rest ignore) (message "Tickle"))
+                 t)
   (widget-insert " Thus\n\nSelect one:\n\n")
   (widget-create 'radio-button-choice
-		 :value "One"
-		 :notify (lambda (widget &rest ignore)
-			   (message "You selected %s"
-				    (widget-value widget)))
-		 '(item "One") '(item "Another One.") '(item "A Final One."))
+                 :value "One"
+                 :notify (lambda (widget &rest ignore)
+                           (message "You selected %s"
+                                    (widget-value widget)))
+                 '(item "One") '(item "Another One.") '(item "A Final One."))
   (widget-insert "\n")
   (widget-create 'push-button
-		 :notify (lambda (&rest ignore)
-			   (if (= (length (widget-value widget-example-repeat))
-				  3)
-			       (message "Congratulation!")
-			     (error "Three was the count!")))
-		 "Apply Form")
+                 :notify (lambda (&rest ignore)
+                           (if (= (length (widget-value widget-example-repeat))
+                                  3)
+                               (message "Congratulation!")
+                             (error "Three was the count!")))
+                 "Apply Form")
   (widget-insert " ")
   (widget-create 'push-button
-		 :notify (lambda (&rest ignore)
-			   (widget-example))
-		 "Reset Form")
+                 :notify (lambda (&rest ignore)
+                           (widget-example))
+                 "Reset Form")
   (widget-insert "\n")
   (use-local-map widget-keymap)
   (widget-setup))
--- a/doc/misc/woman.texi	Sat Apr 03 19:40:20 2010 -0400
+++ b/doc/misc/woman.texi	Fri Aug 27 23:05:43 2010 +0900
@@ -4,7 +4,7 @@
 @settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man''
 @c FIXME
 @c Manual last updated:
-@set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor>
+@set UPDATED Time-stamp: <Thu 24-Jun-2010 00:06:54 gm on grasmoor>
 @c Software version:
 @set VERSION 0.54 (beta)
 @afourpaper
@@ -37,7 +37,7 @@
 
 @dircategory Emacs
 @direntry
-* WoMan: (woman).       Browse UN*X Manual Pages "W.O. (without) Man".
+* WoMan: (woman).               Browse UN*X Manual Pages "W.O. (without) Man".
 @end direntry
 
 @finalout
--- a/etc/AUTHORS	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/AUTHORS	Fri Aug 27 23:05:43 2010 +0900
@@ -92,7 +92,7 @@
 
 Alexander Becher: changed vc-annotate.el
 
-Alexander Klimov: changed man.el
+Alexander Klimov: changed calc-graph.el man.el
 
 Alexander Kreuzer: changed nnrss.el
 
@@ -167,9 +167,9 @@
 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 print.c editfns.c fileio.c fns.c dired.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 483 other files
+  and 485 other files
 
 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
@@ -435,8 +435,8 @@
 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 xfaces.c font.c startup.el xfns.c misc.texi image.c
-  compile.el custom.texi text.texi and 633 other files
+  Makefile.in misc.texi xfaces.c font.c startup.el xfns.c compile.el
+  image.c custom.texi configure.in and 635 other files
 
 Chris Chase: co-wrote idlw-shell.el idlwave.el
 
@@ -868,7 +868,7 @@
 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 602 other files
+  xfaces.c and 603 other files
 
 Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
   gnus.el
@@ -1002,7 +1002,7 @@
 Florian Weimer: changed message.el gnus.el coding.c gnus-sum.el gnus.texi
   mm-decode.el mm-util.el
 
-Francesc Rocher: changed startup.el MORE.STUFF cus-start.el gnus.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
 
@@ -1131,9 +1131,9 @@
 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 files.el appt.el
-  cal-china.el emacs.texi rmailsum.el simple.el startup.el
-  and 975 other files
+  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
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -1346,7 +1346,7 @@
 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 process.c and 203 other files
+  xlwmenu.c frame.h and 203 other files
 
 Jan Moringen: co-wrote cpp.el
 
@@ -1635,7 +1635,7 @@
 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 930 other files
+  keyboard.c replace.el eval.c and 932 other files
 
 Juergen Hoetzel: changed url-handlers.el
 
@@ -1657,7 +1657,7 @@
 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 280 other files
+  ispell.el text.texi dired-x.el and 281 other files
 
 Justin Bogner: changed fortune.el
 
@@ -1770,7 +1770,7 @@
 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 ccl.c charset.h ftfont.c xfaces.c coding.h
+  fns.c mule-diag.el ftfont.c ccl.c charset.h xfaces.c coding.h
   japanese.el and 377 other files
 
 Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
@@ -1969,7 +1969,7 @@
 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 7 other files
+  org-latex.el org-table.el process.c rcirc.el and 8 other files
 
 Malcolm Purvis: changed spam-stat.el
 
@@ -2432,7 +2432,7 @@
   eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el
 and changed ph.el
 
-Óscar Fuentes: changed emacsclient.c ido.el vc-bzr.el
+Óscar Fuentes: changed ido.el emacsclient.c vc-bzr.el
 
 P. E. Jareth Hein: changed gnus-util.el
 
@@ -2951,7 +2951,9 @@
 
 Steinar Bang: changed imap.el
 
-Štěpán Němec: changed subr.el vc-git.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
 
 Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
   ediff-mult.el
@@ -3080,7 +3082,7 @@
 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 48 other files
+  nnbabyl.el nnfolder.el nnmbox.el nnmh.el and 51 other files
 
 Terje Rosten: changed xfns.c version.el xterm.c xterm.h
 
--- a/etc/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,31 @@
+2010-06-19  Ken Brown  <kbrown@cornell.edu>
+
+	* PROBLEMS: Update Cygwin GCC information.  (Bug#6458)
+
+2010-06-12  Glenn Morris  <rgm@gnu.org>
+
+	* tutorials/TUTORIAL.bg, tutorials/TUTORIAL.es: Fix typos.
+
+2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* NEWS: Add sections for Emacs-23.3.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-04-27  Chong Yidong  <cyd@stupidchicken.com>
+
+	* PROBLEMS: Document gcc-4.5 bug (Bug#6031).
+
+2010-04-23  Kenichi Handa  <handa@m17n.org>
+
+	* HELLO: Adjust Burmese for Unicode 5.2 encoding.
+
+2010-04-04  Francesc Rocher  <rocher@member.fsf.org>
+
+	* MORE.STUFF: Add a new entry for QWE.
+
 2010-03-28  Chong Yidong  <cyd@stupidchicken.com>
 
 	* images/icons/hicolor/scalable/apps/emacs.svg: Put preamble after
@@ -10,8 +38,7 @@
 
 2010-03-15  Francesc Rocher  <rocher@member.fsf.org>
 
-	* MORE.STUFF: Remove CEDET entry, now distributed as part of
-	Emacs.
+	* MORE.STUFF: Remove CEDET entry, now distributed as part of Emacs.
 
 2010-03-06  Glenn Morris  <rgm@gnu.org>
 
--- a/etc/HELLO	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/HELLO	Fri Aug 27 23:05:43 2010 +0900
@@ -7,7 +7,7 @@
   Middle/Near East: ,Hylem(B, ,GecjdY(B ,GeGdqSdG(B
   South Asia: $,19h9n9x:-9d:'(B, $,15h5n5x6-5d6'(B, $,1?(?.?8?M>u?>?0(B, $,1@H@N@X@m@5@^@P@"(B, $,1;6;A;#;?;,;G(B,
               $,1AFAzB4AvB=B AqB*(B, $,1<U<C<5<m<5<N<m(B, $,1=h=n=x>-=U=~=p=B(B, $(7"7"!#C!;"E"S"G!;"7"2"[!;"D"["#"G!>(B
-  South East Asia: $,1\'\f\:\V\4\?\]\:(B, (1JP:R-4U(B, $,1H9H$HYrmH"H<HLH5HL(B, ,TJGQJ4U$CQ:(B, Ch,1`(Bo b,1U(Bn
+  South East Asia: $,1\'\f\:\V\4\?\]\:(B, (1JP:R-4U(B, $,1H9H$HZHYH"H<HLH5HK(B, ,TJGQJ4U$CQ:(B, Ch,1`(Bo b,1U(Bn
   East Asia: $ADc:C(B, $(0*/=((B, $B$3$s$K$A$O(B, $(C>H3gGO<<?d(B
   Misc: E,C6(Bo,C~(Ban,Cx(Bo ,Cf(Biu,C<(Ba,C}(Bde, $,2(3(1('('(5(B, $,1x (B p $,1x((B world $,1s"(B hello p  $,2!a(B
   CJK variety: GB($AT*Fx(B,$A?*7"(B), BIG5($(0&x86(B,$(0DeBv(B), JIS($B855$(B,$B3+H/(B), KSC($(Cj*Q((B,$(CKR[!(B)
@@ -19,7 +19,7 @@
 Arabic (,GIqjHQYdG(B)	,GecjdY(B ,GeGdqSdG(B
 Bengali ($,17,7>6b727>(B)	$,17(7.787M6u7>70(B
 Braille	$,2(3(1('('(5(B
-Burmese ($,1H9HYH;H4HYrlH9HL(B)	$,1H9H$HYrmH"H<HLH5HL(B
+Burmese ($,1H9H\H4HZH9HL(B)	$,1H9H$HZHYH"H<HLH5HK(B
 C	printf ("Hello, world!\n");
 Czech (,Bh(Be,B9(Btina)	Dobr,A}(B den
 Danish (dansk)	Hej / Goddag / Hall,Ax(Bj
--- a/etc/MORE.STUFF	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/MORE.STUFF	Fri Aug 27 23:05:43 2010 +0900
@@ -215,6 +215,10 @@
  * Quack: <URL:http://www.neilvandyke.org/quack/>
    Quack enhances Emacs support for Scheme.
 
+ * QWE: <URL:http://www.nongnu.org/qwe/>
+   QWE's not WEB for Emacs is a quasi-WYSIWYG literate programming system for
+   Emacs that can be used with almost every programming language.
+
  * Session: <URL:http://emacs-session.sourceforge.net/>
    Session Management for Emacs.
 
--- a/etc/NEWS	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/NEWS	Fri Aug 27 23:05:43 2010 +0900
@@ -14,93 +14,112 @@
 You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
-
-Temporary note:
- +++ indicates that the appropriate manual has already been updated.
- --- means no change in the manuals is called for.
-When you add a new item, please add it without either +++ or ---
-so we will look at it and add it to the manual.
+
+* Installation Changes in Emacs 23.3
+
+* Startup Changes in Emacs 23.3
+
+* Changes in Emacs 23.3
+
+
+* Editing Changes in Emacs 23.3
+
+
+* Changes in Specialized Modes and Packages in Emacs 23.3
+
+---
+** The appt-add command takes an optional argument for the warning time.
+This can be used in place of the default appt-message-warning-time.
+
+
+* New Modes and Packages in Emacs 23.3
+
+
+* Incompatible Lisp Changes in Emacs 23.3
+
+
+* Lisp changes in Emacs 23.3
+
+** New function byte-to-string, like char-to-string but for bytes.
+
+
+* Changes in Emacs 23.3 on non-free operating systems
 
 
 * Installation Changes in Emacs 23.2
 
-** New configure options for Emacs developers
+** New configure options for Emacs developers.
 These are not new features; only the configure flags are new.
----
+
 *** --enable-profiling builds Emacs with profiling enabled.
 This might not work on all platforms.
----
+
 *** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
 
----
 ** `make install' now consistently ignores umask, creating a
 world-readable install.
 
 ** Emacs compiles with Gconf support, if it is detected.
 Use the configure option --without-gconf to disable this.
+This is used by the `font-use-system-font' feature (see below).
 
 * Startup Changes in Emacs 23.2
-+++
+
 ** The command-line option -Q (--quick) also inhibits loading X resources.
 However, if Emacs is compiled with the Lucid or Motif toolkit, X
 resource settings for the graphical widgets are still applied.
 On Windows, the -Q option causes Emacs to ignore Registry settings,
 but environment variables set on the Registry are still honored.
-+++
+
 *** The new variable `inhibit-x-resources' shows whether X resources
 were loaded.
 
-+++
 ** New command-line option -mm (--maximized) maximizes the initial frame.
 
 * Changes in Emacs 23.2
 
-+++
 ** The maximum size of buffers (and the largest fixnum) is doubled.
 On typical 32bit systems, buffers can now be up to 512MB.
 
----
 ** The default value of `trash-directory' is now nil.
 This means that `move-file-to-trash' trashes files according to
 freedesktop.org specifications, the same method used by the Gnome,
 KDE, and XFCE desktops.  (This change has no effect on Windows, which
 uses `system-move-file-to-trash' for trashing.)
 
-+++
 ** The pointer now becomes invisible when typing.
 Customize `make-pointer-invisible' to disable this feature.
 
 ** Font changes
-+++
+
 *** Emacs can use the system default monospaced font in Gnome.
 To enable this feature, set `font-use-system-font' to non-nil (it is
 nil by default).  If the system default changes, Emacs changes also.
 This feature requires Gconf support, which is automatically included
 at compile-time if configure detects the gconf libraries (you can
 disable this with the configure option --without-gconf).
----
+
 *** On X11, Emacs reacts to Xft changes made by configuration tools,
 via the XSETTINGS mechanism.  This includes antialias, hinting,
 hintstyle, RGBA, DPI and lcdfilter changes.
 
-+++
 ** Killing a buffer with a running process now asks for confirmation.
 To remove this query, remove `process-kill-buffer-query-function' from
 `kill-buffer-query-functions', or set the appropriate process flag
 with `set-process-query-on-exit-flag'.
 
 ** File-local variable changes
-+++
+
 *** Specifying a minor mode as a local variables enables that mode,
 unconditionally.  The previous behavior, toggling the mode, was
 neither reliable nor generally desirable.
 
-*** New commands for adding and removing file-local variables:
+*** There are new commands for adding and removing file-local variables:
 `add-file-local-variable', `delete-file-local-variable',
 `add-file-local-variable-prop-line', and
 `delete-file-local-variable-prop-line'.
 
-*** New commands for adding and removing directory-local variables,
+*** There are new commands for adding and removing directory-local variables,
 and copying them to and from file-local variable lists:
 `add-dir-local-variable', `delete-dir-local-variable',
 `copy-dir-locals-to-file-locals',
@@ -108,55 +127,63 @@
 `copy-file-locals-to-dir-locals'.
 
 ** Internationalization changes
-+++
+
 *** Unibyte sessions are now considered obsolete.
 This refers to the EMACS_UNIBYTE environment variable as well as the
 --unibyte, --multibyte, --no-multibyte, and --no-unibyte command line
 arguments.  Customizing enable-multibyte-characters and setting
 default-enable-multibyte-characters are also deprecated.
----
+
 *** New coding system `utf-8-hfs'.
 This is suitable for default-file-name-coding-system on Mac OS X; see
 international/ucs-normalize.el.
 
----
 ** Function arguments in *Help* buffers are now shown in upper-case.
 Customize `help-downcase-arguments' to t to show them in lower-case.
 
+** New command `async-shell-command', bound globally to `M-&'.
+This executes the command asynchronously, similar to calling `M-!' and
+manually adding an ampersand to the end of the command.  With `M-&',
+you don't need the ampersand.  The output appears in the buffer
+`*Async Shell Command*'.
+
+** When running in a new enough xterm (newer than version 242), Emacs
+asks xterm what the background color is and it sets up faces
+accordingly for a dark background if needed (the current default is to
+consider the background light).
+
 
 * Editing Changes in Emacs 23.2
 
 ** Kill-ring and selection changes
-+++
+
 *** If `select-active-regions' is t, any active region automatically
 becomes the primary selection (for interaction with other window
 applications).  If you enable this, you might want to bind
 `mouse-yank-primary' to Mouse-2.
-+++
+
 *** When `save-interprogram-paste-before-kill' is non-nil, the kill
 commands save the interprogram-paste selection into the kill ring
 before doing anything else.  This avoids losing the selection.
-+++
+
 *** When `kill-do-not-save-duplicates' is non-nil, identical
 subsequent kills are not duplicated in the `kill-ring'.
 
 ** Completion changes
 
 *** The new command `completion-at-point' provides mode-sensitive completion.
-+++
+
 *** tab-always-indent set to `complete' lets TAB do completion as well.
-+++
+
 *** The new completion-style `initials' is available.
 For instance, this can complete M-x lch to list-command-history.
----
+
 *** The new variable `completions-format' determines how completions
 are displayed in the *Completions* buffer.  If you set it to
 `vertical', completions are sorted vertically in columns.
 
-+++
 ** The default value of `blink-matching-paren-distance' is increased.
 
----
 ** M-n provides more default values in the minibuffer for commands
 that read file names.  These include the file name at point (when ffap
 is loaded without ffap-bindings), the file name on the current line
@@ -164,56 +191,44 @@
 (for Dired commands that operate on several directories, such as copy,
 rename, or diff).
 
-+++
 ** M-r is bound to the new `move-to-window-line-top-bottom'.
 This moves point to the window center, top and bottom on successive
 invocations, in the same spirit as the C-l (recenter-top-bottom)
 command.
 
-+++
 ** The new variable `recenter-positions' determines the default
 cycling order of C-l (`recenter-top-bottom').
 
-+++
 ** The abbrevs file is now a file named abbrev_defs in
 user-emacs-directory; but the old location, ~/.abbrev_defs, is used if
 that file exists.
+
 
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
 ** The bookmark menu has a narrowing search via bookmark-bmenu-search.
 
-** LaTeX mode now provides completion (via completion-at-point).
-
----
-** sym-comp.el is now declared obsolete, superceded by completion-at-point.
-
-** lucid.el and levents.el are now declared obsolete.
-
-** pcomplete provides a new command `pcomplete-std-completion' which
-is similar to `pcomplete' but using the standard completion UI code.
-
 ** Calc
-+++
+
 *** The Calc settings file is now a file named calc.el in
 user-emacs-directory; but the old location, ~/.calc.el, is used if
 that file exists.
----
+
 *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
 the native Windows port of Gnuplot version 3.8 or later installed.
 
 ** Calendar and diary
-+++
+
 *** Fancy diary display is now the default.
 If you prefer the simple display, customize `diary-display-function'.
-+++
+
 *** The diary's fancy display now enables view-mode.
----
+
 *** The command `calendar-current-date' accepts an optional argument
 giving an offset from today.
 
 ** Desktop
----
+
 *** The default value for `desktop-buffers-not-to-save' is nil.
 This means Desktop will try restoring all buffers, when you restart
 your Emacs session.  Also, `desktop-buffers-not-to-save' is only
@@ -222,23 +237,37 @@
 `desktop-files-not-to-save' instead.
 
 ** Dired
-+++
+
 *** The new variable `dired-auto-revert-buffer', if non-nil, causes
 Dired buffers to be reverted automatically on revisiting them.
 
 ** DocView
-+++
+
 *** When `doc-view-continuous' is non-nil, scrolling a line
 on the page edge advances to the next/previous page.
 
+** Elint
+
+*** Elint now uses compilation-mode.
+
+*** Elint can now scan individual files and whole directories,
+and can be run in batch mode.
+
+*** Elint does a more thorough initialization, and recognizes more built-in
+functions and variables.  Customize `elint-scan-preloaded' if you want
+to sacrifice some accuracy for a faster startup.
+
+*** Elint attempts some basic understanding of featurep and (f)boundp tests.
+
+*** Customize `elint-ignored-warnings' to suppress some warnings.
+
 ** GDB-UI
 
 *** Toolbar functionality for reverse debugging.  Display of STL
-collections as watch expressions.  These features require GDB 7.0
-or later.
+collections as watch expressions.  These features require GDB 7.0 or later.
 
 ** Grep
-+++
+
 *** A new command `zrgrep' searches recursively in gzipped files.
 
 ** Info
@@ -250,7 +279,8 @@
 manual that generates an Info file which gives the same information
 through a menu structure.
 
-+++
+** LaTeX mode now provides completion (via completion-at-point).
+
 ** Message mode is now the default mode for composing mail.
 
 The default for `mail-user-agent' is now message-user-agent, so the
@@ -260,7 +290,6 @@
 for several years.  It provides several features that are absent in
 Mail mode, such as MIME handling.
 
----
 *** If the user has not customized mail-user-agent, `compose-mail'
 checks for Mail mode customizations, and issues a warning if these
 customizations are found.  This alerts users who may otherwise be
@@ -268,107 +297,87 @@
 
 To disable this check, set compose-mail-user-agent-warnings to nil.
 
----
 ** The default value of mail-interactive is t, since Emacs 23.1.
 (This was not announced at the time.)  It means that when sending mail,
 Emacs will wait for the process sending mail to return.  If you
 experience delays when sending mail, you may wish to set this to nil.
 
-+++
 ** nXML mode is now the default for editing XML files.
 
+** pcomplete provides a new command `pcomplete-std-completion' which
+is similar to `pcomplete' but using the standard completion UI code.
+
 ** Shell (and other comint modes)
-+++
+
 *** M-s is no longer bound to `comint-next-matching-input'.
-+++
+
 *** M-r is now bound to `comint-history-isearch-backward-regexp'.
 This starts an incremental search of the comint/shell input history.
-+++
+
 *** ansi-color is now enabled by default in Shell mode.
 To disable it, set ansi-color-for-comint-mode to nil.
 
 ** Tramp
-+++
+
 *** New connection methods "rsyncc", "imap" and "imaps".
 On systems which support GVFS-Fuse, Tramp offers also the new
 connection methods "dav", "davs", "obex" and "synce".
 
 ** VC and related modes
-+++
+
 *** When using C-x v v or C-x v i on a unregistered file that is in a
 directory not controlled by any VCS, ask the user what VC backend to
 use to create a repository, create a new repository and register the
 file.
-+++
+
 *** New command `vc-root-print-log', bound to `C-x v L'.
 This displays a `*vc-change-log*' buffer showing the history of the
 version-controlled directory tree as a whole.
-+++
+
 *** New command `vc-root-diff', bound to `C-x v D'.
 This is similar to `vc-diff', but compares the entire directory tree
 of the current VC directory with its working revision.
-+++
+
 *** `C-x v l' and `C-x v L' do not show the full log by default.
 The number of entries shown can be chosen interactively with a prefix
 argument, or by customizing vc-log-show-limit.  The `*vc-change-log*'
 buffer now contains buttons at the end of the buffer, which can be
 used to increase the number of entries shown.  RCS, SCCS, and CVS do
 not support this feature.
----
+
 *** vc-annotate supports annotations through file copies and renames,
 it displays the old names for the files and it can show logs/diffs for
 the corresponding lines.  Currently only Git and Mercurial take
 advantage of this feature.
----
+
 *** The log command in vc-annotate can display a single log entry
 instead of redisplaying the full log.  The RCS, CVS and SCCS VC
 backends do not support this.
----
+
 *** When a file is not found, VC will not try to check it out of RCS anymore.
 
 *** Diff and log operations can be used from Dired buffers.
 
 *** vc-git changes
 
-**** The short log format for git makes use of the graph display, so
-it's not supported on git versions earlier than 1.5.
-
-**** Support for operating with stashes has been added to vc-dir: the stash list is
-displayed in the *vc-dir* header, stashes can be created, removed, applied and
-their content displayed.
-
-**** vc-dir displays the stash status
-
-**** vc-dir requires at least git-1.5.5.
+**** The short log format for git makes use of the graph display,
+so it's not supported on git versions earlier than 1.5.6.
+
+**** vc-dir uses the --relative option of git, and so requires at least
+git version 1.5.5.
+
+**** Support for operating with stashes has been added to vc-dir:
+the stash list is displayed in the *vc-dir* header, stashes can be
+created, removed, applied and their content displayed.
 
 *** vc-bzr supports operating with shelves: the shelve list is
 displayed in the *vc-dir* header, shelves can be created, removed and applied.
----
+
 *** log-edit-strip-single-file-name controls whether or not single filenames
 are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 
-** Elint
----
-*** Elint now uses compilation-mode.
----
-*** Elint can now scan individual files and whole directories,
-and can be run in batch mode.
----
-*** Elint does a more thorough initialization, and recognizes more built-in
-functions and variables.  Customize `elint-scan-preloaded' if you want
-to sacrifice some accuracy for a faster startup.
----
-*** Elint attempts some basic understanding of featurep and (f)boundp tests.
----
-*** Customize `elint-ignored-warnings' to suppress some warnings.
-
 ** Miscellaneous
-+++
-*** The new command `async-shell-command' bound globally to `M-&' executes
-the command asynchronously without the need to manually add ampersand to
-the end of the command.  Its output appears in the buffer `*Async Shell
-Command*'.
-+++
+
 *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
 read buffer names to search, one by one, ended with RET.  With a prefix
 argument, they ask for a regexp, and search in buffers whose names match
@@ -376,19 +385,20 @@
 `multi-isearch-files-regexp' read file names to search, one by one,
 ended with RET.  With a prefix argument, they ask for a wildcard, and
 search in file buffers whose file names match the specified wildcard.
-+++
+
 *** Autorevert Tail mode now works also for remote files.
-+++
-*** The new built-in commands `su' and `sudo' support Tramp.
-That means, they change `default-directory' to the new users value,
-and let commands run under that user permissions.  It works even when
+
+*** The new eshell built-in commands `su' and `sudo' support Tramp.
+Thus, they change `default-directory' to reflect the new user id, and
+let commands run under that user's permissions.  This works even when
 `default-directory' is already remote.  Calling the external commands
-is possible by `*su' or `*sudo', repectively.
----
-*** When running in a new enough xterm (newer than version 242), Emacs
-asks xterm what the background color is and it sets up faces
-accordingly for a dark background if needed (the current default is to
-consider the background light).
+is possible via `*su' or `*sudo', respectively.
+
+** Obsolete packages
+
+*** sym-comp.el is now obsolete, superseded by completion-at-point.
+
+*** lucid.el and levents.el are now obsolete.
 
 
 * New Modes and Packages in Emacs 23.2
@@ -422,7 +432,6 @@
 
 ** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
 
-+++
 ** js.el is a new major mode for JavaScript files.
 
 ** imap-hash.el is a new library to address IMAP mailboxes as hashtables.
@@ -430,7 +439,6 @@
 
 * Incompatible Lisp Changes in Emacs 23.2
 
-+++
 ** The Lisp reader turns integers that are too large/small into floats.
 For instance, on machines where `536870911' is the largest integer,
 reading `536870912' gives the floating-point object `536870912.0'.
@@ -438,7 +446,6 @@
 This change only concerns the Lisp reader; it does not affect how
 actual integer objects overflow.
 
----
 ** Several obsolete functions removed.
 The functions have been obsolete since Emacs 19, and are unlikely to
 be in use:
@@ -448,24 +455,23 @@
   time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
   time-stamp-hhmm, baud-rate
 
----
 ** Support for generating Emacs 18 compatible bytecode (by setting
 the variable `byte-compile-compatibility') has been removed.
 
-** In image-mode.el `image-mode-maybe' is obsolete.  Instead, you can
-either use `image-mode' that displays an image file as the actual image
-inititally, or `image-mode-as-text' when you want to display an image file
-as text inititally.  `image-mode-as-text' is a combination of a non-image
-mode from `auto-mode-alist' (or Fundamental mode) and `image-minor-mode'.
-`image-minor-mode' provides `C-c C-c' key binding to toggle image display.
+** In image-mode.el `image-mode-maybe' is obsolete.
+Instead, you can either use `image-mode' (which displays an image file
+as the actual image initially), or `image-mode-as-text' (when you want
+to display an image file as text initially).  `image-mode-as-text' is a
+combination of a non-image mode from `auto-mode-alist' (or Fundamental
+mode) and `image-minor-mode'.  `image-minor-mode' provides a `C-c C-c'
+key binding to toggle image display.
 `image-toggle-display-text' removes image properties.
 `image-toggle-display-image' adds image properties.
-`image-toggle-display' toggles between `image-mode-as-text' and
-`image-mode'.
+`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'.
 
 
 * Lisp changes in Emacs 23.2
----
+
 ** All the default-FOO variables that hold the default value of the FOO
 variable, are now declared obsolete.
 
@@ -473,10 +479,10 @@
 It reads a single key, but obeys input and escape sequence decoding.
 
 ** Frame parameter changes
-+++
+
 *** You can give the `fullscreen' frame parameter the value `maximized'.
 This maximizes the frame.
-+++
+
 *** The new frame parameter `sticky' makes Emacs frames sticky in
 virtual desktops.
 
@@ -490,23 +496,23 @@
 
 *** New function `completion-in-region' to use the standard completion
 facilities on a particular region of text.
-+++
+
 *** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
 
 *** completion-annotate-function specifies how to compute annotations
 for completions displayed in *Completions*.
 
 ** Minibuffer changes
----
+
 *** read-file-name-predicate is obsolete.  It was used to pass the predicate
 to read-file-name-internal because read-file-name-internal abused its `pred'
 argument to pass the current directory, but this hack is not needed
 any more.
 
 ** Changes to file-manipulation functions
-+++
+
 *** `delete-directory' has an optional parameter RECURSIVE.
-+++
+
 *** New function `copy-directory', which copies a directory recursively.
 
 ** called-interactively-p now takes one argument and replaces interactive-p
@@ -521,34 +527,33 @@
 of bindings.
 
 ** Network and process changes
-+++
+
 *** start-process-shell-command and start-file-process-shell-command
 now only take a single `command' argument.
-+++
+
 *** The new variable `process-file-side-effects' should be set to nil
 if a `process-file' call does not change a remote file.  This allows
 file name handlers such as Tramp to optimizations.
-+++
+
 *** make-network-process can now also create `seqpacket' Unix sockets.
 
 ** Loading changes
----
+
 *** eval-next-after-load is obsolete.
-+++
+
 *** New hook `after-load-functions' run after loading an Elisp file.
 
 ** Byte compilation changes
----
+
 *** Changing the file-names generated by byte-compilation by redefining
 the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
 Instead, customize byte-compile-dest-file-function.
----
+
 *** `byte-compile-warnings' has new members, `constants' and `suspicious'.
 
 ** New macro with-silent-modifications to tweak text properties without
 affecting the buffer's modification state.
 
-+++
 ** Hash tables have a new printed representation that is readable.
 The feature `hashtable-print-readable' identifies this new
 functionality.
@@ -561,17 +566,14 @@
 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 
-+++
 ** Face aliases can now be marked as obsolete, using the macro
 `define-obsolete-face-alias'.
 
-+++
 ** New function `window-full-height-p', analogous to the full-width version.
 
 
 * Changes in Emacs 23.2 on non-free operating systems
 
----
 ** On MS-Windows, `display-time' now displays the system load average
 as well as the time, as it does on GNU and Unix.
 
@@ -1379,11 +1381,11 @@
 ** Gnus
 
 *** The Gnus package has been updated
-There are many news features, bug fixes and improvements; see the file
+There are many new features, bug fixes and improvements; see the file
 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
 
 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
-saving articles drafts and ~/.newsrc.eld.  These file may not be read
+saving articles, drafts, and ~/.newsrc.eld.  These file may not be read
 correctly in Emacs 22 and below.  If you want to Gnus across different Emacs
 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
 
@@ -1436,8 +1438,8 @@
 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
 `C-h b' displays all Isearch key bindings, `C-h k' displays the full
 documentation of the given Isearch key sequence, `C-h m' displays
-documentation of Isearch mode.  All the rest Help commands exit Isearch mode
-and execute their global definitions.
+documentation for Isearch mode.  All the other Help commands exit
+Isearch mode and execute their global definitions.
 
 *** When started in the minibuffer, Isearch searches in the minibuffer
 history.  See `Minibuffer changes', above.
--- a/etc/NEWS.1-17	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/NEWS.1-17	Fri Aug 27 23:05:43 2010 +0900
@@ -760,7 +760,7 @@
 * New function `switch-to-buffer-other-window'.
 
 This is the new primitive to select a specified buffer (the
-argument)  in another window.  It is not quite the same as
+argument) in another window.  It is not quite the same as
 `pop-to-buffer', because it is guaranteed to create another
 window (assuming there is room on the screen) so that it can
 leave the current window's old buffer displayed as well.
@@ -971,7 +971,7 @@
 This command creates an inferior Lisp process whose input and output
 appear in the Emacs buffer named `*lisp*'.  That buffer uses a major mode
 called inferior-lisp-mode, which has many of the commands of lisp-mode
-and those of shell-mode.   Calls the value of shell-mode-hook and
+and those of shell-mode.  Calls the value of shell-mode-hook and
 lisp-mode-hook, in that order, if non-nil.
 
 Meanwhile, in lisp-mode, the command C-M-x is defined to
@@ -1421,7 +1421,7 @@
  of the executing emacs, for use in run-time conditionalization.
 
  The function  featurep  of one argument may be used to test for the
- presence of a feature. It is just the same as
+ presence of a feature.  It is just the same as
  (not (null (memq FEATURE features))) where FEATURE is its argument.
  For example, (if (featurep 'magic-window-hack)
 		  (transmogrify-window 'vertical)
@@ -1541,13 +1541,13 @@
 
  This function returns a cons cell whose car is the object produced
  by reading from the string and whose cdr is a number giving the
- index in the string of the first character not read. That index may
+ index in the string of the first character not read.  That index may
  be passed as the second argument to a later call to  read-from-string
  to read the next form represented by the string.
 
  In addition, the function  read  now accepts a string as its argument.
  In this case, it calls  read-from-string  on the whole string, and
- returns the car of the result. (ie the actual object read.)
+ returns the car of the result (ie the actual object read.)
 
 
 
--- a/etc/PROBLEMS	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/PROBLEMS	Fri Aug 27 23:05:43 2010 +0900
@@ -167,6 +167,17 @@
 
 * Crash bugs
 
+** Emacs crashes when running in a terminal, if compiled with GCC 4.5.0
+This version of GCC is buggy: see
+
+  http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6031
+  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43904
+
+You can work around this error in gcc-4.5 by omitting sibling call
+optimization.  To do this, configure Emacs with
+
+ CFLAGS="-g -O2 -fno-optimize-sibling-calls" ./configure
+
 ** Emacs crashes in x-popup-dialog.
 
 This can happen if the dialog widget cannot find the font it wants to
@@ -2466,17 +2477,10 @@
 
 (using the location of the 32-bit X libraries on your system).
 
-*** Building the Cygwin port for MS-Windows can fail with some GCC versions
-
-Building Emacs 22 with Cygwin builds of GCC 3.4.4-1 and 3.4.4-2 is
-reported to either fail or cause Emacs to segfault at run time.  In
-addition, the Cygwin GCC 3.4.4-2 has problems with generating debug
-info.  Cygwin users are advised not to use these versions of GCC for
-compiling Emacs.  GCC versions 4.0.3, 4.0.4, 4.1.1, and 4.1.2
-reportedly build a working Cygwin binary of Emacs, so we recommend
-these GCC versions.  Note that these versions of GCC, 4.0.3, 4.0.4,
-4.1.1, and 4.1.2, are currently the _only_ versions known to succeed
-in building Emacs (as of v22.1).
+*** Building Emacs for Cygwin can fail with GCC 3
+
+As of Emacs 22.1, there have been stability problems with Cygwin
+builds of Emacs using GCC 3.  Cygwin users are advised to use GCC 4.
 
 *** Building the native MS-Windows port fails due to unresolved externals
 
--- a/etc/TODO	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/TODO	Fri Aug 27 23:05:43 2010 +0900
@@ -369,7 +369,7 @@
   the whole menu bar.  In the mean time, it should process other messages.
 
 ** Get some major packages installed: W3 (development version needs
-  significant work), PSGML, _possibly_ Cedet and ECB.
+  significant work), PSGML, _possibly_ ECB.
   http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01493.html
   Check the assignments file for other packages which might go in and
   have been missed.
--- a/etc/enriched.doc	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/enriched.doc	Fri Aug 27 23:05:43 2010 +0900
@@ -219,7 +219,7 @@
 paragraph properly filled all the time, without slowing down
 editing too much.  Refill mode is a start at this, but needs
 
-</indent></indent>	<indent>improvment.
+</indent></indent>	<indent>improvement.
 
 + Refill after yank.  [Refill mode does that.]
 
@@ -272,4 +272,4 @@
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+    along with this program.  If not, see <<http://www.gnu.org/licenses/>.
--- a/etc/tutorials/TUTORIAL.bg	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/tutorials/TUTORIAL.bg	Fri Aug 27 23:05:43 2010 +0900
@@ -625,7 +625,7 @@
 Åìàêñ ñåñèÿòà.
 
 >> Âúâåäåòå C-x b *Messages* <Return>, çà äà âèäèòå áóôåðà ñúñ
-   ñúîáùåíèÿòà.  Ñëåä òîâà âúâåäåòå C-x C-b TUTORIAL <Return>, çà äà
+   ñúîáùåíèÿòà.  Ñëåä òîâà âúâåäåòå C-x b TUTORIAL <Return>, çà äà
    ñå âúðíåòå êúì òîâà âúâåäåíèå.
 
 Àêî íàïðàâèòå ïðîìåíè â òåêñòà íà åäèí ôàéë è òîãàâà íàìåðèòå äðóã
--- a/etc/tutorials/TUTORIAL.es	Sat Apr 03 19:40:20 2010 -0400
+++ b/etc/tutorials/TUTORIAL.es	Fri Aug 27 23:05:43 2010 +0900
@@ -630,7 +630,7 @@
 su sesión de Emacs.
 
 >> Teclee C-x b *Messages* <Return> para ver el buffer de mensajes.
-   Luego teclee C-b TUTORIAL <Return> para regresar a este tutorial.
+   Luego teclee C-x b TUTORIAL <Return> para regresar a este tutorial.
 
 Si hace cambios al texto de un archivo, y luego encuentra otro
 archivo, esto no guarda el primer archivo.  Sus cambios permanecerán
--- a/info/dir	Sat Apr 03 19:40:20 2010 -0400
+++ b/info/dir	Fri Aug 27 23:05:43 2010 +0900
@@ -19,75 +19,78 @@
 
 * Menu:
 
-* Info: (info).         How to use the documentation browsing system.
+* Info: (info).                 How to use the documentation browsing system.
 
 Emacs
-* Emacs: (emacs).       The extensible self-documenting text editor.
-* Emacs FAQ: (efaq).    Frequently Asked Questions about Emacs.
+* Emacs: (emacs).               The extensible self-documenting text editor.
+* Emacs FAQ: (efaq).            Frequently Asked Questions about Emacs.
 
 GNU Emacs Lisp
-* Emacs Lisp Intro: (eintr).
-                          A simple introduction to Emacs Lisp programming.
-* Elisp: (elisp).       The Emacs Lisp Reference Manual.
+* Emacs Lisp Intro: (eintr).    A simple introduction to Emacs Lisp programming.
+* Elisp: (elisp).               The Emacs Lisp Reference Manual.
 
 Emacs editing modes
-* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code.
-* CC Mode: (ccmode).    Emacs mode for editing C, C++, Objective-C,
-                        Java, Pike, AWK, and CORBA IDL code.
-* IDLWAVE: (idlwave).   Major mode and shell for IDL files.
+* Ada mode: (ada-mode).         Emacs mode for editing and compiling Ada code.
+* CC Mode: (ccmode).            Emacs mode for editing C, C++, Objective-C,
+                                  Java, Pike, AWK, and CORBA IDL code.
+* IDLWAVE: (idlwave).           Major mode and shell for IDL files.
 * nXML Mode: (nxml-mode).       XML editing mode with RELAX NG support.
-* Org Mode: (org).      Outline-based notes management and organizer
+* Org Mode: (org).              Outline-based notes management and organizer
 
 Emacs network features
-* EUDC: (eudc).   An Emacs client for directory servers (LDAP, PH).
-* Gnus: (gnus).         The newsreader Gnus.
-* Mairix: (mairix-el).  Emacs interface to the Mairix mail indexer.
-* MH-E: (mh-e).         Emacs interface to the MH mail system.
-* Message: (message).   Mail and news composition mode that goes with Gnus.
-* Newsticker: (newsticker). A Newsticker for Emacs.
-* PGG: (pgg).   Emacs interface to various PGP implementations.
-* ERC: (erc).           Powerful, modular, and extensible IRC client for Emacs.
-* Rcirc: (rcirc).       Internet Relay Chat (IRC) client.
-* SASL: (sasl).         The Emacs SASL library.
-* SC: (sc).             Supercite lets you cite parts of messages you're
-                          replying to, in flexible ways.
+* EUDC: (eudc).                 Emacs client for directory servers (LDAP, PH).
+* Gnus: (gnus).                 The newsreader Gnus.
+* Mairix: (mairix-el).          Emacs interface to the Mairix mail indexer.
+* MH-E: (mh-e).                 Emacs interface to the MH mail system.
+* Message: (message).           Mail and news composition mode that
+                                  goes with Gnus.
+* Newsticker: (newsticker).     A Newsticker for Emacs.
+* PGG: (pgg).                   Emacs interface to various PGP implementations.
+* ERC: (erc).                   Powerful and extensible IRC client for Emacs.
+* Rcirc: (rcirc).               Internet Relay Chat (IRC) client.
+* SASL: (sasl).                 The Emacs SASL library.
+* SC: (sc).                     Supercite lets you cite parts of messages
+                                  you're replying to, in flexible ways.
 * Sieve: (sieve).               Managing Sieve scripts in Emacs.
-* TRAMP: (tramp).                Transparent Remote Access, Multiple Protocol
-                                 GNU Emacs remote file access via rsh and rcp.
+* TRAMP: (tramp).               Transparent Remote Access, Multiple Protocol
+                                  GNU Emacs remote file access via rsh and rcp.
 
 Emacs misc features
-* Autotype: (autotype). Convenient features for text that you enter frequently
-                          in Emacs.
-* Calc: (calc).         Advanced desk calculator and mathematical tool.
-* Dired-X: (dired-x).   Dired Extra Features.
-* EasyPG Assistant: (epa).   An Emacs user interface to GNU Privacy Guard.
-* Ebrowse: (ebrowse).   A C++ class browser for Emacs.
-* EDE: (ede).           The Emacs Development Environment.
-* Ediff: (ediff).       A visual interface for comparing and merging programs.
-* EDT: (edt).           An Emacs emulation of the EDT editor.
-* EIEIO: (eieio).       An object system for Emacs Lisp.
-* Eshell: (eshell).     A command shell implemented in Emacs Lisp.
-* Flymake: (flymake).   A universal on-the-fly syntax checker.
-* Forms: (forms).       Emacs package for editing data bases
-                          by filling in forms.
-* PCL-CVS: (pcl-cvs).   Emacs front-end to CVS.
-* RefTeX: (reftex).     Emacs support for LaTeX cross-references and citations.
-* Remember: (remember). Simple information manager for Emacs.
-* Semantic: (semantic). Source code parsing utilities for Emacs.
-* SES: (ses).       Simple Emacs Spreadsheet
-* Speedbar: (speedbar). File/Tag summarizing utility.
-* VIP: (vip).           An older VI-emulation for Emacs.
-* VIPER: (viper).       The newest Emacs VI-emulation mode.
-                          (also, A VI Plan for Emacs Rescue
-                           or the VI PERil.)
-* WoMan: (woman).       Browse UN*X Manual Pages "W.O. (without) Man".
+* Autotype: (autotype).         Convenient features for text that you enter
+                                  frequently in Emacs.
+* Calc: (calc).                 Advanced desk calculator and mathematical tool.
+* Dired-X: (dired-x).           Dired Extra Features.
+* EasyPG Assistant: (epa).      An Emacs user interface to GNU Privacy Guard.
+* Ebrowse: (ebrowse).           A C++ class browser for Emacs.
+* EDE: (ede).                   The Emacs Development Environment.
+* Ediff: (ediff).               A visual interface for comparing and
+                                  merging programs.
+* EDT: (edt).                   An Emacs emulation of the EDT editor.
+* EIEIO: (eieio).               An object system for Emacs Lisp.
+* Eshell: (eshell).             A command shell implemented in Emacs Lisp.
+* Flymake: (flymake).           A universal on-the-fly syntax checker.
+* Forms: (forms).               Emacs package for editing data bases
+                                  by filling in forms.
+* PCL-CVS: (pcl-cvs).           Emacs front-end to CVS.
+* RefTeX: (reftex).             Emacs support for LaTeX cross-references
+                                  and citations.
+* Remember: (remember).         Simple information manager for Emacs.
+* Semantic: (semantic).         Source code parsing utilities for Emacs.
+* SES: (ses).                   Simple Emacs Spreadsheet
+* Speedbar: (speedbar).         File/Tag summarizing utility.
+* VIP: (vip).                   An older VI-emulation for Emacs.
+* VIPER: (viper).               The newest Emacs VI-emulation mode.
+                                  (also, A VI Plan for Emacs Rescue
+                                  or the VI PERil.)
+* WoMan: (woman).               Browse UN*X Manual Pages "W.O. (without) Man".
 
 Emacs lisp libraries
-* Auth-source: (auth).  A single configuration for multiple applications.
-* CL: (cl).             Partial Common Lisp support for Emacs Lisp.
+* Auth-source: (auth).          A single configuration for multiple
+                                  applications.
+* CL: (cl).                     Partial Common Lisp support for Emacs Lisp.
 * D-Bus: (dbus).                Using D-Bus in Emacs.
-* Emacs MIME: (emacs-mime).   Emacs MIME de/composition library.
-* URL: (url).                 URL loading package.
-* Widget: (widget).      The "widget" package used by the Emacs Customization
-                           facility.
-* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
+* Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.
+* URL: (url).                   URL loading package.
+* Widget: (widget).             The "widget" package used by the Emacs
+                                  Customization facility.
+* SMTP: (smtpmail).             Emacs library for sending mail via SMTP.
--- a/leim/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/leim/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,11 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* quail/vntelex.el: Fix "af" rule (Bug#5836).
+
 2010-02-16  Kenichi Handa  <handa@m17n.org>
 
 	* SKK-DIC/SKK-JISYO.L: Updated to the latest version.
--- a/leim/quail/vntelex.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/leim/quail/vntelex.el	Fri Aug 27 23:05:43 2010 +0900
@@ -285,7 +285,7 @@
  ("Dd" ?,2p(B)
 ;("$$" ?$,1tK(B)	; U+20AB DONG SIGN (#### check)
 
- ("aff" ["aff"])
+ ("aff" ["af"])
  ("AFF" ["AF"])
  ("Aff" ["Af"])
  ("ass" ["as"])
--- a/lib-src/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lib-src/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,12 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-05  Christoph  <cschol2112@googlemail.com>  (tiny change)
+
+	* makefile.w32-in (OTHER_PLATFORM_SUPPORT): Use parenthesis
+	for macros for nmake compatibility.
+
 2010-04-03  Juanma Barranquero  <lekktu@gmail.com>
 
 	Add stubs for Windows, required after CVE-2010-0825 change.
--- a/lib-src/makefile.w32-in	Sat Apr 03 19:40:20 2010 -0400
+++ b/lib-src/makefile.w32-in	Fri Aug 27 23:05:43 2010 +0900
@@ -22,7 +22,7 @@
 
 .PHONY: $(ALL)
 
-VERSION		= 23.1.95
+VERSION		= 23.2.50
 
 LOCAL_FLAGS	= -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
 		  -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
@@ -195,8 +195,8 @@
 	$(lispsource)term/pc-win.elc \
 	$(lispsource)x-dnd.elc \
 	$(lispsource)term/x-win.elc \
-	${lispsource}emacs-lisp/easymenu.elc \
-	${lispsource}term/ns-win.elc
+	$(lispsource)emacs-lisp/easymenu.elc \
+	$(lispsource)term/ns-win.elc
 
 
 lisp1= \
--- a/lisp/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,527 @@
+2010-07-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* help-fns.el (find-lisp-object-file-name): Doc fix (bug#6494).
+
+2010-07-20  Juanma Barranquero  <lekktu@gmail.com>
+
+	* cedet/semantic/db-file.el (object-write): Fix typo in docstring.
+
+2010-07-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* time.el (display-time-day-and-date): Remove spurious * in docstring.
+	(display-time-world-buffer-name, display-time-world-mode-map):
+	Fix typos in docstrings.
+
+2010-07-17  Shyam Karanatt  <shyam@swathanthran.in>  (tiny change)
+
+	* image-mode.el (image-display-size): New function.
+	(image-forward-hscroll, image-next-line, image-eol, image-eob)
+	(image-mode-fit-frame): Use it (Bug#6639).
+
+2010-07-17  Chong Yidong  <cyd@stupidchicken.com>
+
+	* dired.el (dired-buffers-for-dir): Handle list values of
+	dired-directory (Bug#6636).
+
+2010-07-16  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* vc.el (vc-coding-system-inherit-eol): New defvar.
+	(vc-coding-system-for-diff): Use it to decide whether to inherit
+	from the file the EOL format for reading the diffs of that file.
+	(Bug#4451)
+
+2010-07-16  Eli Zaretskii  <eliz@gnu.org>
+
+	* mail/rmailmm.el (rmail-mime-save): Make the temp buffer
+	unibyte, so compressed attachments are not compressed again.
+
+2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127
+	now that unicode is used (Bug#6594).
+
+2010-07-14  Chong Yidong  <cyd@stupidchicken.com>
+
+	* simple.el (push-mark-command): Set the selection if
+	select-active-regions is non-nil.
+
+2010-07-10  Glenn Morris  <rgm@gnu.org>
+
+	* calendar/calendar.el (calendar-week-end-day): New function.
+	* calendar/cal-tex.el (cal-tex-cursor-month): Remove unused vars.
+	Respect calendar-week-start-day.  (Bug#6606)
+	(cal-tex-insert-day-names, cal-tex-insert-blank-days)
+	(cal-tex-insert-blank-days-at-end): Respect calendar-week-start-day.
+	(cal-tex-first-blank-p, cal-tex-last-blank-p): Simplify, and
+	respect calendar-week-start-day.
+
+2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* simple.el (use-region-p): Doc fix (Bug#6607).
+
+2010-07-07  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* progmodes/python.el (python-font-lock-keywords): Add Python 2.7
+	builtins (BufferError, BytesWarning, WindowsError; callables
+	bin, bytearray, bytes, format, memoryview, next, print; __package__).
+
+2010-07-07  Glenn Morris  <rgm@gnu.org>
+
+	* play/zone.el (zone-fall-through-ws): Fix next-line ->
+	forward-line fallout.
+
+2010-07-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* mouse.el (mouse-appearance-menu): Add docstring.
+
+	* help.el (describe-key): Print up-event using key-description.
+
+2010-07-03  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/zeroconf.el (zeroconf-resolve-service)
+	(zeroconf-service-resolver-handler): Use
+	`dbus-byte-array-to-string'.
+	(zeroconf-publish-service): Use `dbus-string-to-byte-array'.
+
+2010-07-03  Jan Moringen  <jan.moringen@uni-bielefeld.de>
+
+	* net/zeroconf.el (zeroconf-service-remove-hook): New defun.
+
+2010-06-30  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Avoid displaying files with a nil state in vc-dir.
+	* vc-dir.el (vc-dir-update): Obey the noinsert argument in all
+	cases that cause insertion.
+	(vc-dir-resynch-file): Tell vc-dir-update to avoid inserting files
+	with a nil state.
+
+2010-06-30  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xml.el (xml-parse-region): Avoid infloop (Bug#5281).
+
+2010-06-29  Leo  <sdl.web@gmail.com>
+
+	* emacs-lisp/rx.el (rx): Doc fix.  (Bug#6537)
+
+2010-06-27  Oleksandr Gavenko  <gavenkoa@gmail.com>  (tiny change)
+
+	* generic-x.el (bat-generic-mode): Fix regexp for command line
+	switches (Bug#5719).
+
+2010-06-27  Masatake YAMATO  <yamato@redhat.com>
+
+	* htmlfontify.el (hfy-face-attr-for-class): Use append instead
+	of nconc to avoid pure storage error (Bug#6239).
+
+2010-06-27  Christoph  <cschol2112@googlemail.com>  (tiny change)
+
+	* bookmark.el (bookmark-bmenu-2-window, bookmark-bmenu-other-window)
+	(bookmark-bmenu-other-window-with-mouse): Remove unnecessary
+	bindings of bookmark-automatically-show-annotations (Bug#6515).
+
+2010-06-25  Eli Zaretskii  <eliz@gnu.org>
+
+	* arc-mode.el (archive-zip-extract): Don't quote the file name on
+	MS-Windows and MS-DOS.  (Bug#6467, Bug#6144)
+
+2010-06-24  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* comint.el (make-comint, make-comint-in-buffer): Mention return
+	value in the docstrings.  (Bug#6498)
+
+2010-06-24  Yoni Rabkin  <yoni@rabkins.net>
+
+	* bs.el (bs-mode-font-lock-keywords): Remove "by" from Dired pattern,
+	since it is not present when using some non-default switches.
+
+2010-06-23  Karl Fogel  <kfogel@red-bean.com>
+
+	* simple.el (compose-mail): Fix doc string to refer to
+	`compose-mail-user-agent-warnings', instead of to the
+	nonexistent `compose-mail-check-user-agent'.
+
+2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix vc-annotate for renamed files when using Git.
+	* vc-git.el (vc-git-find-revision): Deal with empty results from
+	ls-files.  Doe not pass the object as a file name to cat-file, it
+	is not a file name.
+	(vc-git-annotate-command): Pass the file name using -- to avoid
+	ambiguity with the revision.
+	(vc-git-previous-revision): Pass a relative file name.
+
+2010-06-22  Glenn Morris  <rgm@gnu.org>
+
+	* progmodes/js.el (js-mode-map): Use standard capitalization and
+	ellipses for menu entries.
+
+	* wid-edit.el (widget-complete): Doc fix.
+
+2010-06-22  Jürgen Hötzel  <juergen@hoetzel.info>  (tiny change)
+
+	* wid-edit.el (widget-complete): Fix typo in 2009-12-02 change.
+
+2010-06-22  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix annotating other revisions for renamed files in vc-annotate.
+	* vc-annotate.el (vc-annotate): Add an optional argument for the
+	VC backend.  Use it when non-nil.
+	(vc-annotate-warp-revision): Pass the VC backend to vc-annotate.  (Bug#6487)
+
+	Fix vc-annotate-show-changeset-diff-revision-at-line for git.
+	* vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
+	Do not pass the file name to the 'previous-revision call when we
+	don't want a file diff.  (Bug#6489)
+
+2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix finding revisions for renamed files in vc-annotate.
+	* vc.el (vc-find-revision): Add an optional argument for
+	the VC backend.  Use it when non-nil.
+	* vc-annotate.el (vc-annotate-find-revision-at-line): Pass the VC
+	backend to vc-find-revision.  (Bug#6487)
+
+2010-06-21  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix reading file names in Git annotate buffers.
+	* vc-git.el (vc-git-annotate-extract-revision-at-line): Remove
+	trailing whitespace.  Suggested by Eric Hanchrow.  (Bug#6481)
+
+2010-06-20  Alan Mackenzie  <acm@muc.de>
+
+	* progmodes/cc-mode.el (c-before-hack-hook): When the mode is set
+	in file local variables, set it first.
+
+2010-06-19  Glenn Morris  <rgm@gnu.org>
+
+	* descr-text.el (describe-char-unicode-data): Insert separating
+	space when needed.  (Bug#6422)
+
+	* progmodes/idlwave.el (idlwave-action-and-binding):
+	Fix typo in 2009-12-03 change.  (Bug#6450)
+
+2010-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* subr.el (read-quoted-char): Fix up last change (bug#6290).
+
+2010-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* font-lock.el (font-lock-major-mode): Rename from
+	font-lock-mode-major-mode to distinguish it from
+	global-font-lock-mode's own font-lock-mode-major-mode (bug#6135).
+	(font-lock-set-defaults):
+	* font-core.el (font-lock-default-function): Adjust users.
+	(font-lock-mode): Don't set it at all.
+
+2010-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-annotate.el (vc-annotate): Use vc-read-revision.
+
+2010-06-15  Glenn Morris  <rgm@gnu.org>
+
+	* calendar/appt.el (appt-time-msg-list): Doc fix.
+	(appt-check): Let-bind appt-warn-time.
+	(appt-add): Make the 3rd argument optional.
+	Simplify argument names.  Doc fix.  Check for integer WARNTIME.
+	Only add WARNTIME to the output list if non-nil.
+
+2010-06-15  Ivan Kanis  <apple@kanis.eu>
+
+	* calendar/appt.el (appt-check): Let the 3rd element of
+	appt-time-msg-list specify the warning time.
+	(appt-add): Add new argument with the warning time.  (Bug#5176)
+
+2010-06-12  Bob Rogers  <rogers-emacs@rgrjr.dyndns.org>  (tiny change)
+
+	* vc-svn.el (vc-svn-after-dir-status): Fix regexp for Subversions
+	older than version 1.6.  (Bug#6361)
+
+2010-06-12  Helmut Eller  <eller.helmut@gmail.com>
+
+	* emacs-lisp/cl-macs.el (destructuring-bind): Bind `bind-enquote',
+	used by cl-do-arglist.  (Bug#6408)
+
+2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs-lisp/advice.el (ad-compile-function):
+	Define warning-suppress-types before we let-bind it (bug#6275).
+
+	* vc-dispatcher.el: Rename mode-line-hook to vc-mode-line-hook;
+	declare it, make it buffer-local and permanent-local (bug#6324).
+	(vc-resynch-window): Adjust name.
+	* vc-hooks.el (vc-find-file-hook): Adjust name.
+
+2010-06-07  Jonathan Rockway  <jon@jrock.us>
+
+	* net/rcirc.el: Add support for password authentication.
+	(rcirc-server-alist): Add :password keyword.
+	(rcirc): Ask for a password, or get it from the server's alist.
+	(rcirc-connect): Add password argument.  Pass it to server.
+
+2010-06-05  Juanma Barranquero  <lekktu@gmail.com>
+
+	* net/dbus.el (dbus-register-method): Declare function.
+	(dbus-handle-event, dbus-property-handler): Fix typos in docstrings.
+	(dbus-introspect): Doc fix.
+	(dbus-event-bus-name, dbus-introspect-get-interface)
+	(dbus-introspect-get-argument): Reflow docstrings.
+
+2010-06-04  Chong Yidong  <cyd@stupidchicken.com>
+
+	* term/common-win.el (x-colors): Add "dark green" and "dark
+	turquoise" (Bug#6332).
+
+2010-06-03  Eric Ludlam  <zappo@gnu.org>
+
+	* cedet/semantic/lex-spp.el
+	(semantic-lex-spp-table-write-slot-value): Instead of erroring on
+	invalid values during save, just save a nil (Bug#6324).
+
+2010-06-03  Glenn Morris  <rgm@gnu.org>
+
+	* desktop.el (desktop-clear-preserve-buffers):
+	Add "*Warnings*" buffer.  (Bug#6336)
+
+2010-06-02  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539).
+
+2010-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-bzr.el (vc-bzr-revision-completion-table): Apply
+	`file-directory-p' to the filename part rather than to the whole text.
+
+2010-05-31  Jonathan Marchand  <jonathlela@gmail.com>  (tiny change)
+
+	* cedet/ede/cpp-root.el (ede-set-project-variables): Fix feature name
+	(bug#6231).
+
+2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* man.el (Man-completion-table): Let the user type "-k " (bug#6319).
+
+2010-05-31  Drew Adams  <drew.adams@oracle.com>
+
+	* files.el (directory-files-no-dot-files-regexp): Doc fix (bug#6298).
+
+2010-05-31  Juanma Barranquero  <lekktu@gmail.com>
+
+	* subr.el (momentary-string-display): Just use read-event to read
+	the exit event (Bug#6238).
+
+2010-05-29  Chong Yidong  <cyd@stupidchicken.com>
+
+	* ansi-color.el: Delete unused escape sequences (Bug#6085).
+	(ansi-color-drop-regexp): New constant.
+	(ansi-color-apply, ansi-color-filter-region)
+	(ansi-color-apply-on-region): Delete unrecognized control sequences.
+	(ansi-color-apply): Build string list before calling concat.
+
+2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
+
+	* progmodes/verilog-mode.el (verilog-type-font-keywords):
+	Use font-lock-constant-face, not obsolete font-lock-reference-face.
+
+2010-05-27  Masatake YAMATO  <yamato@redhat.com>
+
+	* htmlfontify.el (hfy-face-resolve-face): New function.
+	(hfy-face-to-style): Use it (Bug#6279).
+
+2010-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* epa.el (epa--select-keys): Don't explicitly delete the window since
+	that can fail (e.g. sole window in frame).  Use dedication instead.
+
+2010-05-19  Uday S Reddy  <u.s.reddy@cs.bham.ac.uk>  (tiny change)
+
+	* textmodes/fill.el (fill-region): Don't fill past the end (bug#6201).
+
+2010-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* subr.el (read-quoted-char): Resolve modifiers after key
+	remapping (bug#6212).
+
+2010-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* tmm.el (tmm-prompt): Don't try to precompute bindings.
+	(tmm-get-keymap): Compute shortcuts (bug#6171).
+
+2010-05-10  Glenn Morris  <rgm@gnu.org>
+
+	* desktop.el (desktop-save-buffer-p): Don't mistakenly include
+	all dired buffers, even tramp ones.  (Bug#5755)  [Backport from trunk]
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-05-03  Chong Yidong  <cyd@stupidchicken.com>
+
+	* international/mule.el (auto-coding-alist):  Only purecopy
+	car of each item, not the whole list (Bug#6083).
+
+2010-05-02  Chong Yidong  <cyd@stupidchicken.com>
+
+	* progmodes/js.el (js-mode): Make paragraph variables local before
+	calling c-setup-paragraph-variables (Bug#6071).
+
+2010-05-01  Eli Zaretskii  <eliz@gnu.org>
+
+	* composite.el (compose-region, reference-point-alist): Fix typos
+	in the doc strings.
+
+2010-04-28  Alexander Klimov  <alserkli@inbox.ru>  (tiny change)
+
+	* calc/calc-graph.el (calc-graph-plot): Use the proper form for
+	gnuplot's "set" command.
+
+2010-04-26  Juanma Barranquero  <lekktu@gmail.com>
+
+	* abbrev.el (last-abbrev-text): Doc fix.
+	(abbrev-prefix-mark): Don't escape parenthesis.
+
+2010-04-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* composite.el (find-composition): Doc fix.
+
+2010-04-24  Juanma Barranquero  <lekktu@gmail.com>
+
+	* progmodes/sql.el (sql-electric-stuff): Fix typo in tag.
+	(sql-oracle-program, sql-sqlite-options)
+	(sql-query-placeholders-and-send): Doc fixes.
+	(sql-set-product, sql-interactive-mode): Reflow docstrings.
+	(sql-imenu-generic-expression, sql-buffer)
+	(sql-mode-ansi-font-lock-keywords, sql-mode-oracle-font-lock-keywords)
+	(sql-mode-postgres-font-lock-keywords, sql-mode-ms-font-lock-keywords)
+	(sql-mode-sybase-font-lock-keywords)
+	(sql-mode-informix-font-lock-keywords)
+	(sql-mode-interbase-font-lock-keywords)
+	(sql-mode-ingres-font-lock-keywords, sql-mode-solid-font-lock-keywords)
+	(sql-mode-mysql-font-lock-keywords, sql-mode-sqlite-font-lock-keywords)
+	(sql-mode-db2-font-lock-keywords, sql-mode-font-lock-keywords)
+	(sql-product-feature, sql-highlight-product)
+	(comint-line-beginning-position, sql-rename-buffer)
+	(sql-toggle-pop-to-buffer-after-send-region)
+	(sql-oracle, sql-sybase, sql-informix, sql-sqlite, sql-mysql, sql-solid)
+	(sql-ingres, sql-ms, sql-postgres, sql-interbase, sql-db2, sql-linter):
+	Fix typos in docstrings.
+
+2010-04-23  Juri Linkov  <juri@jurta.org>
+
+	* info.el (Info-fontify-node): Put Info-breadcrumbs to the `display'
+	property instead of `invisible' and `after-string' (bug#5998).
+
+2010-04-23  Juri Linkov  <juri@jurta.org>
+
+	* image-mode.el (image-mode-as-text): Fix typo in docstring.
+
+2010-04-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* filecache.el (file-cache-add-directory-list)
+	(file-cache-add-directory-recursively): Fix typos in docstrings.
+
+2010-04-22  Kenichi Handa  <handa@m17n.org>
+
+	* language/indian.el (gurmukhi-composable-pattern): Fix typo.
+	(gujarati-composable-pattern): Fix typo.
+
+2010-04-20  Kenichi Handa  <handa@m17n.org>
+
+	* language/indian.el (oriya-composable-pattern)
+	(tamil-composable-pattern, malayalam-composable-pattern): Add
+	two-part vowels to "v" (vowel sign).
+
+2010-04-20  Chong Yidong  <cyd@stupidchicken.com>
+
+	* files.el (copy-directory): Handle symlinks (Bug#5982).
+
+	* progmodes/compile.el (compilation-next-error-function): Revert
+	2009-10-12 change (Bug#5983).
+
+2010-04-20  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-hg.el (vc-hg-state): Use HGRCPATH, not HGRC.
+	(vc-hg-working-revision): Likewise.  Use hg parents, not hg parent
+	(Bug#5846).
+
+2010-04-20  Glenn Morris  <rgm@gnu.org>
+
+	* emacs-lisp/lisp.el (lisp-completion-at-point): Give it a doc string.
+
+	* minibuffer.el (completion-at-point): Doc fix.
+
+2010-04-18  Chong Yidong  <cyd@stupidchicken.com>
+
+	* cedet/ede/pmake.el (ede-proj-makefile-insert-variables): Don't
+	destroy list before using it.
+
+2010-04-17  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	Fix the version number for added files.
+	* vc-hg.el (vc-hg-working-revision): Check if the file is
+	registered after hg parent fails (Bug#5961).
+
+2010-04-17  Glenn Morris  <rgm@gnu.org>
+
+	* htmlfontify.el (htmlfontify-buffer)
+	(htmlfontify-copy-and-link-dir): Autoload entry points.
+
+2010-04-17  Magnus Henoch  <magnus.henoch@gmail.com>
+
+	* vc-hg.el (vc-hg-annotate-extract-revision-at-line): Expand file
+	name relative to the project root (Bug#5960).
+
+2010-04-16  Glenn Morris  <rgm@gnu.org>
+
+	* vc-git.el (vc-git-print-log): Doc fix.
+
+2010-04-14  Óscar Fuentes  <ofv@wanadoo.es>
+
+	* ido.el (ido-file-internal): Fix 2009-12-02 change.
+
+2010-04-14  Christoph  <cschol2112@googlemail.com>  (tiny change)
+
+	* progmodes/grep.el (grep-compute-defaults): Fix handling of host
+	default settings (Bug#5928).
+
+2010-04-10  Glenn Morris  <rgm@gnu.org>
+
+	* progmodes/fortran.el (fortran-match-and-skip-declaration):
+	New function.
+	(fortran-font-lock-keywords-3): Use it.  (Bug#1385)
+
+2010-04-07  Kenichi Handa  <handa@m17n.org>
+
+	* language/indian.el (malayalam-composable-pattern): Fix previous
+	change (add U+0D4D "SIGN VIRAMA").
+	(oriya-composable-pattern): Add U+0B30 and fix typo in the regexp.
+	(tamil-composable-pattern): Fix typo in the regexp.
+	(telugu-composable-pattern): Fix U+0C4D and typo in the regexp.
+	(kannada-composable-pattern): Fix U+0CB0 and typo in the regexp.
+	(malayalam-composable-pattern): Fix U+0D4D and typo in the regexp.
+
+2010-04-06  Chong Yidong  <cyd@stupidchicken.com>
+
+	* textmodes/tex-mode.el (latex-mode): Revert 2008-03-03 change to
+	paragraph-separate (Bug#5821).
+
+2010-04-05  Juri Linkov  <juri@jurta.org>
+
+	Put breadcrumbs on overlay instead of inserting to buffer (bug#5809).
+
+	* info.el (Info-find-node-2): Comment out code that skips
+	breadcrumbs line.
+	(Info-mouse-follow-link): New command.
+	(Info-link-keymap): New keymap.
+	(Info-breadcrumbs): Rename from `Info-insert-breadcrumbs'.
+	Return a string with links instead of inserting breadcrumbs
+	to the Info buffer.
+	(Info-fontify-node): Comment out code that inserts breadcrumbs.
+	Instead of putting the `invisible' text property over the Info
+	header, make an overlay over the Info header with the `invisible'
+	property and `after-string' set to the string returned by
+	`Info-breadcrumbs'.
+
 2010-04-03  Chong Yidong  <cyd@stupidchicken.com>
 
 	* help.el (help-window-setup-finish): Doc fix (Bug#5830).
@@ -30,7 +554,7 @@
 
 2010-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-	Make tmm-menubar work for the Buffers menu again.
+	Make tmm-menubar work for the Buffers menu again (bug#5726).
 	* tmm.el (tmm-prompt): Also handle keymap entries in the form of
 	vectors rather than cons cells, as used in menu-bar-update-buffers.
 
@@ -96,11 +620,6 @@
 
 	* indent.el (indent-for-tab-command): Doc fix.
 
-2010-03-22  Alan Mackenzie  <acm@muc.de>
-
-	* progmodes/cc-engine.el (c-remove-stale-state-cache):
-	Fix off-by-one error.  Fixes bug #5747.
-
 2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
 
 	* image-dired.el (image-dired-display-thumbs): Fix typo in docstring.
@@ -173,7 +692,7 @@
 
 	* files.el (auto-mode-alist): Accept more verilog file patterns.
 
-2010-03-09  Miles Bader  <miles@gnu.org>>
+2010-03-09  Miles Bader  <miles@gnu.org>
 
 	* vc-git.el (vc-git-print-log): Use "tformat:" for shortlog,
 	instead of "format:"; this ensures that the output is
@@ -249,11 +768,6 @@
 	* calendar/cal-hebrew.el (holiday-hebrew-passover): Fix date
 	of Yom HaAtzma'ut when it falls on a Monday (rule changed in 2004).
 
-2010-03-01  Alan Mackenzie  <acm@muc.de>
-
-	* progmodes/cc-engine.el (c-remove-stale-state-cache):
-	Correct previous patch.
-
 2010-03-01  Kenichi Handa  <handa@m17n.org>
 
 	* language/burmese.el (burmese-composable-pattern): Rename from
@@ -265,11 +779,6 @@
 	(otf-script-alist): Likewise.
 	(setup-default-fontset): Likewise.  Re-fix :otf spec.
 
-2010-03-01  Alan Mackenzie  <bug-cc-mode@gnu.org>
-
-	* cc-engine.el (c-remove-stale-state-cache): Take account of when
-	`good-pos' is in the same macro as `here'.  Fixes bug#5649.
-
 2010-02-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* menu-bar.el (menu-bar-manuals-menu): Fix typo.
@@ -335,16 +844,6 @@
 	* mail/sendmail.el (send-mail-function): Autoload the call
 	to custom-initialize-delay, not otherwise preserved in loaddefs.el.
 
-2010-02-25  Alan Mackenzie  <acm@muc.de>
-
-	* progmodes/cc-engine.el (c-clear-<-pair-props)
-	(c-clear->-pair-props): Correct to wipe category text props, not
-	syntax-table ones.
-
-	* progmodes/cc-mode.el (c-after-change): Remove any hard
-	syntax-table properties for <, > which, e.g., C-y has
-	inopportunely converted from category properties.
-
 2010-02-24  Chong Yidong  <cyd@stupidchicken.com>
 
 	* files.el (hack-local-variables-filter): For eval forms, also
@@ -682,33 +1181,6 @@
 	(doc-view-pdf->png): Don't rely on doc-view-pdf/ps->png for the few
 	windows that are not yet showing images.
 
-2010-02-04  Alan Mackenzie  <acm@muc.de>
-
-	Change strategy for marking < and > as template delimiters: mark
-	them strictly in matching pairs.
-
-	* cc-mode.el (c-before-change):
-	Use c-get-state-before-change-functions.
-	(c-common-init): Adapt to use
-	c-get-state-before-change-functions (note plural).
-
-	* cc-langs.el (c-no-parens-syntax-table): New syntax table, used
-	for searching syntactically for matching <s and >s.
-	(c-get-state-before-change-functions): New language variable (note
-	the plural) which supersedes c-get-state-before-change-function.
-
-	* cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props)
-	(c-clear-<>-pair-props, c-clear-<-pair-props-if-match-after)
-	(c-clear->-pair-props-if-match-before)
-	(c-before-change-check-<>-operators): New functions.
-	(c-after-change-check-<>-operators): Use macro
-	c-unmark-<->-as-paren.
-
-	* cc-defs.el (c-search-backward-char-property): New macro.
-
-	* cc-cmds.el (c-electric-lt-gt): Do not set text properties on <
-	and > any more.  (These will be handled by font locking.)
-
 2010-02-04  Michael Albinus  <michael.albinus@gmx.de>
 
 	* dired.el (dired-revert): If DIRED-DIRECTORY is a cons cell, call
--- a/lisp/abbrev.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/abbrev.el	Fri Aug 27 23:05:43 2010 +0900
@@ -338,7 +338,7 @@
 Abbrev to be expanded starts here rather than at beginning of word.
 This way, you can expand an abbrev with a prefix: insert the prefix,
 use this command, then insert the abbrev.  This command inserts a
-temporary hyphen after the prefix \(until the intended abbrev
+temporary hyphen after the prefix (until the intended abbrev
 expansion occurs).
 If the prefix is itself an abbrev, this command expands it, unless
 ARG is non-nil.  Interactively, ARG is the prefix argument."
@@ -460,7 +460,7 @@
 
 (defvar last-abbrev-text nil
   "The exact text of the last abbrev expanded.
-nil if the abbrev has already been unexpanded.")
+It is nil if the abbrev has already been unexpanded.")
 
 (defvar last-abbrev-location 0
   "The location of the start of the last abbrev expanded.")
--- a/lisp/ansi-color.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/ansi-color.el	Fri Aug 27 23:05:43 2010 +0900
@@ -142,6 +142,10 @@
 (defconst ansi-color-regexp "\033\\[\\([0-9;]*m\\)"
   "Regexp that matches SGR control sequences.")
 
+(defconst ansi-color-drop-regexp
+  "\033\\[\\([ABCDsuK]\\|2J\\|=[0-9]+[hI]\\|[0-9;]*[Hf]\\)"
+  "Regexp that matches ANSI control sequences to silently drop.")
+
 (defconst ansi-color-parameter-regexp "\\([0-9]*\\)[m;]"
   "Regexp that matches SGR control sequence parameters.")
 
@@ -154,7 +158,7 @@
 If nil, do nothing.
 If the symbol `filter', then filter all SGR control sequences.
 If anything else (such as t), then translate SGR control sequences
-into text-properties.
+into text properties.
 
 In order for this to have any effect, `ansi-color-process-output' must
 be in `comint-output-filter-functions'.
@@ -188,12 +192,12 @@
 
 ;;;###autoload
 (defun ansi-color-process-output (ignored)
-  "Maybe translate SGR control sequences of comint output into text-properties.
+  "Maybe translate SGR control sequences of comint output into text properties.
 
 Depending on variable `ansi-color-for-comint-mode' the comint output is
 either not processed, SGR control sequences are filtered using
 `ansi-color-filter-region', or SGR control sequences are translated into
-text-properties using `ansi-color-apply-on-region'.
+text properties using `ansi-color-apply-on-region'.
 
 The comint output is assumed to lie between the marker
 `comint-last-output-start' and the process-mark.
@@ -217,15 +221,15 @@
 (defun ansi-color-unfontify-region (beg end &rest xemacs-stuff)
   "Replacement function for `font-lock-default-unfontify-region'.
 
-As text-properties are implemented using extents in XEmacs, this
+As text properties are implemented using extents in XEmacs, this
 function is probably not needed.  In Emacs, however, things are a bit
 different: When font-lock is active in a buffer, you cannot simply add
-face text-properties to the buffer.  Font-lock will remove the face
-text-property using `font-lock-unfontify-region-function'.  If you want
+face text properties to the buffer.  Font-lock will remove the face
+text property using `font-lock-unfontify-region-function'.  If you want
 to insert the strings returned by `ansi-color-apply' into such buffers,
 you must set `font-lock-unfontify-region-function' to
 `ansi-color-unfontify-region'.  This function will not remove all face
-text-properties unconditionally.  It will keep the face text-properties
+text properties unconditionally.  It will keep the face text properties
 if the property `ansi-color' is set.
 
 The region from BEG to END is unfontified.  XEMACS-STUFF is ignored.
@@ -262,7 +266,7 @@
 (make-variable-buffer-local 'ansi-color-context)
 
 (defun ansi-color-filter-apply (string)
-  "Filter out all SGR control sequences from STRING.
+  "Filter out all ANSI control sequences from STRING.
 
 Every call to this function will set and use the buffer-local variable
 `ansi-color-context' to save partial escape sequences.  This information
@@ -292,10 +296,11 @@
     result))
 
 (defun ansi-color-apply (string)
-  "Translates SGR control sequences into text-properties.
+  "Translates SGR control sequences into text properties.
+Delete all other control sequences without processing them.
 
 Applies SGR control sequences setting foreground and background colors
-to STRING using text-properties and returns the result.  The colors used
+to STRING using text properties and returns the result.  The colors used
 are given in `ansi-color-faces-vector' and `ansi-color-names-vector'.
 See function `ansi-color-apply-sequence' for details.
 
@@ -309,23 +314,27 @@
 You cannot insert the strings returned into buffers using font-lock.
 See `ansi-color-unfontify-region' for a way around this."
   (let ((face (car ansi-color-context))
-	(start 0) end escape-sequence result)
-    ;; if context was saved and is a string, prepend it
+	(start 0) end escape-sequence result
+	colorized-substring)
+    ;; If context was saved and is a string, prepend it.
     (if (cadr ansi-color-context)
         (setq string (concat (cadr ansi-color-context) string)
               ansi-color-context nil))
-    ;; find the next escape sequence
+    ;; Find the next escape sequence.
     (while (setq end (string-match ansi-color-regexp string start))
-      ;; store escape sequence
       (setq escape-sequence (match-string 1 string))
-      ;; colorize the old block from start to end using old face
+      ;; Colorize the old block from start to end using old face.
       (when face
 	(put-text-property start end 'ansi-color t string)
 	(put-text-property start end 'face face string))
-      (setq result (concat result (substring string start end))
+      (setq colorized-substring (substring string start end)
 	    start (match-end 0))
-      ;; create new face by applying all the parameters in the escape
-      ;; sequence
+      ;; Eliminate unrecognized ANSI sequences.
+      (while (string-match ansi-color-drop-regexp colorized-substring)
+	(setq colorized-substring
+	      (replace-match "" nil nil colorized-substring)))
+      (push colorized-substring result)
+      ;; Create new face, by applying escape sequence parameters.
       (setq face (ansi-color-apply-sequence escape-sequence face)))
     ;; if the rest of the string should have a face, put it there
     (when face
@@ -335,13 +344,13 @@
     (let (fragment)
       (if (string-match "\033" string start)
 	  (let ((pos (match-beginning 0)))
-	    (setq fragment (substring string pos)
-		  result (concat result (substring string start pos))))
-	(setq result (concat result (substring string start))))
+	    (setq fragment (substring string pos))
+	    (push (substring string start pos) result))
+	(push (substring string start) result))
       (if (or face fragment)
 	  (setq ansi-color-context (list face fragment))
 	(setq ansi-color-context nil)))
-    result))
+    (apply 'concat (nreverse result))))
 
 ;; Working with regions
 
@@ -354,7 +363,7 @@
 (make-variable-buffer-local 'ansi-color-context-region)
 
 (defun ansi-color-filter-region (begin end)
-  "Filter out all SGR control sequences from region BEGIN to END.
+  "Filter out all ANSI control sequences from region BEGIN to END.
 
 Every call to this function will set and use the buffer-local variable
 `ansi-color-context-region' to save position.  This information will be
@@ -365,23 +374,27 @@
 	(start (or (cadr ansi-color-context-region) begin)))
     (save-excursion
       (goto-char start)
-      ;; find the next escape sequence
-      (while (re-search-forward ansi-color-regexp end-marker t)
-	;; delete the escape sequence
+      ;; Delete unrecognized escape sequences.
+      (while (re-search-forward ansi-color-drop-regexp end-marker t)
         (replace-match ""))
-    ;; save context, add the remainder of the string to the result
-    (if (re-search-forward "\033" end-marker t)
-	(setq ansi-color-context-region (list nil (match-beginning 0)))
-      (setq ansi-color-context-region nil)))))
+      (goto-char start)
+      ;; Delete SGR escape sequences.
+      (while (re-search-forward ansi-color-regexp end-marker t)
+        (replace-match ""))
+      ;; save context, add the remainder of the string to the result
+      (if (re-search-forward "\033" end-marker t)
+	  (setq ansi-color-context-region (list nil (match-beginning 0)))
+	(setq ansi-color-context-region nil)))))
 
 (defun ansi-color-apply-on-region (begin end)
   "Translates SGR control sequences into overlays or extents.
+Delete all other control sequences without processing them.
 
-Applies SGR control sequences setting foreground and background colors
-to text in region between BEGIN and END using extents or overlays.
-Emacs will use overlays, XEmacs will use extents.  The colors used are
-given in `ansi-color-faces-vector' and `ansi-color-names-vector'.  See
-function `ansi-color-apply-sequence' for details.
+SGR control sequences are applied by setting foreground and
+background colors to the text between BEGIN and END using
+overlays.  The colors used are given in `ansi-color-faces-vector'
+and `ansi-color-names-vector'.  See `ansi-color-apply-sequence'
+for details.
 
 Every call to this function will set and use the buffer-local variable
 `ansi-color-context-region' to save position and current face.  This
@@ -394,11 +407,16 @@
 			  (copy-marker begin)))
 	(end-marker (copy-marker end))
 	escape-sequence)
+    ;; First, eliminate unrecognized ANSI control sequences.
     (save-excursion
       (goto-char start-marker)
-      ;; find the next escape sequence
+      (while (re-search-forward ansi-color-drop-regexp end-marker t)
+	(replace-match "")))
+    (save-excursion
+      (goto-char start-marker)
+      ;; Find the next SGR sequence.
       (while (re-search-forward ansi-color-regexp end-marker t)
-	;; colorize the old block from start to end using old face
+	;; Colorize the old block from start to end using old face.
 	(when face
 	  (ansi-color-set-extent-face
 	   (ansi-color-make-extent start-marker (match-beginning 0))
--- a/lisp/arc-mode.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/arc-mode.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1791,9 +1791,13 @@
       (archive-*-extract archive name archive-zip-extract)
     (archive-extract-by-stdout
      archive
-     ;; unzip expands wildcards in NAME, so we need to quote it.
+     ;; unzip expands wildcards in NAME, so we need to quote it.  But
+     ;; not on DOS/Windows, since that fails extraction on those
+     ;; systems, and file names with wildcards in zip archives don't
+     ;; work there anyway.
      ;; FIXME: Does pkunzip need similar treatment?
-     (if (equal (car archive-zip-extract) "unzip")
+     (if (and (not (memq system-type '(windows-nt ms-dos)))
+	      (equal (car archive-zip-extract) "unzip"))
 	 (shell-quote-argument name)
        name)
      archive-zip-extract)))
--- a/lisp/bookmark.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/bookmark.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1854,8 +1854,7 @@
         (pop-up-windows t))
     (delete-other-windows)
     (switch-to-buffer (other-buffer))
-    (let ((bookmark-automatically-show-annotations nil)) ;FIXME: needed?
-      (bookmark--jump-via bmrk 'pop-to-buffer))
+    (bookmark--jump-via bmrk 'pop-to-buffer)
     (bury-buffer menu)))
 
 
@@ -1869,8 +1868,7 @@
   "Select this line's bookmark in other window, leaving bookmark menu visible."
   (interactive)
   (let ((bookmark (bookmark-bmenu-bookmark)))
-    (let ((bookmark-automatically-show-annotations t)) ;FIXME: needed?
-      (bookmark--jump-via bookmark 'switch-to-buffer-other-window))))
+    (bookmark--jump-via bookmark 'switch-to-buffer-other-window)))
 
 
 (defun bookmark-bmenu-switch-other-window ()
@@ -1881,8 +1879,7 @@
         (pop-up-windows t)
         same-window-buffer-names
         same-window-regexps)
-    (let ((bookmark-automatically-show-annotations t)) ;FIXME: needed?
-      (bookmark--jump-via bookmark 'display-buffer))))
+    (bookmark--jump-via bookmark 'display-buffer)))
 
 (defun bookmark-bmenu-other-window-with-mouse (event)
   "Select bookmark at the mouse pointer in other window, leaving bookmark menu visible."
--- a/lisp/bs.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/bs.el	Fri Aug 27 23:05:43 2010 +0900
@@ -195,7 +195,7 @@
 	     'font-lock-constant-face
 	   'font-lock-comment-face))
    ;; Dired-Buffers
-   '("^..\\(.*Dired by .*\\)$" 1 font-lock-function-name-face)
+   '("^..\\(.*Dired .*\\)$" 1 font-lock-function-name-face)
    ;; the star for modified buffers
    '("^.\\(\\*\\) +[^\\*]"     1 font-lock-comment-face))
   "Default font lock expressions for Buffer Selection Menu.")
--- a/lisp/calc/calc-graph.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/calc/calc-graph.el	Fri Aug 27 23:05:43 2010 +0900
@@ -345,7 +345,7 @@
 		     "set xlabel\nset ylabel\nset title\n"
 		     "set noclip points\nset clip one\nset clip two\n"
 		     "set format \"%g\"\nset tics\nset xtics\nset ytics\n"
-		     "set data style linespoints\n"
+		     "set style data linespoints\n"
 		     "set nogrid\nset nokey\nset nopolar\n"))
 	 (if (>= ver 3)
 	     (insert "set surface\nset nocontour\n"
--- a/lisp/calendar/appt.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/calendar/appt.el	Fri Aug 27 23:05:43 2010 +0900
@@ -183,16 +183,25 @@
 (defconst appt-buffer-name "*appt-buf*"
   "Name of the appointments buffer.")
 
+;; TODO Turn this into an alist?  It would be easier to add more
+;; optional elements.
+;; TODO There should be a way to set WARNTIME (and other properties)
+;; from the diary-file.  Implementing that would be a good reason
+;; to change this to an alist.
 (defvar appt-time-msg-list nil
   "The list of appointments for today.
 Use `appt-add' and `appt-delete' to add and delete appointments.
 The original list is generated from today's `diary-entries-list', and
 can be regenerated using the function `appt-check'.
-Each element of the generated list has the form (MINUTES STRING [FLAG]); where
-MINUTES is the time in minutes of the appointment after midnight, and
-STRING is the description of the appointment.
-FLAG, if non-nil, says that the element was made with `appt-add'
-so calling `appt-make-list' again should preserve it.")
+Each element of the generated list has the form
+\(MINUTES STRING [FLAG] [WARNTIME])
+where MINUTES is the time in minutes of the appointment after midnight,
+and STRING is the description of the appointment.
+FLAG and WARNTIME can only be present if the element was made
+with `appt-add'.  A non-nil FLAG indicates that the element was made
+with `appt-add', so calling `appt-make-list' again should preserve it.
+If WARNTIME is non-nil, it is an integer to use in place
+of `appt-message-warning-time'.")
 
 (defconst appt-max-time (1- (* 24 60))
   "11:59pm in minutes - number of minutes in a day minus 1.")
@@ -313,7 +322,7 @@
               (zerop (mod prev-appt-display-count appt-display-interval))))
          ;; Non-nil means only update the interval displayed in the mode line.
          (mode-line-only (unless full-check appt-now-displayed))
-         now cur-comp-time appt-comp-time)
+         now cur-comp-time appt-comp-time appt-warn-time)
     (when (or full-check mode-line-only)
       (save-excursion
         ;; Convert current time to minutes after midnight (12.01am = 1).
@@ -353,6 +362,8 @@
         ;; calculate the number of minutes until the appointment.
         (when (and appt-issue-message appt-time-msg-list)
           (setq appt-comp-time (caar (car appt-time-msg-list))
+                appt-warn-time (or (nth 3 (car appt-time-msg-list))
+                                   appt-message-warning-time)
                 min-to-app (- appt-comp-time cur-comp-time))
           (while (and appt-time-msg-list
                       (< appt-comp-time cur-comp-time))
@@ -360,21 +371,21 @@
             (if appt-time-msg-list
                 (setq appt-comp-time (caar (car appt-time-msg-list)))))
           ;; If we have an appointment between midnight and
-          ;; `appt-message-warning-time' minutes after midnight, we
+          ;; `appt-warn-time' minutes after midnight, we
           ;; must begin to issue a message before midnight.  Midnight
           ;; is considered 0 minutes and 11:59pm is 1439
           ;; minutes.  Therefore we must recalculate the minutes to
           ;; appointment variable.  It is equal to the number of
           ;; minutes before midnight plus the number of minutes after
           ;; midnight our appointment is.
-          (if (and (< appt-comp-time appt-message-warning-time)
-                   (> (+ cur-comp-time appt-message-warning-time)
+          (if (and (< appt-comp-time appt-warn-time)
+                   (> (+ cur-comp-time appt-warn-time)
                       appt-max-time))
               (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time)
                                   appt-comp-time)))
           ;; Issue warning if the appointment time is within
           ;; appt-message-warning time.
-          (when (and (<= min-to-app appt-message-warning-time)
+          (when (and (<= min-to-app appt-warn-time)
                      (>= min-to-app 0))
             (setq appt-now-displayed t
                   appt-display-count (1+ prev-appt-display-count))
@@ -470,14 +481,28 @@
   "[0-9]?[0-9]\\(h\\([0-9][0-9]\\)?\\|[:.][0-9][0-9]\\)\\(am\\|pm\\)?")
 
 ;;;###autoload
-(defun appt-add (new-appt-time new-appt-msg)
-  "Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG.
-The time should be in either 24 hour format or am/pm format."
-  (interactive "sTime (hh:mm[am/pm]): \nsMessage: ")
-  (unless (string-match appt-time-regexp new-appt-time)
+(defun appt-add (time msg &optional warntime)
+  "Add an appointment for today at TIME with message MSG.
+The time should be in either 24 hour format or am/pm format.
+Optional argument WARNTIME is an integer (or string) giving the number
+of minutes before the appointment at which to start warning.
+The default is `appt-message-warning-time'."
+  (interactive "sTime (hh:mm[am/pm]): \nsMessage: 
+sMinutes before the appointment to start warning: ")
+  (unless (string-match appt-time-regexp time)
     (error "Unacceptable time-string"))
-  (let ((time-msg (list (list (appt-convert-time new-appt-time))
-                        (concat new-appt-time " " new-appt-msg) t)))
+  (and (stringp warntime)
+       (setq warntime (unless (string-equal warntime "")
+                        (string-to-number warntime))))
+  (and warntime
+       (not (integerp warntime))
+       (error "Argument WARNTIME must be an integer, or nil"))
+  (let ((time-msg (list (list (appt-convert-time time))
+                        (concat time " " msg) t)))
+    ;; It is presently non-sensical to have multiple warnings about
+    ;; the same appointment with just different delays, but it might
+    ;; not always be so.  TODO
+    (if warntime (setq time-msg (append time-msg (list warntime))))
     (unless (member time-msg appt-time-msg-list)
       (setq appt-time-msg-list
             (appt-sort-list (nconc appt-time-msg-list (list time-msg)))))))
--- a/lisp/calendar/cal-tex.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/calendar/cal-tex.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,7 @@
 ;;; cal-tex.el --- calendar functions for printing calendars with LaTeX
 
-;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;;   2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Steve Fisk <fisk@bowdoin.edu>
 ;;         Edward M. Reingold <reingold@cs.uiuc.edu>
@@ -507,6 +507,7 @@
          (year (calendar-extract-year date))
          (end-month month)
          (end-year year)
+         ;; FIXME -landscape sets cal-tex-which-days?
          (d1 (calendar-absolute-from-gregorian (list month 1 year)))
          (d2 (progn
                (calendar-increment-month end-month end-year (1- n))
@@ -515,8 +516,7 @@
                       (calendar-last-day-of-month end-month end-year)
                       end-year))))
          (diary-list (if cal-tex-diary (cal-tex-list-diary-entries d1 d2)))
-         (holidays (if cal-tex-holidays (cal-tex-list-holidays d1 d2)))
-         other-month other-year)
+         (holidays (if cal-tex-holidays (cal-tex-list-holidays d1 d2))))
     (cal-tex-insert-preamble (cal-tex-number-weeks month year n) nil "12pt")
     (if (> n 1)
         (cal-tex-cmd cal-tex-cal-multi-month)
@@ -526,14 +526,12 @@
     (cal-tex-nl ".2cm")
     (cal-tex-insert-blank-days month year cal-tex-day-prefix)
     (dotimes (idummy n)
-      (setq other-month month
-            other-year year)
       (cal-tex-insert-days month year diary-list holidays cal-tex-day-prefix)
-      (when (= 6 (mod (calendar-absolute-from-gregorian
-                       (list month
-                             (calendar-last-day-of-month month year)
-                             year))
-                      7))           ; last day of month was Saturday
+      (when (= (calendar-week-end-day)
+               (calendar-day-of-week
+                (list month
+                      (calendar-last-day-of-month month year)
+                      year))) ; last day of month was last day of week
         (cal-tex-hfill)
         (cal-tex-nl))
       (calendar-increment-month month year 1))
@@ -570,13 +568,14 @@
 
 (defun cal-tex-insert-day-names ()
   "Insert the names of the days at top of a monthly calendar."
-  (dotimes (i 7)
-    (if (memq i cal-tex-which-days)
-        (insert (format cal-tex-day-name-format
-                        (cal-tex-LaTeXify-string
-                         (aref calendar-day-name-array
-                               (mod (+ calendar-week-start-day i) 7))))))
-    (cal-tex-comment)))
+  (let (j)
+    (dotimes (i 7)
+      (if (memq (setq j (mod (+ calendar-week-start-day i) 7))
+                cal-tex-which-days)
+          (insert (format cal-tex-day-name-format
+                          (cal-tex-LaTeXify-string
+                           (aref calendar-day-name-array j)))))
+      (cal-tex-comment))))
 
 (defun cal-tex-insert-month-header (n month year end-month end-year)
   "Create a title for a calendar.
@@ -603,7 +602,7 @@
                  calendar-week-start-day)
               7)))
         (dotimes (i blank-days)
-          (if (memq i cal-tex-which-days)
+          (if (memq (mod (+ calendar-week-start-day i) 7) cal-tex-which-days)
               (insert (format day-format " " " ") "{}{}{}{}%\n"))))))
 
 (defun cal-tex-insert-blank-days-at-end (month year day-format)
@@ -619,38 +618,37 @@
                7))
              (i blank-days))
         (while (<= (setq i (1+ i)) 6)
-          (if (memq i cal-tex-which-days)
+          (if (memq (mod (+ calendar-week-start-day i) 7) cal-tex-which-days)
               (insert (format day-format "" "") "{}{}{}{}%\n"))))))
 
 (defun cal-tex-first-blank-p (month year)
   "Determine if any days of the first week will be printed.
 Return t if there will there be any days of the first week printed
 in the calendar starting in MONTH YEAR."
-  (let (any-days the-saturday)        ; the day of week of 1st Saturday
-    (dotimes (i 7)
-      (if (= 6 (calendar-day-of-week (list month (1+ i) year)))
-          (setq the-saturday (1+ i))))
-    (dotimes (i the-saturday)
-      (if (memq (calendar-day-of-week (list month (1+ i) year))
-                cal-tex-which-days)
-          (setq any-days t)))
-    any-days))
+  ;; Check days 1-7 of the month, until we find the last day of the week.
+  (catch 'found
+    (let (dow)
+      (dotimes (i 7)
+        (if (memq (setq dow (calendar-day-of-week (list month (1+ i) year)))
+                  cal-tex-which-days)
+            (throw 'found t)
+          (if (= dow (calendar-week-end-day)) (throw 'found nil)))))))
 
 (defun cal-tex-last-blank-p (month year)
   "Determine if any days of the last week will be printed.
 Return t if there will there be any days of the last week printed
 in the calendar starting in MONTH YEAR."
-  (let* ((last-day (calendar-last-day-of-month month year))
-         (i (- last-day 7))
-         any-days the-sunday)          ; the day of week of last Sunday
-    (while (<= (setq i (1+ i)) last-day)
-      (if (zerop (calendar-day-of-week (list month i year)))
-          (setq the-sunday i)))
-    (setq i (1- the-sunday))
-    (while (<= (setq i (1+ i)) last-day)
-      (if (memq (calendar-day-of-week (list month i year)) cal-tex-which-days)
-          (setq any-days t)))
-    any-days))
+  ;; Check backwards from the last day of the month, until we find the
+  ;; start of the last week in the month.
+  (catch 'found
+    (let ((last-day (calendar-last-day-of-month month year))
+          day dow)
+      (dotimes (i 7)
+        (if (memq (setq dow (calendar-day-of-week
+                             (list month (- last-day i) year)))
+                  cal-tex-which-days)
+            (throw 'found t)
+          (if (= dow calendar-week-start-day) (throw 'found nil)))))))
 
 (defun cal-tex-number-weeks (month year n)
   "Determine the number of weeks in a range of dates.
@@ -1499,7 +1497,7 @@
           (- (calendar-day-of-week (list month 1 year))
              calendar-week-start-day)
           7))
-        (last (calendar-last-day-of-month month year))
+        (last( calendar-last-day-of-month month year))
         (str (concat "\\def\\" name "{\\hbox to" width "{%\n"
                      "\\vbox to" height "{%\n"
                      "\\vfil  \\hbox to" width "{%\n"
--- a/lisp/calendar/calendar.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/calendar/calendar.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2226,6 +2226,10 @@
 interpreted as BC; -1 being 1 BC, and so on."
   (mod (calendar-absolute-from-gregorian date) 7))
 
+(defun calendar-week-end-day ()
+  "Return the index (0 for Sunday, etc.) of the last day of the week."
+  (mod (+ calendar-week-start-day 6) 7))
+
 (defun calendar-unmark ()
   "Delete all diary/holiday marks/highlighting from the calendar."
   (interactive)
--- a/lisp/cedet/ede/cpp-root.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/cedet/ede/cpp-root.el	Fri Aug 27 23:05:43 2010 +0900
@@ -467,7 +467,7 @@
   "Set variables local to PROJECT in BUFFER.
 Also set up the lexical preprocessor map."
   (call-next-method)
-  (when (and (featurep 'semantic/c) (featurep 'semantic/lex-spp))
+  (when (and (featurep 'semantic/bovine/c) (featurep 'semantic/lex-spp))
     (setq semantic-lex-spp-project-macro-symbol-obarray
 	  (semantic-lex-make-spp-table (oref project spp-table)))
     ))
--- a/lisp/cedet/ede/pmake.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/cedet/ede/pmake.el	Fri Aug 27 23:05:43 2010 +0900
@@ -425,10 +425,9 @@
 	(link (ede-proj-linkers this))
 	(name (ede-proj-makefile-target-name this))
 	(src (oref this source)))
-    (while comp
-      (ede-compiler-only-once (car comp)
-	(ede-proj-makefile-insert-variables (car comp)))
-      (setq comp (cdr comp)))
+    (dolist (obj comp)
+      (ede-compiler-only-once obj
+			      (ede-proj-makefile-insert-variables obj)))
     (ede-proj-makefile-insert-object-variables (car comp) name src)
     (while link
       (ede-linker-only-once (car link)
--- a/lisp/cedet/semantic/db-file.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/cedet/semantic/db-file.el	Fri Aug 27 23:05:43 2010 +0900
@@ -277,7 +277,7 @@
 
 (defmethod object-write ((obj semanticdb-table))
   "When writing a table, we have to make sure we deoverlay it first.
-Restore the overlays after writting.
+Restore the overlays after writing.
 Argument OBJ is the object to write."
   (when (semanticdb-live-p obj)
     (when (semanticdb-in-buffer-p obj)
--- a/lisp/cedet/semantic/lex-spp.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/cedet/semantic/lex-spp.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1121,37 +1121,31 @@
       (prin1 (car sym))
       (let* ((first (car (cdr sym)))
 	     (rest (cdr sym)))
-	(when (not (listp first))
-	  (error "Error in macro \"%s\"" (car sym)))
-	(when (eq (car first) 'spp-arg-list)
-	  (princ " ")
-	  (prin1 first)
-	  (setq rest (cdr rest))
-	  )
+	(if (not (listp first))
+	    (insert "nil ;; bogus macro found.\n")
+	  (when (eq (car first) 'spp-arg-list)
+	    (princ " ")
+	    (prin1 first)
+	    (setq rest (cdr rest)))
 
-	(when rest
-	  (princ " . ")
-	  (let ((len (length (cdr rest))))
-	    (cond ((< len 2)
-		   (condition-case nil
-		       (prin1 rest)
-		     (error
-		      (princ "nil ;; Error writing macro\n"))))
-		  ((< len semantic-lex-spp-macro-max-length-to-save)
-		   (princ "\n              ")
-		   (condition-case nil
-		       (prin1 rest)
-		     (error
-		      (princ "nil ;; Error writing macro\n          ")))
-		   )
-		  (t ;; Too Long!
-		   (princ "nil ;; Too Long!\n          ")
-		   ))))
-	)
-      (princ ")\n          ")
-      )
-    (princ ")\n"))
-)
+	  (when rest
+	    (princ " . ")
+	    (let ((len (length (cdr rest))))
+	      (cond ((< len 2)
+		     (condition-case nil
+			 (prin1 rest)
+		       (error
+			(princ "nil ;; Error writing macro\n"))))
+		    ((< len semantic-lex-spp-macro-max-length-to-save)
+		     (princ "\n              ")
+		     (condition-case nil
+			 (prin1 rest)
+		       (error
+			(princ "nil ;; Error writing macro\n          "))))
+		    (t ;; Too Long!
+		     (princ "nil ;; Too Long!\n          ")))))))
+      (princ ")\n          "))
+    (princ ")\n")))
 
 ;;; MACRO TABLE DEBUG
 ;;
--- a/lisp/comint.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/comint.el	Fri Aug 27 23:05:43 2010 +0900
@@ -696,7 +696,9 @@
 STARTFILE is the name of a file, whose contents are sent to the
 process as its initial input.
 
-If PROGRAM is a string, any more args are arguments to PROGRAM."
+If PROGRAM is a string, any more args are arguments to PROGRAM.
+
+Returns the (possibly newly created) process buffer."
   (or (fboundp 'start-file-process)
       (error "Multi-processing is not supported for this system"))
   (setq buffer (get-buffer-create (or buffer (concat "*" name "*"))))
@@ -720,7 +722,9 @@
 STARTFILE is the name of a file, whose contents are sent to the
 process as its initial input.
 
-If PROGRAM is a string, any more args are arguments to PROGRAM."
+If PROGRAM is a string, any more args are arguments to PROGRAM.
+
+Returns the (possibly newly created) process buffer."
   (apply #'make-comint-in-buffer name nil program startfile switches))
 
 ;;;###autoload
--- a/lisp/composite.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/composite.el	Fri Aug 27 23:05:43 2010 +0900
@@ -44,7 +44,7 @@
 A glyph reference point symbol is to be used to specify a composition
 rule in COMPONENTS argument to such functions as `compose-region'.
 
-Meanings of glyph reference point codes are as follows:
+The meaning of glyph reference point codes is as follows:
 
     0----1----2 <---- ascent	0:tl or top-left
     |         |			1:tc or top-center
@@ -212,7 +212,7 @@
 this case, TAB element has a special meaning.  If the first
 characer is TAB, the glyphs are displayed with left padding space
 so that no pixel overlaps with the previous column.  If the last
-character is TAB, the glyphs are displayed with rigth padding
+character is TAB, the glyphs are displayed with right padding
 space so that no pixel overlaps with the following column.
 
 If it is a vector or list, it is a sequence of alternate characters and
@@ -222,7 +222,7 @@
 
 A composition rule is a cons of global and new glyph reference point
 symbols.  See the documentation of `reference-point-alist' for more
-detail.
+details.
 
 Optional 4th argument MODIFICATION-FUNC is a function to call to
 adjust the composition when it gets invalid because of a change of
@@ -299,16 +299,16 @@
     (compose-string-internal str 0 (length str) components)))
 
 (defun find-composition (pos &optional limit string detail-p)
-  "Return information about a composition at or nearest to buffer position POS.
+  "Return information about a composition at or near buffer position POS.
 
 If the character at POS has `composition' property, the value is a list
-of FROM, TO, and VALID-P.
+\(FROM TO VALID-P).
 
 FROM and TO specify the range of text that has the same `composition'
 property, VALID-P is t if this composition is valid, and nil if not.
 
 If there's no composition at POS, and the optional 2nd argument LIMIT
-is non-nil, search for a composition toward LIMIT.
+is non-nil, search for a composition toward the position given by LIMIT.
 
 If no composition is found, return nil.
 
@@ -316,8 +316,9 @@
 composition in; nil means the current buffer.
 
 If a valid composition is found and the optional 4th argument DETAIL-P
-is non-nil, the return value is a list of FROM, TO, COMPONENTS,
-RELATIVE-P, MOD-FUNC, and WIDTH.
+is non-nil, the return value is a list of the form
+
+   (FROM TO COMPONENTS RELATIVE-P MOD-FUNC WIDTH)
 
 COMPONENTS is a vector of integers, the meaning depends on RELATIVE-P.
 
@@ -331,12 +332,12 @@
 
 WIDTH is a number of columns the composition occupies on the screen.
 
-When Automatic Compostion mode is on, this function also finds a
+When Automatic Composition mode is on, this function also finds a
 chunk of text that is automatically composed.  If such a chunk is
 found closer to POS than the position that has `composition'
-property, the value is a list of FROM, TO, and a glyph gstring
-the specify how the chunk is composed.  See the function
-`composition-get-gstring' for the format of the glyph string."
+property, the value is a list of FROM, TO, and a glyph-string
+that specifies how the chunk is to be composed.  See the function
+`composition-get-gstring' for the format of the glyph-string."
   (let ((result (find-composition-internal pos limit string detail-p)))
     (if (and detail-p (> (length result) 3) (nth 2 result) (not (nth 3 result)))
 	;; This is a valid rule-base composition.
--- a/lisp/descr-text.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/descr-text.el	Fri Aug 27 23:05:43 2010 +0900
@@ -301,7 +301,7 @@
 				   (lambda (arg)
 				     (string (string-to-number arg 16)))
 				   parts " "))
-		      (concat info parts))))
+		      (concat info (if info " ") parts))))
 	       (list "Decimal digit value"
 		     (nth 5 fields))
 	       (list "Digit value"
@@ -426,7 +426,7 @@
         ;; When the composition is trivial (i.e. composed only with the
         ;; current character itself without any alternate characters),
         ;; we don't show the composition information.  Otherwise, store
-        ;; two descriptive strings in the first two elments of
+        ;; two descriptive strings in the first two elements of
         ;; COMPOSITION.
         (or (catch 'tag
               (let ((from (car composition))
--- a/lisp/desktop.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/desktop.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 ;;; desktop.el --- save partial status of Emacs when killed
 
 ;; Copyright (C) 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;;   2004, 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Keywords: convenience
@@ -302,10 +303,12 @@
   :version "22.1")
 
 (defcustom desktop-clear-preserve-buffers
-  '("\\*scratch\\*" "\\*Messages\\*" "\\*server\\*" "\\*tramp/.+\\*")
+  '("\\*scratch\\*" "\\*Messages\\*" "\\*server\\*" "\\*tramp/.+\\*"
+    "\\*Warnings\\*")
   "List of buffers that `desktop-clear' should not delete.
 Each element is a regular expression.  Buffers with a name matched by any of
 these won't be deleted."
+  :version "23.3"                       ; added Warnings - bug#6336
   :type '(repeat string)
   :group 'desktop)
 
@@ -811,19 +814,23 @@
 FILENAME is the visited file name, BUFNAME is the buffer name, and
 MODE is the major mode.
 \n\(fn FILENAME BUFNAME MODE)"
-  (let ((case-fold-search nil))
+  (let ((case-fold-search nil)
+        dired-skip)
     (and (not (and (stringp desktop-buffers-not-to-save)
 		   (not filename)
 		   (string-match desktop-buffers-not-to-save bufname)))
          (not (memq mode desktop-modes-not-to-save))
+         ;; FIXME this is broken if desktop-files-not-to-save is nil.
          (or (and filename
 		  (stringp desktop-files-not-to-save)
                   (not (string-match desktop-files-not-to-save filename)))
              (and (eq mode 'dired-mode)
                   (with-current-buffer bufname
-                    (not (string-match desktop-files-not-to-save
-                                       default-directory))))
+                    (not (setq dired-skip
+                               (string-match desktop-files-not-to-save
+                                             default-directory)))))
              (and (null filename)
+                  (null dired-skip)     ; bug#5755
 		  (with-current-buffer bufname desktop-save-buffer))))))
 
 ;; ----------------------------------------------------------------------------
--- a/lisp/dired.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/dired.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2227,31 +2227,33 @@
 ;; Keeping Dired buffers in sync with the filesystem and with each other
 
 (defun dired-buffers-for-dir (dir &optional file)
-;; Return a list of buffers that dired DIR (top level or in-situ subdir).
+;; Return a list of buffers for DIR (top level or in-situ subdir).
 ;; If FILE is non-nil, include only those whose wildcard pattern (if any)
 ;; matches FILE.
 ;; The list is in reverse order of buffer creation, most recent last.
 ;; As a side effect, killed dired buffers for DIR are removed from
 ;; dired-buffers.
   (setq dir (file-name-as-directory dir))
-  (let ((alist dired-buffers) result elt buf)
-    (while alist
-      (setq elt (car alist)
-	    buf (cdr elt))
-      (if (buffer-name buf)
-	  (if (dired-in-this-tree dir (car elt))
-	      (with-current-buffer buf
-		(and (assoc dir dired-subdir-alist)
-		     (or (null file)
-			 (let ((wildcards
-				(file-name-nondirectory dired-directory)))
-			   (or (= 0 (length wildcards))
-			       (string-match (dired-glob-regexp wildcards)
-					     file))))
-		     (setq result (cons buf result)))))
-	;; else buffer is killed - clean up:
+  (let (result buf)
+    (dolist (elt dired-buffers)
+      (setq buf (cdr elt))
+      (cond
+       ((null (buffer-name buf))
+	;; Buffer is killed - clean up:
 	(setq dired-buffers (delq elt dired-buffers)))
-      (setq alist (cdr alist)))
+       ((dired-in-this-tree dir (car elt))
+	(with-current-buffer buf
+	  (and (assoc dir dired-subdir-alist)
+	       (or (null file)
+		   (if (stringp dired-directory)
+		       (let ((wildcards (file-name-nondirectory
+					 dired-directory)))
+			 (or (= 0 (length wildcards))
+			     (string-match (dired-glob-regexp wildcards)
+					   file)))
+		     (member (expand-file-name file dir)
+			     (cdr dired-directory))))
+	       (setq result (cons buf result)))))))
     result))
 
 (defun dired-glob-regexp (pattern)
--- a/lisp/dnd.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/dnd.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,8 +1,9 @@
-;;; dnd.el --- drag and drop support.
+;;; dnd.el --- drag and drop support.  -*- coding: utf-8 -*-
 
-;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
-;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
 
--- a/lisp/emacs-lisp/advice.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/advice.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2684,6 +2684,8 @@
       ;; because `byte-compile' uses `fset':
       (ad-with-auto-activation-disabled
        (require 'bytecomp)
+       (require 'warnings)              ;To define warning-suppress-types
+                                        ;before we let-bind it.
        (let ((symbol (make-symbol "advice-compilation"))
 	     (byte-compile-warnings byte-compile-warnings)
              ;; Don't pop up windows showing byte-compiler warnings.
--- a/lisp/emacs-lisp/bytecomp.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/bytecomp.el	Fri Aug 27 23:05:43 2010 +0900
@@ -353,7 +353,7 @@
 (defvar byte-compile-interactive-only-functions
   '(beginning-of-buffer end-of-buffer replace-string replace-regexp
     insert-file insert-buffer insert-file-literally previous-line next-line
-    goto-line comint-run)
+    goto-line comint-run delete-backward-char)
   "List of commands that are not meant to be called from Lisp.")
 
 (defvar byte-compile-not-obsolete-vars nil
--- a/lisp/emacs-lisp/cl-loaddefs.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/cl-loaddefs.el	Fri Aug 27 23:05:43 2010 +0900
@@ -282,7 +282,7 @@
 ;;;;;;  flet progv psetq do-all-symbols do-symbols dotimes dolist
 ;;;;;;  do* do loop return-from return block etypecase typecase ecase
 ;;;;;;  case load-time-value eval-when destructuring-bind function*
-;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "273ba25f4a116c61a464dbe55f1f8c63")
+;;;;;;  defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "49b7d96626dd8ba5d39551909edbd4c7")
 ;;; Generated autoloads from cl-macs.el
 
 (autoload 'gensym "cl-macs" "\
--- a/lisp/emacs-lisp/cl-macs.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/cl-macs.el	Fri Aug 27 23:05:43 2010 +0900
@@ -432,7 +432,7 @@
 ;;;###autoload
 (defmacro destructuring-bind (args expr &rest body)
   (let* ((bind-lets nil) (bind-forms nil) (bind-inits nil)
-	 (bind-defs nil) (bind-block 'cl-none))
+	 (bind-defs nil) (bind-block 'cl-none) (bind-enquote nil))
     (cl-do-arglist (or args '(&aux)) expr)
     (append '(progn) bind-inits
 	    (list (nconc (list 'let* (nreverse bind-lets))
--- a/lisp/emacs-lisp/lisp.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/lisp.el	Fri Aug 27 23:05:43 2010 +0900
@@ -627,9 +627,10 @@
     (let ((completion-annotate-function (plist-get plist :annotate-function)))
       (completion-in-region (nth 0 data) (nth 1 data) (nth 2 data)
                             (plist-get plist :predicate)))))
-    
+
 
 (defun lisp-completion-at-point (&optional predicate)
+  "Function used for `completion-at-point-functions' in `emacs-lisp-mode'."
   ;; FIXME: the `end' could be after point?
   (let* ((end (point))
          (beg (with-syntax-table emacs-lisp-mode-syntax-table
--- a/lisp/emacs-lisp/rx.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emacs-lisp/rx.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1053,9 +1053,6 @@
      like `and', but makes the match accessible with `match-end',
      `match-beginning', and `match-string'.
 
-`(group SEXP1 SEXP2 ...)'
-     another name for `submatch'.
-
 `(or SEXP1 SEXP2 ...)'
 `(| SEXP1 SEXP2 ...)'
      matches anything that matches SEXP1 or SEXP2, etc.  If all
--- a/lisp/emulation/cua-base.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emulation/cua-base.el	Fri Aug 27 23:05:43 2010 +0900
@@ -4,7 +4,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
-;; Keywords: keyboard emulation convenience cua
+;; Keywords: keyboard emulations convenience cua
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/emulation/cua-rect.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emulation/cua-rect.el	Fri Aug 27 23:05:43 2010 +0900
@@ -231,7 +231,7 @@
     (move-to-column mc)
     (set-mark (point))
     (goto-char pp)
-    ;; Move cursor inside rectangle, except if char at rigth edge is a tab.
+    ;; Move cursor inside rectangle, except if char at right edge is a tab.
     (if (and (if (cua--rectangle-right-side)
 		 (and (= (move-to-column pc) (- pc tab-width))
 		      (not (eolp)))
--- a/lisp/emulation/pc-select.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/emulation/pc-select.el	Fri Aug 27 23:05:43 2010 +0900
@@ -6,7 +6,7 @@
 ;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE>
-;; Keywords: convenience emulation
+;; Keywords: convenience emulations
 ;; Created: 26 Sep 1995
 
 ;; This file is part of GNU Emacs.
--- a/lisp/epa.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/epa.el	Fri Aug 27 23:05:43 2010 +0900
@@ -508,13 +508,12 @@
       (set-keymap-parent (current-local-map) widget-keymap)
       (setq epa-exit-buffer-function #'abort-recursive-edit)
       (goto-char (point-min))
-      (pop-to-buffer (current-buffer)))
+      (let ((display-buffer-mark-dedicated 'soft))
+        (pop-to-buffer (current-buffer))))
     (unwind-protect
 	(progn
 	  (recursive-edit)
 	  (epa--marked-keys))
-      (if (get-buffer-window epa-keys-buffer)
-	  (delete-window (get-buffer-window epa-keys-buffer)))
       (kill-buffer epa-keys-buffer))))
 
 ;;;###autoload
--- a/lisp/erc/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/erc/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-02-07  Vivek Dasmohapatra  <vivek@etla.org>
 
 	* erc-services.el (erc-nickserv-alist): Fix defcustom type (Bug#5520).
--- a/lisp/filecache.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/filecache.el	Fri Aug 27 23:05:43 2010 +0900
@@ -296,8 +296,8 @@
 (defun file-cache-add-directory-list (directory-list &optional regexp)
   "Add DIRECTORY-LIST (a list of directory names) to the file cache.
 If the optional REGEXP argument is non-nil, only files which match it
-will be added to the cache. Note that the REGEXP is applied to the files
-in each directory, not to the directory list itself."
+will be added to the cache.  Note that the REGEXP is applied to the
+files in each directory, not to the directory list itself."
   (interactive "XAdd files from directory list: ")
   (mapcar
    (lambda (dir) (file-cache-add-directory dir regexp))
@@ -370,10 +370,10 @@
 ;;;###autoload
 (defun file-cache-add-directory-recursively  (dir &optional regexp)
   "Adds DIR and any subdirectories to the file-cache.
-This function does not use any external programs
+This function does not use any external programs.
 If the optional REGEXP argument is non-nil, only files which match it
-will be added to the cache. Note that the REGEXP is applied to the files
-in each directory, not to the directory list itself."
+will be added to the cache.  Note that the REGEXP is applied to the
+files in each directory, not to the directory list itself."
   (interactive "DAdd directory: ")
   (require 'find-lisp)
   (mapcar
--- a/lisp/files.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/files.el	Fri Aug 27 23:05:43 2010 +0900
@@ -4647,7 +4647,7 @@
 
 (defconst directory-files-no-dot-files-regexp
   "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"
-  "Regexp of file names excluging \".\" an \"..\".")
+  "Regexp matching any file name except \".\" and \"..\".")
 
 (defun delete-directory (directory &optional recursive)
   "Delete the directory named DIRECTORY.  Does not follow symlinks.
@@ -4735,10 +4735,14 @@
       (mapc
        (lambda (file)
 	 (let ((target (expand-file-name
-			(file-name-nondirectory file) newname)))
-	   (if (file-directory-p file)
-	       (copy-directory file target keep-time parents)
-	     (copy-file file target t keep-time))))
+			(file-name-nondirectory file) newname))
+	       (attrs (file-attributes file)))
+	   (cond ((file-directory-p file)
+		  (copy-directory file target keep-time parents))
+		 ((stringp (car attrs)) ; Symbolic link
+		  (make-symbolic-link (car attrs) target t))
+		 (t
+		  (copy-file file target t keep-time)))))
        ;; We do not want to copy "." and "..".
        (directory-files	directory 'full directory-files-no-dot-files-regexp))
 
--- a/lisp/font-core.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/font-core.el	Fri Aug 27 23:05:43 2010 +0900
@@ -97,7 +97,7 @@
 `font-lock-mode'.")
 
 ;; The mode for which font-lock was initialized, or nil if none.
-(defvar font-lock-mode-major-mode)
+(defvar font-lock-major-mode)
 (define-minor-mode font-lock-mode
   "Toggle Font Lock mode.
 With arg, turn Font Lock mode off if and only if arg is a non-positive
@@ -159,9 +159,7 @@
   ;; Arrange to unfontify this buffer if we change major mode later.
   (if font-lock-mode
       (add-hook 'change-major-mode-hook 'font-lock-change-mode nil t)
-    (remove-hook 'change-major-mode-hook 'font-lock-change-mode t))
-  (when font-lock-mode
-    (setq font-lock-mode-major-mode major-mode)))
+    (remove-hook 'change-major-mode-hook 'font-lock-change-mode t)))
 
 ;; Get rid of fontification for the old major mode.
 ;; We do this when changing major modes.
@@ -213,8 +211,8 @@
 	    (and mode
 		 (boundp 'font-lock-set-defaults)
 		 font-lock-set-defaults
-		 font-lock-mode-major-mode
-		 (not (eq font-lock-mode-major-mode major-mode))))
+		 font-lock-major-mode
+		 (not (eq font-lock-major-mode major-mode))))
     (font-lock-mode-internal mode)))
 
 (defun turn-on-font-lock ()
--- a/lisp/font-lock.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/font-lock.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1784,15 +1784,18 @@
   (kill-local-variable 'font-lock-set-defaults)
   (font-lock-mode 1))
 
-(defvar font-lock-mode-major-mode)
+(defvar font-lock-major-mode nil
+  "Major mode for which the font-lock settings have been setup.")
+(make-variable-buffer-local 'font-lock-major-mode)
+
 (defun font-lock-set-defaults ()
   "Set fontification defaults appropriately for this mode.
 Sets various variables using `font-lock-defaults' (or, if nil, using
 `font-lock-defaults-alist') and `font-lock-maximum-decoration'."
   ;; Set fontification defaults if not previously set for correct major mode.
   (unless (and font-lock-set-defaults
-	       (eq font-lock-mode-major-mode major-mode))
-    (setq font-lock-mode-major-mode major-mode)
+	       (eq font-lock-major-mode major-mode))
+    (setq font-lock-major-mode major-mode)
     (set (make-local-variable 'font-lock-set-defaults) t)
     (make-local-variable 'font-lock-fontified)
     (make-local-variable 'font-lock-multiline)
--- a/lisp/font-setting.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/font-setting.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,4 +1,4 @@
-;;; font-setting.el --- Support dynamic font changes
+;;; font-setting.el --- Support dynamic font changes   -*- coding: utf-8 -*-
 
 ;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
 
--- a/lisp/generic-x.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/generic-x.el	Fri Aug 27 23:05:43 2010 +0900
@@ -508,8 +508,7 @@
      '("^[ \t]*\\(:\\sw+\\)"         1 font-lock-function-name-face t)
      '("\\(%\\sw+%\\)"               1 font-lock-variable-name-face t)
      '("\\(%[0-9]\\)"                1 font-lock-variable-name-face t)
-     '("\\(/[^/ \"\t\n]+\\)"         1 font-lock-type-face)
-     '("[\t ]+\\([+-][^\t\n\" ]+\\)" 1 font-lock-type-face)
+     '("[\t ]+\\([+-/][^\t\n\" ]+\\)" 1 font-lock-type-face)
      '("[ \t\n|]\\<\\([gG][oO][tT][oO]\\)\\>[ \t]*\\(\\sw+\\)?"
        (1 font-lock-keyword-face)
        (2 font-lock-function-name-face nil t))
--- a/lisp/gnus/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/gnus/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,17 @@
+2010-04-22  Andreas Seltenreich  <seltenreich@gmx.de>
+
+	* message.el (message-generate-headers): Record insertion of optional
+	headers as well.  Otherwise the check to prevent repeated insertion of
+	optional headers is a no-op.
+
+2010-04-17  Teodor Zlatanov  <tzz@lifelogs.com>
+
+	* smime.el: Don't mention CVS.
+
+	* nnrss.el (nnrss-fetch): Don't mention CVS.
+
+	* nnir.el: Don't mention CVS.
+
 2010-04-01  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* mm-uu.el (mm-uu-pgp-signed-extract-1): Use buffer-file-coding-system
--- a/lisp/gnus/message.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/gnus/message.el	Fri Aug 27 23:05:43 2010 +0900
@@ -5880,6 +5880,7 @@
 		      (if formatter
 			  (funcall formatter header value)
 			(insert header-string ": " value))
+		      (push header-string message-inserted-headers)
 		      (goto-char (message-fill-field))
 		      ;; We check whether the value was ended by a
 		      ;; newline.  If not, we insert one.
--- a/lisp/gnus/nnir.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/gnus/nnir.el	Fri Aug 27 23:05:43 2010 +0900
@@ -52,7 +52,7 @@
 
 
 ;; The most recent version of this can always be fetched from the Gnus
-;; CVS repository.  See http://www.gnus.org/ for more information.
+;; repository.  See http://www.gnus.org/ for more information.
 
 ;; This code is still in the development stage but I'd like other
 ;; people to have a look at it.  Please do not hesitate to contact me
--- a/lisp/gnus/nnrss.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/gnus/nnrss.el	Fri Aug 27 23:05:43 2010 +0900
@@ -427,7 +427,7 @@
 (defun nnrss-fetch (url &optional local)
   "Fetch URL and put it in a the expected Lisp structure."
   (mm-with-unibyte-buffer
-    ;;some CVS versions of url.el need this to close the connection quickly
+    ;;some versions of url.el need this to close the connection quickly
     (let (cs xmlform htmlform)
       ;; bit o' work necessary for w3 pre-cvs and post-cvs
       (if local
--- a/lisp/gnus/smime.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/gnus/smime.el	Fri Aug 27 23:05:43 2010 +0900
@@ -42,7 +42,7 @@
 ;; done on messages encoded in these formats.  The terminology chosen
 ;; reflect this.
 ;;
-;; The home of this file is in Gnus CVS, but also available from
+;; The home of this file is in Gnus, but also available from
 ;; http://josefsson.org/smime.html.
 
 ;;; Quick introduction:
--- a/lisp/help-fns.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/help-fns.el	Fri Aug 27 23:05:43 2010 +0900
@@ -231,8 +231,8 @@
   "Guess the file that defined the Lisp object OBJECT, of type TYPE.
 OBJECT should be a symbol associated with a function, variable, or face;
   alternatively, it can be a function definition.
-If TYPE is `variable', search for a variable definition.
-If TYPE is `face', search for a face definition.
+If TYPE is `defvar', search for a variable definition.
+If TYPE is `defface', search for a face definition.
 If TYPE is the value returned by `symbol-function' for a function symbol,
  search for a function definition.
 
--- a/lisp/help.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/help.el	Fri Aug 27 23:05:43 2010 +0900
@@ -768,9 +768,10 @@
 
 ----------------- up-event %s----------------
 
-<%S>%s%s runs the command %S, which is "
+%s%s%s runs the command %S, which is "
 			   (if mouse-1-tricky "(short click) " "")
-			   ev-type mouse-msg
+			   (key-description (vector up-event))
+			   mouse-msg
 			   (if mouse-1-remapped
                                " is remapped to <mouse-2>, which" "")
 			   defn-up))
--- a/lisp/hl-line.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/hl-line.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,12 +1,12 @@
 ;;; hl-line.el --- highlight the current line
 
-;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+;;   2008, 2009, 2010  Free Software Foundation, Inc.
 
 ;; Author:  Dave Love <fx@gnu.org>
 ;; Maintainer: FSF
 ;; Created: 1998-09-13
-;; Keywords: faces, frames, emulation
+;; Keywords: faces, frames, emulations
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/htmlfontify.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/htmlfontify.el	Fri Aug 27 23:05:43 2010 +0900
@@ -959,7 +959,7 @@
                new-spec)))))
     (if (or (memq :inherit face-spec) (eq 'default face))
         face-spec
-      (nconc face-spec (list :inherit 'default))) ))
+      (append face-spec (list :inherit 'default)))))
 
 ;; construct an assoc of (css-tag-name . css-tag-value) pairs
 ;; from a face or assoc of face attributes:
@@ -1059,14 +1059,25 @@
     (setq  n (apply '* m))
     (nconc r (hfy-size (if x (round n) (* n 1.0)))) ))
 
+(defun hfy-face-resolve-face (fn)
+  (cond
+   ((facep fn)
+    (hfy-face-attr-for-class fn hfy-display-class))
+   ((and (symbolp fn)
+	 (facep (symbol-value fn)))
+    ;; Obsolete faces like `font-lock-reference-face' are defined as
+    ;; aliases for another face.
+    (hfy-face-attr-for-class (symbol-value fn) hfy-display-class))
+   (t nil)))
+
+
 (defun hfy-face-to-style (fn)
   "Take FN, a font or `defface' style font specification,
 \(as returned by `face-attr-construct' or `hfy-face-attr-for-class')
 and return a `hfy-style-assoc'.\n
 See also `hfy-face-to-style-i', `hfy-flatten-style'."
   ;;(message "hfy-face-to-style");;DBUG
-  (let ((face-def (if (facep fn)
-                      (hfy-face-attr-for-class fn hfy-display-class) fn))
+  (let ((face-def (hfy-face-resolve-face fn))
         (final-style nil))
 
     (setq final-style (hfy-flatten-style (hfy-face-to-style-i face-def)))
@@ -1790,6 +1801,7 @@
     (when font-lock-defaults
       (font-lock-fontify-buffer)) ))
 
+;;;###autoload
 (defun htmlfontify-buffer (&optional srcdir file)
   "Create a new buffer, named for the current buffer + a .html extension,
 containing an inline CSS-stylesheet and formatted CSS-markup HTML
@@ -2276,6 +2288,7 @@
     (save-buffer)
     (kill-buffer B)))
 
+;;;###autoload
 (defun htmlfontify-copy-and-link-dir (srcdir dstdir &optional f-ext l-ext)
   "Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR.
 F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'.\n
--- a/lisp/ido.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/ido.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2272,7 +2272,8 @@
 	   (or ido-use-url-at-point ido-use-filename-at-point))
       (let (fn d)
 	(require 'ffap)
-	;; Duplicate code from ffap-guesser as we want different behavior for files and URLs.
+	;; Duplicate code from ffap-guesser as we want different
+	;; behavior for files and URLs.
 	(cond
 	 ((with-no-warnings
 	    (and ido-use-url-at-point
@@ -2288,7 +2289,10 @@
 			      (ffap-guesser)
 			    (ffap-string-at-point))))
 	       (not (string-match "^http:/" fn))
-	       (setq d (file-name-directory (expand-file-name fn)))
+	       (let ((absolute-fn (expand-file-name fn)))
+		 (setq d (if (file-directory-p absolute-fn)
+			     (file-name-as-directory absolute-fn)
+			   (file-name-directory absolute-fn))))
 	       (file-directory-p d))
 	  (setq ido-current-directory d)
 	  (setq initial (file-name-nondirectory fn))))))
--- a/lisp/image-mode.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/image-mode.el	Fri Aug 27 23:05:43 2010 +0900
@@ -128,6 +128,28 @@
 
 (declare-function image-size "image.c" (spec &optional pixels frame))
 
+(defun image-display-size (spec &optional pixels frame)
+  "Wrapper around `image-size', to handle slice display properties.
+If SPEC is an image display property, call `image-size' with the
+given arguments.
+If SPEC is a list of properties containing `image' and `slice'
+properties, calculate the display size from the slice property.
+If SPEC contains `image' but not `slice', call `image-size' with
+the specified image."
+  (if (eq (car spec) 'image)
+      (image-size spec pixels frame)
+    (let ((image (assoc 'image spec))
+	  (slice (assoc 'slice spec)))
+      (cond ((and image slice)
+	     (if pixels
+		 (cons (nth 3 slice) (nth 4 slice))
+	       (cons (/ (float (nth 3 slice)) (frame-char-width frame))
+		     (/ (float (nth 4 slice)) (frame-char-height frame)))))
+	    (image
+	     (image-size image pixels frame))
+	    (t
+	     (error "Invalid image specification: %s" spec))))))
+
 (defun image-forward-hscroll (&optional n)
   "Scroll image in current window to the left by N character widths.
 Stop if the right edge of the image is reached."
@@ -139,7 +161,7 @@
 	 (let* ((image (image-get-display-property))
 		(edges (window-inside-edges))
 		(win-width (- (nth 2 edges) (nth 0 edges)))
-		(img-width (ceiling (car (image-size image)))))
+		(img-width (ceiling (car (image-display-size image)))))
 	   (image-set-window-hscroll (min (max 0 (- img-width win-width))
 					  (+ n (window-hscroll))))))))
 
@@ -160,7 +182,7 @@
 	 (let* ((image (image-get-display-property))
 		(edges (window-inside-edges))
 		(win-height (- (nth 3 edges) (nth 1 edges)))
-		(img-height (ceiling (cdr (image-size image)))))
+		(img-height (ceiling (cdr (image-display-size image)))))
 	   (image-set-window-vscroll (min (max 0 (- img-height win-height))
 					  (+ n (window-vscroll))))))))
 
@@ -233,7 +255,7 @@
   (let* ((image (image-get-display-property))
 	 (edges (window-inside-edges))
 	 (win-width (- (nth 2 edges) (nth 0 edges)))
-	 (img-width (ceiling (car (image-size image)))))
+	 (img-width (ceiling (car (image-display-size image)))))
     (image-set-window-hscroll (max 0 (- img-width win-width)))))
 
 (defun image-bob ()
@@ -248,9 +270,9 @@
   (let* ((image (image-get-display-property))
 	 (edges (window-inside-edges))
 	 (win-width (- (nth 2 edges) (nth 0 edges)))
-	 (img-width (ceiling (car (image-size image))))
+	 (img-width (ceiling (car (image-display-size image))))
 	 (win-height (- (nth 3 edges) (nth 1 edges)))
-	 (img-height (ceiling (cdr (image-size image)))))
+	 (img-height (ceiling (cdr (image-display-size image)))))
     (image-set-window-hscroll (max 0 (- img-width win-width)))
     (image-set-window-vscroll (max 0 (- img-height win-height)))))
 
@@ -264,7 +286,7 @@
   (interactive)
   (let* ((saved (frame-parameter nil 'image-mode-saved-size))
          (display (image-get-display-property))
-         (size (image-size display)))
+         (size (image-display-size display)))
     (if (and saved
              (eq (caar saved) (frame-width))
              (eq (cdar saved) (frame-height)))
@@ -390,7 +412,7 @@
 to display an image file as the actual image.
 
 You can use `image-mode-as-text' in `auto-mode-alist' when you want
-to display an image file as text inititally.
+to display an image file as text initially.
 
 See commands `image-mode' and `image-minor-mode' for more information
 on these modes."
--- a/lisp/info.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/info.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1053,8 +1053,8 @@
 	    (Info-select-node)
 	    (goto-char (point-min))
 	    (forward-line 1)		       ; skip header line
-	    (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
-	      (forward-line 1))
+	    ;; (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
+	    ;;   (forward-line 1))
 
 	    (cond (anchorpos
                    (let ((new-history (list Info-current-file
@@ -3551,6 +3551,19 @@
      ((setq node (Info-get-token (point) "Prev: " "Prev: \\([^,\n\t]*\\)"))
       (Info-goto-node node fork)))
     node))
+
+(defun Info-mouse-follow-link (click)
+  "Follow a link where you click."
+  (interactive "e")
+  (let* ((position (event-start click))
+	 (posn-string (and position (posn-string position)))
+	 (string (car-safe posn-string))
+	 (string-pos (cdr-safe posn-string))
+	 (link-args (and string string-pos
+			 (get-text-property string-pos 'link-args string))))
+    (when link-args
+      (Info-goto-node link-args))))
+
 
 (defvar Info-mode-map
   (let ((map (make-keymap)))
@@ -4141,11 +4154,22 @@
     keymap)
   "Keymap to put on the Up link in the text or the header line.")
 
-(defun Info-insert-breadcrumbs ()
+(defvar Info-link-keymap
+  (let ((keymap (make-sparse-keymap)))
+    (define-key keymap [header-line mouse-1] 'Info-mouse-follow-link)
+    (define-key keymap [header-line mouse-2] 'Info-mouse-follow-link)
+    (define-key keymap [header-line down-mouse-1] 'ignore)
+    (define-key keymap [mouse-2] 'Info-mouse-follow-link)
+    (define-key keymap [follow-link] 'mouse-face)
+    keymap)
+  "Keymap to put on the link in the text or the header line.")
+
+(defun Info-breadcrumbs ()
   (let ((nodes (Info-toc-nodes Info-current-file))
 	(node Info-current-node)
         (crumbs ())
-        (depth Info-breadcrumbs-depth))
+        (depth Info-breadcrumbs-depth)
+	line)
 
     ;; Get ancestors from the cached parent-children node info
     (while (and (not (equal "Top" node)) (> depth 0))
@@ -4172,15 +4196,25 @@
 			     (file-name-nondirectory Info-current-file)
 			   ;; Some legacy code can still use a symbol.
 			   Info-current-file)))))
-	  (insert (if (bolp) "" " > ")
-		  (cond
-		   ((null node) "...")
-		   ((equal node Info-current-node)
-		    ;; No point linking to ourselves.
-		    (propertize text 'font-lock-face 'info-header-node))
-		   (t
-		    (concat "*Note " text "::"))))))
-      (insert "\n"))))
+	  (setq line (concat
+		      line
+		      (if (null line) "" " > ")
+		      (cond
+		       ((null node) "...")
+		       ((equal node Info-current-node)
+			;; No point linking to ourselves.
+			(propertize text 'font-lock-face 'info-header-node))
+		       (t
+			(propertize text
+				    'mouse-face 'highlight
+				    'font-lock-face 'info-header-xref
+				    'help-echo "mouse-2: Go to node"
+				    'keymap Info-link-keymap
+				    'link-args text)))))))
+      (setq line (concat line "\n")))
+    ;; (font-lock-append-text-property 0 (length line)
+    ;; 				    'font-lock-face 'header-line line)
+    line))
 
 (defun Info-fontify-node ()
   "Fontify the node."
@@ -4227,8 +4261,8 @@
 		((string-equal (downcase tag) "next") Info-next-link-keymap)
 		((string-equal (downcase tag) "up"  ) Info-up-link-keymap))))))
 
-        (when (> Info-breadcrumbs-depth 0)
-          (Info-insert-breadcrumbs))
+        ;; (when (> Info-breadcrumbs-depth 0)
+        ;;   (insert (Info-breadcrumbs)))
 
         ;; Treat header line.
         (when Info-use-header-line
@@ -4260,7 +4294,9 @@
             ;; that is in the header, if it is just part.
             (cond
              ((> Info-breadcrumbs-depth 0)
-              (put-text-property (point-min) (1+ header-end) 'invisible t))
+	      (let ((ov (make-overlay (point-min) (1+ header-end))))
+		(overlay-put ov 'display (Info-breadcrumbs))
+		(overlay-put ov 'evaporate t)))
              ((not (bobp))
               ;; Hide the punctuation at the end, too.
               (skip-chars-backward " \t,")
--- a/lisp/international/mule-cmds.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/international/mule-cmds.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2902,9 +2902,9 @@
 	       (#xFB00 . #xFFFD)))
 	    (upper-ranges
 	     '((#x10000 . #x134FF)
-	       ;; (#x13500 . #x1CFFF) unsed
+	       ;; (#x13500 . #x1CFFF) unused
 	       (#x1D000 . #x1FFFF)
-	       ;; (#x20000 . #xDFFFF) CJK Ideograph Extension A, B, etc, unsed
+	       ;; (#x20000 . #xDFFFF) CJK Ideograph Extension A, B, etc, unused
 	       (#xE0000 . #xE01FF)))
 	    (gc-cons-threshold 10000000)
 	    c end name names)
--- a/lisp/international/mule-util.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/international/mule-util.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,4 +1,4 @@
-;;; mule-util.el --- utility functions for mulitilingual environment (mule)
+;;; mule-util.el --- utility functions for multilingual environment (mule)
 
 ;; Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004,
 ;;   2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
--- a/lisp/international/mule.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/international/mule.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1625,7 +1625,8 @@
 (defcustom auto-coding-alist
   ;; .exe and .EXE are added to support archive-mode looking at DOS
   ;; self-extracting exe archives.
-  (purecopy '(("\\.\\(\
+  (mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
+	  '(("\\.\\(\
 arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\|rar\\|\
 ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\)\\'"
      . no-conversion-multibyte)
--- a/lisp/language/indian.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/language/indian.el	Fri Aug 27 23:05:43 2010 +0900
@@ -198,15 +198,14 @@
 
 (defconst gurmukhi-composable-pattern
   (let ((table
-	 '(("a" . "[\u0A01-\u0A02]")	; SIGN ADAK BINDI .. BINDI
-	   ("A" . "\u0A03]")		; SIGN VISARGA
+	 '(("a" . "[\u0A01-\u0A02\u0A70]") ; SIGN ADAK BINDI .. BINDI, TIPPI
+	   ("A" . "\u0A03")		; SIGN VISARGA
 	   ("V" . "[\u0A05-\u0A14]")	; independent vowel
 	   ("C" . "[\u0A15-\u0A39\u0A59-\u0A5E]")	; consonant
-	   ("Y" . "[\u0A2F\u0A30\u0A35\u0A39]") ; YA, RA, VA, HA
+	   ("Y" . "[\u0A2F-u0A30\u0A35\u0A39]") ; YA, RA, VA, HA
 	   ("n" . "\u0A3C")		; NUKTA
 	   ("v" . "[\u0A3E-\u0A4C]")	; vowel sign
 	   ("H" . "\u0A4D")		; VIRAMA
-	   ("a" . "\u0A70")		; TIPPI
 	   ("N" . "\u200C")		; ZWNJ
 	   ("J" . "\u200D")		; ZWJ
 	   ("X" . "[\u0A00-\u0A7F]"))))	; all coverage
@@ -226,7 +225,7 @@
 (defconst gujarati-composable-pattern
   (let ((table
 	 '(("a" . "[\u0A81-\u0A82]")	; SIGN CANDRABINDU .. ANUSVARA
-	   ("A" . "\u0A83]")		; SIGN VISARGA
+	   ("A" . "\u0A83")		; SIGN VISARGA
 	   ("V" . "[\u0A85-\u0A94\u0AE0-\u0AE1]") ; independent vowel
 	   ("C" . "[\u0A95-\u0AB9]")	; consonant
 	   ("R" . "\u0AB0")		; RA
@@ -241,7 +240,7 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HR\\)?v*n?a?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?a?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?A?\\)\\|"
       ;; special consonant form, or
       "JHR\\|"
       ;; any other singleton characters
@@ -256,8 +255,9 @@
 	   ("V" . "[\u0B05-\u0B14\u0B60-\u0B61]") ; independent vowel
 	   ("C" . "[\u0B15-\u0B39\u0B5C-\u0B5D\u0B71]")	; consonant
 	   ("B" . "[\u0B15-\u0B17\u0B1B-\u0B1D\u0B1F-\u0B21\u0B23-\u0B24\u0B27-\u0B30\u0B32-\u0B35\u0B38-\u0B39]") ; consonant with below form
+	   ("R" . "\u0B30")		; RA
 	   ("n" . "\u0B3C")		; NUKTA
-	   ("v" . "[\u0B3E-\u0B44\u0B56-\u0B57\u0B62-\u0B63]") ; vowel sign
+	   ("v" . "[\u0B3E-\u0B4C\u0B56-\u0B57\u0B62-\u0B63]") ; vowel sign
 	   ("H" . "\u0B4D")		; VIRAMA
 	   ("N" . "\u200C")		; ZWNJ
 	   ("J" . "\u200D")		; ZWJ
@@ -267,7 +267,7 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HB\\)?v*n?a?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?a?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?a?A?\\)\\|"
       ;; special consonant form, or
       "JHB\\|"
       ;; any other singleton characters
@@ -280,7 +280,7 @@
 	 '(("a" . "\u0B82")		; SIGN ANUSVARA
 	   ("V" . "[\u0B85-\u0B94]")	; independent vowel
 	   ("C" . "[\u0B95-\u0BB9]")	; consonant
-	   ("v" . "[\u0BBE-\u0BC8\u0BD7]") ; vowel sign
+	   ("v" . "[\u0BBE-\u0BCC\u0BD7]") ; vowel sign
 	   ("H" . "\u0BCD")		; VIRAMA
 	   ("N" . "\u200C")		; ZWNJ
 	   ("J" . "\u200D")		; ZWJ
@@ -288,7 +288,7 @@
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?|v*a?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v*a?\\)\\|"
       ;; syllables with an independent vowel, or
       "Vv*a?\\|"
       ;; any other singleton characters
@@ -302,14 +302,14 @@
 	   ("V" . "[\u0C05-\u0C14\u0C60-\u0C61]") ; independent vowel
 	   ("C" . "[\u0C15-\u0C39\u0C58-\u0C59]") ; consonant
 	   ("v" . "[\u0C3E-\u0C4C\u0C55-\u0C56\u0C62-\u0C63]")	; vowel sign
-	   ("H" . "\u0BCD")		; VIRAMA
+	   ("H" . "\u0C4D")		; VIRAMA
 	   ("N" . "\u200C")		; ZWNJ
 	   ("J" . "\u200D")		; ZWJ
 	   ("X" . "[\u0C00-\u0C7F]"))))	; all coverage
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?|v*a?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v*a?\\)\\|"
       ;; syllables with an independent vowel, or
       "V\\(?:J?HC\\)?v*a?\\|"
       ;; special consonant form, or
@@ -324,7 +324,7 @@
 	 '(("A" . "[\u0C82-\u0C83]")	; SIGN ANUSVARA .. VISARGA
 	   ("V" . "[\u0C85-\u0C94\u0CE0-\u0CE1]") ; independent vowel
 	   ("C" . "[\u0C95-\u0CB9\u0CDE]")	  ; consonant
-	   ("B" . "\u0CB0")		; RA
+	   ("R" . "\u0CB0")		; RA
 	   ("n" . "\u0CBC")		; NUKTA
 	   ("v" . "[\u0CBE-\u0CCC\u0CD5-\u0CD6\u0CE2-\u0CE3]") ; vowel sign
 	   ("H" . "\u0CCD")		; VIRAMA
@@ -336,9 +336,9 @@
       ;; syllables with an independent vowel, or
       "\\(?:RH\\)?Vn?\\(?:J?HC\\)?v?A?\\|"
       ;; consonant-based syllables, or
-      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?|v*n?A?\\)\\|"
+      "Cn?\\(?:J?HJ?Cn?\\)*\\(?:H[NJ]?\\|v*n?A?\\)\\|"
       ;; special consonant form, or
-      "JHB\\|"
+      "JHC\\|"
       ;; any other singleton characters
       "X")
      table))
@@ -350,14 +350,15 @@
 	   ("V" . "[\u0D05-\u0D14\u0D60-\u0D61]") ; independent vowel
 	   ("C" . "[\u0D15-\u0D39]")		  ; consonant 
 	   ("Y" . "[\u0D2F-\u0D30\u0D32\u0D35]")  ; YA, RA, LA, VA
-	   ("v" . "[\u0D3E-\u0D48\u0D57\u0D62-\u0D63]")	; postbase matra
+	   ("v" . "[\u0D3E-\u0D4C\u0D57\u0D62-\u0D63]")	; postbase matra
+	   ("H" . "\u0D4D")			  ; SIGN VIRAMA
 	   ("N" . "\u200C")			  ; ZWNJ
 	   ("J" . "\u200D")			  ; ZWJ
 	   ("X" . "[\u0D00-\u0D7F]"))))		  ; all coverage
     (indian-compose-regexp
      (concat
       ;; consonant-based syllables, or
-      "\\(?:CJ?HJ?C\\)*\\(?:H[NJ]?\\|v?A?\\)\\|"
+      "C\\(?:J?HJ?C\\)*\\(?:H[NJ]?\\|v?A?\\)\\|"
       ;; syllables with an independent vowel, or
       "V\\(?:J?HY\\)?v*?A?\\|"
       ;; special consonant form, or
--- a/lisp/ldefs-boot.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/ldefs-boot.el	Fri Aug 27 23:05:43 2010 +0900
@@ -5,7 +5,7 @@
 
 ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
 ;;;;;;  5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;;  "play/5x5.el" (19352 21350))
+;;;;;;  "play/5x5.el" (19383 49278))
 ;;; Generated autoloads from play/5x5.el
 
 (autoload '5x5 "5x5" "\
@@ -65,7 +65,7 @@
 ;;;***
 
 ;;;### (autoloads (list-one-abbrev-table) "abbrevlist" "abbrevlist.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from abbrevlist.el
 
 (autoload 'list-one-abbrev-table "abbrevlist" "\
@@ -76,7 +76,7 @@
 ;;;***
 
 ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;;  (19352 21362))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from progmodes/ada-mode.el
 
 (autoload 'ada-add-extensions "ada-mode" "\
@@ -96,7 +96,7 @@
 ;;;***
 
 ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/ada-stmt.el
 
 (autoload 'ada-header "ada-stmt" "\
@@ -107,7 +107,7 @@
 ;;;***
 
 ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/ada-xref.el
 
 (autoload 'ada-find-file "ada-xref" "\
@@ -121,8 +121,8 @@
 ;;;### (autoloads (change-log-merge add-log-current-defun change-log-mode
 ;;;;;;  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" "add-log.el" (19352
-;;;;;;  21350))
+;;;;;;  add-log-current-defun-function) "add-log" "add-log.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from add-log.el
 
 (put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -261,7 +261,7 @@
 
 ;;;### (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" (19352 21362))
+;;;;;;  "advice" "emacs-lisp/advice.el" (19383 49276))
 ;;; Generated autoloads from emacs-lisp/advice.el
 
 (defvar ad-redefinition-action 'warn "\
@@ -404,7 +404,7 @@
 
 ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
 ;;;;;;  align-highlight-rule align-current align-entire align-regexp
-;;;;;;  align) "align" "align.el" (19352 21350))
+;;;;;;  align) "align" "align.el" (19383 49278))
 ;;; Generated autoloads from align.el
 
 (autoload 'align "align" "\
@@ -494,7 +494,7 @@
 ;;;***
 
 ;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from allout.el
 
 (put 'allout-use-hanging-indents 'safe-local-variable (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
@@ -801,7 +801,7 @@
 ;;;***
 
 ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;;  "net/ange-ftp.el" (19352 21362))
+;;;;;;  "net/ange-ftp.el" (19383 49276))
 ;;; Generated autoloads from net/ange-ftp.el
 
 (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -823,7 +823,7 @@
 ;;;***
 
 ;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;;  "animate" "play/animate.el" (19352 21350))
+;;;;;;  "animate" "play/animate.el" (19383 49278))
 ;;; Generated autoloads from play/animate.el
 
 (autoload 'animate-string "animate" "\
@@ -851,7 +851,7 @@
 ;;;***
 
 ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;;  "ansi-color" "ansi-color.el" (19352 21350))
+;;;;;;  "ansi-color" "ansi-color.el" (19383 49278))
 ;;; Generated autoloads from ansi-color.el
 
 (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -877,7 +877,7 @@
 ;;;***
 
 ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
-;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (19352 21350))
+;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (19383 49278))
 ;;; Generated autoloads from progmodes/antlr-mode.el
 
 (autoload 'antlr-show-makefile-rules "antlr-mode" "\
@@ -914,7 +914,7 @@
 ;;;***
 
 ;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add)
-;;;;;;  "appt" "calendar/appt.el" (19352 21350))
+;;;;;;  "appt" "calendar/appt.el" (19383 49278))
 ;;; Generated autoloads from calendar/appt.el
 
 (autoload 'appt-add "appt" "\
@@ -954,7 +954,7 @@
 
 ;;;### (autoloads (apropos-documentation apropos-value apropos-library
 ;;;;;;  apropos apropos-documentation-property apropos-command apropos-variable
-;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (19352 21350))
+;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (19383 49278))
 ;;; Generated autoloads from apropos.el
 
 (autoload 'apropos-read-pattern "apropos" "\
@@ -1057,8 +1057,8 @@
 
 ;;;***
 
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19352
-;;;;;;  21362))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19383
+;;;;;;  49276))
 ;;; Generated autoloads from arc-mode.el
 
 (autoload 'archive-mode "arc-mode" "\
@@ -1078,7 +1078,7 @@
 
 ;;;***
 
-;;;### (autoloads (array-mode) "array" "array.el" (19352 21350))
+;;;### (autoloads (array-mode) "array" "array.el" (19383 49278))
 ;;; Generated autoloads from array.el
 
 (autoload 'array-mode "array" "\
@@ -1149,8 +1149,8 @@
 
 ;;;***
 
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19378
-;;;;;;  33860))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19383
+;;;;;;  49276))
 ;;; Generated autoloads from textmodes/artist.el
 
 (autoload 'artist-mode "artist" "\
@@ -1356,8 +1356,8 @@
 
 ;;;***
 
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19352
-;;;;;;  21350))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from progmodes/asm-mode.el
 
 (autoload 'asm-mode "asm-mode" "\
@@ -1385,7 +1385,7 @@
 ;;;***
 
 ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from autoarg.el
 
 (defvar autoarg-mode nil "\
@@ -1439,7 +1439,7 @@
 ;;;***
 
 ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/autoconf.el
 
 (autoload 'autoconf-mode "autoconf" "\
@@ -1450,7 +1450,7 @@
 ;;;***
 
 ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;;  "autoinsert" "autoinsert.el" (19352 21350))
+;;;;;;  "autoinsert" "autoinsert.el" (19383 49278))
 ;;; Generated autoloads from autoinsert.el
 
 (autoload 'auto-insert "autoinsert" "\
@@ -1489,7 +1489,7 @@
 
 ;;;### (autoloads (batch-update-autoloads update-directory-autoloads
 ;;;;;;  update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from emacs-lisp/autoload.el
 
 (put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1528,7 +1528,7 @@
 
 ;;;### (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" (19352 21350))
+;;;;;;  "autorevert" "autorevert.el" (19383 49278))
 ;;; Generated autoloads from autorevert.el
 
 (autoload 'auto-revert-mode "autorevert" "\
@@ -1609,7 +1609,7 @@
 ;;;***
 
 ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;;  "avoid.el" (19352 21350))
+;;;;;;  "avoid.el" (19383 49278))
 ;;; Generated autoloads from avoid.el
 
 (defvar mouse-avoidance-mode nil "\
@@ -1650,7 +1650,7 @@
 ;;;***
 
 ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from battery.el
  (put 'battery-mode-line-string 'risky-local-variable t)
 
@@ -1682,7 +1682,7 @@
 ;;;***
 
 ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (19352 21350))
+;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (19383 49278))
 ;;; Generated autoloads from emacs-lisp/benchmark.el
 
 (autoload 'benchmark-run "benchmark" "\
@@ -1715,7 +1715,7 @@
 ;;;***
 
 ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
-;;;;;;  "bibtex" "textmodes/bibtex.el" (19352 21350))
+;;;;;;  "bibtex" "textmodes/bibtex.el" (19383 49278))
 ;;; Generated autoloads from textmodes/bibtex.el
 
 (autoload 'bibtex-initialize "bibtex" "\
@@ -1802,7 +1802,7 @@
 ;;;***
 
 ;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from textmodes/bibtex-style.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.bst\\'") 'bibtex-style-mode))
 
@@ -1815,7 +1815,7 @@
 
 ;;;### (autoloads (binhex-decode-region binhex-decode-region-external
 ;;;;;;  binhex-decode-region-internal) "binhex" "mail/binhex.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from mail/binhex.el
 
 (defconst binhex-begin-line "^:...............................................................$")
@@ -1838,8 +1838,8 @@
 
 ;;;***
 
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19352
-;;;;;;  21350))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from play/blackbox.el
 
 (autoload 'blackbox "blackbox" "\
@@ -1962,7 +1962,7 @@
 ;;;;;;  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" (19352 21362))
+;;;;;;  "bookmark.el" (19383 49276))
 ;;; Generated autoloads from bookmark.el
  (define-key ctl-x-r-map "b" 'bookmark-jump)
  (define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2169,7 +2169,7 @@
 ;;;;;;  browse-url-of-dired-file browse-url-of-buffer browse-url-of-file
 ;;;;;;  browse-url-url-at-point browse-url-galeon-program browse-url-firefox-program
 ;;;;;;  browse-url-browser-function) "browse-url" "net/browse-url.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from net/browse-url.el
 
 (defvar browse-url-browser-function (cond ((memq system-type '(windows-nt ms-dos cygwin)) 'browse-url-default-windows-browser) ((memq system-type '(darwin)) 'browse-url-default-macosx-browser) (t 'browse-url-default-browser)) "\
@@ -2499,8 +2499,8 @@
 
 ;;;***
 
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19352
-;;;;;;  21350))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from play/bruce.el
 
 (autoload 'bruce "bruce" "\
@@ -2516,7 +2516,7 @@
 ;;;***
 
 ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;;  "bs" "bs.el" (19352 21350))
+;;;;;;  "bs" "bs.el" (19383 49278))
 ;;; Generated autoloads from bs.el
 
 (autoload 'bs-cycle-next "bs" "\
@@ -2556,7 +2556,7 @@
 
 ;;;***
 
-;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19352 21350))
+;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19383 49278))
 ;;; Generated autoloads from play/bubbles.el
 
 (autoload 'bubbles "bubbles" "\
@@ -2578,7 +2578,7 @@
 ;;;***
 
 ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference"
-;;;;;;  "progmodes/bug-reference.el" (19352 21350))
+;;;;;;  "progmodes/bug-reference.el" (19383 49278))
 ;;; Generated autoloads from progmodes/bug-reference.el
 
 (put 'bug-reference-url-format 'safe-local-variable 'stringp)
@@ -2600,7 +2600,7 @@
 ;;;;;;  compile-defun byte-compile-file byte-recompile-directory
 ;;;;;;  byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning
 ;;;;;;  byte-compile-warnings-safe-p) "bytecomp" "emacs-lisp/bytecomp.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; 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)
@@ -2724,8 +2724,8 @@
 
 ;;;***
 
-;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19352
-;;;;;;  21350))
+;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from calendar/cal-china.el
 
 (put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2734,7 +2734,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19352 21350))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19383 49278))
 ;;; Generated autoloads from calendar/cal-dst.el
 
 (put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2746,7 +2746,7 @@
 ;;;***
 
 ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;;  (19352 21360))
+;;;;;;  (19383 49284))
 ;;; Generated autoloads from calendar/cal-hebrew.el
 
 (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2762,8 +2762,8 @@
 
 ;;;### (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" (19352
-;;;;;;  21350))
+;;;;;;  full-calc calc calc-dispatch) "calc" "calc/calc.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from calc/calc.el
  (define-key ctl-x-map "*" 'calc-dispatch)
 
@@ -2845,8 +2845,8 @@
 
 ;;;***
 
-;;;### (autoloads (calculator) "calculator" "calculator.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (19383
+;;;;;;  49277))
 ;;; Generated autoloads from calculator.el
 
 (autoload 'calculator "calculator" "\
@@ -2857,8 +2857,8 @@
 
 ;;;***
 
-;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19352
-;;;;;;  21350))
+;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from calendar/calendar.el
 
 (autoload 'calendar "calendar" "\
@@ -2902,7 +2902,7 @@
 ;;;***
 
 ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;;  "gnus/canlock.el" (19352 21350))
+;;;;;;  "gnus/canlock.el" (19383 49278))
 ;;; Generated autoloads from gnus/canlock.el
 
 (autoload 'canlock-insert-header "canlock" "\
@@ -2920,7 +2920,7 @@
 ;;;***
 
 ;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/cap-words.el
 
 (autoload 'capitalized-words-mode "cap-words" "\
@@ -2955,15 +2955,15 @@
 
 ;;;***
 
-;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19352
-;;;;;;  21350))
+;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from progmodes/cc-compat.el
 (put 'c-indent-level 'safe-local-variable 'integerp)
 
 ;;;***
 
 ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;;  (19367 42950))
+;;;;;;  (19396 34127))
 ;;; Generated autoloads from progmodes/cc-engine.el
 
 (autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -2975,7 +2975,7 @@
 
 ;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode
 ;;;;;;  c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;;  (19352 21360))
+;;;;;;  (19396 34127))
 ;;; Generated autoloads from progmodes/cc-mode.el
 
 (autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3135,7 +3135,7 @@
 ;;;***
 
 ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;;  "progmodes/cc-styles.el" (19352 21350))
+;;;;;;  "progmodes/cc-styles.el" (19383 49278))
 ;;; Generated autoloads from progmodes/cc-styles.el
 
 (autoload 'c-set-style "cc-styles" "\
@@ -3186,7 +3186,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19352 21350))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19383 49278))
 ;;; Generated autoloads from progmodes/cc-vars.el
 (put 'c-basic-offset 'safe-local-variable 'integerp)
 (put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3196,7 +3196,7 @@
 
 ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
 ;;;;;;  declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from international/ccl.el
 
 (autoload 'ccl-compile "ccl" "\
@@ -3455,7 +3455,7 @@
 ;;;***
 
 ;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el"
-;;;;;;  (19352 21350))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/cfengine.el
 
 (autoload 'cfengine-mode "cfengine" "\
@@ -3470,7 +3470,7 @@
 ;;;***
 
 ;;;### (autoloads (check-declare-directory check-declare-file) "check-declare"
-;;;;;;  "emacs-lisp/check-declare.el" (19352 21351))
+;;;;;;  "emacs-lisp/check-declare.el" (19383 49278))
 ;;; Generated autoloads from emacs-lisp/check-declare.el
 
 (autoload 'check-declare-file "check-declare" "\
@@ -3495,7 +3495,7 @@
 ;;;;;;  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" (19352 21351))
+;;;;;;  "checkdoc" "emacs-lisp/checkdoc.el" (19383 49278))
 ;;; 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)
@@ -3690,7 +3690,7 @@
 
 ;;;### (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" (19352 21351))
+;;;;;;  "language/china-util.el" (19383 49278))
 ;;; Generated autoloads from language/china-util.el
 
 (autoload 'decode-hz-region "china-util" "\
@@ -3728,7 +3728,7 @@
 ;;;***
 
 ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;;  "chistory" "chistory.el" (19352 21351))
+;;;;;;  "chistory" "chistory.el" (19383 49278))
 ;;; Generated autoloads from chistory.el
 
 (autoload 'repeat-matching-complex-command "chistory" "\
@@ -3767,7 +3767,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19352 21351))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19383 49278))
 ;;; Generated autoloads from emacs-lisp/cl.el
 
 (defvar custom-print-functions nil "\
@@ -3783,7 +3783,7 @@
 ;;;***
 
 ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;;  (19352 21351))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from emacs-lisp/cl-indent.el
 
 (autoload 'common-lisp-indent-function "cl-indent" "\
@@ -3862,7 +3862,7 @@
 ;;;***
 
 ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;;  (19352 21352))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/cmacexp.el
 
 (autoload 'c-macro-expand "cmacexp" "\
@@ -3882,8 +3882,8 @@
 
 ;;;***
 
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (19352
-;;;;;;  21352))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from cmuscheme.el
 
 (autoload 'run-scheme "cmuscheme" "\
@@ -3907,7 +3907,7 @@
 ;;;### (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"
-;;;;;;  (19352 21352))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from comint.el
 
 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -3999,8 +3999,8 @@
 
 ;;;***
 
-;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (19352
-;;;;;;  21352))
+;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from compare-w.el
 
 (autoload 'compare-windows "compare-w" "\
@@ -4037,8 +4037,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21360))
+;;;;;;  compilation-mode-hook) "compile" "progmodes/compile.el" (19405
+;;;;;;  51439))
 ;;; Generated autoloads from progmodes/compile.el
 
 (defvar compilation-mode-hook nil "\
@@ -4216,7 +4216,7 @@
 ;;;***
 
 ;;;### (autoloads (partial-completion-mode) "complete" "complete.el"
-;;;;;;  (19352 21352))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from complete.el
 
 (defvar partial-completion-mode nil "\
@@ -4258,7 +4258,7 @@
 ;;;***
 
 ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;;  (19352 21352))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from completion.el
 
 (defvar dynamic-completion-mode nil "\
@@ -4280,7 +4280,7 @@
 ;;;### (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"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from textmodes/conf-mode.el
 
 (autoload 'conf-mode "conf-mode" "\
@@ -4436,7 +4436,7 @@
 ;;;***
 
 ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;;  "cookie1" "play/cookie1.el" (19352 21353))
+;;;;;;  "cookie1" "play/cookie1.el" (19383 49278))
 ;;; Generated autoloads from play/cookie1.el
 
 (autoload 'cookie "cookie1" "\
@@ -4468,8 +4468,8 @@
 ;;;***
 
 ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years
-;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (19352
-;;;;;;  21353))
+;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (19383
+;;;;;;  49278))
 ;;; Generated autoloads from emacs-lisp/copyright.el
 
 (autoload 'copyright-update "copyright" "\
@@ -4502,7 +4502,7 @@
 ;;;***
 
 ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (19352 21353))
+;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (19383 49278))
 ;;; Generated autoloads from progmodes/cperl-mode.el
 (put 'cperl-indent-level 'safe-local-variable 'integerp)
 (put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4701,7 +4701,7 @@
 ;;;***
 
 ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from progmodes/cpp.el
 
 (autoload 'cpp-highlight-buffer "cpp" "\
@@ -4720,7 +4720,7 @@
 ;;;***
 
 ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from emulation/crisp.el
 
 (defvar crisp-mode nil "\
@@ -4744,7 +4744,7 @@
 ;;;***
 
 ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49278))
 ;;; Generated autoloads from emacs-lisp/crm.el
 
 (autoload 'completing-read-multiple "crm" "\
@@ -4779,8 +4779,8 @@
 
 ;;;***
 
-;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19392
+;;;;;;  42395))
 ;;; Generated autoloads from textmodes/css-mode.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.css\\'") 'css-mode))
 
@@ -4792,7 +4792,7 @@
 ;;;***
 
 ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from emulation/cua-base.el
 
 (defvar cua-mode nil "\
@@ -4851,7 +4851,7 @@
 ;;;;;;  customize-mode customize 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"
-;;;;;;  (19359 48895))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from cus-edit.el
 
 (defvar custom-browse-sort-alphabetically nil "\
@@ -5149,7 +5149,7 @@
 ;;;***
 
 ;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from cus-theme.el
 
 (autoload 'customize-create-theme "cus-theme" "\
@@ -5160,7 +5160,7 @@
 ;;;***
 
 ;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from cvs-status.el
 
 (autoload 'cvs-status-mode "cvs-status" "\
@@ -5171,7 +5171,7 @@
 ;;;***
 
 ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;;  "cwarn" "progmodes/cwarn.el" (19352 21353))
+;;;;;;  "cwarn" "progmodes/cwarn.el" (19383 49279))
 ;;; Generated autoloads from progmodes/cwarn.el
 
 (autoload 'cwarn-mode "cwarn" "\
@@ -5218,7 +5218,7 @@
 
 ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
 ;;;;;;  cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from language/cyril-util.el
 
 (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5247,7 +5247,7 @@
 ;;;***
 
 ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from dabbrev.el
 (put 'dabbrev-case-fold-search 'risky-local-variable t)
 (put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5294,7 +5294,7 @@
 ;;;***
 
 ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
-;;;;;;  (19352 21362))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from cedet/data-debug.el
 
 (autoload 'data-debug-new-buffer "data-debug" "\
@@ -5304,8 +5304,8 @@
 
 ;;;***
 
-;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (19352
-;;;;;;  21361))
+;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (19383
+;;;;;;  49284))
 ;;; Generated autoloads from net/dbus.el
 
 (autoload 'dbus-handle-event "dbus" "\
@@ -5318,8 +5318,8 @@
 
 ;;;***
 
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from progmodes/dcl-mode.el
 
 (autoload 'dcl-mode "dcl-mode" "\
@@ -5446,7 +5446,7 @@
 ;;;***
 
 ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;;  "emacs-lisp/debug.el" (19352 21353))
+;;;;;;  "emacs-lisp/debug.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/debug.el
 
 (setq debugger 'debug)
@@ -5490,7 +5490,7 @@
 ;;;***
 
 ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from play/decipher.el
 
 (autoload 'decipher "decipher" "\
@@ -5519,8 +5519,8 @@
 ;;;***
 
 ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (19352
-;;;;;;  21362))
+;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (19383
+;;;;;;  49276))
 ;;; Generated autoloads from delim-col.el
 
 (autoload 'delimit-columns-customize "delim-col" "\
@@ -5544,8 +5544,8 @@
 
 ;;;***
 
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from progmodes/delphi.el
 
 (autoload 'delphi-mode "delphi" "\
@@ -5596,8 +5596,8 @@
 
 ;;;***
 
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from delsel.el
 
 (defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5626,7 +5626,7 @@
 ;;;***
 
 ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;;  "derived" "emacs-lisp/derived.el" (19352 21353))
+;;;;;;  "derived" "emacs-lisp/derived.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/derived.el
 
 (autoload 'define-derived-mode "derived" "\
@@ -5691,7 +5691,7 @@
 ;;;***
 
 ;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;;  "descr-text.el" (19352 21353))
+;;;;;;  "descr-text.el" (19383 49279))
 ;;; Generated autoloads from descr-text.el
 
 (autoload 'describe-text-properties "descr-text" "\
@@ -5719,7 +5719,7 @@
 ;;;### (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" (19370 51420))
+;;;;;;  "desktop.el" (19383 49279))
 ;;; Generated autoloads from desktop.el
 
 (defvar desktop-save-mode nil "\
@@ -5903,7 +5903,7 @@
 
 ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
 ;;;;;;  gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
-;;;;;;  "deuglify" "gnus/deuglify.el" (19352 21353))
+;;;;;;  "deuglify" "gnus/deuglify.el" (19383 49279))
 ;;; Generated autoloads from gnus/deuglify.el
 
 (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -5936,7 +5936,7 @@
 ;;;***
 
 ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;;  "calendar/diary-lib.el" (19352 21360))
+;;;;;;  "calendar/diary-lib.el" (19383 49276))
 ;;; Generated autoloads from calendar/diary-lib.el
 
 (autoload 'diary "diary-lib" "\
@@ -5979,7 +5979,7 @@
 ;;;***
 
 ;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff"
-;;;;;;  "diff.el" (19352 21353))
+;;;;;;  "diff.el" (19419 35832))
 ;;; Generated autoloads from diff.el
 
 (defvar diff-switches (purecopy "-c") "\
@@ -6017,7 +6017,7 @@
 ;;;***
 
 ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from diff-mode.el
 
 (autoload 'diff-mode "diff-mode" "\
@@ -6045,7 +6045,7 @@
 
 ;;;***
 
-;;;### (autoloads (dig) "dig" "net/dig.el" (19352 21353))
+;;;### (autoloads (dig) "dig" "net/dig.el" (19383 49279))
 ;;; Generated autoloads from net/dig.el
 
 (autoload 'dig "dig" "\
@@ -6058,7 +6058,7 @@
 
 ;;;### (autoloads (dired-mode dired-auto-revert-buffer dired-noselect
 ;;;;;;  dired-other-frame dired-other-window dired dired-trivial-filenames
-;;;;;;  dired-listing-switches) "dired" "dired.el" (19352 21360))
+;;;;;;  dired-listing-switches) "dired" "dired.el" (19383 49276))
 ;;; Generated autoloads from dired.el
 
 (defvar dired-listing-switches (purecopy "-al") "\
@@ -6203,7 +6203,7 @@
 ;;;***
 
 ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el"
-;;;;;;  (19352 21360))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from dirtrack.el
 
 (autoload 'dirtrack-mode "dirtrack" "\
@@ -6229,8 +6229,8 @@
 
 ;;;***
 
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from emacs-lisp/disass.el
 
 (autoload 'disassemble "disass" "\
@@ -6249,7 +6249,7 @@
 ;;;;;;  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" (19352 21353))
+;;;;;;  "disp-table" "disp-table.el" (19383 49279))
 ;;; Generated autoloads from disp-table.el
 
 (autoload 'make-display-table "disp-table" "\
@@ -6361,7 +6361,7 @@
 ;;;***
 
 ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from play/dissociate.el
 
 (autoload 'dissociated-press "dissociate" "\
@@ -6377,7 +6377,7 @@
 
 ;;;***
 
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19352 21353))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19383 49279))
 ;;; 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)) "\
@@ -6398,7 +6398,7 @@
 ;;;***
 
 ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
-;;;;;;  "textmodes/dns-mode.el" (19352 21353))
+;;;;;;  "textmodes/dns-mode.el" (19383 49279))
 ;;; Generated autoloads from textmodes/dns-mode.el
 
 (autoload 'dns-mode "dns-mode" "\
@@ -6423,7 +6423,7 @@
 ;;;***
 
 ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode
-;;;;;;  doc-view-mode-p) "doc-view" "doc-view.el" (19352 21362))
+;;;;;;  doc-view-mode-p) "doc-view" "doc-view.el" (19383 49276))
 ;;; Generated autoloads from doc-view.el
 
 (autoload 'doc-view-mode-p "doc-view" "\
@@ -6458,7 +6458,7 @@
 
 ;;;***
 
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (19352 21353))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (19383 49279))
 ;;; Generated autoloads from play/doctor.el
 
 (autoload 'doctor "doctor" "\
@@ -6468,7 +6468,7 @@
 
 ;;;***
 
-;;;### (autoloads (double-mode) "double" "double.el" (19352 21353))
+;;;### (autoloads (double-mode) "double" "double.el" (19383 49279))
 ;;; Generated autoloads from double.el
 
 (autoload 'double-mode "double" "\
@@ -6483,7 +6483,7 @@
 
 ;;;***
 
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19352 21353))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19383 49279))
 ;;; Generated autoloads from play/dunnet.el
 
 (autoload 'dunnet "dunnet" "\
@@ -6494,7 +6494,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/earcon.el
 
 (autoload 'gnus-earcon-display "earcon" "\
@@ -6506,7 +6506,7 @@
 
 ;;;### (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" (19352 21353))
+;;;;;;  "emacs-lisp/easy-mmode.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/easy-mmode.el
 
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
@@ -6611,8 +6611,8 @@
 ;;;***
 
 ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19352
-;;;;;;  21353))
+;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from emacs-lisp/easymenu.el
 
 (put 'easy-menu-define 'lisp-indent-function 'defun)
@@ -6766,7 +6766,7 @@
 ;;;;;;  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" (19352 21353))
+;;;;;;  "progmodes/ebnf2ps.el" (19383 49279))
 ;;; Generated autoloads from progmodes/ebnf2ps.el
 
 (autoload 'ebnf-customize "ebnf2ps" "\
@@ -7040,8 +7040,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21353))
+;;;;;;  ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from progmodes/ebrowse.el
 
 (autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7192,7 +7192,7 @@
 ;;;***
 
 ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from ebuff-menu.el
 
 (autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7217,7 +7217,7 @@
 ;;;***
 
 ;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;;  "echistory.el" (19352 21353))
+;;;;;;  "echistory.el" (19383 49279))
 ;;; Generated autoloads from echistory.el
 
 (autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7229,7 +7229,7 @@
 ;;;***
 
 ;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/ecomplete.el
 
 (autoload 'ecomplete-setup "ecomplete" "\
@@ -7239,7 +7239,7 @@
 
 ;;;***
 
-;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19352 21362))
+;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19383 49276))
 ;;; Generated autoloads from cedet/ede.el
 
 (defvar global-ede-mode nil "\
@@ -7265,7 +7265,7 @@
 
 ;;;### (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" (19352 21353))
+;;;;;;  "emacs-lisp/edebug.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/edebug.el
 
 (defvar edebug-all-defs nil "\
@@ -7338,7 +7338,7 @@
 ;;;;;;  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" "ediff.el" (19352 21353))
+;;;;;;  ediff-files3 ediff-files) "ediff" "ediff.el" (19383 49279))
 ;;; Generated autoloads from ediff.el
 
 (autoload 'ediff-files "ediff" "\
@@ -7570,7 +7570,7 @@
 ;;;***
 
 ;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from ediff-help.el
 
 (autoload 'ediff-customize "ediff-help" "\
@@ -7581,7 +7581,7 @@
 ;;;***
 
 ;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from ediff-mult.el
 
 (autoload 'ediff-show-registry "ediff-mult" "\
@@ -7594,7 +7594,7 @@
 ;;;***
 
 ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;;  "ediff-util" "ediff-util.el" (19352 21360))
+;;;;;;  "ediff-util" "ediff-util.el" (19383 49276))
 ;;; Generated autoloads from ediff-util.el
 
 (autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7615,7 +7615,7 @@
 
 ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
 ;;;;;;  edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from edmacro.el
 
 (defvar edmacro-eight-bits nil "\
@@ -7668,7 +7668,7 @@
 ;;;***
 
 ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;;  "emulation/edt.el" (19352 21353))
+;;;;;;  "emulation/edt.el" (19383 49279))
 ;;; Generated autoloads from emulation/edt.el
 
 (autoload 'edt-set-scroll-margins "edt" "\
@@ -7686,7 +7686,7 @@
 ;;;***
 
 ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from ehelp.el
 
 (autoload 'with-electric-help "ehelp" "\
@@ -7723,7 +7723,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (19352 21353))
+;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/eldoc.el
 
 (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\
@@ -7766,8 +7766,8 @@
 
 ;;;***
 
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19352
-;;;;;;  21353))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from elide-head.el
 
 (autoload 'elide-head "elide-head" "\
@@ -7784,7 +7784,7 @@
 
 ;;;### (autoloads (elint-initialize elint-defun elint-current-buffer
 ;;;;;;  elint-directory elint-file) "elint" "emacs-lisp/elint.el"
-;;;;;;  (19352 21361))
+;;;;;;  (19383 49284))
 ;;; Generated autoloads from emacs-lisp/elint.el
 
 (autoload 'elint-file "elint" "\
@@ -7820,8 +7820,8 @@
 ;;;***
 
 ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (19352
-;;;;;;  21353))
+;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from emacs-lisp/elp.el
 
 (autoload 'elp-instrument-function "elp" "\
@@ -7856,7 +7856,7 @@
 ;;;***
 
 ;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
-;;;;;;  (19352 21353))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from mail/emacsbug.el
 
 (autoload 'report-emacs-bug "emacsbug" "\
@@ -7871,7 +7871,7 @@
 ;;;;;;  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"
-;;;;;;  "emerge.el" (19352 21353))
+;;;;;;  "emerge.el" (19383 49279))
 ;;; Generated autoloads from emerge.el
 
 (autoload 'emerge-files "emerge" "\
@@ -7932,7 +7932,7 @@
 ;;;***
 
 ;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;;  "enriched" "textmodes/enriched.el" (19352 21353))
+;;;;;;  "enriched" "textmodes/enriched.el" (19383 49279))
 ;;; Generated autoloads from textmodes/enriched.el
 
 (autoload 'enriched-mode "enriched" "\
@@ -7967,8 +7967,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21353))
+;;;;;;  epa-list-secret-keys epa-list-keys) "epa" "epa.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from epa.el
 
 (autoload 'epa-list-keys "epa" "\
@@ -8141,7 +8141,7 @@
 ;;;***
 
 ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
-;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19352 21353))
+;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19383 49279))
 ;;; Generated autoloads from epa-dired.el
 
 (autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8167,7 +8167,7 @@
 ;;;***
 
 ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
-;;;;;;  "epa-file" "epa-file.el" (19352 21353))
+;;;;;;  "epa-file" "epa-file.el" (19383 49279))
 ;;; Generated autoloads from epa-file.el
 
 (autoload 'epa-file-handler "epa-file" "\
@@ -8189,7 +8189,7 @@
 
 ;;;### (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" (19352 21353))
+;;;;;;  "epa-mail" "epa-mail.el" (19383 49279))
 ;;; Generated autoloads from epa-mail.el
 
 (autoload 'epa-mail-mode "epa-mail" "\
@@ -8253,7 +8253,7 @@
 
 ;;;***
 
-;;;### (autoloads (epg-make-context) "epg" "epg.el" (19352 21353))
+;;;### (autoloads (epg-make-context) "epg" "epg.el" (19383 49279))
 ;;; Generated autoloads from epg.el
 
 (autoload 'epg-make-context "epg" "\
@@ -8264,7 +8264,7 @@
 ;;;***
 
 ;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration)
-;;;;;;  "epg-config" "epg-config.el" (19352 21353))
+;;;;;;  "epg-config" "epg-config.el" (19383 49279))
 ;;; Generated autoloads from epg-config.el
 
 (autoload 'epg-configuration "epg-config" "\
@@ -8285,7 +8285,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
-;;;;;;  "erc/erc.el" (19352 21360))
+;;;;;;  "erc/erc.el" (19383 49276))
 ;;; Generated autoloads from erc/erc.el
 
 (autoload 'erc-select-read-args "erc" "\
@@ -8327,33 +8327,33 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19352
-;;;;;;  21353))
+;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from erc/erc-autoaway.el
  (autoload 'erc-autoaway-mode "erc-autoaway")
 
 ;;;***
 
-;;;### (autoloads nil "erc-button" "erc/erc-button.el" (19352 21353))
+;;;### (autoloads nil "erc-button" "erc/erc-button.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-button.el
  (autoload 'erc-button-mode "erc-button" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19352 21353))
+;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-capab.el
  (autoload 'erc-capab-identify-mode "erc-capab" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19352 21353))
+;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-compat.el
  (autoload 'erc-define-minor-mode "erc-compat")
 
 ;;;***
 
 ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
-;;;;;;  "erc-dcc" "erc/erc-dcc.el" (19352 21353))
+;;;;;;  "erc-dcc" "erc/erc-dcc.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-dcc.el
  (autoload 'erc-dcc-mode "erc-dcc")
 
@@ -8386,7 +8386,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-ezbounce.el
 
 (autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8448,8 +8448,8 @@
 
 ;;;***
 
-;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from erc/erc-fill.el
  (autoload 'erc-fill-mode "erc-fill" nil t)
 
@@ -8461,15 +8461,15 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (19352
-;;;;;;  21354))
+;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from erc/erc-hecomplete.el
  (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t)
 
 ;;;***
 
 ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd"
-;;;;;;  "erc/erc-identd.el" (19352 21354))
+;;;;;;  "erc/erc-identd.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-identd.el
  (autoload 'erc-identd-mode "erc-identd")
 
@@ -8491,7 +8491,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-imenu.el
 
 (autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8501,20 +8501,20 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19352 21354))
+;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-join.el
  (autoload 'erc-autojoin-mode "erc-join" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19352 21354))
+;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-list.el
  (autoload 'erc-list-mode "erc-list")
 
 ;;;***
 
 ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
-;;;;;;  "erc/erc-log.el" (19352 21354))
+;;;;;;  "erc/erc-log.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-log.el
  (autoload 'erc-log-mode "erc-log" nil t)
 
@@ -8546,7 +8546,7 @@
 ;;;### (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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-match.el
  (autoload 'erc-match-mode "erc-match")
 
@@ -8592,14 +8592,14 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19352 21354))
+;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-menu.el
  (autoload 'erc-menu-mode "erc-menu" nil t)
 
 ;;;***
 
 ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-netsplit.el
  (autoload 'erc-netsplit-mode "erc-netsplit")
 
@@ -8611,7 +8611,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks"
-;;;;;;  "erc/erc-networks.el" (19352 21354))
+;;;;;;  "erc/erc-networks.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-networks.el
 
 (autoload 'erc-determine-network "erc-networks" "\
@@ -8629,7 +8629,7 @@
 ;;;***
 
 ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify"
-;;;;;;  "erc/erc-notify.el" (19352 21354))
+;;;;;;  "erc/erc-notify.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-notify.el
  (autoload 'erc-notify-mode "erc-notify" nil t)
 
@@ -8647,33 +8647,33 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19352 21354))
+;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-page.el
  (autoload 'erc-page-mode "erc-page")
 
 ;;;***
 
-;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19352
-;;;;;;  21354))
+;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from erc/erc-pcomplete.el
  (autoload 'erc-completion-mode "erc-pcomplete" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19352 21354))
+;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-replace.el
  (autoload 'erc-replace-mode "erc-replace")
 
 ;;;***
 
-;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19352 21354))
+;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-ring.el
  (autoload 'erc-ring-mode "erc-ring" nil t)
 
 ;;;***
 
 ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode)
-;;;;;;  "erc-services" "erc/erc-services.el" (19352 21362))
+;;;;;;  "erc-services" "erc/erc-services.el" (19383 49276))
 ;;; Generated autoloads from erc/erc-services.el
  (autoload 'erc-services-mode "erc-services" nil t)
 
@@ -8690,14 +8690,14 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19352 21354))
+;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-sound.el
  (autoload 'erc-sound-mode "erc-sound")
 
 ;;;***
 
 ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-speedbar.el
 
 (autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -8708,21 +8708,21 @@
 
 ;;;***
 
-;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19352
-;;;;;;  21354))
+;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from erc/erc-spelling.el
  (autoload 'erc-spelling-mode "erc-spelling" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19352 21354))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-stamp.el
  (autoload 'erc-timestamp-mode "erc-stamp" nil t)
 
 ;;;***
 
 ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-track.el
 
 (defvar erc-track-minor-mode nil "\
@@ -8745,7 +8745,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size)
-;;;;;;  "erc-truncate" "erc/erc-truncate.el" (19352 21354))
+;;;;;;  "erc-truncate" "erc/erc-truncate.el" (19383 49279))
 ;;; Generated autoloads from erc/erc-truncate.el
  (autoload 'erc-truncate-mode "erc-truncate" nil t)
 
@@ -8765,7 +8765,7 @@
 ;;;***
 
 ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from erc/erc-xdcc.el
  (autoload 'erc-xdcc-mode "erc-xdcc")
 
@@ -8776,8 +8776,8 @@
 
 ;;;***
 
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from eshell/esh-mode.el
 
 (autoload 'eshell-mode "esh-mode" "\
@@ -8789,8 +8789,8 @@
 
 ;;;***
 
-;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from eshell/esh-test.el
 
 (autoload 'eshell-test "esh-test" "\
@@ -8801,7 +8801,7 @@
 ;;;***
 
 ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell"
-;;;;;;  "eshell/eshell.el" (19352 21361))
+;;;;;;  "eshell/eshell.el" (19383 49284))
 ;;; Generated autoloads from eshell/eshell.el
 
 (autoload 'eshell "eshell" "\
@@ -8842,7 +8842,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/etags.el
 
 (defvar tags-file-name nil "\
@@ -9150,7 +9150,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from language/ethio-util.el
 
 (autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9320,7 +9320,7 @@
 
 ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
 ;;;;;;  eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from net/eudc.el
 
 (autoload 'eudc-set-server "eudc" "\
@@ -9376,7 +9376,7 @@
 
 ;;;### (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" (19352 21354))
+;;;;;;  "eudc-bob" "net/eudc-bob.el" (19383 49279))
 ;;; Generated autoloads from net/eudc-bob.el
 
 (autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9412,7 +9412,7 @@
 ;;;***
 
 ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;;  "eudc-export" "net/eudc-export.el" (19352 21354))
+;;;;;;  "eudc-export" "net/eudc-export.el" (19383 49279))
 ;;; Generated autoloads from net/eudc-export.el
 
 (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9429,7 +9429,7 @@
 ;;;***
 
 ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from net/eudc-hotlist.el
 
 (autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9439,8 +9439,8 @@
 
 ;;;***
 
-;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from emacs-lisp/ewoc.el
 
 (autoload 'ewoc-create "ewoc" "\
@@ -9469,7 +9469,7 @@
 ;;;### (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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/executable.el
 
 (autoload 'executable-command-find-posix-p "executable" "\
@@ -9512,7 +9512,7 @@
 
 ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
 ;;;;;;  expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from expand.el
 
 (autoload 'expand-add-abbrevs "expand" "\
@@ -9561,7 +9561,7 @@
 
 ;;;***
 
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (19352 21362))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (19383 49276))
 ;;; Generated autoloads from progmodes/f90.el
 
 (autoload 'f90-mode "f90" "\
@@ -9627,8 +9627,8 @@
 ;;;### (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" (19352
-;;;;;;  21354))
+;;;;;;  face-remap-add-relative) "face-remap" "face-remap.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from face-remap.el
 
 (autoload 'face-remap-add-relative "face-remap" "\
@@ -9768,7 +9768,7 @@
 
 ;;;### (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" (19352 21354))
+;;;;;;  feedmail-send-it) "feedmail" "mail/feedmail.el" (19383 49279))
 ;;; Generated autoloads from mail/feedmail.el
 
 (autoload 'feedmail-send-it "feedmail" "\
@@ -9822,7 +9822,7 @@
 ;;;***
 
 ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (19352 21362))
+;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (19383 49276))
 ;;; Generated autoloads from ffap.el
 
 (autoload 'ffap-next "ffap" "\
@@ -9886,7 +9886,7 @@
 ;;;### (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" (19352 21354))
+;;;;;;  "filecache" "filecache.el" (19409 46567))
 ;;; Generated autoloads from filecache.el
 
 (autoload 'file-cache-add-directory "filecache" "\
@@ -9899,8 +9899,8 @@
 (autoload 'file-cache-add-directory-list "filecache" "\
 Add DIRECTORY-LIST (a list of directory names) to the file cache.
 If the optional REGEXP argument is non-nil, only files which match it
-will be added to the cache. Note that the REGEXP is applied to the files
-in each directory, not to the directory list itself.
+will be added to the cache.  Note that the REGEXP is applied to the
+files in each directory, not to the directory list itself.
 
 \(fn DIRECTORY-LIST &optional REGEXP)" t nil)
 
@@ -9923,10 +9923,10 @@
 
 (autoload 'file-cache-add-directory-recursively "filecache" "\
 Adds DIR and any subdirectories to the file-cache.
-This function does not use any external programs
+This function does not use any external programs.
 If the optional REGEXP argument is non-nil, only files which match it
-will be added to the cache. Note that the REGEXP is applied to the files
-in each directory, not to the directory list itself.
+will be added to the cache.  Note that the REGEXP is applied to the
+files in each directory, not to the directory list itself.
 
 \(fn DIR &optional REGEXP)" t nil)
 
@@ -9946,7 +9946,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  add-file-local-variable) "files-x" "files-x.el" (19383 49279))
 ;;; Generated autoloads from files-x.el
 
 (autoload 'add-file-local-variable "files-x" "\
@@ -10011,8 +10011,8 @@
 
 ;;;***
 
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from filesets.el
 
 (autoload 'filesets-init "filesets" "\
@@ -10023,7 +10023,7 @@
 
 ;;;***
 
-;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19352 21354))
+;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19383 49279))
 ;;; Generated autoloads from find-cmd.el
 
 (autoload 'find-cmd "find-cmd" "\
@@ -10044,7 +10044,7 @@
 
 ;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options
 ;;;;;;  find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19422 11991))
 ;;; Generated autoloads from find-dired.el
 
 (defvar find-ls-option (if (eq system-type 'berkeley-unix) (purecopy '("-ls" . "-gilsb")) (purecopy '("-exec ls -ld {} \\;" . "-ld"))) "\
@@ -10105,7 +10105,7 @@
 
 ;;;### (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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; 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)))) "\
@@ -10199,7 +10199,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  "emacs-lisp/find-func.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/find-func.el
 
 (autoload 'find-library "find-func" "\
@@ -10354,7 +10354,7 @@
 ;;;***
 
 ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (19352 21354))
+;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (19383 49279))
 ;;; Generated autoloads from find-lisp.el
 
 (autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10375,7 +10375,7 @@
 ;;;***
 
 ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
-;;;;;;  "finder" "finder.el" (19352 21354))
+;;;;;;  "finder" "finder.el" (19383 49279))
 ;;; Generated autoloads from finder.el
 
 (autoload 'finder-list-keywords "finder" "\
@@ -10397,7 +10397,7 @@
 ;;;***
 
 ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;;  "flow-ctrl.el" (19352 21354))
+;;;;;;  "flow-ctrl.el" (19383 49279))
 ;;; Generated autoloads from flow-ctrl.el
 
 (autoload 'enable-flow-control "flow-ctrl" "\
@@ -10419,7 +10419,7 @@
 ;;;***
 
 ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/flow-fill.el
 
 (autoload 'fill-flowed-encode "flow-fill" "\
@@ -10435,7 +10435,7 @@
 ;;;***
 
 ;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode)
-;;;;;;  "flymake" "progmodes/flymake.el" (19352 21360))
+;;;;;;  "flymake" "progmodes/flymake.el" (19383 49276))
 ;;; Generated autoloads from progmodes/flymake.el
 
 (autoload 'flymake-mode "flymake" "\
@@ -10459,7 +10459,7 @@
 
 ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
 ;;;;;;  turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
-;;;;;;  "flyspell" "textmodes/flyspell.el" (19369 7847))
+;;;;;;  "flyspell" "textmodes/flyspell.el" (19383 49284))
 ;;; Generated autoloads from textmodes/flyspell.el
 
 (autoload 'flyspell-prog-mode "flyspell" "\
@@ -10529,7 +10529,7 @@
 
 ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
 ;;;;;;  turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from follow.el
 
 (autoload 'turn-on-follow-mode "follow" "\
@@ -10602,8 +10602,8 @@
 
 ;;;***
 
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from mail/footnote.el
 
 (autoload 'footnote-mode "footnote" "\
@@ -10617,7 +10617,7 @@
 ;;;***
 
 ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;;  "forms" "forms.el" (19352 21354))
+;;;;;;  "forms" "forms.el" (19383 49279))
 ;;; Generated autoloads from forms.el
 
 (autoload 'forms-mode "forms" "\
@@ -10654,7 +10654,7 @@
 ;;;***
 
 ;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19392 38041))
 ;;; Generated autoloads from progmodes/fortran.el
 
 (autoload 'fortran-mode "fortran" "\
@@ -10732,7 +10732,7 @@
 ;;;***
 
 ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
-;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (19352 21354))
+;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (19383 49279))
 ;;; Generated autoloads from play/fortune.el
 
 (autoload 'fortune-add-fortune "fortune" "\
@@ -10782,7 +10782,7 @@
 ;;;***
 
 ;;;### (autoloads (gdb-enable-debug gdb) "gdb-ui" "progmodes/gdb-ui.el"
-;;;;;;  (19372 60979))
+;;;;;;  (19383 49284))
 ;;; Generated autoloads from progmodes/gdb-ui.el
 
 (autoload 'gdb "gdb-ui" "\
@@ -10840,8 +10840,8 @@
 ;;;***
 
 ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (19352
-;;;;;;  21354))
+;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from emacs-lisp/generic.el
 
 (defvar generic-mode-list nil "\
@@ -10916,7 +10916,7 @@
 ;;;***
 
 ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/glasses.el
 
 (autoload 'glasses-mode "glasses" "\
@@ -10930,7 +10930,7 @@
 
 ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error
 ;;;;;;  gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gmm-utils.el
 
 (autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -10985,7 +10985,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (19352 21354))
+;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus.el
 (when (fboundp 'custom-autoload)
  (custom-autoload 'gnus-select-method "gnus"))
@@ -11038,7 +11038,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  "gnus/gnus-agent.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-agent.el
 
 (autoload 'gnus-unplugged "gnus-agent" "\
@@ -11129,7 +11129,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;;  (19352 21361))
+;;;;;;  (19383 49284))
 ;;; Generated autoloads from gnus/gnus-art.el
 
 (autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11140,7 +11140,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-audio.el
 
 (autoload 'gnus-audio-play "gnus-audio" "\
@@ -11151,7 +11151,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set)
-;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (19352 21354))
+;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-bookmark.el
 
 (autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11176,8 +11176,8 @@
 
 ;;;### (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" (19352
-;;;;;;  21354))
+;;;;;;  gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from gnus/gnus-cache.el
 
 (autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11219,7 +11219,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
-;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (19352 21354))
+;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-delay.el
 
 (autoload 'gnus-delay-article "gnus-delay" "\
@@ -11255,7 +11255,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
-;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (19352 21354))
+;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-diary.el
 
 (autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -11271,7 +11271,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-dired.el
 
 (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -11282,7 +11282,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-draft.el
 
 (autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -11294,8 +11294,8 @@
 
 ;;;### (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" (19352
-;;;;;;  21354))
+;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from gnus/gnus-fun.el
 
 (autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11340,7 +11340,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;;  "gnus-group" "gnus/gnus-group.el" (19352 21354))
+;;;;;;  "gnus-group" "gnus/gnus-group.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-group.el
 
 (autoload 'gnus-fetch-group "gnus-group" "\
@@ -11358,7 +11358,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-kill.el
 
 (defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -11373,7 +11373,7 @@
 
 ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
 ;;;;;;  turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-ml.el
 
 (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -11398,7 +11398,7 @@
 
 ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
 ;;;;;;  gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-mlspl.el
 
 (autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -11499,7 +11499,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-move.el
 
 (autoload 'gnus-change-server "gnus-move" "\
@@ -11511,7 +11511,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (19352 21354))
+;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-msg.el
 
 (autoload 'gnus-msg-mail "gnus-msg" "\
@@ -11536,7 +11536,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups)
-;;;;;;  "gnus-nocem" "gnus/gnus-nocem.el" (19352 21354))
+;;;;;;  "gnus-nocem" "gnus/gnus-nocem.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-nocem.el
 
 (autoload 'gnus-nocem-scan-groups "gnus-nocem" "\
@@ -11553,7 +11553,7 @@
 
 ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
 ;;;;;;  gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-picon.el
 
 (autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -11580,7 +11580,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  "gnus/gnus-range.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-range.el
 
 (autoload 'gnus-sorted-difference "gnus-range" "\
@@ -11648,7 +11648,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (19352 21354))
+;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (19383 49279))
 ;;; Generated autoloads from gnus/gnus-registry.el
 
 (autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -11664,8 +11664,8 @@
 ;;;***
 
 ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19352
-;;;;;;  21354))
+;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from gnus/gnus-sieve.el
 
 (autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -11693,7 +11693,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-soup.el
 
 (autoload 'gnus-batch-brew-soup "gnus-soup" "\
@@ -11713,7 +11713,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-spec.el
 
 (autoload 'gnus-update-format "gnus-spec" "\
@@ -11724,8 +11724,8 @@
 ;;;***
 
 ;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news
-;;;;;;  gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (19352
-;;;;;;  21354))
+;;;;;;  gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from gnus/gnus-start.el
 
 (autoload 'gnus-declare-backend "gnus-start" "\
@@ -11741,7 +11741,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from gnus/gnus-win.el
 
 (autoload 'gnus-add-configuration "gnus-win" "\
@@ -11751,7 +11751,7 @@
 
 ;;;***
 
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19352 21354))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19383 49279))
 ;;; Generated autoloads from play/gomoku.el
 
 (autoload 'gomoku "gomoku" "\
@@ -11778,8 +11778,8 @@
 ;;;***
 
 ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address
-;;;;;;  goto-address-at-point) "goto-addr" "net/goto-addr.el" (19352
-;;;;;;  21354))
+;;;;;;  goto-address-at-point) "goto-addr" "net/goto-addr.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from net/goto-addr.el
 
 (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1")
@@ -11819,7 +11819,7 @@
 
 ;;;### (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" (19352 21360))
+;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (19397 57330))
 ;;; Generated autoloads from progmodes/grep.el
 
 (defvar grep-window-height nil "\
@@ -11975,7 +11975,7 @@
 
 ;;;***
 
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (19352 21354))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (19383 49279))
 ;;; Generated autoloads from gs.el
 
 (autoload 'gs-load-image "gs" "\
@@ -11989,7 +11989,7 @@
 ;;;***
 
 ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
-;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19352 21354))
+;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19383 49279))
 ;;; Generated autoloads from progmodes/gud.el
 
 (autoload 'gud-gdb "gud" "\
@@ -12077,8 +12077,8 @@
 
 ;;;***
 
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from play/handwrite.el
 
 (autoload 'handwrite "handwrite" "\
@@ -12096,7 +12096,7 @@
 ;;;***
 
 ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from play/hanoi.el
 
 (autoload 'hanoi "hanoi" "\
@@ -12125,7 +12125,7 @@
 
 ;;;### (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" (19352 21354))
+;;;;;;  "hashcash" "mail/hashcash.el" (19383 49279))
 ;;; Generated autoloads from mail/hashcash.el
 
 (autoload 'hashcash-insert-payment "hashcash" "\
@@ -12170,7 +12170,7 @@
 ;;;### (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" (19352 21354))
+;;;;;;  help-at-pt-string) "help-at-pt" "help-at-pt.el" (19383 49279))
 ;;; Generated autoloads from help-at-pt.el
 
 (autoload 'help-at-pt-string "help-at-pt" "\
@@ -12300,7 +12300,7 @@
 ;;;### (autoloads (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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from help-fns.el
 
 (autoload 'describe-function "help-fns" "\
@@ -12370,7 +12370,7 @@
 ;;;***
 
 ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from help-macro.el
 
 (defvar three-step-help nil "\
@@ -12386,8 +12386,8 @@
 
 ;;;### (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" "help-mode.el" (19352
-;;;;;;  21354))
+;;;;;;  help-mode-setup help-mode) "help-mode" "help-mode.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from help-mode.el
 
 (autoload 'help-mode "help-mode" "\
@@ -12479,7 +12479,7 @@
 ;;;***
 
 ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;;  "emacs-lisp/helper.el" (19352 21354))
+;;;;;;  "emacs-lisp/helper.el" (19383 49279))
 ;;; Generated autoloads from emacs-lisp/helper.el
 
 (autoload 'Helper-describe-bindings "helper" "\
@@ -12495,7 +12495,7 @@
 ;;;***
 
 ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;;  "hexl.el" (19352 21354))
+;;;;;;  "hexl.el" (19383 49279))
 ;;; Generated autoloads from hexl.el
 
 (autoload 'hexl-mode "hexl" "\
@@ -12592,7 +12592,7 @@
 ;;;### (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"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from hi-lock.el
 
 (autoload 'hi-lock-mode "hi-lock" "\
@@ -12726,7 +12726,7 @@
 ;;;***
 
 ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/hideif.el
 
 (autoload 'hide-ifdef-mode "hideif" "\
@@ -12766,7 +12766,7 @@
 ;;;***
 
 ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; 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))) "\
@@ -12828,8 +12828,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21354))
+;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from hilit-chg.el
 
 (autoload 'highlight-changes-mode "hilit-chg" "\
@@ -12958,7 +12958,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  "hippie-exp.el" (19383 49279))
 ;;; 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) "\
@@ -13031,7 +13031,7 @@
 ;;;***
 
 ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from hl-line.el
 
 (autoload 'hl-line-mode "hl-line" "\
@@ -13075,7 +13075,7 @@
 ;;;;;;  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" (19352 21354))
+;;;;;;  "calendar/holidays.el" (19383 49279))
 ;;; Generated autoloads from calendar/holidays.el
 
 (defvar holiday-general-holidays (mapcar 'purecopy '((holiday-fixed 1 1 "New Year's Day") (holiday-float 1 1 3 "Martin Luther King Day") (holiday-fixed 2 2 "Groundhog Day") (holiday-fixed 2 14 "Valentine's Day") (holiday-float 2 1 3 "President's Day") (holiday-fixed 3 17 "St. Patrick's Day") (holiday-fixed 4 1 "April Fools' Day") (holiday-float 5 0 2 "Mother's Day") (holiday-float 5 1 -1 "Memorial Day") (holiday-fixed 6 14 "Flag Day") (holiday-float 6 0 3 "Father's Day") (holiday-fixed 7 4 "Independence Day") (holiday-float 9 1 1 "Labor Day") (holiday-float 10 1 2 "Columbus Day") (holiday-fixed 10 31 "Halloween") (holiday-fixed 11 11 "Veteran's Day") (holiday-float 11 4 4 "Thanksgiving"))) "\
@@ -13223,8 +13223,8 @@
 
 ;;;***
 
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from gnus/html2text.el
 
 (autoload 'html2text "html2text" "\
@@ -13234,9 +13234,42 @@
 
 ;;;***
 
+;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
+;;;;;;  "htmlfontify" "htmlfontify.el" (19401 55581))
+;;; Generated autoloads from htmlfontify.el
+
+(autoload 'htmlfontify-buffer "htmlfontify" "\
+Create a new buffer, named for the current buffer + a .html extension,
+containing an inline CSS-stylesheet and formatted CSS-markup HTML
+that reproduces the look of the current Emacs buffer as closely
+as possible.
+
+Dangerous characters in the existing buffer are turned into HTML
+entities, so you should even be able to do HTML-within-HTML
+fontified display.
+
+You should, however, note that random control or eight-bit
+characters such as ^L () or ¤ (\244) won't get mapped yet.
+
+If the SRCDIR and FILE arguments are set, lookup etags derived
+entries in the `hfy-tags-cache' and add HTML anchors and
+hyperlinks as appropriate.
+
+\(fn &optional SRCDIR FILE)" t nil)
+
+(autoload 'htmlfontify-copy-and-link-dir "htmlfontify" "\
+Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR.
+F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'.
+
+You may also want to set `hfy-page-header' and `hfy-page-footer'.
+
+\(fn SRCDIR DSTDIR &optional F-EXT L-EXT)" t nil)
+
+;;;***
+
 ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19352
-;;;;;;  21354))
+;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from ibuf-macs.el
 
 (autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -13325,7 +13358,7 @@
 ;;;***
 
 ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;;  "ibuffer" "ibuffer.el" (19352 21354))
+;;;;;;  "ibuffer" "ibuffer.el" (19383 49279))
 ;;; Generated autoloads from ibuffer.el
 
 (autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13366,7 +13399,7 @@
 
 ;;;### (autoloads (icalendar-import-buffer icalendar-import-file
 ;;;;;;  icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;;  "calendar/icalendar.el" (19352 21361))
+;;;;;;  "calendar/icalendar.el" (19383 49284))
 ;;; Generated autoloads from calendar/icalendar.el
 
 (autoload 'icalendar-export-file "icalendar" "\
@@ -13418,8 +13451,8 @@
 
 ;;;***
 
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (19352
-;;;;;;  21354))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from icomplete.el
 
 (defvar icomplete-mode nil "\
@@ -13440,7 +13473,7 @@
 
 ;;;***
 
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19352 21354))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19383 49279))
 ;;; Generated autoloads from progmodes/icon.el
 
 (autoload 'icon-mode "icon" "\
@@ -13481,7 +13514,7 @@
 ;;;***
 
 ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/idlw-shell.el
 
 (autoload 'idlwave-shell "idlw-shell" "\
@@ -13507,7 +13540,7 @@
 ;;;***
 
 ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/idlwave.el
 
 (autoload 'idlwave-mode "idlwave" "\
@@ -13641,8 +13674,8 @@
 ;;;;;;  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" (19355
-;;;;;;  62587))
+;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (19397
+;;;;;;  64530))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-mode nil "\
@@ -13903,7 +13936,7 @@
 
 ;;;***
 
-;;;### (autoloads (ielm) "ielm" "ielm.el" (19352 21354))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (19383 49279))
 ;;; Generated autoloads from ielm.el
  (add-hook 'same-window-buffer-names (purecopy "*ielm*"))
 
@@ -13916,7 +13949,7 @@
 ;;;***
 
 ;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el"
-;;;;;;  (19352 21354))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from iimage.el
 
 (autoload 'turn-on-iimage-mode "iimage" "\
@@ -13935,7 +13968,7 @@
 ;;;;;;  insert-image put-image 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" (19352 21354))
+;;;;;;  "image" "image.el" (19383 49279))
 ;;; Generated autoloads from image.el
 
 (autoload 'image-type-from-data "image" "\
@@ -14118,7 +14151,7 @@
 ;;;;;;  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-insert-marked-thumbs)
-;;;;;;  "image-dired" "image-dired.el" (19367 42949))
+;;;;;;  "image-dired" "image-dired.el" (19383 49285))
 ;;; Generated autoloads from image-dired.el
 
 (autoload 'image-dired-dired-insert-marked-thumbs "image-dired" "\
@@ -14252,7 +14285,7 @@
 
 ;;;### (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" (19352 21354))
+;;;;;;  "image-file.el" (19422 11991))
 ;;; 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")) "\
@@ -14314,7 +14347,7 @@
 ;;;***
 
 ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
-;;;;;;  image-mode) "image-mode" "image-mode.el" (19352 21360))
+;;;;;;  image-mode) "image-mode" "image-mode.el" (19412 35030))
 ;;; Generated autoloads from image-mode.el
  (push (cons (purecopy "\\.jpe?g\\'")    'image-mode) auto-mode-alist)
  (push (cons (purecopy "\\.png\\'")      'image-mode) auto-mode-alist)
@@ -14349,7 +14382,7 @@
 to display an image file as the actual image.
 
 You can use `image-mode-as-text' in `auto-mode-alist' when you want
-to display an image file as text inititally.
+to display an image file as text initially.
 
 See commands `image-mode' and `image-minor-mode' for more information
 on these modes.
@@ -14364,7 +14397,7 @@
 ;;;***
 
 ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;;  imenu-sort-function) "imenu" "imenu.el" (19352 21354))
+;;;;;;  imenu-sort-function) "imenu" "imenu.el" (19383 49279))
 ;;; Generated autoloads from imenu.el
 
 (defvar imenu-sort-function nil "\
@@ -14481,7 +14514,7 @@
 
 ;;;### (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" (19352 21355))
+;;;;;;  "ind-util" "language/ind-util.el" (19383 49279))
 ;;; Generated autoloads from language/ind-util.el
 
 (autoload 'indian-compose-region "ind-util" "\
@@ -14513,7 +14546,7 @@
 
 ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
 ;;;;;;  inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;;  "progmodes/inf-lisp.el" (19352 21355))
+;;;;;;  "progmodes/inf-lisp.el" (19383 49279))
 ;;; Generated autoloads from progmodes/inf-lisp.el
 
 (defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -14581,7 +14614,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21359))
+;;;;;;  (19412 35030))
 ;;; Generated autoloads from info.el
 
 (autoload 'info-other-window "info" "\
@@ -14760,7 +14793,7 @@
 
 ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
 ;;;;;;  info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from info-look.el
 
 (autoload 'info-lookup-reset "info-look" "\
@@ -14808,7 +14841,7 @@
 ;;;***
 
 ;;;### (autoloads (info-xref-check-all-custom info-xref-check-all
-;;;;;;  info-xref-check) "info-xref" "info-xref.el" (19352 21355))
+;;;;;;  info-xref-check) "info-xref" "info-xref.el" (19383 49279))
 ;;; Generated autoloads from info-xref.el
 
 (autoload 'info-xref-check "info-xref" "\
@@ -14835,7 +14868,7 @@
 ;;;***
 
 ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold
-;;;;;;  Info-tagify) "informat" "informat.el" (19352 21355))
+;;;;;;  Info-tagify) "informat" "informat.el" (19383 49279))
 ;;; Generated autoloads from informat.el
 
 (autoload 'Info-tagify "informat" "\
@@ -14882,7 +14915,7 @@
 
 ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
 ;;;;;;  isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from international/isearch-x.el
 
 (autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -14902,8 +14935,8 @@
 
 ;;;***
 
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from isearchb.el
 
 (autoload 'isearchb-activate "isearchb" "\
@@ -14919,7 +14952,7 @@
 ;;;### (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" (19352 21355))
+;;;;;;  "international/iso-cvt.el" (19383 49279))
 ;;; Generated autoloads from international/iso-cvt.el
 
 (autoload 'iso-spanish "iso-cvt" "\
@@ -15010,7 +15043,7 @@
 ;;;***
 
 ;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; 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)
@@ -15022,7 +15055,7 @@
 ;;;;;;  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" (19352 21360))
+;;;;;;  "ispell" "textmodes/ispell.el" (19383 49276))
 ;;; Generated autoloads from textmodes/ispell.el
 (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
 
@@ -15240,8 +15273,8 @@
 
 ;;;***
 
-;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (19352
-;;;;;;  21362))
+;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (19383
+;;;;;;  49276))
 ;;; Generated autoloads from iswitchb.el
 
 (defvar iswitchb-mode nil "\
@@ -15266,7 +15299,7 @@
 ;;;### (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" (19352 21355))
+;;;;;;  "japan-util" "language/japan-util.el" (19383 49279))
 ;;; Generated autoloads from language/japan-util.el
 
 (autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -15344,7 +15377,7 @@
 ;;;***
 
 ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;;  "jka-compr.el" (19352 21355))
+;;;;;;  "jka-compr.el" (19383 49279))
 ;;; Generated autoloads from jka-compr.el
 
 (defvar jka-compr-inhibit nil "\
@@ -15367,7 +15400,7 @@
 
 ;;;***
 
-;;;### (autoloads (js-mode) "js" "progmodes/js.el" (19375 48608))
+;;;### (autoloads (js-mode) "js" "progmodes/js.el" (19421 38445))
 ;;; Generated autoloads from progmodes/js.el
 
 (autoload 'js-mode "js" "\
@@ -15385,7 +15418,7 @@
 
 ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
 ;;;;;;  keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from emulation/keypad.el
 
 (defvar keypad-setup nil "\
@@ -15441,7 +15474,7 @@
 ;;;***
 
 ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from international/kinsoku.el
 
 (autoload 'kinsoku "kinsoku" "\
@@ -15462,8 +15495,8 @@
 
 ;;;***
 
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from international/kkc.el
 
 (defvar kkc-after-update-conversion-functions nil "\
@@ -15488,7 +15521,7 @@
 ;;;### (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" (19352 21355))
+;;;;;;  "kmacro" "kmacro.el" (19383 49279))
 ;;; Generated autoloads from kmacro.el
  (global-set-key "\C-x(" 'kmacro-start-macro)
  (global-set-key "\C-x)" 'kmacro-end-macro)
@@ -15599,7 +15632,7 @@
 ;;;***
 
 ;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;;  "language/korea-util.el" (19352 21355))
+;;;;;;  "language/korea-util.el" (19383 49279))
 ;;; Generated autoloads from language/korea-util.el
 
 (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -15614,7 +15647,7 @@
 ;;;***
 
 ;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from play/landmark.el
 
 (defalias 'landmark-repeat 'lm-test-run)
@@ -15648,7 +15681,7 @@
 
 ;;;### (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" (19352 21355))
+;;;;;;  "lao-util" "language/lao-util.el" (19383 49279))
 ;;; Generated autoloads from language/lao-util.el
 
 (autoload 'lao-compose-string "lao-util" "\
@@ -15687,7 +15720,7 @@
 
 ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
 ;;;;;;  latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
-;;;;;;  "latexenc" "international/latexenc.el" (19352 21355))
+;;;;;;  "latexenc" "international/latexenc.el" (19383 49279))
 ;;; 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))) "\
@@ -15719,7 +15752,7 @@
 ;;;***
 
 ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;;  "latin1-disp" "international/latin1-disp.el" (19352 21355))
+;;;;;;  "latin1-disp" "international/latin1-disp.el" (19383 49279))
 ;;; Generated autoloads from international/latin1-disp.el
 
 (defvar latin1-display nil "\
@@ -15761,7 +15794,7 @@
 ;;;***
 
 ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from progmodes/ld-script.el
 
 (add-to-list 'auto-mode-alist (purecopy '("\\.ld[si]?\\>" . ld-script-mode)))
@@ -15778,7 +15811,7 @@
 ;;;***
 
 ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49279))
 ;;; Generated autoloads from ledit.el
 
 (defconst ledit-save-files t "\
@@ -15813,7 +15846,7 @@
 
 ;;;***
 
-;;;### (autoloads (life) "life" "play/life.el" (19352 21355))
+;;;### (autoloads (life) "life" "play/life.el" (19383 49279))
 ;;; Generated autoloads from play/life.el
 
 (autoload 'life "life" "\
@@ -15827,7 +15860,7 @@
 ;;;***
 
 ;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum"
-;;;;;;  "linum.el" (19352 21355))
+;;;;;;  "linum.el" (19383 49279))
 ;;; Generated autoloads from linum.el
 
 (defvar linum-format 'dynamic "\
@@ -15865,8 +15898,8 @@
 
 ;;;***
 
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from loadhist.el
 
 (autoload 'unload-feature "loadhist" "\
@@ -15898,7 +15931,7 @@
 ;;;***
 
 ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;;  "locate" "locate.el" (19352 21355))
+;;;;;;  "locate" "locate.el" (19383 49279))
 ;;; Generated autoloads from locate.el
 
 (defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -15949,7 +15982,7 @@
 
 ;;;***
 
-;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (19352 21360))
+;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (19383 49276))
 ;;; Generated autoloads from log-edit.el
 
 (autoload 'log-edit "log-edit" "\
@@ -15975,8 +16008,8 @@
 
 ;;;***
 
-;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from log-view.el
 
 (autoload 'log-view-mode "log-view" "\
@@ -15986,8 +16019,8 @@
 
 ;;;***
 
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from longlines.el
 
 (autoload 'longlines-mode "longlines" "\
@@ -16008,8 +16041,8 @@
 ;;;***
 
 ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19352
-;;;;;;  21355))
+;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from lpr.el
 
 (defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)))
@@ -16103,7 +16136,7 @@
 ;;;***
 
 ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;;  (19352 21362))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from ls-lisp.el
 
 (defvar ls-lisp-support-shell-wildcards t "\
@@ -16114,8 +16147,8 @@
 
 ;;;***
 
-;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19383
+;;;;;;  49279))
 ;;; Generated autoloads from calendar/lunar.el
 
 (autoload 'lunar-phases "lunar" "\
@@ -16129,8 +16162,8 @@
 
 ;;;***
 
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from progmodes/m4-mode.el
 
 (autoload 'm4-mode "m4-mode" "\
@@ -16142,7 +16175,7 @@
 ;;;***
 
 ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from emacs-lisp/macroexp.el
 
 (autoload 'macroexpand-all "macroexp" "\
@@ -16156,7 +16189,7 @@
 ;;;***
 
 ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;;  name-last-kbd-macro) "macros" "macros.el" (19352 21359))
+;;;;;;  name-last-kbd-macro) "macros" "macros.el" (19383 49277))
 ;;; Generated autoloads from macros.el
 
 (autoload 'name-last-kbd-macro "macros" "\
@@ -16245,7 +16278,7 @@
 ;;;***
 
 ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
-;;;;;;  "mail/mail-extr.el" (19352 21355))
+;;;;;;  "mail/mail-extr.el" (19383 49280))
 ;;; Generated autoloads from mail/mail-extr.el
 
 (autoload 'mail-extract-address-components "mail-extr" "\
@@ -16277,7 +16310,7 @@
 
 ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
 ;;;;;;  mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from mail/mail-hist.el
 
 (autoload 'mail-hist-define-keys "mail-hist" "\
@@ -16309,7 +16342,7 @@
 ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
 ;;;;;;  mail-unquote-printable mail-quote-printable-region mail-quote-printable
 ;;;;;;  mail-file-babyl-p mail-use-rfc822) "mail-utils" "mail/mail-utils.el"
-;;;;;;  (19352 21360))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from mail/mail-utils.el
 
 (defvar mail-use-rfc822 nil "\
@@ -16371,8 +16404,8 @@
 ;;;***
 
 ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
-;;;;;;  mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19352
-;;;;;;  21355))
+;;;;;;  mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from mail/mailabbrev.el
 
 (defvar mail-abbrevs-mode nil "\
@@ -16414,8 +16447,8 @@
 ;;;***
 
 ;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases
-;;;;;;  mail-complete-style) "mailalias" "mail/mailalias.el" (19352
-;;;;;;  21355))
+;;;;;;  mail-complete-style) "mailalias" "mail/mailalias.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from mail/mailalias.el
 
 (defvar mail-complete-style 'angles "\
@@ -16461,7 +16494,7 @@
 ;;;***
 
 ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from mail/mailclient.el
 
 (autoload 'mailclient-send-it "mailclient" "\
@@ -16475,7 +16508,7 @@
 
 ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
 ;;;;;;  makefile-gmake-mode makefile-automake-mode makefile-mode)
-;;;;;;  "make-mode" "progmodes/make-mode.el" (19370 15152))
+;;;;;;  "make-mode" "progmodes/make-mode.el" (19383 49284))
 ;;; Generated autoloads from progmodes/make-mode.el
 
 (autoload 'makefile-mode "make-mode" "\
@@ -16592,8 +16625,8 @@
 
 ;;;***
 
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from makesum.el
 
 (autoload 'make-command-summary "makesum" "\
@@ -16604,7 +16637,7 @@
 
 ;;;***
 
-;;;### (autoloads (man-follow man) "man" "man.el" (19352 21359))
+;;;### (autoloads (man-follow man) "man" "man.el" (19383 49278))
 ;;; Generated autoloads from man.el
 
 (defalias 'manual-entry 'man)
@@ -16653,7 +16686,7 @@
 
 ;;;***
 
-;;;### (autoloads (master-mode) "master" "master.el" (19352 21355))
+;;;### (autoloads (master-mode) "master" "master.el" (19383 49280))
 ;;; Generated autoloads from master.el
 
 (autoload 'master-mode "master" "\
@@ -16676,7 +16709,7 @@
 ;;;***
 
 ;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from mb-depth.el
 
 (defvar minibuffer-depth-indicate-mode nil "\
@@ -16707,7 +16740,7 @@
 ;;;;;;  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" (19374 17766))
+;;;;;;  "gnus/message.el" (19409 46567))
 ;;; 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)
@@ -16873,7 +16906,7 @@
 ;;;***
 
 ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from progmodes/meta-mode.el
 
 (autoload 'metafont-mode "meta-mode" "\
@@ -16900,7 +16933,7 @@
 
 ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
 ;;;;;;  metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from mail/metamail.el
 
 (autoload 'metamail-interpret-header "metamail" "\
@@ -16945,7 +16978,7 @@
 
 ;;;### (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" (19352 21355))
+;;;;;;  "mh-e/mh-comp.el" (19383 49280))
 ;;; Generated autoloads from mh-e/mh-comp.el
 
 (autoload 'mh-smail "mh-comp" "\
@@ -17035,7 +17068,7 @@
 
 ;;;***
 
-;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (19352 21355))
+;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (19383 49280))
 ;;; Generated autoloads from mh-e/mh-e.el
 
 (put 'mh-progs 'risky-local-variable t)
@@ -17052,7 +17085,7 @@
 ;;;***
 
 ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
-;;;;;;  "mh-e/mh-folder.el" (19352 21355))
+;;;;;;  "mh-e/mh-folder.el" (19383 49280))
 ;;; Generated autoloads from mh-e/mh-folder.el
 
 (autoload 'mh-rmail "mh-folder" "\
@@ -17134,7 +17167,7 @@
 ;;;***
 
 ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;;  "midnight.el" (19352 21355))
+;;;;;;  "midnight.el" (19383 49280))
 ;;; Generated autoloads from midnight.el
 
 (autoload 'clean-buffer-list "midnight" "\
@@ -17161,7 +17194,7 @@
 ;;;***
 
 ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;;  "minibuf-eldef.el" (19352 21355))
+;;;;;;  "minibuf-eldef.el" (19383 49280))
 ;;; Generated autoloads from minibuf-eldef.el
 
 (defvar minibuffer-electric-default-mode nil "\
@@ -17188,7 +17221,7 @@
 
 ;;;***
 
-;;;### (autoloads (butterfly) "misc" "misc.el" (19352 21355))
+;;;### (autoloads (butterfly) "misc" "misc.el" (19383 49280))
 ;;; Generated autoloads from misc.el
 
 (autoload 'butterfly "misc" "\
@@ -17207,7 +17240,7 @@
 
 ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files
 ;;;;;;  multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup)
-;;;;;;  "misearch" "misearch.el" (19352 21355))
+;;;;;;  "misearch" "misearch.el" (19383 49280))
 ;;; Generated autoloads from misearch.el
  (add-hook 'isearch-mode-hook 'multi-isearch-setup)
 
@@ -17289,7 +17322,7 @@
 ;;;***
 
 ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from progmodes/mixal-mode.el
 
 (autoload 'mixal-mode "mixal-mode" "\
@@ -17303,7 +17336,7 @@
 ;;;***
 
 ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents)
-;;;;;;  "mm-extern" "gnus/mm-extern.el" (19352 21355))
+;;;;;;  "mm-extern" "gnus/mm-extern.el" (19383 49280))
 ;;; Generated autoloads from gnus/mm-extern.el
 
 (autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -17322,7 +17355,7 @@
 ;;;***
 
 ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/mm-partial.el
 
 (autoload 'mm-inline-partial "mm-partial" "\
@@ -17336,7 +17369,7 @@
 ;;;***
 
 ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;;  "mm-url" "gnus/mm-url.el" (19352 21355))
+;;;;;;  "mm-url" "gnus/mm-url.el" (19383 49280))
 ;;; Generated autoloads from gnus/mm-url.el
 
 (autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -17353,7 +17386,7 @@
 ;;;***
 
 ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu"
-;;;;;;  "gnus/mm-uu.el" (19382 2266))
+;;;;;;  "gnus/mm-uu.el" (19383 49283))
 ;;; Generated autoloads from gnus/mm-uu.el
 
 (autoload 'mm-uu-dissect "mm-uu" "\
@@ -17373,7 +17406,7 @@
 ;;;***
 
 ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/mml1991.el
 
 (autoload 'mml1991-encrypt "mml1991" "\
@@ -17390,7 +17423,7 @@
 
 ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
 ;;;;;;  mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
-;;;;;;  "mml2015" "gnus/mml2015.el" (19352 21355))
+;;;;;;  "mml2015" "gnus/mml2015.el" (19383 49280))
 ;;; Generated autoloads from gnus/mml2015.el
 
 (autoload 'mml2015-decrypt "mml2015" "\
@@ -17463,7 +17496,7 @@
 ;;;***
 
 ;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from play/morse.el
 
 (autoload 'morse-region "morse" "\
@@ -17479,7 +17512,7 @@
 ;;;***
 
 ;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag"
-;;;;;;  "mouse-drag.el" (19352 21355))
+;;;;;;  "mouse-drag.el" (19383 49280))
 ;;; Generated autoloads from mouse-drag.el
 
 (autoload 'mouse-drag-throw "mouse-drag" "\
@@ -17526,8 +17559,8 @@
 
 ;;;***
 
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from mouse-sel.el
 
 (defvar mouse-sel-mode nil "\
@@ -17579,7 +17612,7 @@
 
 ;;;***
 
-;;;### (autoloads (mpc) "mpc" "mpc.el" (19352 21355))
+;;;### (autoloads (mpc) "mpc" "mpc.el" (19383 49280))
 ;;; Generated autoloads from mpc.el
 
 (autoload 'mpc "mpc" "\
@@ -17589,7 +17622,7 @@
 
 ;;;***
 
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19352 21355))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19383 49280))
 ;;; Generated autoloads from play/mpuz.el
 
 (autoload 'mpuz "mpuz" "\
@@ -17599,7 +17632,7 @@
 
 ;;;***
 
-;;;### (autoloads (msb-mode) "msb" "msb.el" (19352 21355))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (19383 49280))
 ;;; Generated autoloads from msb.el
 
 (defvar msb-mode nil "\
@@ -17626,7 +17659,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from international/mule-diag.el
 
 (autoload 'list-character-sets "mule-diag" "\
@@ -17763,7 +17796,7 @@
 ;;;;;;  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" (19352 21362))
+;;;;;;  "mule-util" "international/mule-util.el" (19383 49276))
 ;;; Generated autoloads from international/mule-util.el
 
 (autoload 'string-to-sequence "mule-util" "\
@@ -17903,8 +17936,8 @@
 ;;;### (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" (19352
-;;;;;;  21355))
+;;;;;;  iwconfig ifconfig) "net-utils" "net/net-utils.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from net/net-utils.el
 
 (autoload 'ifconfig "net-utils" "\
@@ -18003,7 +18036,7 @@
 ;;;;;;  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" (19352 21355))
+;;;;;;  "newcomment.el" (19383 49280))
 ;;; Generated autoloads from newcomment.el
 
 (defalias 'indent-for-comment 'comment-indent)
@@ -18203,7 +18236,7 @@
 ;;;***
 
 ;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend"
-;;;;;;  "net/newst-backend.el" (19352 21355))
+;;;;;;  "net/newst-backend.el" (19383 49280))
 ;;; Generated autoloads from net/newst-backend.el
 
 (autoload 'newsticker-running-p "newst-backend" "\
@@ -18225,7 +18258,7 @@
 ;;;***
 
 ;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from net/newst-plainview.el
 
 (autoload 'newsticker-plainview "newst-plainview" "\
@@ -18236,7 +18269,7 @@
 ;;;***
 
 ;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from net/newst-reader.el
 
 (autoload 'newsticker-show-news "newst-reader" "\
@@ -18247,7 +18280,7 @@
 ;;;***
 
 ;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p)
-;;;;;;  "newst-ticker" "net/newst-ticker.el" (19352 21355))
+;;;;;;  "newst-ticker" "net/newst-ticker.el" (19383 49280))
 ;;; Generated autoloads from net/newst-ticker.el
 
 (autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -18268,7 +18301,7 @@
 ;;;***
 
 ;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from net/newst-treeview.el
 
 (autoload 'newsticker-treeview "newst-treeview" "\
@@ -18279,7 +18312,7 @@
 ;;;***
 
 ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/nndiary.el
 
 (autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -18289,8 +18322,8 @@
 
 ;;;***
 
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19352
-;;;;;;  21355))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from gnus/nndoc.el
 
 (autoload 'nndoc-add-type "nndoc" "\
@@ -18305,7 +18338,7 @@
 ;;;***
 
 ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/nnfolder.el
 
 (autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -18317,7 +18350,7 @@
 ;;;***
 
 ;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el"
-;;;;;;  (19352 21355))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/nnkiboze.el
 
 (autoload 'nnkiboze-generate-groups "nnkiboze" "\
@@ -18329,7 +18362,7 @@
 ;;;***
 
 ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from gnus/nnml.el
 
 (autoload 'nnml-generate-nov-databases "nnml" "\
@@ -18340,7 +18373,7 @@
 ;;;***
 
 ;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies)
-;;;;;;  "nnsoup" "gnus/nnsoup.el" (19352 21357))
+;;;;;;  "nnsoup" "gnus/nnsoup.el" (19383 49280))
 ;;; Generated autoloads from gnus/nnsoup.el
 
 (autoload 'nnsoup-pack-replies "nnsoup" "\
@@ -18361,7 +18394,7 @@
 ;;;***
 
 ;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;;  "novice" "novice.el" (19352 21357))
+;;;;;;  "novice" "novice.el" (19383 49280))
 ;;; Generated autoloads from novice.el
 
 (defvar disabled-command-function 'disabled-command-function "\
@@ -18394,7 +18427,7 @@
 ;;;***
 
 ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from textmodes/nroff-mode.el
 
 (autoload 'nroff-mode "nroff-mode" "\
@@ -18409,7 +18442,7 @@
 ;;;***
 
 ;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from nxml/nxml-glyph.el
 
 (autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -18421,8 +18454,8 @@
 
 ;;;***
 
-;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19352
-;;;;;;  21362))
+;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19383
+;;;;;;  49276))
 ;;; Generated autoloads from nxml/nxml-mode.el
 
 (autoload 'nxml-mode "nxml-mode" "\
@@ -18484,7 +18517,7 @@
 ;;;***
 
 ;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm"
-;;;;;;  "nxml/nxml-uchnm.el" (19352 21357))
+;;;;;;  "nxml/nxml-uchnm.el" (19383 49280))
 ;;; Generated autoloads from nxml/nxml-uchnm.el
 
 (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -18497,7 +18530,7 @@
 ;;;***
 
 ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from progmodes/octave-inf.el
 
 (autoload 'inferior-octave "octave-inf" "\
@@ -18520,7 +18553,7 @@
 ;;;***
 
 ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from progmodes/octave-mod.el
 
 (autoload 'octave-mode "octave-mod" "\
@@ -18615,7 +18648,7 @@
 ;;;;;;  org-map-entries org-open-link-from-string org-open-at-point-global
 ;;;;;;  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" "org/org.el" (19352 21357))
+;;;;;;  org-mode) "org" "org/org.el" (19383 49280))
 ;;; Generated autoloads from org/org.el
 
 (autoload 'org-mode "org" "\
@@ -18828,7 +18861,7 @@
 ;;;;;;  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" (19352 21357))
+;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (19383 49280))
 ;;; Generated autoloads from org/org-agenda.el
 
 (autoload 'org-agenda "org-agenda" "\
@@ -19091,7 +19124,7 @@
 
 ;;;### (autoloads (org-archive-subtree-default-with-confirmation
 ;;;;;;  org-archive-subtree-default) "org-archive" "org/org-archive.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from org/org-archive.el
 
 (autoload 'org-archive-subtree-default "org-archive" "\
@@ -19110,7 +19143,7 @@
 
 ;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii
 ;;;;;;  org-replace-region-by-ascii org-export-as-ascii-to-buffer)
-;;;;;;  "org-ascii" "org/org-ascii.el" (19352 21357))
+;;;;;;  "org-ascii" "org/org-ascii.el" (19383 49280))
 ;;; Generated autoloads from org/org-ascii.el
 
 (autoload 'org-export-as-ascii-to-buffer "org-ascii" "\
@@ -19163,8 +19196,8 @@
 
 ;;;***
 
-;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (19352
-;;;;;;  21357))
+;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from org/org-attach.el
 
 (autoload 'org-attach "org-attach" "\
@@ -19176,7 +19209,7 @@
 ;;;***
 
 ;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from org/org-bbdb.el
 
 (autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -19187,7 +19220,7 @@
 ;;;***
 
 ;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
-;;;;;;  "org-clock" "org/org-clock.el" (19352 21357))
+;;;;;;  "org-clock" "org/org-clock.el" (19383 49280))
 ;;; Generated autoloads from org/org-clock.el
 
 (autoload 'org-get-clocktable "org-clock" "\
@@ -19207,7 +19240,7 @@
 ;;;### (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" (19352 21357))
+;;;;;;  "org-docbook" "org/org-docbook.el" (19383 49280))
 ;;; Generated autoloads from org/org-docbook.el
 
 (autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -19284,7 +19317,7 @@
 
 ;;;### (autoloads (org-insert-export-options-template org-export-as-org
 ;;;;;;  org-export-visible org-export) "org-exp" "org/org-exp.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49280))
 ;;; Generated autoloads from org/org-exp.el
 
 (autoload 'org-export "org-exp" "\
@@ -19341,8 +19374,8 @@
 ;;;***
 
 ;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
-;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (19352
-;;;;;;  21357))
+;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (19383
+;;;;;;  49280))
 ;;; Generated autoloads from org/org-feed.el
 
 (autoload 'org-feed-update-all "org-feed" "\
@@ -19370,7 +19403,7 @@
 ;;;***
 
 ;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
-;;;;;;  "org/org-footnote.el" (19352 21357))
+;;;;;;  "org/org-footnote.el" (19383 49281))
 ;;; Generated autoloads from org/org-footnote.el
 
 (autoload 'org-footnote-action "org-footnote" "\
@@ -19397,7 +19430,7 @@
 ;;;### (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" (19352 21362))
+;;;;;;  "org/org-freemind.el" (19383 49276))
 ;;; Generated autoloads from org/org-freemind.el
 
 (autoload 'org-export-as-freemind "org-freemind" "\
@@ -19435,7 +19468,7 @@
 ;;;### (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" (19352 21357))
+;;;;;;  "org/org-html.el" (19383 49281))
 ;;; Generated autoloads from org/org-html.el
 
 (put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -19528,7 +19561,7 @@
 
 ;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
 ;;;;;;  org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-icalendar.el
 
 (autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -19555,7 +19588,7 @@
 
 ;;;### (autoloads (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" (19352 21357))
+;;;;;;  org-id-get-create) "org-id" "org/org-id.el" (19383 49281))
 ;;; Generated autoloads from org/org-id.el
 
 (autoload 'org-id-get-create "org-id" "\
@@ -19619,7 +19652,7 @@
 ;;;***
 
 ;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-indent.el
 
 (autoload 'org-indent-mode "org-indent" "\
@@ -19634,7 +19667,7 @@
 ;;;***
 
 ;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-irc.el
 
 (autoload 'org-irc-store-link "org-irc" "\
@@ -19647,7 +19680,7 @@
 ;;;### (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"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-latex.el
 
 (autoload 'org-export-as-latex-batch "org-latex" "\
@@ -19727,8 +19760,8 @@
 ;;;***
 
 ;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
-;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (19352
-;;;;;;  21357))
+;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from org/org-mobile.el
 
 (autoload 'org-mobile-push "org-mobile" "\
@@ -19753,7 +19786,7 @@
 ;;;***
 
 ;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-plot.el
 
 (autoload 'org-plot/gnuplot "org-plot" "\
@@ -19767,7 +19800,7 @@
 
 ;;;### (autoloads (org-publish-current-project org-publish-current-file
 ;;;;;;  org-publish-all org-publish) "org-publish" "org/org-publish.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-publish.el
 
 (defalias 'org-publish-project 'org-publish)
@@ -19801,7 +19834,7 @@
 
 ;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
 ;;;;;;  org-remember-annotation org-remember-insinuate) "org-remember"
-;;;;;;  "org/org-remember.el" (19352 21357))
+;;;;;;  "org/org-remember.el" (19383 49281))
 ;;; Generated autoloads from org/org-remember.el
 
 (autoload 'org-remember-insinuate "org-remember" "\
@@ -19876,7 +19909,7 @@
 ;;;***
 
 ;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
-;;;;;;  "org-table" "org/org-table.el" (19352 21357))
+;;;;;;  "org-table" "org/org-table.el" (19383 49281))
 ;;; Generated autoloads from org/org-table.el
 
 (autoload 'turn-on-orgtbl "org-table" "\
@@ -19901,7 +19934,7 @@
 
 ;;;### (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"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-timer.el
 
 (autoload 'org-timer-start "org-timer" "\
@@ -19945,7 +19978,7 @@
 ;;;***
 
 ;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from org/org-xoxo.el
 
 (autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -19957,7 +19990,7 @@
 ;;;***
 
 ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;;  (19352 21362))
+;;;;;;  (19383 49276))
 ;;; Generated autoloads from outline.el
 (put 'outline-regexp 'safe-local-variable 'string-or-null-p)
 
@@ -20014,7 +20047,7 @@
 
 ;;;***
 
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (19352 21357))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (19383 49281))
 ;;; Generated autoloads from paren.el
 
 (defvar show-paren-mode nil "\
@@ -20039,7 +20072,7 @@
 ;;;***
 
 ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from calendar/parse-time.el
 (put 'parse-time-rules 'risky-local-variable t)
 
@@ -20052,8 +20085,8 @@
 
 ;;;***
 
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19352
-;;;;;;  21357))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from progmodes/pascal.el
 
 (autoload 'pascal-mode "pascal" "\
@@ -20106,7 +20139,7 @@
 ;;;***
 
 ;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emulation/pc-mode.el
 
 (autoload 'pc-bindings-mode "pc-mode" "\
@@ -20124,7 +20157,7 @@
 ;;;***
 
 ;;;### (autoloads (pc-selection-mode) "pc-select" "emulation/pc-select.el"
-;;;;;;  (19352 21357))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emulation/pc-select.el
 
 (defvar pc-selection-mode nil "\
@@ -20190,8 +20223,8 @@
 
 ;;;***
 
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19352
-;;;;;;  21357))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from pcmpl-cvs.el
 
 (autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -20202,7 +20235,7 @@
 ;;;***
 
 ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (19352 21357))
+;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (19383 49281))
 ;;; Generated autoloads from pcmpl-gnu.el
 
 (autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -20230,7 +20263,7 @@
 ;;;***
 
 ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (19352 21357))
+;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (19383 49281))
 ;;; Generated autoloads from pcmpl-linux.el
 
 (autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -20250,8 +20283,8 @@
 
 ;;;***
 
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19352
-;;;;;;  21357))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from pcmpl-rpm.el
 
 (autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -20263,7 +20296,7 @@
 
 ;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown
 ;;;;;;  pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir
-;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19352 21357))
+;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19383 49281))
 ;;; Generated autoloads from pcmpl-unix.el
 
 (autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -20320,8 +20353,8 @@
 
 ;;;### (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" (19352
-;;;;;;  21357))
+;;;;;;  pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from pcomplete.el
 
 (autoload 'pcomplete "pcomplete" "\
@@ -20380,7 +20413,7 @@
 
 ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
 ;;;;;;  cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;;  "pcvs.el" (19352 21357))
+;;;;;;  "pcvs.el" (19383 49281))
 ;;; Generated autoloads from pcvs.el
 
 (autoload 'cvs-checkout "pcvs" "\
@@ -20455,7 +20488,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (19352 21357))
+;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (19383 49281))
 ;;; Generated autoloads from 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)))
@@ -20463,7 +20496,7 @@
 ;;;***
 
 ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from progmodes/perl-mode.el
 (put 'perl-indent-level 'safe-local-variable 'integerp)
 (put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -20527,7 +20560,7 @@
 ;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key
 ;;;;;;  pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt
 ;;;;;;  pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region
-;;;;;;  pgg-encrypt-region) "pgg" "pgg.el" (19352 21358))
+;;;;;;  pgg-encrypt-region) "pgg" "pgg.el" (19383 49281))
 ;;; Generated autoloads from pgg.el
 
 (autoload 'pgg-encrypt-region "pgg" "\
@@ -20661,7 +20694,7 @@
 ;;;***
 
 ;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from pgg-gpg.el
 
 (autoload 'pgg-gpg-symmetric-key-p "pgg-gpg" "\
@@ -20672,7 +20705,7 @@
 ;;;***
 
 ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/picture.el
 
 (autoload 'picture-mode "picture" "\
@@ -20753,7 +20786,7 @@
 ;;;***
 
 ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/po.el
 
 (autoload 'po-find-file-coding-system "po" "\
@@ -20764,7 +20797,7 @@
 
 ;;;***
 
-;;;### (autoloads (pong) "pong" "play/pong.el" (19352 21358))
+;;;### (autoloads (pong) "pong" "play/pong.el" (19383 49281))
 ;;; Generated autoloads from play/pong.el
 
 (autoload 'pong "pong" "\
@@ -20782,7 +20815,7 @@
 
 ;;;### (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"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emacs-lisp/pp.el
 
 (autoload 'pp-to-string "pp" "\
@@ -20850,7 +20883,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from printing.el
 
 (autoload 'pr-interface "printing" "\
@@ -21437,7 +21470,7 @@
 
 ;;;***
 
-;;;### (autoloads (proced) "proced" "proced.el" (19352 21358))
+;;;### (autoloads (proced) "proced" "proced.el" (19383 49281))
 ;;; Generated autoloads from proced.el
 
 (autoload 'proced "proced" "\
@@ -21453,7 +21486,7 @@
 ;;;***
 
 ;;;### (autoloads (switch-to-prolog prolog-mode) "prolog" "progmodes/prolog.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from progmodes/prolog.el
 
 (autoload 'prolog-mode "prolog" "\
@@ -21476,8 +21509,8 @@
 
 ;;;***
 
-;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19383
+;;;;;;  49281))
 ;;; 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")) "\
@@ -21488,8 +21521,8 @@
 
 ;;;***
 
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from progmodes/ps-mode.el
 
 (autoload 'ps-mode "ps-mode" "\
@@ -21540,8 +21573,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21358))
+;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (19383
+;;;;;;  49281))
 ;;; 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"))) "\
@@ -21738,7 +21771,7 @@
 ;;;***
 
 ;;;### (autoloads (python-shell jython-mode python-mode run-python)
-;;;;;;  "python" "progmodes/python.el" (19352 21361))
+;;;;;;  "python" "progmodes/python.el" (19383 49284))
 ;;; Generated autoloads from progmodes/python.el
 
 (add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -21854,7 +21887,7 @@
 ;;;***
 
 ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from gnus/qp.el
 
 (autoload 'quoted-printable-decode-region "qp" "\
@@ -21877,7 +21910,7 @@
 ;;;;;;  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" (19352 21358))
+;;;;;;  "international/quail.el" (19383 49281))
 ;;; Generated autoloads from international/quail.el
 
 (autoload 'quail-title "quail" "\
@@ -22108,8 +22141,8 @@
 
 ;;;### (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" (19352
-;;;;;;  21358))
+;;;;;;  quickurl-ask quickurl) "quickurl" "net/quickurl.el" (19383
+;;;;;;  49281))
 ;;; 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" "\
@@ -22181,7 +22214,7 @@
 ;;;***
 
 ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
-;;;;;;  "net/rcirc.el" (19352 21358))
+;;;;;;  "net/rcirc.el" (19383 49281))
 ;;; Generated autoloads from net/rcirc.el
 
 (autoload 'rcirc "rcirc" "\
@@ -22216,8 +22249,8 @@
 
 ;;;***
 
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from net/rcompile.el
 
 (autoload 'remote-compile "rcompile" "\
@@ -22229,7 +22262,7 @@
 ;;;***
 
 ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emacs-lisp/re-builder.el
 
 (defalias 'regexp-builder 're-builder)
@@ -22241,7 +22274,7 @@
 
 ;;;***
 
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19352 21358))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19383 49281))
 ;;; Generated autoloads from recentf.el
 
 (defvar recentf-mode nil "\
@@ -22268,8 +22301,8 @@
 ;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle
 ;;;;;;  delete-whitespace-rectangle open-rectangle insert-rectangle
 ;;;;;;  yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle
-;;;;;;  delete-rectangle move-to-column-force) "rect" "rect.el" (19352
-;;;;;;  21358))
+;;;;;;  delete-rectangle move-to-column-force) "rect" "rect.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from rect.el
  (define-key ctl-x-r-map "c" 'clear-rectangle)
  (define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -22403,8 +22436,8 @@
 
 ;;;***
 
-;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from textmodes/refill.el
 
 (autoload 'refill-mode "refill" "\
@@ -22420,7 +22453,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (19352 21358))
+;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (19383 49281))
 ;;; Generated autoloads from textmodes/reftex.el
 
 (autoload 'turn-on-reftex "reftex" "\
@@ -22470,7 +22503,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/reftex-cite.el
 
 (autoload 'reftex-citation "reftex-cite" "\
@@ -22500,7 +22533,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/reftex-global.el
 
 (autoload 'reftex-isearch-minor-mode "reftex-global" "\
@@ -22517,7 +22550,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/reftex-index.el
 
 (autoload 'reftex-index-phrases-mode "reftex-index" "\
@@ -22550,7 +22583,7 @@
 ;;;***
 
 ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/reftex-parse.el
 
 (autoload 'reftex-all-document-files "reftex-parse" "\
@@ -22562,8 +22595,8 @@
 
 ;;;***
 
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19367
-;;;;;;  42950))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19383
+;;;;;;  49285))
 ;;; 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))))
@@ -22573,7 +22606,7 @@
 ;;;***
 
 ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emacs-lisp/regexp-opt.el
 
 (autoload 'regexp-opt "regexp-opt" "\
@@ -22602,7 +22635,7 @@
 
 ;;;### (autoloads (remember-diary-extract-entries remember-clipboard
 ;;;;;;  remember-other-frame remember) "remember" "textmodes/remember.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/remember.el
 
 (autoload 'remember "remember" "\
@@ -22633,7 +22666,7 @@
 
 ;;;***
 
-;;;### (autoloads (repeat) "repeat" "repeat.el" (19352 21358))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (19383 49281))
 ;;; Generated autoloads from repeat.el
 
 (autoload 'repeat "repeat" "\
@@ -22656,7 +22689,7 @@
 ;;;***
 
 ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from mail/reporter.el
 
 (autoload 'reporter-submit-bug-report "reporter" "\
@@ -22688,7 +22721,7 @@
 ;;;***
 
 ;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from reposition.el
 
 (autoload 'reposition-window "reposition" "\
@@ -22715,7 +22748,7 @@
 ;;;***
 
 ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from reveal.el
 
 (autoload 'reveal-mode "reveal" "\
@@ -22750,7 +22783,7 @@
 ;;;***
 
 ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from emacs-lisp/ring.el
 
 (autoload 'ring-p "ring" "\
@@ -22765,7 +22798,7 @@
 
 ;;;***
 
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (19352 21358))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (19383 49281))
 ;;; Generated autoloads from net/rlogin.el
  (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)"))
 
@@ -22815,8 +22848,8 @@
 ;;;;;;  rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
 ;;;;;;  rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
 ;;;;;;  rmail-dont-reply-to-names rmail-user-mail-address-regexp
-;;;;;;  rmail-movemail-variant-p) "rmail" "mail/rmail.el" (19363
-;;;;;;  36802))
+;;;;;;  rmail-movemail-variant-p) "rmail" "mail/rmail.el" (19383
+;;;;;;  49285))
 ;;; Generated autoloads from mail/rmail.el
 
 (autoload 'rmail-movemail-variant-p "rmail" "\
@@ -23010,7 +23043,7 @@
 ;;;***
 
 ;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen
-;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (19352 21358))
+;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (19383 49281))
 ;;; Generated autoloads from mail/rmailout.el
 (put 'rmail-output-file-alist 'risky-local-variable t)
 
@@ -23075,7 +23108,7 @@
 ;;;***
 
 ;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from nxml/rng-cmpct.el
 
 (autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -23087,7 +23120,7 @@
 ;;;***
 
 ;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from nxml/rng-nxml.el
 
 (autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -23100,7 +23133,7 @@
 ;;;***
 
 ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from nxml/rng-valid.el
 
 (autoload 'rng-validate-mode "rng-valid" "\
@@ -23130,8 +23163,8 @@
 
 ;;;***
 
-;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from nxml/rng-xsd.el
 
 (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile)
@@ -23159,7 +23192,7 @@
 ;;;***
 
 ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
-;;;;;;  "robin" "international/robin.el" (19352 21358))
+;;;;;;  "robin" "international/robin.el" (19383 49281))
 ;;; Generated autoloads from international/robin.el
 
 (autoload 'robin-define-package "robin" "\
@@ -23192,7 +23225,7 @@
 ;;;***
 
 ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;;  rot13-string rot13) "rot13" "rot13.el" (19352 21358))
+;;;;;;  rot13-string rot13) "rot13" "rot13.el" (19383 49281))
 ;;; Generated autoloads from rot13.el
 
 (autoload 'rot13 "rot13" "\
@@ -23230,7 +23263,7 @@
 ;;;***
 
 ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from textmodes/rst.el
  (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
 
@@ -23268,7 +23301,7 @@
 ;;;***
 
 ;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49281))
 ;;; Generated autoloads from progmodes/ruby-mode.el
 
 (autoload 'ruby-mode "ruby-mode" "\
@@ -23289,8 +23322,8 @@
 
 ;;;***
 
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from ruler-mode.el
 
 (autoload 'ruler-mode "ruler-mode" "\
@@ -23300,8 +23333,8 @@
 
 ;;;***
 
-;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (19383
+;;;;;;  49281))
 ;;; Generated autoloads from emacs-lisp/rx.el
 
 (autoload 'rx-to-string "rx" "\
@@ -23611,7 +23644,7 @@
 ;;;***
 
 ;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from savehist.el
 
 (defvar savehist-mode nil "\
@@ -23637,7 +23670,7 @@
 ;;;***
 
 ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from progmodes/scheme.el
 
 (autoload 'scheme-mode "scheme" "\
@@ -23679,7 +23712,7 @@
 ;;;***
 
 ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from gnus/score-mode.el
 
 (autoload 'gnus-score-mode "score-mode" "\
@@ -23693,7 +23726,7 @@
 ;;;***
 
 ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from scroll-all.el
 
 (defvar scroll-all-mode nil "\
@@ -23716,7 +23749,7 @@
 ;;;***
 
 ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from scroll-lock.el
 
 (autoload 'scroll-lock-mode "scroll-lock" "\
@@ -23731,7 +23764,7 @@
 ;;;***
 
 ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
-;;;;;;  "cedet/semantic.el" (19352 21362))
+;;;;;;  "cedet/semantic.el" (19383 49276))
 ;;; Generated autoloads from cedet/semantic.el
 
 (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -23783,7 +23816,7 @@
 ;;;;;;  mail-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" (19374 15070))
+;;;;;;  "sendmail" "mail/sendmail.el" (19383 49284))
 ;;; Generated autoloads from mail/sendmail.el
 
 (defvar mail-from-style 'default "\
@@ -24082,8 +24115,8 @@
 ;;;***
 
 ;;;### (autoloads (server-save-buffers-kill-terminal server-mode
-;;;;;;  server-force-delete server-start) "server" "server.el" (19352
-;;;;;;  21358))
+;;;;;;  server-force-delete server-start) "server" "server.el" (19392
+;;;;;;  53767))
 ;;; Generated autoloads from server.el
 
 (autoload 'server-start "server" "\
@@ -24137,7 +24170,7 @@
 
 ;;;***
 
-;;;### (autoloads (ses-mode) "ses" "ses.el" (19352 21358))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (19383 49282))
 ;;; Generated autoloads from ses.el
 
 (autoload 'ses-mode "ses" "\
@@ -24156,7 +24189,7 @@
 ;;;***
 
 ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from textmodes/sgml-mode.el
 
 (autoload 'sgml-mode "sgml-mode" "\
@@ -24222,7 +24255,7 @@
 ;;;***
 
 ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;;  (19352 21361))
+;;;;;;  (19383 49284))
 ;;; Generated autoloads from progmodes/sh-script.el
 (put 'sh-shell 'safe-local-variable 'symbolp)
 
@@ -24286,7 +24319,7 @@
 
 ;;;***
 
-;;;### (autoloads (sha1) "sha1" "sha1.el" (19352 21358))
+;;;### (autoloads (sha1) "sha1" "sha1.el" (19383 49282))
 ;;; Generated autoloads from sha1.el
 
 (autoload 'sha1 "sha1" "\
@@ -24301,7 +24334,7 @@
 ;;;***
 
 ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from emacs-lisp/shadow.el
 
 (autoload 'list-load-path-shadows "shadow" "\
@@ -24351,8 +24384,8 @@
 ;;;***
 
 ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
-;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (19352
-;;;;;;  21358))
+;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from shadowfile.el
 
 (autoload 'shadow-define-cluster "shadowfile" "\
@@ -24391,7 +24424,7 @@
 ;;;***
 
 ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from shell.el
 
 (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -24441,7 +24474,7 @@
 ;;;***
 
 ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;;  "sieve" "gnus/sieve.el" (19352 21358))
+;;;;;;  "sieve" "gnus/sieve.el" (19383 49282))
 ;;; Generated autoloads from gnus/sieve.el
 
 (autoload 'sieve-manage "sieve" "\
@@ -24462,7 +24495,7 @@
 ;;;***
 
 ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from gnus/sieve-mode.el
 
 (autoload 'sieve-mode "sieve-mode" "\
@@ -24477,8 +24510,8 @@
 
 ;;;***
 
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from progmodes/simula.el
 
 (autoload 'simula-mode "simula" "\
@@ -24527,7 +24560,7 @@
 ;;;***
 
 ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;;  define-skeleton) "skeleton" "skeleton.el" (19352 21358))
+;;;;;;  define-skeleton) "skeleton" "skeleton.el" (19383 49282))
 ;;; Generated autoloads from skeleton.el
 
 (defvar skeleton-filter-function 'identity "\
@@ -24637,7 +24670,7 @@
 ;;;***
 
 ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff)
-;;;;;;  "smerge-mode" "smerge-mode.el" (19352 21358))
+;;;;;;  "smerge-mode" "smerge-mode.el" (19383 49282))
 ;;; Generated autoloads from smerge-mode.el
 
 (autoload 'smerge-ediff "smerge-mode" "\
@@ -24662,7 +24695,7 @@
 ;;;***
 
 ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;;  (19367 42950))
+;;;;;;  (19383 49285))
 ;;; Generated autoloads from gnus/smiley.el
 
 (autoload 'smiley-region "smiley" "\
@@ -24680,7 +24713,7 @@
 ;;;***
 
 ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
-;;;;;;  "mail/smtpmail.el" (19352 21358))
+;;;;;;  "mail/smtpmail.el" (19383 49282))
 ;;; Generated autoloads from mail/smtpmail.el
 
 (autoload 'smtpmail-send-it "smtpmail" "\
@@ -24695,7 +24728,7 @@
 
 ;;;***
 
-;;;### (autoloads (snake) "snake" "play/snake.el" (19352 21358))
+;;;### (autoloads (snake) "snake" "play/snake.el" (19383 49282))
 ;;; Generated autoloads from play/snake.el
 
 (autoload 'snake "snake" "\
@@ -24719,7 +24752,7 @@
 ;;;***
 
 ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from net/snmp-mode.el
 
 (autoload 'snmp-mode "snmp-mode" "\
@@ -24748,8 +24781,8 @@
 
 ;;;***
 
-;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from calendar/solar.el
 
 (autoload 'sunrise-sunset "solar" "\
@@ -24764,8 +24797,8 @@
 
 ;;;***
 
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from play/solitaire.el
 
 (autoload 'solitaire "solitaire" "\
@@ -24842,7 +24875,7 @@
 
 ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
 ;;;;;;  sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;;  sort-lines sort-subr) "sort" "sort.el" (19352 21358))
+;;;;;;  sort-lines sort-subr) "sort" "sort.el" (19383 49282))
 ;;; Generated autoloads from sort.el
 (put 'sort-fold-case 'safe-local-variable 'booleanp)
 
@@ -24986,8 +25019,8 @@
 
 ;;;***
 
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from gnus/spam.el
 
 (autoload 'spam-initialize "spam" "\
@@ -25003,7 +25036,7 @@
 
 ;;;### (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" (19352 21358))
+;;;;;;  "gnus/spam-report.el" (19383 49282))
 ;;; Generated autoloads from gnus/spam-report.el
 
 (autoload 'spam-report-process-queue "spam-report" "\
@@ -25046,7 +25079,7 @@
 ;;;***
 
 ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;;  "speedbar.el" (19352 21358))
+;;;;;;  "speedbar.el" (19383 49282))
 ;;; Generated autoloads from speedbar.el
 
 (defalias 'speedbar 'speedbar-frame-mode)
@@ -25071,7 +25104,7 @@
 ;;;***
 
 ;;;### (autoloads (spell-string spell-region spell-word spell-buffer)
-;;;;;;  "spell" "textmodes/spell.el" (19352 21358))
+;;;;;;  "spell" "textmodes/spell.el" (19383 49282))
 ;;; Generated autoloads from textmodes/spell.el
 
 (put 'spell-filter 'risky-local-variable t)
@@ -25115,8 +25148,8 @@
 
 ;;;***
 
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from play/spook.el
 
 (autoload 'spook "spook" "\
@@ -25134,8 +25167,8 @@
 ;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres
 ;;;;;;  sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
 ;;;;;;  sql-sybase sql-oracle sql-product-interactive sql-mode sql-help
-;;;;;;  sql-add-product-keywords) "sql" "progmodes/sql.el" (19352
-;;;;;;  21358))
+;;;;;;  sql-add-product-keywords) "sql" "progmodes/sql.el" (19412
+;;;;;;  35030))
 ;;; Generated autoloads from progmodes/sql.el
 
 (autoload 'sql-add-product-keywords "sql" "\
@@ -25253,7 +25286,7 @@
 defaults, if set.  Additional command line parameters can be stored in
 the list `sql-oracle-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25279,7 +25312,7 @@
 `sql-database' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-sybase-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25303,7 +25336,7 @@
 Interpreter used comes from variable `sql-informix-program'.  Login uses
 the variable `sql-database' as default, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25331,7 +25364,7 @@
 `sql-server' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-sqlite-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25359,7 +25392,7 @@
 `sql-server' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-mysql-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25384,7 +25417,7 @@
 the variables `sql-user', `sql-password', and `sql-server' as
 defaults, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25408,7 +25441,7 @@
 Interpreter used comes from variable `sql-ingres-program'.  Login uses
 the variable `sql-database' as default, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25434,7 +25467,7 @@
 as defaults, if set.  Additional command line parameters can be stored
 in the list `sql-ms-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25460,7 +25493,7 @@
 Additional command line parameters can be stored in the list
 `sql-postgres-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25490,7 +25523,7 @@
 uses the variables `sql-user', `sql-password', and `sql-database' as
 defaults, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -25514,7 +25547,7 @@
 Interpreter used comes from variable `sql-db2-program'.  There is not
 automatic login.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 If you use \\[sql-accumulate-and-indent] to send multiline commands to
@@ -25552,7 +25585,7 @@
 for this to work).  If `sql-password' is an empty string, inl will use
 an empty password.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)
@@ -25562,7 +25595,7 @@
 ;;;***
 
 ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from cedet/srecode/srt-mode.el
 
 (autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -25578,8 +25611,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21358))
+;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from strokes.el
 
 (autoload 'strokes-global-set-stroke "strokes" "\
@@ -25689,7 +25722,7 @@
 ;;;***
 
 ;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;;  "studly" "play/studly.el" (19352 21358))
+;;;;;;  "studly" "play/studly.el" (19383 49282))
 ;;; Generated autoloads from play/studly.el
 
 (autoload 'studlify-region "studly" "\
@@ -25710,7 +25743,7 @@
 ;;;***
 
 ;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from progmodes/subword.el
 
 (autoload 'subword-mode "subword" "\
@@ -25758,7 +25791,7 @@
 ;;;***
 
 ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from mail/supercite.el
 
 (autoload 'sc-cite-original "supercite" "\
@@ -25790,8 +25823,8 @@
 
 ;;;***
 
-;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from t-mouse.el
 
 (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -25818,7 +25851,7 @@
 
 ;;;***
 
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19352 21358))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19383 49282))
 ;;; Generated autoloads from tabify.el
 
 (autoload 'untabify "tabify" "\
@@ -25853,7 +25886,7 @@
 ;;;;;;  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" (19352 21358))
+;;;;;;  "table" "textmodes/table.el" (19383 49282))
 ;;; Generated autoloads from textmodes/table.el
 
 (defvar table-cell-map-hook nil "\
@@ -26441,7 +26474,7 @@
 
 ;;;***
 
-;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19352 21358))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19383 49282))
 ;;; Generated autoloads from talk.el
 
 (autoload 'talk-connect "talk" "\
@@ -26456,7 +26489,7 @@
 
 ;;;***
 
-;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19352 21358))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19383 49282))
 ;;; Generated autoloads from tar-mode.el
 
 (autoload 'tar-mode "tar-mode" "\
@@ -26480,7 +26513,7 @@
 ;;;***
 
 ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;;  "progmodes/tcl.el" (19352 21358))
+;;;;;;  "progmodes/tcl.el" (19383 49282))
 ;;; Generated autoloads from progmodes/tcl.el
 
 (autoload 'tcl-mode "tcl" "\
@@ -26531,7 +26564,7 @@
 
 ;;;***
 
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (19352 21358))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (19383 49282))
 ;;; Generated autoloads from net/telnet.el
  (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)"))
 
@@ -26559,7 +26592,7 @@
 ;;;***
 
 ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from term.el
 
 (autoload 'make-term "term" "\
@@ -26601,8 +26634,8 @@
 
 ;;;***
 
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19352
-;;;;;;  21358))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from terminal.el
 
 (autoload 'terminal-emulator "terminal" "\
@@ -26639,7 +26672,7 @@
 ;;;***
 
 ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from emacs-lisp/testcover.el
 
 (autoload 'testcover-this-defun "testcover" "\
@@ -26649,7 +26682,7 @@
 
 ;;;***
 
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19352 21358))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19383 49282))
 ;;; Generated autoloads from play/tetris.el
 
 (autoload 'tetris "tetris" "\
@@ -26680,7 +26713,7 @@
 ;;;;;;  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"
-;;;;;;  (19371 46148))
+;;;;;;  (19387 22082))
 ;;; Generated autoloads from textmodes/tex-mode.el
 
 (defvar tex-shell-file-name nil "\
@@ -26982,7 +27015,7 @@
 ;;;***
 
 ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;;  "texinfmt" "textmodes/texinfmt.el" (19352 21358))
+;;;;;;  "texinfmt" "textmodes/texinfmt.el" (19383 49282))
 ;;; Generated autoloads from textmodes/texinfmt.el
 
 (autoload 'texinfo-format-buffer "texinfmt" "\
@@ -27022,7 +27055,7 @@
 ;;;***
 
 ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
-;;;;;;  "texinfo" "textmodes/texinfo.el" (19352 21358))
+;;;;;;  "texinfo" "textmodes/texinfo.el" (19383 49282))
 ;;; Generated autoloads from textmodes/texinfo.el
 
 (defvar texinfo-open-quote (purecopy "``") "\
@@ -27108,7 +27141,7 @@
 
 ;;;### (autoloads (thai-composition-function thai-compose-buffer
 ;;;;;;  thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;;  (19352 21358))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from language/thai-util.el
 
 (autoload 'thai-compose-region "thai-util" "\
@@ -27137,7 +27170,7 @@
 
 ;;;### (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" (19352 21358))
+;;;;;;  "thingatpt" "thingatpt.el" (19383 49282))
 ;;; Generated autoloads from thingatpt.el
 
 (autoload 'forward-thing "thingatpt" "\
@@ -27194,7 +27227,7 @@
 
 ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked
 ;;;;;;  thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from thumbs.el
 
 (autoload 'thumbs-find-thumb "thumbs" "\
@@ -27232,8 +27265,8 @@
 ;;;;;;  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" (19352
-;;;;;;  21359))
+;;;;;;  tibetan-char-p) "tibet-util" "language/tibet-util.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from language/tibet-util.el
 
 (autoload 'tibetan-char-p "tibet-util" "\
@@ -27307,7 +27340,7 @@
 ;;;***
 
 ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from textmodes/tildify.el
 
 (autoload 'tildify-region "tildify" "\
@@ -27332,7 +27365,7 @@
 
 ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
 ;;;;;;  display-time-mode display-time display-time-day-and-date)
-;;;;;;  "time" "time.el" (19352 21359))
+;;;;;;  "time" "time.el" (19383 49282))
 ;;; Generated autoloads from time.el
 
 (defvar display-time-day-and-date nil "\
@@ -27395,7 +27428,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from calendar/time-date.el
 
 (autoload 'date-to-time "time-date" "\
@@ -27508,7 +27541,7 @@
 ;;;***
 
 ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;;  "time-stamp.el" (19352 21359))
+;;;;;;  "time-stamp.el" (19383 49282))
 ;;; 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)
@@ -27552,7 +27585,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from calendar/timeclock.el
 
 (autoload 'timeclock-modeline-display "timeclock" "\
@@ -27652,7 +27685,7 @@
 ;;;***
 
 ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;;  "international/titdic-cnv.el" (19352 21359))
+;;;;;;  "international/titdic-cnv.el" (19383 49282))
 ;;; Generated autoloads from international/titdic-cnv.el
 
 (autoload 'titdic-convert "titdic-cnv" "\
@@ -27675,7 +27708,7 @@
 ;;;***
 
 ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;;  "tmm.el" (19376 53416))
+;;;;;;  "tmm.el" (19383 49284))
 ;;; Generated autoloads from tmm.el
  (define-key global-map "\M-`" 'tmm-menubar)
  (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -27715,7 +27748,7 @@
 
 ;;;### (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" (19352 21359))
+;;;;;;  "todo-mode" "calendar/todo-mode.el" (19383 49282))
 ;;; Generated autoloads from calendar/todo-mode.el
 
 (autoload 'todo-add-category "todo-mode" "\
@@ -27777,7 +27810,7 @@
 
 ;;;### (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" (19352 21359))
+;;;;;;  "tool-bar" "tool-bar.el" (19383 49282))
 ;;; Generated autoloads from tool-bar.el
 
 (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -27850,7 +27883,7 @@
 ;;;***
 
 ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from emulation/tpu-edt.el
 
 (defvar tpu-edt-mode nil "\
@@ -27877,7 +27910,7 @@
 ;;;***
 
 ;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from emulation/tpu-mapper.el
 
 (autoload 'tpu-mapper "tpu-mapper" "\
@@ -27911,7 +27944,7 @@
 
 ;;;***
 
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19352 21359))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19383 49282))
 ;;; Generated autoloads from emacs-lisp/tq.el
 
 (autoload 'tq-create "tq" "\
@@ -27925,7 +27958,7 @@
 ;;;***
 
 ;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;;  "trace" "emacs-lisp/trace.el" (19367 42950))
+;;;;;;  "trace" "emacs-lisp/trace.el" (19383 49285))
 ;;; Generated autoloads from emacs-lisp/trace.el
 
 (defvar trace-buffer (purecopy "*trace-output*") "\
@@ -27962,7 +27995,7 @@
 ;;;### (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" (19356 59749))
+;;;;;;  "net/tramp.el" (19383 49278))
 ;;; Generated autoloads from net/tramp.el
 
 (defvar tramp-mode t "\
@@ -28095,7 +28128,7 @@
 ;;;***
 
 ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from net/tramp-ftp.el
 
 (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -28105,8 +28138,8 @@
 
 ;;;***
 
-;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (19383
+;;;;;;  49282))
 ;;; Generated autoloads from tutorial.el
 
 (autoload 'help-with-tutorial "tutorial" "\
@@ -28131,7 +28164,7 @@
 ;;;***
 
 ;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from language/tv-util.el
 
 (autoload 'tai-viet-composition-function "tv-util" "\
@@ -28142,7 +28175,7 @@
 ;;;***
 
 ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;;  "textmodes/two-column.el" (19352 21359))
+;;;;;;  "textmodes/two-column.el" (19383 49282))
 ;;; Generated autoloads from textmodes/two-column.el
  (autoload '2C-command "two-column" () t 'keymap)
  (global-set-key "\C-x6" '2C-command)
@@ -28193,7 +28226,7 @@
 ;;;;;;  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"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49282))
 ;;; Generated autoloads from type-break.el
 
 (defvar type-break-mode nil "\
@@ -28375,7 +28408,7 @@
 
 ;;;***
 
-;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19352 21359))
+;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19383 49282))
 ;;; Generated autoloads from mail/uce.el
 
 (autoload 'uce-reply-to-uce "uce" "\
@@ -28393,7 +28426,7 @@
 ;;;;;;  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" (19352 21359))
+;;;;;;  "international/ucs-normalize.el" (19383 49282))
 ;;; Generated autoloads from international/ucs-normalize.el
 
 (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -28459,7 +28492,7 @@
 ;;;***
 
 ;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;;  "textmodes/underline.el" (19352 21359))
+;;;;;;  "textmodes/underline.el" (19383 49282))
 ;;; Generated autoloads from textmodes/underline.el
 
 (autoload 'underline-region "underline" "\
@@ -28480,7 +28513,7 @@
 ;;;***
 
 ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from mail/unrmail.el
 
 (autoload 'batch-unrmail "unrmail" "\
@@ -28499,8 +28532,8 @@
 
 ;;;***
 
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from emacs-lisp/unsafep.el
 
 (autoload 'unsafep "unsafep" "\
@@ -28513,7 +28546,7 @@
 ;;;***
 
 ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
-;;;;;;  "url/url.el" (19352 21359))
+;;;;;;  "url/url.el" (19383 49283))
 ;;; Generated autoloads from url/url.el
 
 (autoload 'url-retrieve "url" "\
@@ -28553,7 +28586,7 @@
 ;;;***
 
 ;;;### (autoloads (url-register-auth-scheme url-get-authentication)
-;;;;;;  "url-auth" "url/url-auth.el" (19352 21359))
+;;;;;;  "url-auth" "url/url-auth.el" (19383 49283))
 ;;; Generated autoloads from url/url-auth.el
 
 (autoload 'url-get-authentication "url-auth" "\
@@ -28595,8 +28628,8 @@
 ;;;***
 
 ;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached
-;;;;;;  url-store-in-cache) "url-cache" "url/url-cache.el" (19352
-;;;;;;  21359))
+;;;;;;  url-store-in-cache) "url-cache" "url/url-cache.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from url/url-cache.el
 
 (autoload 'url-store-in-cache "url-cache" "\
@@ -28621,7 +28654,7 @@
 
 ;;;***
 
-;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19352 21359))
+;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19383 49283))
 ;;; Generated autoloads from url/url-cid.el
 
 (autoload 'url-cid "url-cid" "\
@@ -28632,7 +28665,7 @@
 ;;;***
 
 ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
-;;;;;;  "url/url-dav.el" (19352 21359))
+;;;;;;  "url/url-dav.el" (19383 49283))
 ;;; Generated autoloads from url/url-dav.el
 
 (autoload 'url-dav-supported-p "url-dav" "\
@@ -28647,8 +28680,8 @@
 
 ;;;***
 
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from url/url-file.el
 
 (autoload 'url-file "url-file" "\
@@ -28659,7 +28692,7 @@
 ;;;***
 
 ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;;  "url/url-gw.el" (19352 21359))
+;;;;;;  "url/url-gw.el" (19383 49283))
 ;;; Generated autoloads from url/url-gw.el
 
 (autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -28679,7 +28712,7 @@
 
 ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
 ;;;;;;  url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from url/url-handlers.el
 
 (defvar url-handler-mode nil "\
@@ -28731,7 +28764,7 @@
 ;;;***
 
 ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;;  url-http) "url-http" "url/url-http.el" (19352 21359))
+;;;;;;  url-http) "url-http" "url/url-http.el" (19383 49283))
 ;;; Generated autoloads from url/url-http.el
 
 (autoload 'url-http "url-http" "\
@@ -28797,7 +28830,7 @@
 
 ;;;***
 
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19352 21359))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19383 49283))
 ;;; Generated autoloads from url/url-irc.el
 
 (autoload 'url-irc "url-irc" "\
@@ -28807,8 +28840,8 @@
 
 ;;;***
 
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from url/url-ldap.el
 
 (autoload 'url-ldap "url-ldap" "\
@@ -28822,7 +28855,7 @@
 ;;;***
 
 ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from url/url-mailto.el
 
 (autoload 'url-mail "url-mailto" "\
@@ -28838,7 +28871,7 @@
 ;;;***
 
 ;;;### (autoloads (url-data url-generic-emulator-loader url-info
-;;;;;;  url-man) "url-misc" "url/url-misc.el" (19352 21359))
+;;;;;;  url-man) "url-misc" "url/url-misc.el" (19383 49283))
 ;;; Generated autoloads from url/url-misc.el
 
 (autoload 'url-man "url-misc" "\
@@ -28870,7 +28903,7 @@
 ;;;***
 
 ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from url/url-news.el
 
 (autoload 'url-news "url-news" "\
@@ -28887,7 +28920,7 @@
 
 ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
 ;;;;;;  dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from url/url-ns.el
 
 (autoload 'isPlainHostName "url-ns" "\
@@ -28928,7 +28961,7 @@
 ;;;***
 
 ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;;  "url/url-parse.el" (19352 21359))
+;;;;;;  "url/url-parse.el" (19383 49283))
 ;;; Generated autoloads from url/url-parse.el
 
 (autoload 'url-recreate-url "url-parse" "\
@@ -28946,7 +28979,7 @@
 ;;;***
 
 ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from url/url-privacy.el
 
 (autoload 'url-setup-privacy-info "url-privacy" "\
@@ -28962,7 +28995,7 @@
 ;;;;;;  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" (19352 21359))
+;;;;;;  "url-util" "url/url-util.el" (19383 49283))
 ;;; Generated autoloads from url/url-util.el
 
 (defvar url-debug nil "\
@@ -29098,7 +29131,7 @@
 ;;;***
 
 ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;;  "userlock" "userlock.el" (19352 21359))
+;;;;;;  "userlock" "userlock.el" (19383 49283))
 ;;; Generated autoloads from userlock.el
 
 (autoload 'ask-user-about-lock "userlock" "\
@@ -29128,7 +29161,7 @@
 
 ;;;### (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" (19352 21359))
+;;;;;;  "utf-7" "international/utf-7.el" (19383 49283))
 ;;; Generated autoloads from international/utf-7.el
 
 (autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -29155,7 +29188,7 @@
 
 ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
 ;;;;;;  uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from mail/uudecode.el
 
 (autoload 'uudecode-decode-region-external "uudecode" "\
@@ -29185,7 +29218,7 @@
 ;;;;;;  vc-create-tag vc-merge vc-insert-headers vc-revision-other-window
 ;;;;;;  vc-root-diff vc-diff vc-version-diff vc-register vc-next-action
 ;;;;;;  vc-before-checkin-hook vc-checkin-hook vc-checkout-hook)
-;;;;;;  "vc" "vc.el" (19371 62620))
+;;;;;;  "vc" "vc.el" (19383 49284))
 ;;; Generated autoloads from vc.el
 
 (defvar vc-checkout-hook nil "\
@@ -29427,8 +29460,8 @@
 
 ;;;***
 
-;;;### (autoloads (vc-annotate) "vc-annotate" "vc-annotate.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (vc-annotate) "vc-annotate" "vc-annotate.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from vc-annotate.el
 
 (autoload 'vc-annotate "vc-annotate" "\
@@ -29463,7 +29496,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-arch" "vc-arch.el" (19352 21359))
+;;;### (autoloads nil "vc-arch" "vc-arch.el" (19383 49283))
 ;;; Generated autoloads from vc-arch.el
  (defun vc-arch-registered (file)
   (if (vc-find-root file "{arch}/=tagging-method")
@@ -29473,7 +29506,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-bzr" "vc-bzr.el" (19352 21363))
+;;;### (autoloads nil "vc-bzr" "vc-bzr.el" (19383 49276))
 ;;; Generated autoloads from vc-bzr.el
 
 (defconst vc-bzr-admin-dirname ".bzr" "\
@@ -29488,7 +29521,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (19352 21363))
+;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (19383 49276))
 ;;; Generated autoloads from vc-cvs.el
  (defun vc-cvs-registered (f)
   (when (file-readable-p (expand-file-name
@@ -29498,7 +29531,7 @@
 
 ;;;***
 
-;;;### (autoloads (vc-dir) "vc-dir" "vc-dir.el" (19352 21359))
+;;;### (autoloads (vc-dir) "vc-dir" "vc-dir.el" (19383 49283))
 ;;; Generated autoloads from vc-dir.el
 
 (autoload 'vc-dir "vc-dir" "\
@@ -29523,7 +29556,7 @@
 ;;;***
 
 ;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc-dispatcher.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from vc-dispatcher.el
 
 (autoload 'vc-do-command "vc-dispatcher" "\
@@ -29546,7 +29579,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-git" "vc-git.el" (19352 21362))
+;;;### (autoloads nil "vc-git" "vc-git.el" (19400 65477))
 ;;; Generated autoloads from vc-git.el
  (defun vc-git-registered (file)
   "Return non-nil if FILE is registered with git."
@@ -29557,7 +29590,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-hg" "vc-hg.el" (19352 21359))
+;;;### (autoloads nil "vc-hg" "vc-hg.el" (19405 52797))
 ;;; Generated autoloads from vc-hg.el
  (defun vc-hg-registered (file)
   "Return non-nil if FILE is registered with hg."
@@ -29568,7 +29601,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-mtn" "vc-mtn.el" (19352 21359))
+;;;### (autoloads nil "vc-mtn" "vc-mtn.el" (19383 49283))
 ;;; Generated autoloads from vc-mtn.el
 
 (defconst vc-mtn-admin-dir "_MTN")
@@ -29583,7 +29616,7 @@
 ;;;***
 
 ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from vc-rcs.el
 
 (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -29597,7 +29630,7 @@
 ;;;***
 
 ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from vc-sccs.el
 
 (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -29614,7 +29647,7 @@
 
 ;;;***
 
-;;;### (autoloads nil "vc-svn" "vc-svn.el" (19352 21360))
+;;;### (autoloads nil "vc-svn" "vc-svn.el" (19383 49276))
 ;;; Generated autoloads from vc-svn.el
  (defun vc-svn-registered (f)
   (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -29630,7 +29663,7 @@
 ;;;***
 
 ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from progmodes/vera-mode.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'")  'vera-mode))
 
@@ -29688,7 +29721,7 @@
 ;;;***
 
 ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from progmodes/verilog-mode.el
 
 (autoload 'verilog-mode "verilog-mode" "\
@@ -29825,7 +29858,7 @@
 ;;;***
 
 ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from progmodes/vhdl-mode.el
 
 (autoload 'vhdl-mode "vhdl-mode" "\
@@ -30366,7 +30399,7 @@
 
 ;;;***
 
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19352 21359))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19383 49283))
 ;;; Generated autoloads from emulation/vi.el
 
 (autoload 'vi-mode "vi" "\
@@ -30421,7 +30454,7 @@
 ;;;### (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" (19352 21359))
+;;;;;;  "language/viet-util.el" (19383 49283))
 ;;; Generated autoloads from language/viet-util.el
 
 (autoload 'viet-encode-viscii-char "viet-util" "\
@@ -30469,7 +30502,7 @@
 ;;;;;;  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" (19352 21359))
+;;;;;;  "view" "view.el" (19383 49283))
 ;;; Generated autoloads from view.el
 
 (defvar view-remove-frame-by-deleting t "\
@@ -30715,8 +30748,8 @@
 
 ;;;***
 
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from emulation/vip.el
 
 (autoload 'vip-setup "vip" "\
@@ -30732,7 +30765,7 @@
 ;;;***
 
 ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from emulation/viper.el
 
 (autoload 'toggle-viper-mode "viper" "\
@@ -30749,7 +30782,7 @@
 ;;;***
 
 ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from emacs-lisp/warnings.el
 
 (defvar warning-prefix-function nil "\
@@ -30839,7 +30872,7 @@
 ;;;***
 
 ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from wdired.el
 
 (autoload 'wdired-change-to-wdired-mode "wdired" "\
@@ -30855,7 +30888,7 @@
 
 ;;;***
 
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19352 21359))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19383 49283))
 ;;; Generated autoloads from net/webjump.el
 
 (autoload 'webjump "webjump" "\
@@ -30872,7 +30905,7 @@
 ;;;***
 
 ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from progmodes/which-func.el
  (put 'which-func-format 'risky-local-variable t)
  (put 'which-func-current 'risky-local-variable t)
@@ -30903,7 +30936,7 @@
 ;;;### (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" (19352 21359))
+;;;;;;  whitespace-mode) "whitespace" "whitespace.el" (19383 49283))
 ;;; Generated autoloads from whitespace.el
 
 (autoload 'whitespace-mode "whitespace" "\
@@ -31302,7 +31335,7 @@
 ;;;***
 
 ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (19352 21359))
+;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (19383 49283))
 ;;; Generated autoloads from wid-browse.el
 
 (autoload 'widget-browse-at "wid-browse" "\
@@ -31329,8 +31362,8 @@
 ;;;***
 
 ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19352
-;;;;;;  21359))
+;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from wid-edit.el
 
 (autoload 'widgetp "wid-edit" "\
@@ -31373,8 +31406,8 @@
 ;;;***
 
 ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (19352
-;;;;;;  21359))
+;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from windmove.el
 
 (autoload 'windmove-left "windmove" "\
@@ -31427,7 +31460,7 @@
 ;;;***
 
 ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from winner.el
 
 (defvar winner-mode nil "\
@@ -31446,7 +31479,7 @@
 ;;;***
 
 ;;;### (autoloads (woman-find-file woman-dired-find-file woman woman-locale)
-;;;;;;  "woman" "woman.el" (19359 48737))
+;;;;;;  "woman" "woman.el" (19383 49285))
 ;;; Generated autoloads from woman.el
 
 (defvar woman-locale nil "\
@@ -31490,7 +31523,7 @@
 ;;;***
 
 ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from emulation/ws-mode.el
 
 (autoload 'wordstar-mode "ws-mode" "\
@@ -31602,7 +31635,7 @@
 
 ;;;***
 
-;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19352 21359))
+;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19383 49283))
 ;;; Generated autoloads from net/xesam.el
 
 (autoload 'xesam-search "xesam" "\
@@ -31622,7 +31655,7 @@
 ;;;***
 
 ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;;  (19352 21359))
+;;;;;;  (19383 49283))
 ;;; Generated autoloads from xml.el
 
 (autoload 'xml-parse-file "xml" "\
@@ -31648,7 +31681,7 @@
 ;;;***
 
 ;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok"
-;;;;;;  "nxml/xmltok.el" (19352 21359))
+;;;;;;  "nxml/xmltok.el" (19383 49283))
 ;;; Generated autoloads from nxml/xmltok.el
 
 (autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -31666,8 +31699,8 @@
 
 ;;;***
 
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (19352
-;;;;;;  21359))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (19383
+;;;;;;  49283))
 ;;; Generated autoloads from xt-mouse.el
 
 (defvar xterm-mouse-mode nil "\
@@ -31696,7 +31729,7 @@
 ;;;***
 
 ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;;  "gnus/yenc.el" (19352 21359))
+;;;;;;  "gnus/yenc.el" (19383 49283))
 ;;; Generated autoloads from gnus/yenc.el
 
 (autoload 'yenc-decode-region "yenc" "\
@@ -31712,7 +31745,7 @@
 ;;;***
 
 ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;;  yow) "yow" "play/yow.el" (19352 21359))
+;;;;;;  yow) "yow" "play/yow.el" (19383 49283))
 ;;; Generated autoloads from play/yow.el
 
 (autoload 'yow "yow" "\
@@ -31738,7 +31771,7 @@
 
 ;;;***
 
-;;;### (autoloads (zone) "zone" "play/zone.el" (19352 21359))
+;;;### (autoloads (zone) "zone" "play/zone.el" (19383 49283))
 ;;; Generated autoloads from play/zone.el
 
 (autoload 'zone "zone" "\
@@ -31873,26 +31906,25 @@
 ;;;;;;  "gnus/rfc2047.el" "gnus/rfc2104.el" "gnus/rfc2231.el" "gnus/sieve-manage.el"
 ;;;;;;  "gnus/smime.el" "gnus/spam-stat.el" "gnus/spam-wash.el" "gnus/starttls.el"
 ;;;;;;  "gnus/utf7.el" "gnus/webmail.el" "hex-util.el" "hfy-cmap.el"
-;;;;;;  "htmlfontify.el" "ibuf-ext.el" "international/charprop.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"
-;;;;;;  "international/uni-decomposition.el" "international/uni-digit.el"
-;;;;;;  "international/uni-lowercase.el" "international/uni-mirrored.el"
-;;;;;;  "international/uni-name.el" "international/uni-numeric.el"
-;;;;;;  "international/uni-old-name.el" "international/uni-titlecase.el"
-;;;;;;  "international/uni-uppercase.el" "json.el" "kermit.el" "language/hanja-util.el"
-;;;;;;  "language/thai-word.el" "ldefs-boot.el" "mail/blessmail.el"
-;;;;;;  "mail/mailheader.el" "mail/mailpost.el" "mail/mspools.el"
-;;;;;;  "mail/rfc2368.el" "mail/rfc822.el" "mail/rmail-spam-filter.el"
-;;;;;;  "mail/rmailedit.el" "mail/rmailkwd.el" "mail/rmailmm.el"
-;;;;;;  "mail/rmailmsc.el" "mail/rmailsort.el" "mail/rmailsum.el"
-;;;;;;  "mail/undigest.el" "md4.el" "mh-e/mh-acros.el" "mh-e/mh-alias.el"
-;;;;;;  "mh-e/mh-buffers.el" "mh-e/mh-compat.el" "mh-e/mh-funcs.el"
-;;;;;;  "mh-e/mh-gnus.el" "mh-e/mh-identity.el" "mh-e/mh-inc.el"
-;;;;;;  "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el"
+;;;;;;  "ibuf-ext.el" "international/charprop.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" "international/uni-decomposition.el"
+;;;;;;  "international/uni-digit.el" "international/uni-lowercase.el"
+;;;;;;  "international/uni-mirrored.el" "international/uni-name.el"
+;;;;;;  "international/uni-numeric.el" "international/uni-old-name.el"
+;;;;;;  "international/uni-titlecase.el" "international/uni-uppercase.el"
+;;;;;;  "json.el" "kermit.el" "language/hanja-util.el" "language/thai-word.el"
+;;;;;;  "ldefs-boot.el" "mail/blessmail.el" "mail/mailheader.el"
+;;;;;;  "mail/mailpost.el" "mail/mspools.el" "mail/rfc2368.el" "mail/rfc822.el"
+;;;;;;  "mail/rmail-spam-filter.el" "mail/rmailedit.el" "mail/rmailkwd.el"
+;;;;;;  "mail/rmailmm.el" "mail/rmailmsc.el" "mail/rmailsort.el"
+;;;;;;  "mail/rmailsum.el" "mail/undigest.el" "md4.el" "mh-e/mh-acros.el"
+;;;;;;  "mh-e/mh-alias.el" "mh-e/mh-buffers.el" "mh-e/mh-compat.el"
+;;;;;;  "mh-e/mh-funcs.el" "mh-e/mh-gnus.el" "mh-e/mh-identity.el"
+;;;;;;  "mh-e/mh-inc.el" "mh-e/mh-junk.el" "mh-e/mh-letter.el" "mh-e/mh-limit.el"
 ;;;;;;  "mh-e/mh-loaddefs.el" "mh-e/mh-mime.el" "mh-e/mh-print.el"
 ;;;;;;  "mh-e/mh-scan.el" "mh-e/mh-search.el" "mh-e/mh-seq.el" "mh-e/mh-show.el"
 ;;;;;;  "mh-e/mh-speed.el" "mh-e/mh-thread.el" "mh-e/mh-tool-bar.el"
@@ -31939,8 +31971,8 @@
 ;;;;;;  "url/url-expand.el" "url/url-ftp.el" "url/url-history.el"
 ;;;;;;  "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el"
 ;;;;;;  "url/url-vars.el" "vc-dav.el" "vcursor.el" "vt-control.el"
-;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (19382
-;;;;;;  35538 347447))
+;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (19428
+;;;;;;  55161 909254))
 
 ;;;***
 
--- a/lisp/mail/rmail-spam-filter.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/mail/rmail-spam-filter.el	Fri Aug 27 23:05:43 2010 +0900
@@ -414,7 +414,7 @@
     ;; to make sure message-subject is actually evaluated and its value
     ;; substituted.
     (add-to-list 'rsf-definitions-alist
-		 ;; Note that an empty elment is treated the same as
+		 ;; Note that an empty element is treated the same as
 		 ;; an absent one, so why does it bother to add them?
 		 (list '(from . "")
 		       '(to . "")
--- a/lisp/mail/rmail.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/mail/rmail.el	Fri Aug 27 23:05:43 2010 +0900
@@ -4291,7 +4291,7 @@
 
 ;;;***
 
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "93033f2136fcd111e2b52a116ff4cf29")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "4a7502b4aeb3bd5f2111b48cc6512924")
 ;;; Generated autoloads from rmailmm.el
 
 (autoload 'rmail-mime "rmailmm" "\
--- a/lisp/mail/rmailmm.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/mail/rmailmm.el	Fri Aug 27 23:05:43 2010 +0900
@@ -112,6 +112,10 @@
 			(file-name-as-directory filename))))
     (with-temp-buffer
       (set-buffer-file-coding-system 'no-conversion)
+      ;; Needed e.g. by jka-compr, so if the attachment is a compressed
+      ;; file, the magic signature compares equal with the unibyte
+      ;; signature string recorded in jka-compr-compression-info-list.
+      (set-buffer-multibyte nil)
       (insert data)
       (write-region nil nil filename nil nil nil t))))
 
--- a/lisp/man.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/man.el	Fri Aug 27 23:05:43 2010 +0900
@@ -754,6 +754,9 @@
   (cond
    ((eq action 'lambda)
     (not (string-match "([^)]*\\'" string)))
+   ((equal string "-k")
+    ;; Let SPC (minibuffer-complete-word) insert the space.
+    (complete-with-action action '("-k ") string pred))
    (t
     (let ((table (cdr Man-completion-cache))
           (section nil)
--- a/lisp/mh-e/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/mh-e/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-03-22  Juanma Barranquero  <lekktu@gmail.com>
 
 	* mh-scan.el (mh-scan-cmd-note-width): Doc fix.
--- a/lisp/minibuffer.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/minibuffer.el	Fri Aug 27 23:05:43 2010 +0900
@@ -381,18 +381,32 @@
 (defconst completion-styles-alist
   '((emacs21
      completion-emacs21-try-completion completion-emacs21-all-completions
-     "Simple prefix-based completion.")
+     "Simple prefix-based completion.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foobar*\".")
     (emacs22
      completion-emacs22-try-completion completion-emacs22-all-completions
-     "Prefix completion that only operates on the text before point.")
+     "Prefix completion that only operates on the text before point.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foo*\" and will add back \"bar\" to the end of it.")
     (basic
      completion-basic-try-completion completion-basic-all-completions
-     "Completion of the prefix before point and the suffix after point.")
+     "Completion of the prefix before point and the suffix after point.
+I.e. when completing \"foo_bar\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"foo*bar*\".")
     (partial-completion
      completion-pcm-try-completion completion-pcm-all-completions
      "Completion of multiple words, each one taken as a prefix.
-E.g. M-x l-c-h can complete to list-command-history
-and C-x C-f /u/m/s to /usr/monnier/src.")
+I.e. when completing \"l-co_h\" (where _ is the position of point),
+it will consider all completions candidates matching the glob
+pattern \"l*-co*h*\".
+Furthermore, for completions that are done step by step in subfields,
+the method is applied to all the preceding fields that do not yet match.
+E.g. C-x C-f /u/mo/s TAB could complete to /usr/monnier/src.
+Additionally the user can use the char \"*\" as a glob pattern.")
     (initials
      completion-initials-try-completion completion-initials-all-completions
      "Completion of acronyms and initialisms.
@@ -407,7 +421,19 @@
 follow the calling convention of `completion-all-completions'),
 and DOC describes the way this style of completion works.")
 
-(defcustom completion-styles '(basic partial-completion emacs22)
+(defcustom completion-styles
+  ;; First, use `basic' because prefix completion has been the standard
+  ;; for "ever" and works well in most cases, so using it first
+  ;; ensures that we obey previous behavior in most cases.
+  '(basic
+    ;; Then use `partial-completion' because it has proven to
+    ;; be a very convenient extension.
+    partial-completion
+    ;; Finally use `emacs22' so as to maintain (in many/most cases)
+    ;; the previous behavior that when completing "foobar" with point
+    ;; between "foo" and "bar" the completion try to complete "foo"
+    ;; and simply add "bar" to the end of the result.
+    emacs22)
   "List of completion styles to use.
 The available styles are listed in `completion-styles-alist'."
   :type `(repeat (choice ,@(mapcar (lambda (x) (list 'const (car x)))
@@ -1137,7 +1163,9 @@
  `:annotation-function' the value to use for `completion-annotate-function'.")
 
 (defun completion-at-point ()
-  "Complete the thing at point according to local mode."
+  "Complete the thing at point according to local mode.
+This runs the hook `completion-at-point-functions' until a member returns
+non-nil."
   (interactive)
   (let ((res (run-hook-with-args-until-success
               'completion-at-point-functions)))
--- a/lisp/mouse.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/mouse.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2483,6 +2483,7 @@
 (declare-function font-face-attributes "font.c" (font &optional frame))
 
 (defun mouse-appearance-menu (event)
+  "Show a menu for changing the default face in the current buffer."
   (interactive "@e")
   (require 'face-remap)
   (when (display-multi-font-p)
--- a/lisp/net/dbus.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/net/dbus.el	Fri Aug 27 23:05:43 2010 +0900
@@ -38,6 +38,7 @@
 (declare-function dbus-method-return-internal "dbusbind.c")
 (declare-function dbus-method-error-internal "dbusbind.c")
 (declare-function dbus-register-signal "dbusbind.c")
+(declare-function dbus-register-method "dbusbind.c")
 (defvar dbus-debug)
 (defvar dbus-registered-objects-table)
 
@@ -398,7 +399,7 @@
   "Handle events from the D-Bus.
 EVENT is a D-Bus event, see `dbus-check-event'.  HANDLER, being
 part of the event, is called with arguments ARGS.
-If the HANDLER returns an `dbus-error', it is propagated as return message."
+If the HANDLER returns a `dbus-error', it is propagated as return message."
   (interactive "e")
   (condition-case err
       (let (result)
@@ -434,8 +435,7 @@
   "Return the bus name the event is coming from.
 The result is either the symbol `:system' or the symbol `:session'.
 EVENT is a D-Bus event, see `dbus-check-event'.  This function
-raises a `dbus-error' signal in case the event is not well
-formed."
+raises a `dbus-error' signal in case the event is not well formed."
   (dbus-check-event event)
   (nth 1 event))
 
@@ -562,7 +562,7 @@
 ;;; D-Bus introspection.
 
 (defun dbus-introspect (bus service path)
-  "This function returns all interfaces and sub-nodes of SERVICE,
+  "Return all interfaces and sub-nodes of SERVICE,
 registered at object path PATH at bus BUS.
 
 BUS must be either the symbol `:system' or the symbol `:session'.
@@ -634,9 +634,8 @@
 (defun dbus-introspect-get-interface (bus service path interface)
   "Return the INTERFACE of SERVICE in D-Bus BUS at object path PATH.
 The return value is an XML object.  INTERFACE must be a string,
-element of the list returned by
-`dbus-introspect-get-interface-names'.  The resulting
-\"interface\" object can contain \"method\", \"signal\",
+element of the list returned by `dbus-introspect-get-interface-names'.
+The resulting \"interface\" object can contain \"method\", \"signal\",
 \"property\" and \"annotation\" children."
   (let ((elt (xml-get-children
 	      (dbus-introspect-xml bus service path) 'interface)))
@@ -776,8 +775,8 @@
 
 (defun dbus-introspect-get-argument (bus service path interface name arg)
   "Return argument ARG as XML object.
-NAME must be a \"method\" or \"signal\" object.  ARG must be a
-string, element of the list returned by `dbus-introspect-get-argument-names'."
+NAME must be a \"method\" or \"signal\" object.  ARG must be a string,
+element of the list returned by `dbus-introspect-get-argument-names'."
   (let ((elt (xml-get-children
 	      (or (dbus-introspect-get-method bus service path interface name)
 		  (dbus-introspect-get-signal bus service path interface name))
@@ -922,7 +921,7 @@
     (list key (list service path))))
 
 (defun dbus-property-handler (&rest args)
-  "Default Handler for the \"org.freedesktop.DBus.Properties\" interface.
+  "Default handler for the \"org.freedesktop.DBus.Properties\" interface.
 It will be registered for all objects created by `dbus-register-object'."
   (let ((bus (dbus-event-bus-name last-input-event))
 	(path (dbus-event-path-name last-input-event))
--- a/lisp/net/rcirc.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/net/rcirc.el	Fri Aug 27 23:05:43 2010 +0900
@@ -80,6 +80,11 @@
 VALUE must be a string.  If absent, `rcirc-default-user-name' is
 used.
 
+`:password'
+
+VALUE must be a string.  If absent, no PASS command will be sent
+to the server.
+
 `:full-name'
 
 VALUE must be a string.  If absent, `rcirc-default-full-name' is
@@ -94,6 +99,7 @@
 		:value-type (plist :options ((:nick string)
 					     (:port integer)
 					     (:user-name string)
+					     (:password string)
 					     (:full-name string)
 					     (:channels (repeat string)))))
   :group 'rcirc)
@@ -393,6 +399,8 @@
 				(or (plist-get server-plist :nick)
 				    rcirc-default-nick)
 				'rcirc-nick-name-history))
+             (password (read-passwd "IRC Password: "
+                                    (plist-get server-plist 'password)))
 	     (channels (split-string
 			(read-string "IRC Channels: "
 				     (mapconcat 'identity
@@ -400,9 +408,13 @@
 							   :channels)
 						" "))
 			"[, ]+" t)))
+
+        (when (= 0 (length password))
+          (setq password nil))
+
 	(rcirc-connect server port nick rcirc-default-user-name
 		       rcirc-default-full-name
-		       channels))
+		       channels password))
     ;; connect to servers in `rcirc-server-alist'
     (let (connected-servers)
       (dolist (c rcirc-server-alist)
@@ -413,7 +425,8 @@
 			     rcirc-default-user-name))
 	      (full-name (or (plist-get (cdr c) :full-name)
 			     rcirc-default-full-name))
-	      (channels (plist-get (cdr c) :channels)))
+	      (channels (plist-get (cdr c) :channels))
+              (password (plist-get (cdr c) :password)))
 	  (when server
 	    (let (connected)
 	      (dolist (p (rcirc-process-list))
@@ -422,7 +435,7 @@
 	      (if (not connected)
 		  (condition-case e
 		      (rcirc-connect server port nick user-name
-				     full-name channels)
+				     full-name channels password)
 		    (quit (message "Quit connecting to %s" server)))
 		(with-current-buffer (process-buffer connected)
 		  (setq connected-servers
@@ -454,7 +467,7 @@
 
 ;;;###autoload
 (defun rcirc-connect (server &optional port nick user-name full-name
-			     startup-channels)
+			     startup-channels password)
   (save-excursion
     (message "Connecting to %s..." server)
     (let* ((inhibit-eol-conversion)
@@ -503,6 +516,8 @@
       (add-hook 'auto-save-hook 'rcirc-log-write)
 
       ;; identify
+      (when password
+        (rcirc-send-string process (concat "PASS " password)))
       (rcirc-send-string process (concat "NICK " nick))
       (rcirc-send-string process (concat "USER " user-name
                                       " hostname servername :"
--- a/lisp/net/zeroconf.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/net/zeroconf.el	Fri Aug 27 23:05:43 2010 +0900
@@ -336,6 +336,23 @@
       (puthash type l-hook zeroconf-service-removed-hooks-hash)))
    (t (error "EVENT must be either `:new' or `:removed'"))))
 
+(defun zeroconf-service-remove-hook (type event function)
+  "Remove FUNCTION from the hook of service type TYPE.
+
+EVENT must be either :new or :removed and has to match the event
+type used when registering FUNCTION."
+  (let* ((table (cond
+		 ((equal event :new)
+		  zeroconf-service-added-hooks-hash)
+		 ((equal event :removed)
+		  zeroconf-service-removed-hooks-hash)
+		 (t (error "EVENT must be either `:new' or `:removed'"))))
+	 (l-hook (gethash type table nil)))
+    (remove-hook 'l-hook function)
+    (if l-hook
+	(puthash type l-hook table)
+      (remhash type table))))
+
 (defun zeroconf-get-host ()
   "Returns the local host name as string."
   (dbus-call-method
@@ -407,7 +424,7 @@
 	      (elt (nth 9 result))) ;; TXT.
 	 ;; The TXT field has the signature "aay".  Transform to "as".
 	 (while elt
-	   (setcar elt (apply 'string (car elt)))
+	   (setcar elt (dbus-byte-array-to-string (car elt)))
 	   (setq elt (cdr elt)))
 
 	 (when nil ;; We discard it, no use so far.
@@ -599,7 +616,7 @@
   ;; The "TXT" field has the signature "aay".  Transform to "as".
   (let ((elt (nth 9 val)))
     (while elt
-      (setcar elt (apply 'string (car elt)))
+      (setcar elt (dbus-byte-array-to-string (car elt)))
       (setq elt (cdr elt))))
   (when zeroconf-debug
     (message "zeroconf-service-resolver-handler: %s %S"
@@ -641,11 +658,7 @@
 
     ;; The TXT field has the signature "as".  Transform to "aay".
     (dolist (elt txt)
-      (let (args)
-	(add-to-list
-	 'result
-	 (dolist (elt1 (string-to-list elt) (append '(:array) args))
-	   (setq args (append args (list :byte elt1)))))))
+      (add-to-list 'result (dbus-string-to-byte-array elt)))
 
     ;; Add the service.
     (dbus-call-method
--- a/lisp/org/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/org/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-02-15  Chong Yidong  <cyd@stupidchicken.com>
 
 	* org-freemind.el (org-freemind-from-org-mode-node)
--- a/lisp/play/zone.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/play/zone.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,7 @@
 ;;; zone.el --- idle display hacks
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+;;   2009, 2010  Free Software Foundation, Inc.
 
 ;; Author: Victor Zandy <zandy@cs.wisc.edu>
 ;; Maintainer: Thien-Thi Nguyen <ttn@gnu.org>
@@ -487,8 +487,10 @@
          (wait 0.15)
          newpos fall-p)
     (while (when (save-excursion
-                   (forward-line 1)
-                   (and (= col (current-column))
+                   (and (zerop (forward-line 1))
+                        (progn
+                          (forward-char col)
+                          (= col (current-column)))
                         (setq newpos (point))
                         (string= spaces (buffer-substring-no-properties
                                          newpos (+ newpos cw-ceil)))
--- a/lisp/progmodes/cc-cmds.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-cmds.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1086,76 +1086,104 @@
 
   (interactive "*P")
   (let ((c-echo-syntactic-information-p nil)
-	final-pos close-paren-inserted found-delim)
+	final-pos close-paren-inserted)
 
     (self-insert-command (prefix-numeric-value arg))
     (setq final-pos (point))
 
-;;;; 2010-01-31: There used to be code here to put a syntax-table text
-;;;; property on the new < or > and its mate (if any) when they are template
-;;;; parens.  This is now done in an after-change function.
+    (c-save-buffer-state (c-parse-and-markup-<>-arglists
+			  c-restricted-<>-arglists
+			  <-pos)
+
+      (when c-recognize-<>-arglists
+	(if (eq last-command-event ?<)
+	    (when (and (progn
+			 (backward-char)
+			 (= (point)
+			    (progn
+			      (c-beginning-of-current-token)
+			      (point))))
+		       (progn
+			 (c-backward-token-2)
+			 (looking-at c-opt-<>-sexp-key)))
+	      (c-mark-<-as-paren (1- final-pos)))
+
+	  ;; It's a ">".  Check if there's an earlier "<" which either has
+	  ;; open paren syntax already or that can be recognized as an arglist
+	  ;; together with this ">".  Note that this won't work in cases like
+	  ;; "template <x, a < b, y>" but they ought to be rare.
+
+	  (save-restriction
+	    ;; Narrow to avoid that `c-forward-<>-arglist' below searches past
+	    ;; our position.
+	    (narrow-to-region (point-min) final-pos)
+
+	    (while (and
+		    (progn
+		      (goto-char final-pos)
+		      (c-syntactic-skip-backward "^<;}" nil t)
+		      (eq (char-before) ?<))
+		    (progn
+		      (backward-char)
+		      ;; If the "<" already got open paren syntax we know we
+		      ;; have the matching closer.  Handle it and exit the
+		      ;; loop.
+		      (if (looking-at "\\s\(")
+			  (progn
+			    (c-mark->-as-paren (1- final-pos))
+			    (setq close-paren-inserted t)
+			    nil)
+			t))
+
+		    (progn
+		      (setq <-pos (point))
+		      (c-backward-syntactic-ws)
+		      (c-simple-skip-symbol-backward))
+		    (or (looking-at c-opt-<>-sexp-key)
+			(not (looking-at c-keywords-regexp)))
+
+		    (let ((c-parse-and-markup-<>-arglists t)
+			  c-restricted-<>-arglists
+			  (containing-sexp
+			   (c-most-enclosing-brace (c-parse-state))))
+		      (when (and containing-sexp
+				 (progn (goto-char containing-sexp)
+					(eq (char-after) ?\())
+				 (not (eq (get-text-property (point) 'c-type)
+					  'c-decl-arg-start)))
+			(setq c-restricted-<>-arglists t))
+		      (goto-char <-pos)
+		      (c-forward-<>-arglist nil))
+
+		    ;; Loop here if the "<" we found above belongs to a nested
+		    ;; angle bracket sexp.  When we start over we'll find the
+		    ;; previous or surrounding sexp.
+		    (if (< (point) final-pos)
+			t
+		      (setq close-paren-inserted t)
+		      nil)))))))
+    (goto-char final-pos)
 
     ;; Indent the line if appropriate.
-    (when (and c-electric-flag c-syntactic-indentation c-recognize-<>-arglists)
-      (setq found-delim
-	    (if (eq last-command-event ?<)
-		;; If a <, basically see if it's got "template" before it .....
-		(or (and (progn
-			   (backward-char)
-			   (= (point)
-			      (progn (c-beginning-of-current-token) (point))))
-			 (progn
-			   (c-backward-token-2)
-			   (looking-at c-opt-<>-sexp-key)))
-		    ;; ..... or is a C++ << operator.
-		    (and (c-major-mode-is 'c++-mode)
-			 (progn
-			   (goto-char (1- final-pos))
-			   (c-beginning-of-current-token)
-			   (looking-at "<<"))
-			 (>= (match-end 0) final-pos)))
-
-	      ;; It's a >.  Either a C++ >> operator. ......
-	      (or (and (c-major-mode-is 'c++-mode)
-		       (progn
-			 (goto-char (1- final-pos))
-			 (c-beginning-of-current-token)
-			 (looking-at ">>"))
-		       (>= (match-end 0) final-pos))
-		  ;; ...., or search back for a < which isn't already marked as an
-		  ;; opening template delimiter.
-		  (save-restriction
-		    (widen)
-		    ;; Narrow to avoid `c-forward-<>-arglist' below searching past
-		    ;; our position.
-		    (narrow-to-region (point-min) final-pos)
-		    (goto-char final-pos)
-		    (while
-			(and
-			 (progn
-			   (c-syntactic-skip-backward "^<;}" nil t)
-			   (eq (char-before) ?<))
-			 (progn
-			   (backward-char)
-			   (looking-at "\\s\("))))
-		    (and (eq (char-after) ?<)
-			 (not (looking-at "\\s\("))
-			 (progn (c-backward-syntactic-ws)
-				(c-simple-skip-symbol-backward))
-			 (or (looking-at c-opt-<>-sexp-key)
-			     (not (looking-at c-keywords-regexp)))))))))
-
-    (goto-char final-pos)
-    (when found-delim
-      (indent-according-to-mode)
-      (when (and (eq (char-before) ?>)
-		 (not executing-kbd-macro)
-		 blink-paren-function)
-	    ;; Note: Most paren blink functions, such as the standard
-	    ;; `blink-matching-open', currently doesn't handle paren chars
-	    ;; marked with text properties very well.  Maybe we should avoid
-	    ;; this call for the time being?
-	    (funcall blink-paren-function)))))
+    (when (and c-electric-flag c-syntactic-indentation)
+      (backward-char)
+      (when (prog1 (or (looking-at "\\s\(\\|\\s\)")
+		       (and (c-major-mode-is 'c++-mode)
+			    (progn
+			      (c-beginning-of-current-token)
+			      (looking-at "<<\\|>>"))
+			    (= (match-end 0) final-pos)))
+	      (goto-char final-pos))
+	(indent-according-to-mode)))
+
+    (when (and close-paren-inserted
+	       (not executing-kbd-macro)
+	       blink-paren-function)
+      ;; Note: Most paren blink functions, such as the standard
+      ;; `blink-matching-open', currently doesn't handle paren chars
+      ;; marked with text properties very well.  Maybe we should avoid
+      ;; this call for the time being?
+      (funcall blink-paren-function))))
 
 (defun c-electric-paren (arg)
   "Insert a parenthesis.
--- a/lisp/progmodes/cc-defs.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-defs.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1029,44 +1029,6 @@
     ;; Emacs.
     `(remove-text-properties ,from ,to '(,property nil))))
 
-(defmacro c-search-forward-char-property (property value &optional limit)
-  "Search forward for a text-property PROPERTY having value VALUE.
-LIMIT bounds the search.  The comparison is done with `equal'.
-
-Leave point just after the character, and set the match data on
-this character, and return point.  If VALUE isn't found, Return
-nil; point is then left undefined."
-  `(let ((place (point)))
-     (while
-	 (and
-	  (< place ,(or limit '(point-max)))
-	  (not (equal (get-text-property place ,property) ,value)))
-       (setq place (next-single-property-change
-		    place ,property nil ,(or limit '(point-max)))))
-     (when (< place ,(or limit '(point-max)))
-       (goto-char place)
-       (search-forward-regexp ".")	; to set the match-data.
-       (point))))
-
-(defmacro c-search-backward-char-property (property value &optional limit)
-  "Search backward for a text-property PROPERTY having value VALUE.
-LIMIT bounds the search.  The comparison is done with `equal'.
-
-Leave point just before the character, set the match data on this
-character, and return point.  If VALUE isn't found, Return nil;
-point is then left undefined."
-  `(let ((place (point)))
-     (while
-	 (and
-	  (> place ,(or limit '(point-min)))
-	  (not (equal (get-text-property (1- place) ,property) ,value)))
-       (setq place (previous-single-property-change
-		    place ,property nil ,(or limit '(point-min)))))
-     (when (> place ,(or limit '(point-max)))
-       (goto-char place)
-       (search-backward-regexp ".")	; to set the match-data.
-       (point))))
-
 (defun c-clear-char-property-with-value-function (from to property value)
   "Remove all text-properties PROPERTY from the region (FROM, TO)
 which have the value VALUE, as tested by `equal'.  These
@@ -1183,117 +1145,23 @@
 	(goto-char (point-max)))))
 
 (defconst c-<-as-paren-syntax '(4 . ?>))
-(put 'c-<-as-paren-syntax 'syntax-table c-<-as-paren-syntax)
 
 (defsubst c-mark-<-as-paren (pos)
-  ;; Mark the "<" character at POS as a template opener using the
-  ;; `syntax-table' property via the `category' property.
+  ;; Mark the "<" character at POS as an sexp list opener using the
+  ;; syntax-table property.
   ;;
-  ;; This function does a hidden buffer change.  Note that we use
-  ;; indirection through the `category' text property.  This allows us to
-  ;; toggle the property in all template brackets simultaneously and
-  ;; cheaply.  We use this, for instance, in `c-parse-state'.
-  (c-put-char-property pos 'category 'c-<-as-paren-syntax))
+  ;; This function does a hidden buffer change.
+  (c-put-char-property pos 'syntax-table c-<-as-paren-syntax))
 
 (defconst c->-as-paren-syntax '(5 . ?<))
-(put 'c->-as-paren-syntax 'syntax-table c->-as-paren-syntax)
 
 (defsubst c-mark->-as-paren (pos)
   ;; Mark the ">" character at POS as an sexp list closer using the
   ;; syntax-table property.
   ;;
-  ;; This function does a hidden buffer change.  Note that we use
-  ;; indirection through the `category' text property.  This allows us to
-  ;; toggle the property in all template brackets simultaneously and
-  ;; cheaply.  We use this, for instance, in `c-parse-state'.
-  (c-put-char-property pos 'category 'c->-as-paren-syntax))
-
-(defsubst c-unmark-<->-as-paren (pos)
-  ;; Unmark the "<" or "<" character at POS as an sexp list opener using
-  ;; the syntax-table property indirectly through the `category' text
-  ;; property.
-  ;;
-  ;; This function does a hidden buffer change.  Note that we use
-  ;; indirection through the `category' text property.  This allows us to
-  ;; toggle the property in all template brackets simultaneously and
-  ;; cheaply.  We use this, for instance, in `c-parse-state'.
-  (c-clear-char-property pos 'category))
-
-(defsubst c-suppress-<->-as-parens ()
-  ;; Suppress the syntactic effect of all marked < and > as parens.  Note
-  ;; that this effect is NOT buffer local.  You should probably not use
-  ;; this directly, but only through the macro
-  ;; `c-with-<->-as-parens-suppressed'
-  (put 'c-<-as-paren-syntax 'syntax-table nil)
-  (put 'c->-as-paren-syntax 'syntax-table nil))
-
-(defsubst c-restore-<->-as-parens ()
-  ;; Restore the syntactic effect of all marked <s and >s as parens.  This
-  ;; has no effect on unmarked <s and >s
-  (put 'c-<-as-paren-syntax 'syntax-table c-<-as-paren-syntax)
-  (put 'c->-as-paren-syntax 'syntax-table c->-as-paren-syntax))
-
-(defmacro c-with-<->-as-parens-suppressed (&rest forms)
-  ;; Like progn, except that the paren property is suppressed on all
-  ;; template brackets whilst they are running.  This macro does a hidden
-  ;; buffer change.
-  `(unwind-protect
-       (progn
-	 (c-suppress-<->-as-parens)
-	 ,@forms)
-     (c-restore-<->-as-parens)))
-
-;;;;;;;;;;;;;;;
+  ;; This function does a hidden buffer change.
+  (c-put-char-property pos 'syntax-table c->-as-paren-syntax))
 
-(defconst c-cpp-delimiter '(14)) ; generic comment syntax
-;; This is the value of the `category' text property placed on every #
-;; which introduces a CPP construct and every EOL (or EOB, or character
-;; preceding //, etc.) which terminates it.  We can instantly "comment
-;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table
-;; propery '(14) (generic comment delimiter).
-(defmacro c-set-cpp-delimiters (beg end)
-  ;; This macro does a hidden buffer change.
-  `(progn
-     (c-put-char-property ,beg 'category 'c-cpp-delimiter)
-     (if (< ,end (point-max))
-	 (c-put-char-property ,end 'category 'c-cpp-delimiter))))
-(defmacro c-clear-cpp-delimiters (beg end)
-  ;; This macro does a hidden buffer change.
-  `(progn
-     (c-clear-char-property ,beg 'category)
-     (if (< ,end (point-max))
-	 (c-clear-char-property ,end 'category))))
-
-(defsubst c-comment-out-cpps ()
-  ;; Render all preprocessor constructs syntactically commented out.
-  (put 'c-cpp-delimiter 'syntax-table c-cpp-delimiter))
-(defsubst c-uncomment-out-cpps ()
-  ;; Restore the syntactic visibility of preprocessor constructs.
-  (put 'c-cpp-delimiter 'syntax-table nil))
-
-(defmacro c-with-cpps-commented-out (&rest forms)
-  ;; Execute FORMS... whilst the syntactic effect of all characters in
-  ;; all CPP regions is suppressed.  In particular, this is to suppress
-  ;; the syntactic significance of parens/braces/brackets to functions
-  ;; such as `scan-lists' and `parse-partial-sexp'.
-  `(unwind-protect
-       (c-save-buffer-state ()
-	   (c-comment-out-cpps)
-	   ,@forms)
-     (c-save-buffer-state ()
-       (c-uncomment-out-cpps))))
-
-(defmacro c-with-all-but-one-cpps-commented-out (beg end &rest forms)
-  ;; Execute FORMS... whilst the syntactic effect of all characters in
-  ;; every CPP region APART FROM THE ONE BETWEEN BEG and END is
-  ;; suppressed.
-  `(unwind-protect
-       (c-save-buffer-state ()
-	 (c-clear-cpp-delimiters ,beg ,end)
-	 ,`(c-with-cpps-commented-out ,@forms))
-     (c-save-buffer-state ()
-       (c-set-cpp-delimiters ,beg ,end))))
-
 (defsubst c-intersect-lists (list alist)
   ;; return the element of ALIST that matches the first element found
   ;; in LIST.  Uses assq.
--- a/lisp/progmodes/cc-engine.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-engine.el	Fri Aug 27 23:05:43 2010 +0900
@@ -79,10 +79,6 @@
 ;; Note: This doc is for internal use only.  Other packages should not
 ;; assume that these text properties are used as described here.
 ;;
-;; 'category
-;;   Used for "indirection".  With its help, some other property can
-;;   be cheaply and easily switched on or off everywhere it occurs.
-;;
 ;; 'syntax-table
 ;;   Used to modify the syntax of some characters.  It is used to
 ;;   mark the "<" and ">" of angle bracket parens with paren syntax, and
@@ -260,27 +256,6 @@
 	     (forward-char)
 	     t))))
 
-(defun c-syntactic-end-of-macro ()
-  ;; Go to the end of a CPP directive, or a "safe" pos just before.
-  ;;
-  ;; This is normally the end of the next non-escaped line.  A "safe"
-  ;; position is one not within a string or comment.  (The EOL on a line
-  ;; comment is NOT "safe").
-  ;;
-  ;; This function must only be called from the beginning of a CPP construct.
-  ;;
-  ;; Note that this function might do hidden buffer changes.  See the comment
-  ;; at the start of cc-engine.el for more info.
-  (let* ((here (point))
-	 (there (progn (c-end-of-macro) (point)))
-	 (s (parse-partial-sexp here there)))
-    (while (and (or (nth 3 s)	 ; in a string
-		    (nth 4 s))	 ; in a comment (maybe at end of line comment)
-		(> there here))	 ; No infinite loops, please.
-      (setq there (1- (nth 8 s)))
-      (setq s (parse-partial-sexp here there)))
-    (point)))
-
 (defun c-forward-over-cpp-define-id ()
   ;; Assuming point is at the "#" that introduces a preprocessor
   ;; directive, it's moved forward to the end of the identifier which is
@@ -1972,18 +1947,10 @@
 
 ;; A system for finding noteworthy parens before the point.
 
-(defconst c-state-cache-too-far 5000)
-;; A maximum comfortable scanning distance, e.g. between
-;; `c-state-cache-good-pos' and "HERE" (where we call c-parse-state).  When
-;; this distance is exceeded, we take "emergency meausures", e.g. by clearing
-;; the cache and starting again from point-min or a beginning of defun.  This
-;; value can be tuned for efficiency or set to a lower value for testing.
-
 (defvar c-state-cache nil)
 (make-variable-buffer-local 'c-state-cache)
 ;; The state cache used by `c-parse-state' to cut down the amount of
-;; searching.  It's the result from some earlier `c-parse-state' call.  See
-;; `c-parse-state''s doc string for details of its structure.
+;; searching.  It's the result from some earlier `c-parse-state' call.
 ;;
 ;; The use of the cached info is more effective if the next
 ;; `c-parse-state' call is on a line close by the one the cached state
@@ -1992,12 +1959,18 @@
 ;; most effective if `c-parse-state' is used on each line while moving
 ;; forward.
 
+(defvar c-state-cache-start 1)
+(make-variable-buffer-local 'c-state-cache-start)
+;; This is (point-min) when `c-state-cache' was calculated, since a
+;; change of narrowing is likely to affect the parens that are visible
+;; before the point.
+
 (defvar c-state-cache-good-pos 1)
 (make-variable-buffer-local 'c-state-cache-good-pos)
-;; This is a position where `c-state-cache' is known to be correct, or
-;; nil (see below).  It's a position inside one of the recorded unclosed
-;; parens or the top level, but not further nested inside any literal or
-;; subparen that is closed before the last recorded position.
+;; This is a position where `c-state-cache' is known to be correct.
+;; It's a position inside one of the recorded unclosed parens or the
+;; top level, but not further nested inside any literal or subparen
+;; that is closed before the last recorded position.
 ;;
 ;; The exact position is chosen to try to be close to yet earlier than
 ;; the position where `c-state-cache' will be called next.  Right now
@@ -2005,1057 +1978,313 @@
 ;; closing paren (of any type) before the line on which
 ;; `c-parse-state' was called.  That is chosen primarily to work well
 ;; with refontification of the current line.
-;;
-;; 2009-07-28: When `c-state-point-min' and the last position where
-;; `c-parse-state' or for which `c-invalidate-state-cache' was called, are
-;; both in the same literal, there is no such "good position", and
-;; c-state-cache-good-pos is then nil.  This is the ONLY circumstance in which
-;; it can be nil.  In this case, `c-state-point-min-literal' will be non-nil.
-;;
-;; 2009-06-12: In a brace desert, c-state-cache-good-pos may also be in
-;; the middle of the desert, as long as it is not within a brace pair
-;; recorded in `c-state-cache' or a paren/bracket pair.
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; We maintain a simple cache of positions which aren't in a literal, so as to
-;; speed up testing for non-literality.
-(defconst c-state-nonlit-pos-interval 10000)
-;; The approximate interval between entries in `c-state-nonlit-pos-cache'.
-
-(defvar c-state-nonlit-pos-cache nil)
-(make-variable-buffer-local 'c-state-nonlit-pos-cache)
-;; A list of buffer positions which are known not to be in a literal.  This is
-;; ordered with higher positions at the front of the list.  Only those which
-;; are less than `c-state-nonlit-pos-cache-limit' are valid.
-
-(defvar c-state-nonlit-pos-cache-limit 1)
-(make-variable-buffer-local 'c-state-nonlit-pos-cache-limit)
-;; An upper limit on valid entries in `c-state-nonlit-pos-cache'.  This is
-;; reduced by buffer changes, and increased by invocations of
-;; `c-state-literal-at'.
-
-(defsubst c-state-pp-to-literal (from to)
-  ;; Do a parse-partial-sexp from FROM to TO, returning the bounds of any
-  ;; literal at TO as a cons, otherwise NIL.
-  ;; FROM must not be in a literal, and the buffer should already be wide
-  ;; enough.
-  (save-excursion
-    (let ((s (parse-partial-sexp from to)))
-      (when (or (nth 3 s) (nth 4 s))	; in a string or comment
-	(parse-partial-sexp (point) (point-max)
-			    nil			 ; TARGETDEPTH
-			    nil			 ; STOPBEFORE
-			    s			 ; OLDSTATE
-			    'syntax-table)	 ; stop at end of literal
-	(cons (nth 8 s) (point))))))
-
-(defun c-state-literal-at (here)
-  ;; If position HERE is inside a literal, return (START . END), the
-  ;; boundaries of the literal (which may be outside the accessible bit of the
-  ;; buffer).  Otherwise, return nil.
-  ;;
-  ;; This function is almost the same as `c-literal-limits'.  It differs in
-  ;; that it is a lower level function, and that it rigourously follows the
-  ;; syntax from BOB, whereas `c-literal-limits' uses a "local" safe position.
-  (save-restriction
-    (widen)
-    (save-excursion
-      (let ((c c-state-nonlit-pos-cache)
-	    pos npos lit)
-	;; Trim the cache to take account of buffer changes.
-	(while (and c (> (car c) c-state-nonlit-pos-cache-limit))
-	  (setq c (cdr c)))
-	(setq c-state-nonlit-pos-cache c)
-
-	(while (and c (> (car c) here))
-	  (setq c (cdr c)))
-	(setq pos (or (car c) (point-min)))
-
-	(while (<= (setq npos (+ pos c-state-nonlit-pos-interval))
-		   here)
-	  (setq lit (c-state-pp-to-literal pos npos))
-	  (setq pos (or (cdr lit) npos)) ; end of literal containing npos.
-	  (setq c-state-nonlit-pos-cache (cons pos c-state-nonlit-pos-cache)))
-
-	(if (> pos c-state-nonlit-pos-cache-limit)
-	    (setq c-state-nonlit-pos-cache-limit pos))
-	(if (< pos here)
-	    (setq lit (c-state-pp-to-literal pos here)))
-	lit))))
-
-(defsubst c-state-lit-beg (pos)
-  ;; Return the start of the literal containing POS, or POS itself.
-  (or (car (c-state-literal-at pos))
-      pos))
-
-(defsubst c-state-cache-non-literal-place (pos state)
-  ;; Return a position outside of a string/comment at or before POS.
-  ;; STATE is the parse-partial-sexp state at POS.
-  (if (or (nth 3 state)			; in a string?
-	  (nth 4 state))		; in a comment?
-      (nth 8 state)
-    pos))
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Stuff to do with point-min, and coping with any literal there.
-(defvar c-state-point-min 1)
-(make-variable-buffer-local 'c-state-point-min)
-;; This is (point-min) when `c-state-cache' was last calculated.  A change of
-;; narrowing is likely to affect the parens that are visible before the point.
-
-(defvar c-state-point-min-lit-type nil)
-(make-variable-buffer-local 'c-state-point-min-lit-type)
-(defvar c-state-point-min-lit-start nil)
-(make-variable-buffer-local 'c-state-point-min-lit-start)
-;; These two variables define the literal, if any, containing point-min.
-;; Their values are, respectively, 'string, c, or c++, and the start of the
-;; literal.  If there's no literal there, they're both nil.
-
-(defvar c-state-min-scan-pos 1)
-(make-variable-buffer-local 'c-state-min-scan-pos)
-;; This is the earliest buffer-pos from which scanning can be done.  It is
-;; either the end of the literal containing point-min, or point-min itself.
-;; It becomes nil if the buffer is changed earlier than this point.
-(defun c-state-get-min-scan-pos ()
-  ;; Return the lowest valid scanning pos.  This will be the end of the
-  ;; literal enclosing point-min, or point-min itself.
-  (or c-state-min-scan-pos
-      (save-restriction
-	(save-excursion
-	  (widen)
-	  (goto-char c-state-point-min-lit-start)
-	  (if (eq c-state-point-min-lit-type 'string)
-	      (forward-sexp)
-	    (forward-comment 1))
-	  (setq c-state-min-scan-pos (point))))))
-
-(defun c-state-mark-point-min-literal ()
-  ;; Determine the properties of any literal containing POINT-MIN, setting the
-  ;; variables `c-state-point-min-lit-type', `c-state-point-min-lit-start',
-  ;; and `c-state-min-scan-pos' accordingly.  The return value is meaningless.
-  (let ((p-min (point-min))
-	lit)
-    (save-restriction
-      (widen)
-      (setq lit (c-state-literal-at p-min))
-      (if lit
-	  (setq c-state-point-min-lit-type
-		(save-excursion
-		  (goto-char (car lit))
-		  (cond
-		   ((looking-at c-block-comment-start-regexp) 'c)
-		   ((looking-at c-line-comment-starter) 'c++)
-		   (t 'string)))
-		c-state-point-min-lit-start (car lit)
-		c-state-min-scan-pos (cdr lit))
-	(setq c-state-point-min-lit-type nil
-	      c-state-point-min-lit-start nil
-	      c-state-min-scan-pos p-min)))))
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; A variable which signals a brace dessert - helpful for reducing the number
-;; of fruitless backward scans.
-(defvar c-state-brace-pair-desert nil)
-(make-variable-buffer-local 'c-state-brace-pair-desert)
-;; Used only in `c-append-lower-brace-pair-to-state-cache'.  It is set when an
-;; that defun has searched backwards for a brace pair and not found one.  Its
-;; value is either nil or a cons (PA . FROM), where PA is the position of the
-;; enclosing opening paren/brace/bracket which bounds the backwards search (or
-;; nil when at top level) and FROM is where the backward search started.  It
-;; is reset to nil in `c-invalidate-state-cache'.
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Lowish level functions/macros which work directly on `c-state-cache', or a
-;; list of like structure.
-(defmacro c-state-cache-top-lparen (&optional cache)
-  ;; Return the address of the top left brace/bracket/paren recorded in CACHE
-  ;; (default `c-state-cache') (or nil).
-  (let ((cash (or cache 'c-state-cache)))
-    `(if (consp (car ,cash))
-	 (caar ,cash)
-       (car ,cash))))
-
-(defmacro c-state-cache-top-paren (&optional cache)
-  ;; Return the address of the latest brace/bracket/paren (whether left or
-  ;; right) recorded in CACHE (default `c-state-cache') or nil.
-  (let ((cash (or cache 'c-state-cache)))
-    `(if (consp (car ,cash))
-	 (cdar ,cash)
-       (car ,cash))))
-
-(defmacro c-state-cache-after-top-paren (&optional cache)
-  ;; Return the position just after the latest brace/bracket/paren (whether
-  ;; left or right) recorded in CACHE (default `c-state-cache') or nil.
-  (let ((cash (or cache 'c-state-cache)))
-    `(if (consp (car ,cash))
-	 (cdar ,cash)
-       (and (car ,cash)
-	    (1+ (car ,cash))))))
-
-(defun c-get-cache-scan-pos (here)
-  ;; From the state-cache, determine the buffer position from which we might
-  ;; scan forward to HERE to update this cache.  This position will be just
-  ;; after a paren/brace/bracket recorded in the cache, if possible, otherwise
-  ;; return the earliest position in the accessible region which isn't within
-  ;; a literal.  If the visible portion of the buffer is entirely within a
-  ;; literal, return NIL.
-  (let ((c c-state-cache) elt)
-    ;(while (>= (or (c-state-cache-top-lparen c) 1) here)
-    (while (and c
-		(>= (c-state-cache-top-lparen c) here))
-      (setq c (cdr c)))
-
-    (setq elt (car c))
-    (cond
-     ((consp elt)
-      (if (> (cdr elt) here)
-	  (1+ (car elt))
-	(cdr elt)))
-     (elt (1+ elt))
-     ((<= (c-state-get-min-scan-pos) here)
-      (c-state-get-min-scan-pos))
-     (t nil))))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Variables which keep track of preprocessor constructs.
-(defvar c-state-old-cpp-beg nil)
-(make-variable-buffer-local 'c-state-old-cpp-beg)
-(defvar c-state-old-cpp-end nil)
-(make-variable-buffer-local 'c-state-old-cpp-end)
-;; These are the limits of the macro containing point at the previous call of
-;; `c-parse-state', or nil.
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Defuns which analyse the buffer, yet don't change `c-state-cache'.
-(defun c-get-fallback-scan-pos (here)
-  ;; Return a start position for building `c-state-cache' from
-  ;; scratch.  This will be at the top level, 2 defuns back.
+
+(defsubst c-invalidate-state-cache (pos)
+  ;; Invalidate all info on `c-state-cache' that applies to the buffer
+  ;; at POS or higher.  This is much like `c-whack-state-after', but
+  ;; it never changes a paren pair element into an open paren element.
+  ;; Doing that would mean that the new open paren wouldn't have the
+  ;; required preceding paren pair element.
+  (while (and (or c-state-cache
+		  (when (< pos c-state-cache-good-pos)
+		    (setq c-state-cache-good-pos 1)
+		    nil))
+	      (let ((elem (car c-state-cache)))
+		(if (consp elem)
+		    (or (< pos (cdr elem))
+			(when (< pos c-state-cache-good-pos)
+			  (setq c-state-cache-good-pos (cdr elem))
+			  nil))
+		  (or (<= pos elem)
+		      (when (< pos c-state-cache-good-pos)
+			(setq c-state-cache-good-pos (1+ elem))
+			nil)))))
+    (setq c-state-cache (cdr c-state-cache))))
+
+(defun c-get-fallback-start-pos (here)
+  ;; Return the start position for building `c-state-cache' from
+  ;; scratch.
   (save-excursion
     ;; Go back 2 bods, but ignore any bogus positions returned by
     ;; beginning-of-defun (i.e. open paren in column zero).
     (goto-char here)
     (let ((cnt 2))
       (while (not (or (bobp) (zerop cnt)))
-	(c-beginning-of-defun-1)	; Pure elisp BOD.
+	(c-beginning-of-defun-1)
 	(if (eq (char-after) ?\{)
 	    (setq cnt (1- cnt)))))
     (point)))
 
-(defun c-state-balance-parens-backwards (here top)
-  ;; Return the position of the opening paren/brace/bracket before HERE which
-  ;; matches the outermost close p/b/b between HERE and TOP, like this:
-  ;;
-  ;;      ......................................
-  ;;      |                                    |
-  ;;      (    [ ( ...........  )      ( )  ]  )
-  ;;      ^                 ^                       ^
-  ;;      |                 |                       |
-  ;;   return             HERE                     TOP
-  ;;
-  ;; If there aren't enough opening paren/brace/brackets, return the position
-  ;; of the outermost one found, or HERE it there are none.  If there are no
-  ;; closeing p/b/bs between HERE and TOP, return HERE.  HERE and TOP must not
-  ;; be inside literals.  Only the accessible portion of the buffer will be
-  ;; scanned.
-
-  ;; PART 1: scan from `here' up to `top', accumulating ")"s which enclose
-  ;; `here'.  Go round the next loop each time we pass over such a ")".  These
-  ;; probably match "("s before `here'.
-  (let (pos pa ren+1 lonely-rens)
-    (save-excursion
-      (save-restriction
-	(narrow-to-region (point-min) top) ; This can move point, sometimes.
-	(setq pos here)
-	(c-safe
-	  (while
-	      (setq ren+1 (scan-lists pos 1 1)) ; might signal
-	    (setq lonely-rens (cons ren+1 lonely-rens)
-		  pos ren+1)))))
-
-      ;; PART 2: Scan back before `here' searching for the "("s
-      ;; matching/mismatching the ")"s found above. We only need to direct the
-      ;; caller to scan when we've encountered unmatched right parens.
-      (when lonely-rens
-	(setq pos here)
-	(c-safe
-	  (while
-	      (and lonely-rens		; actual values aren't used.
-		   (setq pa (scan-lists pos -1 1)))
-	    (setq pos pa)
-	    (setq lonely-rens (cdr lonely-rens)))) ;)
-	)
-      pos))
-
-(defun c-parse-state-get-strategy (here good-pos)
-  ;; Determine the scanning strategy for adjusting `c-parse-state', attempting
-  ;; to minimise the amount of scanning.  HERE is the pertinent position in
-  ;; the buffer, GOOD-POS is a position where `c-state-cache' (possibly with
-  ;; its head trimmed) is known to be good, or nil if there is no such
-  ;; position.
-  ;;
-  ;; The return value is a list, one of the following:
-  ;;
-  ;; o - ('forward CACHE-POS START-POINT) - scan forward from START-POINT,
-  ;;                                        which is not less than CACHE-POS.
-  ;; o - ('backward CACHE-POS nil) - scan backwards (from HERE).
-  ;; o - ('BOD nil START-POINT) - scan forwards from START-POINT, which is at the
-  ;;   top level.
-  ;; o - ('IN-LIT nil nil) - point is inside the literal containing point-min.
-  ;; , where CACHE-POS is the highest position recorded in `c-state-cache' at
-  ;; or below HERE.
-  (let ((cache-pos (c-get-cache-scan-pos here))	; highest position below HERE in cache (or 1)
-	BOD-pos		    ; position of 2nd BOD before HERE.
-	strategy	    ; 'forward, 'backward, 'BOD, or 'IN-LIT.
-	start-point
-	how-far)			; putative scanning distance.
-    (setq good-pos (or good-pos (c-state-get-min-scan-pos)))
-    (cond
-     ((< here (c-state-get-min-scan-pos))
-      (setq strategy 'IN-LIT
-	    start-point nil
-	    cache-pos nil
-	    how-far 0))
-     ((<= good-pos here)
-      (setq strategy 'forward
-	    start-point (max good-pos cache-pos)
-	    how-far (- here start-point)))
-     ((< (- good-pos here) (- here cache-pos)) ; FIXME!!! ; apply some sort of weighting.
-      (setq strategy 'backward
-	    how-far (- good-pos here)))
-     (t
-      (setq strategy 'forward
-	      how-far (- here cache-pos)
-	      start-point cache-pos)))
-
-    ;; Might we be better off starting from the top level, two defuns back,
-    ;; instead?
-    (when (> how-far c-state-cache-too-far)
-      (setq BOD-pos (c-get-fallback-scan-pos here)) ; somewhat EXPENSIVE!!!
-      (if (< (- here BOD-pos) how-far)
-	  (setq strategy 'BOD
-		start-point BOD-pos)))
-
-    (list
-     strategy
-     (and (memq strategy '(forward backward)) cache-pos)
-     (and (memq strategy '(forward BOD)) start-point))))
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Routines which change `c-state-cache' and associated values.
-(defun c-renarrow-state-cache ()
-  ;; The region (more precisely, point-min) has changed since we
-  ;; calculated `c-state-cache'.  Amend `c-state-cache' accordingly.
-  (if (< (point-min) c-state-point-min)
-      ;; If point-min has MOVED BACKWARDS then we drop the state completely.
-      ;; It would be possible to do a better job here and recalculate the top
-      ;; only.
-      (progn
-	(c-state-mark-point-min-literal)
-	(setq c-state-cache nil
-	      c-state-cache-good-pos c-state-min-scan-pos
-	      c-state-brace-pair-desert nil))
-
-    ;; point-min has MOVED FORWARD.
-
-    ;; Is the new point-min inside a (different) literal?
-    (unless (and c-state-point-min-lit-start ; at prev. point-min
-		 (< (point-min) (c-state-get-min-scan-pos)))
-      (c-state-mark-point-min-literal))
-
-    ;; Cut off a bit of the tail from `c-state-cache'.
-    (let ((ptr (cons nil c-state-cache))
-	  pa)
-      (while (and (setq pa (c-state-cache-top-lparen (cdr ptr)))
-		  (>= pa (point-min)))
-	(setq ptr (cdr ptr)))
-
-      (when (consp ptr)
-	(if (eq (cdr ptr) c-state-cache)
-	    (setq c-state-cache nil
-		  c-state-cache-good-pos c-state-min-scan-pos)
-	  (setcdr ptr nil)
-	  (setq c-state-cache-good-pos (1+ (c-state-cache-top-lparen))))
-	)))
-
-  (setq c-state-point-min (point-min)))
-
-(defun c-append-lower-brace-pair-to-state-cache (from &optional upper-lim)
-  ;; If there is a brace pair preceding FROM in the buffer (not necessarily
-  ;; immediately preceding), push a cons onto `c-state-cache' to represent it.
-  ;; FROM must not be inside a literal.  If UPPER-LIM is non-nil, we append
-  ;; the highest brace pair whose "}" is below UPPER-LIM.
-  ;;
-  ;; Return non-nil when this has been done.
-  ;;
-  ;; This routine should be fast.  Since it can get called a LOT, we maintain
-  ;; `c-state-brace-pair-desert', a small cache of "failures", such that we
-  ;; reduce the time wasted in repeated fruitless searches in brace deserts.
-  (save-excursion
-    (save-restriction
-      (let ((bra from) ce		; Positions of "{" and "}".
-	    new-cons
-	    (cache-pos (c-state-cache-top-lparen)) ; might be nil.
-	    (macro-start-or-from
-	     (progn (goto-char from)
-		    (c-beginning-of-macro)
-		    (point))))
-	(or upper-lim (setq upper-lim from))
-
-	;; If we're essentially repeating a fruitless search, just give up.
-	(unless (and c-state-brace-pair-desert
-		     (eq cache-pos (car c-state-brace-pair-desert))
-		     (<= from (cdr c-state-brace-pair-desert)))
-	  ;; Only search what we absolutely need to:
-	  (if (and c-state-brace-pair-desert
-		   (> from (cdr c-state-brace-pair-desert)))
-	      (narrow-to-region (cdr c-state-brace-pair-desert) (point-max)))
-
-	  ;; In the next pair of nested loops, the inner one moves back past a
-	  ;; pair of (mis-)matching parens or brackets; the outer one moves
-	  ;; back over a sequence of unmatched close brace/paren/bracket each
-	  ;; time round.
-	  (while
-	      (progn
-		(c-safe
-		  (while
-		      (and (setq ce (scan-lists bra -1 -1)) ; back past )/]/}; might signal
-			   (setq bra (scan-lists ce -1 1)) ; back past (/[/{; might signal
-			   (or (> ce upper-lim)
-			       (not (eq (char-after bra) ?\{))
-			       (and (goto-char bra)
-				    (c-beginning-of-macro)
-				    (< (point) macro-start-or-from))))))
-		(and ce (< ce bra)))
-	    (setq bra ce))	; If we just backed over an unbalanced closing
-					; brace, ignore it.
-
-	  (if (and ce (< bra ce) (eq (char-after bra) ?\{))
-	      ;; We've found the desired brace-pair.
-	      (progn
-		(setq new-cons (cons bra (1+ ce)))
-		(cond
-		 ((consp (car c-state-cache))
-		  (setcar c-state-cache new-cons))
-		 ((and (numberp (car c-state-cache)) ; probably never happens
-		       (< ce (car c-state-cache)))
-		  (setcdr c-state-cache
-			  (cons new-cons (cdr c-state-cache))))
-		 (t (setq c-state-cache (cons new-cons c-state-cache)))))
-
-	    ;; We haven't found a brace pair.  Record this.
-	    (setq c-state-brace-pair-desert (cons cache-pos from))))))))
-
-(defsubst c-state-push-any-brace-pair (bra+1 macro-start-or-here)
-  ;; If BRA+1 is nil, do nothing.  Otherwise, BRA+1 is the buffer position
-  ;; following a {, and that brace has a (mis-)matching } (or ]), and we
-  ;; "push" "a" brace pair onto `c-state-cache'.
-  ;;
-  ;; Here "push" means overwrite the top element if it's itself a brace-pair,
-  ;; otherwise push it normally.
-  ;;
-  ;; The brace pair we push is normally the one surrounding BRA+1, but if the
-  ;; latter is inside a macro, not being a macro containing
-  ;; MACRO-START-OR-HERE, we scan backwards through the buffer for a non-macro
-  ;; base pair.  This latter case is assumed to be rare.
-  ;;
-  ;; Note: POINT is not preserved in this routine.
-  (if bra+1
-      (if (or (> bra+1 macro-start-or-here)
-	      (progn (goto-char bra+1)
-		     (not (c-beginning-of-macro))))
-	  (setq c-state-cache
-		(cons (cons (1- bra+1)
-			    (scan-lists bra+1 1 1))
-		      (if (consp (car c-state-cache))
-			  (cdr c-state-cache)
-			c-state-cache)))
-	;; N.B.  This defsubst codes one method for the simple, normal case,
-	;; and a more sophisticated, slower way for the general case.  Don't
-	;; eliminate this defsubst - it's a speed optimisation.
-	(c-append-lower-brace-pair-to-state-cache (1- bra+1)))))
-
-(defun c-append-to-state-cache (from)
-  ;; Scan the buffer from FROM to (point-max), adding elements into
-  ;; `c-state-cache' for braces etc.  Return a candidate for
-  ;; `c-state-cache-good-pos'.
-  ;;
-  ;; FROM must be after the latest brace/paren/bracket in `c-state-cache', if
-  ;; any.  Typically, it is immediately after it.  It must not be inside a
-  ;; literal.
-  (let ((here-bol (c-point 'bol (point-max)))
-	(macro-start-or-here
-	 (save-excursion (goto-char (point-max))
-			 (if (c-beginning-of-macro)
-			     (point)
-			   (point-max))))
-	pa+1		      ; pos just after an opening PAren (or brace).
-	(ren+1 from)	      ; usually a pos just after an closing paREN etc.
-			      ; Is actually the pos. to scan for a (/{/[ from,
-			      ; which sometimes is after a silly )/}/].
-	paren+1		      ; Pos after some opening or closing paren.
-	paren+1s	      ; A list of `paren+1's; used to determine a
-			      ; good-pos.
-	bra+1 ce+1	      ; just after L/R bra-ces.
-	bra+1s		      ; list of OLD values of bra+1.
-	mstart)		      ; start of a macro.
-
-    (save-excursion
-      ;; Each time round the following loop, we enter a succesively deeper
-      ;; level of brace/paren nesting.  (Except sometimes we "continue at
-      ;; the existing level".)  `pa+1' is a pos inside an opening
-      ;; brace/paren/bracket, usually just after it.
-      (while
-	  (progn
-	    ;; Each time round the next loop moves forward over an opening then
-	    ;; a closing brace/bracket/paren.  This loop is white hot, so it
-	    ;; plays ugly tricks to go fast.  DON'T PUT ANYTHING INTO THIS
-	    ;; LOOP WHICH ISN'T ABSOLUTELY NECESSARY!!!  It terminates when a
-	    ;; call of `scan-lists' signals an error, which happens when there
-	    ;; are no more b/b/p's to scan.
-	    (c-safe
-	      (while t
-		(setq pa+1 (scan-lists ren+1 1 -1) ; Into (/{/[; might signal
-		      paren+1s (cons pa+1 paren+1s))
-		(setq ren+1 (scan-lists pa+1 1 1)) ; Out of )/}/]; might signal
-		(if (and (eq (char-before pa+1) ?{)) ; Check for a macro later.
-		    (setq bra+1 pa+1))
-		(setcar paren+1s ren+1)))
-
-	    (if (and pa+1 (> pa+1 ren+1))
-		;; We've just entered a deeper nesting level.
-		(progn
-		  ;; Insert the brace pair (if present) and the single open
-		  ;; paren/brace/bracket into `c-state-cache' It cannot be
-		  ;; inside a macro, except one around point, because of what
-		  ;; `c-neutralize-syntax-in-CPP' has done.
-		  (c-state-push-any-brace-pair bra+1 macro-start-or-here)
-		  ;; Insert the opening brace/bracket/paren position.
-		  (setq c-state-cache (cons (1- pa+1) c-state-cache))
-		  ;; Clear admin stuff for the next more nested part of the scan.
-		  (setq ren+1 pa+1  pa+1 nil  bra+1 nil  bra+1s nil)
-		  t)			; Carry on the loop
-
-	      ;; All open p/b/b's at this nesting level, if any, have probably
-	      ;; been closed by matching/mismatching ones.  We're probably
-	      ;; finished - we just need to check for having found an
-	      ;; unmatched )/}/], which we ignore.  Such a )/}/] can't be in a
-	      ;; macro, due the action of `c-neutralize-syntax-in-CPP'.
-	      (c-safe (setq ren+1 (scan-lists ren+1 1 1)))))) ; acts as loop control.
-
-      ;; Record the final, innermost, brace-pair if there is one.
-      (c-state-push-any-brace-pair bra+1 macro-start-or-here)
-
-      ;; Determine a good pos
-      (while (and (setq paren+1 (car paren+1s))
-		  (> (if (> paren+1 macro-start-or-here)
-			 paren+1
-		       (goto-char paren+1)
-		       (setq mstart (and (c-beginning-of-macro)
-					 (point)))
-		       (or mstart paren+1))
-		     here-bol))
-	(setq paren+1s (cdr paren+1s)))
-      (cond
-       ((and paren+1 mstart)
-	(min paren+1 mstart))
-       (paren+1)
-       (t from)))))
-
-(defun c-remove-stale-state-cache (good-pos pps-point)
-  ;; Remove stale entries from the `c-cache-state', i.e. those which will
-  ;; not be in it when it is amended for position (point-max).
-  ;; Additionally, the "outermost" open-brace entry before (point-max)
-  ;; will be converted to a cons if the matching close-brace is scanned.
-  ;;
-  ;; GOOD-POS is a "maximal" "safe position" - there must be no open
-  ;; parens/braces/brackets between GOOD-POS and (point-max).
-  ;;
-  ;; As a second thing, calculate the result of parse-partial-sexp at
-  ;; PPS-POINT, w.r.t. GOOD-POS.  The motivation here is that
-  ;; `c-state-cache-good-pos' may become PPS-POINT, but the caller may need to
-  ;; adjust it to get outside a string/comment.  (Sorry about this!  The code
-  ;; needs to be FAST).
-  ;;
-  ;; Return a list (GOOD-POS SCAN-BACK-POS PPS-STATE), where
-  ;; o - GOOD-POS is a position where the new value `c-state-cache' is known
-  ;;   to be good (we aim for this to be as high as possible);
-  ;; o - SCAN-BACK-POS, if not nil, indicates there may be a brace pair
-  ;;   preceding POS which needs to be recorded in `c-state-cache'.  It is a
-  ;;   position to scan backwards from.
-  ;; o - PPS-STATE is the parse-partial-sexp state at PPS-POINT.
-  (save-restriction
-    (narrow-to-region 1 (point-max))
-    (save-excursion
-      (let* ((in-macro-start   ; start of macro containing (point-max) or nil.
-	      (save-excursion
-		(goto-char (point-max))
-		(and (c-beginning-of-macro)
-		     (point))))
-	     (good-pos-actual-macro-start ; Start of macro containing good-pos
-					; or nil
-	      (and (< good-pos (point-max))
-		   (save-excursion
-		     (goto-char good-pos)
-		     (and (c-beginning-of-macro)
-			  (point)))))
-	     (good-pos-actual-macro-end	; End of this macro, (maybe
-					; (point-max)), or nil.
-	      (and good-pos-actual-macro-start
-		   (save-excursion
-		     (goto-char good-pos-actual-macro-start)
-		     (c-end-of-macro)
-		     (point))))
-	     pps-state 			; Will be 9 or 10 elements long.
-	     pos
-	     upper-lim	   ; ,beyond which `c-state-cache' entries are removed
-	     scan-back-pos
-	     pair-beg pps-point-state target-depth)
-
-	;; Remove entries beyond (point-max).  Also remove any entries inside
-	;; a macro, unless (point-max) is in the same macro.
-	(setq upper-lim
-	      (if (or (null c-state-old-cpp-beg)
-		      (and (> (point-max) c-state-old-cpp-beg)
-			   (< (point-max) c-state-old-cpp-end)))
-		  (point-max)
-		(min (point-max) c-state-old-cpp-beg)))
-	(while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim))
-	  (setq c-state-cache (cdr c-state-cache)))
-	;; If `upper-lim' is inside the last recorded brace pair, remove its
-	;; RBrace and indicate we'll need to search backwards for a previous
-	;; brace pair.
-	(when (and c-state-cache
-		   (consp (car c-state-cache))
-		   (> (cdar c-state-cache) upper-lim))
-	  (setcar c-state-cache (caar c-state-cache))
-	  (setq scan-back-pos (car c-state-cache)))
-
-	;; The next loop jumps forward out of a nested level of parens each
-	;; time round; the corresponding elements in `c-state-cache' are
-	;; removed.  `pos' is just after the brace-pair or the open paren at
-	;; (car c-state-cache).  There can be no open parens/braces/brackets
-	;; between `good-pos'/`good-pos-actual-macro-start' and (point-max),
-	;; due to the interface spec to this function.
-	(setq pos (if (and good-pos-actual-macro-end
-			   (not (eq good-pos-actual-macro-start
-				    in-macro-start)))
-		      (1+ good-pos-actual-macro-end) ; get outside the macro as
-					; marked by a `category' text property.
-		    good-pos))
-	(goto-char pos)
-	(while (and c-state-cache
-		    (< (point) (point-max)))
-	  (cond
-	   ((null pps-state)		; first time through
-	    (setq target-depth -1))
-	   ((eq (car pps-state) target-depth) ; found closing ),},]
-	    (setq target-depth (1- (car pps-state))))
-	   ;; Do nothing when we've merely reached pps-point.
-	   )
-
-	  ;; Scan!
-	  (setq pps-state
-		(parse-partial-sexp
-		 (point) (if (< (point) pps-point) pps-point (point-max))
-		 target-depth
-		 nil pps-state))
-
-	  (if (= (point) pps-point)
-	      (setq pps-point-state pps-state))
-
-	  (when (eq (car pps-state) target-depth)
-	    (setq pos (point))	     ; POS is now just after an R-paren/brace.
-	    (cond
-	     ((and (consp (car c-state-cache))
-		   (eq (point) (cdar c-state-cache)))
-		;; We've just moved out of the paren pair containing the brace-pair
-		;; at (car c-state-cache).  `pair-beg' is where the open paren is,
-		;; and is potentially where the open brace of a cons in
-		;; c-state-cache will be.
-	      (setq pair-beg (car-safe (cdr c-state-cache))
-		    c-state-cache (cdr-safe (cdr c-state-cache)))) ; remove {}pair + containing Lparen.
-	     ((numberp (car c-state-cache))
-	      (setq pair-beg (car c-state-cache)
-		    c-state-cache (cdr c-state-cache))) ; remove this
-					; containing Lparen
-	     ((numberp (cadr c-state-cache))
-	      (setq pair-beg (cadr c-state-cache)
-		    c-state-cache (cddr c-state-cache))) ; Remove a paren pair
-					; together with enclosed brace pair.
-	     ;; (t nil)			; Ignore an unmated Rparen.
-	     )))
-
-	(if (< (point) pps-point)
-	    (setq pps-state (parse-partial-sexp (point) pps-point
-						nil nil ; TARGETDEPTH, STOPBEFORE
-						pps-state)))
-
-	;; If the last paren pair we moved out of was actually a brace pair,
-	;; insert it into `c-state-cache'.
-	(when (and pair-beg (eq (char-after pair-beg) ?{))
-	  (if (consp (car-safe c-state-cache))
-	      (setq c-state-cache (cdr c-state-cache)))
-	  (setq c-state-cache (cons (cons pair-beg pos)
-				    c-state-cache)))
-
-	(list pos scan-back-pos pps-state)))))
-
-(defun c-remove-stale-state-cache-backwards (here cache-pos)
-  ;; Strip stale elements of `c-state-cache' by moving backwards through the
-  ;; buffer, and inform the caller of the scenario detected.
-  ;;
-  ;; HERE is the position we're setting `c-state-cache' for.
-  ;; CACHE-POS is just after the latest recorded position in `c-state-cache'
-  ;;   before HERE, or a position at or near point-min which isn't in a
-  ;;   literal.
-  ;;
-  ;; This function must only be called only when (> `c-state-cache-good-pos'
-  ;; HERE).  Usually the gap between CACHE-POS and HERE is large.  It is thus
-  ;; optimised to eliminate (or minimise) scanning between these two
-  ;; positions.
-  ;;
-  ;; Return a three element list (GOOD-POS SCAN-BACK-POS FWD-FLAG), where:
-  ;; o - GOOD-POS is a "good position", where `c-state-cache' is valid, or
-  ;;   could become so after missing elements are inserted into
-  ;;   `c-state-cache'.  This is JUST AFTER an opening or closing
-  ;;   brace/paren/bracket which is already in `c-state-cache' or just before
-  ;;   one otherwise.  exceptionally (when there's no such b/p/b handy) the BOL
-  ;;   before `here''s line, or the start of the literal containing it.
-  ;; o - SCAN-BACK-POS, if non-nil, indicates there may be a brace pair
-  ;;   preceding POS which isn't recorded in `c-state-cache'.  It is a position
-  ;;   to scan backwards from.
-  ;; o - FWD-FLAG, if non-nil, indicates there may be parens/braces between
-  ;;   POS and HERE which aren't recorded in `c-state-cache'.
-  ;;
-  ;; The comments in this defun use "paren" to mean parenthesis or square
-  ;; bracket (as contrasted with a brace), and "(" and ")" likewise.
-  ;;
-  ;;    .   {..} (..) (..)  ( .. {   }  ) (...)    ( ....          .  ..)
-  ;;    |                   |       |   |     |                    |
-  ;;    CP                  E      here D     C                   good
-  (let ((pos c-state-cache-good-pos)
-	pa ren	       ; positions of "(" and ")"
-	dropped-cons ; whether the last element dropped from `c-state-cache'
-		     ; was a cons (representing a brace-pair)
-	good-pos			; see above.
-	lit	    ; (START . END) of a literal containing some point.
-	here-lit-start here-lit-end	; bounds of literal containing `here'
-					; or `here' itself.
-	(here-bol (c-point 'bol here))
-	(too-far-back (max (- here c-state-cache-too-far) 1)))
-
-    ;; Remove completely irrelevant entries from `c-state-cache'.
-    (while (and c-state-cache
-		(>= (setq pa (c-state-cache-top-lparen)) here))
-      (setq dropped-cons (consp (car c-state-cache)))
-      (setq c-state-cache (cdr c-state-cache))
-      (setq pos pa))
-    ;; At this stage, (> pos here);
-    ;; (< (c-state-cache-top-lparen) here)  (or is nil).
-
-    ;; CASE 1: The top of the cache is a brace pair which now encloses `here'.
-    ;; As good-pos, return the address. of the "{".
-    (if (and (consp (car c-state-cache))
-	     (> (cdar c-state-cache) here))
-	;; Since we've no knowledge of what's inside these braces, we have no
-	;; alternative but to direct the caller to scan the buffer from the
-	;; opening brace.
-	(progn
-	  (setq pos (caar c-state-cache))
-	  (setcar c-state-cache pos)
-	  (list (1+ pos) pos t)) ; return value.  We've just converted a brace
-			         ; pair entry into a { entry, so the caller
-			         ; needs to search for a brace pair before the
-			         ; {.
-
-      ;; ;; `here' might be inside a literal.  Check for this.
-      (setq lit (c-state-literal-at here)
-	    here-lit-start (or (car lit) here)
-	    here-lit-end (or (cdr lit) here))
-
-      ;; `here' might be nested inside any depth of parens (or brackets but
-      ;; not braces).  Scan backwards to find the outermost such opening
-      ;; paren, if there is one.  This will be the scan position to return.
-      (save-restriction
-	(narrow-to-region cache-pos (point-max))
-	(setq pos (c-state-balance-parens-backwards here-lit-end pos)))
-
-      (if (< pos here-lit-start)
-	  ;; CASE 2: Address of outermost ( or [ which now encloses `here',
-	  ;; but didn't enclose the (previous) `c-state-cache-good-pos'.  If
-	  ;; there is a brace pair preceding this, it will already be in
-	  ;; `c-state-cache', unless there was a brace pair after it,
-	  ;; i.e. there'll only be one to scan for if we've just deleted one.
-	  (list pos (and dropped-cons pos) t) ; Return value.
-
-	;; `here' isn't enclosed in a (previously unrecorded) bracket/paren.
-	;; Further forward scanning isn't needed, but we still need to find a
-	;; GOOD-POS.  Step out of all enclosing "("s on HERE's line.
-	(save-restriction
-	  (narrow-to-region here-bol (point-max))
-	  (setq pos here-lit-start)
-	  (c-safe (while (setq pa (scan-lists pos -1 1))
-		    (setq pos pa))))	; might signal
-	(if (setq ren (c-safe-scan-lists pos -1 -1 too-far-back))
-	    ;; CASE 3: After a }/)/] before `here''s BOL.
-	    (list (1+ ren) (and dropped-cons pos) nil) ; Return value
-
-	  ;; CASE 4; Best of a bad job: BOL before `here-bol', or beginning of
-	  ;; literal containing it.
-	  (setq good-pos (c-state-lit-beg (c-point 'bopl here-bol)))
-	  (list good-pos (and dropped-cons good-pos) nil))))))
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Externally visible routines.
-
-(defun c-state-cache-init ()
-  (setq c-state-cache nil
-	c-state-cache-good-pos 1
-	c-state-nonlit-pos-cache nil
-	c-state-nonlit-pos-cache-limit 1
-	c-state-brace-pair-desert nil
-	c-state-point-min 1
-	c-state-point-min-lit-type nil
-	c-state-point-min-lit-start nil
-	c-state-min-scan-pos 1
-	c-state-old-cpp-beg nil
-	c-state-old-cpp-end nil)
-  (c-state-mark-point-min-literal))
-
-(defun c-invalidate-state-cache-1 (here)
-  ;; Invalidate all info on `c-state-cache' that applies to the buffer at HERE
-  ;; or higher and set `c-state-cache-good-pos' accordingly.  The cache is
-  ;; left in a consistent state.
-  ;;
-  ;; This is much like `c-whack-state-after', but it never changes a paren
-  ;; pair element into an open paren element.  Doing that would mean that the
-  ;; new open paren wouldn't have the required preceding paren pair element.
-  ;;
-  ;; This function is called from c-after-change.
-
-  ;; The cache of non-literals:
-  (if (< here c-state-nonlit-pos-cache-limit)
-      (setq c-state-nonlit-pos-cache-limit here))
-
-  ;; `c-state-cache':
-  ;; Case 1: if `here' is in a literal containing point-min, everything
-  ;; becomes (or is already) nil.
-  (if (or (null c-state-cache-good-pos)
-	  (< here (c-state-get-min-scan-pos)))
-      (setq c-state-cache nil
-	    c-state-cache-good-pos nil
-	    c-state-min-scan-pos nil)
-
-;;; Truncate `c-state-cache' and set `c-state-cache-good-pos' to a value below
-;;; `here'.  To maintain its consistency, we may need to insert a new brace
-;;; pair.
-    (let ((here-bol (c-point 'bol here))
-	  too-high-pa		  ; recorded {/(/[ next above here, or nil.
-	  dropped-cons		  ; was the last removed element a brace pair?
-	  pa)
-      ;; The easy bit - knock over-the-top bits off `c-state-cache'.
-      (while (and c-state-cache
-		  (>= (setq pa (c-state-cache-top-paren)) here))
-	(setq dropped-cons (consp (car c-state-cache))
-	      too-high-pa (c-state-cache-top-lparen)
-	      c-state-cache (cdr c-state-cache)))
-
-      ;; Do we need to add in an earlier brace pair, having lopped one off?
-      (if (and dropped-cons
-	       (< too-high-pa (+ here c-state-cache-too-far)))
-	  (c-append-lower-brace-pair-to-state-cache too-high-pa here-bol))
-      (setq c-state-cache-good-pos (or (c-state-cache-after-top-paren)
-				       (c-state-get-min-scan-pos)))))
-
-  ;; The brace-pair desert marker:
-  (when (car c-state-brace-pair-desert)
-    (if (< here (car c-state-brace-pair-desert))
-	(setq c-state-brace-pair-desert nil)
-      (if (< here (cdr c-state-brace-pair-desert))
-	  (setcdr c-state-brace-pair-desert here)))))
-
-(defun c-parse-state-1 ()
-  ;; Find and record all noteworthy parens between some good point earlier in
-  ;; the file and point.  That good point is at least the beginning of the
-  ;; top-level construct we are in, or the beginning of the preceding
-  ;; top-level construct if we aren't in one.
-  ;;
-  ;; The returned value is a list of the noteworthy parens with the last one
-  ;; first.  If an element in the list is an integer, it's the position of an
-  ;; open paren (of any type) which has not been closed before the point.  If
-  ;; an element is a cons, it gives the position of a closed BRACE paren
-  ;; pair[*]; the car is the start brace position and the cdr is the position
-  ;; following the closing brace.  Only the last closed brace paren pair
-  ;; before each open paren and before the point is recorded, and thus the
-  ;; state never contains two cons elements in succession.  When a close brace
-  ;; has no matching open brace (e.g., the matching brace is outside the
-  ;; visible region), it is not represented in the returned value.
-  ;;
-  ;; [*] N.B. The close "brace" might be a mismatching close bracket or paren.
-  ;; This defun explicitly treats mismatching parens/braces/brackets as
-  ;; matching.  It is the open brace which makes it a "brace" pair.
-  ;;
-  ;; If POINT is within a macro, open parens and brace pairs within
-  ;; THIS macro MIGHT be recorded.  This depends on whether their
-  ;; syntactic properties have been suppressed by
-  ;; `c-neutralize-syntax-in-CPP'.  This might need fixing (2008-12-11).
+(defun c-parse-state ()
+  ;; Find and record all noteworthy parens between some good point
+  ;; earlier in the file and point.  That good point is at least the
+  ;; beginning of the top-level construct we are in, or the beginning
+  ;; of the preceding top-level construct if we aren't in one.
+  ;;
+  ;; The returned value is a list of the noteworthy parens with the
+  ;; last one first.  If an element in the list is an integer, it's
+  ;; the position of an open paren which has not been closed before
+  ;; the point.  If an element is a cons, it gives the position of a
+  ;; closed brace paren pair; the car is the start paren position and
+  ;; the cdr is the position following the closing paren.  Only the
+  ;; last closed brace paren pair before each open paren and before
+  ;; the point is recorded, and thus the state never contains two cons
+  ;; elements in succession.
   ;;
   ;; Currently no characters which are given paren syntax with the
   ;; syntax-table property are recorded, i.e. angle bracket arglist
   ;; parens are never present here.  Note that this might change.
   ;;
   ;; BUG: This function doesn't cope entirely well with unbalanced
-  ;; parens in macros.  (2008-12-11: this has probably been resolved
-  ;; by the function `c-neutralize-syntax-in-CPP'.)  E.g. in the
-  ;; following case the brace before the macro isn't balanced with the
-  ;; one after it:
+  ;; parens in macros.  E.g. in the following case the brace before
+  ;; the macro isn't balanced with the one after it:
   ;;
   ;;     {
   ;;     #define X {
   ;;     }
   ;;
-  ;; Note to maintainers: this function DOES get called with point
-  ;; within comments and strings, so don't assume it doesn't!
-  ;;
   ;; This function might do hidden buffer changes.
-  (let* ((here (point))
-	 (here-bopl (c-point 'bopl))
-	 strategy	     ; 'forward, 'backward etc..
-	 ;; Candidate positions to start scanning from:
-	 cache-pos	     ; highest position below HERE already existing in
-			     ; cache (or 1).
-	 good-pos
-	 start-point
-	 bopl-state
-	 res
-	 scan-backward-pos scan-forward-p) ; used for 'backward.
-    ;; If POINT-MIN has changed, adjust the cache
-    (unless (= (point-min) c-state-point-min)
-      (c-renarrow-state-cache))
-
-    ;; Strategy?
-    (setq res (c-parse-state-get-strategy here c-state-cache-good-pos)
-	  strategy (car res)
-	  cache-pos (cadr res)
-	  start-point (nth 2 res))
-
-    (when (eq strategy 'BOD)
-      (setq c-state-cache nil
-	    c-state-cache-good-pos start-point))
-
-    ;; SCAN!
-    (save-restriction
-      (cond
-       ((memq strategy '(forward BOD))
+
+  (save-restriction
+    (let* ((here (point))
+	   (here-bol (c-point 'bol))
+	   (c-macro-start (c-query-macro-start))
+	   (in-macro-start (or c-macro-start (point)))
+	   old-state last-pos brace-pair-open brace-pair-close
+	   pos save-pos)
+      (c-invalidate-state-cache here)
+
+      ;; If the minimum position has changed due to narrowing then we
+      ;; have to fix the tail of `c-state-cache' accordingly.
+      (unless (= c-state-cache-start (point-min))
+	(if (> (point-min) c-state-cache-start)
+	    ;; If point-min has moved forward then we just need to cut
+	    ;; off a bit of the tail.
+	    (let ((ptr (cons nil c-state-cache)) elem)
+	      (while (and (setq elem (car-safe (cdr ptr)))
+			  (>= (if (consp elem) (car elem) elem)
+			      (point-min)))
+		(setq ptr (cdr ptr)))
+	      (when (consp ptr)
+		(if (eq (cdr ptr) c-state-cache)
+		    (setq c-state-cache nil
+			  c-state-cache-good-pos 1)
+		  (setcdr ptr nil))))
+	  ;; If point-min has moved backward then we drop the state
+	  ;; completely.  It's possible to do a better job here and
+	  ;; recalculate the top only.
+	  (setq c-state-cache nil
+		c-state-cache-good-pos 1))
+	(setq c-state-cache-start (point-min)))
+
+      ;; Get the latest position we know are directly inside the
+      ;; closest containing paren of the cached state.
+      (setq last-pos (and c-state-cache
+			  (if (consp (car c-state-cache))
+			      (cdr (car c-state-cache))
+			    (1+ (car c-state-cache)))))
+      (if (or (not last-pos)
+	      (< last-pos c-state-cache-good-pos))
+	  (setq last-pos c-state-cache-good-pos)
+	;; Take the opportunity to move the cached good position
+	;; further down.
+	(if (< last-pos here-bol)
+	    (setq c-state-cache-good-pos last-pos)))
+
+      ;; Check if `last-pos' is in a macro.  If it is, and we're not
+      ;; in the same macro, we must discard everything on
+      ;; `c-state-cache' that is inside the macro before using it.
+      (save-excursion
+	(goto-char last-pos)
+	(when (and (c-beginning-of-macro)
+		   (/= (point) in-macro-start))
+	  (c-invalidate-state-cache (point))
+	  ;; Set `last-pos' again just like above except that there's
+	  ;; no use looking at `c-state-cache-good-pos' here.
+	  (setq last-pos (if c-state-cache
+			     (if (consp (car c-state-cache))
+				 (cdr (car c-state-cache))
+			       (1+ (car c-state-cache)))
+			   1))))
+
+      ;; If we've moved very far from the last cached position then
+      ;; it's probably better to redo it from scratch, otherwise we
+      ;; might spend a lot of time searching from `last-pos' down to
+      ;; here.
+      (when (< last-pos (- here 20000))
+	;; First get the fallback start position.  If it turns out
+	;; that it's so far back that the cached state is closer then
+	;; we'll keep it afterall.
+	(setq pos (c-get-fallback-start-pos here))
+	(if (<= pos last-pos)
+	    (setq pos nil)
+	  (setq last-pos nil
+		c-state-cache nil
+		c-state-cache-good-pos 1)))
+
+      ;; Find the start position for the forward search.  (Can't
+      ;; search in the backward direction since the point might be in
+      ;; some kind of literal.)
+
+      (unless pos
+	(setq old-state c-state-cache)
+
+	;; There's a cached state with a containing paren.  Pop off
+	;; the stale containing sexps from it by going forward out of
+	;; parens as far as possible.
 	(narrow-to-region (point-min) here)
-	(setq res (c-remove-stale-state-cache start-point here-bopl))
-	(setq cache-pos (car res)
-	      scan-backward-pos (cadr res)
-	      bopl-state (car (cddr res))) ; will be nil if (< here-bopl
-					; start-point)
-	(if scan-backward-pos
-	    (c-append-lower-brace-pair-to-state-cache scan-backward-pos))
-	(setq good-pos
-	      (c-append-to-state-cache cache-pos))
-	(setq c-state-cache-good-pos
-	      (if (and bopl-state
-		       (< good-pos (- here c-state-cache-too-far)))
-		  (c-state-cache-non-literal-place here-bopl bopl-state)
-		good-pos)))
-
-       ((eq strategy 'backward)
-	(setq res (c-remove-stale-state-cache-backwards here cache-pos)
-	      good-pos (car res)
-	      scan-backward-pos (cadr res)
-	      scan-forward-p (car (cddr res)))
-	(if scan-backward-pos
-	    (c-append-lower-brace-pair-to-state-cache
-	     scan-backward-pos))
-	(setq c-state-cache-good-pos
-	      (if scan-forward-p
-		  (progn (narrow-to-region (point-min) here)
-			 (c-append-to-state-cache good-pos))
-
-		(c-get-cache-scan-pos good-pos))))
-
-       (t ; (eq strategy 'IN-LIT)
-	(setq c-state-cache nil
-	      c-state-cache-good-pos nil)))))
-
-  c-state-cache)
-
-(defun c-invalidate-state-cache (here)
-  ;; This is a wrapper over `c-invalidate-state-cache-1'.
-  ;;
-  ;; It suppresses the syntactic effect of the < and > (template) brackets and
-  ;; of all parens in preprocessor constructs, except for any such construct
-  ;; containing point.  We can then call `c-invalidate-state-cache-1' without
-  ;; worrying further about macros and template delimiters.
-  (c-with-<->-as-parens-suppressed
-   (if (and c-state-old-cpp-beg
-	    (< c-state-old-cpp-beg here))
-       (c-with-all-but-one-cpps-commented-out
-	c-state-old-cpp-beg
-	(min c-state-old-cpp-end here)
-	(c-invalidate-state-cache-1 here))
-     (c-with-cpps-commented-out
-      (c-invalidate-state-cache-1 here)))))
-
-(defun c-parse-state ()
-  ;; This is a wrapper over `c-parse-state-1'.  See that function for a
-  ;; description of the functionality and return value.
-  ;;
-  ;; It suppresses the syntactic effect of the < and > (template) brackets and
-  ;; of all parens in preprocessor constructs, except for any such construct
-  ;; containing point.  We can then call `c-parse-state-1' without worrying
-  ;; further about macros and template delimiters.
-  (let (here-cpp-beg here-cpp-end)
-    (save-excursion
-      (when (c-beginning-of-macro)
-	(setq here-cpp-beg (point))
-	(unless
-	    (> (setq here-cpp-end (c-syntactic-end-of-macro))
-	       here-cpp-beg)
-	  (setq here-cpp-beg nil  here-cpp-end nil))))
-    ;; FIXME!!! Put in a `condition-case' here to protect the integrity of the
-    ;; subsystem.
-    (prog1
-	(c-with-<->-as-parens-suppressed
-	 (if (and here-cpp-beg (> here-cpp-end here-cpp-beg))
-	     (c-with-all-but-one-cpps-commented-out
-	      here-cpp-beg here-cpp-end
-	      (c-parse-state-1))
-	   (c-with-cpps-commented-out
-	    (c-parse-state-1))))
-      (setq c-state-old-cpp-beg (and here-cpp-beg (copy-marker here-cpp-beg t))
-	    c-state-old-cpp-end (and here-cpp-end (copy-marker here-cpp-end t)))
-      )))
-
-;; Debug tool to catch cache inconsistencies.  This is called from
-;; 000tests.el.
+	(let (placeholder pair-beg)
+	  (while (and c-state-cache
+		      (setq placeholder
+			    (c-up-list-forward last-pos)))
+	    (setq last-pos placeholder)
+	    (if (consp (car c-state-cache))
+		(setq pair-beg (car-safe (cdr c-state-cache))
+		      c-state-cache (cdr-safe (cdr c-state-cache)))
+	      (setq pair-beg (car c-state-cache)
+		    c-state-cache (cdr c-state-cache))))
+
+	  (when (and pair-beg (eq (char-after pair-beg) ?{))
+	    ;; The last paren pair we moved out from was a brace
+	    ;; pair.  Modify the state to record this as a closed
+	    ;; pair now.
+	    (if (consp (car-safe c-state-cache))
+		(setq c-state-cache (cdr c-state-cache)))
+	    (setq c-state-cache (cons (cons pair-beg last-pos)
+				      c-state-cache))))
+
+	;; Check if the preceding balanced paren is within a
+	;; macro; it should be ignored if we're outside the
+	;; macro.  There's no need to check any further upwards;
+	;; if the macro contains an unbalanced opening paren then
+	;; we're smoked anyway.
+	(when (and (<= (point) in-macro-start)
+		   (consp (car c-state-cache)))
+	  (save-excursion
+	    (goto-char (car (car c-state-cache)))
+	    (when (c-beginning-of-macro)
+	      (setq here (point)
+		    c-state-cache (cdr c-state-cache)))))
+
+	(unless (eq c-state-cache old-state)
+	  ;; Have to adjust the cached good position if state has been
+	  ;; popped off.
+	  (setq c-state-cache-good-pos
+		(if c-state-cache
+		    (if (consp (car c-state-cache))
+			(cdr (car c-state-cache))
+		      (1+ (car c-state-cache)))
+		  1)
+		old-state c-state-cache))
+
+	(when c-state-cache
+	  (setq pos last-pos)))
+
+      ;; Get the fallback start position.
+      (unless pos
+	(setq pos (c-get-fallback-start-pos here)
+	      c-state-cache nil
+	      c-state-cache-good-pos 1))
+
+      (narrow-to-region (point-min) here)
+
+      (while pos
+	(setq save-pos pos
+	      brace-pair-open nil)
+
+	;; Find the balanced brace pairs.  This loop is hot, so it
+	;; does ugly tricks to go faster.
+	(c-safe
+	  (let (set-good-pos set-brace-pair)
+	    (while t
+	      (setq last-pos nil
+		    last-pos (scan-lists pos 1 -1)) ; Might signal.
+	      (setq pos (scan-lists last-pos 1 1) ; Might signal.
+		    set-good-pos (< pos here-bol)
+		    set-brace-pair (eq (char-before last-pos) ?{))
+
+	      ;; Update the cached good position and record the brace
+	      ;; pair, whichever is applicable for the paren we've
+	      ;; just jumped over.  But first check that it isn't
+	      ;; inside a macro and the point isn't inside the same
+	      ;; one.
+	      (when (and (or set-good-pos set-brace-pair)
+			 (or (>= pos in-macro-start)
+			     (save-excursion
+			       (goto-char pos)
+			       (not (c-beginning-of-macro)))))
+		(if set-good-pos
+		    (setq c-state-cache-good-pos pos))
+		(if set-brace-pair
+		    (setq brace-pair-open last-pos
+			  brace-pair-close pos))))))
+
+	;; Record the last brace pair.
+	(when brace-pair-open
+	  (let ((head (car-safe c-state-cache)))
+	    (if (consp head)
+		(progn
+		  (setcar head (1- brace-pair-open))
+		  (setcdr head brace-pair-close))
+	      (setq c-state-cache (cons (cons (1- brace-pair-open)
+					      brace-pair-close)
+					c-state-cache)))))
+
+	(if last-pos
+	    ;; Prepare to loop, but record the open paren only if it's
+	    ;; outside a macro or within the same macro as point, and
+	    ;; if it is a legitimate open paren and not some character
+	    ;; that got an open paren syntax-table property.
+	    (progn
+	      (setq pos last-pos)
+	      (when (and (or (>= last-pos in-macro-start)
+			     (save-excursion
+			       (goto-char last-pos)
+			       (not (c-beginning-of-macro))))
+			 ;; Check for known types of parens that we
+			 ;; want to record.  The syntax table is not to
+			 ;; be trusted here since the caller might be
+			 ;; using e.g. `c++-template-syntax-table'.
+			 (memq (char-before last-pos) '(?{ ?\( ?\[)))
+		(if (< last-pos here-bol)
+		    (setq c-state-cache-good-pos last-pos))
+		(setq c-state-cache (cons (1- last-pos) c-state-cache))))
+
+	  (if (setq last-pos (c-up-list-forward pos))
+	      ;; Found a close paren without a corresponding opening
+	      ;; one.  Maybe we didn't go back far enough, so try to
+	      ;; scan backward for the start paren and then start over.
+	      (progn
+		(setq pos (c-up-list-backward pos)
+		      c-state-cache nil
+		      c-state-cache-good-pos c-state-cache-start)
+		(when (or (not pos)
+			  ;; Emacs (up to at least 21.2) can get confused by
+			  ;; open parens in column zero inside comments: The
+			  ;; sexp functions can then misbehave and bring us
+			  ;; back to the same point again.  Check this so that
+			  ;; we don't get an infinite loop.
+			  (>= pos save-pos))
+		  (setq pos last-pos
+			c-parsing-error
+			(format "Unbalanced close paren at line %d"
+				(1+ (count-lines (point-min)
+						 (c-point 'bol last-pos)))))))
+	    (setq pos nil))))
+
+      ;;(message "c-parse-state: %S end: %S" c-state-cache c-state-cache-good-pos)
+      c-state-cache)))
+
+;; Debug tool to catch cache inconsistencies.
 (defvar c-debug-parse-state nil)
 (unless (fboundp 'c-real-parse-state)
   (fset 'c-real-parse-state (symbol-function 'c-parse-state)))
 (cc-bytecomp-defun c-real-parse-state)
 (defun c-debug-parse-state ()
-  (let ((here (point)) (res1 (c-real-parse-state)) res2)
+  (let ((res1 (c-real-parse-state)) res2)
     (let ((c-state-cache nil)
-	  (c-state-cache-good-pos 1)
-	  (c-state-nonlit-pos-cache nil)
-	  (c-state-nonlit-pos-cache-limit 1)
-	  (c-state-brace-pair-desert nil)
-	  (c-state-point-min 1)
-	  (c-state-point-min-lit-type nil)
-	  (c-state-point-min-lit-start nil)
-	  (c-state-min-scan-pos 1)
-	  (c-state-old-cpp-beg nil)
-	  (c-state-old-cpp-end nil))
+	  (c-state-cache-start 1)
+	  (c-state-cache-good-pos 1))
       (setq res2 (c-real-parse-state)))
     (unless (equal res1 res2)
       ;; The cache can actually go further back due to the ad-hoc way
@@ -3067,11 +2296,10 @@
 	(while (not (or (bobp) (eq (char-after) ?{)))
 	  (c-beginning-of-defun-1))
 	(unless (equal (c-whack-state-before (point) res1) res2)
-	  (message (concat "c-parse-state inconsistency at %s: "
+	  (message (concat "c-parse-state inconsistency: "
 			   "using cache: %s, from scratch: %s")
-		   here res1 res2))))
+		   res1 res2))))
     res1))
-
 (defun c-toggle-parse-state-debug (&optional arg)
   (interactive "P")
   (setq c-debug-parse-state (c-calculate-state arg c-debug-parse-state))
@@ -3082,7 +2310,6 @@
 (when c-debug-parse-state
   (c-toggle-parse-state-debug 1))
 
-
 (defun c-whack-state-before (bufpos paren-state)
   ;; Whack off any state information from PAREN-STATE which lies
   ;; before BUFPOS.  Not destructive on PAREN-STATE.
@@ -4882,168 +4109,7 @@
 	)))
 
 
-;; Setting and removing syntax properties on < and > in languages (C++
-;; and Java) where they can be template/generic delimiters as well as
-;; their normal meaning of "less/greater than".
-
-;; Normally, < and > have syntax 'punctuation'.  When they are found to
-;; be delimiters, they are marked as such with the category properties
-;; c-<-as-paren-syntax, c->-as-paren-syntax respectively.
-
-;; STRATEGY:
-;;
-;; It is impossible to determine with certainty whether a <..> pair in
-;; C++ is two comparison operators or is template delimiters, unless
-;; one duplicates a lot of a C++ compiler.  For example, the following
-;; code fragment:
-;;
-;;     foo (a < b, c > d) ;
-;;
-;; could be a function call with two integer parameters (each a
-;; relational expression), or it could be a constructor for class foo
-;; taking one parameter d of templated type "a < b, c >".  They are
-;; somewhat easier to distinguish in Java.
-;;
-;; The strategy now (2010-01) adopted is to mark and unmark < and
-;; > IN MATCHING PAIRS ONLY.  [Previously, they were marked
-;; individually when their context so indicated.  This gave rise to
-;; intractible problems when one of a matching pair was deleted, or
-;; pulled into a literal.]
-;;
-;; At each buffer change, the syntax-table properties are removed in a
-;; before-change function and reapplied, when needed, in an
-;; after-change function.  It is far more important that the
-;; properties get removed when they they are spurious than that they
-;; be present when wanted.
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(defun c-clear-<-pair-props (&optional pos)
-  ;; POS (default point) is at a < character.  If it is marked with
-  ;; open paren syntax-table text property, remove the property,
-  ;; together with the close paren property on the matching > (if
-  ;; any).
-  (save-excursion
-    (if pos
-	(goto-char pos)
-      (setq pos (point)))
-    (when (equal (c-get-char-property (point) 'syntax-table)
-		 c-<-as-paren-syntax)
-      (with-syntax-table c-no-parens-syntax-table ; ignore unbalanced [,{,(,..
-	(c-go-list-forward))
-      (when (equal (c-get-char-property (1- (point)) 'syntax-table)
-		   c->-as-paren-syntax) ; should always be true.
-	(c-clear-char-property (1- (point)) 'category))
-      (c-clear-char-property pos 'category))))
-
-(defun c-clear->-pair-props (&optional pos)
-  ;; POS (default point) is at a > character.  If it is marked with
-  ;; close paren syntax-table property, remove the property, together
-  ;; with the open paren property on the matching < (if any).
-  (save-excursion
-    (if pos
-	(goto-char pos)
-      (setq pos (point)))
-    (when (equal (c-get-char-property (point) 'syntax-table)
-		 c->-as-paren-syntax)
-      (with-syntax-table c-no-parens-syntax-table ; ignore unbalanced [,{,(,..
-	(c-go-up-list-backward))
-      (when (equal (c-get-char-property (point) 'syntax-table)
-			c-<-as-paren-syntax) ; should always be true.
-	(c-clear-char-property (point) 'category))
-      (c-clear-char-property pos 'category))))
-
-(defun c-clear-<>-pair-props (&optional pos)
-  ;; POS (default point) is at a < or > character.  If it has an
-  ;; open/close paren syntax-table property, remove this property both
-  ;; from the current character and its partner (which will also be
-  ;; thusly marked).
-  (cond
-   ((eq (char-after) ?\<)
-    (c-clear-<-pair-props pos))
-   ((eq (char-after) ?\>)
-    (c-clear->-pair-props pos))
-   (t (c-benign-error
-       "c-clear-<>-pair-props called from wrong position"))))
-
-(defun c-clear-<-pair-props-if-match-after (lim &optional pos)
-  ;; POS (default point) is at a < character.  If it is both marked
-  ;; with open/close paren syntax-table property, and has a matching >
-  ;; (also marked) which is after LIM, remove the property both from
-  ;; the current > and its partner.
-  (save-excursion
-    (if pos
-	(goto-char pos)
-      (setq pos (point)))
-    (when (equal (c-get-char-property (point) 'syntax-table)
-		 c-<-as-paren-syntax)
-      (with-syntax-table c-no-parens-syntax-table ; ignore unbalanced [,{,(,..
-	(c-go-list-forward))
-      (when (and (>= (point) lim)
-		 (equal (c-get-char-property (1- (point)) 'syntax-table)
-			c->-as-paren-syntax)) ; should always be true.
-	(c-unmark-<->-as-paren (1- (point)))
-	(c-unmark-<->-as-paren pos)))))
-
-(defun c-clear->-pair-props-if-match-before (lim &optional pos)
-  ;; POS (default point) is at a > character.  If it is both marked
-  ;; with open/close paren syntax-table property, and has a matching <
-  ;; (also marked) which is before LIM, remove the property both from
-  ;; the current < and its partner.
-  (save-excursion
-    (if pos
-	(goto-char pos)
-      (setq pos (point)))
-    (when (equal (c-get-char-property (point) 'syntax-table)
-		 c->-as-paren-syntax)
-      (with-syntax-table c-no-parens-syntax-table ; ignore unbalanced [,{,(,..
-	(c-go-up-list-backward))
-      (when (and (<= (point) lim)
-		 (equal (c-get-char-property (point) 'syntax-table)
-			c-<-as-paren-syntax)) ; should always be true.
-	(c-unmark-<->-as-paren (point))
-	(c-unmark-<->-as-paren pos)))))
-
-(defun c-before-change-check-<>-operators (beg end)
-  ;; Unmark certain pairs of "< .... >" which are currently marked as
-  ;; template/generic delimiters.  (This marking is via syntax-table
-  ;; text properties).
-  ;;
-  ;; These pairs are those which are in the current "statement" (i.e.,
-  ;; the region between the {, }, or ; before BEG and the one after
-  ;; END), and which enclose any part of the interval (BEG END).
-  ;;
-  ;; Note that in C++ (?and Java), template/generic parens cannot
-  ;; enclose a brace or semicolon, so we use these as bounds on the
-  ;; region we must work on.
-  ;;
-  ;; This function is called from before-change-functions (via
-  ;; c-get-state-before-change-functions).  Thus the buffer is widened,
-  ;; and point is undefined, both at entry and exit.
-  ;;
-  ;; FIXME!!!  This routine ignores the possibility of macros entirely.
-  ;; 2010-01-29.
-  (save-excursion
-    (let ((beg-lit-limits (progn (goto-char beg) (c-literal-limits)))
-	  (end-lit-limits (progn (goto-char end) (c-literal-limits))))
-      ;; Locate the barrier before the changed region
-      (goto-char  (if beg-lit-limits (car beg-lit-limits) beg))
-      (c-syntactic-skip-backward "^;{}" (max (- beg 2048) (point-min)))
-
-      ;; Remove the syntax-table properties from each pertinent <...> pair.
-      ;; Firsly, the ones with the < before beg and > after beg.
-      (while (c-search-forward-char-property 'category 'c-<-as-paren-syntax beg)
-	(c-clear-<-pair-props-if-match-after beg (1- (point))))
-
-      ;; Locate the barrier after END.
-      (goto-char (if end-lit-limits (cdr end-lit-limits) end))
-      (c-syntactic-re-search-forward "[;{}]"
-				     (min (+ end 2048) (point-max)) 'end)
-
-      ;; Remove syntax-table properties from the remaining pertinent <...>
-      ;; pairs, those with a > after end and < before end.
-      (while (c-search-backward-char-property 'category 'c->-as-paren-syntax end)
-	(c-clear->-pair-props-if-match-before end)))))
-
-
+;; Handling of small scale constructs like types and names.
 
 (defun c-after-change-check-<>-operators (beg end)
   ;; This is called from `after-change-functions' when
@@ -5065,7 +4131,7 @@
 		 (< beg (setq beg (match-end 0))))
 	(while (progn (skip-chars-forward "^<>" beg)
 		      (< (point) beg))
-	  (c-clear-<>-pair-props)
+	  (c-clear-char-property (point) 'syntax-table)
 	  (forward-char))))
 
     (when (< beg end)
@@ -5080,13 +4146,9 @@
 		   (< end (setq end (match-end 0))))
 	  (while (progn (skip-chars-forward "^<>" end)
 			(< (point) end))
-	    (c-clear-<>-pair-props)
+	    (c-clear-char-property (point) 'syntax-table)
 	    (forward-char)))))))
 
-
-
-;; Handling of small scale constructs like types and names.
-
 ;; Dynamically bound variable that instructs `c-forward-type' to also
 ;; treat possible types (i.e. those that it normally returns 'maybe or
 ;; 'found for) as actual types (and always return 'found for them).
--- a/lisp/progmodes/cc-fonts.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-fonts.el	Fri Aug 27 23:05:43 2010 +0900
@@ -426,8 +426,7 @@
 				   (progn
 				     (c-mark-<-as-paren beg)
 				     (c-mark->-as-paren end))
-				 ;; (c-clear-char-property beg 'syntax-table)
-				 (c-clear-char-property beg 'category)))
+				 (c-clear-char-property beg 'syntax-table)))
 			     nil)))))))
 
 	      ;; #define.
--- a/lisp/progmodes/cc-langs.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-langs.el	Fri Aug 27 23:05:43 2010 +0900
@@ -391,27 +391,6 @@
   (and (c-lang-const c++-make-template-syntax-table)
        (funcall (c-lang-const c++-make-template-syntax-table))))
 
-(c-lang-defconst c-no-parens-syntax-table
-  ;; A variant of the standard syntax table which is used to find matching
-  ;; "<"s and ">"s which have been marked as parens using syntax table
-  ;; properties.  The other paren characters (e.g. "{", ")" "]") are given a
-  ;; non-paren syntax here. so that the list commands will work on "< ... >"
-  ;; even when there's unbalanced other parens inside them.
-  ;;
-  ;; This variable is nil for languages which don't have template stuff.
-  t  `(lambda ()
-	(if (c-lang-const c-recognize-<>-arglists)
-	    (let ((table (funcall ,(c-lang-const c-make-mode-syntax-table))))
-	      (modify-syntax-entry ?\( "." table)
-	      (modify-syntax-entry ?\) "." table)
-	      (modify-syntax-entry ?\[ "." table)
-	      (modify-syntax-entry ?\] "." table)
-	      (modify-syntax-entry ?\{ "." table)
-	      (modify-syntax-entry ?\} "." table)
-	      table))))
-(c-lang-defvar c-no-parens-syntax-table
-	       (funcall (c-lang-const c-no-parens-syntax-table)))
-
 (c-lang-defconst c-identifier-syntax-modifications
   "A list that describes the modifications that should be done to the
 mode syntax table to get a syntax table that matches all identifiers
@@ -444,36 +423,26 @@
 classifies symbol constituents like '_' and '$' as word constituents,
 so that all identifiers are recognized as words.")
 
-(c-lang-defconst c-get-state-before-change-functions
-  ;; For documentation see the following c-lang-defvar of the same name.
-  ;; The value here may be a list of functions or a single function.
-  t nil
-  c++ '(c-extend-region-for-CPP c-before-change-check-<>-operators)
-  (c objc) 'c-extend-region-for-CPP
-  ;; java 'c-before-change-check-<>-operators
-  awk 'c-awk-record-region-clear-NL)
-(c-lang-defvar c-get-state-before-change-functions
-	       (let ((fs (c-lang-const c-get-state-before-change-functions)))
-		  (if (listp fs)
-		      fs
-		    (list fs)))
-  "If non-nil, a list of functions called from c-before-change-hook.
-Typically these will record enough state to allow
+(c-lang-defconst c-get-state-before-change-function
+  "If non-nil, a function called from c-before-change-hook.
+Typically it will record enough state to allow
 `c-before-font-lock-function' to extend the region to fontify,
 and may do such things as removing text-properties which must be
 recalculated.
 
-These functions will be run in the order given.  Each of them
-takes 2 parameters, the BEG and END supplied to every
+It takes 2 parameters, the BEG and END supplied to every
 before-change function; on entry, the buffer will have been
 widened and match-data will have been saved; point is undefined
 on both entry and exit; the return value is ignored.
 
-The functions are called even when font locking isn't enabled.
-
-When the mode is initialized, the functions are called with
-parameters \(point-min) and \(point-max).")
-
+When the mode is initialized, this function is called with
+parameters \(point-min) and \(point-max)."
+  t nil
+  (c c++ objc) 'c-extend-region-for-CPP
+  awk 'c-awk-record-region-clear-NL)
+(c-lang-defvar c-get-state-before-change-function
+	       (c-lang-const c-get-state-before-change-function))
+  
 (c-lang-defconst c-before-font-lock-function
   "If non-nil, a function called just before font locking.
 Typically it will extend the region about to be fontified \(see
@@ -492,7 +461,7 @@
 When the mode is initialized, this function is called with
 parameters \(point-min), \(point-max) and <buffer size>."
   t nil
-  (c c++ objc) 'c-neutralize-syntax-in-and-mark-CPP
+  (c c++ objc) 'c-extend-and-neutralize-syntax-in-CPP
   awk 'c-awk-extend-and-syntax-tablify-region)
 (c-lang-defvar c-before-font-lock-function
 	       (c-lang-const c-before-font-lock-function))
--- a/lisp/progmodes/cc-mode.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/cc-mode.el	Fri Aug 27 23:05:43 2010 +0900
@@ -410,7 +410,7 @@
 ;; temporary changes in some font lock support modes, causing extra
 ;; unnecessary work and font lock glitches due to interactions between
 ;; various text properties.
-;;
+;; 
 ;; (2007-02-12): The macro `combine-after-change-calls' ISN'T used any
 ;; more.
 
@@ -451,18 +451,18 @@
 			      end (point))))))))
 
 ;; c-maybe-stale-found-type records a place near the region being
-;; changed where an element of `found-types' might become stale.  It
+;; changed where an element of `found-types' might become stale.  It 
 ;; is set in c-before-change and is either nil, or has the form:
 ;;
 ;;   (c-decl-id-start "foo" 97 107  " (* ooka) " "o"), where
-;;
+;;   
 ;; o - `c-decl-id-start' is the c-type text property value at buffer
 ;;   pos 96.
-;;
+;; 
 ;; o - 97 107 is the region potentially containing the stale type -
 ;;   this is delimited by a non-nil c-type text property at 96 and
 ;;   either another one or a ";", "{", or "}" at 107.
-;;
+;; 
 ;; o - " (* ooka) " is the (before change) buffer portion containing
 ;;   the suspect type (here "ooka").
 ;;
@@ -517,9 +517,6 @@
   (make-local-variable 'fill-paragraph-function)
   (setq fill-paragraph-function 'c-fill-paragraph)
 
-  ;; Initialise the cache of brace pairs, and opening braces/brackets/parens.
-  (c-state-cache-init)
-
   (when (or c-recognize-<>-arglists
 	    (c-major-mode-is 'awk-mode)
 	    (c-major-mode-is '(c-mode c++-mode objc-mode)))
@@ -641,10 +638,8 @@
   (save-restriction
     (widen)
     (save-excursion
-      (if c-get-state-before-change-functions
-	  (mapc (lambda (fn)
-		  (funcall fn (point-min) (point-max)))
-		c-get-state-before-change-functions))
+      (if c-get-state-before-change-function
+	  (funcall c-get-state-before-change-function (point-min) (point-max)))
       (if c-before-font-lock-function
 	  (funcall c-before-font-lock-function (point-min) (point-max)
 		   (- (point-max) (point-min))))))
@@ -667,8 +662,13 @@
 
 This function is called from the hook `before-hack-local-variables-hook'."
   (when c-buffer-is-cc-mode
-    (let ((stile (cdr (assq 'c-file-style file-local-variables-alist)))
+    (let ((mode-cons (assq 'mode file-local-variables-alist))
+	  (stile (cdr (assq 'c-file-style file-local-variables-alist)))
 	  (offsets (cdr (assq 'c-file-offsets file-local-variables-alist))))
+      (when mode-cons
+	(hack-one-local-variable (car mode-cons) (cdr mode-cons))
+	(setq file-local-variables-alist
+	      (delq mode-cons file-local-variables-alist)))
       (when stile
 	(or (stringp stile) (error "c-file-style is not a string"))
 	(c-set-style stile))
@@ -777,7 +777,7 @@
 
 (defmacro c-run-mode-hooks (&rest hooks)
   ;; Emacs 21.1 has introduced a system with delayed mode hooks that
-  ;; requires the use of the new function `run-mode-hooks'.
+  ;; require the use of the new function `run-mode-hooks'.
   (if (cc-bytecomp-fboundp 'run-mode-hooks)
       `(run-mode-hooks ,@hooks)
     `(progn ,@(mapcar (lambda (hook) `(run-hooks ,hook)) hooks))))
@@ -810,8 +810,8 @@
   ;; has already been widened, and match-data saved.  The return value is
   ;; meaningless.
   ;;
-  ;; This function is in the C/C++/ObjC values of
-  ;; `c-get-state-before-change-functions' and is called exclusively as a
+  ;; This function is the C/C++/ObjC value of
+  ;; `c-get-state-before-change-function' and is called exclusively as a
   ;; before change function.
   (goto-char beg)
   (c-beginning-of-macro)
@@ -848,7 +848,7 @@
 	      t)
 	     (t nil)))))))
 
-(defun c-neutralize-syntax-in-and-mark-CPP (begg endd old-len)
+(defun c-extend-and-neutralize-syntax-in-CPP (begg endd old-len)
   ;; (i) Extend the font lock region to cover all changed preprocessor
   ;; regions; it does this by setting the variables `c-new-BEG' and
   ;; `c-new-END' to the new boundaries.
@@ -857,15 +857,10 @@
   ;; extended changed region.  "Restore" lines which were CPP lines before the
   ;; change and are no longer so; these can be located from the Buffer local
   ;; variables `c-old-BOM' and `c-old-EOM'.
-  ;;
-  ;; (iii) Mark every CPP construct by placing a `category' property value
-  ;; `c-cpp-delimiter' at its start and end.  The marked characters are the
-  ;; opening # and usually the terminating EOL, but sometimes the character
-  ;; before a comment/string delimiter.
-  ;;
+  ;; 
   ;; That is, set syntax-table properties on characters that would otherwise
   ;; interact syntactically with those outside the CPP line(s).
-  ;;
+  ;; 
   ;; This function is called from an after-change function, BEGG ENDD and
   ;; OLD-LEN being the standard parameters.  It prepares the buffer for font
   ;; locking, hence must get called before `font-lock-after-change-function'.
@@ -876,34 +871,32 @@
   ;; This function is the C/C++/ObjC value of `c-before-font-lock-function'.
   ;;
   ;; Note: SPEED _MATTERS_ IN THIS FUNCTION!!!
-  ;;
+  ;; 
   ;; This function might make hidden buffer changes.
-  (c-save-buffer-state (limits)
+  (c-save-buffer-state (limits mbeg+1)
     ;; First determine the region, (c-new-BEG c-new-END), which will get font
     ;; locked.  It might need "neutralizing".  This region may not start
     ;; inside a string, comment, or macro.
     (goto-char c-old-BOM)	  ; already set to old start of macro or begg.
     (setq c-new-BEG
-	  (if (setq limits (c-state-literal-at (point)))
+	  (if (setq limits (c-literal-limits))
 	      (cdr limits)	    ; go forward out of any string or comment.
 	    (point)))
 
     (goto-char endd)
-    (if (setq limits (c-state-literal-at (point)))
+    (if (setq limits (c-literal-limits))
 	(goto-char (car limits)))  ; go backward out of any string or comment.
     (if (c-beginning-of-macro)
 	(c-end-of-macro))
     (setq c-new-END (max (+ (- c-old-EOM old-len) (- endd begg))
 		   (point)))
 
-    ;; Clear all old relevant properties.
+    ;; Clear any existing punctuation properties.
     (c-clear-char-property-with-value c-new-BEG c-new-END 'syntax-table '(1))
-    (c-clear-char-property-with-value c-new-BEG c-new-END 'category 'c-cpp-delimiter)
-    ;; FIXME!!!  What about the "<" and ">" category properties?  2009-11-16
 
     ;; Add needed properties to each CPP construct in the region.
     (goto-char c-new-BEG)
-    (let ((pps-position c-new-BEG)  pps-state mbeg)
+    (let ((pps-position c-new-BEG)  pps-state)
       (while (and (< (point) c-new-END)
 		  (search-forward-regexp c-anchored-cpp-prefix c-new-END t))
 	;; If we've found a "#" inside a string/comment, ignore it.
@@ -912,24 +905,18 @@
 	      pps-position (point))
 	(unless (or (nth 3 pps-state)	; in a string?
 		    (nth 4 pps-state))	; in a comment?
-	  (goto-char (match-beginning 0))
-	  (setq mbeg (point))
-	  (if (> (c-syntactic-end-of-macro) mbeg)
-	      (progn
-		(c-neutralize-CPP-line mbeg (point))
-		(c-set-cpp-delimiters mbeg (point))
-		;(setq pps-position (point))
-		)
-	    (forward-line))	      ; no infinite loop with, e.g., "#//"
-	  )))))
+	  (setq mbeg+1 (point))
+	  (c-end-of-macro)	  ; Do we need to go forward 1 char here?  No!
+	  (c-neutralize-CPP-line mbeg+1 (point))
+	  (setq pps-position (point))))))) ; no need to update pps-state.
 
 (defun c-before-change (beg end)
-  ;; Function to be put on `before-change-functions'.  Primarily, this calls
-  ;; the language dependent `c-get-state-before-change-functions'.  It is
+  ;; Function to be put on `before-change-function'.  Primarily, this calls
+  ;; the language dependent `c-get-state-before-change-function'.  It is
   ;; otherwise used only to remove stale entries from the `c-found-types'
   ;; cache, and to record entries which a `c-after-change' function might
   ;; confirm as stale.
-  ;;
+  ;; 
   ;; Note that this function must be FAST rather than accurate.  Note
   ;; also that it only has any effect when font locking is enabled.
   ;; We exploit this by checking for font-lock-*-face instead of doing
@@ -1003,10 +990,8 @@
 	;; larger than (beg end).
 	(setq c-new-BEG beg
 	      c-new-END end)
-	(if c-get-state-before-change-functions
-	    (mapc (lambda (fn)
-		    (funcall fn beg end))
-		  c-get-state-before-change-functions))
+	(if c-get-state-before-change-function
+	    (funcall c-get-state-before-change-function beg end))
 	))))
 
 (defun c-after-change (beg end old-len)
@@ -1040,14 +1025,6 @@
 	  (when (> beg end)
 	    (setq beg end)))
 
-	;; C-y is capable of spuriously converting category properties
-	;; c-</>-as-paren-syntax into hard syntax-table properties.  Remove
-	;; these when it happens.
-	(c-clear-char-property-with-value beg end 'syntax-table
-					  c-<-as-paren-syntax)
-	(c-clear-char-property-with-value beg end 'syntax-table
-					  c->-as-paren-syntax)
-
 	(c-trim-found-types beg end old-len) ; maybe we don't need all of these.
 	(c-invalidate-sws-region-after beg end)
 	(c-invalidate-state-cache beg)
--- a/lisp/progmodes/compile.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/compile.el	Fri Aug 27 23:05:43 2010 +0900
@@ -47,7 +47,7 @@
 ;; using the same *compilation* buffer. this necessitates re-parsing markers.
 
 ;;   FILE-STRUCTURE is a list of
-;;   ((FILENAME . DIRECTORY) FORMATS (LINE LOC ...) ...)
+;;   ((FILENAME DIRECTORY) FORMATS (LINE LOC ...) ...)
 
 ;; FILENAME is a string parsed from an error message.  DIRECTORY is a string
 ;; obtained by following directory change messages.  DIRECTORY will be nil for
@@ -1950,13 +1950,16 @@
     ;; (`omake -P' polls filesystem for changes and recompiles when needed
     ;;  in the same process and buffer).
     ;; So, recalculate all markers for that file.
-    (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)) (nthcdr 4 loc)
-                 ;; There may be no timestamp info if the loc is a `fake-loc',
-                 ;; but we just checked that the file has been visited before!
-                 (equal (nth 4 loc)
-                        (setq timestamp
-                              (with-current-buffer (marker-buffer (nth 3 loc))
-                                (visited-file-modtime)))))
+    (unless (and (nth 3 loc) (marker-buffer (nth 3 loc))
+                 ;; There may be no timestamp info if the loc is a `fake-loc'.
+                 ;; So we skip the time-check here, although we should maybe
+                 ;; change `compilation-fake-loc' to add timestamp info.
+                 (or (null (nth 4 loc))
+                     (equal (nth 4 loc)
+                            (setq timestamp
+                                  (with-current-buffer
+                                      (marker-buffer (nth 3 loc))
+                                    (visited-file-modtime))))))
       (with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
 						  (cadr (car (nth 2 loc))))
 	(save-restriction
--- a/lisp/progmodes/fortran.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/fortran.el	Fri Aug 27 23:05:43 2010 +0900
@@ -403,6 +403,28 @@
            '("^ *\\([0-9]+\\)" . font-lock-constant-face)))
   "Medium level highlighting for Fortran mode.")
 
+;; See bug#1385. Never really looked into _why_ this matters...
+(defun fortran-match-and-skip-declaration (limit)
+  "Like `font-lock-match-c-style-declaration-item-and-skip-to-next'.
+The only difference is, it returns t in a case when the default returns nil."
+  (when (looking-at "[ \n\t*]*\\(\\sw+\\)[ \t\n]*\\(((?\\)?")
+    (when (and (match-end 2) (> (- (match-end 2) (match-beginning 2)) 1))
+      (let ((pos (point)))
+	(skip-chars-backward " \t\n")
+	(skip-syntax-backward "w")
+	(unless (looking-at "\\(\\sw+\\)[ \t\n]*\\sw+[ \t\n]*\\(((?\\)?")
+	  (goto-char pos)
+	  (looking-at "[ \n\t*]*\\(\\sw+\\)[ \t\n]*\\(((?\\)?"))))
+    (save-match-data
+      (condition-case nil
+	  (save-restriction
+	    (narrow-to-region (point-min) limit)
+	    (goto-char (match-end 1))
+	    (while (not (looking-at "[ \t\n]*\\(\\(,\\)\\|;\\|\\'\\)"))
+	      (goto-char (or (scan-sexps (point) 1) (point-max))))
+            (goto-char (match-end 2)))
+	(error t)))))
+
 (defvar fortran-font-lock-keywords-3
   (append
    fortran-font-lock-keywords-1
@@ -412,7 +434,7 @@
           ;; Type specifier.
           '(1 font-lock-type-face)
           ;; Declaration item (or just /.../ block name).
-          `(font-lock-match-c-style-declaration-item-and-skip-to-next
+          `(fortran-match-and-skip-declaration
             ;; Start after any *(...) expression.
             (condition-case nil
                 (and (match-beginning ,(1+ (regexp-opt-depth
--- a/lisp/progmodes/grep.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/grep.el	Fri Aug 27 23:05:43 2010 +0900
@@ -513,8 +513,8 @@
 		       grep-find-template grep-find-use-xargs
 		       grep-highlight-matches))
       (set setting
-	   (or (cadr (assq setting host-defaults))
-	       (cadr (assq setting defaults)))))
+	   (cadr (or (assq setting host-defaults)
+		     (assq setting defaults)))))
 
     (unless (or (not grep-use-null-device) (eq grep-use-null-device t))
       (setq grep-use-null-device
--- a/lisp/progmodes/idlwave.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/idlwave.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1601,7 +1601,7 @@
         `(lambda ()
            (interactive)
            (self-insert-command 1)
-           ,@(if (listp cmd) cmd (list cmd))))))
+           ,(if (listp cmd) cmd (list cmd))))))
 
 ;; Set action and key bindings.
 ;; See description of the function `idlwave-action-and-binding'.
--- a/lisp/progmodes/js.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/js.el	Fri Aug 27 23:05:43 2010 +0900
@@ -474,8 +474,7 @@
 (defcustom js-js-tmpdir
   "~/.emacs.d/js/js"
   "Temporary directory used by `js-mode' to communicate with Mozilla.
-This directory must be readable and writable by both Mozilla and
-Emacs."
+This directory must be readable and writable by both Mozilla and Emacs."
   :type 'directory
   :group 'js)
 
@@ -499,11 +498,11 @@
     (define-key keymap [(meta ?.)] #'js-find-symbol)
     (easy-menu-define nil keymap "Javascript Menu"
       '("Javascript"
-        ["Select new Mozilla context…" js-set-js-context
+        ["Select New Mozilla Context..." js-set-js-context
          (fboundp #'inferior-moz-process)]
-        ["Evaluate expression in Mozilla context…" js-eval
+        ["Evaluate Expression in Mozilla Context..." js-eval
          (fboundp #'inferior-moz-process)]
-        ["Send current function to Mozilla…" js-eval-defun
+        ["Send Current Function to Mozilla..." js-eval-defun
          (fboundp #'inferior-moz-process)]))
     keymap)
   "Keymap for `js-mode'.")
@@ -3327,6 +3326,13 @@
         comment-start-skip "\\(//+\\|/\\*+\\)\\s *")
 
   (let ((c-buffer-is-cc-mode t))
+    ;; FIXME: These are normally set by `c-basic-common-init'.  Should
+    ;; we call it instead?  (Bug#6071)
+    (make-local-variable 'paragraph-start)
+    (make-local-variable 'paragraph-separate)
+    (make-local-variable 'paragraph-ignore-fill-prefix)
+    (make-local-variable 'adaptive-fill-mode)
+    (make-local-variable 'adaptive-fill-regexp)
     (c-setup-paragraph-variables))
 
   (set (make-local-variable 'syntax-begin-function)
--- a/lisp/progmodes/python.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/python.el	Fri Aug 27 23:05:43 2010 +0900
@@ -93,7 +93,7 @@
 
 (defvar python-font-lock-keywords
   `(,(rx symbol-start
-	 ;; From v 2.5 reference, § keywords.
+	 ;; From v 2.7 reference, § keywords.
 	 ;; def and class dealt with separately below
 	 (or "and" "as" "assert" "break" "continue" "del" "elif" "else"
 	     "except" "exec" "finally" "for" "from" "global" "if"
@@ -102,7 +102,7 @@
              ;; Not real keywords, but close enough to be fontified as such
              "self" "True" "False")
 	 symbol-end)
-    (,(rx symbol-start "None" symbol-end)	; see § Keywords in 2.5 manual
+    (,(rx symbol-start "None" symbol-end)	; see § Keywords in 2.7 manual
      . font-lock-constant-face)
     ;; Definitions
     (,(rx symbol-start (group "class") (1+ space) (group (1+ (or word ?_))))
@@ -117,7 +117,7 @@
 					    (0+ "." (1+ (or word ?_)))))
      (1 font-lock-type-face))
     ;; Built-ins.  (The next three blocks are from
-    ;; `__builtin__.__dict__.keys()' in Python 2.5.1.)  These patterns
+    ;; `__builtin__.__dict__.keys()' in Python 2.7)  These patterns
     ;; are debateable, but they at least help to spot possible
     ;; shadowing of builtins.
     (,(rx symbol-start (or
@@ -135,7 +135,9 @@
 	  "SystemExit" "TabError" "TypeError" "UnboundLocalError"
 	  "UnicodeDecodeError" "UnicodeEncodeError" "UnicodeError"
 	  "UnicodeTranslateError" "UnicodeWarning" "UserWarning"
-	  "ValueError" "Warning" "ZeroDivisionError") symbol-end)
+	  "ValueError" "Warning" "ZeroDivisionError"
+	  ;; Python 2.7
+	  "BufferError" "BytesWarning" "WindowsError") symbol-end)
      . font-lock-type-face)
     (,(rx (or line-start (not (any ". \t"))) (* (any " \t")) symbol-start
 	  (group (or
@@ -152,12 +154,16 @@
 	  "range" "raw_input" "reduce" "reload" "repr" "reversed"
 	  "round" "set" "setattr" "slice" "sorted" "staticmethod"
 	  "str" "sum" "super" "tuple" "type" "unichr" "unicode" "vars"
-	  "xrange" "zip")) symbol-end)
+	  "xrange" "zip"
+	  ;; Python 2.7.
+	  "bin" "bytearray" "bytes" "format" "memoryview" "next" "print"
+	  )) symbol-end)
      (1 font-lock-builtin-face))
     (,(rx symbol-start (or
 	  ;; other built-ins
 	  "True" "False" "None" "Ellipsis"
-	  "_" "__debug__" "__doc__" "__import__" "__name__") symbol-end)
+	  "_" "__debug__" "__doc__" "__import__" "__name__" "__package__")
+          symbol-end)
      . font-lock-builtin-face)))
 
 (defconst python-font-lock-syntactic-keywords
--- a/lisp/progmodes/sql.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/sql.el	Fri Aug 27 23:05:43 2010 +0900
@@ -419,7 +419,7 @@
 If set to nil, then you must use \\[comint-send-input] in order to send
 current input in the SQLi buffer to the process."
   :type '(choice (const :tag "Nothing" nil)
-		 (const :tag "The semikolon `;'" semicolon)
+		 (const :tag "The semicolon `;'" semicolon)
 		 (const :tag "The string `go' by itself" go))
   :version "20.8"
   :group 'SQL)
@@ -450,9 +450,9 @@
   "Define interesting points in the SQL buffer for `imenu'.
 
 This is used to set `imenu-generic-expression' when SQL mode is
-entered.  Subsequent changes to sql-imenu-generic-expression will not
-affect existing SQL buffers because imenu-generic-expression is a
-local variable.")
+entered.  Subsequent changes to `sql-imenu-generic-expression' will
+not affect existing SQL buffers because imenu-generic-expression is
+a local variable.")
 
 ;; history file
 
@@ -516,7 +516,7 @@
 
 Starts `sql-interactive-mode' after doing some setup.
 
-Under NT, \"sqlplus\" usually starts the sqlplus \"GUI\".  In order to
+On Windows, \"sqlplus\" usually starts the sqlplus \"GUI\".  In order to
 start the sqlplus console, use \"plus33\" or something similar.  You
 will find the file in your Orant\\bin directory.
 
@@ -542,9 +542,7 @@
   :group 'SQL)
 
 (defcustom sql-sqlite-options nil
-  "*List of additional options for `sql-sqlite-program'.
-The following list of options is reported to make things work
-on Windows: \"-C\" \"-t\" \"-f\" \"-n\"."
+  "*List of additional options for `sql-sqlite-program'."
   :type '(repeat string)
   :version "20.8"
   :group 'SQL)
@@ -727,7 +725,7 @@
 (defvar sql-buffer nil
   "Current SQLi buffer.
 
-The global value of sql-buffer is the name of the latest SQLi buffer
+The global value of `sql-buffer' is the name of the latest SQLi buffer
 created.  Any SQL buffer created will make a local copy of this value.
 See `sql-interactive-mode' for more on multiple sessions.  If you want
 to change the SQLi buffer a SQL mode sends its SQL strings to, change
@@ -992,8 +990,8 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-ansi-font-lock-keywords.  You may want to
-add functions and PL/SQL keywords.")
+you define your own `sql-mode-ansi-font-lock-keywords'.  You may want
+to add functions and PL/SQL keywords.")
 
 (defvar sql-mode-oracle-font-lock-keywords
   (let ((oracle-functions (sql-keywords-re
@@ -1208,7 +1206,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-oracle-font-lock-keywords.  You may want
+you define your own `sql-mode-oracle-font-lock-keywords'.  You may want
 to add functions and PL/SQL keywords.")
 
 (defvar sql-mode-postgres-font-lock-keywords
@@ -1296,7 +1294,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-postgres-font-lock-keywords.")
+you define your own `sql-mode-postgres-font-lock-keywords'.")
 
 (defvar sql-mode-linter-font-lock-keywords
   (let ((linter-keywords (sql-keywords-re
@@ -1482,7 +1480,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-ms-font-lock-keywords.")
+you define your own `sql-mode-ms-font-lock-keywords'.")
 
 (defvar sql-mode-sybase-font-lock-keywords nil
   "Sybase SQL keywords used by font-lock.
@@ -1490,7 +1488,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-sybase-font-lock-keywords.")
+you define your own `sql-mode-sybase-font-lock-keywords'.")
 
 (defvar sql-mode-informix-font-lock-keywords nil
   "Informix SQL keywords used by font-lock.
@@ -1498,7 +1496,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-informix-font-lock-keywords.")
+you define your own `sql-mode-informix-font-lock-keywords'.")
 
 (defvar sql-mode-interbase-font-lock-keywords nil
   "Interbase SQL keywords used by font-lock.
@@ -1506,7 +1504,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-interbase-font-lock-keywords.")
+you define your own `sql-mode-interbase-font-lock-keywords'.")
 
 (defvar sql-mode-ingres-font-lock-keywords nil
   "Ingres SQL keywords used by font-lock.
@@ -1514,7 +1512,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-interbase-font-lock-keywords.")
+you define your own `sql-mode-interbase-font-lock-keywords'.")
 
 (defvar sql-mode-solid-font-lock-keywords nil
   "Solid SQL keywords used by font-lock.
@@ -1522,7 +1520,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-solid-font-lock-keywords.")
+you define your own `sql-mode-solid-font-lock-keywords'.")
 
 (defvar sql-mode-mysql-font-lock-keywords
   (let ((mysql-funcs (sql-keywords-re
@@ -1599,7 +1597,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-mysql-font-lock-keywords.")
+you define your own `sql-mode-mysql-font-lock-keywords'.")
 
 (defvar sql-mode-sqlite-font-lock-keywords nil
   "SQLite SQL keywords used by font-lock.
@@ -1607,7 +1605,7 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-sqlite-font-lock-keywords.")
+you define your own `sql-mode-sqlite-font-lock-keywords'.")
 
 (defvar sql-mode-db2-font-lock-keywords nil
   "DB2 SQL keywords used by font-lock.
@@ -1615,14 +1613,14 @@
 This variable is used by `sql-mode' and `sql-interactive-mode'.  The
 regular expressions are created during compilation by calling the
 function `regexp-opt'.  Therefore, take a look at the source before
-you define your own sql-mode-db2-font-lock-keywords.")
+you define your own `sql-mode-db2-font-lock-keywords'.")
 
 (defvar sql-mode-font-lock-keywords nil
   "SQL keywords used by font-lock.
 
 Setting this variable directly no longer has any affect.  Use
 `sql-product' and `sql-add-product-keywords' to control the
-highlighting rules in sql-mode.")
+highlighting rules in SQL mode.")
 
 
 
@@ -1631,7 +1629,7 @@
 (defun sql-product-feature (feature &optional product)
   "Lookup `feature' needed to support the current SQL product.
 
-See \[sql-product-alist] for a list of products and supported features."
+See `sql-product-alist' for a list of products and supported features."
   (plist-get
    (cdr (assoc (or product sql-product)
 	       sql-product-alist))
@@ -1720,8 +1718,7 @@
 ;;; Functions to switch highlighting
 
 (defun sql-highlight-product ()
-  "Turns on the appropriate font highlighting for the SQL product
-selected."
+  "Turn on the appropriate font highlighting for the SQL product selected."
   (when (derived-mode-p 'sql-mode)
     ;; Setup font-lock
     (sql-product-font-lock nil t)
@@ -1730,8 +1727,7 @@
     (setq mode-name (concat "SQL[" (prin1-to-string sql-product) "]"))))
 
 (defun sql-set-product (product)
-  "Set `sql-product' to product and enable appropriate
-highlighting."
+  "Set `sql-product' to product and enable appropriate highlighting."
   (interactive
    (list (completing-read "Enter SQL product: "
                           (mapcar (lambda (info) (symbol-name (car info)))
@@ -1752,7 +1748,7 @@
 (if (not (fboundp 'comint-line-beginning-position))
     ;; comint-line-beginning-position is defined in Emacs 21
     (defun comint-line-beginning-position ()
-      "Returns the buffer position of the beginning of the line, after any prompt.
+      "Return the buffer position of the beginning of the line, after any prompt.
 The prompt is assumed to be any text at the beginning of the line matching
 the regular expression `comint-prompt-regexp', a buffer local variable."
       (save-excursion (comint-bol nil) (point))))
@@ -1974,7 +1970,7 @@
 	    sql-database)))
 
 (defun sql-rename-buffer ()
-  "Renames a SQLi buffer."
+  "Rename a SQLi buffer."
   (interactive)
   (rename-buffer (format "*SQL: %s*" sql-alternate-buffer-name) t))
 
@@ -2007,8 +2003,8 @@
       (insert column)
       (message "%s" column))))
 
-;; On NT, SQL*Plus for Oracle turns on full buffering for stdout if it
-;; is not attached to a character device; therefore placeholder
+;; On Windows, SQL*Plus for Oracle turns on full buffering for stdout
+;; if it is not attached to a character device; therefore placeholder
 ;; replacement by SQL*Plus is fully buffered.  The workaround lets
 ;; Emacs query for the placeholders.
 
@@ -2017,8 +2013,9 @@
 
 (defun sql-query-placeholders-and-send (proc string)
   "Send to PROC input STRING, maybe replacing placeholders.
-Placeholders are words starting with and ampersand like &this.
-This function is used for `comint-input-sender' if using `sql-oracle' on NT."
+Placeholders are words starting with an ampersand like &this.
+This function is used for `comint-input-sender' if using
+`sql-oracle' on Windows."
   (while (string-match "&\\(\\sw+\\)" string)
     (setq string (replace-match
 		  (read-from-minibuffer
@@ -2104,7 +2101,7 @@
   "Toggle `sql-pop-to-buffer-after-send-region'.
 
 If given the optional parameter VALUE, sets
-sql-toggle-pop-to-buffer-after-send-region to VALUE."
+`sql-toggle-pop-to-buffer-after-send-region' to VALUE."
   (interactive "P")
   (if value
       (setq sql-pop-to-buffer-after-send-region value)
@@ -2187,8 +2184,8 @@
   "Major mode to use a SQL interpreter interactively.
 
 Do not call this function by yourself.  The environment must be
-initialized by an entry function specific for the SQL interpreter.  See
-`sql-help' for a list of available entry functions.
+initialized by an entry function specific for the SQL interpreter.
+See `sql-help' for a list of available entry functions.
 
 \\[comint-send-input] after the end of the process' output sends the
 text from the end of process to the end of the current line.
@@ -2360,7 +2357,7 @@
 defaults, if set.  Additional command line parameters can be stored in
 the list `sql-oracle-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2392,7 +2389,7 @@
                         (nconc (list parameter) sql-oracle-options)
                       sql-oracle-options))
     (set-buffer (apply 'make-comint "SQL" sql-oracle-program nil parameter))
-    ;; SQL*Plus is buffered on WindowsNT; this handles &placeholders.
+    ;; SQL*Plus is buffered on Windows; this handles &placeholders.
     (if (eq window-system 'w32)
 	(setq comint-input-sender 'sql-query-placeholders-and-send))))
 
@@ -2411,7 +2408,7 @@
 `sql-database' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-sybase-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2455,7 +2452,7 @@
 Interpreter used comes from variable `sql-informix-program'.  Login uses
 the variable `sql-database' as default, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2494,7 +2491,7 @@
 `sql-server' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-sqlite-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2538,7 +2535,7 @@
 `sql-server' as defaults, if set.  Additional command line parameters
 can be stored in the list `sql-mysql-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2585,7 +2582,7 @@
 the variables `sql-user', `sql-password', and `sql-server' as
 defaults, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2627,7 +2624,7 @@
 Interpreter used comes from variable `sql-ingres-program'.  Login uses
 the variable `sql-database' as default, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2664,7 +2661,7 @@
 as defaults, if set.  Additional command line parameters can be stored
 in the list `sql-ms-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2717,7 +2714,7 @@
 Additional command line parameters can be stored in the list
 `sql-postgres-options'.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2768,7 +2765,7 @@
 uses the variables `sql-user', `sql-password', and `sql-database' as
 defaults, if set.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 To specify a coding system for converting non-ASCII characters
@@ -2810,7 +2807,7 @@
 Interpreter used comes from variable `sql-db2-program'.  There is not
 automatic login.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 If you use \\[sql-accumulate-and-indent] to send multiline commands to
@@ -2859,7 +2856,7 @@
 for this to work).  If `sql-password' is an empty string, inl will use
 an empty password.
 
-The buffer is put in sql-interactive-mode, giving commands for sending
+The buffer is put in SQL interactive mode, giving commands for sending
 input.  See `sql-interactive-mode'.
 
 \(Type \\[describe-mode] in the SQL buffer for a list of commands.)"
--- a/lisp/progmodes/verilog-mode.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/progmodes/verilog-mode.el	Fri Aug 27 23:05:43 2010 +0900
@@ -2425,12 +2425,12 @@
 		 (list
 		  (concat "\\<function\\>\\s-+\\(integer\\|real\\(time\\)?\\|time\\)\\s-+\\(\\sw+\\)" )
 		       '(1 font-lock-keyword-face)
-		       '(3 font-lock-reference-face prepend))
+		       '(3 font-lock-constant-face prepend))
 		 '("\\<function\\>\\s-+\\(\\[[^]]+\\]\\)\\s-+\\(\\sw+\\)"
 		   (1 font-lock-keyword-face)
-		   (2 font-lock-reference-face append))
+		   (2 font-lock-constant-face append))
 		 '("\\<function\\>\\s-+\\(\\sw+\\)"
-		   1 'font-lock-reference-face append))))
+		   1 'font-lock-constant-face append))))
 
   (setq verilog-font-lock-keywords-2
 	(append verilog-font-lock-keywords-1
--- a/lisp/simple.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/simple.el	Fri Aug 27 23:05:43 2010 +0900
@@ -3629,10 +3629,9 @@
 This is used by commands that act specially on the region under
 Transient Mark mode.
 
-The return value is t provided Transient Mark mode is enabled and
-the mark is active; and, when `use-empty-active-region' is
-non-nil, provided the region is empty.  Otherwise, the return
-value is nil.
+The return value is t if Transient Mark mode is enabled and the
+mark is active; furthermore, if `use-empty-active-region' is nil,
+the region must not be empty.  Otherwise, the return value is nil.
 
 For some commands, it may be appropriate to ignore the value of
 `use-empty-active-region'; in that case, use `region-active-p'."
@@ -3688,6 +3687,8 @@
 	(push-mark nil nomsg t)
       (setq mark-active t)
       (run-hooks 'activate-mark-hook)
+      (and select-active-regions (display-selections-p)
+	   (x-set-selection 'PRIMARY (current-buffer)))
       (unless nomsg
 	(message "Mark activated")))))
 
@@ -5669,7 +5670,7 @@
 The default mail mode is now Message mode.
 You have the following Mail mode variable%s customized:
 \n  %s\n\nTo use Mail mode, set `mail-user-agent' to sendmail-user-agent.
-To disable this warning, set `compose-mail-check-user-agent' to nil."
+To disable this warning, set `compose-mail-user-agent-warnings' to nil."
 				    (if (> (length warn-vars) 1) "s" "")
 				    (mapconcat 'symbol-name
 					       warn-vars " "))))))
--- a/lisp/subr.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/subr.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1871,16 +1871,13 @@
 	(if inhibit-quit (setq quit-flag nil)))
       ;; Translate TAB key into control-I ASCII character, and so on.
       ;; Note: `read-char' does it using the `ascii-character' property.
-      ;; We could try and use read-key-sequence instead, but then C-q ESC
-      ;; or C-q C-x might not return immediately since ESC or C-x might be
-      ;; bound to some prefix in function-key-map or key-translation-map.
-      (setq translated
-	    (if (integerp char)
-		(char-resolve-modifiers char)
-	      char))
+      ;; We should try and use read-key instead.
       (let ((translation (lookup-key local-function-key-map (vector char))))
-	(if (arrayp translation)
-	    (setq translated (aref translation 0))))
+	(setq translated (if (arrayp translation)
+			     (aref translation 0)
+			   char)))
+      (if (integerp translated)
+	  (setq translated (char-resolve-modifiers translated)))
       (cond ((null translated))
 	    ((not (integerp translated))
 	     (setq unread-command-events (list char)
@@ -2209,22 +2206,11 @@
                 (recenter (/ (window-height) 2))))
           (message (or message "Type %s to continue editing.")
                    (single-key-description exit-char))
-          (let (char)
-            (if (integerp exit-char)
-                (condition-case nil
-                    (progn
-                      (setq char (read-char))
-                      (or (eq char exit-char)
-                          (setq unread-command-events (list char))))
-                  (error
-                   ;; `exit-char' is a character, hence it differs
-                   ;; from char, which is an event.
-                   (setq unread-command-events (list char))))
-              ;; `exit-char' can be an event, or an event description list.
-              (setq char (read-event))
-              (or (eq char exit-char)
-                  (eq char (event-convert-list exit-char))
-                  (setq unread-command-events (list char))))))
+	  (let ((event (read-event)))
+	    ;; `exit-char' can be an event, or an event description list.
+	    (or (eq event exit-char)
+		(eq event (event-convert-list exit-char))
+		(setq unread-command-events (list event)))))
       (delete-overlay ol))))
 
 
--- a/lisp/term/common-win.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/term/common-win.el	Fri Aug 27 23:05:43 2010 +0900
@@ -275,10 +275,11 @@
     "medium slate blue" "slate blue" "dark slate blue" "midnight blue" "navy"
     "dark blue" "light steel blue" "cornflower blue" "dodger blue" "royal blue"
     "light slate gray" "slate gray" "dark slate gray" "steel blue" "cadet blue"
-    "light sky blue" "sky blue" "light blue" "powder blue" "pale turquoise" "turquoise"
-    "medium turquoise" "dark cyan" "aquamarine" "medium aquamarine" "light sea green"
+    "light sky blue" "sky blue" "light blue" "powder blue" "pale turquoise"
+    "turquoise" "medium turquoise" "dark turquoise"  "dark cyan" "aquamarine"
+    "medium aquamarine" "light sea green"
     "medium sea green" "sea green" "dark sea green" "pale green" "lime green"
-    "forest green" "light green" "green yellow" "yellow green" "olive drab"
+    "dark green" "forest green" "light green" "green yellow" "yellow green" "olive drab"
     "dark olive green" "lemon chiffon" "khaki" "dark khaki" "cornsilk"
     "pale goldenrod" "light goldenrod" "goldenrod" "dark goldenrod" "wheat"
     "navajo white" "tan" "burlywood" "sandy brown" "peru" "chocolate" "saddle brown"
@@ -287,7 +288,7 @@
     "dark magenta" "dark violet" "medium blue" "blue" "deep sky blue"
     "cyan" "medium spring green" "spring green" "green" "lawn green" "chartreuse"
     "yellow" "gold" "orange" "dark orange" "orange red" "red" "white" "white smoke"
-    "gainsboro" "light grey" "gray" "dark grey" "dim gray" "black" ))
+    "gainsboro" "light gray" "gray" "dark gray" "dim gray" "black" ))
   "List of basic colors available on color displays.
 For X, the list comes from the `rgb.txt' file,v 10.41 94/02/20.
 For Nextstep, this is a list of non-PANTONE colors returned by
--- a/lisp/textmodes/fill.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/textmodes/fill.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1036,7 +1036,7 @@
 	  (fill-forward-paragraph -1))
 	(if (< (point) beg)
 	    (goto-char beg))
-	(if (>= (point) initial)
+	(if (and (>= (point) initial) (< (point) end))
 	    (setq fill-pfx
 		  (fill-region-as-paragraph (point) end justify nosqueeze))
 	  (goto-char end))))
--- a/lisp/textmodes/tex-mode.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/textmodes/tex-mode.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1060,7 +1060,7 @@
 		"\\>\\|\\\\[a-z]*" (regexp-opt '("space" "skip" "page") t)
 		"\\>\\)"))
   (setq paragraph-separate
-	(concat "[\f]\\|[ \t]*\\($\\|"
+	(concat "[\f%]\\|[ \t]*\\($\\|"
 		"\\\\[][]\\|"
 		"\\\\" (regexp-opt (append
 				    (mapcar 'car latex-section-alist)
--- a/lisp/time.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/time.el	Fri Aug 27 23:05:43 2010 +0900
@@ -87,7 +87,7 @@
 
 ;;;###autoload
 (defcustom display-time-day-and-date nil "\
-*Non-nil means \\[display-time] should display day and date as well as time."
+Non-nil means \\[display-time] should display day and date as well as time."
   :type 'boolean
   :group 'display-time)
 
@@ -182,7 +182,7 @@
   :version "23.1")
 
 (defcustom display-time-world-buffer-name "*wclock*"
-  "Name of the wclock buffer."
+  "Name of the world clock buffer."
   :group 'display-time
   :type 'string
   :version "23.1")
@@ -203,7 +203,7 @@
   (let ((map (make-sparse-keymap)))
     (define-key map "q" 'kill-this-buffer)
     map)
-  "Keymap of Display Time World mode")
+  "Keymap of Display Time World mode.")
 
 ;;;###autoload
 (defun display-time ()
--- a/lisp/tmm.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/tmm.el	Fri Aug 27 23:05:43 2010 +0900
@@ -262,9 +262,6 @@
 	   (condition-case nil
 	       (require 'mouse)
 	     (error nil))
-	   (condition-case nil
-	       (x-popup-menu nil choice) ; Get the shortcuts
-	     (error nil))
 	   (tmm-prompt choice))
 	  ;; We just handled a menu keymap and found a command.
 	  (choice
@@ -445,33 +442,30 @@
 `x-popup-menu' argument (when IN-X-MENU is not-nil).
 This function adds the element only if it is not already present.
 It uses the free variable `tmm-table-undef' to keep undefined keys."
-  (let (km str cache plist filter visible enable (event (car elt)))
+  (let (km str plist filter visible enable (event (car elt)))
     (setq elt (cdr elt))
     (if (eq elt 'undefined)
 	(setq tmm-table-undef (cons (cons event nil) tmm-table-undef))
       (unless (assoc event tmm-table-undef)
 	(cond ((if (listp elt)
 		   (or (keymapp elt) (eq (car elt) 'lambda))
-		 (fboundp elt))
+		 (and (symbolp elt) (fboundp elt)))
 	       (setq km elt))
 
 	      ((if (listp (cdr-safe elt))
 		   (or (keymapp (cdr-safe elt))
 		       (eq (car (cdr-safe elt)) 'lambda))
-		 (fboundp (cdr-safe elt)))
+		 (and (symbolp (cdr-safe elt)) (fboundp (cdr-safe elt))))
 	       (setq km (cdr elt))
 	       (and (stringp (car elt)) (setq str (car elt))))
 
 	      ((if (listp (cdr-safe (cdr-safe elt)))
 		   (or (keymapp (cdr-safe (cdr-safe elt)))
 		       (eq (car (cdr-safe (cdr-safe elt))) 'lambda))
-		 (fboundp (cdr-safe (cdr-safe elt))))
+		 (and (symbolp (cdr-safe (cdr-safe elt)))
+			       (fboundp (cdr-safe (cdr-safe elt)))))
 	       (setq km (cddr elt))
-	       (and (stringp (car elt)) (setq str (car elt)))
-	       (and str
-		    (stringp (cdr-safe (cadr elt))) ; keyseq cache
-		    (setq cache (cdr (cadr elt)))
-		    cache (setq str (concat str cache))))
+	       (and (stringp (car elt)) (setq str (car elt))))
 
 	      ((eq (car-safe elt) 'menu-item)
 	       ;; (menu-item TITLE COMMAND KEY ...)
@@ -488,30 +482,34 @@
 		   (setq km (and (eval visible) km)))
 	       (setq enable (plist-get plist :enable))
 	       (if enable
-                   (setq km (if (eval enable) km 'ignore)))
-	       (and str
-		    (consp (nth 3 elt))
-		    (stringp (cdr (nth 3 elt))) ; keyseq cache
-		    (setq cache (cdr (nth 3 elt)))
-		    cache
-		    (setq str (concat str cache))))
+                   (setq km (if (eval enable) km 'ignore))))
 
 	      ((if (listp (cdr-safe (cdr-safe (cdr-safe elt))))
 		   (or (keymapp (cdr-safe (cdr-safe (cdr-safe elt))))
 		       (eq (car (cdr-safe (cdr-safe (cdr-safe elt)))) 'lambda))
-		 (fboundp (cdr-safe (cdr-safe (cdr-safe elt)))))
+		 (and (symbolp (cdr-safe (cdr-safe (cdr-safe elt))))
+		      (fboundp (cdr-safe (cdr-safe (cdr-safe elt))))))
 					 ; New style of easy-menu
 	       (setq km (cdr (cddr elt)))
-	       (and (stringp (car elt)) (setq str (car elt)))
-	       (and str
-		    (stringp (cdr-safe (car (cddr elt)))) ; keyseq cache
-		    (setq cache (cdr (car (cdr (cdr elt)))))
-		    cache (setq str (concat str cache))))
+	       (and (stringp (car elt)) (setq str (car elt))))
 
 	      ((stringp event)		; x-popup or x-popup element
 	       (if (or in-x-menu (stringp (car-safe elt)))
 		   (setq str event event nil km elt)
-		 (setq str event event nil km (cons 'keymap elt))))))
+		 (setq str event event nil km (cons 'keymap elt)))))
+        (unless (eq km 'ignore)
+          (let ((binding (where-is-internal km nil t)))
+            (when binding
+              (setq binding (key-description binding))
+              ;; Try to align the keybindings.
+              (let ((colwidth (min 30 (- (/ (window-width) 2) 10))))
+                (setq str
+                      (concat str
+                              (make-string (max 2 (- colwidth
+                                                     (string-width str)
+                                                     (string-width binding)))
+                                           ?\s)
+                              binding)))))))
       (and km (stringp km) (setq str km))
       ;; Verify that the command is enabled;
       ;; if not, don't mention it.
--- a/lisp/url/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/url/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,24 @@
+2010-07-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	* url-http (url-http-parse-headers): Disable file name handlers at
+	all (not only Tramp).  (Bug#6717)
+
+2010-07-25  Michael Albinus  <michael.albinus@gmx.de>
+
+	* url-http (url-http-parse-headers): Disable Tramp.  (Bug#6717)
+
+2010-06-12  Štěpán Němec  <stepnem@gmail.com>  (tiny change)
+
+	* url-vars.el (url-privacy-level): Fix doc typo.  (Bug#6406)
+
+2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* url-util.el (url-unhex-string): Don't accidentally decode as latin-1.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-01-23  Chong Yidong  <cyd@stupidchicken.com>
 
 	* url-util.el: Require url-vars (Bug#5459).
@@ -755,7 +776,7 @@
 	(url-http-parse-headers): Use it.
 	(url-http-handle-authentication): Use subst-char-in-string.
 
-2005-11-16  Juergen Hoetzel  <emacs@hoetzel.info>  (tiny change)
+2005-11-16  Jürgen Hötzel  <emacs@hoetzel.info>  (tiny change)
 
 	* url-handlers.el (url-insert-file-contents): Use the charset info
 	provided by the HTTP server, if any.
--- a/lisp/url/url-http.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/url/url-http.el	Fri Aug 27 23:05:43 2010 +0900
@@ -435,7 +435,11 @@
 	(delete-process url-http-process)))))
   (let ((buffer (current-buffer))
 	(class nil)
-	(success nil))
+	(success nil)
+	;; The filename part of a URL could be in remote file syntax,
+	;; see Bug#6717 for an example.  We disable file name
+	;; handlers, therefore.
+	(file-name-handler-alist nil))
     (setq class (/ url-http-response-status 100))
     (url-http-debug "Parsed HTTP headers: class=%d status=%d" class url-http-response-status)
     (url-http-handle-cookies)
--- a/lisp/url/url-util.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/url/url-util.el	Fri Aug 27 23:05:43 2010 +0900
@@ -322,10 +322,10 @@
 		   tmp (substring str 0 start)
 		   (cond
 		    (allow-newlines
-		     (char-to-string code))
+		     (byte-to-string code))
 		    ((or (= code ?\n) (= code ?\r))
 		     " ")
-		    (t (char-to-string code))))
+		    (t (byte-to-string code))))
 	      str (substring str (match-end 0)))))
     (setq tmp (concat tmp str))
     tmp))
--- a/lisp/url/url-vars.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/url/url-vars.el	Fri Aug 27 23:05:43 2010 +0900
@@ -128,7 +128,7 @@
 os       -- the operating system info
 lastloc  -- the last location
 agent    -- do not send the User-Agent string
-cookie   -- never accept HTTP cookies
+cookies  -- never accept HTTP cookies
 
 Samples:
 
--- a/lisp/vc-annotate.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-annotate.el	Fri Aug 27 23:05:43 2010 +0900
@@ -314,8 +314,8 @@
 		  vc-annotate-display-mode))))
 
 ;;;###autoload
-(defun vc-annotate (file rev &optional display-mode buf move-point-to)
-  "Display the edit history of the current file using colors.
+(defun vc-annotate (file rev &optional display-mode buf move-point-to vc-bk)
+  "Display the edit history of the current FILE using colors.
 
 This command creates a buffer that shows, for each line of the current
 file, when it was last edited and by whom.  Additionally, colors are
@@ -325,7 +325,7 @@
 everything that is older than that is shown in blue.
 
 With a prefix argument, this command asks two questions in the
-minibuffer.  First, you may enter a revision number; then the buffer
+minibuffer.  First, you may enter a revision number REV; then the buffer
 displays and annotates that revision instead of the working revision
 \(type RET in the minibuffer to leave that default unchanged).  Then,
 you are prompted for the time span in days which the color range
@@ -335,6 +335,8 @@
 
 If MOVE-POINT-TO is given, move the point to that line.
 
+If VC-BK is given used that VC backend.
+
 Customization variables:
 
 `vc-annotate-menu-elements' customizes the menu elements of the
@@ -347,9 +349,9 @@
      (list buffer-file-name
 	   (let ((def (vc-working-revision buffer-file-name)))
 	     (if (null current-prefix-arg) def
-	       (read-string
+	       (vc-read-revision
 		(format "Annotate from revision (default %s): " def)
-		nil nil def)))
+		(list buffer-file-name) nil def)))
 	   (if (null current-prefix-arg)
 	       vc-annotate-display-mode
 	     (float (string-to-number
@@ -375,7 +377,7 @@
 		;; In case it had to be uniquified.
 		(setq temp-buffer-name (buffer-name))))
     (with-output-to-temp-buffer temp-buffer-name
-      (let ((backend (vc-backend file))
+      (let ((backend (or vc-bk (vc-backend file)))
 	    (coding-system-for-read buffer-file-coding-system))
         (vc-call-backend backend 'annotate-command file
                          (get-buffer temp-buffer-name) rev)
@@ -461,7 +463,7 @@
       (if (not rev-at-line)
 	  (message "Cannot extract revision number from the current line")
 	(switch-to-buffer-other-window
-	 (vc-find-revision (cdr rev-at-line) (car rev-at-line)))))))
+	 (vc-find-revision (cdr rev-at-line) (car rev-at-line) vc-annotate-backend))))))
 
 (defun vc-annotate-revision-previous-to-line ()
   "Visit the annotation of the revision before the revision at line."
@@ -526,7 +528,7 @@
 	  (message "Cannot extract revision number from the current line")
 	(setq prev-rev
 	      (vc-call-backend vc-annotate-backend 'previous-revision
-                               fname rev))
+                               (if filediff fname nil) rev))
 	(if (not prev-rev)
 	    (message "Cannot diff from any revision prior to %s" rev)
 	  (save-window-excursion
@@ -596,7 +598,8 @@
 		     ;; place the point in the line.
 		     (min oldline (progn (goto-char (point-max))
                                          (forward-line -1)
-                                         (line-number-at-pos))))))))
+                                         (line-number-at-pos)))
+		     vc-annotate-backend)))))
 
 (defun vc-annotate-compcar (threshold a-list)
   "Test successive cons cells of A-LIST against THRESHOLD.
--- a/lisp/vc-bzr.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-bzr.el	Fri Aug 27 23:05:43 2010 +0900
@@ -945,10 +945,12 @@
        ((string-match "\\`\\(ancestor\\|branch\\|\\(revno:\\)?[-0-9]+:\\):"
                       string)
         (completion-table-with-context (substring string 0 (match-end 0))
-                                       'completion-file-name-table
+                                       (apply-partially
+                                        'completion-table-with-predicate
+                                        'completion-file-name-table
+                                        'file-directory-p t)
                                        (substring string (match-end 0))
-                                       ;; Dropping `pred' for no good reason.
-                                       'file-directory-p
+                                       pred
                                        action))
        ((string-match "\\`\\(before\\):" string)
         (completion-table-with-context (substring string 0 (match-end 0))
--- a/lisp/vc-dir.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-dir.el	Fri Aug 27 23:05:43 2010 +0900
@@ -357,6 +357,7 @@
     ;; Insert directory entries in the right places.
     (let ((entry (car entries))
 	  (node (ewoc-nth vc-ewoc 0))
+	  (to-remove nil)
 	  (dotname (file-relative-name default-directory)))
       ;; Insert . if it is not present.
       (unless node
@@ -383,30 +384,38 @@
 	       ((string-lessp nodefile entryfile)
 		(setq node (ewoc-next vc-ewoc node)))
 	       ((string-equal nodefile entryfile)
-		(setf (vc-dir-fileinfo->state (ewoc-data node)) (nth 1 entry))
-		(setf (vc-dir-fileinfo->extra (ewoc-data node)) (nth 2 entry))
-		(setf (vc-dir-fileinfo->needs-update (ewoc-data node)) nil)
-		(ewoc-invalidate vc-ewoc node)
+		(if (nth 1 entry)
+		    (progn
+		      (setf (vc-dir-fileinfo->state (ewoc-data node)) (nth 1 entry))
+		      (setf (vc-dir-fileinfo->extra (ewoc-data node)) (nth 2 entry))
+		      (setf (vc-dir-fileinfo->needs-update (ewoc-data node)) nil)
+		      (ewoc-invalidate vc-ewoc node))
+		  ;; If the state is nil, the file does not exist
+		  ;; anymore, so remember the entry so we can remove
+		  ;; it after we are done inserting all ENTRIES.
+		  (push node to-remove))
 		(setq entries (cdr entries))
 		(setq entry (car entries))
 		(setq node (ewoc-next vc-ewoc node)))
 	       (t
-		(ewoc-enter-before vc-ewoc node
-				   (apply 'vc-dir-create-fileinfo entry))
+		(unless noinsert
+		  (ewoc-enter-before vc-ewoc node
+				     (apply 'vc-dir-create-fileinfo entry)))
 		(setq entries (cdr entries))
 		(setq entry (car entries))))))
 	   (t
-	    ;; We might need to insert a directory node if the
-	    ;; previous node was in a different directory.
-	    (let* ((rd (file-relative-name entrydir))
-		   (prev-node (ewoc-prev vc-ewoc node))
-		   (prev-dir (vc-dir-node-directory prev-node)))
-	      (unless (string-equal entrydir prev-dir)
-		(ewoc-enter-before
-		 vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir))))
-	    ;; Now insert the node itself.
-	    (ewoc-enter-before vc-ewoc node
-			       (apply 'vc-dir-create-fileinfo entry))
+	    (unless noinsert
+	      ;; We might need to insert a directory node if the
+	      ;; previous node was in a different directory.
+	      (let* ((rd (file-relative-name entrydir))
+		     (prev-node (ewoc-prev vc-ewoc node))
+		     (prev-dir (vc-dir-node-directory prev-node)))
+		(unless (string-equal entrydir prev-dir)
+		  (ewoc-enter-before
+		   vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil entrydir))))
+	      ;; Now insert the node itself.
+	      (ewoc-enter-before vc-ewoc node
+				 (apply 'vc-dir-create-fileinfo entry)))
 	    (setq entries (cdr entries) entry (car entries))))))
       ;; We're past the last node, all remaining entries go to the end.
       (unless (or node noinsert)
@@ -422,7 +431,10 @@
 		   vc-ewoc (vc-dir-create-fileinfo rd nil nil nil entrydir))))
 	      ;; Now insert the node itself.
 	      (ewoc-enter-last vc-ewoc
-			       (apply 'vc-dir-create-fileinfo entry)))))))))
+			       (apply 'vc-dir-create-fileinfo entry))))))
+      (when to-remove
+	(let ((inhibit-read-only t))
+	  (apply 'ewoc-delete vc-ewoc (nreverse to-remove)))))))
 
 (defun vc-dir-busy ()
   (and (buffer-live-p vc-dir-process-buffer)
@@ -878,10 +890,12 @@
 		      (vc-dir-resync-directory-files file)
 		      (ewoc-set-hf vc-ewoc
 				   (vc-dir-headers vc-dir-backend default-directory) ""))
-                  (let ((state (vc-dir-recompute-file-state file ddir)))
+                  (let* ((complete-state (vc-dir-recompute-file-state file ddir))
+			 (state (cadr complete-state)))
                     (vc-dir-update
-                     (list state)
-                     status-buf (eq (cadr state) 'up-to-date))))))))))
+                     (list complete-state)
+                     status-buf (or (not state)
+				    (eq state 'up-to-date)))))))))))
     ;; Remove out-of-date entries from vc-dir-buffers.
     (dolist (b drop) (setq vc-dir-buffers (delq b vc-dir-buffers)))))
 
--- a/lisp/vc-dispatcher.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-dispatcher.el	Fri Aug 27 23:05:43 2010 +0900
@@ -101,7 +101,7 @@
 ;; that on-disk files and the contents of their visiting Emacs buffers
 ;; coincide.
 ;;
-;; When the client mode adds a local mode-line-hook to a buffer, it
+;; When the client mode adds a local vc-mode-line-hook to a buffer, it
 ;; will be called with the buffer file name as argument whenever the
 ;; dispatcher resynchs the buffer.
 
@@ -454,6 +454,10 @@
       (revert-buffer arg no-confirm t))
     (vc-restore-buffer-context context)))
 
+(defvar vc-mode-line-hook nil)
+(make-variable-buffer-local 'vc-mode-line-hook)
+(put 'vc-mode-line-hook 'permanent-local t)
+
 (defun vc-resynch-window (file &optional keep noquery)
   "If FILE is in the current buffer, either revert or unvisit it.
 The choice between revert (to see expanded keywords) and unvisit
@@ -479,7 +483,8 @@
                          (not (eq (get major-mode 'mode-class) 'special))
                          (view-mode-enter))))
 
-	     (run-hook-with-args 'mode-line-hook buffer-file-name))
+             ;; FIXME: Why use a hook?  Why pass it buffer-file-name?
+	     (run-hook-with-args 'vc-mode-line-hook buffer-file-name))
 	 (kill-buffer (current-buffer)))))
 
 (declare-function vc-dir-resynch-file "vc-dir" (&optional fname))
--- a/lisp/vc-git.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-git.el	Fri Aug 27 23:05:43 2010 +0900
@@ -413,6 +413,7 @@
      (vc-git-command (current-buffer) 'async files
                      "ls-files" "-z" "-o" "-i" "--directory"
                      "--no-empty-directory" "--exclude-standard" "--"))
+    ;; --relative added in Git 1.5.5.
     (diff-index
      (vc-git-command (current-buffer) 'async files
                      "diff-index" "--relative" "-z" "-M" "HEAD" "--")))
@@ -550,13 +551,18 @@
   (let* (process-file-side-effects
 	 (coding-system-for-read 'binary)
 	 (coding-system-for-write 'binary)
-	 (fullname (substring
-		    (vc-git--run-command-string
-		     file "ls-files" "-z" "--full-name" "--")
-		    0 -1)))
+	 (fullname
+	  (let ((fn (vc-git--run-command-string
+		     file "ls-files" "-z" "--full-name" "--")))
+	    ;; ls-files does not return anything when looking for a
+	    ;; revision of a file that has been renamed or removed.
+	    (if (string= fn "")
+		(file-relative-name file (vc-git-root default-directory))
+	      (substring fn 0 -1)))))
     (vc-git-command
      buffer 0
-     (concat (if rev rev "HEAD") ":" fullname) "cat-file" "blob")))
+     nil
+     "cat-file" "blob" (concat (if rev rev "HEAD") ":" fullname))))
 
 (defun vc-git-checkout (file &optional editable rev)
   (vc-git-command nil 0 file "checkout" (or rev "HEAD")))
@@ -571,7 +577,9 @@
 ;;; HISTORY FUNCTIONS
 
 (defun vc-git-print-log (files buffer &optional shortlog start-revision limit)
-  "Get change log associated with FILES."
+  "Get change log associated with FILES.
+Note that using SHORTLOG requires at least Git version 1.5.6,
+for the --graph option."
   (let ((coding-system-for-read git-commits-coding-system))
     ;; `vc-do-command' creates the buffer, but we need it before running
     ;; the command.
@@ -686,7 +694,7 @@
 
 (defun vc-git-annotate-command (file buf &optional rev)
   (let ((name (file-relative-name file)))
-    (vc-git-command buf 'async name "blame" "--date=iso" "-C" "-C" rev)))
+    (vc-git-command buf 'async nil "blame" "--date=iso" "-C" "-C" rev "--" name)))
 
 (declare-function vc-annotate-convert-time "vc-annotate" (time))
 
@@ -703,8 +711,12 @@
     (when (looking-at "\\([0-9a-f^][0-9a-f]+\\) \\(\\([^(]+\\) \\)?")
       (let ((revision (match-string-no-properties 1)))
 	(if (match-beginning 2)
-	    (cons revision (expand-file-name (match-string-no-properties 3)
-					     (vc-git-root default-directory)))
+	    (let ((fname (match-string-no-properties 3)))
+	      ;; Remove trailing whitespace from the file name.
+	      (when (string-match " +\\'" fname)
+		(setq fname (substring fname 0 (match-beginning 0))))
+	      (cons revision
+		    (expand-file-name fname (vc-git-root default-directory))))
 	  revision)))))
 
 ;;; TAG SYSTEM
@@ -728,11 +740,10 @@
 (defun vc-git-previous-revision (file rev)
   "Git-specific version of `vc-previous-revision'."
   (if file
-      (let* ((default-directory (file-name-directory (expand-file-name file)))
-             (file (file-name-nondirectory file))
+      (let* ((fname (file-relative-name file))
              (prev-rev (with-temp-buffer
                          (and
-                          (vc-git--out-ok "rev-list" "-2" rev "--" file)
+                          (vc-git--out-ok "rev-list" "-2" rev "--" fname)
                           (goto-char (point-max))
                           (bolp)
                           (zerop (forward-line -1))
--- a/lisp/vc-hg.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-hg.el	Fri Aug 27 23:05:43 2010 +0900
@@ -168,12 +168,13 @@
                   (condition-case nil
                       ;; Ignore all errors.
 		      (let ((process-environment
-			     ;; Avoid localization of messages so we can parse the output.
-			     (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=") process-environment)))
-
-		      (process-file
-                       "hg" nil t nil
-                       "status" "-A" (file-relative-name file)))
+			     ;; Avoid localization of messages so we
+			     ;; can parse the output.
+			     (append (list "TERM=dumb" "LANGUAGE=C" "HGRCPATH=")
+				     process-environment)))
+			(process-file
+			 "hg" nil t nil
+			 "status" "-A" (file-relative-name file)))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
                     (error nil)))))))
@@ -196,24 +197,40 @@
   (let*
       ((status nil)
        (default-directory (file-name-directory file))
+       ;; Avoid localization of messages so we can parse the output.
+       (avoid-local-env (append (list "TERM=dumb" "LANGUAGE=C" "HGRCPATH=")
+				     process-environment))
        (out
         (with-output-to-string
           (with-current-buffer
               standard-output
             (setq status
                   (condition-case nil
-		      (let ((process-environment
-			     ;; Avoid localization of messages so we can parse the output.
-			     (append (list "TERM=dumb" "LANGUAGE=C" "HGRC=")
-				     process-environment)))
+		      (let ((process-environment avoid-local-env))
 			;; Ignore all errors.
 			(process-file
 			 "hg" nil t nil
-			 "parent" "--template" "{rev}" (file-relative-name file)))
+			 "parents" "--template" "{rev}" (file-relative-name file)))
                     ;; Some problem happened.  E.g. We can't find an `hg'
                     ;; executable.
                     (error nil)))))))
-    (when (eq 0 status) out)))
+    (if (eq 0 status)
+	out
+      ;; Check if the file is in the 'added state, the above hg
+      ;; command does not distinguish between 'added and 'unregistered.
+      (setq status
+	    (condition-case nil
+		(let ((process-environment avoid-local-env))
+		  (process-file
+		   "hg" nil nil nil
+		   ;; We use "log" here, if there's a faster command
+		   ;; that returns true for an 'added file and false
+		   ;; for an 'unregistered one, we could use that.
+		   "log" "-l1" (file-relative-name file)))
+	      ;; Some problem happened.  E.g. We can't find an `hg'
+	      ;; executable.
+	      (error nil)))
+      (when (eq 0 status) "0"))))
 
 ;;; History functions
 
@@ -340,7 +357,8 @@
       (if (match-beginning 3)
 	  (match-string-no-properties 1)
 	(cons (match-string-no-properties 1)
-	      (expand-file-name (match-string-no-properties 4)))))))
+	      (expand-file-name (match-string-no-properties 4)
+				(vc-hg-root default-directory)))))))
 
 (defun vc-hg-previous-revision (file rev)
   (let ((newrev (1- (string-to-number rev))))
--- a/lisp/vc-hooks.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-hooks.el	Fri Aug 27 23:05:43 2010 +0900
@@ -880,7 +880,8 @@
     (setq vc-mode nil))
   (when buffer-file-name
     (vc-file-clearprops buffer-file-name)
-    (add-hook 'mode-line-hook 'vc-mode-line nil t)
+    ;; FIXME: Why use a hook?  Why pass it buffer-file-name?
+    (add-hook 'vc-mode-line-hook 'vc-mode-line nil t)
     (let (backend)
       (cond
        ((setq backend (with-demoted-errors (vc-backend buffer-file-name)))
--- a/lisp/vc-svn.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc-svn.el	Fri Aug 27 23:05:43 2010 +0900
@@ -170,7 +170,7 @@
                      (?? . unregistered)
                      ;; This is what vc-svn-parse-status does.
                      (?~ . edited)))
-	(re (if remote "^\\(.\\)...... \\([ *]\\) +\\(?:[-0-9]+\\)?   \\(.*\\)$"
+	(re (if remote "^\\(.\\)......? \\([ *]\\) +\\(?:[-0-9]+\\)?   \\(.*\\)$"
 	      ;; Subexp 2 is a dummy in this case, so the numbers match.
 	      "^\\(.\\)....\\(.\\) \\(.*\\)$"))
        result)
--- a/lisp/vc.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/vc.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1398,6 +1398,16 @@
 ;;          (vc-call-backend ',(vc-backend f)
 ;;                           'diff (list ',f) ',rev1 ',rev2))))))
 
+(defvar vc-coding-system-inherit-eol t
+  "When non-nil, inherit the EOL format for reading Diff output from the file.
+
+Used in `vc-coding-system-for-diff' to determine the EOL format to use
+for reading Diff output for a file.  If non-nil, the EOL format is
+inherited from the file itself.
+Set this variable to nil if your Diff tool might use a different
+EOL.  Then Emacs will auto-detect the EOL format in Diff output, which
+gives better results.") ;; Cf. bug#4451.
+
 (defun vc-coding-system-for-diff (file)
   "Return the coding system for reading diff output for FILE."
   (or coding-system-for-read
@@ -1405,7 +1415,12 @@
       ;; use the buffer's coding system
       (let ((buf (find-buffer-visiting file)))
         (when buf (with-current-buffer buf
-		    buffer-file-coding-system)))
+		    (if vc-coding-system-inherit-eol
+			buffer-file-coding-system
+		      ;; Don't inherit the EOL part of the coding-system,
+		      ;; because some Diff tools may choose to use
+		      ;; a different one.  bug#4451.
+		      (coding-system-base buffer-file-coding-system)))))
       ;; otherwise, try to find one based on the file name
       (car (find-operation-coding-system 'insert-file-contents file))
       ;; and a final fallback
@@ -1655,8 +1670,9 @@
 		    rev)))
     (switch-to-buffer-other-window (vc-find-revision file revision))))
 
-(defun vc-find-revision (file revision)
-  "Read REVISION of FILE into a buffer and return the buffer."
+(defun vc-find-revision (file revision &optional backend)
+  "Read REVISION of FILE into a buffer and return the buffer.
+Use BACKEND as the VC backend if specified."
   (let ((automatic-backup (vc-version-backup-file-name file revision))
 	(filebuf (or (get-file-buffer file) (current-buffer)))
         (filename (vc-version-backup-file-name file revision 'manual)))
@@ -1674,7 +1690,9 @@
 		      ;; Change buffer to get local value of
 		      ;; vc-checkout-switches.
 		      (with-current-buffer filebuf
-			(vc-call find-revision file revision outbuf))))
+			(if backend
+			    (vc-call-backend backend 'find-revision file revision outbuf)
+			  (vc-call find-revision file revision outbuf)))))
 		  (setq failed nil))
 	      (when (and failed (file-exists-p filename))
 		(delete-file filename))))
--- a/lisp/version.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/version.el	Fri Aug 27 23:05:43 2010 +0900
@@ -32,7 +32,7 @@
 (defconst emacs-copyright "Copyright (C) 2010 Free Software Foundation, Inc." "\
 Short copyright string for this version of Emacs.")
 
-(defconst emacs-version "23.1.95" "\
+(defconst emacs-version "23.2.50" "\
 Version numbers of this version of Emacs.")
 
 (defconst emacs-major-version (progn (string-match "^[0-9]+" emacs-version) (string-to-number (match-string 0 emacs-version))) "\
--- a/lisp/wid-edit.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/wid-edit.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1156,14 +1156,17 @@
     (if field
 	(narrow-to-region (line-beginning-position) (line-end-position)))))
 
+;; This used to say:
+;; "When not inside a field, move to the previous button or field."
+;; but AFAICS, it has always just thrown an error.
 (defun widget-complete ()
   "Complete content of editable field from point.
-When not inside a field, move to the previous button or field."
+When not inside a field, signal an error."
   (interactive)
   (let ((field (widget-field-find (point))))
-    (when field
-      (widget-apply field :complete))
-    (error "Not in an editable field")))
+    (if field
+	(widget-apply field :complete)
+      (error "Not in an editable field"))))
 
 ;;; Setting up the buffer.
 
--- a/lisp/x-dnd.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/x-dnd.el	Fri Aug 27 23:05:43 2010 +0900
@@ -1,9 +1,9 @@
-;;; x-dnd.el --- drag and drop support for X.
+;;; x-dnd.el --- drag and drop support for X  -*- coding: utf-8 -*-
 
 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
 ;;   Free Software Foundation, Inc.
 
-;; Author: Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+;; Author: Jan Djärv <jan.h.d@swipnet.se>
 ;; Maintainer: FSF
 ;; Keywords: window, drag, drop
 
--- a/lisp/xml.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/xml.el	Fri Aug 27 23:05:43 2010 +0900
@@ -321,18 +321,20 @@
 		(progn
 		  (forward-char -1)
 		  (setq result (xml-parse-tag parse-dtd parse-ns))
-		  (if (and xml result (not xml-sub-parser))
-		      ;;  translation of rule [1] of XML specifications
-		      (error "XML: (Not Well-Formed) Only one root tag allowed")
-		    (cond
-		     ((null result))
-		     ((and (listp (car result))
-			   parse-dtd)
-		      (setq dtd (car result))
-		      (if (cdr result)	; possible leading comment
-			  (add-to-list 'xml (cdr result))))
-		     (t
-		      (add-to-list 'xml result)))))
+		  (cond
+		   ((null result)
+		    ;; Not looking at an xml start tag.
+		    (forward-char 1))
+		   ((and xml (not xml-sub-parser))
+		    ;; Translation of rule [1] of XML specifications
+		    (error "XML: (Not Well-Formed) Only one root tag allowed"))
+		   ((and (listp (car result))
+			 parse-dtd)
+		    (setq dtd (car result))
+		    (if (cdr result)	; possible leading comment
+			(add-to-list 'xml (cdr result))))
+		   (t
+		    (add-to-list 'xml result))))
 	      (goto-char (point-max))))
 	  (if parse-dtd
 	      (cons dtd (nreverse xml))
--- a/lisp/xt-mouse.el	Sat Apr 03 19:40:20 2010 -0400
+++ b/lisp/xt-mouse.el	Fri Aug 27 23:05:43 2010 +0900
@@ -122,8 +122,8 @@
 ;; read xterm sequences above ascii 127 (#x7f)
 (defun xterm-mouse-event-read ()
   (let ((c (read-char)))
-    (if (< c 0)
-        (+ c #x8000000 128)
+    (if (> c #x3FFF80)
+        (+ 128 (- c #x3FFF80))
       c)))
 
 (defun xterm-mouse-truncate-wrap (f)
--- a/lwlib/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/lwlib/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 
 	* xlwmenu.c:
--- a/msdos/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/msdos/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-02-19  Eli Zaretskii  <eliz@gnu.org>
 
 	* INSTALL: Remove a CVS-specific note.  Update for latest versions
--- a/nextstep/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/nextstep/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-01-11  Glenn Morris  <rgm@gnu.org>
 
 	* Cocoa/Emacs.base/Contents/Info.plist:
--- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist	Sat Apr 03 19:40:20 2010 -0400
+++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist	Fri Aug 27 23:05:43 2010 +0900
@@ -553,7 +553,7 @@
 	<key>CFBundleExecutable</key>
 	<string>Emacs</string>
 	<key>CFBundleGetInfoString</key>
-	<string>Emacs 23.1.95 Copyright (C) 2010 Free Software Foundation, Inc.</string>
+	<string>Emacs 23.2.50 Copyright (C) 2010 Free Software Foundation, Inc.</string>
 	<key>CFBundleIconFile</key>
 	<string>Emacs.icns</string>
 	<key>CFBundleIdentifier</key>
@@ -566,7 +566,7 @@
 	<string>APPL</string>
 	<!-- This should be the emacs version number. -->
 	<key>CFBundleShortVersionString</key>
-	<string>23.1.95</string>
+	<string>23.2.50</string>
 	<key>CFBundleSignature</key>
 	<string>EMAx</string>
 	<!-- This SHOULD be a build number. -->
--- a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings	Sat Apr 03 19:40:20 2010 -0400
+++ b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings	Fri Aug 27 23:05:43 2010 +0900
@@ -1,6 +1,6 @@
 /* Localized versions of Info.plist keys */
 
 CFBundleName = "Emacs";
-CFBundleShortVersionString = "Version 23.1.95";
-CFBundleGetInfoString = "Emacs version 23.1.95, NS Windowing";
+CFBundleShortVersionString = "Version 23.2.50";
+CFBundleGetInfoString = "Emacs version 23.2.50, NS Windowing";
 NSHumanReadableCopyright = "Copyright (C) 2010 Free Software Foundation, Inc.";
--- a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop	Sat Apr 03 19:40:20 2010 -0400
+++ b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Encoding=UTF-8
 Type=Application
-Version=23.1.95
+Version=23.2.50
 Categories=GNUstep
 Name=Emacs
 Comment=GNU Emacs for NeXT/Open/GNUstep and OS X
--- a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist	Sat Apr 03 19:40:20 2010 -0400
+++ b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist	Fri Aug 27 23:05:43 2010 +0900
@@ -2,7 +2,7 @@
     ApplicationDescription = "GNU Emacs for GNUstep / OS X";
     ApplicationIcon = emacs.tiff;
     ApplicationName = Emacs;
-    ApplicationRelease = "23.1.95";
+    ApplicationRelease = "23.2.50";
     Authors = (
 	"Adrian Robert (GNUstep)",
 	"Christophe de Dinechin (MacOS X)",
@@ -13,7 +13,7 @@
     );
     Copyright = "Copyright (C) 2010 Free Software Foundation, Inc.";
     CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
-    FullVersionID = "Emacs 23.1.95, NS Windowing";
+    FullVersionID = "Emacs 23.2.50, NS Windowing";
     NSExecutable = Emacs;
     NSIcon = emacs.tiff;
     NSPrincipalClass = NSApplication;
--- a/nt/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/nt/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-01-13  Martin Rudalics  <rudalics@gmx.at>
 
 	* emacsclient.rc: Fix format of "LegalCopyright" value.
--- a/nt/emacs.rc	Sat Apr 03 19:40:20 2010 -0400
+++ b/nt/emacs.rc	Fri Aug 27 23:05:43 2010 +0900
@@ -7,8 +7,8 @@
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 23,1,95,0
- PRODUCTVERSION 23,1,95,0
+ FILEVERSION 23,2,50,0
+ PRODUCTVERSION 23,2,50,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -25,12 +25,12 @@
 	BEGIN
 	    VALUE "CompanyName", "Free Software Foundation\0"
 	    VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
-	    VALUE "FileVersion", "23, 1, 95, 0\0"
+	    VALUE "FileVersion", "23, 2, 50, 0\0"
 	    VALUE "InternalName", "Emacs\0"
 	    VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0"
 	    VALUE "OriginalFilename", "emacs.exe"
 	    VALUE "ProductName", "Emacs\0"
-	    VALUE "ProductVersion", "23, 1, 95, 0\0"
+	    VALUE "ProductVersion", "23, 2, 50, 0\0"
 	    VALUE "OLESelfRegister", "\0"
 	 END
      END
--- a/nt/emacsclient.rc	Sat Apr 03 19:40:20 2010 -0400
+++ b/nt/emacsclient.rc	Fri Aug 27 23:05:43 2010 +0900
@@ -5,8 +5,8 @@
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 23,1,95,0
- PRODUCTVERSION 23,1,95,0
+ FILEVERSION 23,2,50,0
+ PRODUCTVERSION 23,2,50,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -23,12 +23,12 @@
 	BEGIN
 	    VALUE "CompanyName", "Free Software Foundation\0"
 	    VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
-	    VALUE "FileVersion", "23, 1, 95, 0\0"
+	    VALUE "FileVersion", "23, 2, 50, 0\0"
 	    VALUE "InternalName", "EmacsClient\0"
 	    VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0"
 	    VALUE "OriginalFilename", "emacsclientw.exe"
 	    VALUE "ProductName", "EmacsClient\0"
-	    VALUE "ProductVersion", "23, 1, 95, 0\0"
+	    VALUE "ProductVersion", "23, 2, 50, 0\0"
 	    VALUE "OLESelfRegister", "\0"
 	 END
      END
--- a/oldXMenu/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/oldXMenu/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 
 	* Branch for 23.1.
--- a/src/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,246 @@
+2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* minibuf.c (Fread_buffer): Doc fix (bug#6528).
+
+2010-07-22  Christoph Scholtes  <cschol2112@gmail.com>
+
+	* window.c (Fwindow_height): Doc fix (bug#6518).
+
+2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* buffer.c (syms_of_buffer) <fringe-indicator-alist>: Doc fix.
+
+2010-07-17  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* gtkutil.c (xg_event_is_for_menubar): Also check that event window
+	is related to the menu bar (Bug#6499).
+
+2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
+
+	* xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
+
+	* xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
+	i.e. don't put back ButtonRelease (Bug#6608).
+
+	* xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter
+	instead of Window.  Call xg_event_is_for_menubar when
+	USE_GTK (Bug#6499).
+
+	* gtkutil.h (xg_event_is_for_menubar): Declare.
+
+	* gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
+
+2010-07-14  Eli Zaretskii  <eliz@gnu.org>
+
+	* w32fns.c (x_set_foreground_color): Fix setting the cursor color
+	when it's the same as the old foreground.  (Bug#6609)
+
+2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xfaces.c (realize_face): Garbage the frame if a face is removed
+	(Bug#6593).
+
+2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* keyboard.c: Remove duplicate <setjmp.h>.
+	(read_key_sequence): Remove volatile qualifiers.
+
+2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* dispextern.h (FRINGE_HEIGHT_BITS): New define.
+	(struct glyph_row): New members left_fringe_offset and
+	right_fringe_offset.
+
+	* xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
+	specially.
+	* w32term.c (w32_draw_fringe_bitmap): Likewise.
+	* nsterm.m (ns_draw_fringe_bitmap): Likewise.
+
+	* fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
+	Take account of	bitmap offset.
+	(draw_window_fringes): Take account of window vscroll.
+	(update_window_fringes): Likewise.  Extend top-aligned top indicator
+	or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
+	in one row.  Don't set redraw_fringe_bitmaps_p outside row comparison.
+	Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
+
+2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
+
+	* w32fns.c (Qtooltip): Declare.
+	Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
+	grab on just Press (Bug#6499).
+
+2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
+
+	* frame.c (Qtooltip): New var.
+	(delete_frame): Use it.  Fix faulty if statement.  Don't update
+	mode line for tooltip frames.  Suggested by Martin Rudalics.
+
+	* xfns.c (x_create_tip_frame):
+	* w32fns.c (x_create_tip_frame): Use it.
+
+2010-06-30  Naohiro Aota  <naota@elisp.net>  (tiny change)
+
+	* xftfont.c (xftfont_open): Check font width one by one also when
+	spacing is dual.
+
+	* ftfont.c (ftfont_open): Ditto.
+
+2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* alloc.c (Fmake_byte_code): Don't access undefined argument
+	(Bug#6517).
+
+2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xdisp.c (next_element_from_image): Ensure that after-strings are
+	read the next time we hit handle_stop (Bug#1336).
+
+2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* lread.c (read1): Signal error if #s is not followed by paren.
+
+2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
+
+	* image.c (free_image): Mark frame as garbaged (Bug#6426).
+
+	* keymap.c (Fdefine_key): Doc fix (Bug#6460).
+
+2010-06-15  Glenn Morris  <rgm@gnu.org>
+
+	* editfns.c (Fbyte_to_string): Pacify compiler.
+
+2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
+	Check `object's type before accessing its guts.
+
+2010-06-08  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* minibuf.c (Fall_completions): Add more checks.
+
+2010-06-08  Juanma Barranquero  <lekktu@gmail.com>
+
+	* minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378).
+
+2010-06-03  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4
+	address.  (Bug#6346)
+
+2010-06-03  Juanma Barranquero  <lekktu@gmail.com>
+
+	* ccl.c (Fccl_program_p): Fix typo in docstring.
+
+2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
+	of bug#6305).
+
+2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xdisp.c (redisplay_window): After redisplay, check if point is
+	still valid before setting it (Bug#6177).
+
+2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
+
+	* s/netbsd.h: If terminfo is found, use it in preference to
+	termcap.  (Bug#6190)  [Backport from trunk]
+
+2010-05-20  Kevin Ryde  <user42@zip.com.au>
+
+	* keyboard.c (Vlast_command, Vkeyboard_translate_table)
+	(Voverriding_terminal_local_map, Vsystem_key_alist)
+	(Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
+
+2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* editfns.c (Fbyte_to_string): New function.
+
+2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
+
+	* character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
+	prevent stack overflow if number of arguments is too large
+	(Bug#6214).
+
+2010-05-11  Eli Zaretskii  <eliz@gnu.org>
+
+	* makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
+
+	* w32fns.c: Include w32.h.
+	(Fw32_shell_execute): Decode the error message before passing it
+	to `error'.  (Bug#6126)
+
+2010-05-11  Karel Klic  <kklic@redhat.com>
+
+	* ftfont.c: Fix incorrect parentheses of #if condition for
+	definining M17N_FLT_USE_NEW_FEATURE.
+
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
+2010-04-30  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* composite.c (autocmp_chars): Save point as marker before calling
+	auto-composition-function (Bug#5984).
+
+	* lisp.h (restore_point_unwind): Add prototype.
+
+	* fileio.c (restore_point_unwind): Remove static attribute.
+
+2010-04-23  Kenichi Handa  <handa@m17n.org>
+
+	* ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
+	new feature of libotf and m17n-flt.
+	(ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]: Call
+	OTF_check_features even if no specific feature is given.
+	(PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
+	(ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
+	that OUT is NULL.  Use OTF_drive_gsub_with_log and
+	OTF_drive_gpos_with_log instead of OTF_drive_gsub and
+	OTF_drive_gpos.
+	(ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
+	(ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]: Setup
+	mflt_enable_new_feature and mflt_try_otf.
+
+2010-04-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* dired.c (Ffile_attributes): Fix typo in docstring.
+
+2010-04-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+	* nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
+	NSInteger (Bug#5811).
+
+2010-04-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
+	(PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
+
+2010-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+	* frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
+
+2010-04-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
+	FRAME_LINE_TO_PIXEL_Y.
+
+	* xterm.c (x_set_window_size_1): Don't add border_width/height to
+	pixelwidth/height.
+
+2010-04-05  Chong Yidong  <cyd@stupidchicken.com>
+
+	* xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
+	terminal frames (Bug#5837).
+
 2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 
 	* nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
@@ -145,7 +388,7 @@
 	(xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb)
 	(xg_create_tool_bar): Remove unused variables.
 	(x_wm_set_size_hint): Move declarations before statements.
-	(xg_create_frame_widgets): Remove variable grav,
+	(xg_create_frame_widgets): Remove variable grav.
 
 2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 
@@ -263,7 +506,7 @@
 
 	* xfns.c (Fx_create_frame): Remove window size matching code from
 	2010-01-15.
-	(x_get_current_desktop, x_get_desktop_workarea): Remove
+	(x_get_current_desktop, x_get_desktop_workarea): Remove.
 
 2010-01-27  Jason Rumney  <jasonr@gnu.org>
 
@@ -1100,7 +1343,7 @@
 	fontconfig settings like hinting.
 	(font_load_for_lface): If spec had a name in it, store it in entity.
 
-	* emacs.c (main): Call syms_of_xsettings
+	* emacs.c (main): Call syms_of_xsettings.
 
 	* config.in: HAVE_GCONF is new.
 
@@ -6685,7 +6928,7 @@
 	(composition_adjust_point, Fcomposition_get_gstring): New functions.
 	(syms_of_composite): Initialize gstring_hash_table, gstrint_work,
 	and gstring_work_headers.  DEFVAR_LISP composition-function-table.
-	Defsubr compostion_get_gstring.
+	Defsubr composition_get_gstring.
 
 	* dispextern.h (struct glyph): New union u.cmp.  Delete the member
 	cmp_id.
--- a/src/alloc.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/alloc.c	Fri Aug 27 23:05:43 2010 +0900
@@ -3094,7 +3094,7 @@
   else
     val = Fmake_vector (len, Qnil);
 
-  if (STRINGP (args[1]) && STRING_MULTIBYTE (args[1]))
+  if (nargs > 1 && STRINGP (args[1]) && STRING_MULTIBYTE (args[1]))
     /* BYTECODE-STRING must have been produced by Emacs 20.2 or the
        earlier because they produced a raw 8-bit string for byte-code
        and now such a byte-code string is loaded as multibyte while
--- a/src/buffer.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/buffer.c	Fri Aug 27 23:05:43 2010 +0900
@@ -6032,14 +6032,14 @@
 
 INDICATOR specifies the logical indicator type which is one of the
 following symbols: `truncation' , `continuation', `overlay-arrow',
-`top', `bottom', `up', `down', `one-line', `empty-line', or `unknown'.
-
-BITMAPS is list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies
+`top', `bottom', `top-bottom', `up', `down', empty-line', or `unknown'.
+
+BITMAPS is a list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies
 the actual bitmap shown in the left or right fringe for the logical
 indicator.  LEFT and RIGHT are the bitmaps shown in the left and/or
 right fringe for the specific indicator.  The LEFT1 or RIGHT1 bitmaps
-are used only for the `bottom' and `one-line' indicators when the last
-\(only) line in has no final newline.  BITMAPS may also be a single
+are used only for the `bottom' and `top-bottom' indicators when the
+last (only) line has no final newline.  BITMAPS may also be a single
 symbol which is used in both left and right fringes.  */);
 
   DEFVAR_PER_BUFFER ("fringe-cursor-alist",
--- a/src/ccl.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/ccl.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1362,7 +1362,7 @@
 		    if (point >= size) continue;
 		    map = AREF (Vcode_conversion_map_vector, point);
 
-		    /* Check map varidity.  */
+		    /* Check map validity.  */
 		    if (!CONSP (map)) continue;
 		    map = XCDR (map);
 		    if (!VECTORP (map)) continue;
@@ -1373,7 +1373,7 @@
 
 		    /* check map type,
 		       [STARTPOINT VAL1 VAL2 ...] or
-		       [t ELELMENT STARTPOINT ENDPOINT]  */
+		       [t ELEMENT STARTPOINT ENDPOINT]  */
 		    if (NUMBERP (content))
 		      {
 			point = XUINT (content);
@@ -1535,7 +1535,7 @@
 		      if (point >= map_vector_size) continue;
 		      map = AREF (Vcode_conversion_map_vector, point);
 
-		      /* Check map varidity.  */
+		      /* Check map validity.  */
 		      if (!CONSP (map)) continue;
 		      map = XCDR (map);
 		      if (!VECTORP (map)) continue;
@@ -1977,7 +1977,7 @@
 
 DEFUN ("ccl-program-p", Fccl_program_p, Sccl_program_p, 1, 1, 0,
        doc: /* Return t if OBJECT is a CCL program name or a compiled CCL program code.
-See the documentation of  `define-ccl-program' for the detail of CCL program.  */)
+See the documentation of `define-ccl-program' for the detail of CCL program.  */)
      (object)
      Lisp_Object object;
 {
@@ -2229,7 +2229,7 @@
 
       slot = AREF (Vccl_program_table, idx);
       if (!VECTORP (slot))
-	/* This is the first unsed slot.  Register NAME here.  */
+	/* This is the first unused slot.  Register NAME here.  */
 	break;
 
       if (EQ (name, AREF (slot, 0)))
--- a/src/character.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/character.c	Fri Aug 27 23:05:43 2010 +0900
@@ -961,10 +961,13 @@
      int n;
      Lisp_Object *args;
 {
-  int i;
-  unsigned char *buf = (unsigned char *) alloca (MAX_MULTIBYTE_LENGTH * n);
-  unsigned char *p = buf;
-  int c;
+  int i, c;
+  unsigned char *buf, *p;
+  Lisp_Object str;
+  USE_SAFE_ALLOCA;
+
+  SAFE_ALLOCA (buf, unsigned char *, MAX_MULTIBYTE_LENGTH * n);
+  p = buf;
 
   for (i = 0; i < n; i++)
     {
@@ -973,7 +976,9 @@
       p += CHAR_STRING (c, p);
     }
 
-  return make_string_from_bytes ((char *) buf, n, p - buf);
+  str = make_string_from_bytes ((char *) buf, n, p - buf);
+  SAFE_FREE ();
+  return str;
 }
 
 DEFUN ("unibyte-string", Funibyte_string, Sunibyte_string, 0, MANY, 0,
@@ -983,10 +988,13 @@
      int n;
      Lisp_Object *args;
 {
-  int i;
-  unsigned char *buf = (unsigned char *) alloca (n);
-  unsigned char *p = buf;
-  unsigned c;
+  int i, c;
+  unsigned char *buf, *p;
+  Lisp_Object str;
+  USE_SAFE_ALLOCA;
+
+  SAFE_ALLOCA (buf, unsigned char *, n);
+  p = buf;
 
   for (i = 0; i < n; i++)
     {
@@ -997,7 +1005,9 @@
       *p++ = c;
     }
 
-  return make_string_from_bytes ((char *) buf, n, p - buf);
+  str = make_string_from_bytes ((char *) buf, n, p - buf);
+  SAFE_FREE ();
+  return str;
 }
 
 DEFUN ("char-resolve-modifiers", Fchar_resolve_modifiers,
--- a/src/character.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/character.h	Fri Aug 27 23:05:43 2010 +0900
@@ -285,7 +285,7 @@
 
 /* If P is before LIMIT, advance P to the next character boundary.
    Assumes that P is already at a character boundary of the same
-   mulitbyte form whose end address is LIMIT.  */
+   multibyte form whose end address is LIMIT.  */
 
 #define NEXT_CHAR_BOUNDARY(p, limit)	\
   do {					\
@@ -296,7 +296,7 @@
 
 /* If P is after LIMIT, advance P to the previous character boundary.
    Assumes that P is already at a character boundary of the same
-   mulitbyte form whose beginning address is LIMIT.  */
+   multibyte form whose beginning address is LIMIT.  */
 
 #define PREV_CHAR_BOUNDARY(p, limit)					\
   do {									\
@@ -608,7 +608,7 @@
    : 0)
 
 /* If C is a high surrogate, return 1.  If C is a low surrogate,
-   return 0. Otherwise, return 0.  */
+   return 0.  Otherwise, return 0.  */
 
 #define CHAR_SURROGATE_PAIR_P(c)	\
   ((c) < 0xD800 ? 0			\
--- a/src/cmds.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/cmds.c	Fri Aug 27 23:05:43 2010 +0900
@@ -270,7 +270,9 @@
        doc: /* Delete the previous N characters (following if N is negative).
 Optional second arg KILLFLAG non-nil means kill instead (save in kill ring).
 Interactively, N is the prefix arg, and KILLFLAG is set if
-N was explicitly specified.  */)
+N was explicitly specified.
+This is meant for interactive use only; from Lisp, better use `delete-char'
+with a negated argument.  */)
      (n, killflag)
      Lisp_Object n, killflag;
 {
--- a/src/composite.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/composite.c	Fri Aug 27 23:05:43 2010 +0900
@@ -990,6 +990,14 @@
 	    {
 	      Lisp_Object args[6];
 
+	      /* Save point as marker before calling out to lisp.  */
+	      if (NILP (string))
+		{
+		  Lisp_Object m = Fmake_marker ();
+		  set_marker_both (m, Qnil, pt, pt_byte);
+		  record_unwind_protect (restore_point_unwind, m);
+		}
+
 	      args[0] = Vauto_composition_function;
 	      args[1] = AREF (elt, 2);
 	      args[2] = pos;
@@ -998,8 +1006,10 @@
 	      args[5] = string;
 	      gstring = safe_call (6, args);
 	    }
-	  if (NILP (string))
-	    TEMP_SET_PT_BOTH (pt, pt_byte);
+	  else if (NILP (string))
+	    {
+	      TEMP_SET_PT_BOTH (pt, pt_byte);
+	    }
 	  return unbind_to (count, gstring);
 	}
     }
--- a/src/config.in	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/config.in	Fri Aug 27 23:05:43 2010 +0900
@@ -319,10 +319,10 @@
 /* Define to 1 if you have the <kerberos/krb.h> header file. */
 #undef HAVE_KERBEROS_KRB_H
 
-/* Define to 1 if `e_text' is member of `krb5_error'. */
+/* Define to 1 if `e_text' is a member of `krb5_error'. */
 #undef HAVE_KRB5_ERROR_E_TEXT
 
-/* Define to 1 if `text' is member of `krb5_error'. */
+/* Define to 1 if `text' is a member of `krb5_error'. */
 #undef HAVE_KRB5_ERROR_TEXT
 
 /* Define to 1 if you have the <krb5.h> header file. */
@@ -616,25 +616,25 @@
 /* Define to 1 if you have the `strsignal' function. */
 #undef HAVE_STRSIGNAL
 
-/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_ADDR
 
-/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
 
-/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_FLAGS
 
-/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_HWADDR
 
-/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */
+/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */
 #undef HAVE_STRUCT_IFREQ_IFR_NETMASK
 
-/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
+/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */
 #undef HAVE_STRUCT_NLIST_N_UN_N_NAME
 
-/* Define to 1 if `tm_zone' is member of `struct tm'. */
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
 #undef HAVE_STRUCT_TM_TM_ZONE
 
 /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
@@ -858,6 +858,9 @@
 /* Define to the one symbol short name of this package. */
 #undef PACKAGE_TARNAME
 
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
@@ -917,6 +920,28 @@
 /* Define to 1 if using the Motif X toolkit. */
 #undef USE_MOTIF
 
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
 /* Define to 1 if we should use toolkit scroll bars. */
 #undef USE_TOOLKIT_SCROLL_BARS
 
@@ -952,28 +977,6 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #undef _POSIX_SOURCE
 
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# undef _ALL_SOURCE
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-
-
 /* Define to rpl_ if the getopt replacement functions and variables should be
    used. */
 #undef __GETOPT_PREFIX
--- a/src/dbusbind.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/dbusbind.c	Fri Aug 27 23:05:43 2010 +0900
@@ -405,6 +405,7 @@
     switch (dtype)
       {
       case DBUS_TYPE_BYTE:
+	CHECK_NUMBER (object);
 	{
 	  unsigned char val = XUINT (object) & 0xFF;
 	  XD_DEBUG_MESSAGE ("%c %d", dtype, val);
@@ -423,6 +424,7 @@
 	}
 
       case DBUS_TYPE_INT16:
+	CHECK_NUMBER (object);
 	{
 	  dbus_int16_t val = XINT (object);
 	  XD_DEBUG_MESSAGE ("%c %d", dtype, (int) val);
@@ -432,6 +434,7 @@
 	}
 
       case DBUS_TYPE_UINT16:
+	CHECK_NUMBER (object);
 	{
 	  dbus_uint16_t val = XUINT (object);
 	  XD_DEBUG_MESSAGE ("%c %u", dtype, (unsigned int) val);
@@ -441,6 +444,7 @@
 	}
 
       case DBUS_TYPE_INT32:
+	CHECK_NUMBER (object);
 	{
 	  dbus_int32_t val = XINT (object);
 	  XD_DEBUG_MESSAGE ("%c %d", dtype, val);
@@ -450,6 +454,7 @@
 	}
 
       case DBUS_TYPE_UINT32:
+	CHECK_NUMBER (object);
 	{
 	  dbus_uint32_t val = XUINT (object);
 	  XD_DEBUG_MESSAGE ("%c %u", dtype, val);
@@ -459,6 +464,7 @@
 	}
 
       case DBUS_TYPE_INT64:
+	CHECK_NUMBER (object);
 	{
 	  dbus_int64_t val = XINT (object);
 	  XD_DEBUG_MESSAGE ("%c %d", dtype, (int) val);
@@ -468,6 +474,7 @@
 	}
 
       case DBUS_TYPE_UINT64:
+	CHECK_NUMBER (object);
 	{
 	  dbus_uint64_t val = XUINT (object);
 	  XD_DEBUG_MESSAGE ("%c %u", dtype, (unsigned int) val);
@@ -477,6 +484,7 @@
 	}
 
       case DBUS_TYPE_DOUBLE:
+	CHECK_FLOAT (object);
 	{
 	  double val = XFLOAT_DATA (object);
 	  XD_DEBUG_MESSAGE ("%c %f", dtype, val);
@@ -488,8 +496,13 @@
       case DBUS_TYPE_STRING:
       case DBUS_TYPE_OBJECT_PATH:
       case DBUS_TYPE_SIGNATURE:
+	CHECK_STRING (object);
 	{
-	  char *val = SDATA (Fstring_make_unibyte (object));
+	  /* We need to send a valid UTF-8 string.  We could encode `object'
+	     but by not encoding it, we guarantee it's valid utf-8, even if
+	     it contains eight-bit-bytes.  Of course, you can still send
+	     manually-crafted junk by passing a unibyte string.  */
+	  char *val = SDATA (object);
 	  XD_DEBUG_MESSAGE ("%c %s", dtype, val);
 	  if (!dbus_message_iter_append_basic (iter, dtype, &val))
 	    XD_SIGNAL2 (build_string ("Unable to append argument"), object);
--- a/src/dired.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/dired.c	Fri Aug 27 23:05:43 2010 +0900
@@ -939,9 +939,9 @@
 Value is nil if specified file cannot be opened.
 
 ID-FORMAT specifies the preferred format of attributes uid and gid (see
-below) - valid values are 'string and 'integer. The latter is the default,
-but we plan to change that, so you should specify a non-nil value for
-ID-FORMAT if you use the returned uid or gid.
+below) - valid values are 'string and 'integer.  The latter is the
+default, but we plan to change that, so you should specify a non-nil value
+for ID-FORMAT if you use the returned uid or gid.
 
 Elements of the attribute list are:
  0. t for directory, string (name linked to) for symbolic link, or nil.
--- a/src/dispextern.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/dispextern.h	Fri Aug 27 23:05:43 2010 +0900
@@ -105,6 +105,8 @@
 /* Number of bits allocated to store fringe bitmap numbers.  */
 #define FRINGE_ID_BITS  16
 
+/* Number of bits allocated to store fringe bitmap height.  */
+#define FRINGE_HEIGHT_BITS 8
 
 
 /***********************************************************************
@@ -778,6 +780,12 @@
   /* Face of the right fringe glyph.  */
   unsigned right_fringe_face_id : FACE_ID_BITS;
 
+  /* Vertical offset of the left fringe bitmap.  */
+  signed left_fringe_offset : FRINGE_HEIGHT_BITS;
+
+  /* Vertical offset of the right fringe bitmap.  */
+  signed right_fringe_offset : FRINGE_HEIGHT_BITS;
+
   /* 1 means that we must draw the bitmaps of this row.  */
   unsigned redraw_fringe_bitmaps_p : 1;
 
--- a/src/editfns.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/editfns.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 /* Lisp functions pertaining to editing.
-   Copyright (C) 1985, 1986, 1987, 1989, 1993, 1994, 1995, 1996,
-                 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+Copyright (C) 1985, 1986, 1987, 1989, 1993, 1994, 1995, 1996, 1997,
+  1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+  2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -220,6 +221,17 @@
   return make_string_from_bytes (str, 1, len);
 }
 
+DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0,
+       doc: /* Convert arg BYTE to a string containing that byte.  */)
+     (byte)
+     Lisp_Object byte;
+{
+  unsigned char b;
+  CHECK_NUMBER (byte);
+  b = XINT (byte);
+  return make_string_from_bytes (&b, 1, 1);
+}
+
 DEFUN ("string-to-char", Fstring_to_char, Sstring_to_char, 1, 1, 0,
        doc: /* Convert arg STRING to a character, the first character of that string.
 A multibyte character is handled correctly.  */)
@@ -4686,6 +4698,7 @@
   defsubr (&Sgoto_char);
   defsubr (&Sstring_to_char);
   defsubr (&Schar_to_string);
+  defsubr (&Sbyte_to_string);
   defsubr (&Sbuffer_substring);
   defsubr (&Sbuffer_substring_no_properties);
   defsubr (&Sbuffer_string);
--- a/src/fileio.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/fileio.c	Fri Aug 27 23:05:43 2010 +0900
@@ -302,7 +302,7 @@
 
 /* Restore point, having saved it as a marker.  */
 
-static Lisp_Object
+Lisp_Object
 restore_point_unwind (location)
      Lisp_Object location;
 {
--- a/src/fns.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/fns.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1,7 +1,8 @@
 /* Random utility Lisp functions.
    Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997,
                  1998, 1999, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+                 2005, 2006, 2007, 2008, 2009, 2010
+		 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -522,7 +523,7 @@
      So, we record strings that have text properties to be copied
      here, and copy the text properties after the concatination.  */
   struct textprop_rec  *textprops = NULL;
-  /* Number of elments in textprops.  */
+  /* Number of elements in textprops.  */
   int num_textprops = 0;
   USE_SAFE_ALLOCA;
 
--- a/src/frame.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/frame.c	Fri Aug 27 23:05:43 2010 +0900
@@ -100,6 +100,7 @@
 Lisp_Object Qheight, Qwidth;
 Lisp_Object Qleft, Qright;
 Lisp_Object Qicon_left, Qicon_top, Qicon_type, Qicon_name;
+Lisp_Object Qtooltip;
 Lisp_Object Qinternal_border_width;
 Lisp_Object Qmouse_color;
 Lisp_Object Qminibuffer;
@@ -1329,7 +1330,7 @@
   struct frame *sf = SELECTED_FRAME ();
   struct kboard *kb;
 
-  int minibuffer_selected;
+  int minibuffer_selected, tooltip_frame;
 
   if (EQ (frame, Qnil))
     {
@@ -1381,13 +1382,15 @@
 	}
     }
 
+  tooltip_frame = !NILP (Fframe_parameter (frame, intern ("tooltip")));
+
   /* Run `delete-frame-functions' unless FORCE is `noelisp' or
      frame is a tooltip.  FORCE is set to `noelisp' when handling
      a disconnect from the terminal, so we don't dare call Lisp
      code.  */
-  if (NILP (Vrun_hooks) || !NILP (Fframe_parameter (frame, intern ("tooltip"))))
+  if (NILP (Vrun_hooks) || tooltip_frame)
     ;
-  if (EQ (force, Qnoelisp))
+  else if (EQ (force, Qnoelisp))
     pending_funcalls
       = Fcons (list3 (Qrun_hook_with_args, Qdelete_frame_functions, frame),
 	       pending_funcalls);
@@ -1633,7 +1636,8 @@
     }
 
   /* Cause frame titles to update--necessary if we now have just one frame.  */
-  update_mode_lines = 1;
+  if (!tooltip_frame)
+    update_mode_lines = 1;
 
   return Qnil;
 }
@@ -4451,6 +4455,8 @@
   staticpro (&Qicon_left);
   Qicon_top = intern_c_string ("icon-top");
   staticpro (&Qicon_top);
+  Qtooltip = intern_c_string ("tooltip");
+  staticpro (&Qtooltip);
   Qleft = intern_c_string ("left");
   staticpro (&Qleft);
   Qright = intern_c_string ("right");
--- a/src/frame.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/frame.h	Fri Aug 27 23:05:43 2010 +0900
@@ -980,7 +980,7 @@
    at ROW/COL.  */
 
 #define FRAME_LINE_TO_PIXEL_Y(f, row) \
-  ((row < FRAME_TOP_MARGIN (f) ? 0 : FRAME_INTERNAL_BORDER_WIDTH (f))	\
+  (((row) < FRAME_TOP_MARGIN (f) ? 0 : FRAME_INTERNAL_BORDER_WIDTH (f))	\
    + (row) * FRAME_LINE_HEIGHT (f))
 
 #define FRAME_COL_TO_PIXEL_X(f, col) \
@@ -997,8 +997,8 @@
    + FRAME_INTERNAL_BORDER_WIDTH (f))
 
 #define FRAME_TEXT_LINES_TO_PIXEL_HEIGHT(f, lines) \
-  (FRAME_LINE_TO_PIXEL_Y (f, lines) \
-   + FRAME_INTERNAL_BORDER_WIDTH (f))
+  ((lines) * FRAME_LINE_HEIGHT (f) \
+   + 2 * FRAME_INTERNAL_BORDER_WIDTH (f))
 
 
 /* Return the row/column (zero-based) of the character cell containing
--- a/src/fringe.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/fringe.c	Fri Aug 27 23:05:43 2010 +0900
@@ -561,23 +561,26 @@
   struct fringe_bitmap *fb;
   int period;
   int face_id = DEFAULT_FACE_ID;
+  int offset, header_line_height;
 
-  p.cursor_p = 0;
   p.overlay_p = (overlay & 1) == 1;
   p.cursor_p = (overlay & 2) == 2;
 
   if (which != NO_FRINGE_BITMAP)
     {
+      offset = 0;
     }
   else if (left_p)
     {
       which = row->left_fringe_bitmap;
       face_id = row->left_fringe_face_id;
+      offset = row->left_fringe_offset;
     }
   else
     {
       which = row->right_fringe_bitmap;
       face_id = row->right_fringe_face_id;
+      offset = row->right_fringe_offset;
     }
 
   if (face_id == DEFAULT_FACE_ID)
@@ -598,7 +601,7 @@
   period = fb->period;
 
   /* Convert row to frame coordinates.  */
-  p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
+  p.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y) + offset;
 
   p.which = which;
   p.bits = fb->bits;
@@ -607,9 +610,19 @@
   p.h = fb->height;
   p.dh = (period > 0 ? (p.y % period) : 0);
   p.h -= p.dh;
-  /* Clip bitmap if too high.  */
-  if (p.h > row->height)
-    p.h = row->height;
+
+  /* Adjust y to the offset in the row to start drawing the bitmap.  */
+  switch (fb->align)
+    {
+    case ALIGN_BITMAP_CENTER:
+      p.y += (row->height - p.h) / 2;
+      break;
+    case ALIGN_BITMAP_BOTTOM:
+      p.y += (row->visible_height - p.h);
+      break;
+    case ALIGN_BITMAP_TOP:
+      break;
+    }
 
   p.face = FACE_FROM_ID (f, face_id);
 
@@ -625,6 +638,9 @@
   /* Clear left fringe if no bitmap to draw or if bitmap doesn't fill
      the fringe.  */
   p.bx = -1;
+  header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
+  p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
+  p.ny = row->visible_height;
   if (left_p)
     {
       int wd = WINDOW_LEFT_FRINGE_WIDTH (w);
@@ -635,7 +651,7 @@
 	p.wd = wd;
       p.x = x - p.wd - (wd - p.wd) / 2;
 
-      if (p.wd < wd || row->height > p.h)
+      if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny)
 	{
 	  /* If W has a vertical border to its left, don't draw over it.  */
 	  wd -= ((!WINDOW_LEFTMOST_P (w)
@@ -657,35 +673,13 @@
       p.x = x + (wd - p.wd) / 2;
       /* Clear right fringe if no bitmap to draw of if bitmap doesn't fill
 	 the fringe.  */
-      if (p.wd < wd || row->height > p.h)
+      if (p.wd < wd || p.y > p.by || p.y + p.h < p.by + p.ny)
 	{
 	  p.bx = x;
 	  p.nx = wd;
 	}
     }
 
-  if (p.bx >= 0)
-    {
-      int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
-
-      p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
-      p.ny = row->visible_height;
-    }
-
-  /* Adjust y to the offset in the row to start drawing the bitmap.  */
-  switch (fb->align)
-    {
-    case ALIGN_BITMAP_CENTER:
-      p.y += (row->height - p.h) / 2;
-      break;
-    case ALIGN_BITMAP_BOTTOM:
-      p.h = fb->height;
-      p.y += (row->visible_height - p.h);
-      break;
-    case ALIGN_BITMAP_TOP:
-      break;
-    }
-
   FRAME_RIF (f)->draw_fringe_bitmap (w, row, &p);
 }
 
@@ -730,7 +724,7 @@
      Elements are:
 	BITMAP		-- use for all
 	(L R)		-- use for left right (whether partial or not)
-	(L R PL PR)	-- use for left rigth partial-left partial-right
+	(L R PL PR)	-- use for left right partial-left partial-right
 	If any value in local binding is not present or t, use global value.
 
      If partial, lookup partial bitmap in default value if not found here.
@@ -911,7 +905,7 @@
   struct glyph_row *row;
   int yb = window_text_bottom_y (w);
   int nrows = w->current_matrix->nrows;
-  int y = 0, rn;
+  int y, rn;
   int updated = 0;
 
   if (w->pseudo_window_p)
@@ -923,7 +917,7 @@
 	  || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0))
     updated++;
 
-  for (y = 0, rn = 0, row = w->current_matrix->rows;
+  for (y = w->vscroll, rn = 0, row = w->current_matrix->rows;
        y < yb && rn < nrows;
        y += row->height, ++row, ++rn)
     {
@@ -959,6 +953,9 @@
   Lisp_Object ind = Qnil;
 #define MAX_BITMAP_CACHE (8*4)
   int bitmap_cache[MAX_BITMAP_CACHE];
+  int top_ind_rn, bot_ind_rn;
+  int top_ind_min_y, bot_ind_max_y;
+  int top_row_ends_at_zv_p, bot_row_ends_at_zv_p;
 
   if (w->pseudo_window_p)
     return 0;
@@ -987,11 +984,10 @@
 	boundary_top = boundary_bot = Qleft;
     }
 
+  top_ind_rn = bot_ind_rn = -1;
   if (!NILP (ind))
     {
-      int done_top = 0, done_bot = 0;
-
-      for (y = 0, rn = 0;
+      for (y = w->vscroll, rn = 0;
 	   y < yb && rn < nrows;
 	   y += row->height, ++rn)
 	{
@@ -1012,31 +1008,25 @@
 
 	  if (!row->mode_line_p)
 	    {
-	      if (!done_top)
+	      if (top_ind_rn < 0 && row->visible_height > 0)
 		{
 		  if (MATRIX_ROW_START_CHARPOS (row) <= BUF_BEGV (XBUFFER (w->buffer))
 		      && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P (w, row))
 		    row->indicate_bob_p = !NILP (boundary_top);
 		  else
 		    row->indicate_top_line_p = !NILP (arrow_top);
-		  done_top = 1;
+		  top_ind_rn = rn;
 		}
 
-	      if (!done_bot)
+	      if (bot_ind_rn < 0)
 		{
 		  if (MATRIX_ROW_END_CHARPOS (row) >= BUF_ZV (XBUFFER (w->buffer))
 		      && !MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P (w, row))
-		    row->indicate_eob_p = !NILP (boundary_bot), done_bot = 1;
+		    row->indicate_eob_p = !NILP (boundary_bot), bot_ind_rn = rn;
 		  else if (y + row->height >= yb)
-		    row->indicate_bottom_line_p = !NILP (arrow_bot), done_bot = 1;
+		    row->indicate_bottom_line_p = !NILP (arrow_bot), bot_ind_rn = rn;
 		}
 	    }
-
-	  if (indicate_bob_p != row->indicate_bob_p
-	      || indicate_top_line_p != row->indicate_top_line_p
-	      || indicate_eob_p != row->indicate_eob_p
-	      || indicate_bottom_line_p != row->indicate_bottom_line_p)
-	    row->redraw_fringe_bitmaps_p = 1;
 	}
     }
 
@@ -1060,12 +1050,139 @@
       get_logical_fringe_bitmap (w, which, 1, partial_p)))
 
 
-  for (y = 0, rn = 0;
+  /* Extend top-aligned top indicator (or bottom-aligned bottom
+     indicator) to adjacent rows if it doesn't fit in one row.  */
+  top_ind_min_y = bot_ind_max_y = -1;
+  if (top_ind_rn >= 0)
+    {
+      int bn = NO_FRINGE_BITMAP;
+
+      row = w->desired_matrix->rows + top_ind_rn;
+      if (!row->enabled_p)
+	row = w->current_matrix->rows + top_ind_rn;
+
+      top_row_ends_at_zv_p = row->ends_at_zv_p;
+      if (row->indicate_bob_p)
+	{
+	  if (EQ (boundary_top, Qleft))
+	    bn = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
+		  ? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
+		  : LEFT_FRINGE (2, Qtop, 0));
+	  else
+	    bn = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
+		  ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
+		  : RIGHT_FRINGE (2, Qtop, 0));
+	}
+      else if (row->indicate_top_line_p)
+	{
+	  if (EQ (arrow_top, Qleft))
+	    bn = LEFT_FRINGE (6, Qup, 0);
+	  else
+	    bn = RIGHT_FRINGE (6, Qup, 0);
+	}
+
+      if (bn != NO_FRINGE_BITMAP)
+	{
+	  struct fringe_bitmap *fb;
+
+	  fb = fringe_bitmaps[bn];
+	  if (fb == NULL)
+	    fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS
+				   ? bn : UNDEF_FRINGE_BITMAP];
+	  if (fb->align == ALIGN_BITMAP_TOP && fb->period == 0)
+	    {
+	      struct glyph_row *row1;
+	      int top_ind_max_y;
+
+	      top_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w);
+	      top_ind_max_y = top_ind_min_y + fb->height;
+	      if (top_ind_max_y > yb)
+		top_ind_max_y = yb;
+
+	      for (y = row->y + row->height, rn = top_ind_rn + 1;
+		   y < top_ind_max_y && rn < nrows;
+		   y += row1->height, rn++)
+		{
+		  if (bot_ind_rn >= 0 && rn >= bot_ind_rn)
+		    break;
+
+		  row1 = w->desired_matrix->rows + rn;
+		  if (!row1->enabled_p)
+		    row1 = w->current_matrix->rows + rn;
+
+		  row1->indicate_bob_p = row->indicate_bob_p;
+		  row1->indicate_top_line_p = row->indicate_top_line_p;
+		}
+	    }
+	}
+    }
+  if (bot_ind_rn >= 0)
+    {
+      int bn = NO_FRINGE_BITMAP;
+
+      row = w->desired_matrix->rows + bot_ind_rn;
+      if (!row->enabled_p)
+	row = w->current_matrix->rows + bot_ind_rn;
+
+      bot_row_ends_at_zv_p = row->ends_at_zv_p;
+      if (row->indicate_eob_p)
+	{
+	  if (EQ (boundary_bot, Qleft))
+	    bn = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	  else
+	    bn = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	}
+      else if (row->indicate_bottom_line_p)
+	{
+	  if (EQ (arrow_bot, Qleft))
+	    bn = LEFT_FRINGE (7, Qdown, 0);
+	  else
+	    bn = RIGHT_FRINGE (7, Qdown, 0);
+	}
+
+      if (bn != NO_FRINGE_BITMAP)
+	{
+	  struct fringe_bitmap *fb;
+
+	  fb = fringe_bitmaps[bn];
+	  if (fb == NULL)
+	    fb = &standard_bitmaps[bn < MAX_STANDARD_FRINGE_BITMAPS
+				   ? bn : UNDEF_FRINGE_BITMAP];
+	  if (fb->align == ALIGN_BITMAP_BOTTOM && fb->period == 0)
+	    {
+	      struct glyph_row *row1;
+	      int bot_ind_min_y;
+
+	      bot_ind_max_y = row->y + row->visible_height;
+	      bot_ind_min_y = bot_ind_max_y - fb->height;
+	      if (bot_ind_min_y < WINDOW_HEADER_LINE_HEIGHT (w))
+		bot_ind_min_y = WINDOW_HEADER_LINE_HEIGHT (w);
+
+	      for (y = row->y, rn = bot_ind_rn - 1;
+		   y >= bot_ind_min_y && rn >= 0;
+		   y -= row1->height, rn--)
+		{
+		  if (top_ind_rn >= 0 && rn <= top_ind_rn)
+		    break;
+
+		  row1 = w->desired_matrix->rows + rn;
+		  if (!row1->enabled_p)
+		    row1 = w->current_matrix->rows + rn;
+
+		  row1->indicate_eob_p = row->indicate_eob_p;
+		  row1->indicate_bottom_line_p = row->indicate_bottom_line_p;
+		}
+	    }
+	}
+    }
+
+  for (y = w->vscroll, rn = 0;
        y < yb && rn < nrows;
        y += row->height, rn++)
     {
       int left, right;
       unsigned left_face_id, right_face_id;
+      int left_offset, right_offset;
 
       row = w->desired_matrix->rows + rn;
       cur = w->current_matrix->rows + rn;
@@ -1073,6 +1190,7 @@
 	row = cur;
 
       left_face_id = right_face_id = DEFAULT_FACE_ID;
+      left_offset = right_offset = 0;
 
       /* Decide which bitmap to draw in the left fringe.  */
       if (WINDOW_LEFT_FRINGE_WIDTH (w) == 0)
@@ -1085,19 +1203,35 @@
       else if (row->truncated_on_left_p)
 	left = LEFT_FRINGE(0, Qtruncation, 0);
       else if (row->indicate_bob_p && EQ (boundary_top, Qleft))
-	left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
-		? LEFT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
-		: LEFT_FRINGE (2, Qtop, 0));
+	{
+	  left = ((row->indicate_eob_p && EQ (boundary_bot, Qleft))
+		  ? LEFT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p)
+		  : LEFT_FRINGE (2, Qtop, 0));
+	  if (top_ind_min_y >= 0)
+	    left_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_eob_p && EQ (boundary_bot, Qleft))
-	left = LEFT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	{
+	  left = LEFT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p);
+	  if (bot_ind_max_y >= 0)
+	    left_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else if (MATRIX_ROW_CONTINUATION_LINE_P (row))
 	left = LEFT_FRINGE (4, Qcontinuation, 0);
       else if (row->indicate_empty_line_p && EQ (empty_pos, Qleft))
 	left = LEFT_FRINGE (5, Qempty_line, 0);
       else if (row->indicate_top_line_p && EQ (arrow_top, Qleft))
-	left = LEFT_FRINGE (6, Qup, 0);
+	{
+	  left = LEFT_FRINGE (6, Qup, 0);
+	  if (top_ind_min_y >= 0)
+	    left_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qleft))
-	left = LEFT_FRINGE (7, Qdown, 0);
+	{
+	  left = LEFT_FRINGE (7, Qdown, 0);
+	  if (bot_ind_max_y >= 0)
+	    left_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else
 	left = NO_FRINGE_BITMAP;
 
@@ -1112,17 +1246,33 @@
       else if (row->truncated_on_right_p)
 	right = RIGHT_FRINGE (0, Qtruncation, 0);
       else if (row->indicate_bob_p && EQ (boundary_top, Qright))
-	right = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
-		 ? RIGHT_FRINGE (1, Qtop_bottom, row->ends_at_zv_p)
-		 : RIGHT_FRINGE (2, Qtop, 0));
+	{
+	  right = ((row->indicate_eob_p && EQ (boundary_bot, Qright))
+		   ? RIGHT_FRINGE (1, Qtop_bottom, top_row_ends_at_zv_p)
+		   : RIGHT_FRINGE (2, Qtop, 0));
+	  if (top_ind_min_y >= 0)
+	    right_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_eob_p && EQ (boundary_bot, Qright))
-	right = RIGHT_FRINGE (3, Qbottom, row->ends_at_zv_p);
+	{
+	  right = RIGHT_FRINGE (3, Qbottom, bot_row_ends_at_zv_p);
+	  if (bot_ind_max_y >= 0)
+	    right_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else if (row->continued_p)
 	right = RIGHT_FRINGE (4, Qcontinuation, 0);
       else if (row->indicate_top_line_p && EQ (arrow_top, Qright))
-	right = RIGHT_FRINGE (6, Qup, 0);
+	{
+	  right = RIGHT_FRINGE (6, Qup, 0);
+	  if (top_ind_min_y >= 0)
+	    right_offset = top_ind_min_y - row->y;
+	}
       else if (row->indicate_bottom_line_p && EQ (arrow_bot, Qright))
-	right = RIGHT_FRINGE (7, Qdown, 0);
+	{
+	  right = RIGHT_FRINGE (7, Qdown, 0);
+	  if (bot_ind_max_y >= 0)
+	    right_offset = bot_ind_max_y - (row->y + row->visible_height);
+	}
       else if (row->indicate_empty_line_p && EQ (empty_pos, Qright))
 	right = RIGHT_FRINGE (5, Qempty_line, 0);
       else
@@ -1135,6 +1285,8 @@
 	  || right != cur->right_fringe_bitmap
 	  || left_face_id != cur->left_fringe_face_id
 	  || right_face_id != cur->right_fringe_face_id
+	  || left_offset != cur->left_fringe_offset
+	  || right_offset != cur->right_fringe_offset
 	  || cur->redraw_fringe_bitmaps_p)
 	{
 	  redraw_p = row->redraw_fringe_bitmaps_p = 1;
@@ -1145,6 +1297,8 @@
 	      cur->right_fringe_bitmap = right;
 	      cur->left_fringe_face_id = left_face_id;
 	      cur->right_fringe_face_id = right_face_id;
+	      cur->left_fringe_offset = left_offset;
+	      cur->right_fringe_offset = right_offset;
 	    }
 	}
 
@@ -1161,9 +1315,8 @@
       row->right_fringe_bitmap = right;
       row->left_fringe_face_id = left_face_id;
       row->right_fringe_face_id = right_face_id;
-
-      if (rn > 0 && row->redraw_fringe_bitmaps_p)
-	row[-1].redraw_fringe_bitmaps_p = cur[-1].redraw_fringe_bitmaps_p = 1;
+      row->left_fringe_offset = left_offset;
+      row->right_fringe_offset = right_offset;
     }
 
   return redraw_p && !keep_current_p;
--- a/src/ftfont.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/ftfont.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1262,7 +1262,7 @@
     spacing = XINT (AREF (entity, FONT_SPACING_INDEX));
   else
     spacing = FC_PROPORTIONAL;
-  if (spacing != FC_PROPORTIONAL)
+  if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL)
     font->min_width = font->average_width = font->space_width
       = (scalable ? ft_face->max_advance_width * size / upEM
 	 : ft_face->size->metrics.max_advance >> 6);
@@ -1578,6 +1578,14 @@
 
 #ifdef HAVE_M17N_FLT
 
+#if (((LIBOTF_MAJOR_VERSION > 1) || (LIBOTF_RELEASE_NUMBER >= 10))	\
+     && ((M17NLIB_MAJOR_VERSION > 1) || (M17NLIB_MINOR_VERSION >= 6)))
+/* We can use the new feature of libotf and m17n-flt to handle the
+   character encoding scheme introduced in Unicode 5.1 and 5.2 for
+   some Agian scripts.  */
+#define M17N_FLT_USE_NEW_FEATURE
+#endif
+
 struct MFLTFontFT
 {
   MFLTFont flt_font;
@@ -1696,10 +1704,16 @@
 	  else
 	    tags[n] = spec->features[i][n];
 	}
+#ifdef M17N_FLT_USE_NEW_FEATURE
+      if (OTF_check_features (otf, i == 0, spec->script, spec->langsys,
+			      tags, n - negative) != 1)
+	return 0;
+#else  /* not M17N_FLT_USE_NEW_FEATURE */
       if (n - negative > 0
 	  && OTF_check_features (otf, i == 0, spec->script, spec->langsys,
 				 tags, n - negative) != 1)
 	return 0;
+#endif	/* not M17N_FLT_USE_NEW_FEATURE */
     }
   return 1;
 }
@@ -1757,6 +1771,356 @@
   memset (otf_gstring.glyphs, 0, sizeof (OTF_Glyph) * size);
 }
 
+#ifdef M17N_FLT_USE_NEW_FEATURE
+
+/* Pack 32-bit OTF tag (0x7F7F7F7F) into 28-bit (0x0FFFFFFF).  */
+#define PACK_OTF_TAG(TAG)	\
+  ((((TAG) & 0x7F000000) >> 3)	\
+    | (((TAG) & 0x7F0000) >> 2)	\
+    | (((TAG) & 0x7F00) >> 1)	\
+    | ((TAG) & 0x7F))
+
+/* Assuming that FONT is an OpenType font, apply OpenType features
+   specified in SPEC on glyphs between FROM and TO of IN, and record
+   the lastly applied feature in each glyph of IN.  If OUT is not
+   NULL, append the resulting glyphs to OUT while storing glyph
+   position adjustment information in ADJUSTMENT.  */
+
+static int
+ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
+     MFLTFont *font;
+     MFLTOtfSpec *spec;
+     MFLTGlyphString *in;
+     int from, to;
+     MFLTGlyphString *out;
+     MFLTGlyphAdjustment *adjustment;
+{
+  struct MFLTFontFT *flt_font_ft = (struct MFLTFontFT *) font;
+  FT_Face ft_face = flt_font_ft->ft_face;
+  OTF *otf = flt_font_ft->otf;
+  int len = to - from;
+  int i, j, gidx;
+  OTF_Glyph *otfg;
+  char script[5], *langsys = NULL;
+  char *gsub_features = NULL, *gpos_features = NULL;
+  OTF_Feature *features;
+
+  if (len == 0)
+    return from;
+  OTF_tag_name (spec->script, script);
+  if (spec->langsys)
+    {
+      langsys = alloca (5);
+      OTF_tag_name (spec->langsys, langsys);
+    }
+  for (i = 0; i < 2; i++)
+    {
+      char *p;
+
+      if (spec->features[i] && spec->features[i][1] != 0xFFFFFFFF)
+	{
+	  for (j = 0; spec->features[i][j]; j++);
+	  if (i == 0)
+	    p = gsub_features = alloca (6 * j);
+	  else
+	    p = gpos_features = alloca (6 * j);
+	  for (j = 0; spec->features[i][j]; j++)
+	    {
+	      if (spec->features[i][j] == 0xFFFFFFFF)
+		*p++ = '*', *p++ = ',';
+	      else
+		{
+		  OTF_tag_name (spec->features[i][j], p);
+		  p[4] = ',';
+		  p += 5;
+		}
+	    }
+	  *--p = '\0';
+	}
+    }
+
+  setup_otf_gstring (len);
+  for (i = 0; i < len; i++)
+    {
+      otf_gstring.glyphs[i].c = in->glyphs[from + i].c;
+      otf_gstring.glyphs[i].glyph_id = in->glyphs[from + i].code;
+    }
+
+  OTF_drive_gdef (otf, &otf_gstring);
+  gidx = out ? out->used : from;
+
+  if (gsub_features && out)
+    {
+      if (OTF_drive_gsub_with_log (otf, &otf_gstring, script, langsys,
+				   gsub_features) < 0)
+	goto simple_copy;
+      if (out->allocated < out->used + otf_gstring.used)
+	return -2;
+      features = otf->gsub->FeatureList.Feature;
+      for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used; )
+	{
+	  MFLTGlyph *g;
+	  int min_from, max_to;
+	  int j;
+	  int feature_idx = otfg->positioning_type >> 4;
+
+	  g = out->glyphs + out->used;
+	  *g = in->glyphs[from + otfg->f.index.from];
+	  if (g->code != otfg->glyph_id)
+	    {
+	      g->c = 0;
+	      g->code = otfg->glyph_id;
+	      g->measured = 0;
+	    }
+	  out->used++;
+	  min_from = g->from;
+	  max_to = g->to;
+	  if (otfg->f.index.from < otfg->f.index.to)
+	    {
+	      /* OTFG substitutes multiple glyphs in IN.  */
+	      for (j = from + otfg->f.index.from + 1;
+		   j <= from + otfg->f.index.to; j++)
+		{
+		  if (min_from > in->glyphs[j].from)
+		    min_from = in->glyphs[j].from;
+		  if (max_to < in->glyphs[j].to)
+		    max_to = in->glyphs[j].to;
+		}
+	      g->from = min_from;
+	      g->to = max_to;
+	    }
+	  if (feature_idx)
+	    {
+	      unsigned int tag = features[feature_idx - 1].FeatureTag;
+	      tag = PACK_OTF_TAG (tag);
+	      g->internal = (g->internal & ~0x1FFFFFFF) | tag;
+	    }
+	  for (i++, otfg++; (i < otf_gstring.used
+			     && otfg->f.index.from == otfg[-1].f.index.from);
+	       i++, otfg++)
+	    {
+	      g = out->glyphs + out->used;
+	      *g = in->glyphs[from + otfg->f.index.to];
+	      if (g->code != otfg->glyph_id)
+		{
+		  g->c = 0;
+		  g->code = otfg->glyph_id;
+		  g->measured = 0;
+		}
+	      feature_idx = otfg->positioning_type >> 4;
+	      if (feature_idx)
+		{
+		  unsigned int tag = features[feature_idx - 1].FeatureTag;
+		  tag = PACK_OTF_TAG (tag);
+		  g->internal = (g->internal & ~0x1FFFFFFF) | tag;
+		}
+	      out->used++;
+	    }
+	}
+    }
+  else if (gsub_features)
+    {
+      /* Just for checking which features will be applied.  */
+      if (OTF_drive_gsub_with_log (otf, &otf_gstring, script, langsys,
+				   gsub_features) < 0)
+	goto simple_copy;
+      features = otf->gsub->FeatureList.Feature;
+      for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used; i++,
+	     otfg++)
+	{
+	  int feature_idx = otfg->positioning_type >> 4;
+
+	  if (feature_idx)
+	    {
+	      unsigned int tag = features[feature_idx - 1].FeatureTag;
+	      tag = PACK_OTF_TAG (tag);
+	      for (j = otfg->f.index.from; j <= otfg->f.index.to; j++)
+		{
+		  MFLTGlyph *g = in->glyphs + (from + j);
+		  g->internal = (g->internal & ~0x1FFFFFFF) | tag;
+		}
+	    }
+	}
+    }
+  else if (out)
+    {
+      if (out->allocated < out->used + len)
+	return -2;
+      for (i = 0; i < len; i++)
+	out->glyphs[out->used++] = in->glyphs[from + i];
+    }
+
+  if (gpos_features && out)
+    {
+      MFLTGlyph *base = NULL, *mark = NULL, *g;
+      int x_ppem, y_ppem, x_scale, y_scale;
+
+      if (OTF_drive_gpos_with_log (otf, &otf_gstring, script, langsys,
+				   gpos_features) < 0)
+	return to;
+      features = otf->gpos->FeatureList.Feature;
+      x_ppem = ft_face->size->metrics.x_ppem;
+      y_ppem = ft_face->size->metrics.y_ppem;
+      x_scale = ft_face->size->metrics.x_scale;
+      y_scale = ft_face->size->metrics.y_scale;
+
+      for (i = 0, otfg = otf_gstring.glyphs, g = out->glyphs + gidx;
+	   i < otf_gstring.used; i++, otfg++, g++)
+	{
+	  MFLTGlyph *prev;
+	  int feature_idx = otfg->positioning_type >> 4;
+
+	  if (feature_idx)
+	    {
+	      unsigned int tag = features[feature_idx - 1].FeatureTag;
+	      tag = PACK_OTF_TAG (tag);
+	      g->internal = (g->internal & ~0x1FFFFFFF) | tag;
+	    }
+
+	  if (! otfg->glyph_id)
+	    continue;
+	  switch (otfg->positioning_type & 0xF)
+	    {
+	    case 0:
+	      break;
+	    case 1: 		/* Single */
+	    case 2: 		/* Pair */
+	      {
+		int format = otfg->f.f1.format;
+
+		if (format & OTF_XPlacement)
+		  adjustment[i].xoff
+		    = otfg->f.f1.value->XPlacement * x_scale / 0x10000;
+		if (format & OTF_XPlaDevice)
+		  adjustment[i].xoff
+		    += DEVICE_DELTA (otfg->f.f1.value->XPlaDevice, x_ppem);
+		if (format & OTF_YPlacement)
+		  adjustment[i].yoff
+		    = - (otfg->f.f1.value->YPlacement * y_scale / 0x10000);
+		if (format & OTF_YPlaDevice)
+		  adjustment[i].yoff
+		    -= DEVICE_DELTA (otfg->f.f1.value->YPlaDevice, y_ppem);
+		if (format & OTF_XAdvance)
+		  adjustment[i].xadv
+		    += otfg->f.f1.value->XAdvance * x_scale / 0x10000;
+		if (format & OTF_XAdvDevice)
+		  adjustment[i].xadv
+		    += DEVICE_DELTA (otfg->f.f1.value->XAdvDevice, x_ppem);
+		if (format & OTF_YAdvance)
+		  adjustment[i].yadv
+		    += otfg->f.f1.value->YAdvance * y_scale / 0x10000;
+		if (format & OTF_YAdvDevice)
+		  adjustment[i].yadv
+		    += DEVICE_DELTA (otfg->f.f1.value->YAdvDevice, y_ppem);
+		adjustment[i].set = 1;
+	      }
+	      break;
+	    case 3:		/* Cursive */
+	      /* Not yet supported.  */
+	      break;
+	    case 4:		/* Mark-to-Base */
+	    case 5:		/* Mark-to-Ligature */
+	      if (! base)
+		break;
+	      prev = base;
+	      goto label_adjust_anchor;
+	    default:		/* i.e. case 6 Mark-to-Mark */
+	      if (! mark)
+		break;
+	      prev = mark;
+
+	    label_adjust_anchor:
+	      {
+		int base_x, base_y, mark_x, mark_y;
+		int this_from, this_to;
+
+		base_x = otfg->f.f4.base_anchor->XCoordinate * x_scale / 0x10000;
+		base_y = otfg->f.f4.base_anchor->YCoordinate * y_scale / 0x10000;
+		mark_x = otfg->f.f4.mark_anchor->XCoordinate * x_scale / 0x10000;
+		mark_y = otfg->f.f4.mark_anchor->YCoordinate * y_scale / 0x10000;
+
+		if (otfg->f.f4.base_anchor->AnchorFormat != 1)
+		  adjust_anchor (ft_face, otfg->f.f4.base_anchor,
+				 prev->code, x_ppem, y_ppem, &base_x, &base_y);
+		if (otfg->f.f4.mark_anchor->AnchorFormat != 1)
+		  adjust_anchor (ft_face, otfg->f.f4.mark_anchor, g->code,
+				 x_ppem, y_ppem, &mark_x, &mark_y);
+		adjustment[i].xoff = (base_x - mark_x);
+		adjustment[i].yoff = - (base_y - mark_y);
+		adjustment[i].back = (g - prev);
+		adjustment[i].xadv = 0;
+		adjustment[i].advance_is_absolute = 1;
+		adjustment[i].set = 1;
+		this_from = g->from;
+		this_to = g->to;
+		for (j = 0; prev + j < g; j++)
+		  {
+		    if (this_from > prev[j].from)
+		      this_from = prev[j].from;
+		    if (this_to < prev[j].to)
+		      this_to = prev[j].to;
+		  }
+		for (; prev <= g; prev++)
+		  {
+		    prev->from = this_from;
+		    prev->to = this_to;
+		  }
+	      }
+	    }
+	  if (otfg->GlyphClass == OTF_GlyphClass0)
+	    base = mark = g;
+	  else if (otfg->GlyphClass == OTF_GlyphClassMark)
+	    mark = g;
+	  else
+	    base = g;
+	}
+    }
+  else if (gpos_features)
+    {
+      if (OTF_drive_gpos_with_log (otf, &otf_gstring, script, langsys,
+				   gpos_features) < 0)
+	return to;
+      features = otf->gpos->FeatureList.Feature;
+      for (i = 0, otfg = otf_gstring.glyphs; i < otf_gstring.used;
+	   i++, otfg++)
+	if (otfg->positioning_type & 0xF)
+	  {
+	    int feature_idx = otfg->positioning_type >> 4;
+
+	    if (feature_idx)
+	      {
+		unsigned int tag = features[feature_idx - 1].FeatureTag;
+		tag = PACK_OTF_TAG (tag);
+		for (j = otfg->f.index.from; j <= otfg->f.index.to; j++)
+		  {
+		    MFLTGlyph *g = in->glyphs + (from + j);
+		    g->internal = (g->internal & ~0x1FFFFFFF) | tag;
+		  }
+	      }
+	  }
+    }
+  return to;
+
+ simple_copy:
+  if (! out)
+    return to;
+  if (out->allocated < out->used + len)
+    return -2;
+  font->get_metrics (font, in, from, to);
+  memcpy (out->glyphs + out->used, in->glyphs + from,
+	  sizeof (MFLTGlyph) * len);
+  out->used += len;
+  return to;
+}
+
+static int 
+ftfont_try_otf (MFLTFont *font, MFLTOtfSpec *spec,
+		MFLTGlyphString *in, int from, int to)
+{
+  return ftfont_drive_otf (font, spec, in, from, to, NULL, NULL);
+}
+
+#else  /* not M17N_FLT_USE_NEW_FEATURE */
 
 static int
 ftfont_drive_otf (font, spec, in, from, to, out, adjustment)
@@ -2011,6 +2375,8 @@
   return to;
 }
 
+#endif	/* not M17N_FLT_USE_NEW_FEATURE */
+
 static MFLTGlyphString gstring;
 
 static int m17n_flt_initialized;
@@ -2034,6 +2400,10 @@
   if (! m17n_flt_initialized)
     {
       M17N_INIT ();
+#ifdef M17N_FLT_USE_NEW_FEATURE
+      mflt_enable_new_feature = 1;
+      mflt_try_otf = ftfont_try_otf;
+#endif	/* M17N_FLT_USE_NEW_FEATURE */
       m17n_flt_initialized = 1;
     }
 
--- a/src/gtkutil.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/gtkutil.c	Fri Aug 27 23:05:43 2010 +0900
@@ -2990,6 +2990,55 @@
     }
 }
 
+int
+xg_event_is_for_menubar (FRAME_PTR f, XEvent *event)
+{
+  struct x_output *x = f->output_data.x;
+  GList *iter;
+  GdkRectangle rec;
+  GList *list;
+  GdkDisplay *gdpy;
+  GdkWindow *gw;
+  GdkEvent gevent;
+  GtkWidget *gwdesc;
+
+  if (! x->menubar_widget) return 0;
+
+  if (! (event->xbutton.x >= 0
+         && event->xbutton.x < FRAME_PIXEL_WIDTH (f)
+         && event->xbutton.y >= 0
+         && event->xbutton.y < f->output_data.x->menubar_height
+         && event->xbutton.same_screen))
+    return 0;
+
+  gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f));
+  gw = gdk_xid_table_lookup_for_display (gdpy, event->xbutton.window);
+  if (! gw) return 0;
+  gevent.any.window = gw;
+  gwdesc = gtk_get_event_widget (&gevent);
+  if (! gwdesc) return 0;
+  if (! GTK_IS_MENU_BAR (gwdesc)
+      && ! GTK_IS_MENU_ITEM (gwdesc)
+      && ! gtk_widget_is_ancestor (x->menubar_widget, gwdesc))
+    return 0;
+
+  list = gtk_container_get_children (GTK_CONTAINER (x->menubar_widget));
+  if (! list) return 0;
+  rec.x = event->xbutton.x;
+  rec.y = event->xbutton.y;
+  rec.width = 1;
+  rec.height = 1;
+
+  for (iter = list ; iter; iter = g_list_next (iter))
+    {
+      GtkWidget *w = GTK_WIDGET (iter->data);
+      if (GTK_WIDGET_MAPPED (w) && gtk_widget_intersect (w, &rec, NULL))
+        break;
+    }
+  g_list_free (list);
+  return iter == 0 ? 0 : 1;
+}
+
 
 
 /***********************************************************************
--- a/src/gtkutil.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/gtkutil.h	Fri Aug 27 23:05:43 2010 +0900
@@ -154,6 +154,8 @@
 
 extern int xg_update_frame_menubar P_ ((FRAME_PTR f));
 
+extern int xg_event_is_for_menubar P_ ((FRAME_PTR f, XEvent *event));
+
 extern int xg_have_tear_offs P_ ((void));
 
 extern int xg_get_scroll_id_for_window P_ ((Display *dpy, Window wid));
--- a/src/image.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/image.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1094,6 +1094,10 @@
       /* Free resources, then free IMG.  */
       img->type->free (f, img);
       xfree (img);
+
+      /* As display glyphs may still be referring to the image ID, we
+	 must garbage the frame (Bug#6426).  */
+      SET_FRAME_GARBAGED (f);
     }
 }
 
--- a/src/keyboard.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/keyboard.c	Fri Aug 27 23:05:43 2010 +0900
@@ -42,7 +42,6 @@
 #include "puresize.h"
 #include "systime.h"
 #include "atimer.h"
-#include <setjmp.h>
 #include <errno.h>
 
 #ifdef HAVE_GTK_AND_PTHREAD
@@ -9182,48 +9181,48 @@
      int can_return_switch_frame;
      int fix_current_buffer;
 {
-  volatile Lisp_Object from_string;
-  volatile int count = SPECPDL_INDEX ();
+  Lisp_Object from_string;
+  int count = SPECPDL_INDEX ();
 
   /* How many keys there are in the current key sequence.  */
-  volatile int t;
+  int t;
 
   /* The length of the echo buffer when we started reading, and
      the length of this_command_keys when we started reading.  */
-  volatile int echo_start;
-  volatile int keys_start;
+  int echo_start;
+  int keys_start;
 
   /* The number of keymaps we're scanning right now, and the number of
      keymaps we have allocated space for.  */
-  volatile int nmaps;
-  volatile int nmaps_allocated = 0;
+  int nmaps;
+  int nmaps_allocated = 0;
 
   /* defs[0..nmaps-1] are the definitions of KEYBUF[0..t-1] in
      the current keymaps.  */
-  Lisp_Object *volatile defs = NULL;
+  Lisp_Object *defs = NULL;
 
   /* submaps[0..nmaps-1] are the prefix definitions of KEYBUF[0..t-1]
      in the current keymaps, or nil where it is not a prefix.  */
-  Lisp_Object *volatile submaps = NULL;
+  Lisp_Object *submaps = NULL;
 
   /* The local map to start out with at start of key sequence.  */
-  volatile Lisp_Object orig_local_map;
+  Lisp_Object orig_local_map;
 
   /* The map from the `keymap' property to start out with at start of
      key sequence.  */
-  volatile Lisp_Object orig_keymap;
+  Lisp_Object orig_keymap;
 
   /* 1 if we have already considered switching to the local-map property
      of the place where a mouse click occurred.  */
-  volatile int localized_local_map = 0;
+  int localized_local_map = 0;
 
   /* The index in submaps[] of the first keymap that has a binding for
      this key sequence.  In other words, the lowest i such that
      submaps[i] is non-nil.  */
-  volatile int first_binding;
+  int first_binding;
   /* Index of the first key that has no binding.
      It is useless to try fkey.start larger than that.  */
-  volatile int first_unbound;
+  int first_unbound;
 
   /* If t < mock_input, then KEYBUF[t] should be read as the next
      input key.
@@ -9238,7 +9237,7 @@
      restart_sequence; the loop will read keys from keybuf up until
      mock_input, thus rebuilding the state; and then it will resume
      reading characters from the keyboard.  */
-  volatile int mock_input = 0;
+  int mock_input = 0;
 
   /* If the sequence is unbound in submaps[], then
      keybuf[fkey.start..fkey.end-1] is a prefix in Vfunction_key_map,
@@ -9248,28 +9247,28 @@
      should hold off until t reaches them.  We do this when we've just
      recognized a function key, to avoid searching for the function
      key's again in Vfunction_key_map.  */
-  volatile keyremap fkey;
+  keyremap fkey;
 
   /* Likewise, for key_translation_map and input-decode-map.  */
-  volatile keyremap keytran, indec;
+  keyremap keytran, indec;
 
   /* Non-zero if we are trying to map a key by changing an upper-case
      letter to lower case, or a shifted function key to an unshifted
      one. */
-  volatile int shift_translated = 0;
+  int shift_translated = 0;
 
   /* If we receive a `switch-frame' or `select-window' event in the middle of
      a key sequence, we put it off for later.
      While we're reading, we keep the event here.  */
-  volatile Lisp_Object delayed_switch_frame;
+  Lisp_Object delayed_switch_frame;
 
   /* See the comment below... */
 #if defined (GOBBLE_FIRST_EVENT)
   Lisp_Object first_event;
 #endif
 
-  volatile Lisp_Object original_uppercase;
-  volatile int original_uppercase_position = -1;
+  Lisp_Object original_uppercase;
+  int original_uppercase_position = -1;
 
   /* Gets around Microsoft compiler limitations.  */
   int dummyflag = 0;
@@ -9277,7 +9276,7 @@
   struct buffer *starting_buffer;
 
   /* List of events for which a fake prefix key has been generated.  */
-  volatile Lisp_Object fake_prefixed_keys = Qnil;
+  Lisp_Object fake_prefixed_keys = Qnil;
 
 #if defined (GOBBLE_FIRST_EVENT)
   int junk;
@@ -9435,13 +9434,13 @@
          (say, a mouse click on the mode line which is being treated
          as [mode-line (mouse-...)], then we backtrack to this point
          of keybuf.  */
-      volatile int last_real_key_start;
+      int last_real_key_start;
 
       /* These variables are analogous to echo_start and keys_start;
 	 while those allow us to restart the entire key sequence,
 	 echo_local_start and keys_local_start allow us to throw away
 	 just one key.  */
-      volatile int echo_local_start, keys_local_start, local_first_binding;
+      int echo_local_start, keys_local_start, local_first_binding;
 
       eassert (indec.end == t || (indec.end > t && indec.end <= mock_input));
       eassert (indec.start <= indec.end);
@@ -12103,7 +12102,7 @@
 was a kill command.
 
 `last-command' has a separate binding for each terminal device.
-See Info node `(elisp)Multiple displays'.  */);
+See Info node `(elisp)Multiple Terminals'.  */);
 
   DEFVAR_KBOARD ("real-last-command", Vreal_last_command,
 		 doc: /* Same as `last-command', but never altered by Lisp code.  */);
@@ -12241,8 +12240,8 @@
 This is applied to the characters supplied to input methods, not their
 output.  See also `translation-table-for-input'.
 
-This variable has a separate binding for each terminal.  See Info node
-`(elisp)Multiple displays'.  */);
+This variable has a separate binding for each terminal.
+See Info node `(elisp)Multiple Terminals'.  */);
 
   DEFVAR_BOOL ("cannot-suspend", &cannot_suspend,
 	       doc: /* Non-nil means to always spawn a subshell instead of suspending.
@@ -12333,7 +12332,7 @@
 
 `overriding-terminal-local-map' has a separate binding for each
 terminal device.
-See Info node `(elisp)Multiple displays'.  */);
+See Info node `(elisp)Multiple Terminals'.  */);
 
   DEFVAR_LISP ("overriding-local-map", &Voverriding_local_map,
 	       doc: /* Keymap that overrides all other local keymaps.
@@ -12361,7 +12360,7 @@
 and SYMBOL is its name.
 
 `system-key-alist' has a separate binding for each terminal device.
-See Info node `(elisp)Multiple displays'.  */);
+See Info node `(elisp)Multiple Terminals'.  */);
 
   DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map,
                  doc: /* Keymap that translates key sequences to key sequences during input.
@@ -12387,7 +12386,7 @@
 typing `ESC O P x' would return [f1 x].
 
 `local-function-key-map' has a separate binding for each terminal
-device.  See Info node `(elisp)Multiple displays'.  If you need to
+device.  See Info node `(elisp)Multiple Terminals'.  If you need to
 define a binding on all terminals, change `function-key-map'
 instead.  Initially, `local-function-key-map' is an empty keymap that
 has `function-key-map' as its parent on all terminal devices.  */);
--- a/src/keymap.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/keymap.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1175,11 +1175,13 @@
        doc: /* In KEYMAP, define key sequence KEY as DEF.
 KEYMAP is a keymap.
 
-KEY is a string or a vector of symbols and characters meaning a
+KEY is a string or a vector of symbols and characters, representing a
 sequence of keystrokes and events.  Non-ASCII characters with codes
-above 127 (such as ISO Latin-1) can be included if you use a vector.
-Using [t] for KEY creates a default definition, which applies to any
-event type that has no other definition in this keymap.
+above 127 (such as ISO Latin-1) can be represented by vectors.
+Two types of vector have special meanings:
+ [remap COMMAND] remaps any key binding for COMMAND in KEYMAP.
+ [t] creates a default definition, which applies to any event with no
+    other definition in KEYMAP.
 
 DEF is anything that can be a key's definition:
  nil (means key is undefined in this keymap),
@@ -2829,16 +2831,16 @@
   Lisp_Object found = Qnil;
   /* 1 means ignore all menu bindings entirely.  */
   int nomenus = !NILP (firstonly) && !EQ (firstonly, Qnon_ascii);
-  struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
+  struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6;
   /* List of sequences found via remapping.  Keep them in a separate
      variable, so as to push them later, since we prefer
      non-remapped binding.  */
   Lisp_Object remapped_sequences = Qnil;
   /* Whether or not we're handling remapped sequences.  This is needed
      because remapping is not done recursively by Fcommand_remapping: you
-     can't remap and remapped command.  */
+     can't remap a remapped command.  */
   int remapped = 0;
-  Lisp_Object tem;
+  Lisp_Object tem = Qnil;
 
   /* Refresh the C version of the modifier preference.  */
   where_is_preferred_modifier
@@ -2852,17 +2854,25 @@
   else
     keymaps = Fcurrent_active_maps (Qnil, Qnil);
 
-  GCPRO5 (definition, keymaps, found, sequences, remapped_sequences);
-
-  /* If this command is remapped, then it has no key bindings of its own.
-     FIXME: Actually, this is not quite right: if A is remapped to
-     `definition', then bindings to A will actually bind the key to
-     `definition' despite the remapping from `definition' to something else.
-     Another corner case is if `definition' is remapped to itself.  */
-  if (NILP (no_remap)
-      && SYMBOLP (definition)
-      && !NILP (Fcommand_remapping (definition, Qnil, keymaps)))
-    RETURN_UNGCPRO (Qnil);
+  GCPRO6 (definition, keymaps, found, sequences, remapped_sequences, tem);
+
+  tem = Fcommand_remapping (definition, Qnil, keymaps);
+  /* If `definition' is remapped to tem', then OT1H no key will run
+     that command (since they will run `tem' instead), so we should
+     return nil; but OTOH all keys bound to `definition' (or to `tem')
+     will run the same command.
+     So for menu-shortcut purposes, we want to find all the keys bound (maybe
+     via remapping) to `tem'.  But for the purpose of finding the keys that
+     run `definition', then we'd want to just return nil.
+     We choose to make it work right for menu-shortcuts, since it's the most
+     common use.
+     Known bugs: if you remap switch-to-buffer to toto, C-h f switch-to-buffer
+     will tell you that switch-to-buffer is bound to C-x b even though C-x b
+     will run toto instead.  And if `toto' is itself remapped to forward-char,
+     then C-h f toto will tell you that it's bound to C-f even though C-f does
+     not run toto and it won't tell you that C-x b does run toto.  */
+  if (NILP (no_remap) && !NILP (tem))
+    definition = tem;
 
   if (SYMBOLP (definition)
       && !NILP (firstonly)
--- a/src/lisp.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/lisp.h	Fri Aug 27 23:05:43 2010 +0900
@@ -930,7 +930,7 @@
     struct Lisp_Vector *next;
 
     /* Depth of this sub char-table.  It should be 1, 2, or 3.  A sub
-       char-table of depth 1 contains 16 elments, and each element
+       char-table of depth 1 contains 16 elements, and each element
        covers 4096 (128*32) characters.  A sub char-table of depth 2
        contains 32 elements, and each element covers 128 characters.  A
        sub char-table of depth 3 contains 128 elements, and each element
@@ -1120,7 +1120,7 @@
   Lisp_Object user_cmp_function;
 
   /* Only the fields above are traced normally by the GC.  The ones below
-     `count'.  are special and are either ignored by the GC or traced in
+     `count' are special and are either ignored by the GC or traced in
      a special way (e.g. because of weakness).  */
 
   /* Number of key/value entries in the table.  */
@@ -1310,9 +1310,9 @@
    binding into `realvalue' (or through it).  Also update
    LOADED-BINDING to point to the newly loaded binding.
 
-   `local_if_set' indicates that merely setting the variable creates a local
-   binding for the current buffer.  Otherwise the latter, setting the
-   variable does not do that; only make-local-variable does that.  */
+   `local_if_set' indicates that merely setting the variable creates a
+   local binding for the current buffer.  Otherwise the latter, setting
+   the variable does not do that; only make-local-variable does that.  */
 
 struct Lisp_Buffer_Local_Value
   {
@@ -1631,7 +1631,7 @@
 #define CHECK_VECTOR_OR_STRING(x) \
   CHECK_TYPE (VECTORP (x) || STRINGP (x), Qarrayp, x)
 
-#define CHECK_ARRAY(x, Qxxxp)							\
+#define CHECK_ARRAY(x, Qxxxp) \
   CHECK_TYPE (ARRAYP (x), Qxxxp, x)
 
 #define CHECK_VECTOR_OR_CHAR_TABLE(x) \
@@ -1677,14 +1677,14 @@
 
 #define XFLOATINT(n) extract_float((n))
 
-#define CHECK_FLOAT(x)		\
+#define CHECK_FLOAT(x) \
   CHECK_TYPE (FLOATP (x), Qfloatp, x)
 
-#define CHECK_NUMBER_OR_FLOAT(x)	\
+#define CHECK_NUMBER_OR_FLOAT(x) \
   CHECK_TYPE (FLOATP (x) || INTEGERP (x), Qnumberp, x)
 
 #define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER(x) \
-  do { if (MARKERP (x)) XSETFASTINT (x, marker_position (x));	\
+  do { if (MARKERP (x)) XSETFASTINT (x, marker_position (x)); \
     else CHECK_TYPE (INTEGERP (x) || FLOATP (x), Qnumber_or_marker_p, x); } while (0)
 
 #define CHECK_OVERLAY(x) \
@@ -1774,8 +1774,8 @@
 			 Lisp_Object, Lisp_Object, Lisp_Object)
 #define DEFUN_ARGS_8	(Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, \
 			 Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object)
+
 /* Non-zero if OBJ is a Lisp function.  */
-
 #define FUNCTIONP(OBJ)					\
      ((CONSP (OBJ) && EQ (XCAR (OBJ), Qlambda))		\
       || (SYMBOLP (OBJ) && !NILP (Ffboundp (OBJ)))	\
@@ -1824,12 +1824,11 @@
 
    If the symbol field is a symbol, it is an ordinary variable binding.
 
-   Otherwise, it should be a structure (SYMBOL WHERE
-   . CURRENT-BUFFER), which means having bound a local value while
-   CURRENT-BUFFER was active.  If WHERE is nil this means we saw the
-   default value when binding SYMBOL.  WHERE being a buffer or frame
-   means we saw a buffer-local or frame-local value.  Other values of
-   WHERE mean an internal error.  */
+   Otherwise, it should be a structure (SYMBOL WHERE . CURRENT-BUFFER),
+   which means having bound a local value while CURRENT-BUFFER was active.
+   If WHERE is nil this means we saw the default value when binding SYMBOL.
+   WHERE being a buffer or frame means we saw a buffer-local or frame-local
+   value.  Other values of WHERE mean an internal error.  */
 
 typedef Lisp_Object (*specbinding_func) P_ ((Lisp_Object));
 
@@ -2019,16 +2018,16 @@
 
 /* Structure for recording stack slots that need marking.  */
 
-/* This is a chain of structures, each of which points at a Lisp_Object variable
- whose value should be marked in garbage collection.
- Normally every link of the chain is an automatic variable of a function,
- and its `val' points to some argument or local variable of the function.
- On exit to the function, the chain is set back to the value it had on entry.
- This way, no link remains in the chain when the stack frame containing the
- link disappears.
-
- Every function that can call Feval must protect in this fashion all
- Lisp_Object variables whose contents will be used again.  */
+/* This is a chain of structures, each of which points at a Lisp_Object
+   variable whose value should be marked in garbage collection.
+   Normally every link of the chain is an automatic variable of a function,
+   and its `val' points to some argument or local variable of the function.
+   On exit to the function, the chain is set back to the value it had on entry.
+   This way, no link remains in the chain when the stack frame containing the
+   link disappears.
+
+   Every function that can call Feval must protect in this fashion all
+   Lisp_Object variables whose contents will be used again.  */
 
 extern struct gcpro *gcprolist;
 
@@ -2932,7 +2931,7 @@
 EXFUN (Ffield_string_no_properties, 1);
 extern void set_time_zone_rule P_ ((char *));
 
-/* defined in buffer.c */
+/* Defined in buffer.c */
 extern int mouse_face_overlay_overlaps P_ ((Lisp_Object));
 extern void nsberror P_ ((Lisp_Object)) NO_RETURN;
 EXFUN (Fset_buffer_multibyte, 1);
@@ -2975,7 +2974,7 @@
 extern void syms_of_buffer P_ ((void));
 extern void keys_of_buffer P_ ((void));
 
-/* defined in marker.c */
+/* Defined in marker.c */
 
 EXFUN (Fmarker_position, 1);
 EXFUN (Fmarker_buffer, 1);
@@ -3018,6 +3017,7 @@
 EXFUN (Ffile_executable_p, 1);
 EXFUN (Fread_file_name, 6);
 extern Lisp_Object close_file_unwind P_ ((Lisp_Object));
+extern Lisp_Object restore_point_unwind P_ ((Lisp_Object));
 extern void report_file_error P_ ((const char *, Lisp_Object)) NO_RETURN;
 extern int internal_delete_file P_ ((Lisp_Object));
 extern void syms_of_fileio P_ ((void));
@@ -3029,7 +3029,7 @@
 
 extern void syms_of_abbrev P_ ((void));
 
-/* defined in search.c */
+/* Defined in search.c */
 extern void shrink_regexp_cache P_ ((void));
 EXFUN (Fstring_match, 3);
 extern void restore_search_regs P_ ((void));
@@ -3053,7 +3053,7 @@
 extern void syms_of_search P_ ((void));
 extern void clear_regexp_cache P_ ((void));
 
-/* defined in minibuf.c */
+/* Defined in minibuf.c */
 
 extern Lisp_Object last_minibuf_string;
 extern void choose_minibuf_frame P_ ((void));
@@ -3080,7 +3080,7 @@
 EXFUN (Fprefix_numeric_value, 1);
 extern void syms_of_callint P_ ((void));
 
-/* defined in casefiddle.c */
+/* Defined in casefiddle.c */
 
 EXFUN (Fdowncase, 1);
 EXFUN (Fupcase, 1);
@@ -3091,14 +3091,14 @@
 extern void syms_of_casefiddle P_ ((void));
 extern void keys_of_casefiddle P_ ((void));
 
-/* defined in casetab.c */
+/* Defined in casetab.c */
 
 EXFUN (Fset_case_table, 1);
 EXFUN (Fset_standard_case_table, 1);
 extern void init_casetab_once P_ ((void));
 extern void syms_of_casetab P_ ((void));
 
-/* defined in keyboard.c */
+/* Defined in keyboard.c */
 
 extern int echoing;
 extern Lisp_Object echo_message_buffer;
@@ -3139,7 +3139,7 @@
 extern char *push_key_description P_ ((unsigned int, char *, int));
 
 
-/* defined in indent.c */
+/* Defined in indent.c */
 EXFUN (Fvertical_motion, 2);
 EXFUN (Findent_to, 2);
 EXFUN (Fcurrent_column, 0);
@@ -3149,7 +3149,7 @@
 extern int indented_beyond_p P_ ((int, int, double));
 extern void syms_of_indent P_ ((void));
 
-/* defined in frame.c */
+/* Defined in frame.c */
 #ifdef HAVE_WINDOW_SYSTEM
 extern Lisp_Object Vx_resource_name;
 extern Lisp_Object Vx_resource_class;
@@ -3192,7 +3192,7 @@
 extern void frames_bury_buffer P_ ((Lisp_Object));
 extern void syms_of_frame P_ ((void));
 
-/* defined in emacs.c */
+/* Defined in emacs.c */
 extern Lisp_Object decode_env_path P_ ((char *, char *));
 extern Lisp_Object Vinvocation_name, Vinvocation_directory;
 extern Lisp_Object Vbefore_init_time, Vafter_init_time;
@@ -3210,7 +3210,7 @@
 #define synchronize_system_time_locale()
 #endif
 void shut_down_emacs P_ ((int, int, Lisp_Object));
-/* Nonzero means don't do interactive redisplay and don't change tty modes */
+/* Nonzero means don't do interactive redisplay and don't change tty modes.  */
 extern int noninteractive;
 
 /* Nonzero means don't load X resources or Windows Registry settings.  */
@@ -3221,12 +3221,12 @@
 extern int daemon_pipe[2];
 #define IS_DAEMON (daemon_pipe[1] != 0)
 
-/* Nonzero means don't do use window-system-specific display code */
+/* Nonzero means don't do use window-system-specific display code.  */
 extern int inhibit_window_system;
 /* Nonzero means that a filter or a sentinel is running.  */
 extern int running_asynch_code;
 
-/* defined in process.c */
+/* Defined in process.c */
 EXFUN (Fget_process, 1);
 EXFUN (Fget_buffer_process, 1);
 EXFUN (Fprocessp, 1);
@@ -3249,7 +3249,7 @@
 extern void syms_of_process P_ ((void));
 extern void setup_process_coding_systems P_ ((Lisp_Object));
 
-/* defined in callproc.c */
+/* Defined in callproc.c */
 extern Lisp_Object Vexec_path, Vexec_suffixes,
                    Vexec_directory, Vdata_directory;
 extern Lisp_Object Vdoc_directory;
@@ -3260,7 +3260,7 @@
 extern void set_initial_environment P_ ((void));
 extern void syms_of_callproc P_ ((void));
 
-/* defined in doc.c */
+/* Defined in doc.c */
 extern Lisp_Object Vdoc_file_name;
 EXFUN (Fsubstitute_command_keys, 1);
 EXFUN (Fdocumentation, 2);
@@ -3270,7 +3270,7 @@
 extern void syms_of_doc P_ ((void));
 extern int read_bytecode_char P_ ((int));
 
-/* defined in bytecode.c */
+/* Defined in bytecode.c */
 extern Lisp_Object Qbytecode;
 EXFUN (Fbyte_code, 3);
 extern void syms_of_bytecode P_ ((void));
@@ -3278,14 +3278,14 @@
 extern void mark_byte_stack P_ ((void));
 extern void unmark_byte_stack P_ ((void));
 
-/* defined in macros.c */
+/* Defined in macros.c */
 extern Lisp_Object Qexecute_kbd_macro;
 EXFUN (Fexecute_kbd_macro, 3);
 EXFUN (Fcancel_kbd_macro_events, 0);
 extern void init_macros P_ ((void));
 extern void syms_of_macros P_ ((void));
 
-/* defined in undo.c */
+/* Defined in undo.c */
 extern Lisp_Object Qinhibit_read_only;
 EXFUN (Fundo_boundary, 0);
 extern void truncate_undo_list P_ ((struct buffer *));
@@ -3299,7 +3299,7 @@
 extern void syms_of_undo P_ ((void));
 extern Lisp_Object Vundo_outer_limit;
 
-/* defined in textprop.c */
+/* Defined in textprop.c */
 extern Lisp_Object Qfont, Qmouse_face;
 extern Lisp_Object Qinsert_in_front_hooks, Qinsert_behind_hooks;
 EXFUN (Fnext_single_property_change, 4);
@@ -3316,21 +3316,21 @@
 							 Lisp_Object,
 							 Lisp_Object));
 
-/* defined in menu.c */
+/* Defined in menu.c */
 extern void syms_of_menu P_ ((void));
 
-/* defined in xmenu.c */
+/* Defined in xmenu.c */
 EXFUN (Fx_popup_menu, 2);
 EXFUN (Fx_popup_dialog, 3);
 extern void syms_of_xmenu P_ ((void));
 
-/* defined in termchar.h */
+/* Defined in termchar.h */
 struct tty_display_info;
 
-/* defined in termhooks.h */
+/* Defined in termhooks.h */
 struct terminal;
 
-/* defined in sysdep.c */
+/* Defined in sysdep.c */
 #ifndef HAVE_GET_CURRENT_DIR_NAME
 extern char *get_current_dir_name P_ ((void));
 #endif
@@ -3354,7 +3354,7 @@
 extern int emacs_read P_ ((int, char *, unsigned int));
 extern int emacs_write P_ ((int, const char *, unsigned int));
 
-/* defined in filelock.c */
+/* Defined in filelock.c */
 EXFUN (Funlock_buffer, 0);
 EXFUN (Ffile_locked_p, 1);
 extern void unlock_all_files P_ ((void));
--- a/src/lread.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/lread.c	Fri Aug 27 23:05:43 2010 +0900
@@ -2377,28 +2377,28 @@
 	      /* This is repetitive but fast and simple. */
 	      params[param_count] = QCsize;
 	      params[param_count+1] = Fplist_get (tmp, Qsize);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCtest;
 	      params[param_count+1] = Fplist_get (tmp, Qtest);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCweakness;
 	      params[param_count+1] = Fplist_get (tmp, Qweakness);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCrehash_size;
 	      params[param_count+1] = Fplist_get (tmp, Qrehash_size);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      params[param_count] = QCrehash_threshold;
 	      params[param_count+1] = Fplist_get (tmp, Qrehash_threshold);
-	      if (!NILP (params[param_count+1]))
-		param_count+=2;
+	      if (!NILP (params[param_count + 1]))
+		param_count += 2;
 
 	      /* This is the hashtable data. */
 	      data = Fplist_get (tmp, Qdata);
@@ -2419,6 +2419,8 @@
 
 	      return ht;
 	    }
+	  UNREAD (c);
+	  invalid_syntax ("#", 1);
 	}
       if (c == '^')
 	{
--- a/src/makefile.w32-in	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/makefile.w32-in	Fri Aug 27 23:05:43 2010 +0900
@@ -1564,6 +1564,7 @@
 	$(SRC)/keyboard.h \
 	$(SRC)/systime.h \
 	$(SRC)/termhooks.h \
+	$(SRC)/w32.h \
 	$(SRC)/w32font.h \
 	$(SRC)/w32gui.h \
 	$(SRC)/w32heap.h \
--- a/src/minibuf.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/minibuf.c	Fri Aug 27 23:05:43 2010 +0900
@@ -1184,7 +1184,7 @@
  If DEF is a list of default values, return its first element.
 Optional third arg REQUIRE-MATCH determines whether non-existing
  buffer names are allowed.  It has the same meaning as the
- REQUIRE-MATCH argument of `confirm-after-completion'.
+ REQUIRE-MATCH argument of `completing-read'.
 The argument PROMPT should be a string ending with a colon and a space.
 If `read-buffer-completion-ignore-case' is non-nil, completion ignores
 case while reading the buffer name.
@@ -1589,6 +1589,7 @@
   tail = collection;
   if (type == 2)
     {
+      collection = check_obarray (collection);
       obsize = XVECTOR (collection)->size;
       bucket = XVECTOR (collection)->contents[index];
     }
@@ -1612,6 +1613,8 @@
 	{
 	  if (!EQ (bucket, zero))
 	    {
+	      if (!SYMBOLP (bucket))
+		error ("Bad data in guts of obarray");
 	      elt = bucket;
 	      eltstring = elt;
 	      if (XSYMBOL (bucket)->next)
--- a/src/nsmenu.m	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/nsmenu.m	Fri Aug 27 23:05:43 2010 +0900
@@ -1709,7 +1709,7 @@
 
 - (Lisp_Object)runDialogAt: (NSPoint)p
 {
-  int ret;
+  NSInteger ret;
   extern EMACS_TIME timer_check (int do_it_now); /* TODO: add to a header */
 
   /* initiate a session that will be ended by pop_down_menu */
--- a/src/nsterm.m	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/nsterm.m	Fri Aug 27 23:05:43 2010 +0900
@@ -2177,20 +2177,7 @@
 
   /* Must clip because of partially visible lines.  */
   rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      ns_clip_to_row (w, row, -1, NO);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    ns_clip_to_row (w, row, -1, YES);
+  ns_clip_to_row (w, row, -1, YES);
 
   if (p->bx >= 0 && !p->overlay_p)
     {
--- a/src/process.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/process.c	Fri Aug 27 23:05:43 2010 +0900
@@ -2540,9 +2540,11 @@
 		ip6[i] = ntohs (j);
 	      }
 	  sa->sa_family = family;
+	  return;
 	}
 #endif
-      return;
+      else
+	return;
     }
   else if (STRINGP (address))
     {
--- a/src/regex.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/regex.c	Fri Aug 27 23:05:43 2010 +0900
@@ -2086,7 +2086,7 @@
   } while (0)
 
 
-/* Both FROM and TO are mulitbyte characters.  */
+/* Both FROM and TO are multibyte characters.  */
 
 #define SETUP_MULTIBYTE_RANGE(work_area, FROM, TO)			   \
   do {									   \
@@ -3805,7 +3805,7 @@
 
 		    if (c1 != c2 && (c1 = RE_CHAR_TO_UNIBYTE (c2)) >= 0)
 		      c = c1;
-		  }		      
+		  }
 		*b++ = c;
 		len = 1;
 	      }
@@ -4125,7 +4125,7 @@
 	  if (/* Any leading code can possibly start a character
 		 which doesn't match the specified set of characters.  */
 	      not
-	      || 
+	      ||
 	      /* If we can match a character class, we can match any
 		 multibyte characters.  */
 	      (CHARSET_RANGE_TABLE_EXISTS_P (&p[-2])
--- a/src/s/darwin.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/s/darwin.h	Fri Aug 27 23:05:43 2010 +0900
@@ -90,6 +90,24 @@
  */
 
 #define HAVE_PTYS
+/* Run only once.  We need a `for'-loop because the code uses
+   `continue'.  */
+#define PTY_ITERATION	for (i = 0; i < 1; i++)
+#define PTY_NAME_SPRINTF	/* none */
+#define PTY_TTY_NAME_SPRINTF	/* none */
+/* Note that openpty may fork via grantpt on Mac OS X 10.4/Darwin 8.
+   But we don't have to block SIGCHLD because it is blocked in the
+   implementation of grantpt.  */
+#define PTY_OPEN						\
+  do								\
+    {								\
+      int slave;						\
+      if (openpty (&fd, &slave, pty_name, NULL, NULL) == -1)	\
+	fd = -1;						\
+      else							\
+	emacs_close (slave);					\
+    }								\
+  while (0)
 
 /**
  * PTYs only work correctly on Darwin 7 or higher.  So make the
--- a/src/s/netbsd.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/s/netbsd.h	Fri Aug 27 23:05:43 2010 +0900
@@ -45,7 +45,12 @@
 #define LIBS_DEBUG
 /* -lutil is not needed for NetBSD >0.9.  */
 /* #define LIBS_SYSTEM -lutil */
+#ifdef HAVE_TERM_H
+#define TERMINFO
+#define LIBS_TERMCAP -lterminfo
+#else
 #define LIBS_TERMCAP -ltermcap
+#endif
 
 #define NEED_ERRNO
 #define SYSV_SYSTEM_DIR
--- a/src/search.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/search.c	Fri Aug 27 23:05:43 2010 +0900
@@ -100,10 +100,10 @@
 
 static void set_search_regs P_ ((EMACS_INT, EMACS_INT));
 static void save_search_regs P_ ((void));
-static EMACS_INT simple_search P_ ((int, unsigned char *, int, int, 
+static EMACS_INT simple_search P_ ((int, unsigned char *, int, int,
 				    Lisp_Object, EMACS_INT, EMACS_INT,
 				    EMACS_INT, EMACS_INT));
-static EMACS_INT boyer_moore P_ ((int, unsigned char *, int, int, 
+static EMACS_INT boyer_moore P_ ((int, unsigned char *, int, int,
 				  Lisp_Object, Lisp_Object,
 				  EMACS_INT, EMACS_INT,
 				  EMACS_INT, EMACS_INT, int));
@@ -281,7 +281,7 @@
   if (regp)
     re_set_registers (&cp->buf, regp, regp->num_regs, regp->start, regp->end);
 
-  /* The compiled pattern can be used both for mulitbyte and unibyte
+  /* The compiled pattern can be used both for multibyte and unibyte
      target.  But, we have to tell which the pattern is used for. */
   cp->buf.target_multibyte = multibyte;
 
@@ -582,7 +582,7 @@
   unsigned char *p1, *p2;
   EMACS_INT s1, s2;
   EMACS_INT len;
-  
+
   if (STRINGP (string))
     {
       if (pos_byte < 0)
--- a/src/w32fns.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/w32fns.c	Fri Aug 27 23:05:43 2010 +0900
@@ -47,6 +47,7 @@
 #include "systime.h"
 #include "termhooks.h"
 #include "w32heap.h"
+#include "w32.h"
 
 #include "bitmaps/gray.xbm"
 
@@ -287,10 +288,14 @@
 #define MENU_FREE_DELAY 1000
 static unsigned menu_free_timer = 0;
 
-/* The below are defined in frame.c.  */
+/* In dispnew.c */
 
 extern Lisp_Object Vwindow_system_version;
 
+/* The below are defined in frame.c.  */
+
+extern Lisp_Object Qtooltip;
+
 #ifdef GLYPH_DEBUG
 int image_cache_refcount, dpyinfo_refcount;
 #endif
@@ -1348,7 +1353,10 @@
   if (FRAME_W32_WINDOW (f) != 0)
     {
       if (x->cursor_pixel == old_fg)
-	x->cursor_pixel = fg;
+	{
+	  x->cursor_pixel = fg;
+	  x->cursor_gc->background = fg;
+	}
 
       update_face_from_frame_parameter (f, Qforeground_color, arg);
       if (FRAME_VISIBLE_P (f))
@@ -5583,9 +5591,8 @@
   change_frame_size (f, height, width, 1, 0, 0);
 
   /* Add `tooltip' frame parameter's default value. */
-  if (NILP (Fframe_parameter (frame, intern ("tooltip"))))
-    Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt),
-					    Qnil));
+  if (NILP (Fframe_parameter (frame, Qtooltip)))
+    Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil));
 
   /* Set up faces after all frame parameters are known.  This call
      also merges in face attributes specified for new frames.
@@ -6333,6 +6340,7 @@
      Lisp_Object operation, document, parameters, show_flag;
 {
   Lisp_Object current_dir;
+  char *errstr;
 
   CHECK_STRING (document);
 
@@ -6353,7 +6361,17 @@
 			   XINT (show_flag) : SW_SHOWDEFAULT))
       > 32)
     return Qt;
-  error ("ShellExecute failed: %s", w32_strerror (0));
+  errstr = w32_strerror (0);
+  /* The error string might be encoded in the locale's encoding.  */
+  if (!NILP (Vlocale_coding_system))
+    {
+      Lisp_Object decoded =
+	code_convert_string_norecord (make_unibyte_string (errstr,
+							   strlen (errstr)),
+				      Vlocale_coding_system, 0);
+      errstr = (char *)SDATA (decoded);
+    }
+  error ("ShellExecute failed: %s", errstr);
 }
 
 /* Lookup virtual keycode from string representing the name of a
--- a/src/w32term.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/w32term.c	Fri Aug 27 23:05:43 2010 +0900
@@ -761,7 +761,6 @@
   struct frame *f = XFRAME (WINDOW_FRAME (w));
   HDC hdc;
   struct face *face = p->face;
-  int rowY;
 
   hdc = get_frame_dc (f);
 
@@ -820,21 +819,7 @@
     }
 
   /* Must clip because of partially visible lines.  */
-  rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      w32_clip_to_row (w, row, -1, hdc);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    w32_clip_to_row (w, row, -1, hdc);
+  w32_clip_to_row (w, row, -1, hdc);
 
   if (p->which && p->which < max_fringe_bmp)
     {
--- a/src/window.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/window.c	Fri Aug 27 23:05:43 2010 +0900
@@ -517,7 +517,10 @@
        doc: /* Return the number of lines in WINDOW.
 WINDOW defaults to the selected window.
 
-The return value includes WINDOW's mode line and header line, if any.  */)
+The return value includes WINDOW's mode line and header line, if any.
+
+Note: The function does not take into account the value of `line-spacing'
+when calculating the number of lines in WINDOW.  */)
      (window)
      Lisp_Object window;
 {
--- a/src/xdisp.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xdisp.c	Fri Aug 27 23:05:43 2010 +0900
@@ -6429,6 +6429,7 @@
      struct it *it;
 {
   it->what = IT_IMAGE;
+  it->ignore_overlay_strings_at_pos_p = 0;
   return 1;
 }
 
@@ -9570,7 +9571,8 @@
 	  update_tool_bar (f, 0);
 #endif
 #ifdef HAVE_NS
-          if (windows_or_buffers_changed)
+          if (windows_or_buffers_changed
+	      && FRAME_NS_P (f))
             ns_set_doc_edited (f, Fbuffer_modified_p
 			       (XWINDOW (f->selected_window)->buffer));
 #endif
@@ -13935,8 +13937,16 @@
         (*FRAME_TERMINAL (f)->redeem_scroll_bar_hook) (w);
     }
 
-  /* Restore current_buffer and value of point in it.  */
-  TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
+  /* Restore current_buffer and value of point in it.  The window
+     update may have changed the buffer, so first make sure `opoint'
+     is still valid (Bug#6177).  */
+  if (CHARPOS (opoint) < BEGV)
+    TEMP_SET_PT_BOTH (BEGV, BEGV_BYTE);
+  else if (CHARPOS (opoint) > ZV)
+    TEMP_SET_PT_BOTH (Z, Z_BYTE);
+  else
+    TEMP_SET_PT_BOTH (CHARPOS (opoint), BYTEPOS (opoint));
+
   set_buffer_internal_1 (old);
   /* Avoid an abort in TEMP_SET_PT_BOTH if the buffer has become
      shorter.  This can be caused by log truncation in *Messages*. */
--- a/src/xfaces.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xfaces.c	Fri Aug 27 23:05:43 2010 +0900
@@ -5783,6 +5783,7 @@
       struct face *former_face = cache->faces_by_id[former_face_id];
       uncache_face (cache, former_face);
       free_realized_face (cache->f, former_face);
+      SET_FRAME_GARBAGED (cache->f);
     }
 
   if (FRAME_WINDOW_P (cache->f))
--- a/src/xfns.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xfns.c	Fri Aug 27 23:05:43 2010 +0900
@@ -205,6 +205,8 @@
 
 /* The below are defined in frame.c.  */
 
+extern Lisp_Object Qtooltip;
+
 #if GLYPH_DEBUG
 int image_cache_refcount, dpyinfo_refcount;
 #endif
@@ -402,10 +404,11 @@
 /* Likewise, but consider only the menu bar widget.  */
 
 struct frame *
-x_menubar_window_to_frame (dpyinfo, wdesc)
+x_menubar_window_to_frame (dpyinfo, event)
      struct x_display_info *dpyinfo;
-     int wdesc;
+     XEvent *event;
 {
+  Window wdesc = event->xany.window;
   Lisp_Object tail, frame;
   struct frame *f;
   struct x_output *x;
@@ -421,21 +424,11 @@
       if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo)
 	continue;
       x = f->output_data.x;
+#ifdef USE_GTK
+      if (x->menubar_widget && xg_event_is_for_menubar (f, event))
+        return f;
+#else
       /* Match if the window is this frame's menubar.  */
-#ifdef USE_GTK
-      if (x->menubar_widget)
-        {
-          GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc);
-
-	  /* This gives false positives, but the rectangle check in xterm.c
-	     where this is called takes care of that.  */
-          if (gwdesc != 0
-              && (gwdesc == x->menubar_widget
-                  || gtk_widget_is_ancestor (x->menubar_widget, gwdesc)
-		  || gtk_widget_is_ancestor (gwdesc, x->menubar_widget)))
-            return f;
-        }
-#else
       if (x->menubar_widget
 	  && lw_window_is_in_menubar (wdesc, x->menubar_widget))
 	return f;
@@ -4914,9 +4907,8 @@
   change_frame_size (f, height, width, 1, 0, 0);
 
   /* Add `tooltip' frame parameter's default value. */
-  if (NILP (Fframe_parameter (frame, intern ("tooltip"))))
-    Fmodify_frame_parameters (frame, Fcons (Fcons (intern ("tooltip"), Qt),
-					    Qnil));
+  if (NILP (Fframe_parameter (frame, Qtooltip)))
+    Fmodify_frame_parameters (frame, Fcons (Fcons (Qtooltip, Qt), Qnil));
 
   /* FIXME - can this be done in a similar way to normal frames?
      http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00641.html */
--- a/src/xftfont.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xftfont.c	Fri Aug 27 23:05:43 2010 +0900
@@ -429,7 +429,7 @@
 	ascii_printable[i] = ' ' + i;
     }
   BLOCK_INPUT;
-  if (spacing != FC_PROPORTIONAL)
+  if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL)
     {
       font->min_width = font->average_width = font->space_width
 	= xftfont->max_advance_width;
--- a/src/xterm.c	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xterm.c	Fri Aug 27 23:05:43 2010 +0900
@@ -774,24 +774,9 @@
   Window window = FRAME_X_WINDOW (f);
   GC gc = f->output_data.x->normal_gc;
   struct face *face = p->face;
-  int rowY;
 
   /* Must clip because of partially visible lines.  */
-  rowY = WINDOW_TO_FRAME_PIXEL_Y (w, row->y);
-  if (p->y < rowY)
-    {
-      /* Adjust position of "bottom aligned" bitmap on partially
-	 visible last row.  */
-      int oldY = row->y;
-      int oldVH = row->visible_height;
-      row->visible_height = p->h;
-      row->y -= rowY - p->y;
-      x_clip_to_row (w, row, -1, gc);
-      row->y = oldY;
-      row->visible_height = oldVH;
-    }
-  else
-    x_clip_to_row (w, row, -1, gc);
+  x_clip_to_row (w, row, -1, gc);
 
   if (!p->overlay_p)
     {
@@ -6966,7 +6951,7 @@
 	  f->mouse_moved = 0;
 
 #if defined (USE_X_TOOLKIT) || defined (USE_GTK)
-        f = x_menubar_window_to_frame (dpyinfo, event.xbutton.window);
+        f = x_menubar_window_to_frame (dpyinfo, &event);
         /* For a down-event in the menu bar,
            don't pass it to Xt right now.
            Instead, save it away
@@ -8933,11 +8918,9 @@
 
   compute_fringe_widths (f, 0);
 
-  pixelwidth = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, cols)
-    + 2*f->border_width;
+  pixelwidth = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, cols);
   pixelheight = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, rows)
-    + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f)
-    + 2*f->border_width;
+    + FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
 
   if (change_gravity) f->win_gravity = NorthWestGravity;
   x_wm_set_size_hint (f, (long) 0, 0);
--- a/src/xterm.h	Sat Apr 03 19:40:20 2010 -0400
+++ b/src/xterm.h	Fri Aug 27 23:05:43 2010 +0900
@@ -383,7 +383,8 @@
 extern struct frame *x_window_to_frame P_ ((struct x_display_info *, int));
 
 extern struct frame *x_any_window_to_frame P_ ((struct x_display_info *, int));
-extern struct frame *x_menubar_window_to_frame P_ ((struct x_display_info *, int));
+extern struct frame *x_menubar_window_to_frame P_ ((struct x_display_info *,
+                                                    XEvent *));
 extern struct frame *x_top_window_to_frame P_ ((struct x_display_info *, int));
 
 #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
--- a/test/ChangeLog	Sat Apr 03 19:40:20 2010 -0400
+++ b/test/ChangeLog	Fri Aug 27 23:05:43 2010 +0900
@@ -1,3 +1,7 @@
+2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* Version 23.2 released.
+
 2010-03-29  Chong Yidong  <cyd@stupidchicken.com>
 
 	* cedet/semantic-ia-utest.el