]> code.delx.au - gnu-emacs/commitdiff
merge trunk
authorKenichi Handa <handa@m17n.org>
Mon, 5 Dec 2011 07:03:31 +0000 (16:03 +0900)
committerKenichi Handa <handa@m17n.org>
Mon, 5 Dec 2011 07:03:31 +0000 (16:03 +0900)
191 files changed:
ChangeLog
INSTALL.BZR
Makefile.in
README
admin/MAINTAINERS
autogen.sh
autogen/Makefile.in
autogen/configure
configure.in
doc/emacs/ChangeLog
doc/emacs/ack.texi
doc/emacs/cmdargs.texi
doc/emacs/custom.texi
doc/emacs/display.texi
doc/emacs/emacs.texi
doc/emacs/emacsver.texi
doc/emacs/files.texi
doc/emacs/frames.texi
doc/emacs/glossary.texi
doc/emacs/modes.texi
doc/emacs/programs.texi
doc/emacs/rmail.texi
doc/emacs/text.texi
doc/emacs/xresources.texi
doc/man/emacs.1
doc/misc/calc.texi
doc/misc/idlwave.texi
doc/misc/message.texi
doc/misc/org.texi
doc/misc/tramp.texi
etc/AUTHORS
etc/NEWS.19
etc/TODO
etc/srecode/template.srt
leim/ChangeLog
leim/quail/cyrillic.el
leim/quail/greek.el
lib-src/ChangeLog
lib-src/emacsclient.c
lisp/ChangeLog
lisp/ChangeLog.12
lisp/ChangeLog.13
lisp/ChangeLog.14
lisp/ChangeLog.15
lisp/ChangeLog.3
lisp/ChangeLog.7
lisp/align.el
lisp/calc/calc-menu.el
lisp/calc/calc-yank.el
lisp/calculator.el
lisp/calendar/appt.el
lisp/cedet/inversion.el
lisp/cedet/semantic.el
lisp/cedet/semantic/edit.el
lisp/cedet/semantic/idle.el
lisp/cedet/semantic/lex.el
lisp/cedet/semantic/tag-ls.el
lisp/cedet/srecode/fields.el
lisp/delim-col.el
lisp/delsel.el
lisp/descr-text.el
lisp/dired-aux.el
lisp/dired-x.el
lisp/dired.el
lisp/electric.el
lisp/emacs-lisp/edebug.el
lisp/emacs-lisp/eieio.el
lisp/emulation/cua-base.el
lisp/emulation/cua-gmrk.el
lisp/emulation/vip.el
lisp/emulation/viper-cmd.el
lisp/emulation/viper-init.el
lisp/emulation/viper-macs.el
lisp/emulation/viper.el
lisp/eshell/em-hist.el
lisp/files.el
lisp/follow.el
lisp/gnus/ChangeLog
lisp/gnus/compface.el
lisp/gnus/gnus-art.el
lisp/gnus/gnus-fun.el
lisp/gnus/gnus-msg.el
lisp/gnus/gnus-sum.el
lisp/gnus/gnus.el
lisp/gnus/message.el
lisp/gnus/mml.el
lisp/gnus/nndiary.el
lisp/gnus/nnir.el
lisp/gnus/nntp.el
lisp/htmlfontify.el
lisp/ibuffer.el
lisp/info.el
lisp/international/fontset.el
lisp/international/mule.el
lisp/international/quail.el
lisp/international/titdic-cnv.el
lisp/international/ucs-normalize.el
lisp/isearch.el
lisp/kmacro.el
lisp/language/chinese.el
lisp/language/viet-util.el
lisp/ldefs-boot.el
lisp/man.el
lisp/net/ange-ftp.el
lisp/net/tramp-sh.el
lisp/net/zeroconf.el
lisp/nxml/rng-valid.el
lisp/obsolete/pgg.el
lisp/org/ChangeLog
lisp/org/org-agenda.el
lisp/org/org-clock.el
lisp/org/org-list.el
lisp/org/org-protocol.el
lisp/org/org-publish.el
lisp/org/org-taskjuggler.el
lisp/pcmpl-gnu.el
lisp/play/gametree.el
lisp/progmodes/cc-cmds.el
lisp/progmodes/dcl-mode.el
lisp/progmodes/idlwave.el
lisp/progmodes/js.el
lisp/progmodes/prolog.el
lisp/progmodes/verilog-mode.el
lisp/progmodes/vhdl-mode.el
lisp/server.el
lisp/ses.el
lisp/simple.el
lisp/speedbar.el
lisp/term/x-win.el
lisp/textmodes/artist.el
lisp/textmodes/ispell.el
lisp/textmodes/reftex-dcr.el
lisp/textmodes/table.el
lisp/textmodes/texinfmt.el
lisp/time.el
lisp/url/ChangeLog
lisp/url/url-gw.el
lisp/vc/ediff-init.el
lisp/vc/pcvs.el
lisp/vcursor.el
lisp/view.el
lisp/wid-edit.el
lisp/window.el
msdos/sed2v2.inp
nextstep/Cocoa/Emacs.base/Contents/Info.plist
nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
nt/addpm.c
nt/config.nt
nt/emacs.rc
nt/emacsclient.rc
nt/makefile.w32-in
src/ChangeLog
src/ChangeLog.10
src/ChangeLog.11
src/ChangeLog.2
src/ChangeLog.8
src/ccl.c
src/cm.h
src/coding.c
src/coding.h
src/dispnew.c
src/emacs.c
src/emacsgtkfixed.c
src/emacsgtkfixed.h
src/eval.c
src/fileio.c
src/font.c
src/fontset.c
src/frame.c
src/ftfont.c
src/keyboard.c
src/lisp.h
src/nsfns.m
src/search.c
src/sysdep.c
src/term.c
src/w32fns.c
src/w32term.h
src/widget.c
src/widget.h
src/window.c
src/window.h
src/xdisp.c
src/xfns.c
src/xterm.c
src/xterm.h
test/ChangeLog
test/automated/compile-tests.el
test/cedet/tests/test.el

index 63826ab942ec332c95f21a32883936aff8c6bb26..7ab026afb5031da38c749122954410346aacc357 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2011-12-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * INSTALL.BZR: Mention configure -C, --disable-maintainer-mode.
+
+       Propagate configure flags to sub-configures.
+       * Makefile.in (cache_file, MAINTAINER_MODE_FLAG, CONFIGUREFLAGS):
+       New macros.
+       (config.status, bootstrap): Use them to propagate configure flags
+       to sub-configures.
+       * configure.in (cache_file): AC_SUBST this, for Makefile.in.
+
+2011-12-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * .bzrignore: Add config.cache.
+
 2011-11-27  Jan Djärv  <jan.h.d@swipnet.se>
 
        * configure.in: Check for gtk_window_set_has_resize_grip.
 1994-01-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
 
        * configure.in (creating src/Makefile): Put code inside 2nd arg to
-       AC_OUTPUT as it should be; hopefully noone will again see fit to
+       AC_OUTPUT as it should be; hopefully no one will again see fit to
        gratuitously break this and not make a change log entry.
        Optimized sed processing of Makefile.in and cpp output; now
        preserves comments previously removed from the cpp input.
index 664aab1c7652c3de2f7b8e7639bcf7d54dd79de9..69babac7a8b573dda97bc2384a36622dde4a0b4f 100644 (file)
@@ -28,6 +28,10 @@ options you can set):
 
   $ ./configure
 
+If you want later builds to go faster, at the expense of sometimes
+doing the wrong thing if you update the build procedure, you can
+invoke "./configure -C --disable-maintainer-mode" instead.
+
 Some of the files that are included in the Emacs tarball, such as
 byte-compiled Lisp files, are not stored in Bazaar.  Therefore, to
 build from Bazaar you must run "make bootstrap" instead of just "make":
index c0d108877c11ba7d85e6cafc61ebca91069f27be..3ba7c9baae7aabb30c5bc8feb022048fe3fd09be 100644 (file)
@@ -66,6 +66,11 @@ CDPATH=
 
 # ==================== Things `configure' Might Edit ====================
 
+MAINTAINER_MODE_FLAG = --disable-maintainer-mode
+@MAINT@MAINTAINER_MODE_FLAG = --enable-maintainer-mode
+cache_file = @cache_file@
+CONFIGURE_FLAGS = --cache-file=$(cache_file) $(MAINTAINER_MODE_FLAG)
+
 CC=@CC@
 CFLAGS=@CFLAGS@
 LDFLAGS=@LDFLAGS@
@@ -404,7 +409,7 @@ config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
        if [ -x ./config.status ]; then \
            ./config.status --recheck;  \
        else                            \
-           ./configure;                \
+           ./configure $(CONFIGURE_FLAGS); \
        fi
 
 AUTOCONF_INPUTS = @MAINT@ $(srcdir)/configure.in $(srcdir)/aclocal.m4
@@ -936,7 +941,7 @@ bootstrap: bootstrap-clean FRC
        if [ -x ./config.status ]; then           \
            ./config.status;                      \
        else                                      \
-           ./configure --enable-maintainer-mode; \
+           ./configure $(CONFIGURE_FLAGS);       \
        fi
        $(MAKE) $(MFLAGS) info all
 
diff --git a/README b/README
index 5ec5fa295709c9bad30e3ddf70617d869e7ff5b9..eda81de1bbe176f228de66c1299ebc8efa982867 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ Copyright (C) 2001-2011  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
-This directory tree holds version 24.0.91 of GNU Emacs, the extensible,
+This directory tree holds version 24.0.92 of GNU Emacs, the extensible,
 customizable, self-documenting real-time display editor.
 
 The file INSTALL in this directory says how to build and install GNU
index e4a04763061fd0696795eef4a604b39f47649ed8..bfac347eb151c77b20c4ffbc8482160717bc0f61 100644 (file)
@@ -99,6 +99,7 @@ Eli Zaretskii
        src/xfaces.c
        src/xdisp.c
        src/term.c
+       src/dispnew.c
        src/frame.c
        src/dired.c
 
@@ -108,6 +109,7 @@ Eli Zaretskii
        lisp/info.el
        lisp/ls-lisp.el
        lisp/startup.el
+       lisp/w32*.el
 
 Stefan Monnier
        src/intervals.c
@@ -148,7 +150,6 @@ src/coding.c
 src/composite.c
 src/config.in
 src/data.c
-src/dispnew.c
 src/doc.c
 src/doprnt.c
 src/ecrt0.c
@@ -214,7 +215,6 @@ src/w32term.c
 src/w32xfns.c
 src/widget.c
 src/window.c
-src/xdisp.c
 src/xfns.c
 src/xmenu.c
 src/xrdb.c
index d15817d05964ecac7d3dda164db7cc1328d8a98e..4778d6ca2ad285b6e488eaa62facbdf9ab84e0ca 100755 (executable)
@@ -67,7 +67,7 @@ minor_version ()
 
 ## $1 = program
 ## $2 = minimum version.
-## Return 0 if program is present with version >= minumum version.
+## Return 0 if program is present with version >= minimum version.
 ## Return 1 if program is missing.
 ## Return 2 if program is present but too old.
 ## Return 3 for unexpected error (eg failed to parse version).
index 743dd02917d7804e6644eb92b88b9fcb554f4f40..c3cca3f9f1bacb7baf4cc8a4ae2416e3a4845965 100644 (file)
@@ -723,6 +723,7 @@ build_cpu = @build_cpu@
 build_os = @build_os@
 build_vendor = @build_vendor@
 builddir = @builddir@
+cache_file = @cache_file@
 canonical = @canonical@
 configuration = @configuration@
 datadir = @datadir@
index 507ade74f013c036b8bd468bea593677724909c4..9dc6dd9ad347d728640f6770b4631bffa16caaf2 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for emacs 24.0.91.
+# Generated by GNU Autoconf 2.65 for emacs 24.0.92.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -549,8 +549,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='emacs'
 PACKAGE_TARNAME='emacs'
-PACKAGE_VERSION='24.0.91'
-PACKAGE_STRING='emacs 24.0.91'
+PACKAGE_VERSION='24.0.92'
+PACKAGE_STRING='emacs 24.0.92'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1217,6 +1217,7 @@ build
 PROFILING_CFLAGS
 MAINT
 GZIP_INFO
+cache_file
 am__untar
 am__tar
 AMTAR
@@ -1884,7 +1885,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures emacs 24.0.91 to adapt to many kinds of systems.
+\`configure' configures emacs 24.0.92 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1958,7 +1959,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of emacs 24.0.91:";;
+     short | recursive ) echo "Configuration of emacs 24.0.92:";;
    esac
   cat <<\_ACEOF
 
@@ -2121,7 +2122,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-emacs configure 24.0.91
+emacs configure 24.0.92
 generated by GNU Autoconf 2.65
 
 Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2843,7 +2844,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by emacs $as_me 24.0.91, which was
+It was created by emacs $as_me 24.0.92, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   $ $0 $@
@@ -3676,7 +3677,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='emacs'
- VERSION='24.0.91'
+ VERSION='24.0.92'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4070,6 +4071,9 @@ else
 fi
 
 
+## Makefile.in needs the cache file name.
+
+
 ## This is an option because I do not know if all info/man support
 ## compressed files, nor how to test if they do so.
 
@@ -23104,7 +23108,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by emacs $as_me 24.0.91, which was
+This file was extended by emacs $as_me 24.0.92, which was
 generated by GNU Autoconf 2.65.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23170,7 +23174,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-emacs config.status 24.0.91
+emacs config.status 24.0.92
 configured by $0, generated by GNU Autoconf 2.65,
   with options \\"\$ac_cs_config\\"
 
index 7a9bd0b6ee0664fca32d347af7db51e79297dcbe..20dbf2b509e869431855fb20fed1ece7231244d3 100644 (file)
@@ -22,7 +22,7 @@ dnl  You should have received a copy of the GNU General Public License
 dnl  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ(2.65)
-AC_INIT(emacs, 24.0.91)
+AC_INIT(emacs, 24.0.92)
 AC_CONFIG_HEADER(src/config.h:src/config.in)
 AC_CONFIG_SRCDIR(src/lisp.h)
 AC_CONFIG_AUX_DIR(build-aux)
@@ -182,6 +182,9 @@ OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS support])
 dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html
 OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals])
 
+## Makefile.in needs the cache file name.
+AC_SUBST(cache_file)
+
 ## This is an option because I do not know if all info/man support
 ## compressed files, nor how to test if they do so.
 OPTION_DEFAULT_ON([compress-info],[don't compress the installed Info pages])
index 06e3c0392387b7a9f7d60d235749a3fd42180a25..df1812d27ec29775035fe5350f6aea51b1c088db 100644 (file)
@@ -1,3 +1,81 @@
+2011-12-04  Chong Yidong  <cyd@gnu.org>
+
+       * programs.texi (Program Modes): Mention modes that are not
+       included with Emacs.  Fix references to other manuals for tex.
+       Add index entry for backward-delete-char-untabify.  Mention
+       prog-mode-hook.
+       (Which Function): Use "global minor mode" terminology.
+       (Basic Indent, Multi-line Indent): Refer to previous descriptions
+       in Indentation chapter to avoid duplication.
+       (Expressions): Copyedit.
+       (Matching): Document Electric Pair mode.
+
+       * ack.texi (Acknowledgments):
+       * rmail.texi (Movemail, Other Mailbox Formats):
+       * frames.texi (Frames): Don't capitalize "Unix".
+
+2011-12-04  Chong Yidong  <cyd@gnu.org>
+
+       * text.texi (Nroff Mode): Mention what nroff is.
+       (Text Based Tables, Table Recognition): Don't say "Table mode"
+       since it's not a major or minor mode.
+       (Text Based Tables): Reduce the size of the example.
+       (Table Definition): Clarify definitions.
+       (Table Creation): Add key table.
+       (Cell Commands): Use kbd for commands.
+       (Table Rows and Columns): Combine nodes Row Commands and Column
+       Commands.
+       (Fixed Width Mode): Node deleted; contents moved to parent.
+       (Table Conversion): Shorten example.
+       (Measuring Tables): Merge into Table Misc.
+
+2011-12-03  Chong Yidong  <cyd@gnu.org>
+
+       * text.texi (TeX Mode): Mention AUCTeX package.
+       (TeX Editing): Add xref to documentation for Occur.
+       (LaTeX Editing): Add xref to Completion node.
+       (TeX Print): Fix description of tex-directory.
+       (Enriched Text): Renamed from Formatted Text.  Make this node and
+       its subnodes less verbose, since text/enriched files are
+       practically unused.
+       (Enriched Mode): Renamed from Requesting Formatted Text.
+       (Format Colors): Node deleted.
+       (Enriched Faces): Renamed from Format Faces.  Describe commands
+       for applying colors too.
+       (Forcing Enriched Mode): Node deleted; merged into Enriched Mode.
+
+       * frames.texi (Menu Mouse Clicks): Tweak description of C-Mouse-2.
+
+       * display.texi (Colors): New node.
+
+       * cmdargs.texi (Colors X):
+       * xresources.texi (GTK styles):
+       * custom.texi (Face Customization): Reference it.
+
+       * glossary.texi (Glossary): Remove "formatted text" and "WYSIWYG".
+       Link to Fill Commands for Justification entry.
+
+2011-12-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * display.texi (Auto Scrolling): More accurate description of what
+       scroll-*-aggressively does, including the effect of non-zero
+       margin.  Fix "i.e." markup.
+
+2011-12-02  Chong Yidong  <cyd@gnu.org>
+
+       * text.texi (Pages): Mention how formfeed chars are displayed.
+       (Auto Fill): Note convention for calling auto-fill-mode from Lisp.
+       Describe adaptive filling more precisely.
+       (Fill Commands): Note that filling removes excess whitespace.
+       (Text Mode): Note auto-mode-alist entries for Text mode.  TAB is
+       now bound to indent-for-tab-command in Text mode.
+       (Outline Mode): Copyedits.
+       (Outline Visibility): Note that Reveal mode is a buffer-local
+       minor mode.
+
+       * modes.texi (Major Modes): Move note about checking major-mode in
+       a hook function here, from Text mode.
+
 2011-11-28  Chong Yidong  <cyd@gnu.org>
 
        * text.texi (Words): Add xref to Position Info.
index d7022ba739ba119d4b06606c61e9c07036c9c977..ae6338ce5a657daef7d96d9dc34817cc7e98e9ae 100644 (file)
@@ -1272,8 +1272,8 @@ Colin Walters wrote Ibuffer, an enhanced buffer menu.
 Barry Warsaw wrote @file{assoc.el}, a set of utility functions for
 working with association lists; @file{cc-mode.el}, a mode for editing
 C, C@t{++}, and Java code, based on earlier work by Dave Detlefs,
-Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler
-for Emacs Lisp programs; @file{man.el}, a mode for reading UNIX manual
+Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler for
+Emacs Lisp programs; @file{man.el}, a mode for reading Unix manual
 pages; @file{regi.el}, providing an AWK-like functionality for use in
 lisp programs; @file{reporter.el}, providing customizable bug
 reporting for lisp packages; and @file{supercite.el}, a minor mode for
index 07cca53ce4d42a4f3e917bad0e91a7d28fbd7e84..d91090455700b5cc9b0ea949ab0300714da598b1 100644 (file)
@@ -69,7 +69,7 @@ arguments.)
 * 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.
+* Colors X::            Choosing display colors.
 * Window Size X::       Start-up window size, under X.
 * Borders X::           Internal and external borders, under X.
 * Title X::             Specifying the initial frame's title.
@@ -784,7 +784,7 @@ Use @var{font} as the default font.
 
 When passing a font specification to Emacs on the command line, you
 may need to ``quote'' it, by enclosing it in quotation marks, if it
-contains characters that the shell treats specially (e.g. spaces).
+contains characters that the shell treats specially (e.g.@: spaces).
 For example:
 
 @smallexample
@@ -794,27 +794,14 @@ emacs -fn "DejaVu Sans Mono-12"
 @xref{Fonts}, for other ways to specify the default font and font name
 formats.
 
-@node Colors
+@node Colors X
 @appendixsec Window Color Options
 @cindex color of window, from command line
 @cindex text colors, from command line
 
-@findex list-colors-display
-@cindex available colors
-  On a color display, you can specify which color to use for various
-parts of the Emacs display.  To find out what colors are available on
-your system, type @kbd{M-x list-colors-display}, or press
-@kbd{C-Mouse-2} and select @samp{Display Colors} from the pop-up menu.
-(A particular window system might support many more colors, but the
-list displayed by @code{list-colors-display} shows their portable
-subset that can be safely used on any display supported by Emacs.)
-If you do not specify colors, on windowed displays the default for the
-background is white and the default for all other colors is black.  On a
-monochrome display, the foreground is black, the background is white,
-and the border is gray if the display supports that.  On terminals, the
-background is usually black and the foreground is white.
-
-  Here is a list of the command-line options for specifying colors:
+  You can use the following command-line options to specify the colors
+to use for various parts of the Emacs display.  Colors may be
+specified using either color names or RGB triplets (@pxref{Colors}).
 
 @table @samp
 @item -fg @var{color}
@@ -822,15 +809,15 @@ background is usually black and the foreground is white.
 @itemx --foreground-color=@var{color}
 @opindex --foreground-color
 @cindex foreground color, command-line argument
-Specify the foreground color.  @var{color} should be a standard color
-name, or a numeric specification of the color's red, green, and blue
-components as in @samp{#4682B4} or @samp{RGB:46/82/B4}.
+Specify the foreground color, overriding the color specified by the
+@code{default} face (@pxref{Faces}).
 @item -bg @var{color}
 @opindex -bg
 @itemx --background-color=@var{color}
 @opindex --background-color
 @cindex background color, command-line argument
-Specify the background color.
+Specify the background color, overriding the color specified by the
+@code{default} face.
 @item -bd @var{color}
 @opindex -bd
 @itemx --border-color=@var{color}
index 5b98216369d4935499532556e7c95ef1d5d70c18..e807aebdeee05fd37f1f19830d38684280e6e808 100644 (file)
@@ -430,15 +430,8 @@ means that it's disabled.  You can enable or disable the attribute by
 clicking that button.  When the attribute is enabled, you can change
 the attribute value in the usual ways.
 
-  You can specify a color name (use @kbd{M-x list-colors-display} for
-a list of them) or a hexadecimal color specification of the form
-@samp{#@var{rr}@var{gg}@var{bb}}.  (@samp{#000000} is black,
-@samp{#ff0000} is red, @samp{#00ff00} is green, @samp{#0000ff} is
-blue, and @samp{#ffffff} is white.)  On a black-and-white display, the
-colors you can use for the background are @samp{black}, @samp{white},
-@samp{gray}, @samp{gray1}, and @samp{gray3}.  Emacs supports these
-shades of gray by using background stipple patterns instead of a
-color.
+  The foreground and background colors can be specified using color
+names or RGB triplets.  @xref{Colors}.
 
   Setting, saving and resetting a face work like the same operations for
 variables (@pxref{Changing a Variable}).
index 88b2758828efdb1133e9fba4985893900d651d39..ea9bd95b8eec12c24400ce8f11f91cc3e3d360c5 100644 (file)
@@ -21,6 +21,7 @@ the text is displayed.
 * View Mode::              Viewing read-only buffers.
 * Follow Mode::            Follow mode lets two windows scroll as one.
 * Faces::                  How to change the display style using faces.
+* Colors::                 Specifying colors for faces.
 * Standard Faces::         Emacs' predefined faces.
 * Text Scale::             Increasing or decreasing text size in a buffer.
 * Font Lock::              Minor mode for syntactic highlighting using faces.
@@ -238,26 +239,32 @@ centered after scrolling.
 @cindex aggressive scrolling
 @vindex scroll-up-aggressively
 @vindex scroll-down-aggressively
-  When the window does scroll by a longer distance, you can control
-how aggressively it scrolls by setting the variables
-@code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
-The value of @code{scroll-up-aggressively} should be either
-@code{nil}, or a fraction @var{f} between 0 and 1.  A fraction
-specifies where on the screen to put point when scrolling upward,
-i.e. forward.  When point goes off the window end, the new start
-position is chosen to put point @var{f} parts of the window height
-from the bottom.  Thus, larger @var{f} means more aggressive
-scrolling: more new text is brought into view.  The default value,
-@code{nil}, is equivalent to 0.5.
+  When the window does scroll by a distance longer than
+@code{scroll-step}, you can control how aggressively it scrolls by
+setting the variables @code{scroll-up-aggressively} and
+@code{scroll-down-aggressively}.  The value of
+@code{scroll-up-aggressively} should be either @code{nil}, or a
+fraction @var{f} between 0 and 1.  A fraction specifies where on the
+screen to put point when scrolling upward, i.e.@: forward.  When point
+goes off the window end, the new start position is chosen to put point
+@var{f} parts of the window height from the bottom margin.  Thus,
+larger @var{f} means more aggressive scrolling: more new text is
+brought into view.  The default value, @code{nil}, is equivalent to
+0.5.
 
   Likewise, @code{scroll-down-aggressively} is used for scrolling
-down, i.e. backward.  The value specifies how far point should be
-placed from the top of the window; thus, as with
+down, i.e.@: backward.  The value specifies how far point should be
+placed from the top margin of the window; thus, as with
 @code{scroll-up-aggressively}, a larger value is more aggressive.
 
   These two variables are ignored if either @code{scroll-step} or
 @code{scroll-conservatively} are set to a non-zero value.
 
+  Note that @code{scroll-margin}, described below, limits the amount
+of scrolling so as to put point outside of the top or bottom margin,
+even if aggressive scrolling specifies a fraction @var{f} that is
+larger than the window portion between the top and the bottom margins.
+
 @vindex scroll-margin
   The variable @code{scroll-margin} restricts how close point can come
 to the top or bottom of a window.  Its value is a number of screen
@@ -455,7 +462,7 @@ one large window.
   To turn off Follow mode, type @kbd{M-x follow-mode} a second time.
 
 @node Faces
-@section Faces: Controlling Text Display Style
+@section Text Faces
 @cindex faces
 
   Emacs can display text in several different styles, called
@@ -474,10 +481,8 @@ matching that regular expression (@pxref{Regexps}).
   It's possible for a given face to look different in different
 frames.  For instance, some text-only terminals do not support all
 face attributes, particularly font, height, and width, and some
-support a limited range of colors.  The @code{list-faces-display}
-command shows the appearance for the selected frame.
+support a limited range of colors.
 
-@cindex face colors, setting
 @cindex background color
 @cindex default face
   You can customize a face to alter its appearance, and save those
@@ -492,25 +497,58 @@ background color.
   You can also use X resources to specify attributes of any particular
 face.  @xref{Resources}.
 
+  Emacs can display variable-width fonts, but some Emacs commands,
+particularly indentation commands, do not account for variable
+character display widths.  Therefore, we recommend not using
+variable-width fonts for most faces, particularly those assigned by
+Font Lock mode.
+
+@node Colors
+@section Colors for Faces
+@cindex color name
+@cindex RGB triplet
+
+  Faces can have various foreground and background colors.  When you
+specify a color for a face---for instance, when customizing the face
+(@pxref{Face Customization})---you can use either a @dfn{color name}
+or an @dfn{RGB triplet}.
+
+@findex list-colors-display
+  A color name is a pre-defined name, such as @samp{dark orange} or
+@samp{medium sea green}.  To view a list of color names, type @kbd{M-x
+list-colors-display}.  If you run this command on a graphical display,
+it shows the full range of color names known to Emacs (these are the
+standard X11 color names, defined in X's @file{rgb.txt} file).  If you
+run the command on a text-only terminal, it shows only a small subset
+of colors that can be safely displayed on such terminals.  However,
+Emacs understands X11 color names even on text-only terminals; if a
+face is given a color specified by an X11 color name, it is displayed
+using the closest-matching terminal color.
+
+  An RGB triplet is a string of the form @samp{#RRGGBB}.  Each of the
+R, G, and B components is a hexadecimal number specifying the
+component's relative intensity, one to four digits long (usually two
+digits are used).  The components must have the same number of digits.
+For hexadecimal values A to F, either upper or lower case are
+acceptable.
+
+  The @kbd{M-x list-colors-display} command also shows the equivalent
+RGB triplet for each named color.  For instance, @samp{medium sea
+green} is equivalent to @samp{#3CB371}.
+
+@cindex face colors, setting
 @findex set-face-foreground
 @findex set-face-background
-  You can also change the foreground and background colors of a face
-with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
-These commands prompt in the minibuffer for a face name and a color
-name, with completion, and then set that face to use the specified
-color (@pxref{Face Customization}, for information about color names).
+  You can change the foreground and background colors of a face with
+@kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
+These commands prompt in the minibuffer for a face name and a color,
+with completion, and then set that face to use the specified color.
 They affect the face colors on all frames, but their effects do not
 persist for future Emacs sessions, unlike using the customization
 buffer or X resources.  You can also use frame parameters to set
-foreground and background colors for a specific frame; see @ref{Frame
+foreground and background colors for a specific frame; @xref{Frame
 Parameters}.
 
-  Emacs can display variable-width fonts, but some Emacs commands,
-particularly indentation commands, do not account for variable
-character display widths.  Therefore, we recommend not using
-variable-width fonts for most faces, particularly those assigned by
-Font Lock mode.
-
 @node Standard Faces
 @section Standard Faces
 
@@ -1016,13 +1054,13 @@ trailing whitespace in the region instead.
 @cindex fringes, and unused line indication
   On graphical displays, Emacs can indicate unused lines at the end of
 the window with a small image in the left fringe (@pxref{Fringes}).
-The image appears for window lines that do not correspond to any
-buffer text.  Blank lines at the end of the buffer then stand out
-because they do not have this image in the fringe.  To enable this
-feature, set the buffer-local variable @code{indicate-empty-lines} to
-a non-@code{nil} value.  You can enable or disable this feature for
-all new buffers by setting the default value of this variable,
-e.g.@:@code{(setq-default indicate-empty-lines t)}.
+The image appears for screen lines that do not correspond to any
+buffer text, so blank lines at the end of the buffer stand out because
+they lack this image.  To enable this feature, set the buffer-local
+variable @code{indicate-empty-lines} to a non-@code{nil} value.  You
+can enable or disable this feature for all new buffers by setting the
+default value of this variable, e.g.@: @code{(setq-default
+indicate-empty-lines t)}.
 
 @node Selective Display
 @section Selective Display
@@ -1251,7 +1289,7 @@ as octal escape sequences instead of caret escape sequences.
   Some non-@acronym{ASCII} characters have the same appearance as an
 @acronym{ASCII} space or hyphen (minus) character.  Such characters
 can cause problems if they are entered into a buffer without your
-realization, e.g. by yanking; for instance, source code compilers
+realization, e.g.@: by yanking; for instance, source code compilers
 typically do not treat non-@acronym{ASCII} spaces as whitespace
 characters.  To deal with this problem, Emacs displays such characters
 specially: it displays @code{U+00A0} (no-break space) with the
index 2a02a0de0bbfb31eb534831d00eeadfbeab2cc46..5905c7a65b29673ed941232f665d66c3a8d8ac1c 100644 (file)
@@ -39,7 +39,7 @@ developing GNU and promoting software freedom.''
 @c in general, keep the following line commented out, unless doing a
 @c copy of this manual that will be published.  The manual should go
 @c onto the distribution in the full, 8.5 x 11" size.
-@c @smallbook
+@smallbook
 
 @ifset smallbook
 @smallbook
@@ -113,25 +113,6 @@ Emacs Lisp Reference Manual}.
 @insertcopying
 @end ifnottex
 
-@ignore
-These subcategories have been deleted for simplicity
-and to avoid conflicts.
-Completion
-Backup Files
-Auto-Saving: Protection Against Disasters
-Tags
-Text Mode
-Outline Mode
-@TeX{} Mode
-Formatted Text
-Shell Command History
-
-The ones for Dired and Rmail have had the items turned into :: items
-to avoid conflicts.
-Also Running Shell Commands from Emacs
-and Sending Mail and Registers and Minibuffer.
-@end ignore
-
 @menu
 * Distrib::             How to get the latest Emacs distribution.
 * Intro::               An introduction to Emacs concepts.
@@ -350,6 +331,7 @@ Controlling the Display
 * View Mode::              Viewing read-only buffers.
 * Follow Mode::            Follow mode lets two windows scroll as one.
 * Faces::                  How to change the display style using faces.
+* Colors::                 Specifying colors for faces.
 * Standard Faces::         Emacs' predefined faces.
 * Text Scale::             Increasing or decreasing text size in a buffer.
 * Font Lock::              Minor mode for syntactic highlighting using faces.
@@ -569,8 +551,8 @@ Commands for Human Languages
 * TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
 * 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.
+* Enriched Text::       Editing text ``enriched'' with fonts, colors, etc.
+* Text Based Tables::   Commands for editing text-based tables.
 * Two-Column::          Splitting text columns into separate windows.
 
 Filling Text
@@ -597,18 +579,16 @@ Outline Mode
 * TeX Print::           Commands for printing part of a file with TeX.
 * TeX Misc::            Customization of TeX mode, and related features.
 
-Editing Formatted Text
+Editing Enriched Text
 
-* Requesting Formatted Text::   Entering and exiting Enriched mode.
-* Hard and Soft Newlines::      There are two different kinds of newlines.
-* Editing Format Info::         How to edit text properties.
-* Format Faces::                Bold, italic, underline, etc.
-* Format Colors::               Changing the color of text.
-* Format Indentation::          Changing the left and right margins.
-* Format Justification::        Centering, setting text flush with the
-                                  left or right margin, etc.
-* Format Properties::           The "special" text properties submenu.
-* Forcing Enriched Mode::       How to force use of Enriched mode.
+* Enriched Mode::           Entering and exiting Enriched mode.
+* Hard and Soft Newlines::  There are two different kinds of newlines.
+* Editing Format Info::     How to edit text properties.
+* Enriched Faces::          Bold, italic, underline, etc.
+* Enriched Indentation::    Changing the left and right margins.
+* Enriched Justification::  Centering, setting text flush with the
+                              left or right margin, etc.
+* Enriched Properties::     The "special" text properties submenu.
 
 @c The automatic texinfo menu update inserts some duplicate items here
 @c (faces, colors, indentation, justification, properties), because
@@ -622,11 +602,8 @@ Editing Text-based Tables
 * Table Recognition::   How to activate and deactivate tables.
 * Cell Commands::       Cell-oriented commands in a table.
 * Cell Justification::  Justifying cell contents.
-* Row Commands::        Manipulating rows of table cell.
-* Column Commands::     Manipulating columns of table cell.
-* Fixed Width Mode::    Fixing cell width.
+* Table Rows and Columns:: Inserting and deleting rows and columns.
 * Table Conversion::    Converting between plain text and tables.
-* Measuring Tables::    Analyzing table dimension.
 * Table Misc::          Table miscellany.
 
 Editing Programs
@@ -1150,7 +1127,7 @@ Command Line Arguments for Emacs Invocation
 * 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.
+* Colors X::            Choosing display colors.
 * Window Size X::       Start-up window size, under X.
 * Borders X::           Internal and external borders, under X.
 * Title X::             Specifying the initial frame's title.
index 87f9dddbba823b8d4995dc4166cdf48fc2039932..cb3f3f39778f8627244f023c2cb56f4b309adf69 100644 (file)
@@ -1,4 +1,4 @@
 @c It would be nicer to generate this using configure and @version@.
 @c However, that would mean emacsver.texi would always be newer
 @c then the info files in release tarfiles.
-@set EMACSVER 24.0.91
+@set EMACSVER 24.0.92
index 8c41ca13225b66a2145096cd84d5c859b1e4b302..e3da0ca44e63d50140da4c29439250496822936d 100644 (file)
@@ -297,8 +297,9 @@ original encoding and end-of-line convention.  @xref{Coding Systems}.
   If you wish to edit a file as a sequence of @acronym{ASCII}
 characters with no special encoding or conversion, use the @kbd{M-x
 find-file-literally} command.  This visits a file, like @kbd{C-x C-f},
-but does not do format conversion (@pxref{Formatted Text}), character
-code conversion (@pxref{Coding Systems}), or automatic uncompression
+but does not do format conversion (@pxref{Format Conversion,, Format
+Conversion, elisp, the Emacs Lisp Reference Manual}), character code
+conversion (@pxref{Coding Systems}), or automatic uncompression
 (@pxref{Compressed Files}), and does not add a final newline because
 of @code{require-final-newline} (@pxref{Customize Save}).  If you have
 already visited the same file in the usual (non-literal) manner, this
index 704b53c2f36f58a2c53cb1a4b1b672ca88c55843..dec5aa771ea575f85eb64bcbccc783769c95f588 100644 (file)
@@ -6,7 +6,7 @@
 @chapter Frames and Graphical Displays
 @cindex frames
 
-  When Emacs is started on a graphical display, e.g. on the X Window
+  When Emacs is started on a graphical display, e.g.@: on the X Window
 System, it occupies a graphical system-level ``window''.  In this
 manual, we call this a @dfn{frame}, reserving the word ``window'' for
 the part of the frame used for displaying a buffer.  A frame initially
@@ -32,7 +32,7 @@ unavailable.  However, it is still possible to create multiple
 ``frames'' on text-only terminals; such frames are displayed one at a
 time, filling the entire terminal screen (@pxref{Non-Window
 Terminals}).  It is also possible to use the mouse on some text-only
-terminals (@pxref{Text-Only Mouse}, for doing so on GNU and UNIX
+terminals (@pxref{Text-Only Mouse}, for doing so on GNU and Unix
 systems; and
 @iftex
 @pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
@@ -245,8 +245,8 @@ Select the text you drag across, in the form of whole lines.
 
 @vindex mouse-highlight
   Some Emacs buffers include @dfn{buttons}, or @dfn{hyperlinks}:
-pieces of text that perform some action (e.g. following a reference)
-when activated (e.g. by clicking on them).  Usually, a button's text
+pieces of text that perform some action (e.g.@: following a reference)
+when activated (e.g.@: by clicking on them).  Usually, a button's text
 is visually highlighted: it is underlined, or a box is drawn around
 it.  If you move the mouse over a button, the shape of the mouse
 cursor changes and the button lights up.  If you change the variable
@@ -302,8 +302,9 @@ menu smarter and more customizable.  @xref{Buffer Menus}.
 
 @item C-Mouse-2
 @kindex C-Mouse-2
-This menu is for specifying faces and other text properties
-for editing formatted text.  @xref{Formatted Text}.
+This menu contains entries for examining faces and other text
+properties, and well as for setting them (the latter is mainly useful
+when editing enriched text; @pxref{Enriched Text}).
 
 @item C-Mouse-3
 @kindex C-Mouse-3
@@ -657,7 +658,7 @@ The entries have the following meanings:
 @item maker
 The name of the font manufacturer.
 @item family
-The name of the font family (e.g. @samp{courier}).
+The name of the font family (e.g.@: @samp{courier}).
 @item weight
 The font weight---normally either @samp{bold}, @samp{medium} or
 @samp{light}.  Some font names support other values.
index e37e80bfab89558dd12a3fd0b0a5fb6e6f8ce653..3af75245e69fd1fe7e8368fe013514a904a35dbc 100644 (file)
@@ -509,11 +509,6 @@ character sets and which font to use to display each of them.  Fontsets
 make it easy to change several fonts at once by specifying the name of a
 fontset, rather than changing each font separately.  @xref{Fontsets}.
 
-@item Formatted Text
-Formatted text is text that displays with formatting information while
-you edit.  Formatting information includes fonts, colors, and specified
-margins.  @xref{Formatted Text}.
-
 @item Formfeed Character
 See `page.'
 
@@ -702,9 +697,8 @@ that someone else is already editing.
 See `incremental search.'
 
 @item Justification
-Justification means adding extra spaces within lines of text
-in order to adjust the position of the text edges.
-@xref{Format Justification}.
+Justification means adding extra spaces within lines of text in order
+to adjust the position of the text edges.  @xref{Fill Commands}.
 
 @item Key Binding
 See `binding.'
@@ -1362,12 +1356,6 @@ See `abbrev.'
 Word search is searching for a sequence of words, considering the
 punctuation between them as insignificant.  @xref{Word Search}.
 
-@item WYSIWYG
-WYSIWYG stands for ``What you see is what you get.''  Emacs generally
-provides WYSIWYG editing for files of characters; in Enriched mode
-(@pxref{Formatted Text}), it provides WYSIWYG editing for files that
-include text formatting information.
-
 @item Yanking
 Yanking means reinserting text previously killed (q.v.@:).  It can be
 used to undo a mistaken kill, or for copying or moving text.  Some
index 60636ce040f7f4a84e75b8b58895821022152c08..4d574242c8daac8c1b5ae353b243c8b9d1caa2de 100644 (file)
@@ -115,6 +115,8 @@ hooks.  Each mode hook is named after its major mode, e.g. Fortran
 mode has @code{fortran-mode-hook}.  Furthermore, all text-based major
 modes run @code{text-mode-hook}, and all programming language modes
 run @code{prog-mode-hook}, prior to running their own mode hooks.
+Hook functions can look at the value of the variable @code{major-mode}
+to see which mode is actually being entered.
 
   Mode hooks are commonly used to enable minor modes (@pxref{Minor
 Modes}).  For example, you can put the following lines in your init
@@ -200,7 +202,7 @@ amount of work you can lose in case of a crash.  @xref{Auto Save}.
 
 @item
 Enriched mode enables editing and saving of formatted text.
-@xref{Formatted Text}.
+@xref{Enriched Text}.
 
 @item
 Flyspell mode automatically highlights misspelled words.
index 675977c2c35e8179fbf0b4fc362abaf9556926c7..66f7a49faab4ef6fcf958a43e27c3b552f831a0f 100644 (file)
@@ -8,8 +8,8 @@
 @cindex C editing
 @cindex program editing
 
-  Emacs provides many features to facilitate editing programs.  Some
-of these features can
+  This chapter describes Emacs features for facilitating editing
+programs.  Some of these features can:
 
 @itemize @bullet
 @item
@@ -25,8 +25,6 @@ Insert, kill or align comments (@pxref{Comments}).
 Highlight program syntax (@pxref{Font Lock}).
 @end itemize
 
-  This chapter describes these features and many more.
-
 @menu
 * Program Modes::       Major modes for editing programs.
 * Defuns::              Commands to operate on major top-level parts
@@ -52,21 +50,14 @@ Highlight program syntax (@pxref{Font Lock}).
 @section Major Modes for Programming Languages
 @cindex modes for programming languages
 
-  Emacs has specialized major modes for various programming languages.
-@xref{Major Modes}.  A programming language major mode typically
+  Emacs has specialized major modes (@pxref{Major Modes}) for many
+programming languages.  A programming language mode typically
 specifies the syntax of expressions, the customary rules for
 indentation, how to do syntax highlighting for the language, and how
-to find the beginning or end of a function definition.  It often
-customizes or provides facilities for compiling and debugging programs
-as well.
-
-  Ideally, Emacs should provide a major mode for each programming
-language that you might want to edit; if it doesn't have a mode for
-your favorite language, you can contribute one.  But often the mode
-for one language can serve for other syntactically similar languages.
-The major mode for language @var{l} is called @code{@var{l}-mode},
-and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}.
-@xref{Choosing Modes}.
+to find the beginning or end of a function definition.  It often has
+features for compiling and debugging programs as well.  The major mode
+for each language is named after the language; for instance, the major
+mode for the C programming language is @code{c-mode}.
 
 @cindex Perl mode
 @cindex Icon mode
@@ -89,40 +80,32 @@ and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}.
 @cindex Conf mode
 @cindex DNS mode
 @cindex Javascript mode
-  The existing programming language major modes include Lisp, Scheme
-(a variant of Lisp) and the Scheme-based DSSSL expression language,
-Ada, ASM, AWK, C, C++, Delphi (Object Pascal), Fortran, Icon, IDL
-(CORBA), IDLWAVE, Java, Javascript, Metafont (@TeX{}'s companion for
-font creation), Modula2, Objective-C, Octave, Pascal, Perl, Pike,
-PostScript, Prolog, Python, Ruby, Simula, Tcl, and VHDL.  An
-alternative mode for Perl is called CPerl mode.  Modes are available
-for the scripting languages of the common GNU and Unix shells, VMS
-DCL, and MS-DOS/MS-Windows @samp{BAT} files.  There are also major
-modes for editing makefiles, DNS master files, and various sorts of
-configuration files.
+  Emacs has programming language modes for Lisp, Scheme, the
+Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Delphi,
+Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont
+(@TeX{}'s companion for font creation), Modula2, Objective-C, Octave,
+Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, and
+VHDL.  An alternative mode for Perl is called CPerl mode.  Modes are
+also available for the scripting languages of the common GNU and Unix
+shells, VMS DCL, and MS-DOS/MS-Windows @samp{BAT} files, and for
+makefiles, DNS master files, and various sorts of configuration files.
+
+  Ideally, Emacs should have a major mode for each programming
+language that you might want to edit.  If it doesn't have a mode for
+your favorite language, the mode might be implemented in a package not
+distributed with Emacs (@pxref{Packages}); or you can contribute one.
 
 @kindex DEL @r{(programming modes)}
 @findex c-electric-backspace
+@findex backward-delete-char-untabify
   In most programming languages, indentation should vary from line to
-line to illustrate the structure of the program.  So the major modes
-for programming languages arrange for @key{TAB} to update the
-indentation of the current line (@pxref{Program Indent}).  They also
-rebind @key{DEL} to treat a tab as if it were the equivalent number of
-spaces; this lets you delete one column of indentation without
-worrying whether the whitespace consists of spaces or tabs.  Use
-@kbd{C-b C-d} to delete a tab character before point, in these modes.
-
-  Separate manuals are available for the modes for Ada (@pxref{Top, , Ada
-Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba IDL/Pike/AWK
-(@pxref{Top, , CC Mode, ccmode, CC Mode}) and the IDLWAVE modes
-(@pxref{Top, , IDLWAVE, idlwave, IDLWAVE User Manual}).  For Fortran
-mode, see
-@iftex
-@ref{Fortran,,, emacs-xtra, Specialized Emacs Features}.
-@end iftex
-@ifnottex
-@ref{Fortran}.
-@end ifnottex
+line to illustrate the structure of the program.  Therefore, in most
+programming language modes, typing @key{TAB} updates the indentation
+of the current line (@pxref{Program Indent}).  Furthermore, @key{DEL}
+is usually bound to @code{backward-delete-char-untabify}, which
+deletes backward treating each tab as if it were the equivalent number
+of spaces, so that you can delete one column of indentation without
+worrying whether the whitespace consists of spaces or tabs.
 
 @cindex mode hook
 @vindex c-mode-hook
@@ -130,13 +113,24 @@ mode, see
 @vindex emacs-lisp-mode-hook
 @vindex lisp-interaction-mode-hook
 @vindex scheme-mode-hook
-  Turning on a major mode runs a normal hook called the @dfn{mode
-hook}, which is the value of a Lisp variable.  Each major mode has a
-mode hook, and the hook's name is always made from the mode command's
-name by adding @samp{-hook}.  For example, turning on C mode runs the
-hook @code{c-mode-hook}, while turning on Lisp mode runs the hook
-@code{lisp-mode-hook}.  The purpose of the mode hook is to give you a
-place to set up customizations for that major mode.  @xref{Hooks}.
+  Entering a programming language mode runs the custom Lisp functions
+specified in the hook variable @code{prog-mode-hook}, followed by
+those specified in the mode's own mode hook (@pxref{Major Modes}).
+For instance, entering C mode runs the hooks @code{prog-mode-hook} and
+@code{c-mode-hook}.  @xref{Hooks}, for information about hooks.
+
+@ifinfo
+  Separate manuals are available for the modes for Ada (@pxref{Top,,
+Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba
+IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE
+(@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}).
+@end ifinfo
+@ifnotinfo
+  The Emacs distribution contains Info manuals for the major modes for
+Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE.  For
+Fortran mode, see the ``Fortran'' section in the Info version of the
+Emacs manual, which is not included in this printed version.
+@end ifnotinfo
 
 @node Defuns
 @section Top-Level Definitions, or Defuns
@@ -328,20 +322,19 @@ The Speedbar can also use it (@pxref{Speedbar}).
 @subsection Which Function Mode
 @cindex current function name in mode line
 
-  Which Function mode is a minor mode that displays the current
-function name in the mode line, updating it as you move around in a
-buffer.
+  Which Function mode is a global minor mode (@pxref{Minor Modes})
+which displays the current function name in the mode line, updating it
+as you move around in a buffer.
 
 @findex which-function-mode
 @vindex which-func-modes
   To either enable or disable Which Function mode, use the command
-@kbd{M-x which-function-mode}.  This command applies to all buffers,
-both existing ones and those yet to be created.  However, it takes
-effect only in certain major modes, those listed in the value of
-@code{which-func-modes}.  If the value of @code{which-func-modes} is
-@code{t} rather than a list of modes, then Which Function mode applies
-to all major modes that know how to support it---in other words, all
-the major modes that support Imenu.
+@kbd{M-x which-function-mode}.  Although Which Function mode is a
+global minor mode, it takes effect only in certain major modes: those
+listed in the variable @code{which-func-modes}.  If the value of
+@code{which-func-modes} is @code{t} rather than a list of modes, then
+Which Function mode applies to all major modes that know how to
+support it---in other words, all the major modes that support Imenu.
 
 @node Program Indent
 @section Indentation for Programs
@@ -352,6 +345,10 @@ reindent it as you change it.  Emacs has commands to indent either a
 single line, a specified number of lines, or all of the lines inside a
 single parenthetical grouping.
 
+  @xref{Indentation}, for general information about indentation.  This
+section describes indentation features specific to programming
+language modes.
+
 @menu
 * Basic Indent::        Indenting a single line.
 * Multi-line Indent::   Commands to reindent many lines at once.
@@ -361,18 +358,15 @@ single parenthetical grouping.
 @end menu
 
 @cindex pretty-printer
-  Emacs also provides a Lisp pretty-printer in the library @code{pp}.
-This program reformats a Lisp object with indentation chosen to look nice.
+  Emacs also provides a Lisp pretty-printer in the @code{pp} package,
+which reformats Lisp objects with nice-looking indentation.
 
 @node Basic Indent
 @subsection Basic Program Indentation Commands
 
-  The basic indentation commands indent a single line according to the
-usual conventions of the language you are editing.
-
 @table @kbd
 @item @key{TAB}
-Adjust indentation of current line.
+Adjust indentation of current line (@code{indent-for-tab-command}).
 @item C-j
 Insert a newline, then adjust indentation of following line
 (@code{newline-and-indent}).
@@ -382,65 +376,50 @@ Insert a newline, then adjust indentation of following line
 @findex c-indent-command
 @findex indent-line-function
 @findex indent-for-tab-command
-  The basic indentation command is @key{TAB}.  In any
-programming-language major mode, @key{TAB} gives the current line the
-correct indentation as determined from the previous lines.  It does
-this by inserting or deleting whitespace at the beginning of the
-current line.  If point was inside the whitespace at the beginning of
-the line, @key{TAB} puts it at the end of that whitespace; otherwise,
-@key{TAB} keeps point fixed with respect to the characters around it.
-If the region is active (@pxref{Mark}), @key{TAB} indents every line
-within the region instead of just the current line.  The function that
-@key{TAB} runs depends on the major mode; for instance, it is
-@code{c-indent-line-or-region} in C mode.  Each function is aware of
-the syntax and conventions for its particular language.
-
-  Use @kbd{C-q @key{TAB}} to insert a tab character at point.
+  The basic indentation command is @key{TAB}
+(@code{indent-for-tab-command}), which was documented in
+@ref{Indentation}.  In programming language modes, @key{TAB} indents
+the current line, based on the indentation and syntactic content of
+the preceding lines; if the region is active, @key{TAB} indents each
+line within the region, not just the current line.
 
 @kindex C-j @r{(indenting source code)}
 @findex newline-and-indent
-  When entering lines of new code, use @kbd{C-j}
-(@code{newline-and-indent}), which inserts a newline and then adjusts
-indentation after it.  (It also deletes any trailing whitespace which
-remains before the new newline.)  For instance, @kbd{C-j} at the end
-of a line creates a blank line with appropriate indentation.  In
-programming language modes, it is equivalent to @key{RET} @key{TAB}.
-
-  When Emacs indents a line that starts within a parenthetical
-grouping, it usually places the start of the line under the preceding
-line within the group, or under the text after the parenthesis.  If
-you manually give one of these lines a nonstandard indentation, the
-lines below will tend to follow it.  This behavior is convenient in
-cases where you have overridden the standard result of @key{TAB}
-indentation (e.g., for aesthetic purposes).
-
-  Many programming-language modes assume that an open-parenthesis,
-open-brace or other opening delimiter at the left margin is the start
-of a function.  This assumption speeds up indentation commands.  If
-the text you are editing contains opening delimiters in column zero
-that aren't the beginning of a functions---even if these delimiters
-occur inside strings or comments---then you must set
-@code{open-paren-in-column-0-is-defun-start}.  @xref{Left Margin
+  The command @kbd{C-j} (@code{newline-and-indent}), which was
+documented in @ref{Indentation Commands}, does the same as @key{RET}
+followed by @key{TAB}: it inserts a new line, then adjusts the line's
+indentation.
+
+  When indenting a line that starts within a parenthetical grouping,
+Emacs usually places the start of the line under the preceding line
+within the group, or under the text after the parenthesis.  If you
+manually give one of these lines a nonstandard indentation (e.g.@: for
+aesthetic purposes), the lines below will follow it.
+
+  The indentation commands for most programming language modes assume
+that a open-parenthesis, open-brace or other opening delimiter at the
+left margin is the start of a function.  If the code you are editing
+violates this assumption---even if the delimiters occur in strings or
+comments---you must set @code{open-paren-in-column-0-is-defun-start}
+to @code{nil} for indentation to work properly.  @xref{Left Margin
 Paren}.
 
-  Normally, Emacs indents lines using an ``optimal'' mix of tab and
-space characters.  If you want Emacs to use spaces only, set
-@code{indent-tabs-mode} (@pxref{Just Spaces}).
-
 @node Multi-line Indent
 @subsection Indenting Several Lines
 
   Sometimes, you may want to reindent several lines of code at a time.
 One way to do this is to use the mark; when the mark is active and the
-region is non-empty, @key{TAB} indents every line within the region.
-In addition, Emacs provides several other commands for indenting large
-chunks of code:
+region is non-empty, @key{TAB} indents every line in the region.
+Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents
+every line in the region, whether or not the mark is active
+(@pxref{Indentation Commands}).
+
+  In addition, Emacs provides the following commands for indenting
+large chunks of code:
 
 @table @kbd
 @item C-M-q
 Reindent all the lines within one parenthetical grouping.
-@item C-M-\
-Reindent all lines in the region (@code{indent-region}).
 @item C-u @key{TAB}
 Shift an entire parenthetical grouping rigidly sideways so that its
 first line is properly indented.
@@ -454,18 +433,13 @@ lines that start inside comments and strings.
   To reindent the contents of a single parenthetical grouping,
 position point before the beginning of the grouping and type
 @kbd{C-M-q}.  This changes the relative indentation within the
-grouping, without affecting its overall indentation (i.e., the
+grouping, without affecting its overall indentation (i.e.@: the
 indentation of the line where the grouping starts).  The function that
 @kbd{C-M-q} runs depends on the major mode; it is
 @code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode,
 etc.  To correct the overall indentation as well, type @key{TAB}
 first.
 
-  @kbd{C-M-\} (@code{indent-region}) applies @key{TAB} to the region.
-This is useful when Transient Mark mode is disabled (@pxref{Disabled
-Transient Mark}), because in that case @key{TAB} does not act on the
-region.
-
 @kindex C-u TAB
   If you like the relative indentation within a grouping but not the
 indentation of its first line, move point to that first line and type
@@ -516,9 +490,9 @@ expression.
 @cindex @code{lisp-indent-function} property
   You can override the standard pattern in various ways for individual
 functions, according to the @code{lisp-indent-function} property of
-the function name.  Normally you would use this for macro definitions
-and specify it using the @code{declare} construct (@pxref{Defining
-Macros,,, elisp, the Emacs Lisp Reference Manual}).
+the function name.  This is normally done for macro definitions, using
+the @code{declare} construct.  @xref{Defining Macros,,, elisp, the
+Emacs Lisp Reference Manual}.
 
 @node C Indent
 @subsection Commands for C Indentation
@@ -664,9 +638,13 @@ parentheses and unbalanced string quotes in the buffer.
 @cindex sexp
 @cindex expression
 @cindex balanced expression
-  These commands deal with balanced expressions, also called
-@dfn{sexps}@footnote{The word ``sexp'' is used to refer to an
-expression in Lisp.}.
+  Each programming language mode has its own definition of a
+@dfn{balanced expression}.  Balanced expressions typically include
+individual symbols, numbers, and string constants, as well as pieces
+of code enclosed in a matching pair of delimiters.  The following
+commands deal with balanced expressions (in Emacs, such expressions
+are referred to internally as @dfn{sexps}@footnote{The word ``sexp''
+is used to refer to an expression in Lisp.}).
 
 @table @kbd
 @item C-M-f
@@ -682,90 +660,71 @@ Transpose expressions (@code{transpose-sexps}).
 Put mark after following expression (@code{mark-sexp}).
 @end table
 
-  Each programming language major mode customizes the definition of
-balanced expressions to suit that language.  Balanced expressions
-typically include symbols, numbers, and string constants, as well as
-any pair of matching delimiters and their contents.  Some languages
-have obscure forms of expression syntax that nobody has bothered to
-implement in Emacs.
-
-@cindex Control-Meta
-  By convention, the keys for these commands are all Control-Meta
-characters.  They usually act on expressions just as the corresponding
-Meta characters act on words.  For instance, the command @kbd{C-M-b}
-moves backward over a balanced expression, just as @kbd{M-b} moves
-back over a word.
-
 @kindex C-M-f
 @kindex C-M-b
 @findex forward-sexp
 @findex backward-sexp
   To move forward over a balanced expression, use @kbd{C-M-f}
 (@code{forward-sexp}).  If the first significant character after point
-is an opening delimiter (@samp{(} in Lisp; @samp{(}, @samp{[} or
-@samp{@{} in C), @kbd{C-M-f} moves past the matching closing
-delimiter.  If the character begins a symbol, string, or number,
-@kbd{C-M-f} moves over that.
+is an opening delimiter (e.g.@: @samp{(}, @samp{[} or @samp{@{} in C),
+this command moves past the matching closing delimiter.  If the
+character begins a symbol, string, or number, the command moves over
+that.
 
   The command @kbd{C-M-b} (@code{backward-sexp}) moves backward over a
-balanced expression.  The detailed rules are like those above for
-@kbd{C-M-f}, but with directions reversed.  If there are prefix
-characters (single-quote, backquote and comma, in Lisp) preceding the
-expression, @kbd{C-M-b} moves back over them as well.  The balanced
-expression commands move across comments as if they were whitespace,
-in most modes.
-
-  @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation the
-specified number of times; with a negative argument, it moves in the
-opposite direction.
+balanced expression---like @kbd{C-M-f}, but in the reverse direction.
+If the expression is preceded by any prefix characters (single-quote,
+backquote and comma, in Lisp), the command moves back over them as
+well.
+
+  @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation
+the specified number of times; with a negative argument means to move
+in the opposite direction.  In most modes, these two commands move
+across comments as if they were whitespace.  Note that their keys,
+@kbd{C-M-f} and @kbd{C-M-b}, are analogous to @kbd{C-f} and @kbd{C-b},
+which move by characters (@pxref{Moving Point}), and @kbd{M-f} and
+@kbd{M-b}, which move by words (@pxref{Words}).
 
 @cindex killing expressions
 @kindex C-M-k
 @findex kill-sexp
-  Killing a whole balanced expression can be done with @kbd{C-M-k}
-(@code{kill-sexp}).  @kbd{C-M-k} kills the characters that @kbd{C-M-f}
-would move over.
+  To kill a whole balanced expression, type @kbd{C-M-k}
+(@code{kill-sexp}).  This kills the text that @kbd{C-M-f} would move
+over.
 
 @cindex transposition of expressions
 @kindex C-M-t
 @findex transpose-sexps
-  A somewhat random-sounding command which is nevertheless handy is
-@kbd{C-M-t} (@code{transpose-sexps}), which drags the previous
-balanced expression across the next one.  An argument serves as a
-repeat count, moving the previous expression over that many following
-ones.  A negative argument drags the previous balanced expression
-backwards across those before it (thus canceling out the effect of
-@kbd{C-M-t} with a positive argument).  An argument of zero, rather
-than doing nothing, transposes the balanced expressions ending at or
-after point and the mark.
+  @kbd{C-M-t} (@code{transpose-sexps}) switches the positions of the
+previous balanced expression and the next one.  It is analogous to the
+@kbd{C-t} command, which transposes characters (@pxref{Transpose}).
+An argument to @kbd{C-M-t} serves as a repeat count, moving the
+previous expression over that many following ones.  A negative
+argument moves the previous balanced expression backwards across those
+before it.  An argument of zero, rather than doing nothing, transposes
+the balanced expressions ending at or after point and the mark.
 
 @kindex C-M-@@
 @kindex C-M-@key{SPC}
 @findex mark-sexp
-  To operate on balanced expressions with an operation which acts on
-the region, use the command @kbd{C-M-@key{SPC}} (@code{mark-sexp}).
-This sets the mark at the same place that @kbd{C-M-f} would move to.
-@xref{Marking Objects}, for more information about this command.
-
-@kbd{C-M-@key{SPC}} treats
-numeric arguments in the same way as @kbd{C-M-f}; in particular, a
-negative argument puts the mark at the beginning of the previous
-balanced expression.  The alias @kbd{C-M-@@} is equivalent to
-@kbd{C-M-@key{SPC}}.  While the mark is active, each successive use of
-@kbd{C-M-@key{SPC}} extends the region by shifting the mark by one
-sexp.
+  To operate on balanced expressions with a command which acts on the
+region, type @kbd{C-M-@key{SPC}} (@code{mark-sexp}).  This sets the
+mark where @kbd{C-M-f} would move to.  While the mark is active, each
+successive call to this command extends the region by shifting the
+mark by one expression.  Positive or negative numeric arguments move
+the mark forward or backward by the specified number of expressions.
+The alias @kbd{C-M-@@} is equivalent to @kbd{C-M-@key{SPC}}.
+@xref{Marking Objects}, for more information about this and related
+commands.
 
   In languages that use infix operators, such as C, it is not possible
-to recognize all balanced expressions as such because there can be
-multiple possibilities at a given position.  For example, C mode does
-not treat @samp{foo + bar} as a single expression, even though it
-@emph{is} one C expression; instead, it recognizes @samp{foo} as one
-expression and @samp{bar} as another, with the @samp{+} as punctuation
-between them.  Both @samp{foo + bar} and @samp{foo} are legitimate
-choices for ``the expression following point'' when point is at the
-@samp{f}, so the expression commands must perforce choose one or the
-other to operate on.  Note that @samp{(foo + bar)} is recognized as a
-single expression in C mode, because of the parentheses.
+to recognize all balanced expressions because there can be multiple
+possibilities at a given position.  For example, C mode does not treat
+@samp{foo + bar} as a single expression, even though it @emph{is} one
+C expression; instead, it recognizes @samp{foo} as one expression and
+@samp{bar} as another, with the @samp{+} as punctuation between them.
+However, C mode recognizes @samp{(foo + bar)} as a single expression,
+because of the parentheses.
 
 @node Moving by Parens
 @subsection Moving in the Parenthesis Structure
@@ -776,19 +735,18 @@ single expression in C mode, because of the parentheses.
 @cindex braces, moving across
 @cindex list commands
 
-  The Emacs commands for handling parenthetical groupings see nothing
-except parentheses (or whatever characters must balance in the
-language you are working with).  They ignore strings and comments
-(including any parentheses within them) and ignore parentheses quoted
-by an escape character.  They are mainly intended for editing
-programs, but can be useful for editing any text that has parentheses.
-They are sometimes called ``list'' commands because in Lisp these
-groupings are lists.
+  The following commands move over groupings delimited by parentheses
+(or whatever else serves as delimiters in the language you are working
+with).  They ignore strings and comments, including any parentheses
+within them, and also ignore parentheses that are ``quoted'' with an
+escape character.  These commands are mainly intended for editing
+programs, but can be useful for editing any text containing
+parentheses.  They are referred to internally as ``list'' commands
+because in Lisp these groupings are lists.
 
-These commands assume that the starting point is not inside a string
-or a comment.  Sometimes you can invoke them usefully from one of
-these places (for example, when you have a parenthesised clause in a
-comment) but this is unreliable.
+  These commands assume that the starting point is not inside a string
+or a comment.  If you invoke them from inside a string or comment, the
+results are unreliable.
 
 @table @kbd
 @item C-M-n
@@ -826,52 +784,62 @@ delimiter, this is nearly the same as searching for a @samp{(}.  An
 argument specifies the number of levels to go down.
 
 @node Matching
-@subsection Automatic Display Of Matching Parentheses
+@subsection Matching Parentheses
 @cindex matching parentheses
 @cindex parentheses, displaying matches
 
-  The Emacs parenthesis-matching feature is designed to show
-automatically how parentheses (and other matching delimiters) match in
-the text.  Whenever you type a self-inserting character that is a
-closing delimiter, the cursor moves momentarily to the location of the
+  Emacs has a number of @dfn{parenthesis matching} features, which
+make it easy to see how and whether parentheses (or other delimiters)
+match up.
+
+  Whenever you type a self-inserting character that is a closing
+delimiter, the cursor moves momentarily to the location of the
 matching opening delimiter, provided that is on the screen.  If it is
 not on the screen, Emacs displays some of the text near it in the echo
 area.  Either way, you can tell which grouping you are closing off.
-
-  If the opening delimiter and closing delimiter are mismatched---such
+If the opening delimiter and closing delimiter are mismatched---such
 as in @samp{[x)}---a warning message is displayed in the echo area.
 
 @vindex blink-matching-paren
 @vindex blink-matching-paren-distance
 @vindex blink-matching-delay
-  Three variables control parenthesis match display:
+  Three variables control the display of matching parentheses:
 
-  @code{blink-matching-paren} turns the feature on or off: @code{nil}
-disables it, but the default is @code{t} to enable match display.
+@itemize @bullet
+@item
+@code{blink-matching-paren} turns the feature on or off: @code{nil}
+disables it, but the default is @code{t} to enable it.
 
-  @code{blink-matching-delay} says how many seconds to leave the
-cursor on the matching opening delimiter, before bringing it back to
-the real location of point; the default is 1, but on some systems it
-is useful to specify a fraction of a second.
+@item
+@code{blink-matching-delay} says how many seconds to leave the cursor
+on the matching opening delimiter, before bringing it back to the real
+location of point.  This may be an integer or floating-point number;
+the default is 1.
 
-  @code{blink-matching-paren-distance} specifies how many characters
+@item
+@code{blink-matching-paren-distance} specifies how many characters
 back to search to find the matching opening delimiter.  If the match
-is not found in that distance, scanning stops, and nothing is displayed.
-This is to prevent the scan for the matching delimiter from wasting
-lots of time when there is no match.  The default is 102400.
+is not found in that distance, Emacs stops scanning and nothing is
+displayed.  The default is 102400.
+@end itemize
 
 @cindex Show Paren mode
 @cindex highlighting matching parentheses
 @findex show-paren-mode
-  Show Paren mode provides a more powerful kind of automatic matching.
-Whenever point is before an opening delimiter or after a closing
-delimiter, both that delimiter and its opposite delimiter are
-highlighted.  Use the command @kbd{M-x show-paren-mode} to enable or
-disable this mode.
-
-  Show Paren mode uses the faces @code{show-paren-match} and
-@code{show-paren-mismatch} to highlight parentheses; you can customize
-them to control how highlighting looks.  @xref{Face Customization}.
+  Show Paren mode, a global minor mode, provides a more powerful kind
+of automatic matching.  Whenever point is before an opening delimiter
+or after a closing delimiter, both that delimiter and its opposite
+delimiter are highlighted.  To toggle Show Paren mode, type @kbd{M-x
+show-paren-mode}.
+
+@cindex Electric Pair mode
+@cindex inserting matching parentheses
+@findex electric-pair-mode
+  Electric Pair mode, a global minor mode, provides a way to easily
+insert matching delimiters.  Whenever you insert an opening delimiter,
+the matching closing delimiter is automatically inserted as well,
+leaving point between the two.  To toggle Electric Pair mode, type
+@kbd{M-x electric-pair-mode}.
 
 @node Comments
 @section Manipulating Comments
@@ -1220,8 +1188,13 @@ pops up a window with possible candidates asking you to choose one of
 them.
 
   For more information about setting up and using @kbd{M-x woman}, see
-@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The WoMan
-Manual}.
+@ifinfo
+@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The
+WoMan Manual}.
+@end ifinfo
+@ifnotinfo
+the WoMan Info manual, which is distributed with Emacs.
+@end ifnotinfo
 
 @node Lisp Doc
 @subsection Emacs Lisp Documentation Lookup
@@ -1400,13 +1373,12 @@ to use Glasses mode.
 
 Semantic is a package that provides language-aware editing commands
 based on @code{source code parsers}.  This section provides a brief
-description of Semantic;
+description of Semantic; for full details,
 @ifnottex
-for full details, see @ref{Top, Semantic,, semantic, Semantic}.
+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.
+see the Semantic Info manual, which is distributed with Emacs.
 @end iftex
 
   Most of the ``language aware'' features in Emacs, such as font lock
@@ -1486,8 +1458,10 @@ Programming modes often support Outline minor mode (@pxref{Outline
 Mode}).  The Foldout package provides folding-editor features
 (@pxref{Foldout}).
 
+@ifinfo
   The ``automatic typing'' features may be useful for writing programs.
 @xref{Top,,Autotyping, autotype, Autotyping}.
+@end ifinfo
 
 @node C Modes
 @section C and Related Modes
@@ -1509,9 +1483,14 @@ Mode}).  The Foldout package provides folding-editor features
 
   This section gives a brief description of the special features
 available in C, C++, Objective-C, Java, CORBA IDL, Pike and AWK modes.
-(These are called ``C mode and related modes.'')  @xref{Top, , CC Mode,
-ccmode, CC Mode}, for a more extensive description of these modes
-and their special features.
+(These are called ``C mode and related modes.'')
+@ifinfo
+@xref{Top,, CC Mode, ccmode, CC Mode}, for more details.
+@end ifinfo
+@ifnotinfo
+For more details, see the CC mode Info manual, which is distributed
+with Emacs.
+@end ifnotinfo
 
 @menu
 * Motion in C::                 Commands to move by C statements, etc.
index 0df4a3a7bb5579594e975731f7b44cafac0309e9..d05af468fa17c01658de3b043f7d4ad277903aeb 100644 (file)
@@ -1340,17 +1340,18 @@ included in GNU mailutils (the ``mailutils version,''
 command line syntax and the same basic subset of options.  However, the
 Mailutils version offers additional features.
 
-  The Emacs version of @code{movemail} is able to retrieve mail from the
-usual UNIX mailbox formats and from remote mailboxes using the POP3
-protocol.
+  The Emacs version of @code{movemail} is able to retrieve mail from
+the usual Unix mailbox formats and from remote mailboxes using the
+POP3 protocol.
 
   The Mailutils version is able to handle a wide set of mailbox
-formats, such as plain UNIX mailboxes, @code{maildir} and @code{MH}
-mailboxes, etc.  It is able to access remote mailboxes using the POP3 or
-IMAP4 protocol, and can retrieve mail from them using a TLS encrypted
-channel.  It also accepts mailbox arguments in @acronym{URL} form.
-The detailed description of mailbox @acronym{URL}s can be found in
-@ref{URL,,,mailutils,Mailbox URL Formats}.  In short, a @acronym{URL} is:
+formats, such as plain Unix mailboxes, @code{maildir} and @code{MH}
+mailboxes, etc.  It is able to access remote mailboxes using the POP3
+or IMAP4 protocol, and can retrieve mail from them using a TLS
+encrypted channel.  It also accepts mailbox arguments in @acronym{URL}
+form.  The detailed description of mailbox @acronym{URL}s can be found
+in @ref{URL,,,mailutils,Mailbox URL Formats}.  In short, a
+@acronym{URL} is:
 
 @smallexample
 @var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name}
@@ -1381,9 +1382,9 @@ local mailbox.
 
 @table @code
 @item mbox
-Usual UNIX mailbox format.  In this case, neither @var{user} nor
-@var{pass} are used, and @var{host-or-file-name} denotes the file name of
-the mailbox file, e.g., @code{mbox://var/spool/mail/smith}.
+Usual Unix mailbox format.  In this case, neither @var{user} nor
+@var{pass} are used, and @var{host-or-file-name} denotes the file name
+of the mailbox file, e.g., @code{mbox://var/spool/mail/smith}.
 
 @item mh
 A local mailbox in the @acronym{MH} format.  @var{User} and
@@ -1524,7 +1525,7 @@ use it, add the @samp{--tls} flag to @code{rmail-movemail-flags}.
 @section Retrieving Mail from Local Mailboxes in Various Formats
 
   If your incoming mail is stored on a local machine in a format other
-than UNIX mailbox, you will need the Mailutils @code{movemail} to
+than Unix mailbox, you will need the Mailutils @code{movemail} to
 retrieve it.  @xref{Movemail}, for the detailed description of
 @code{movemail} versions.  For example, to access mail from a inbox in
 @code{maildir} format located in @file{/var/spool/mail/in}, you would
index 5fdf4c5dabe62a19ee588e19dc038381235f80c9..c27a2c2936d20a78bdbad3f8dfc8dfd9984b8a11 100644 (file)
@@ -32,10 +32,14 @@ structure.
 @findex nxml-mode
   Emacs has other major modes for text which contains ``embedded''
 commands, such as @TeX{} and La@TeX{} (@pxref{TeX Mode}); HTML and
-SGML (@pxref{HTML Mode}); XML (@pxref{Top, nXML Mode,,nxml-mode, nXML
-Mode}); and Groff and Nroff (@pxref{Nroff Mode}).  In addition, you
-can edit formatted text in WYSIWYG style (``what you see is what you
-get''), using Enriched mode (@pxref{Formatted Text}).
+SGML (@pxref{HTML Mode}); XML
+@ifinfo
+(@pxref{Top,The nXML Mode Manual,,nxml-mode, nXML Mode});
+@end ifinfo
+@ifnotinfo
+(see the nXML mode Info manual, which is distributed with Emacs);
+@end ifnotinfo
+and Groff and Nroff (@pxref{Nroff Mode}).
 
 @cindex ASCII art
   If you need to edit pictures made out of text characters (commonly
@@ -48,13 +52,14 @@ for editing such pictures.
 @xref{Picture Mode}.
 @end ifnottex
 
-
+@ifinfo
 @cindex skeletons
 @cindex templates
 @cindex autotyping
 @cindex automatic typing
   The ``automatic typing'' features may be useful when writing text.
-@inforef{Top,, autotype}.
+@inforef{Top,The Autotype Manual,autotype}.
+@end ifinfo
 
 @menu
 * Words::               Moving over and killing words.
@@ -68,8 +73,8 @@ for editing such pictures.
 * TeX Mode::            Editing input to the formatter TeX.
 * HTML Mode::           Editing HTML and SGML files.
 * 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.
+* Enriched Text::       Editing text ``enriched'' with fonts, colors, etc.
+* Text Based Tables::   Commands for editing text-based tables.
 * Two-Column::          Splitting text columns into separate windows.
 @end menu
 
@@ -319,15 +324,15 @@ in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[
 
 @cindex pages
 @cindex formfeed character
-  Within some text files, text is divided into @dfn{pages}, which are
-delimited by the @dfn{formfeed character} (@acronym{ASCII} code 12,
-sometimes denoted as @key{control-L}).  When you print hardcopy for a
-file, the formfeed character forces a page break: each page of the
-file goes on a separate page on paper.  Most Emacs commands treat the
-formfeed character just like any other character: you can insert it
-with @kbd{C-q C-l}, and delete it with @key{DEL}.  However, since
-pages are often meaningful divisions of the file, Emacs provides
-commands to move over them and operate on them.
+  Within some text files, text is divided into @dfn{pages} delimited
+by the @dfn{formfeed character} (@acronym{ASCII} code 12, also denoted
+as @key{control-L}), which is displayed in Emacs as the escape
+sequence @samp{^L} (@pxref{Text Display}).  Traditionally, when such
+text files are printed to hardcopy, each formfeed character forces a
+page break.  Most Emacs commands treat it just like any other
+character, so you can insert it with @kbd{C-q C-l}, delete it with
+@key{DEL}, etc.  In addition, Emacs provides commands to move over
+pages and operate on them.
 
 @table @kbd
 @item M-x what-page
@@ -359,9 +364,9 @@ command moves forward past the next page delimiter.
 @kindex C-x C-p
 @findex mark-page
   The @kbd{C-x C-p} command (@code{mark-page}) puts point at the
-beginning of the current page and the mark at the end.  The page
-delimiter at the end is included (the mark follows it).  The page
-delimiter at the front is excluded (point follows it).
+beginning of the current page (after that page delimiter at the
+front), and the mark at the end of the page (after the page delimiter
+at the end).
 
   @kbd{C-x C-p C-w} is a handy way to kill a page to move it
 elsewhere.  If you move to another page delimiter with @kbd{C-x [} and
@@ -403,9 +408,7 @@ beginning of a line.
 specified width.  Emacs does filling in two ways.  In Auto Fill mode,
 inserting text with self-inserting characters also automatically fills
 it.  There are also explicit fill commands that you can use when editing
-text leaves it unfilled.  When you edit formatted text, you can specify
-a style of filling for each portion of the text (@pxref{Formatted
-Text}).
+text leaves it unfilled.
 
 @menu
 * Auto Fill::      Auto Fill mode breaks long lines automatically.
@@ -419,9 +422,9 @@ Text}).
 @cindex Auto Fill mode
 @cindex mode, Auto Fill
 
-  @dfn{Auto Fill} mode is a minor mode in which lines are broken
-automatically when they become too wide.  Breaking happens only when
-you type a @key{SPC} or @key{RET}.
+  @dfn{Auto Fill} mode is a buffer-local minor mode (@pxref{Minor
+Modes}) in which lines are broken automatically when they become too
+wide.  Breaking happens only when you type a @key{SPC} or @key{RET}.
 
 @table @kbd
 @item M-x auto-fill-mode
@@ -432,45 +435,43 @@ In Auto Fill mode, break lines when appropriate.
 @end table
 
 @findex auto-fill-mode
-  @kbd{M-x auto-fill-mode} turns Auto Fill mode on if it was off, or off
-if it was on.  With a positive numeric argument it always turns Auto
-Fill mode on, and with a negative argument always turns it off.  You can
-see when Auto Fill mode is in effect by the presence of the word
-@samp{Fill} in the mode line, inside the parentheses.  Auto Fill mode is
-a minor mode which is enabled or disabled for each buffer individually.
-@xref{Minor Modes}.
-
-  In Auto Fill mode, lines are broken automatically at spaces when they
-get longer than the desired width.  Line breaking and rearrangement
-takes place only when you type @key{SPC} or @key{RET}.  If you wish to
-insert a space or newline without permitting line-breaking, type
-@kbd{C-q @key{SPC}} or @kbd{C-q C-j} (recall that a newline is really a
-control-J).  Also, @kbd{C-o} inserts a newline without line breaking.
-
-  Auto Fill mode works well with programming-language modes, because it
-indents new lines with @key{TAB}.  If a line ending in a comment gets
-too long, the text of the comment is split into two comment lines.
-Optionally, new comment delimiters are inserted at the end of the first
-line and the beginning of the second so that each line is a separate
-comment; the variable @code{comment-multi-line} controls the choice
-(@pxref{Comments}).
-
-  Adaptive filling (@pxref{Adaptive Fill}) works for Auto Filling as
-well as for explicit fill commands.  It takes a fill prefix
-automatically from the second or first line of a paragraph.
-
-  Auto Fill mode does not refill entire paragraphs; it can break lines but
-cannot merge lines.  So editing in the middle of a paragraph can result in
-a paragraph that is not correctly filled.  The easiest way to make the
-paragraph properly filled again is usually with the explicit fill commands.
+  The mode command @kbd{M-x auto-fill-mode} toggles Auto Fill mode in
+the current buffer.  With a positive numeric argument, it enables Auto
+Fill mode, and with a negative argument it disables it.  If
+@code{auto-fill-mode} is called from Lisp with an omitted or
+@code{nil} argument, it enables Auto Fill mode.  To enable Auto Fill
+mode automatically in certain major modes, add @code{auto-fill-mode}
+to the mode hooks (@pxref{Major Modes}).  When Auto Fill mode is
+enabled, the mode indicator @samp{Fill} appears in the mode line
+(@pxref{Mode Line}).
+
+  Auto Fill mode breaks lines automatically at spaces whenever they
+get longer than the desired width.  This line breaking occurs only
+when you type @key{SPC} or @key{RET}.  If you wish to insert a space
+or newline without permitting line-breaking, type @kbd{C-q @key{SPC}}
+or @kbd{C-q C-j} respectively.  Also, @kbd{C-o} inserts a newline
+without line breaking.
+
+  When Auto Fill mode breaks a line, it tries to obey the
+@dfn{adaptive fill prefix}: if a fill prefix can be deduced from the
+first and/or second line of the current paragraph, it is inserted into
+the new line (@pxref{Adaptive Fill}).  Otherwise the new line is
+indented, as though you had typed @key{TAB} on it
+(@pxref{Indentation}).  In a programming language mode, if a line is
+broken in the middle of a comment, the comment is split by inserting
+new comment delimiters as appropriate.
+
+  Auto Fill mode does not refill entire paragraphs; it breaks lines
+but does not merge lines.  Therefore, editing in the middle of a
+paragraph can result in a paragraph that is not correctly filled.  To
+fill it, call the explicit fill commands
+@iftex
+described in the next section.
+@end iftex
 @ifnottex
-@xref{Fill Commands}.
+(@pxref{Fill Commands}).
 @end ifnottex
 
-  Many users like Auto Fill mode and want to use it in all text files.
-The section on init files says how to arrange this permanently for yourself.
-@xref{Init File}.
-
 @node Fill Commands
 @subsection Explicit Fill Commands
 
@@ -489,21 +490,23 @@ Center a line.
 
 @kindex M-q
 @findex fill-paragraph
-  To refill a paragraph, use the command @kbd{M-q}
-(@code{fill-paragraph}).  This operates on the paragraph that point is
-inside, or the one after point if point is between paragraphs.
-Refilling works by removing all the line-breaks, then inserting new
-ones where necessary.  When there is an active region, this command
-operates on the text within the region like @code{fill-region}.
+  The command @kbd{M-q} (@code{fill-paragraph}) @dfn{fills} the
+current paragraph.  It redistributes the line breaks within the
+paragraph, and deletes any excess space and tab characters occurring
+within the paragraph, in such a way that the lines end up fitting
+within a certain maximum width.
 
 @findex fill-region
-  To refill many paragraphs, use @kbd{M-x fill-region}, which
-finds the paragraphs in the region and fills each of them.
+  Normally, @kbd{M-q} acts on the paragraph where point is, but if
+point is between paragraphs, it acts on the paragraph after point.  If
+the region is active, it acts instead on the text in the region.  You
+can also call @kbd{M-x fill-region} to specifically fill the text in
+the region.
 
 @findex fill-region-as-paragraph
-  @kbd{M-q} and @code{fill-region} use the same criteria as @kbd{M-h}
-for finding paragraph boundaries (@pxref{Paragraphs}).  For more
-control, you can use @kbd{M-x fill-region-as-paragraph}, which refills
+  @kbd{M-q} and @code{fill-region} use the usual Emacs criteria for
+finding paragraph boundaries (@pxref{Paragraphs}).  For more control,
+you can use @kbd{M-x fill-region-as-paragraph}, which refills
 everything between point and mark as a single paragraph.  This command
 deletes any blank lines within the region, so separate blocks of text
 end up combined into one block.
@@ -513,9 +516,18 @@ end up combined into one block.
 as well as filling it.  This means that extra spaces are inserted to
 make the right margin line up exactly at the fill column.  To remove
 the extra spaces, use @kbd{M-q} with no argument.  (Likewise for
-@code{fill-region}.)  Another way to control justification, and choose
-other styles of filling, is with the @code{justification} text
-property; see @ref{Format Justification}.
+@code{fill-region}.)
+
+@vindex fill-column
+@kindex C-x f
+@findex set-fill-column
+  The maximum line width for filling is specified by the buffer-local
+variable @code{fill-column}.  The default value (@pxref{Locals}) is
+70.  The easiest way to set @code{fill-column} in the current buffer
+is to use the command @kbd{C-x f} (@code{set-fill-column}).  With a
+numeric argument, it uses that as the new fill column.  With just
+@kbd{C-u} as argument, it sets @code{fill-column} to the current
+horizontal position of point.
 
 @kindex M-o M-s @r{(Text mode)}
 @cindex centering
@@ -526,40 +538,27 @@ within the current fill column.  With an argument @var{n}, it centers
 made by Text mode and is available only in that and related modes
 (@pxref{Text Mode}).
 
-@vindex fill-column
-@kindex C-x f
-@findex set-fill-column
-  The maximum line width for filling is in the variable
-@code{fill-column}.  Altering the value of @code{fill-column} makes it
-local to the current buffer; until that time, the default value is in
-effect.  The default is initially 70.  @xref{Locals}.  The easiest way
-to set @code{fill-column} is to use the command @kbd{C-x f}
-(@code{set-fill-column}).  With a numeric argument, it uses that as the
-new fill column.  With just @kbd{C-u} as argument, it sets
-@code{fill-column} to the current horizontal position of point.
-
-  Emacs commands normally consider a period followed by two spaces or by
-a newline as the end of a sentence; a period followed by just one space
-indicates an abbreviation and not the end of a sentence.  To preserve
-the distinction between these two ways of using a period, the fill
-commands do not break a line after a period followed by just one space.
-
-  If the variable @code{sentence-end-double-space} is @code{nil}, the
-fill commands expect and leave just one space at the end of a sentence.
-Ordinarily this variable is @code{t}, so the fill commands insist on
-two spaces for the end of a sentence, as explained above.  @xref{Sentences}.
+  By default, Emacs considers a period followed by two spaces or by a
+newline as the end of a sentence; a period followed by just one space
+indicates an abbreviation, not the end of a sentence.  Accordingly,
+the fill commands will not break a line after a period followed by
+just one space.  If you change the variable
+@code{sentence-end-double-space} to a non-@code{nil} value, the fill
+commands will break a line after a period followed by one space, and
+put just one space after each period.  @xref{Sentences}, for other
+effects and possible drawbacks of this.
 
 @vindex colon-double-space
   If the variable @code{colon-double-space} is non-@code{nil}, the
 fill commands put two spaces after a colon.
 
 @vindex fill-nobreak-predicate
-  The variable @code{fill-nobreak-predicate} is a hook (an abnormal
-hook, @pxref{Hooks}) specifying additional conditions where
-line-breaking is not allowed.  Each function is called with no
-arguments, with point at a place where Emacs is considering breaking
-the line.  If a function returns a non-@code{nil} value, then that's
-a bad place to break the line.  Two standard functions you can use are
+  To specify additional conditions where line-breaking is not allowed,
+customize the abnormal hook variable @code{fill-nobreak-predicate}
+(@pxref{Hooks}).  Each function in this hook is called with no
+arguments, with point positioned where Emacs is considering breaking a
+line.  If a function returns a non-@code{nil} value, Emacs will not
+break the line there.  Two functions you can use are
 @code{fill-single-word-nobreak-p} (don't break after the first word of
 a sentence or before the last) and @code{fill-french-nobreak-p} (don't
 break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}).
@@ -568,12 +567,11 @@ break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}).
 @subsection The Fill Prefix
 
 @cindex fill prefix
-  To fill a paragraph in which each line starts with a special marker
-(which might be a few spaces, giving an indented paragraph), you can use
-the @dfn{fill prefix} feature.  The fill prefix is a string that Emacs
-expects every line to start with, and which is not included in filling.
-You can specify a fill prefix explicitly; Emacs can also deduce the
-fill prefix automatically (@pxref{Adaptive Fill}).
+  The @dfn{fill prefix} feature allows paragraphs to be filled so that
+each line starts with a special string of characters (such as a
+sequence of spaces, giving an indented paragraph).  You can specify a
+fill prefix explicitly; otherwise, Emacs tries to deduce one
+automatically (@pxref{Adaptive Fill}).
 
 @table @kbd
 @item C-x .
@@ -597,15 +595,15 @@ after the @kbd{C-x}.)  To turn off the fill prefix, specify an empty
 prefix: type @w{@kbd{C-x .}}@: with point at the beginning of a line.
 
   When a fill prefix is in effect, the fill commands remove the fill
-prefix from each line of the paragraph before filling and insert it on
-each line after filling.  (The beginning of the first line of the
+prefix from each line of the paragraph before filling, and insert it
+on each line after filling.  (The beginning of the first line of the
 paragraph is left unchanged, since often that is intentionally
 different.)  Auto Fill mode also inserts the fill prefix automatically
-when it makes a new line.  The @kbd{C-o} command inserts the fill
-prefix on new lines it creates, when you use it at the beginning of a
-line (@pxref{Blank Lines}).  Conversely, the command @kbd{M-^} deletes
-the prefix (if it occurs) after the newline that it deletes
-(@pxref{Indentation}).
+when it makes a new line (@pxref{Auto Fill}).  The @kbd{C-o} command
+inserts the fill prefix on new lines it creates, when you use it at
+the beginning of a line (@pxref{Blank Lines}).  Conversely, the
+command @kbd{M-^} deletes the prefix (if it occurs) after the newline
+that it deletes (@pxref{Indentation}).
 
   For example, if @code{fill-column} is 40 and you set the fill prefix
 to @samp{;; }, then @kbd{M-q} in the following text
@@ -658,7 +656,8 @@ per-buffer variable; altering the variable affects only the current buffer,
 but there is a default value which you can change as well.  @xref{Locals}.
 
   The @code{indentation} text property provides another way to control
-the amount of indentation paragraphs receive.  @xref{Format Indentation}.
+the amount of indentation paragraphs receive.  @xref{Enriched
+Indentation}.
 
 @node Adaptive Fill
 @subsection Adaptive Filling
@@ -755,17 +754,16 @@ Convert region to upper case (@code{upcase-region}).
 @findex downcase-word
 @findex upcase-word
 @findex capitalize-word
-  The word conversion commands are the most useful.  @kbd{M-l}
-(@code{downcase-word}) converts the word after point to lower case, moving
-past it.  Thus, repeating @kbd{M-l} converts successive words.
-@kbd{M-u} (@code{upcase-word}) converts to all capitals instead, while
-@kbd{M-c} (@code{capitalize-word}) puts the first letter of the word
-into upper case and the rest into lower case.  All these commands convert
-several words at once if given an argument.  They are especially convenient
-for converting a large amount of text from all upper case to mixed case,
-because you can move through the text using @kbd{M-l}, @kbd{M-u} or
-@kbd{M-c} on each word as appropriate, occasionally using @kbd{M-f} instead
-to skip a word.
+  @kbd{M-l} (@code{downcase-word}) converts the word after point to
+lower case, moving past it.  Thus, repeating @kbd{M-l} converts
+successive words.  @kbd{M-u} (@code{upcase-word}) converts to all
+capitals instead, while @kbd{M-c} (@code{capitalize-word}) puts the
+first letter of the word into upper case and the rest into lower case.
+All these commands convert several words at once if given an argument.
+They are especially convenient for converting a large amount of text
+from all upper case to mixed case, because you can move through the
+text using @kbd{M-l}, @kbd{M-u} or @kbd{M-c} on each word as
+appropriate, occasionally using @kbd{M-f} instead to skip a word.
 
   When given a negative argument, the word case conversion commands apply
 to the appropriate number of words before point, but do not move point.
@@ -799,9 +797,10 @@ enable the command, which means it will not ask for confirmation again.
 @cindex mode, Text
 @findex text-mode
 
-  When you edit files of text in a human language, it's more convenient
-to use Text mode rather than Fundamental mode.  To enter Text mode, type
-@kbd{M-x text-mode}.
+  Text mode is a major mode for editing files of text in a human
+language.  Files which have names ending in the extension @file{.txt}
+are usually opened in Text mode (@pxref{Choosing Modes}).  To
+explicitly switch to Text mode, type @kbd{M-x text-mode}.
 
   In Text mode, only blank lines and page delimiters separate
 paragraphs.  As a result, paragraphs can be indented, and adaptive
@@ -809,46 +808,49 @@ filling determines what indentation to use when filling a paragraph.
 @xref{Adaptive Fill}.
 
 @kindex TAB @r{(Text mode)}
-  Text mode defines @key{TAB} to run @code{indent-relative}
-(@pxref{Indentation}), so that you can conveniently indent a line like
-the previous line.
+  In Text mode, the @key{TAB} (@code{indent-for-tab-command}) command
+usually inserts whitespace up to the next tab stop, instead of
+indenting the current line.  @xref{Indentation}, for details.
 
   Text mode turns off the features concerned with comments except when
 you explicitly invoke them.  It changes the syntax table so that
-single-quotes are considered part of words.  However, if a word starts
-with single-quotes, these are treated as a prefix for purposes such as
-capitalization.  That is, @kbd{M-c} will convert @samp{'hello'} into
-@samp{'Hello'}, as expected.
+single-quotes are considered part of words (e.g.@: @samp{don't} is
+considered one word).  However, if a word starts with a single-quote,
+it is treated as a prefix for the purposes of capitalization
+(e.g.@: @kbd{M-c} converts @samp{'hello'} into @samp{'Hello'}, as
+expected).
 
 @cindex Paragraph-Indent Text mode
 @cindex mode, Paragraph-Indent Text
 @findex paragraph-indent-text-mode
 @findex paragraph-indent-minor-mode
   If you indent the first lines of paragraphs, then you should use
-Paragraph-Indent Text mode rather than Text mode.  In this mode, you
-do not need to have blank lines between paragraphs, because the
-first-line indentation is sufficient to start a paragraph; however
-paragraphs in which every line is indented are not supported.  Use
-@kbd{M-x paragraph-indent-text-mode} to enter this mode.  Use @kbd{M-x
-paragraph-indent-minor-mode} to enable an equivalent minor mode in
-situations where you can't change the major mode---in mail
+Paragraph-Indent Text mode (@kbd{M-x paragraph-indent-text-mode})
+rather than Text mode.  In that mode, you do not need to have blank
+lines between paragraphs, because the first-line indentation is
+sufficient to start a paragraph; however paragraphs in which every
+line is indented are not supported.  Use @kbd{M-x
+paragraph-indent-minor-mode} to enable an equivalent minor mode for
+situations where you shouldn't change the major mode---in mail
 composition, for instance.
 
 @kindex M-TAB @r{(Text mode)}
-  Text mode, and all the modes based on it, define @kbd{M-@key{TAB}}
-as the command @code{ispell-complete-word}, which performs completion
-of the partial word in the buffer before point, using the spelling
-dictionary as the space of possible words.  @xref{Spelling}.  If your
-window manager defines @kbd{M-@key{TAB}} to switch windows, you can
-type @kbd{@key{ESC} @key{TAB}} or @kbd{C-M-i}.
+  Text mode binds @kbd{M-@key{TAB}} to @code{ispell-complete-word}.
+This command performs completion of the partial word in the buffer
+before point, using the spelling dictionary as the space of possible
+words.  @xref{Spelling}.  If your window manager defines
+@kbd{M-@key{TAB}} to switch windows, you can type @kbd{@key{ESC}
+@key{TAB}} or @kbd{C-M-i} instead.
 
 @vindex text-mode-hook
-  Entering Text mode runs the hook @code{text-mode-hook}.  Other major
-modes related to Text mode also run this hook, followed by hooks of
-their own; this includes Paragraph-Indent Text mode, Nroff mode,
-@TeX{} mode, Outline mode, and Message mode.  Hook functions on
-@code{text-mode-hook} can look at the value of @code{major-mode} to
-see which of these modes is actually being entered.  @xref{Hooks}.
+  Entering Text mode runs the mode hook @code{text-mode-hook}
+(@pxref{Major Modes}).
+
+  The following sections describe several major modes that are
+@dfn{derived} from Text mode.  These derivatives share most of the
+features of Text mode described above.  In particular, derivatives of
+Text mode run @code{text-mode-hook} prior to running their own mode
+hooks.
 
 @node Outline Mode
 @section Outline Mode
@@ -859,29 +861,34 @@ see which of these modes is actually being entered.  @xref{Hooks}.
 @findex outline-mode
 @findex outline-minor-mode
 @vindex outline-minor-mode-prefix
-  Outline mode is a major mode much like Text mode but intended for
-editing outlines.  It allows you to make parts of the text temporarily
-invisible so that you can see the outline structure.  Type @kbd{M-x
-outline-mode} to switch to Outline mode as the major mode of the current
-buffer.
-
-  When Outline mode makes a line invisible, the line does not appear
-on the screen.  The screen appears exactly as if the invisible line
-were deleted, except that an ellipsis (three periods in a row) appears
-at the end of the previous visible line.  (Multiple consecutive
-invisible lines produce just one ellipsis.)
+@vindex outline-mode-hook
+  Outline mode is a major mode derived from Text mode, which is
+specialized for editing outlines.  It provides commands to navigate
+between entries in the outline structure, and commands to make parts
+of a buffer temporarily invisible, so that the outline structure may
+be more easily viewed.  Type @kbd{M-x outline-mode} to switch to
+Outline mode.  Entering Outline mode runs the hook
+@code{text-mode-hook} followed by the hook @code{outline-mode-hook}
+(@pxref{Hooks}).
+
+  When you use an Outline mode command to make a line invisible
+(@pxref{Outline Visibility}), the line disappears from the screen.  An
+ellipsis (three periods in a row) is displayed at the end of the
+previous visible line, to indicate the hidden text.  Multiple
+consecutive invisible lines produce just one ellipsis.
 
   Editing commands that operate on lines, such as @kbd{C-n} and
-@kbd{C-p}, treat the text of the invisible line as part of the previous
-visible line.  Killing the ellipsis at the end of a visible line
-really kills all the following invisible lines.
-
-  Outline minor mode provides the same commands as the major mode,
-Outline mode, but you can use it in conjunction with other major modes.
-Type @kbd{M-x outline-minor-mode} to enable the Outline minor mode in
-the current buffer.  You can also specify this in the text of a file,
-with a file local variable of the form @samp{mode: outline-minor}
-(@pxref{File Variables}).
+@kbd{C-p}, treat the text of the invisible line as part of the
+previous visible line.  Killing the ellipsis at the end of a visible
+line really kills all the following invisible text associated with the
+ellipsis.
+
+  Outline minor mode is a buffer-local minor mode which provides the
+same commands as the major mode, Outline mode, but can be used in
+conjunction with other major modes.  You can type @kbd{M-x
+outline-minor-mode} to toggle Outline minor mode in the current
+buffer, or use a file-local variable setting to enable it in a
+specific file (@pxref{File Variables}).
 
 @kindex C-c @@ @r{(Outline minor mode)}
   The major mode, Outline mode, provides special key bindings on the
@@ -890,17 +897,12 @@ with a file local variable of the form @samp{mode: outline-minor}
 major mode's special commands.  (The variable
 @code{outline-minor-mode-prefix} controls the prefix used.)
 
-@vindex outline-mode-hook
-  Entering Outline mode runs the hook @code{text-mode-hook} followed by
-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
-                                     outlines.
-* Visibility: Outline Visibility.  Commands to control what is visible.
-* Views: Outline Views.            Outlines and multiple views.
-* Foldout::                        Folding means zooming in on outlines.
+* Outline Format::      What the text of an outline looks like.
+* Outline Motion::      Special commands for moving through outlines.
+* Outline Visibility::  Commands to control what is visible.
+* Outline Views::       Outlines and multiple views.
+* Foldout::             Folding means zooming in on outlines.
 @end menu
 
 @node Outline Format
@@ -910,13 +912,13 @@ the hook @code{outline-mode-hook} (@pxref{Hooks}).
 @cindex body lines (Outline mode)
   Outline mode assumes that the lines in the buffer are of two types:
 @dfn{heading lines} and @dfn{body lines}.  A heading line represents a
-topic in the outline.  Heading lines start with one or more stars; the
-number of stars determines the depth of the heading in the outline
-structure.  Thus, a heading line with one star is a major topic; all the
-heading lines with two stars between it and the next one-star heading
-are its subtopics; and so on.  Any line that is not a heading line is a
-body line.  Body lines belong with the preceding heading line.  Here is
-an example:
+topic in the outline.  Heading lines start with one or more asterisk
+(@samp{*}) characters; the number of asterisks determines the depth of
+the heading in the outline structure.  Thus, a heading line with one
+@samp{*} is a major topic; all the heading lines with two @samp{*}s
+between it and the next one-@samp{*} heading are its subtopics; and so
+on.  Any line that is not a heading line is a body line.  Body lines
+belong with the preceding heading line.  Here is an example:
 
 @example
 * Food
@@ -998,12 +1000,10 @@ Move point up to a lower-level (more inclusive) visible heading line
 @findex outline-previous-visible-heading
 @kindex C-c C-n @r{(Outline mode)}
 @kindex C-c C-p @r{(Outline mode)}
-  @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to the next
-heading line.  @kbd{C-c C-p} (@code{outline-previous-visible-heading}) moves
-similarly backward.  Both accept numeric arguments as repeat counts.  The
-names emphasize that invisible headings are skipped, but this is not really
-a special feature.  All editing commands that look for lines ignore the
-invisible lines automatically.
+  @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to
+the next heading line.  @kbd{C-c C-p}
+(@code{outline-previous-visible-heading}) moves similarly backward.
+Both accept numeric arguments as repeat counts.
 
 @findex outline-up-heading
 @findex outline-forward-same-level
@@ -1011,21 +1011,19 @@ invisible lines automatically.
 @kindex C-c C-f @r{(Outline mode)}
 @kindex C-c C-b @r{(Outline mode)}
 @kindex C-c C-u @r{(Outline mode)}
-  More powerful motion commands understand the level structure of headings.
-@kbd{C-c C-f} (@code{outline-forward-same-level}) and
+  The commands @kbd{C-c C-f} (@code{outline-forward-same-level}) and
 @kbd{C-c C-b} (@code{outline-backward-same-level}) move from one
-heading line to another visible heading at the same depth in
-the outline.  @kbd{C-c C-u} (@code{outline-up-heading}) moves
-backward to another heading that is less deeply nested.
+heading line to another visible heading at the same depth in the
+outline.  @kbd{C-c C-u} (@code{outline-up-heading}) moves backward to
+another heading that is less deeply nested.
 
 @node Outline Visibility
 @subsection Outline Visibility Commands
 
-  The other special commands of outline mode are used to make lines visible
-or invisible.  Their names all start with @code{hide} or @code{show}.
-Most of them fall into pairs of opposites.  They are not undoable; instead,
-you can undo right past them.  Making lines visible or invisible is simply
-not recorded by the undo mechanism.
+  Outline mode provides several commands for temporarily hiding or
+revealing parts of the buffer, based on the outline structure.  These
+commands are not undoable; their effects are simply not recorded by
+the undo mechanism, so you can undo right past them (@pxref{Undo}).
 
   Many of these commands act on the ``current'' heading line.  If
 point is on a heading line, that is the current heading line; if point
@@ -1069,72 +1067,64 @@ the headings leading up from there to the top level of the outline
 @findex show-entry
 @kindex C-c C-c @r{(Outline mode)}
 @kindex C-c C-e @r{(Outline mode)}
-  Two commands that are exact opposites are @kbd{C-c C-c}
-(@code{hide-entry}) and @kbd{C-c C-e} (@code{show-entry}).  They apply
-to the body lines directly following the current heading line.
-Subheadings and their bodies are not affected.
+  The simplest of these commands are @kbd{C-c C-c}
+(@code{hide-entry}), which hides the body lines directly following the
+current heading line, and @kbd{C-c C-e} (@code{show-entry}), which
+reveals them.  Subheadings and their bodies are not affected.
 
 @findex hide-subtree
 @findex show-subtree
 @kindex C-c C-s @r{(Outline mode)}
 @kindex C-c C-d @r{(Outline mode)}
 @cindex subtree (Outline mode)
-  Two more powerful opposites are @kbd{C-c C-d} (@code{hide-subtree})
-and @kbd{C-c C-s} (@code{show-subtree}).  Both apply to the current
-heading line's @dfn{subtree}: its body, all its subheadings, both
-direct and indirect, and all of their bodies.  In other words, the
-subtree contains everything following the current heading line, up to
-and not including the next heading of the same or higher rank.
+  The commands @kbd{C-c C-d} (@code{hide-subtree}) and @kbd{C-c C-s}
+(@code{show-subtree}) are more powerful.  They apply to the current
+heading line's @dfn{subtree}: its body, all of its subheadings, both
+direct and indirect, and all of their bodies.
 
 @findex hide-leaves
 @findex show-branches
+@findex show-children
 @kindex C-c C-l @r{(Outline mode)}
 @kindex C-c C-k @r{(Outline mode)}
-  Intermediate between a visible subtree and an invisible one is having
-all the subheadings visible but none of the body.  There are two
-commands for doing this, depending on whether you want to hide the
-bodies or make the subheadings visible.  They are @kbd{C-c C-l}
-(@code{hide-leaves}) and @kbd{C-c C-k} (@code{show-branches}).
-
 @kindex C-c C-i @r{(Outline mode)}
-@findex show-children
-  A little weaker than @code{show-branches} is @kbd{C-c C-i}
-(@code{show-children}).  It makes just the direct subheadings
-visible---those one level down.  Deeper subheadings remain invisible, if
-they were invisible.
+  The command @kbd{C-c C-l} (@code{hide-leaves}) hides the body of the
+current heading line as well as all the bodies in its subtree; the
+subheadings themselves are left visible.  The command @kbd{C-c C-k}
+(@code{show-branches}) reveals the subheadings, if they had previously
+been hidden (e.g.@: by @kbd{C-c C-d}).  The command @kbd{C-c C-i}
+(@code{show-children}) is a weaker version of this; it reveals just
+the direct subheadings, i.e.@: those one level down.
+
+@findex hide-other
+@kindex C-c C-o @r{(Outline mode)}
+  The command @kbd{C-c C-o} (@code{hide-other}) hides everything
+except the entry that point is in, plus its parents (the headers
+leading up from there to top level in the outline) and the top level
+headings.
 
 @findex hide-body
 @findex show-all
 @kindex C-c C-t @r{(Outline mode)}
 @kindex C-c C-a @r{(Outline mode)}
-  Two commands have a blanket effect on the whole file.  @kbd{C-c C-t}
-(@code{hide-body}) makes all body lines invisible, so that you see just
-the outline structure (as a special exception, it will not hide lines
-at the top of the file, preceding the first header line, even though
-these are technically body lines).  @kbd{C-c C-a} (@code{show-all})
-makes all lines visible.  These commands can be thought of as a pair
-of opposites even though @kbd{C-c C-a} applies to more than just body
-lines.
-
 @findex hide-sublevels
 @kindex C-c C-q @r{(Outline mode)}
-  The command @kbd{C-c C-q} (@code{hide-sublevels}) hides all but the
-top level headings.  With a numeric argument @var{n}, it hides everything
-except the top @var{n} levels of heading lines.
-
-@findex hide-other
-@kindex C-c C-o @r{(Outline mode)}
-  The command @kbd{C-c C-o} (@code{hide-other}) hides everything except
-the heading and body text that point is in, plus its parents (the headers
-leading up from there to top level in the outline) and the top level
-headings.
+  The remaining commands affect the whole buffer.  @kbd{C-c C-t}
+(@code{hide-body}) makes all body lines invisible, so that you see
+just the outline structure (as a special exception, it will not hide
+lines at the top of the file, preceding the first header line, even
+though these are technically body lines).  @kbd{C-c C-a}
+(@code{show-all}) makes all lines visible.  @kbd{C-c C-q}
+(@code{hide-sublevels}) hides all but the top level headings; with a
+numeric argument @var{n}, it hides everything except the top @var{n}
+levels of heading lines.
 
 @findex reveal-mode
   When incremental search finds text that is hidden by Outline mode,
-it makes that part of the buffer visible.  If you exit the search
-at that position, the text remains visible.  You can also
-automatically make text visible as you navigate in it by using
-@kbd{M-x reveal-mode}.
+it makes that part of the buffer visible.  If you exit the search at
+that position, the text remains visible.  You can also automatically
+make text visible as you navigate in it by using Reveal mode (@kbd{M-x
+reveal-mode}), a buffer-local minor mode.
 
 @node Outline Views
 @subsection Viewing One Outline in Multiple Views
@@ -1254,7 +1244,7 @@ it in order for this to take effect.
 
   To use the Foldout package, you can type @kbd{M-x load-library
 @key{RET} foldout @key{RET}}; or you can arrange for to do that
-automatically by putting this in your @file{.emacs} file:
+automatically by putting this in your init file (@pxref{Init File}):
 
 @example
 (eval-after-load "outline" '(require 'foldout))
@@ -1301,18 +1291,48 @@ Emacs does not guess right, you can select the correct variant of
 @TeX{} mode using the command @kbd{M-x plain-tex-mode}, @kbd{M-x
 latex-mode}, @kbd{M-x slitex-mode}, or @kbd{doctex-mode}.
 
-  Emacs also provides Bib@TeX{} mode, a major mode for editing
-Bib@TeX{} files.  Bib@TeX{} is a tool for storing and formatting
-bibliographic references, which is commonly used together with
-La@TeX{}.  In addition, the Ref@TeX{} package provides a minor mode
-which can be used in conjunction with La@TeX{} mode to manage
-bibliographic references.  @inforef{Top,, reftex}.
+  The following sections document the features of @TeX{} mode and its
+variants.  There are several other @TeX{}-related Emacs packages,
+which are not documented in this manual:
+
+@itemize @bullet
+@item
+Bib@TeX{} mode is a major mode for Bib@TeX{} files, which are commonly
+used for keeping bibliographic references for La@TeX{} documents.  For
+more information, see the documentation string for the command
+@code{bibtex-mode}.
+
+@item
+The Ref@TeX{} package provides a minor mode which can be used with
+La@TeX{} mode to manage bibliographic references.
+@ifinfo
+@xref{Top,The Ref@TeX{} Manual,,reftex}.
+@end ifinfo
+@ifnotinfo
+For more information, see the Ref@TeX{} Info manual, which is
+distributed with Emacs.
+@end ifnotinfo
+
+@item
+The AUC@TeX{} package provides more advanced features for editing
+@TeX{} and its related formats, including the ability to preview
+@TeX{} equations within Emacs buffers.  Unlike Bib@TeX{} mode and the
+Ref@TeX{} package, AUC@TeX{} is not distributed with Emacs by default.
+It can be downloaded via the Package Menu (@pxref{Packages}); once
+installed, see
+@ifinfo
+@ref{Top,The AUC@TeX{} Manual,,auctex}.
+@end ifinfo
+@ifnotinfo
+the AUC@TeX{} manual, which is included with the package.
+@end ifnotinfo
+@end itemize
 
 @menu
-* Editing: TeX Editing.   Special commands for editing in TeX mode.
-* LaTeX: LaTeX Editing.   Additional commands for LaTeX input files.
-* Printing: TeX Print.    Commands for printing part of a file with TeX.
-* Misc: TeX Misc.         Customization of TeX mode, and related features.
+* TeX Editing::   Special commands for editing in TeX mode.
+* LaTeX Editing:: Additional commands for LaTeX input files.
+* TeX Print::     Commands for printing part of a file with TeX.
+* TeX Misc::      Customization of TeX mode, and related features.
 @end menu
 
 @node TeX Editing
@@ -1337,12 +1357,10 @@ Move forward past the next unmatched close brace (@code{up-list}).
 @findex tex-insert-quote
 @kindex " @r{(@TeX{} mode)}
   In @TeX{}, the character @samp{"} is not normally used; instead,
-quotations begin with @samp{``} and end with @samp{''}.  For
-convenience, @TeX{} mode overrides the normal meaning of the key
-@kbd{"} with a command that inserts a pair of single-quotes or
-backquotes (@code{tex-insert-quote}).  To be precise, it inserts
-@samp{``} after whitespace or an open brace, @samp{"} after a
-backslash, and @samp{''} after any other character.
+quotations begin with @samp{``} and end with @samp{''}.  @TeX{} mode
+therefore binds the @kbd{"} key to the @code{tex-insert-quote}
+command.  This inserts @samp{``} after whitespace or an open brace,
+@samp{"} after a backslash, and @samp{''} after any other character.
 
   As a special exception, if you type @kbd{"} when the text before
 point is either @samp{``} or @samp{''}, Emacs replaces that preceding
@@ -1350,9 +1368,6 @@ text with a single @samp{"} character.  You can therefore type
 @kbd{""} to insert @samp{"}, should you ever need to do so.  (You can
 also use @kbd{C-q "} to insert this character.)
 
-  To disable the @kbd{"} expansion feature, eliminate that binding in
-the local map (@pxref{Key Bindings}).
-
   In @TeX{} mode, @samp{$} has a special syntax code which attempts to
 understand the way @TeX{} math mode delimiters match.  When you insert a
 @samp{$} that is meant to exit math mode, the position of the matching
@@ -1377,13 +1392,14 @@ text that belongs inside.  Afterward, use the command @kbd{C-c @}}
 @findex tex-validate-region
 @findex tex-terminate-paragraph
 @kindex C-j @r{(@TeX{} mode)}
-  There are two commands for checking the matching of braces.  @kbd{C-j}
-(@code{tex-terminate-paragraph}) checks the paragraph before point, and
-inserts two newlines to start a new paragraph.  It outputs a message in
-the echo area if any mismatch is found.  @kbd{M-x tex-validate-region}
-checks a region, paragraph by paragraph.  The errors are listed in the
-@samp{*Occur*} buffer, and you can use @kbd{C-c C-c} or @kbd{Mouse-2} in
-that buffer to go to a particular mismatch.
+  There are two commands for checking the matching of braces.
+@kbd{C-j} (@code{tex-terminate-paragraph}) checks the paragraph before
+point, and inserts two newlines to start a new paragraph.  It outputs
+a message in the echo area if any mismatch is found.  @kbd{M-x
+tex-validate-region} checks a region, paragraph by paragraph.  The
+errors are listed in an @samp{*Occur*} buffer; you can use the usual
+Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
+particular mismatch (@pxref{Other Repeating Search}).
 
   Note that Emacs commands count square brackets and parentheses in
 @TeX{} mode, not just braces.  This is not strictly correct for the
@@ -1395,8 +1411,8 @@ to work with them.
 @node LaTeX Editing
 @subsection La@TeX{} Editing Commands
 
-  La@TeX{} mode (and its obsolete variant, Sli@TeX{} mode) provide a
-few extra features not applicable to plain @TeX{}:
+  La@TeX{} mode provides a few extra features not applicable to plain
+@TeX{}:
 
 @table @kbd
 @item C-c C-o
@@ -1409,60 +1425,59 @@ Close the innermost La@TeX{} block not yet closed
 
 @findex tex-latex-block
 @kindex C-c C-o @r{(La@TeX{} mode)}
-@vindex latex-block-names
-  In La@TeX{} input, @samp{\begin} and @samp{\end} commands are used to
-group blocks of text.  To insert a @samp{\begin} and a matching
-@samp{\end} (on a new line following the @samp{\begin}), use @kbd{C-c
-C-o} (@code{tex-latex-block}).  A blank line is inserted between the
-two, and point is left there.  You can use completion when you enter the
-block type; to specify additional block type names beyond the standard
-list, set the variable @code{latex-block-names}.  For example, here's
-how to add @samp{theorem}, @samp{corollary}, and @samp{proof}:
+  In La@TeX{} input, @samp{\begin} and @samp{\end} tags are used to
+group blocks of text.  To insert a block, type @kbd{C-c C-o}
+(@code{tex-latex-block}).  This prompts for a block type, and inserts
+the appropriate matching @samp{\begin} and @samp{\end} tags, leaving a
+blank line between the two and moving point there.
 
-@example
-(setq latex-block-names '("theorem" "corollary" "proof"))
-@end example
+@vindex latex-block-names
+  When entering the block type argument to @kbd{C-c C-o}, you can use
+the usual completion commands (@pxref{Completion}).  The default
+completion list contains the standard La@TeX{} block types.  If you
+want additional block types for completion, customize the list
+variable @code{latex-block-names}.
 
 @findex tex-close-latex-block
 @kindex C-c C-e @r{(La@TeX{} mode)}
-  In La@TeX{} input, @samp{\begin} and @samp{\end} commands must
-balance.  You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to
-insert automatically a matching @samp{\end} to match the last unmatched
-@samp{\begin}.  It indents the @samp{\end} to match the corresponding
-@samp{\begin}.  It inserts a newline after @samp{\end} if point is at
-the beginning of a line.
+  In La@TeX{} input, @samp{\begin} and @samp{\end} tags must balance.
+You can use @kbd{C-c C-e} (@code{tex-close-latex-block}) to insert an
+@samp{\end} tag which matches the last unmatched @samp{\begin}.  It
+also indents the @samp{\end} to match the corresponding @samp{\begin},
+and inserts a newline after the @samp{\end} tag if point is at the
+beginning of a line.
 
 @node TeX Print
 @subsection @TeX{} Printing Commands
 
-  You can invoke @TeX{} as an inferior of Emacs on either the entire
-contents of the buffer or just a region at a time.  Running @TeX{} in
-this way on just one chapter is a good way to see what your changes
-look like without taking the time to format the entire file.
+  You can invoke @TeX{} as an subprocess of Emacs, supplying either
+the entire contents of the buffer or just part of it (e.g.@: one
+chapter of a larger document).
 
 @table @kbd
+@item C-c C-b
+Invoke @TeX{} on the entire current buffer (@code{tex-buffer}).
 @item C-c C-r
 Invoke @TeX{} on the current region, together with the buffer's header
 (@code{tex-region}).
-@item C-c C-b
-Invoke @TeX{} on the entire current buffer (@code{tex-buffer}).
-@item C-c @key{TAB}
-Invoke Bib@TeX{} on the current file (@code{tex-bibtex-file}).
 @item C-c C-f
 Invoke @TeX{} on the current file (@code{tex-file}).
-@item C-c C-l
-Recenter the window showing output from the inferior @TeX{} so that
-the last line can be seen (@code{tex-recenter-output-buffer}).
-@item C-c C-k
-Kill the @TeX{} subprocess (@code{tex-kill-job}).
-@item C-c C-p
-Print the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
-C-f} command (@code{tex-print}).
+
 @item C-c C-v
 Preview the output from the last @kbd{C-c C-r}, @kbd{C-c C-b}, or @kbd{C-c
 C-f} command (@code{tex-view}).
-@item C-c C-q
-Show the printer queue (@code{tex-show-print-queue}).
+
+@item C-c C-p
+Print the output from the last @kbd{C-c C-b}, @kbd{C-c C-r}, or
+@kbd{C-c C-f} command (@code{tex-print}).
+
+@item C-c @key{TAB}
+Invoke Bib@TeX{} on the current file (@code{tex-bibtex-file}).
+@item C-c C-l
+Recenter the window showing output from @TeX{} so that the last line
+can be seen (@code{tex-recenter-output-buffer}).
+@item C-c C-k
+Kill the @TeX{} subprocess (@code{tex-kill-job}).
 @item C-c C-c
 Invoke some other compilation command on the entire current buffer
 (@code{tex-compile}).
@@ -1470,49 +1485,51 @@ Invoke some other compilation command on the entire current buffer
 
 @findex tex-buffer
 @kindex C-c C-b @r{(@TeX{} mode)}
-@findex tex-print
-@kindex C-c C-p @r{(@TeX{} mode)}
 @findex tex-view
 @kindex C-c C-v @r{(@TeX{} mode)}
-@findex tex-show-print-queue
-@kindex C-c C-q @r{(@TeX{} mode)}
-  You can pass the current buffer through an inferior @TeX{} by means of
-@kbd{C-c C-b} (@code{tex-buffer}).  The formatted output appears in a
-temporary file; to print it, type @kbd{C-c C-p} (@code{tex-print}).
-Afterward, you can use @kbd{C-c C-q} (@code{tex-show-print-queue}) to
-view the progress of your output towards being printed.  If your terminal
-has the ability to display @TeX{} output files, you can preview the
-output on the terminal with @kbd{C-c C-v} (@code{tex-view}).
+@findex tex-print
+@kindex C-c C-p @r{(@TeX{} mode)}
+  To pass the current buffer through @TeX{}, type @kbd{C-c C-b}
+(@code{tex-buffer}).  The formatted output goes in a temporary file,
+normally a @file{.dvi} file.  Afterwards, you can type @kbd{C-c C-v}
+(@code{tex-view}) to launch an external program, such as
+@command{xdvi}, to view this output file.  You can also type @kbd{C-c
+C-p} (@code{tex-print}) to print a hardcopy of the output file.
 
 @cindex @env{TEXINPUTS} environment variable
 @vindex tex-directory
-  You can specify the directory to use for running @TeX{} by setting the
-variable @code{tex-directory}.  @code{"."} is the default value.  If
-your environment variable @env{TEXINPUTS} contains relative directory
-names, or if your files contains @samp{\input} commands with relative
-file names, then @code{tex-directory} @emph{must} be @code{"."} or you
-will get the wrong results.  Otherwise, it is safe to specify some other
-directory, such as @code{"/tmp"}.
+  By default, @kbd{C-c C-b} runs @TeX{} in the current directory.  The
+output of @TeX{} also goes in this directory.  To run @TeX{} in a
+different directory, change the variable @code{tex-directory} to the
+desired directory name.  If your environment variable @env{TEXINPUTS}
+contains relative directory names, or if your files contains
+@samp{\input} commands with relative file names, then
+@code{tex-directory} @emph{must} be @code{"."} or you will get the
+wrong results.  Otherwise, it is safe to specify some other directory,
+such as @code{"/tmp"}.
 
 @vindex tex-run-command
 @vindex latex-run-command
-@vindex slitex-run-command
-@vindex tex-dvi-print-command
 @vindex tex-dvi-view-command
-@vindex tex-show-queue-command
-  If you want to specify which shell commands are used in the inferior @TeX{},
-you can do so by setting the values of the variables @code{tex-run-command},
-@code{latex-run-command}, @code{slitex-run-command},
-@code{tex-dvi-print-command}, @code{tex-dvi-view-command}, and
-@code{tex-show-queue-command}.  The default values may
-(or may not) be appropriate for your system.
-
-  Normally, the file name given to these commands comes at the end of
-the command string; for example, @samp{latex @var{filename}}.  In some
-cases, however, the file name needs to be embedded in the command; an
-example is when you need to provide the file name as an argument to one
-command whose output is piped to another.  You can specify where to put
-the file name with @samp{*} in the command string.  For example,
+@vindex tex-dvi-print-command
+  The buffer's @TeX{} variant determines what shell command @kbd{C-c
+C-b} actually runs.  In Plain @TeX{} mode, it is specified by the
+variable @code{tex-run-command}, which defaults to @code{"tex"}.  In
+La@TeX{} mode, it is specified by @code{latex-run-command}, which
+defaults to @code{"latex"}.  The shell command that @kbd{C-c C-v} runs
+to view the @file{.dvi} output is determined by the variable
+@code{tex-dvi-view-command}, regardless of the @TeX{} variant.  The
+shell command that @kbd{C-c C-p} runs to print the output is
+determined by the variable @code{tex-dvi-print-command}.
+
+  Normally, Emacs automatically appends the output file name to the
+shell command strings described in the preceding paragraph.  For
+example, if @code{tex-dvi-view-command} is @code{"xdvi"}, @kbd{C-c
+C-v} runs @command{xdvi @var{output-file-name}}.  In some cases,
+however, the file name needs to be embedded in the command, e.g.@: if
+you need to provide the file name as an argument to one command whose
+output is piped to another.  You can specify where to put the file
+name with @samp{*} in the command string.  For example,
 
 @example
 (setq tex-dvi-print-command "dvips -f * | lpr")
@@ -1522,12 +1539,12 @@ the file name with @samp{*} in the command string.  For example,
 @kindex C-c C-k @r{(@TeX{} mode)}
 @findex tex-recenter-output-buffer
 @kindex C-c C-l @r{(@TeX{} mode)}
-  The terminal output from @TeX{}, including any error messages, appears
-in a buffer called @samp{*tex-shell*}.  If @TeX{} gets an error, you can
-switch to this buffer and feed it input (this works as in Shell mode;
-@pxref{Interactive Shell}).  Without switching to this buffer you can
-scroll it so that its last line is visible by typing @kbd{C-c
-C-l}.
+  The terminal output from @TeX{}, including any error messages,
+appears in a buffer called @samp{*tex-shell*}.  If @TeX{} gets an
+error, you can switch to this buffer and feed it input (this works as
+in Shell mode; @pxref{Interactive Shell}).  Without switching to this
+buffer you can scroll it so that its last line is visible by typing
+@kbd{C-c C-l}.
 
   Type @kbd{C-c C-k} (@code{tex-kill-job}) to kill the @TeX{} process if
 you see that its output is no longer useful.  Using @kbd{C-c C-b} or
@@ -1535,14 +1552,14 @@ you see that its output is no longer useful.  Using @kbd{C-c C-b} or
 
 @findex tex-region
 @kindex C-c C-r @r{(@TeX{} mode)}
-  You can also pass an arbitrary region through an inferior @TeX{} by typing
-@kbd{C-c C-r} (@code{tex-region}).  This is tricky, however, because most files
-of @TeX{} input contain commands at the beginning to set parameters and
-define macros, without which no later part of the file will format
-correctly.  To solve this problem, @kbd{C-c C-r} allows you to designate a
-part of the file as containing essential commands; it is included before
-the specified region as part of the input to @TeX{}.  The designated part
-of the file is called the @dfn{header}.
+  You can also pass an arbitrary region through @TeX{} by typing
+@kbd{C-c C-r} (@code{tex-region}).  This is tricky, however, because
+most files of @TeX{} input contain commands at the beginning to set
+parameters and define macros, without which no later part of the file
+will format correctly.  To solve this problem, @kbd{C-c C-r} allows
+you to designate a part of the file as containing essential commands;
+it is included before the specified region as part of the input to
+@TeX{}.  The designated part of the file is called the @dfn{header}.
 
 @cindex header (@TeX{} mode)
   To indicate the bounds of the header in Plain @TeX{} mode, you insert two
@@ -1640,29 +1657,6 @@ keys (@pxref{Completion}).
   The commands @kbd{M-x iso-iso2tex}, @kbd{M-x iso-tex2iso}, @kbd{M-x
 iso-iso2gtex} and @kbd{M-x iso-gtex2iso} can be used to convert
 between Latin-1 encoded files and @TeX{}-encoded equivalents.
-@ignore
-@c Too cryptic to be useful, too cryptic for me to make it better -- rms.
-  They
-are included by default in the @code{format-alist} variable, so they
-can be used with @kbd{M-x format-find-file}, for instance.
-@end ignore
-
-@ignore  @c Not worth documenting if it is only for Czech -- rms.
-@findex tildify-buffer
-@findex tildify-region
-@cindex ties, @TeX{}, inserting
-@cindex hard spaces, @TeX{}, inserting
-  The commands @kbd{M-x tildify-buffer} and @kbd{M-x tildify-region}
-insert @samp{~} (@dfn{tie}) characters where they are conventionally
-required.  This is set up for Czech---customize the group
-@samp{tildify} for other languages or for other sorts of markup.
-@end ignore
-
-@cindex Ref@TeX{} package
-@cindex references, La@TeX{}
-@cindex La@TeX{} references
-  For managing all kinds of references for La@TeX{}, you can use
-Ref@TeX{}.  @inforef{Top,, reftex}.
 
 @node HTML Mode
 @section SGML and HTML Modes
@@ -1765,35 +1759,50 @@ used as a cheap preview (@code{sgml-tags-invisible}).
 @cindex mode, nXML
 @findex nxml-mode
 @cindex XML schema
-  The default mode for editing XML documents is called nXML mode
-(@code{xml-mode} or @code{nxml-mode}).  This is a powerful major mode
-that can recognize many existing XML schema and use them to provide
-completion of XML elements via @kbd{C-@key{RET}} or @kbd{M-@key{TAB}},
-as well as ``on-the-fly'' XML validation with error highlighting.  It
-is described in its own manual.  @xref{Top, nXML Mode,,nxml-mode, nXML
-Mode}.
+  The major mode for editing XML documents is called nXML mode.  This
+is a powerful major mode that can recognize many existing XML schema
+and use them to provide completion of XML elements via
+@kbd{C-@key{RET}} or @kbd{M-@key{TAB}}, as well as ``on-the-fly'' XML
+validation with error highlighting.  To enable nXML mode in an
+existing buffer, type @kbd{M-x nxml-mode}, or, equivalently, @kbd{M-x
+xml-mode}.  Emacs uses nXML mode for files which have the extension
+@file{.xml}.  For XHTML files, which have the extension @file{.xhtml},
+Emacs uses HTML mode by default; you can make it use nXML mode by
+customizing the variable @code{auto-mode-alist} (@pxref{Choosing
+Modes}).
+@ifinfo
+nXML mode is described in its own manual: @xref{Top, nXML
+Mode,,nxml-mode, nXML Mode}.
+@end ifinfo
+@ifnotinfo
+nXML mode is described in an Info manual, which is distributed with
+Emacs.
+@end ifnotinfo
 
 @vindex sgml-xml-mode
-  However, you can also use SGML mode to edit XML, since XML is a
-strict subset of SGML.  In XML, every opening tag must have an
-explicit closing tag.  When the variable @code{sgml-xml-mode} is
-non-@code{nil}, the tag insertion commands described above always
-insert explicit closing tags as well.  When you visit a file in SGML
-mode, Emacs determines whether it is XML by examining the file
-contents, and sets @code{sgml-xml-mode} accordingly.
+  You may choose to use the less powerful SGML mode for editing XML,
+since XML is a strict subset of SGML.  To enable SGML mode in an
+existing buffer, type @kbd{M-x sgml-mode}.  On enabling SGML mode,
+Emacs examines the buffer to determine whether it is XML; if so, it
+sets the variable @code{sgml-xml-mode} to a non-@code{nil} value.
+This causes SGML mode's tag insertion commands, described above, to
+always insert explicit closing tags as well.
 
 @node Nroff Mode
 @section Nroff Mode
 
 @cindex nroff
 @findex nroff-mode
-  Nroff mode is a mode like Text mode but modified to handle nroff commands
-present in the text.  Invoke @kbd{M-x nroff-mode} to enter this mode.  It
-differs from Text mode in only a few ways.  All nroff command lines are
-considered paragraph separators, so that filling will never garble the
-nroff commands.  Pages are separated by @samp{.bp} commands.  Comments
-start with backslash-doublequote.  Also, three special commands are
-provided that are not in Text mode:
+@vindex nroff-mode-hook
+  Nroff mode is a major mode derived from Text mode, which is
+specialized for editing nroff files (e.g.@: Unix man pages).  Type
+@kbd{M-x nroff-mode} to enter this mode.  Entering Nroff mode runs the
+hook @code{text-mode-hook}, followed by @code{nroff-mode-hook}
+(@pxref{Hooks}).
+
+  In Nroff mode, nroff command lines are treated as paragraph
+separators, pages are separated by @samp{.bp} commands, and comments
+start with backslash-doublequote.  It also defines these commands:
 
 @findex forward-text-line
 @findex backward-text-line
@@ -1813,104 +1822,95 @@ nroff commands) in the region (@code{count-text-lines}).
 @end table
 
 @findex electric-nroff-mode
-  The other feature of Nroff mode is that you can turn on Electric Nroff
-mode.  This is a minor mode that you can turn on or off with @kbd{M-x
+  Electric Nroff mode is a buffer-local minor mode that can be used
+with Nroff mode.  To toggle this minor mode, type @kbd{M-x
 electric-nroff-mode} (@pxref{Minor Modes}).  When the mode is on, each
-time you use @key{RET} to end a line that contains an nroff command that
-opens a kind of grouping, the matching nroff command to close that
-grouping is automatically inserted on the following line.  For example,
-if you are at the beginning of a line and type @kbd{.@: ( b @key{RET}},
-this inserts the matching command @samp{.)b} on a new line following
-point.
+time you type @key{RET} to end a line containing an nroff command that
+opens a kind of grouping, the nroff command to close that grouping is
+automatically inserted on the following line.
 
-  If you use Outline minor mode with Nroff mode (@pxref{Outline Mode}),
-heading lines are lines of the form @samp{.H} followed by a number (the
-header level).
-
-@vindex nroff-mode-hook
-  Entering Nroff mode runs the hook @code{text-mode-hook}, followed by
-the hook @code{nroff-mode-hook} (@pxref{Hooks}).
-
-@node Formatted Text
-@section Editing Formatted Text
+  If you use Outline minor mode with Nroff mode (@pxref{Outline
+Mode}), heading lines are lines of the form @samp{.H} followed by a
+number (the header level).
 
+@node Enriched Text
+@section Enriched Text
 @cindex Enriched mode
 @cindex mode, Enriched
-@cindex formatted text
+@cindex enriched text
 @cindex WYSIWYG
 @cindex word processing
-  @dfn{Enriched mode} is a minor mode for editing files that contain
-formatted text in WYSIWYG fashion, as in a word processor.  Currently,
-formatted text in Enriched mode can specify fonts, colors, underlining,
-margins, and types of filling and justification.  In the future, we plan
-to implement other formatting features as well.
+@cindex text/enriched MIME format
 
-  Enriched mode is a minor mode (@pxref{Minor Modes}).  It is
-typically used in conjunction with Text mode (@pxref{Text Mode}), but
-you can also use it with other major modes such as Outline mode and
-Paragraph-Indent Text mode.
+  Enriched mode is a minor mode for editing formatted text files in a
+WYSIWYG (``what you see is what you get'') fashion.  When Enriched
+mode is enabled, you can apply various formatting properties to the
+text in the buffer, such as fonts and colors; upon saving the buffer,
+those properties are saved together with the text, using the MIME
+@samp{text/enriched} file format.
 
-@cindex text/enriched MIME format
-  Potentially, Emacs can store formatted text files in various file
-formats.  Currently, only one format is implemented: @dfn{text/enriched}
-format, which is defined by the MIME protocol.  @xref{Format
-Conversion,, Format Conversion, elisp, the Emacs Lisp Reference Manual},
-for details of how Emacs recognizes and converts file formats.
+  Enriched mode is typically used with Text mode (@pxref{Text Mode}).
+It is @emph{not} compatible with Font Lock mode, which is used by many
+major modes, including most programming language modes, for syntax
+highlighting (@pxref{Font Lock}).  Unlike Enriched mode, Font Lock
+mode assigns text properties automatically, based on the current
+buffer contents; those properties are not saved to disk.
 
-  The Emacs distribution contains a formatted text file that can serve as
-an example.  Its name is @file{etc/enriched.doc}.  It contains samples
-illustrating all the features described in this section.  It also
-contains a list of ideas for future enhancements.
+  The file @file{etc/enriched.doc} in the Emacs distribution serves as
+an example of the features of Enriched mode.
 
 @menu
-* Requesting Formatted Text::   Entering and exiting Enriched mode.
-* Hard and Soft Newlines::      There are two different kinds of newlines.
-* Editing Format Info::         How to edit text properties.
-* Faces: Format Faces.          Bold, italic, underline, etc.
-* Color: Format Colors.         Changing the color of text.
-* Indent: Format Indentation.   Changing the left and right margins.
-* Justification: Format Justification.
-                                Centering, setting text flush with the
-                                  left or right margin, etc.
-* Special: Format Properties.   The "special" text properties submenu.
-* Forcing Enriched Mode::       How to force use of Enriched mode.
+* Enriched Mode::           Entering and exiting Enriched mode.
+* Hard and Soft Newlines::  There are two different kinds of newlines.
+* Editing Format Info::     How to edit text properties.
+* Enriched Faces::          Bold, italic, underline, etc.
+* Enriched Indentation::    Changing the left and right margins.
+* Enriched Justification::  Centering, setting text flush with the
+                              left or right margin, etc.
+* Enriched Properties::     The "special" text properties submenu.
 @end menu
 
-@node Requesting Formatted Text
-@subsection Requesting to Edit Formatted Text
+@node Enriched Mode
+@subsection Enriched Mode
 
-  Whenever you visit a file that Emacs saved in the text/enriched
-format, Emacs automatically converts the formatting information in the
-file into Emacs's own internal format (known as @dfn{text
-properties}), and turns on Enriched mode.
+  Enriched mode is a buffer-local minor mode (@pxref{Minor Modes}).
+When you visit a file that has been saved in the @samp{text/enriched}
+format, Emacs automatically enables Enriched mode, and applies the
+formatting information in the file to the buffer text.  When you save
+a buffer with Enriched mode enabled, it is saved using the
+@samp{text/enriched} format, including the formatting information.
 
 @findex enriched-mode
-  To create a new file of formatted text, first visit the nonexistent
-file, then type @kbd{M-x enriched-mode} before you start inserting text.
-This command turns on Enriched mode.  Do this before you begin inserting
-text, to ensure that the text you insert is handled properly.
-
-  More generally, the command @code{enriched-mode} turns Enriched mode
-on if it was off, and off if it was on.  With a prefix argument, this
-command turns Enriched mode on if the argument is positive, and turns
-the mode off otherwise.
-
-  When you save a buffer while Enriched mode is enabled in it, Emacs
-automatically converts the text to text/enriched format while writing it
-into the file.  When you visit the file again, Emacs will automatically
-recognize the format, reconvert the text, and turn on Enriched mode
-again.
+  To create a new file of formatted text, visit the nonexistent file
+and type @kbd{M-x enriched-mode}.  This command actually toggles
+Enriched mode.  With a prefix argument, it enables Enriched mode if
+the argument is positive, and disables Enriched mode otherwise.  If
+you disable Enriched mode, Emacs no longer saves the buffer using the
+@samp{text/enriched} format; any formatting properties that have been
+added to the buffer remain in the buffer, but they are not saved to
+disk.
 
 @vindex enriched-translations
-  You can add annotations for saving additional text properties, which
-Emacs normally does not save, by adding to @code{enriched-translations}.
-Note that the text/enriched standard requires any non-standard
-annotations to have names starting with @samp{x-}, as in
-@samp{x-read-only}.  This ensures that they will not conflict with
-standard annotations that may be added later.
-
-  @xref{Text Properties,,, elisp, the Emacs Lisp Reference Manual},
-for more information about text properties.
+  Enriched mode does not save all Emacs text properties, only those
+specified in the variable @code{enriched-translations}.  These include
+properties for fonts, colors, indentation, and justification.
+
+@findex format-decode-buffer
+  If you visit a file and Emacs fails to recognize that it is in the
+@samp{text/enriched} format, type @kbd{M-x format-decode-buffer}.
+This command prompts for a file format, and re-reads the file in that
+format.  Specifying the @samp{text/enriched} format automatically
+enables Enriched mode.
+
+  To view a @samp{text/enriched} file in raw form (as plain text with
+markup tags rather than formatted text), use @kbd{M-x
+find-file-literally} (@pxref{Visiting}).
+
+  @xref{Format Conversion,, Format Conversion, elisp, the Emacs Lisp
+Reference Manual}, for details of how Emacs recognizes and converts
+file formats like @samp{text/enriched}.  @xref{Text Properties,,,
+elisp, the Emacs Lisp Reference Manual}, for more information about
+text properties.
 
 @node Hard and Soft Newlines
 @subsection Hard and Soft Newlines
@@ -1919,56 +1919,44 @@ for more information about text properties.
 @cindex newlines, hard and soft
 
 @cindex use-hard-newlines
-  In formatted text, Emacs distinguishes between two different kinds of
-newlines, @dfn{hard} newlines and @dfn{soft} newlines.  (You can enable
-or disable this feature separately in any  buffer with the command
-@code{use-hard-newlines}.)
-
-  Hard newlines are used to separate paragraphs, or items in a list, or
-anywhere that there should always be a line break regardless of the
-margins.  The @key{RET} command (@code{newline}) and @kbd{C-o}
-(@code{open-line}) insert hard newlines.
-
-  Soft newlines are used to make text fit between the margins.  All the
-fill commands, including Auto Fill, insert soft newlines---and they
-delete only soft newlines.
-
-  Although hard and soft newlines look the same, it is important to bear
-the difference in mind.  Do not use @key{RET} to break lines in the
-middle of filled paragraphs, or else you will get hard newlines that are
-barriers to further filling.  Instead, let Auto Fill mode break lines,
-so that if the text or the margins change, Emacs can refill the lines
-properly.  @xref{Auto Fill}.
-
-  On the other hand, in tables and lists, where the lines should always
-remain as you type them, you can use @key{RET} to end lines.  For these
-lines, you may also want to set the justification style to
-@code{unfilled}.  @xref{Format Justification}.
+  In Enriched mode, Emacs distinguishes between two different kinds of
+newlines, @dfn{hard} newlines and @dfn{soft} newlines.  You can also
+enable or disable this feature in other buffers, by typing @kbd{M-x
+use-hard-newlines}.
+
+  Hard newlines are used to separate paragraphs, or anywhere there
+needs to be a line break regardless of how the text is filled; soft
+newlines are used for filling.  The @key{RET} (@code{newline}) and
+@kbd{C-o} (@code{open-line}) commands insert hard newlines.  The fill
+commands, including Auto Fill (@pxref{Auto Fill}), insert only soft
+newlines and delete only soft newlines, leaving hard newlines alone.
+
+  Thus, when editing with Enriched mode, you should not use @key{RET}
+or @kbd{C-o} to break lines in the middle of filled paragraphs.  Use
+Auto Fill mode or explicit fill commands (@pxref{Fill Commands})
+instead.  Use @key{RET} or @kbd{C-o} where line breaks should always
+remain, such as in tables and lists.  For such lines, you may also
+want to set the justification style to @code{unfilled}
+(@pxref{Enriched Justification}).
 
 @node Editing Format Info
 @subsection Editing Format Information
 
-  There are two ways to alter the formatting information for a formatted
-text file: with keyboard commands, and with the mouse.
-
-  The easiest way to add properties to your document is with the Text
-Properties menu.  You can get to this menu in two ways: from the Edit
-menu in the menu bar (use @kbd{@key{F10} e t} if you have no mouse),
-or with @kbd{C-Mouse-2} (hold the @key{CTRL} key and press the middle
-mouse button).  There are also keyboard commands described in the
-following section.
-
-  These items in the Text Properties menu run commands directly:
+  The easiest way to alter properties is with the Text Properties
+menu.  You can get to this menu from the Edit menu in the menu bar
+(@pxref{Menu Bar}), or with @kbd{C-Mouse-2} (@pxref{Menu Mouse
+Clicks}).  Some of the commands in the Text Properties menu are listed
+below (you can also invoke them with @kbd{M-x}):
 
 @table @code
 @findex facemenu-remove-face-props
 @item Remove Face Properties
-Delete from the region all face and color text properties
+Remove face properties from the region
 (@code{facemenu-remove-face-props}).
 
 @findex facemenu-remove-all
 @item Remove Text Properties
-Delete @emph{all} text properties from the region
+Remove all text properties from the region, including face properties
 (@code{facemenu-remove-all}).
 
 @findex describe-text-properties
@@ -1977,168 +1965,98 @@ Delete @emph{all} text properties from the region
 @cindex widgets at buffer position
 @cindex buttons at buffer position
 @item Describe Properties
-List all the text properties, widgets, buttons, and overlays of the
-character following point (@code{describe-text-properties}).
+List all text properties and other information about the character
+following point (@code{describe-text-properties}).
 
 @item Display Faces
-Display a list of all the defined faces (@code{list-faces-display}).
+Display a list of defined faces (@code{list-faces-display}).
+@xref{Faces}.
 
 @item Display Colors
-Display a list of all the defined colors (@code{list-colors-display}).
+Display a list of defined colors (@code{list-colors-display}).
+@xref{Colors}.
 @end table
 
-@ifinfo
-  Other items in the Text Properties menu lead to submenus:
-
-@menu
-* Faces: Format Faces.          Bold, italic, underline, etc.
-* Color: Format Colors.         Changing the color of text.
-* Indent: Format Indentation.   Changing the left and right margins.
-* Justification: Format Justification.
-                                Centering, setting text flush with the
-                                  left or right margin, etc.
-* Special: Format Properties.   The "special" text properties submenu.
-@end menu
-@end ifinfo
-@ifnotinfo
-  The rest lead to submenus which are described in the following sections.
-@end ifnotinfo
-
-@node Format Faces
-@subsection Faces in Formatted Text
+@noindent
+The other menu entries are described in the following sections.
 
-  The Faces submenu under Text Properties lists various Emacs faces
-including @code{bold}, @code{italic}, and @code{underline}
-(@pxref{Faces}).  These menu items operate on the region if it is
-active and nonempty.  Otherwise, they specify to use that face for an
-immediately following self-inserting character.  There is also an item
-@samp{Other} with which you can enter a face name through the
-minibuffer (@pxref{Standard Faces}).
+@node Enriched Faces
+@subsection Faces in Enriched Text
 
-  Instead of the Faces submenu, you can use these keyboard commands:
+  The following commands can be used to add or remove faces
+(@pxref{Faces}).  Each applies to the text in the region if the mark
+is active, and to the next self-inserting character if the mark is
+inactive.  With a prefix argument, each command applies to the next
+self-inserting character even if the region is active.
 
 @table @kbd
 @kindex M-o d @r{(Enriched mode)}
 @findex facemenu-set-default
 @item M-o d
-Remove all @code{face} properties from the region (which includes
-specified colors), or force the following inserted character to have no
-@code{face} property (@code{facemenu-set-default}).
+Remove all @code{face} properties (@code{facemenu-set-default}).
+
 @kindex M-o b @r{(Enriched mode)}
 @findex facemenu-set-bold
 @item M-o b
-Add the face @code{bold} to the region or to the following inserted
-character (@code{facemenu-set-bold}).
+Apply the @code{bold} face (@code{facemenu-set-bold}).
+
 @kindex M-o i @r{(Enriched mode)}
 @findex facemenu-set-italic
 @item M-o i
-Add the face @code{italic} to the region or to the following inserted
-character (@code{facemenu-set-italic}).
+Apply the @code{italic} face (@code{facemenu-set-italic}).
+
 @kindex M-o l @r{(Enriched mode)}
 @findex facemenu-set-bold-italic
 @item M-o l
-Add the face @code{bold-italic} to the region or to the following
-inserted character (@code{facemenu-set-bold-italic}).
+Apply the @code{bold-italic} face (@code{facemenu-set-bold-italic}).
+
 @kindex M-o u @r{(Enriched mode)}
 @findex facemenu-set-underline
 @item M-o u
-Add the face @code{underline} to the region or to the following inserted
-character (@code{facemenu-set-underline}).
+Apply the @code{underline} face (@code{facemenu-set-underline}).
+
 @kindex M-o o @r{(Enriched mode)}
 @findex facemenu-set-face
 @item M-o o @var{face} @key{RET}
-Add the face @var{face} to the region or to the following inserted
-character (@code{facemenu-set-face}).
-@end table
+Apply the face @var{face} (@code{facemenu-set-face}).
+
+@findex facemenu-set-foreground
+@item M-x facemenu-set-foreground
+Prompt for a color (@pxref{Colors}), and apply it as a foreground
+color.
 
-   With a prefix argument, all these commands apply to an immediately
-following self-inserting character, disregarding the region.
+@findex facemenu-set-background
+@item M-x facemenu-set-background
+Prompt for a color, and apply it as a background color.
+@end table
 
-  A self-inserting character normally inherits the @code{face}
-property (and most other text properties) from the preceding character
-in the buffer.  If you use the above commands to specify face for the
-next self-inserting character, or the next section's commands to
-specify a foreground or background color for it, then it does not
-inherit the @code{face} property from the preceding character; instead
-it uses whatever you specified.  It will still inherit other text
-properties, though.
+@noindent
+These command are also available via the Text Properties menu.
 
-  Strictly speaking, these commands apply only to the first following
-self-inserting character that you type.  But if you insert additional
-characters after it, they will inherit from the first one.  So it
-appears that these commands apply to all of them.
+  A self-inserting character normally inherits the face properties
+(and most other text properties) from the preceding character in the
+buffer.  If you use one of the above commands to specify the face for
+the next self-inserting character, that character will not inherit the
+faces properties from the preceding character, but it will still
+inherit other text properties.
 
   Enriched mode defines two additional faces: @code{excerpt} and
-@code{fixed}.  These correspond to codes used in the text/enriched file
-format.
-
-  The @code{excerpt} face is intended for quotations.  This face is the
-same as @code{italic} unless you customize it (@pxref{Face Customization}).
-
-  The @code{fixed} face means, ``Use a fixed-width font for this part
-of the text.''  Applying the @code{fixed} face to a part of the text
-will cause that part of the text to appear in a fixed-width font, even
-if the default font is variable-width.  This applies to Emacs and to
-other systems that display text/enriched format.  So if you
-specifically want a certain part of the text to use a fixed-width
-font, you should specify the @code{fixed} face for that part.
-
-  By default, the @code{fixed} face looks the same as @code{bold}.
-This is an attempt to distinguish it from @code{default}.  You may
-wish to customize @code{fixed} to some other fixed-width medium font.
-@xref{Face Customization}.
-
-  If your terminal cannot display different faces, you will not be
-able to see them, but you can still edit documents containing faces,
-and even add faces and colors to documents.  The faces you specify
-will be visible when the file is viewed on a terminal that can display
-them.
-
-@node Format Colors
-@subsection Colors in Formatted Text
-
-  You can specify foreground and background colors for portions of the
-text.  Under Text Properties, there is a submenu for specifying the
-foreground color, and a submenu for specifying the background color.
-Each one lists all the colors that you have used in Enriched mode in
-the current Emacs session.
-
-  If the region is active, the command applies to the text in the
-region; otherwise, it applies to any immediately following
-self-inserting input.  When Transient Mark mode is off
-(@pxref{Disabled Transient Mark}), it always applies to the region
-unless a prefix argument is given, in which case it applies to the
-following input.
-
-  Each of the two color submenus contains one additional item:
-@samp{Other}.  You can use this item to specify a color that is not
-listed in the menu; it reads the color name with the minibuffer.  To
-display a list of available colors and their names, use the
-@samp{Display Colors} menu item in the Text Properties menu
-(@pxref{Editing Format Info}).
-
-  Any color that you specify in this way, or that is mentioned in a
-formatted text file that you read in, is added to the corresponding
-color menu for the duration of the Emacs session.
-
-@findex facemenu-set-foreground
-@findex facemenu-set-background
-  There are no predefined key bindings for specifying colors, but you can do so
-with the extended commands @kbd{M-x facemenu-set-foreground} and
-@kbd{M-x facemenu-set-background}.  Both of these commands read the name
-of the color with the minibuffer.
+@code{fixed}.  These correspond to codes used in the text/enriched
+file format.  The @code{excerpt} face is intended for quotations; by
+default, it appears the same as @code{italic}.  The @code{fixed} face
+specifies fixed-width text; by default, it appears the same as
+@code{bold}.
 
-@node Format Indentation
-@subsection Indentation in Formatted Text
+@node Enriched Indentation
+@subsection Indentation in Enriched Text
 
-  When editing formatted text, you can specify different amounts of
-indentation for the right or left margin of an entire paragraph or a
-part of a paragraph.  The margins you specify automatically affect the
-Emacs fill commands (@pxref{Filling}) and line-breaking commands.
+  In Enriched mode, you can specify different amounts of indentation
+for the right or left margin of a paragraph or a part of a paragraph.
+These margins also affect fill commands such as @kbd{M-q}
+(@pxref{Filling}).
 
-  The Indentation submenu of Text Properties provides a convenient
-interface for specifying these properties.  The submenu contains four
-items:
+  The Indentation submenu of Text Properties provides four commands
+for specifying indentation:
 
 @table @code
 @kindex C-x TAB @r{(Enriched mode)}
@@ -2159,44 +2077,20 @@ Make the text narrower by indenting 4 columns at the right margin.
 Remove 4 columns of indentation from the right margin.
 @end table
 
-  You can use these commands repeatedly to increase or decrease the
-indentation.
-
-  The most common way to use them is to change the indentation of an
-entire paragraph.  For other uses, the effects of refilling can be
-hard to predict, except in some special cases like the one described
-next.
-
-  The most common other use is to format paragraphs with @dfn{hanging
-indents}, which means that the first line is indented less than
-subsequent lines.  To set up a hanging indent, increase the
-indentation of the region starting after the first word of the
-paragraph and running until the end of the paragraph.
-
-  Indenting the first line of a paragraph is easier.  Set the margin for
-the whole paragraph where you want it to be for the body of the
-paragraph, then indent the first line by inserting extra spaces or tabs.
-
 @vindex standard-indent
   The variable @code{standard-indent} specifies how many columns these
 commands should add to or subtract from the indentation.  The default
-value is 4.  The overall default right margin for Enriched mode is
-controlled by the variable @code{fill-column}, as usual.
+value is 4.  The default right margin for Enriched mode is controlled
+by the variable @code{fill-column}, as usual.
 
 @kindex C-c [ @r{(Enriched mode)}
 @kindex C-c ] @r{(Enriched mode)}
 @findex set-left-margin
 @findex set-right-margin
-  There are also two commands for setting the left or right margin of
-the region absolutely: @code{set-left-margin} and
-@code{set-right-margin}.  Enriched mode binds these commands to
-@kbd{C-c [} and @kbd{C-c ]}, respectively.  You can specify the
-margin width either with a numeric argument or in the minibuffer.
-
-  Sometimes, as a result of editing, the filling of a paragraph becomes
-messed up---parts of the paragraph may extend past the left or right
-margins.  When this happens, use @kbd{M-q} (@code{fill-paragraph}) to
-refill the paragraph.
+  You can also type @kbd{C-c [} (@code{set-left-margin}) and @kbd{C-c
+]} (@code{set-right-margin}) to set the left and right margins.  You
+can specify the margin width with a numeric argument; otherwise these
+commands prompt for a value via the minibuffer.
 
   The fill prefix, if any, works in addition to the specified paragraph
 indentation: @kbd{C-x .} does not include the specified indentation's
@@ -2204,149 +2098,75 @@ whitespace in the new value for the fill prefix, and the fill commands
 look for the fill prefix after the indentation on each line.  @xref{Fill
 Prefix}.
 
-@node Format Justification
-@subsection Justification in Formatted Text
+@node Enriched Justification
+@subsection Justification in Enriched Text
 
-  When editing formatted text, you can specify various styles of
-justification for a paragraph.  The style you specify automatically
-affects the Emacs fill commands.
-
-  The Justification submenu of Text Properties provides a convenient
-interface for specifying the style.  The submenu contains five items:
-
-@table @code
-@item Left
-This is the most common style of justification (at least for English).
-Lines are aligned at the left margin but left uneven at the right.
-
-@item Right
-This aligns each line with the right margin.  Spaces and tabs are added
-on the left, if necessary, to make lines line up on the right.
-
-@item Full
-This justifies the text, aligning both edges of each line.  Justified
-text looks very nice in a printed book, where the spaces can all be
-adjusted equally, but it does not look as nice with a fixed-width font
-on the screen.  Perhaps a future version of Emacs will be able to adjust
-the width of spaces in a line to achieve elegant justification.
-
-@item Center
-This centers every line between the current margins.
-
-@item Unfilled
-This turns off filling entirely.  Each line will remain as you wrote it;
-the fill and auto-fill functions will have no effect on text which has
-this setting.  You can, however, still indent the left margin.  In
-unfilled regions, all newlines are treated as hard newlines (@pxref{Hard
-and Soft Newlines}) .
-@end table
-
-  In Enriched mode, you can also specify justification from the keyboard
-using the @kbd{M-j} prefix character:
+  In Enriched mode, you can use the following commands to specify
+various @dfn{justification styles} for filling.  These commands apply
+to the paragraph containing point, or, if the region is active, to all
+paragraphs overlapping the region.
 
 @table @kbd
 @kindex M-j l @r{(Enriched mode)}
 @findex set-justification-left
 @item M-j l
-Make the region left-filled (@code{set-justification-left}).
+Align lines to the left margin (@code{set-justification-left}).
+
 @kindex M-j r @r{(Enriched mode)}
 @findex set-justification-right
 @item M-j r
-Make the region right-filled (@code{set-justification-right}).
+Align lines to the right margin (@code{set-justification-right}).
+
 @kindex M-j b @r{(Enriched mode)}
 @findex set-justification-full
 @item M-j b
-Make the region fully justified (@code{set-justification-full}).
+Align lines to both margins, inserting spaces in the middle of the
+line to achieve this (@code{set-justification-full}).
+
 @kindex M-j c @r{(Enriched mode)}
 @kindex M-S @r{(Enriched mode)}
 @findex set-justification-center
 @item M-j c
 @itemx M-S
-Make the region centered (@code{set-justification-center}).
+Center lines between the margins (@code{set-justification-center}).
+
 @kindex M-j u @r{(Enriched mode)}
 @findex set-justification-none
 @item M-j u
-Make the region unfilled (@code{set-justification-none}).
+Turn off filling entirely (@code{set-justification-none}).  The fill
+commands do nothing on text with this setting.  You can, however,
+still indent the left margin.
 @end table
 
-  Justification styles apply to entire paragraphs.  All the
-justification-changing commands operate on the paragraph containing
-point, or, if the region is active, on all paragraphs which overlap the
-region.
+  You can also specify justification styles using the Justification
+submenu in the Text Properties menu.
 
 @vindex default-justification
-  The default justification style is specified by the variable
-@code{default-justification}.  Its value should be one of the symbols
-@code{left}, @code{right}, @code{full}, @code{center}, or @code{none}.
-This is a per-buffer variable.  Setting the variable directly affects
-only the current buffer.  However, customizing it in a Custom buffer
-sets (as always) the default value for buffers that do not override it.
-@xref{Locals}, and @ref{Easy Customization}.
-
-@node Format Properties
-@subsection Setting Other Text Properties
-
-  The Special Properties submenu of Text Properties can add or remove
-three other useful text properties: @code{read-only}, @code{invisible}
-and @code{intangible}.  The @code{intangible} property disallows
-moving point within the text, the @code{invisible} text property hides
-text from display, and the @code{read-only} property disallows
-alteration of the text.
+  The default justification style is specified by the per-buffer
+variable @code{default-justification}.  Its value should be one of the
+symbols @code{left}, @code{right}, @code{full}, @code{center}, or
+@code{none}.
 
-  Each of these special properties has a menu item to add it to the
-region.  The last menu item, @samp{Remove Special}, removes all of these
-special properties from the text in the region.
-
-  Currently, the @code{invisible} and @code{intangible} properties are
-@emph{not} saved in the text/enriched format.  The @code{read-only}
-property is saved, but it is not a standard part of the text/enriched
-format, so other editors may not respect it.
-
-@node Forcing Enriched Mode
-@subsection Forcing Enriched Mode
-
-  Normally, Emacs knows when you are editing formatted text because it
-recognizes the special annotations used in the file that you visited.
-However, sometimes you must take special actions to convert file
-contents or turn on Enriched mode:
-
-@itemize @bullet
-@item
-When you visit a file that was created with some other editor, Emacs may
-not recognize the file as being in the text/enriched format.  In this
-case, when you visit the file you will see the formatting commands
-rather than the formatted text.  Type @kbd{M-x format-decode-buffer} to
-translate it.  This also automatically turns on Enriched mode.
+@node Enriched Properties
+@subsection Setting Other Text Properties
 
-@item
-When you @emph{insert} a file into a buffer, rather than visiting it,
-Emacs does the necessary conversions on the text which you insert, but
-it does not enable Enriched mode.  If you wish to do that, type @kbd{M-x
-enriched-mode}.
-@end itemize
+  The Special Properties submenu of Text Properties has entries for
+adding or removing three other text properties: @code{read-only},
+(which disallows alteration of the text), @code{invisible} (which
+hides text), and @code{intangible} (which disallows moving point
+within the text).  The @samp{Remove Special} menu item removes all of
+these special properties from the text in the region.
 
-  The command @code{format-decode-buffer} translates text in various
-formats into Emacs's internal format.  It asks you to specify the format
-to translate from; however, normally you can type just @key{RET}, which
-tells Emacs to guess the format.
-
-@findex format-find-file
-  If you wish to look at a text/enriched file in its raw form, as a
-sequence of characters rather than as formatted text, use the @kbd{M-x
-find-file-literally} command.  This visits a file, like
-@code{find-file}, but does not do format conversion.  It also inhibits
-character code conversion (@pxref{Coding Systems}) and automatic
-uncompression (@pxref{Compressed Files}).  To disable format conversion
-but allow character code conversion and/or automatic uncompression if
-appropriate, use @code{format-find-file} with suitable arguments.
+  The @code{invisible} and @code{intangible} properties are not saved
+in the @samp{text/enriched} format.
 
 @node Text Based Tables
 @section Editing Text-based Tables
 @cindex table mode
 @cindex text-based tables
 
-  Table mode provides an easy and intuitive way to create and edit WYSIWYG
-text-based tables.  Here is an example of such a table:
+  The @code{table} package provides commands to easily edit text-based
+tables.  Here is an example of what such a table looks like:
 
 @smallexample
 @group
@@ -2356,27 +2176,23 @@ text-based tables.  Here is an example of such a table:
 |  forward-char   |Move point right N characters   |       C-f       |
 |                 |(left if N is negative).        |                 |
 |                 |                                |                 |
-|                 |On reaching end of buffer, stop |                 |
-|                 |and signal error.               |                 |
 +-----------------+--------------------------------+-----------------+
 |  backward-char  |Move point left N characters    |       C-b       |
 |                 |(right if N is negative).       |                 |
 |                 |                                |                 |
-|                 |On attempt to pass beginning or |                 |
-|                 |end of buffer, stop and signal  |                 |
-|                 |error.                          |                 |
 +-----------------+--------------------------------+-----------------+
 @end group
 @end smallexample
 
-  Table mode allows the contents of the table such as this one to be
-easily manipulated by inserting or deleting characters inside a cell.
-A cell is effectively a localized rectangular edit region and edits to
-a cell do not affect the contents of the surrounding cells.  If the
-contents do not fit into a cell, then the cell is automatically
-expanded in the vertical and/or horizontal directions and the rest of
-the table is restructured and reformatted in accordance with the
-growth of the cell.
+  When Emacs recognizes such a stretch of text as a table
+(@pxref{Table Recognition}), editing the contents of each table cell
+will automatically resize the table, whenever the contents become too
+large to fit in the cell.  You can use the commands defined in the
+following sections for navigating and editing the table layout.
+
+@findex table-fixed-width-mode
+  To toggle the automatic table resizing feature, type @kbd{M-x
+table-fixed-width-mode}.
 
 @menu
 * Table Definition::          What is a text based table.
@@ -2384,102 +2200,87 @@ growth of the cell.
 * Table Recognition::         How to activate and deactivate tables.
 * Cell Commands::             Cell-oriented commands in a table.
 * Cell Justification::        Justifying cell contents.
-* Row Commands::              Manipulating rows of table cell.
-* Column Commands::           Manipulating columns of table cell.
-* Fixed Width Mode::          Fixing cell width.
+* Table Rows and Columns::    Inserting and deleting rows and columns.
 * Table Conversion::          Converting between plain text and tables.
-* Measuring Tables::          Analyzing table dimension.
 * Table Misc::                Table miscellany.
 @end menu
 
 @node Table Definition
 @subsection What is a Text-based Table?
+@cindex cells, for text-based tables
 
-  Keep the following examples of valid tables in mind as a reference
-while you read this section:
+  A @dfn{table} consists of a rectangular text area which is divided
+into @dfn{cells}.  Each cell must be at least one character wide and
+one character high, not counting its border lines.  A cell can be
+subdivided into more cells, but they cannot overlap.
 
-@example
-              +--+----+---+     +-+     +--+-----+
-              |  |    |   |     | |     |  |     |
-              +--+----+---+     +-+     |  +--+--+
-              |  |    |   |             |  |  |  |
-              +--+----+---+             +--+--+  |
-                                        |     |  |
-                                        +-----+--+
-@end example
-
-  A table consists of a rectangular frame whose inside is divided into
-cells.  Each cell must be at least one character wide and one
-character high, not counting its border lines.  A cell can be
-subdivided into multiple rectangular cells, but cells cannot overlap.
-
-  The table frame and cell border lines are made of three special
-characters.  These variables specify those characters:
+  Cell border lines are drawn with three special characters, specified
+by the following variables:
 
 @table @code
 @vindex table-cell-vertical-char
 @item table-cell-vertical-char
-Holds the character used for vertical lines.  The default value is
-@samp{|}.
+The character used for vertical lines.  The default is @samp{|}.
 
 @vindex table-cell-horizontal-chars
 @item table-cell-horizontal-chars
-Holds the characters used for horizontal lines.  The default value is
-@samp{"-="}.
+The characters used for horizontal lines.  The default is @samp{"-="}.
 
 @vindex table-cell-intersection-char
 @item table-cell-intersection-char
-Holds the character used at where horizontal line and vertical line
-meet.  The default value is @samp{+}.
+The character used for the intersection of horizontal and vertical
+lines.  The default is @samp{+}.
 @end table
 
 @noindent
-Based on this definition, the following five tables are examples of invalid
-tables:
+The following are examples of @emph{invalid} tables:
 
 @example
-   +-----+    +-----+       +--+    +-++--+    ++
-   |     |    |     |       |  |    | ||  |    ++
-   | +-+ |    |     |       |  |    | ||  |
-   | | | |    +--+  |    +--+--+    +-++--+
-   | +-+ |    |  |  |    |  |  |    +-++--+
-   |     |    |  |  |    |  |  |    | ||  |
-   +-----+    +--+--+    +--+--+    +-++--+
-     a           b          c          d        e
+   +-----+       +--+    +-++--+
+   |     |       |  |    | ||  |
+   |     |       |  |    | ||  |
+   +--+  |    +--+--+    +-++--+
+   |  |  |    |  |  |    +-++--+
+   |  |  |    |  |  |    | ||  |
+   +--+--+    +--+--+    +-++--+
+      a          b          c
 @end example
 
+@noindent
 From left to right:
 
 @enumerate a
 @item
 Overlapped cells or non-rectangular cells are not allowed.
 @item
-Same as a.
-@item
 The border must be rectangular.
 @item
 Cells must have a minimum width/height of one character.
-@item
-Same as d.
 @end enumerate
 
 @node Table Creation
-@subsection How to Create a Table?
+@subsection Creating a Table
 @cindex create a text-based table
 @cindex table creation
 
 @findex table-insert
-  The command to create a table is @code{table-insert}.  When called
-interactively, it asks for the number of columns, number of rows, cell
-width and cell height.  The number of columns is the number of cells
-horizontally side by side.  The number of rows is the number of cells
-vertically within the table's height.  The cell width is a number of
-characters that each cell holds, left to right.  The cell height is a
-number of lines each cell holds.  The cell width and the cell height
-can be either an integer (when the value is constant across the table)
-or a series of integer, separated by spaces or commas, where each
-number corresponds to the next cell within a row from left to right,
-or the next cell within a column from top to bottom.
+  To create a text-based table from scratch, type @kbd{M-x
+table-insert}.  This command prompts for the number of table columns,
+the number of table rows, cell width and cell height.  The cell width
+and cell height do not include the cell borders; each can be specified
+as a single integer (which means each cell is given the same
+width/height), or as a sequence of integers separated by spaces or
+commas (which specify the width/height of the individual table
+columns/rows, counting from left to right for table columns and from
+top to bottom for table rows).  The specified table is then inserted
+at point.
+
+  The table inserted by @kbd{M-x table-insert} contains special text
+properties, which tell Emacs to treat it specially as a text-based
+table.  If you save the buffer to a file and visit it again later,
+those properties are lost, and the table appears to Emacs as an
+ordinary piece of text.  See the next section, for how to convert it
+back into a table.
 
 @node Table Recognition
 @subsection Table Recognition
@@ -2487,103 +2288,97 @@ or the next cell within a column from top to bottom.
 
 @findex table-recognize
 @findex table-unrecognize
-  Table mode maintains special text properties in the buffer to allow
-editing in a convenient fashion.  When a buffer with tables is saved
-to its file, these text properties are lost, so when you visit this
-file again later, Emacs does not see a table, but just formatted text.
-To resurrect the table text properties, issue the @kbd{M-x
-table-recognize} command.  It scans the current buffer, recognizes
-valid table cells, and attaches appropriate text properties to allow
-for table editing.  The converse command, @code{table-unrecognize}, is
-used to remove the special text properties and convert the buffer back
-to plain text.
-
-  Special commands exist to enable or disable tables within a region,
-enable or disable individual tables, and enable/disable individual
-cells.  These commands are:
+  Existing text-based tables in a buffer, which lack the special text
+properties applied by @kbd{M-x table-insert}, are not treated
+specially as tables.  To apply those text properties, type @kbd{M-x
+table-recognize}.  This command scans the current buffer,
+@dfn{recognizes} valid table cells, and applies the relevant text
+properties.  Conversely, type @kbd{M-x table-unrecognize} to
+@dfn{unrecognize} all tables in the current buffer, removing the
+special text properties and converting tables back to plain text.
+
+  You can also use the following commands to selectively recognize or
+unrecognize tables:
 
 @table @kbd
 @findex table-recognize-region
 @item M-x table-recognize-region
-Recognize tables within the current region and activate them.
+Recognize tables within the current region.
+
 @findex table-unrecognize-region
 @item M-x table-unrecognize-region
-Deactivate tables within the current region.
+Unrecognize tables within the current region.
+
 @findex table-recognize-table
 @item M-x table-recognize-table
 Recognize the table at point and activate it.
+
 @findex table-unrecognize-table
 @item M-x table-unrecognize-table
 Deactivate the table at point.
+
 @findex table-recognize-cell
 @item M-x table-recognize-cell
 Recognize the cell at point and activate it.
+
 @findex table-unrecognize-cell
 @item M-x table-unrecognize-cell
 Deactivate the cell at point.
 @end table
 
-  For another way of converting text into tables, see @ref{Table
-Conversion}.
+  @xref{Table Conversion}, for another way to recognize a table.
 
 @node Cell Commands
 @subsection Commands for Table Cells
 
 @findex table-forward-cell
 @findex table-backward-cell
-  The commands @code{table-forward-cell} and
-@code{table-backward-cell} move point from the current cell to an
-adjacent cell forward and backward respectively.  The order of the
-cells is cyclic: when point is in the last cell of a table, typing
-@kbd{M-x table-forward-cell} moves to the first cell in the table.
-Likewise @kbd{M-x table-backward-cell} from the first cell in a table
-moves to the last cell.
+  The commands @kbd{M-x table-forward-cell} and @kbd{M-x
+table-backward-cell} move point from the current cell to an adjacent
+cell.  The order is cyclic: when point is in the last cell of a table,
+@kbd{M-x table-forward-cell} moves to the first cell.  Likewise, when
+point is on the first cell, @kbd{M-x table-backward-cell} moves to the
+last cell.
 
 @findex table-span-cell
-  The command @code{table-span-cell} merges the current cell with the
-adjacent cell in a specified direction---right, left, above or below.
-You specify the direction with the minibuffer.  It does not allow
-merges which don't result in a legitimate cell layout.
+  @kbd{M-x table-span-cell} prompts for a direction---right, left,
+above, or below---and merges the current cell with the adjacent cell
+in that direction.  This command signals an error if the merge would
+result in an illegitimate cell layout.
 
 @findex table-split-cell
-@cindex text-based tables, split a cell
-@cindex split table cell
-  The command @code{table-split-cell} splits the current cell
-vertically or horizontally.  This command is a wrapper to the
-direction specific commands @code{table-split-cell-vertically} and
-@code{table-split-cell-horizontally}.  You specify the direction with
-a minibuffer argument.
-
 @findex table-split-cell-vertically
-  The command @code{table-split-cell-vertically} splits the current
-cell vertically and creates a pair of cells above and below where
-point is located.  The content in the original cell is split as well.
-
 @findex table-split-cell-horizontally
-  The command @code{table-split-cell-horizontally} splits the current
-cell horizontally and creates a pair of cells right and left of where
-point is located.  If the cell being split is not empty, this asks you
-how to handle the cell contents.  The three options are: @code{split},
-@code{left}, or @code{right}.  @code{split} splits the contents at
-point literally, while the @code{left} and @code{right} options move
-the entire contents into the left or right cell respectively.
-
-@cindex enlarge a table cell
-@cindex shrink a table cell
-  The next four commands enlarge or shrink a cell.  They use numeric
-arguments (@pxref{Arguments}) to specify how many columns or rows to
-enlarge or shrink a particular table.
+@cindex text-based tables, splitting cells
+@cindex splitting table cells
+  @kbd{M-x table-split-cell} splits the current cell vertically or
+horizontally, prompting for the direction with the minibuffer.  The
+commands @kbd{M-x table-split-cell-vertically} and @kbd{M-x
+table-split-cell-horizontally} split in a specific direction.  When
+splitting vertically, the old cell contents are automatically split
+between the two new cells.  When splitting horizontally, you are
+prompted for how to divide the cell contents, if the cell is
+non-empty; the options are @samp{split} (divide the contents at
+point), @samp{left} (put all the contents in the left cell), and
+@samp{right} (put all the contents in the right cell).
+
+  The following commands enlarge or shrink a cell.  By default, they
+resize by one row or column; if a numeric argument is supplied, that
+specifies the number of rows or columns to resize by.
 
 @table @kbd
 @findex table-heighten-cell
 @item M-x table-heighten-cell
 Enlarge the current cell vertically.
+
 @findex table-shorten-cell
 @item M-x table-shorten-cell
 Shrink the current cell vertically.
+
 @findex table-widen-cell
 @item M-x table-widen-cell
 Enlarge the current cell horizontally.
+
 @findex table-narrow-cell
 @item M-x table-narrow-cell
 Shrink the current cell horizontally.
@@ -2591,107 +2386,76 @@ Shrink the current cell horizontally.
 
 @node Cell Justification
 @subsection Cell Justification
-@cindex cell text justification
+@cindex justification in text-based tables
 
-  You can specify text justification for each cell.  The justification
-is remembered independently for each cell and the subsequent editing
-of cell contents is subject to the specified justification.
+  The command @kbd{M-x table-justify} imposes @dfn{justification} on
+one or more cells in a text-based table.  Justification determines how
+the text in the cell is aligned, relative to the edges of the cell.
+Each cell in a table can be separately justified.
 
 @findex table-justify
-  The command @code{table-justify} ask you to specify what to justify:
-a cell, a column, or a row.  If you select cell justification, this
-command sets the justification only for the current cell.  Selecting
-column or row justification sets the justification for all the cells
-within a column or row respectively.  The command then ask you which
-kind of justification to apply: @code{left}, @code{center},
-@code{right}, @code{top}, @code{middle}, @code{bottom}, or
-@code{none}.  Horizontal justification and vertical justification are
-specified independently.  The options @code{left}, @code{center}, and
-@code{right} specify horizontal justification while the options
-@code{top}, @code{middle}, @code{bottom}, and @code{none} specify
-vertical justification.  The vertical justification @code{none}
-effectively removes vertical justification.  Horizontal justification
-must be one of @code{left}, @code{center}, or @code{right}.
+  @kbd{M-x table-justify} first prompts for what to justify; the
+options are @samp{cell} (just the current cell), @samp{column} (all
+cells in the current table column) and @samp{row} (all cells in the
+current table row).  The command then prompts for the justification
+style; the options are @code{left}, @code{center}, @code{right},
+@code{top}, @code{middle}, @code{bottom}, or @code{none} (meaning no
+vertical justification).
+
+  Horizontal and vertical justification styles are specified
+independently, and both types can be in effect simultaneously; for
+instance, you can call @kbd{M-x table-justify} twice, once to specify
+@code{right} justification and once to specify @code{bottom}
+justification, to align the contents of a cell to the bottom right.
 
 @vindex table-detect-cell-alignment
-  Justification information is stored in the buffer as a part of text
-property.  Therefore, this information is ephemeral and does not
-survive through the loss of the buffer (closing the buffer and
-revisiting the buffer erase any previous text properties).  To
-countermand for this, the command @code{table-recognize} and other
-recognition commands (@pxref{Table Recognition}) are equipped with a
-convenience feature (turned on by default).  During table recognition,
-the contents of a cell are examined to determine which justification
-was originally applied to the cell and then applies this justification
-to the cell.  This is a speculative algorithm and is therefore not
-perfect, however, the justification is deduced correctly most of the
-time.  To disable this feature, customize the variable
-@code{table-detect-cell-alignment} and set it to @code{nil}.
-
-@node Row Commands
-@subsection Commands for Table Rows
-@cindex table row commands
-
-@cindex insert row in table
+  The justification style is stored in the buffer as a text property,
+and is lost when you kill the buffer or exit Emacs.  However, the
+table recognition commands, such as @kbd{M-x table-recognize}
+(@pxref{Table Recognition}), attempt to determine and re-apply each
+cell's justification style, by examining its contents.  To disable
+this feature, change the variable @code{table-detect-cell-alignment}
+to @code{nil}.
+
+@node Table Rows and Columns
+@subsection Table Rows and Columns
+@cindex inserting rows and columns in text-based tables
+
 @findex table-insert-row
-  The command @code{table-insert-row} inserts a row of cells before
-the current row in a table.  The current row where point is located is
-pushed down after the newly inserted row.  A numeric prefix argument
-specifies the number of rows to insert.  Note that in order to insert
-rows @emph{after} the last row at the bottom of a table, you must
-place point below the table---that is, outside the table---prior to
-invoking this command.
-
-@cindex delete row in table
-@findex table-delete-row
-  The command @code{table-delete-row} deletes a row of cells at point.
-A numeric prefix argument specifies the number of rows to delete.
-
-@node Column Commands
-@subsection Commands for Table Columns
-@cindex table column commands
-
-@cindex insert column in table
-@findex table-insert-column
-  The command @code{table-insert-column} inserts a column of cells to
-the left of the current row in a table.  This pushes the current
-column to the right.  To insert a column to the right side of the
-rightmost column, place point to the right of the rightmost column,
-which is outside of the table, prior to invoking this command.  A
-numeric prefix argument specifies the number of columns to insert.
-
-@cindex delete column in table
-  A command @code{table-delete-column} deletes a column of cells at
-point.  A numeric prefix argument specifies the number of columns to
-delete.
-
-@node Fixed Width Mode
-@subsection Fix Width of Cells
-@cindex fix width of table cells
+  @kbd{M-x table-insert-row} inserts a row of cells before the current
+table row.  The current row, together with point, is pushed down past
+the new row.  To insert rows after the last row at the bottom of a
+table, invoke this command with point below the table, just below the
+bottom edge.  A numeric prefix argument specifies the number of rows
+to insert.
 
-@findex table-fixed-width-mode
-  The command @code{table-fixed-width-mode} toggles fixed width mode
-on and off.  When fixed width mode is turned on, editing inside a
-cell never changes the cell width; when it is off, the cell width
-expands automatically in order to prevent a word from being folded
-into multiple lines.  By default, fixed width mode is disabled.
+@findex table-insert-column
+  Similarly, @kbd{M-x table-insert-column} inserts a column of cells
+to the left of the current table column.  To insert a column to the
+right side of the rightmost column, invoke this command with point to
+the right of the rightmost column, outside the table.  A numeric
+prefix argument specifies the number of columns to insert.
+
+@cindex deleting rows and column in text-based tables
+  @kbd{M-x table-delete-column} deletes the column of cells at point.
+Similarly, @kbd{M-x table-delete-row} deletes the row of cells at
+point.  A numeric prefix argument to either command specifies the
+number of columns or rows to delete.
 
 @node Table Conversion
-@subsection Conversion Between Plain Text and Tables
+@subsection Converting Between Plain Text and Tables
 @cindex text to table
 @cindex table to text
 
 @findex table-capture
-  The command @code{table-capture} captures plain text in a region and
-turns it into a table.  Unlike @code{table-recognize} (@pxref{Table
-Recognition}), the original text does not have a table appearance but
-may hold a logical table structure.  For example, some elements
-separated by known patterns form a two dimensional structure which can
-be turned into a table.
+  The command @kbd{M-x table-capture} captures plain text in a region
+and turns it into a table.  Unlike @kbd{M-x table-recognize}
+(@pxref{Table Recognition}), the original text does not need to have a
+table appearance; it only needs to have a logical table-like
+structure.
 
-  Here's an example of data that @code{table-capture} can operate on.
-The numbers are horizontally separated by a comma and vertically
-separated by a newline character.
+  For example, suppose we have the following numbers, which are
+divided into three lines and separated horizontally by commas:
 
 @example
 1, 2, 3, 4
@@ -2712,136 +2476,92 @@ Invoking @kbd{M-x table-capture} on that text produces this table:
 +-----+-----+-----+-----+
 @end example
 
-@noindent
-The conversion uses @samp{,} for the column delimiter and newline for
-a row delimiter, cells are left justified, and minimum cell width is
-5.
-
 @findex table-release
-  The command @code{table-release} does the opposite of
-@code{table-capture}.  It releases a table by removing the table frame
-and cell borders.  This leaves the table contents as plain text.  One
-of the useful applications of @code{table-capture} and
-@code{table-release} is to edit a text in layout.  Look at the
-following three paragraphs (the latter two are indented with header
-lines):
+  @kbd{M-x table-release} does the opposite: it converts a table back
+to plain text, removing its cell borders.
+
+  One application of this pair of commands is to edit a text in
+layout.  Look at the following three paragraphs (the latter two are
+indented with header lines):
 
 @example
 table-capture is a powerful command.
 Here are some things it can do:
 
-Parse Cell Items  By using column delimiter regular
-                  expression and raw delimiter regular
-                  expression, it parses the specified text
-                  area and extracts cell items from
-                  non-table text and then forms a table out
-                  of them.
-
-Capture Text Area When no delimiters are specified it
-                  creates a single cell table.  The text in
-                  the specified region is placed in that
-                  cell.
+Parse Cell Items   Using row and column delimiter regexps,
+                   it parses the specified text area and
+                   extracts cell items into a table.
 @end example
 
 @noindent
-Applying @code{table-capture} to a region containing the above three
-paragraphs, with empty strings for column delimiter regexp and row
-delimiter regexp, creates a table with a single cell like the
-following one.
-
-@c The first line's right-hand frame in the following two examples
-@c sticks out to accommodate for the removal of @samp in the
-@c produced output!!
+Applying @code{table-capture} to a region containing the above text,
+with empty strings for the column and row delimiter regexps, creates a
+table with a single cell like the following one.
+
 @smallexample
 @group
-+-------------------------------------------------------------+
-|table-capture is a powerful command.                         |
-|Here are some things it can do:                              |
-|                                                             |
-|Parse Cell Items  By using column delimiter regular          |
-|                  expression and raw delimiter regular       |
-|                  expression, it parses the specified text   |
-|                  area and extracts cell items from          |
-|                  non-table text and then forms a table out  |
-|                  of them.                                   |
-|                                                             |
-|Capture Text Area When no delimiters are specified it        |
-|                  creates a single cell table.  The text in  |
-|                  the specified region is placed in that     |
-|                  cell.                                      |
-+-------------------------------------------------------------+
++----------------------------------------------------------+
+|table-capture is a powerful command.                      |
+|Here are some things it can do:                           |
+|                                                          |
+|Parse Cell Items   Using row and column delimiter regexps,|
+|                   it parses the specified text area and  |
+|                   extracts cell items into a table.      |
++----------------------------------------------------------+
 @end group
 @end smallexample
 
 @noindent
-By splitting the cell appropriately we now have a table consisting of
-paragraphs occupying its own cell.  Each cell can now be edited
-independently without affecting the layout of other cells.
+We can then use the cell splitting commands (@pxref{Cell Commands}) to
+subdivide the table so that each paragraph occupies a cell:
 
 @smallexample
-+--------------------------------------------------------------+
-|table-capture is a powerful command.                          |
-|Here are some things it can do:                               |
-+------------------+-------------------------------------------+
-|Parse Cell Items  |By using column delimiter regular          |
-|                  |expression and raw delimiter regular       |
-|                  |expression, it parses the specified text   |
-|                  |area and extracts cell items from          |
-|                  |non-table text and then forms a table out  |
-|                  |of them.                                   |
-+------------------+-------------------------------------------+
-|Capture Text Area |When no delimiters are specified it        |
-|                  |creates a single cell table.  The text in  |
-|                  |the specified region is placed in that     |
-|                  |cell.                                      |
-+------------------+-------------------------------------------+
++----------------------------------------------------------+
+|table-capture is a powerful command.                      |
+|Here are some things it can do:                           |
++-----------------+----------------------------------------+
+|Parse Cell Items | Using row and column delimiter regexps,|
+|                 | it parses the specified text area and  |
+|                 | extracts cell items into a table.      |
++-----------------+----------------------------------------+
 @end smallexample
 
 @noindent
-By applying @code{table-release}, which does the opposite process, the
-contents become once again plain text.  @code{table-release} works as
-a companion command to @code{table-capture}.
+Each cell can now be edited independently without affecting the layout
+of other cells.  When finished, we can invoke @kbd{M-x table-release}
+to convert the table back to plain text.
 
-@node Measuring Tables
-@subsection Analyzing Table Dimensions
-@cindex table dimensions
+@node Table Misc
+@subsection Table Miscellany
 
+@cindex table dimensions
 @findex table-query-dimension
-  The command @code{table-query-dimension} analyzes a table structure
-and reports information regarding its dimensions.  In case of the
-above example table, the @code{table-query-dimension} command displays
-in echo area:
+  The command @code{table-query-dimension} reports the layout of the
+table and table cell at point.  Here is an example of its output:
 
 @smallexample
 Cell: (21w, 6h), Table: (67w, 16h), Dim: (2c, 3r), Total Cells: 5
 @end smallexample
 
 @noindent
-This indicates that the current cell is 21 character wide and 6 lines
-high, the entire table is 67 characters wide and 16 lines high.  The
-table has 2 columns and 3 rows.  It has a total of 5 cells, since the
-first row has a spanned cell.
+This indicates that the current cell is 21 characters wide and 6 lines
+high, the table is 67 characters wide and 16 lines high with 2 columns
+and 3 rows, and a total of 5 cells.
 
-@node Table Misc
-@subsection Table Miscellany
-
-@cindex insert string into table cells
 @findex table-insert-sequence
-  The command @code{table-insert-sequence} inserts a string into each
-cell.  Each string is a part of a sequence i.e.@: a series of
-increasing integer numbers.
+  @kbd{M-x table-insert-sequence} inserts a string into each cell.
+Each string is a part of a sequence i.e.@: a series of increasing
+integer numbers.
 
-@cindex table in language format
 @cindex table for HTML and LaTeX
 @findex table-generate-source
-  The command @code{table-generate-source} generates a table formatted
-for a specific markup language.  It asks for a language (which must be
-one of @code{html}, @code{latex}, or @code{cals}), a destination
-buffer where to put the result, and the table caption (a string), and
-then inserts the generated table in the proper syntax into the
-destination buffer.  The default destination buffer is
-@code{table.@var{lang}}, where @var{lang} is the language you
-specified.
+  @kbd{M-x table-generate-source} generates a table formatted for a
+specific markup language.  It asks for a language (which must be one
+of @code{html}, @code{latex}, or @code{cals}), a destination buffer in
+which to put the result, and a table caption, and then inserts the
+generated table into the specified buffer.  The default destination
+buffer is @code{table.@var{lang}}, where @var{lang} is the language
+you specified.
 
 @node Two-Column
 @section Two-Column Editing
@@ -2849,11 +2569,9 @@ specified.
 @cindex splitting columns
 @cindex columns, splitting
 
-  Two-column mode lets you conveniently edit two side-by-side columns of
-text.  It uses two side-by-side windows, each showing its own
-buffer.
-
-  There are three ways to enter two-column mode:
+  Two-column mode lets you conveniently edit two side-by-side columns
+of text.  It uses two side-by-side windows, each showing its own
+buffer.  There are three ways to enter two-column mode:
 
 @table @asis
 @item @kbd{@key{F2} 2} or @kbd{C-x 6 2}
index c2e65268d1bbb82938235e8d314df4a7f9bcd008..b32b3d905e47ed3a58f44e8f7c1018fa080694c2 100644 (file)
@@ -306,14 +306,14 @@ Name to display in the title bar of the initial Emacs frame.
 @item @code{toolBar} (class @code{ToolBar})
 @cindex tool bar
 Number of lines to reserve for the tool bar.  A zero value suppresses
-the tool bar.  For the Emacs tool bar (i.e. not Gtk+), if the value is 
-non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's
-size will be changed automatically so that all tool bar items are visible.
-  If the value of @code{auto-resize-tool-bars} is @code{grow-only},
-the tool bar expands automatically, but does not contract automatically.
-To contract the tool bar, you must redraw the frame by entering @kbd{C-l}.
-For the Gtk+ tool bar, any non-zero value means on and
-@code{auto-resize-tool-bars} has no effect.
+the tool bar.  For the Emacs tool bar (i.e.@: not Gtk+), if the value
+is non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the
+tool bar's size will be changed automatically so that all tool bar
+items are visible.  If the value of @code{auto-resize-tool-bars} is
+@code{grow-only}, the tool bar expands automatically, but does not
+contract automatically.  To contract the tool bar, you must redraw the
+frame by entering @kbd{C-l}.  For the Gtk+ tool bar, any non-zero
+value means on and @code{auto-resize-tool-bars} has no effect.
 
 @item @code{useXIM} (class @code{UseXIM})
 @cindex XIM
@@ -641,17 +641,18 @@ The color for the border shadow, on the top and the left.
 @node GTK resources
 @appendixsec GTK resources
 @iftex
-  The most common way to customize the GTK widgets Emacs uses (menus, dialogs
-tool bars and scroll bars) is by choosing an appropriate theme, for example
-with the GNOME theme selector.  
-
-You can also do Emacs specific customization
-by inserting GTK style directives in the file @file{~/.emacs.d/gtkrc},
-but only if you have a Gtk+ version earlier than 3 (i.e. 2).   Some GTK
-themes ignore customizations in @file{~/.emacs.d/gtkrc} so not everything
-works with all themes.  To customize Emacs font, background, faces, etc., use
-the normal X resources (@pxref{Resources}).  We will present some examples of
-customizations here, but for a more detailed description, see the online manual
+  The most common way to customize the GTK widgets Emacs uses (menus,
+dialogs tool bars and scroll bars) is by choosing an appropriate
+theme, for example with the GNOME theme selector.
+
+You can also do Emacs specific customization by inserting GTK style
+directives in the file @file{~/.emacs.d/gtkrc}, but only if you have a
+Gtk+ version earlier than 3 (i.e.@: 2).  Some GTK themes ignore
+customizations in @file{~/.emacs.d/gtkrc} so not everything works with
+all themes.  To customize Emacs font, background, faces, etc., use the
+normal X resources (@pxref{Resources}).  We will present some examples
+of customizations here, but for a more detailed description, see the
+online manual
 
   The first example is just one line.  It changes the font on all GTK widgets
 to courier with size 12:
@@ -1065,7 +1066,7 @@ possible states are:
 This is the default state for widgets.
 @item ACTIVE
 This is the state for a widget that is ready to do something.  It is
-also for the trough of a scroll bar, i.e.  @code{bg[ACTIVE] = "red"}
+also for the trough of a scroll bar, i.e.@: @code{bg[ACTIVE] = "red"}
 sets the scroll bar trough to red.  Buttons that have been pressed but
 not released yet (``armed'') are in this state.
 @item PRELIGHT
@@ -1109,7 +1110,7 @@ You can't specify the file by its absolute file name.  GTK looks for
 the pixmap file in directories specified in @code{pixmap_path}.
 @code{pixmap_path} is a colon-separated list of directories within
 double quotes, specified at the top level in a @file{gtkrc} file
-(i.e. not inside a style definition; see example above):
+(i.e.@: not inside a style definition; see example above):
 
 @smallexample
 pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps"
@@ -1131,19 +1132,18 @@ Bold 12}, @samp{Courier 14}, @samp{Times 18}.  See below for exact
 syntax.  The names are case insensitive.
 @end table
 
-  There are three ways to specify a color: by name, in hexadecimal
-form, and with an RGB triplet.
+  There are three ways to specify a color: a color name, an RGB
+triplet, or a GTK-style RGB triplet.  @xref{Colors}, for a description
+of color names and RGB triplets.  Color names should be enclosed with
+double quotes, e.g.@: @samp{"red"}.  RGB triplets should be written
+without double quotes, e.g.@: @samp{#ff0000}.  GTK-style RGB triplets
+have the form
 
-@noindent
-A color name is written within double quotes, for example @code{"red"}.
-
-@noindent
-Hexadecimal form is the same as in X:
-@code{#@var{rrrr}@var{gggg}@var{bbbb}}, where all three color specs
-must have the same number of hex digits (1, 2, 3 or 4).
+@smallexample
+@code{@{ @var{r}, @var{g}, @var{b} @}}
+@end smallexample
 
 @noindent
-An RGB triplet looks like @code{@{ @var{r}, @var{g}, @var{b} @}},
 where @var{r}, @var{g} and @var{b} are either integers in the range
 0-65535 or floats in the range 0.0-1.0.
 
index 91ef4189b792818717f096f782c06cf87d5f700e..1acdcf5ebd2915e41c946487a4a3f1f58c208432 100644 (file)
@@ -1,5 +1,5 @@
 .\" See section COPYING for copyright and redistribution information.
-.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.91"
+.TH EMACS 1 "2007 April 13" "GNU Emacs 24.0.92"
 .
 .
 .SH NAME
index 32311ff5c3e756136af27c236678cf8abf127881..535efd86270e56b6e3cb51ccb648aad5257f3fb7 100644 (file)
@@ -12878,7 +12878,7 @@ To declare specifically that @code{x} is real and non-zero,
 use @samp{[[-inf .. 0), (0 .. inf]]}.  (There is no way in the
 current notation to say that @code{x} is nonzero but not necessarily
 real.)  The @kbd{a e} command does ``unsafe'' simplifications,
-including cancelling @samp{x} from the equation when @samp{x} is
+including canceling @samp{x} from the equation when @samp{x} is
 not known to be nonzero.
 
 Another set of type symbols distinguish between scalars and vectors.
@@ -21903,7 +21903,7 @@ of our sample formula by selecting it and pressing @kbd{n}
 @end smallexample
 
 Unselecting the sub-formula reveals that the minus sign, which would
-normally have cancelled out with the subtraction automatically, has
+normally have canceled out with the subtraction automatically, has
 not been able to do so because the subtraction was not part of the
 selected portion.  Pressing @kbd{=} (@code{calc-evaluate}) or doing
 any other mathematical operation on the whole formula will cause it
@@ -22590,7 +22590,7 @@ described for multiplication.
 
 Quotients of products cancel only in the leading terms of the
 numerator and denominator.  In other words, @expr{a x b / a y b}
-is cancelled to @expr{x b / y b} but not to @expr{x / y}.  Once
+is canceled to @expr{x b / y b} but not to @expr{x / y}.  Once
 again this is because full cancellation can be slow; use @kbd{a s}
 to cancel all terms of the quotient.
 
@@ -22810,7 +22810,7 @@ the distributive law.  For example, @expr{a x^2 b / c x^3 d} will
 cancel @expr{x^2} from the top and bottom to get @expr{a b / c x d}.
 (The terms in the denominator will then be rearranged to @expr{c d x}
 as described above.)  If there is any common integer or fractional
-factor in the numerator and denominator, it is cancelled out;
+factor in the numerator and denominator, it is canceled out;
 for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}.
 
 Non-constant common factors are not found even by @kbd{a s}.  To
@@ -22858,7 +22858,7 @@ example, @samp{(x - 23) % 10} is simplified to @samp{(x + 7) % 10}.
 
 If the argument is multiplied by a constant, and this constant
 has a common integer divisor with the modulus, then this factor is
-cancelled out.  For example, @samp{12 x % 15} is changed to
+canceled out.  For example, @samp{12 x % 15} is changed to
 @samp{3 (4 x % 5)} by factoring out 3.  Also, @samp{(12 x + 1) % 15}
 is changed to @samp{3 ((4 x + 1:3) % 5)}.  While these forms may
 not seem ``simpler,'' they allow Calc to discover useful information
@@ -22938,13 +22938,13 @@ function.
 \bigskip
 @end tex
 
-Equations and inequalities are simplified by cancelling factors
+Equations and inequalities are simplified by canceling factors
 of products, quotients, or sums on both sides.  Inequalities
-change sign if a negative multiplicative factor is cancelled.
+change sign if a negative multiplicative factor is canceled.
 Non-constant multiplicative factors as in @expr{a b = a c} are
-cancelled from equations only if they are provably nonzero (generally
+canceled from equations only if they are provably nonzero (generally
 because they were declared so; @pxref{Declarations}).  Factors
-are cancelled from inequalities only if they are nonzero and their
+are canceled from inequalities only if they are nonzero and their
 sign is known.
 
 Simplification also replaces an equation or inequality with
@@ -23035,9 +23035,9 @@ The simplifications of @expr{@tfn{ln}(@tfn{exp}(x))},
 unsafe because of problems with principal values (although these
 simplifications are safe if @expr{x} is known to be real).
 
-Common factors are cancelled from products on both sides of an
+Common factors are canceled from products on both sides of an
 equation, even if those factors may be zero:  @expr{a x / b x}
-to @expr{a / b}.  Such factors are never cancelled from
+to @expr{a / b}.  Such factors are never canceled from
 inequalities:  Even @kbd{a e} is not bold enough to reduce
 @expr{a x < b x} to @expr{a < b} (or @expr{a > b}, depending
 on whether you believe @expr{x} is positive or negative).
@@ -23071,7 +23071,7 @@ If units auto-ranging mode is enabled, products or quotients in
 which the first argument is a number which is out of range for the
 leading unit are modified accordingly.
 
-When cancelling and combining units in products and quotients,
+When canceling and combining units in products and quotients,
 Calc accounts for unit names that differ only in the prefix letter.
 For example, @samp{2 km m} is simplified to @samp{2000 m^2}.
 However, compatible but different units like @code{ft} and @code{in}
index 3e13dbb0f23ddf45e9fe79adec7eab670bb8292f..5149eb91651a0170b3a57276092cdcef242a263b 100644 (file)
@@ -1580,8 +1580,8 @@ available will be emphasized (e.g. colored blue).  For other items, the
 corresponding source code or DocLib header will be used as the help
 text.
 
-@cindex Completion, cancelling
-@cindex Cancelling completion
+@cindex Completion, canceling
+@cindex Canceling completion
 Completion is not a blocking operation --- you are free to continue
 editing, enter commands, or simply ignore the @file{*Completions*}
 buffer during a completion operation.  If, however, the most recent
index d9062a325723947cc915549aed583fe923850a07..774bf180266260af5337c48213a06e90c40a020d 100644 (file)
@@ -1974,7 +1974,7 @@ that look like:
 Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes:
 @end example
 
-@c FIXME: Add `message-insert-formated-citation-line' and
+@c FIXME: Add `message-insert-formatted-citation-line' and
 @c `message-citation-line-format'
 
 Point will be at the beginning of the body of the message when this
index 181e00f8e02074a95707ef7878bf48f57c8b01be..a6fae5e216fd53d87084513d183521e5ba441c60 100644 (file)
@@ -11399,16 +11399,16 @@ a file is retrieved with @code{org-publish-find-date}.
 @tab Should sorting be case-sensitive?  Default @code{nil}.
 
 @item @code{:sitemap-file-entry-format}
-@tab With this option one can tell how a sitemap's entry is formated in the
+@tab With this option one can tell how a sitemap's entry is formatted in the
 sitemap.  This is a format string with some escape sequences: @code{%t} stands
 for the title of the file, @code{%a} stands for the author of the file and
 @code{%d} stands for the date of the file.  The date is retrieved with the
-@code{org-publish-find-date} function and formated with
+@code{org-publish-find-date} function and formatted with
 @code{org-publish-sitemap-date-format}.  Default @code{%t}.
 
 @item @code{:sitemap-date-format}
 @tab Format string for the @code{format-time-string} function that tells how
-a sitemap entry's date is to be formated.  This property bypasses
+a sitemap entry's date is to be formatted.  This property bypasses
 @code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}.
 
 @item @code{:sitemap-sans-extension}
index f7f340074a2b24613b889a27dec6ca032cd88f94..e2c2594b66e53e16ff9c991b5c5815343eed90c2 100644 (file)
@@ -3704,4 +3704,4 @@ for @value{emacsothername}.
 @c   host and then send commands to it.
 @c * Use `filename' resp. `file name' consistently.
 @c * Use `host' resp. `machine' consistently.
-@c * Consistent small or capitalized words especially in menues.
+@c * Consistent small or capitalized words especially in menus.
index f8ab274e1362ed07f28ef5745a37904efac65529..b7929dbf4533ea60d4f74a9fb31c542710c7fecc 100644 (file)
@@ -31,6 +31,8 @@ Adam Sjøgren: changed spam.el blink.xpm braindamaged.xpm cry.xpm dead.xpm
   reverse-smile.xpm sad.xpm smile.xpm wry.xpm xterm.c gnus-html.el
   gnus-start.el gnus-sum.el gnus.el gtkutil.c shr.el xterm.h
 
+Adam W: changed mail-source.el
+
 Aditya Siram: changed ob.el
 
 Adrian Aichner: changed erc-log.el erc.el erc-autojoin.el erc-backend.el
@@ -193,9 +195,9 @@ Andreas Politz: changed editfns.c elp.el ido.el term.el
 Andreas Rottmann: changed emacsclient.1 emacsclient.c misc.texi server.el
 
 Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c alloc.c
-  process.c coding.c files.el xterm.c editfns.c fns.c keyboard.c print.c
+  process.c coding.c files.el xterm.c editfns.c keyboard.c fns.c print.c
   emacs.c eval.c fileio.c lread.c sysdep.c dired.el xfns.c buffer.c
-  and 568 other files
+  and 571 other files
 
 Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus-sum.el
   gnus.el nnslashdot.el gnus-srvr.el gnus-util.el mm-url.el mm-uu.el
@@ -497,8 +499,8 @@ Chong Yidong: wrote compile-tests.el dichromacy-theme.el
 and co-wrote longlines.el tango-dark-theme.el tango-theme.el
 and changed xdisp.c simple.el files.el display.texi frames.texi
   cus-edit.el files.texi keyboard.c startup.el package.el custom.el
-  emacs.texi xterm.c subr.el faces.el image.c mouse.el misc.texi
-  text.texi progmodes/compile.el xfns.c and 826 other files
+  emacs.texi xterm.c subr.el text.texi faces.el image.c mouse.el
+  misc.texi progmodes/compile.el xfns.c and 830 other files
 
 Chris Chase: co-wrote idlw-shell.el idlwave.el
 
@@ -561,10 +563,11 @@ Christoph Bauer: changed configure.in
 Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
   qp.el
 
-Christoph Scholtes: changed makefile.w32-in progmodes/python.el INSTALL
-  README.W32 maintaining.texi zipdist.bat admin.el bookmark.el
-  configure.bat cua-base.el help-mode.el help.el ido.el makedist.bat
-  menu.c minibuf.c process.c progmodes/grep.el stdint.h vc.el window.c
+Christoph Scholtes: changed makefile.w32-in progmodes/python.el stdint.h
+  INSTALL README.W32 maintaining.texi zipdist.bat admin.el bookmark.el
+  config.nt configure.bat control.texi cua-base.el help-mode.el help.el
+  ido.el makedist.bat menu.c minibuf.c process.c progmodes/grep.el
+  and 3 other files
 
 Christoph Wedler: wrote antlr-mode.el
 and changed format.el gnus-art.el gnus-picon.el message.el register.el
@@ -759,9 +762,11 @@ David Edmondson: changed message.el gnus-cite.el imap.el mm-view.el
   mml2015.el nnfolder.el nnimap.el nnml.el
 
 David Engster: wrote mairix.el nnmairix.el
-and changed gnus.texi registry.el gnus-msg.el bovine-grammar.el
-  display.texi files.el gnus-registry.el gnus-sum.el hideshow.el
-  mairix-el.texi mm-view.el mml-smime.el nnimap.el
+and changed gnus.texi registry.el gnus-msg.el insert.el
+  analyze/complete.el base.el bovine-grammar.el cedet/srecode.el
+  cpp-root.el custom.el db-find.el db-typecache.el db.el dictionary.el
+  display.texi document.el ede-grammar.el files.el generic.el
+  gnus-registry.el gnus-sum.el and 21 other files
 
 David Gillespie: wrote calc-aent.el calc-alg.el calc-arith.el calc-bin.el
   calc-comb.el calc-cplx.el calc-embed.el calc-ext.el calc-fin.el
@@ -908,7 +913,7 @@ Derek Upham: changed nxml-mode.el
 
 Detlev Zundel: wrote re-builder.el
 
-Devon Sean McCullough: changed comint.el
+Devon Sean Mccullough: changed comint.el
 
 Dhruva Krishnamurthy: changed makefile.w32-in emacsclient.c fontset.c
   sound.c w32proc.c
@@ -940,8 +945,8 @@ Dirk-Jan C. Binnema: changed org-agenda.el
 Dmitri Paduchikh: changed advice.el
 
 Dmitry Antipov: changed alloc.c keyboard.c buffer.c ccl.c editfns.c
-  emacs.c fontset.c lisp.h lread.c lwlib-Xaw.c lwlib-Xm.c lwlib-utils.c
-  lwlib.c macmenu.c w32menu.c xlwmenu.c xmenu.c
+  emacs.c fontset.c keymap.c lisp.h lread.c lwlib-Xaw.c lwlib-Xm.c
+  lwlib-utils.c lwlib.c macmenu.c w32menu.c xdisp.c xlwmenu.c xmenu.c
 
 Dmitry Bolshakov: changed hideshow.el
 
@@ -1018,8 +1023,8 @@ Eli Zaretskii: wrote [bidirectional display in xdisp.c] bidi.c rxvt.el
   tty-colors.el
 and changed makefile.w32-in msdos.c xdisp.c Makefile.in files.el
   config.bat fileio.c msdos.h simple.el mainmake.v2 sed1v2.inp info.el
-  rmail.el w32.c display.texi process.c pc-win.el startup.el dired.c
-  dispextern.h emacs.c and 695 other files
+  display.texi rmail.el w32.c process.c pc-win.el startup.el dispextern.h
+  dispnew.c dired.c and 697 other files
 
 Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
   gnus.el
@@ -1162,7 +1167,8 @@ Fabian Ezequiel Gallina: changed progmodes/python.el
 
 Fabrice Bauzac: changed dired-aux.el
 
-Fabrice Popineau: changed etags.c fileio.c gnus-cache.el
+Fabrice Popineau: changed config.nt etags.c fileio.c gnus-cache.el
+  inttypes.h lisp.h ms-w32.h nmake.defs regex.c stdint.h w32.c
 
 Fan Kai: changed esh-arg.el
 
@@ -1320,8 +1326,8 @@ Giuseppe Scrivano: changed browse-url.el buffer.c configure.in sysdep.c
 Glenn Morris: wrote check-declare.el f90.el vc-bzr.el
 and changed Makefile.in configure.in calendar.el diary-lib.el rmail.el
   files.el cal-menu.el appt.el cal-hebrew.el fortran.el bytecomp.el
-  holidays.el make-dist calendar.texi emacs.texi sed1v2.inp simple.el
-  cal-islam.el cal-bahai.el startup.el ack.texi and 1202 other files
+  holidays.el make-dist calendar.texi emacs.texi simple.el sed1v2.inp
+  cal-islam.el cal-bahai.el startup.el ack.texi and 1208 other files
 
 Glynn Clements: wrote gamegrid.el snake.el tetris.el
 
@@ -1552,7 +1558,7 @@ Jan Djärv: wrote dnd.el dynamic-setting.el x-dnd.el
 and changed gtkutil.c xterm.c xfns.c configure.in xmenu.c xterm.h
   gtkutil.h x-win.el keyboard.c Makefile.in nsterm.m frames.texi
   xsettings.c frame.c emacs.c xselect.c process.c xlwmenu.c config.in
-  cus-start.el xresources.texi and 302 other files
+  cus-start.el nsfns.m and 302 other files
 
 Jan Moringen: co-wrote srecode/cpp.el tango-dark-theme.el tango-theme.el
 and changed dbus.el dbus.texi dbusbind.c eieio.el log-edit.el zeroconf.el
@@ -1734,10 +1740,10 @@ Joel Ray Holveck: changed gnus-sum.el info.el
 Joev Dubach: changed nntp.el
 
 Johan BockgÃ¥rd: changed erc.el cl-macs.el erc-backend.el erc-button.el
-  erc-match.el browse-url.el bytecomp.el custom.el display.texi
+  erc-match.el xdisp.c browse-url.el bytecomp.el custom.el display.texi
   erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
-  help-fns.el icomplete.el mouse-sel.el simple.el subr.el xdisp.c
-  xterm.el and 48 other files
+  help-fns.el icomplete.el mouse-sel.el simple.el subr.el xterm.el
+  and 48 other files
 
 Johan Euphrosine: changed ibuf-ext.el
 
@@ -1863,8 +1869,8 @@ and changed ob-octave.el
 Juanma Barranquero: wrote emacs-lock.el
 and changed makefile.w32-in subr.el w32fns.c files.el server.el bs.el
   emacsclient.c help-fns.el faces.el org.el simple.el buffer.c xdisp.c
-  keyboard.c process.c w32term.c desktop.el ido.el eval.c mule-cmds.el
-  w32.c and 1036 other files
+  keyboard.c process.c w32term.c window.c desktop.el ido.el allout.el
+  eval.c and 1084 other files
 
 Juergen Kreileder: changed imap.el nnimap.el
 
@@ -1895,7 +1901,7 @@ and changed info.el isearch.el simple.el replace.el progmodes/grep.el
   dired-aux.el progmodes/compile.el dired.el startup.el faces.el files.el
   display.texi menu-bar.el descr-text.el bindings.el cus-edit.el
   image-mode.el ispell.el man.el dired-x.el log-view.el
-  and 334 other files
+  and 335 other files
 
 Justin Bogner: changed fortune.el
 
@@ -2001,7 +2007,7 @@ Keith Gabryelski: wrote hexl.c hexl.el
 Keith Packard: changed font.c
 
 Ken Brown: changed configure.in cygwin.h sheap.c browse-url.el gmalloc.c
-  vm-limit.c dired.c emacs.c loadup.el mem-limits.h unexcw.c
+  vm-limit.c dired.c emacs.c gdb-mi.el loadup.el mem-limits.h unexcw.c
 
 Ken Brush: changed emacsclient.c
 
@@ -2169,7 +2175,8 @@ and co-wrote gnus-kill.el gnus-mh.el gnus-msg.el gnus-score.el
 and changed gnus.texi gnus-cite.el pop3.el gnus-xmas.el smtpmail.el
   proto-stream.el auth-source.el xml.c dired.el editfns.c nnultimate.el
   subr.el gnus-nocem.el gnutls.c imap.el nnkiboze.el nnrss.el
-  nnslashdot.el spam-report.el gnus-cus.el simple.el and 205 other files
+  nnslashdot.el spam-report.el url-http.el gnus-cus.el
+  and 206 other files
 
 Lars Rasmusson: changed ebrowse.c
 
@@ -2323,7 +2330,7 @@ Mark Hood: changed gnus-uu.el
 
 Mark Lambert: changed process.c process.h
 
-Mark Lillibridge: changed mail-utils.el rmail.el
+Mark Lillibridge: changed rmail.el mail-utils.el unrmail.el
 
 Mark Mitchell: changed font-lock.el
 
@@ -2390,7 +2397,7 @@ Martin Neitzel: changed supercite.el
 Martin Pohlack: changed iimage.el pc-select.el
 
 Martin Rudalics: changed window.el window.c windows.texi frame.c buffer.c
-  frame.el help.el cus-edit.el cus-start.el files.el window.h
+  help.el window.h cus-start.el frame.el cus-edit.el files.el
   buffers.texi dired.el subr.el add-log.el xdisp.c font-lock.el
   help-fns.el lisp.h mouse.el wid-edit.el and 135 other files
 
@@ -2479,7 +2486,7 @@ and changed tramp.texi dbusbind.c trampver.texi dbus.texi trampver.el
   ange-ftp.el tramp-fish.el files.el tramp-imap.el files.texi Makefile.in
   tramp-vc.el tramp-util.el tramp-uu.el simple.el auth-source.el
   dired-aux.el configure.in em-unix.el fileio.c keyboard.c
-  and 64 other files
+  and 65 other files
 
 Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h
   unexec.c
@@ -2581,6 +2588,8 @@ Mikael Fornius: changed org.el org-habit.el
 
 Mike Haertel: changed 7300.h
 
+Mike Kazantsev: changed erc-dcc.el
+
 Mike Kupfer: changed mh-e.el mh-utils.el
 
 Mike Long: changed b2m.c make-dist make-mode.el netbsd.h view.el vms.h
@@ -2804,9 +2813,9 @@ and changed imenu.el make-mode.el
 Paul Eggert: wrote rcs2log vcdiff
 and co-wrote cal-dst.el
 and changed lisp.h Makefile.in editfns.c alloc.c xdisp.c configure.in
-  image.c fileio.c process.c fns.c xterm.c keyboard.c data.c dispextern.h
+  fileio.c image.c process.c fns.c xterm.c dispextern.h keyboard.c data.c
   lread.c sysdep.c xfns.c eval.c emacs.c config.in print.c
-  and 563 other files
+  and 564 other files
 
 Paul Fisher: changed fns.c
 
@@ -3356,9 +3365,9 @@ Stefan Monnier: wrote bibtex-style.el bzrmerge.el css-mode.el
   pcvs-util.el reveal.el smerge-mode.el smie.el vc-mtn.el
 and co-wrote font-lock.el
 and changed vc.el subr.el simple.el lisp.h keyboard.c files.el
-  Makefile.in bytecomp.el keymap.c xdisp.c pcvs.el alloc.c
-  progmodes/compile.el newcomment.el vc-hooks.el tex-mode.el buffer.c
-  sh-script.el eval.c fileio.c fill.el and 1030 other files
+  bytecomp.el Makefile.in keymap.c progmodes/compile.el xdisp.c pcvs.el
+  alloc.c newcomment.el vc-hooks.el tex-mode.el buffer.c fileio.c
+  sh-script.el eval.c fill.el and 1032 other files
 
 Stefan Reichör: changed gnus-agent.el
 
@@ -3508,7 +3517,7 @@ and changed subword.el image-mode.el Makefile.in cc-cmds.el emacsbug.el
   gnus-art.el gnus.texi nnimap.el files.el gnus-sum.el info.el
   org-footnote.el org.el reftex-ref.el simple.el tsdh-dark-theme.el
   tsdh-light-theme.el ack.texi bindings.el bookmark.el cc-mode.el
-  and 21 other files
+  and 22 other files
 
 Tatsuya Ichikawa: changed gnus-agent.el gnus-cache.el
 
@@ -3520,10 +3529,10 @@ Teemu Likonen: changed dired.el gnus-agent.el message.el
 
 Teodor Zlatanov: wrote auth-source.el gnus-registry.el gnus-sync.el
   gnus-tests.el gnutls.el registry.el spam-report.el url-future.el
-and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el auth.texi
-  gnus-util.el netrc.el gnus-start.el gnutls.c message.el spam-stat.el
-  encrypt.el nnmail.el imap.el mail-source.el Makefile.in gnus-encrypt.el
-  gnus-html.el gnus-int.el gnutls.h and 97 other files
+and changed spam.el gnus.el nnimap.el gnus.texi gnus-sum.el gnus-util.el
+  auth.texi netrc.el gnus-start.el gnutls.c message.el spam-stat.el
+  encrypt.el nnir.el nnmail.el imap.el mail-source.el nnmairix.el
+  Makefile.in gnus-encrypt.el gnus-html.el and 97 other files
 
 Terje Rosten: changed xfns.c version.el xterm.c xterm.h
 
@@ -3839,8 +3848,8 @@ Yann Dirson: changed imenu.el
 
 Yann Hodique: changed rcirc.el
 
-Yavor Doganov: changed configure.in Info-gnustep.plist emacs.1 etags.1
-  make-dist nsfont.m
+Yavor Doganov: changed configure.in Info-gnustep.plist Makefile.in
+  emacs.1 etags.1 make-dist nsfont.m
 
 Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
 
index 16a9d9dc4cb71fccd27e8f704aee880fd480e882..849566e6238f1656b23e0c38228c8bf66616db95 100644 (file)
@@ -4457,7 +4457,7 @@ highlighting, etc.
 
 So that such output processing may be done efficiently, there is a new
 variable, comint-last-output-start, that records the position of the start of
-the lastest output inserted into the buffer (effectively the previous value
+the last output inserted into the buffer (effectively the previous value
 of process-mark).  Output processing functions should process the text
 between comint-last-output-start (or perhaps the beginning of the line that
 the position lies on) and process-mark.
index 5acd8734ad0dd2d241179b35e1018b8de81dda7f..2470747bfb5516af58021ea77a1b91941f9ce5b8 100644 (file)
--- a/etc/TODO
+++ b/etc/TODO
@@ -674,7 +674,7 @@ with toolkit-specific code to display the menu bar right to left.
 
 *** image-type-header-regexps priorities the jpeg loader over the
 ImageMagick one.  This is not wrong, but how should a user go about
-prefering the ImageMagick loader?  The user might like zooming etc in jpegs.
+preferring the ImageMagick loader?  The user might like zooming etc in jpegs.
 
 Try (setq image-type-header-regexps nil) for a quick hack to prefer
 ImageMagick over the jpg loader.
index 3c9aff7ff0dd155dc7ba733ba8a1a6f2c69a8e86..adbe554216b19f0acec2a64d7cf363c275772dd0 100644 (file)
@@ -125,13 +125,13 @@ prompt $?NAME$ "$?PROMPT$"
 bind "p"
 
 template priority :blank
-"Insert a priority statemept."
+"Insert a priority statement."
 ----
 set priority $^$
 ----
 
 template application :blank
-"Insert a priority statemept."
+"Insert an application statement."
 ----
 set application "$^$"
 ----
index ed8aec0b16d5237fc0d5655938f2ccb0ea4ad43e..11aae483ba2cb3f357d4178455cc8a01620e9210 100644 (file)
 1998-07-21  Kenichi Handa  <handa@etl.go.jp>
 
        * quail/japanese.el (quail-japanese-kanji-kkc): Handle the case
-       that conversion is cancelled in kkc-region.
+       that conversion is canceled in kkc-region.
        (quail-japanese-switch-package): Fix previous change.
 
 1998-07-19  Kenichi Handa  <handa@etl.go.jp>
        (quail-mode-map): Change binding for ethio-insert-ethio-space.
        (quail-mode-hook): Check the current Quail package name.
 
-       * quail/latin-post.el: Add rules for cancelling accents by typing
+       * quail/latin-post.el: Add rules for canceling accents by typing
        two accent keys (e.g. a~ => a-tilde, a~~ => a~) to all Quail
        packages.
 
index eb5a0a00adef0c9021907123ce7727f11a2969a7..b1ee78a393e38608ace297f309d9ba8a8e61be34 100644 (file)
@@ -27,7 +27,7 @@
 ;;; Commentary:
 
 ;; These methods use a mixture of 8859-5 and Unicode.  Quail, used
-;; with ucs-tables provides suport for translating on the fly to
+;; with ucs-tables provides support for translating on the fly to
 ;; what's appropriate for aa buffer's file coding system, so the
 ;; encoding shouldn't matter too much provided it supports the
 ;; necessary characters.
index 4deeb86fb4d8e2b4ade7aa9f41310322d42ffcbb..ab82775ff0e861790a753169f02740c73dd90372 100644 (file)
@@ -152,7 +152,7 @@ eta         H               h
 theta          Q               q
 iota           I               i
 kappa          K               k
-lamda          L               l
+lambda         L               l
 mu             M               m
 nu             N               n
 xi             X               x
@@ -433,7 +433,7 @@ eta         H               h
 theta          J               j
 iota           I               i
 kappa          K               k
-lamda          L               l
+lambda         L               l
 mu             M               m
 nu             N               n
 xi             X               x
index db1464f65d8a0de11ea7990d9cb59d64fbb7b417..922a96ad1942a0570ed1696da1d50a45675ef564 100644 (file)
@@ -1,3 +1,16 @@
+2011-12-04  Juanma Barranquero  <lekktu@gmail.com>
+
+       * emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0;
+       instead, treat both -c and -t as always requesting a new "tty" frame,
+       and let server.el decide which kind is actually required.
+       Reported by Uwe Siart <usenet@siart.de> in this thread:
+       http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00303.html
+
+2011-11-30  Chong Yidong  <cyd@gnu.org>
+
+       * emacsclient.c (main): Condition last change on WINDOWSNT
+       (Bug#10155).
+
 2011-11-27  Eli Zaretskii  <eliz@gnu.org>
 
        * makefile.w32-in (LOCAL_FLAGS): Add $(EMACS_EXTRA_C_FLAGS).
index b46700ba6601a4aeafc88d36ba25b494b71c8955..5e1c2d61b899809a45acbbb3659dbdde76760097 100644 (file)
@@ -638,6 +638,22 @@ decode_options (int argc, char **argv)
   if (display && strlen (display) == 0)
     display = NULL;
 
+#ifdef WINDOWSNT
+  /* Emacs on Windows does not support GUI and console frames in the same
+     instance.  So, it makes sense to treat the -t and -c options as
+     equivalent, and open a new frame regardless of whether the running
+     instance is GUI or console.  Ideally, we would only set tty = 1 when
+     the instance is running in a console, but alas we don't know that.
+     The simplest workaround is to always ask for a tty frame, and let
+     server.el check whether it makes sense.  */
+  if (tty || !current_frame)
+    {
+      display = (const char *) ttyname;
+      current_frame = 0;
+      tty = 1;
+    }
+#endif
+
   /* If no display is available, new frames are tty frames.  */
   if (!current_frame && !display)
     tty = 1;
@@ -654,14 +670,6 @@ decode_options (int argc, char **argv)
 an empty string");
       exit (EXIT_FAILURE);
     }
-
-  /* TTY frames not supported on Windows.  Continue using GUI rather than
-     forcing the user to change their command-line.  This is required since
-     tty is set above if certain options are given and $DISPLAY is not set,
-     which is not obvious to users.  */
-  if (tty)
-      tty = 0;
-
 #endif /* WINDOWSNT */
 }
 
@@ -1635,6 +1643,11 @@ main (int argc, char **argv)
   /* Send over our environment and current directory. */
   if (!current_frame)
     {
+#ifndef WINDOWSNT
+      /* This is defined in stdlib.h on MS-Windows.  It's defined in
+        unistd.h on some POSIX hosts, but not all (Bug#10155).  */
+      extern char **environ;
+#endif
       int i;
       for (i = 0; environ[i]; i++)
         {
index f9f53ce91ab73ee157abf11812456d1c00ef794e..413a2947a58e9f5fa8be37e3d6bf2631fd3be2bc 100644 (file)
@@ -1,26 +1,76 @@
-2011-11-29  Ken Brown  <kbrown@cornell.edu>
+2011-12-05  Glenn Morris  <rgm@gnu.org>
 
-       * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878.
-       (gdb-version): Remove defvar.
-       (gdb-supports-non-stop): New defvar, replacing `gdb-version'.
-       (gdb-gud-context-command, gdb-non-stop-handler)
-       (gdb-current-context-command, gdb-stopped): Use it.
-       (gdb-init-1): Enable pretty printing here.
-       (gdb-non-stop-handler): Don't enable pretty-printing here.  Check
-       to see if the target supports non-stop mode; if not, turn off
-       non-stop mode.  Use the following.
-       (gdb-check-target-async): New defun.
-       (gud-watch, gdb-stopped): Fix whitespace.
-       (gdb-get-source-file): Don't try to display the source file if
-       `gdb-main-file' is nil.
+       * align.el (align--set-marker): Add doc-string.
+       Don't try to move something that is not a marker.  (Bug#10216)
 
-2011-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+2011-12-04  Glenn Morris  <rgm@gnu.org>
 
-       * align.el: Try to generate fewer markers (bug#10047).
-       (align--set-marker): New macro.
-       (align-region): Use it.
+       * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid
+       overly zealous deletion of trailing whitespace.
+
+2011-12-04  Juanma Barranquero  <lekktu@gmail.com>
+
+       * server.el (server-delete-client): On Windows, do not try to delete
+       the only terminal.
+       (server-process-filter): On Windows, treat requests for a tty frame as
+       if they were for a GUI frame if the running server is in GUI mode.
+
+2011-12-03  Glenn Morris  <rgm@gnu.org>
+
+       * textmodes/texinfmt.el (batch-texinfo-format): Doc fix.  (Bug#10207)
+
+2011-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * electric.el: Streamline electric-indent's hook.
+       (electric-indent-chars): Revert to simple list.
+       (electric-indent-functions): New var.
+       (electric-indent-post-self-insert-function): Use it.
+
+       * progmodes/prolog.el (prolog-find-value-by-system): Avoid error when
+       there's no inferior buffer (bug#10196).
+       (prolog-consult-compile): Don't use toggle-read-only.
+
+2011-12-02  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-maybe-open-connection): Handle user
+       interrupt.  (Bug#10187)
+
+2011-12-02  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * pcmpl-gnu.el (pcomplete/tar): large-file-warn-threshold can be nil
+       (bug#9160).
+
+       * dired-aux.el (dired-query): Don't assume help-char is modifier-free
+       (bug#10191).
+
+2011-12-02  Juri Linkov  <juri@jurta.org>
+
+       * info.el (Info-search): Display "end of manual" when Isearch
+       reaches the end of single-file Info manual.  (Bug#9918)
 
-2011-11-29  Michael McNamara  <mac@mail.brushroad.com>
+2011-12-02  Eli Zaretskii  <eliz@gnu.org>
+
+       * isearch.el (isearch-message-prefix): Run the input method part
+       of the prompt through bidi-string-mark-left-to-right.  (Bug#10183)
+
+2011-12-02  Juri Linkov  <juri@jurta.org>
+
+       * isearch.el (isearch-occur): Use `word-search-regexp' for
+       `isearch-word'.
+       (isearch-search-and-update): Add condition for `isearch-word' and
+       call `word-search-regexp'.  (Bug#10145)
+
+2011-12-01  Glenn Morris  <rgm@gnu.org>
+
+       * eshell/em-hist.el (eshell-hist-initialize):
+       Handle eshell-history-size nil and HISTSIZE set or unset.
+       (eshell-history-file-name, eshell-history-size): Fix custom type.
+
+2011-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * man.el (Man-completion-table): Fix the lambda case (bug#10168).
+
+2011-12-01  Michael McNamara  <mac@mail.brushroad.com>
 
        * progmodes/verilog-mode.el (verilog-pretty-expr):
        Rework verilog-pretty-expr to handle new assignment operators in system
        (verilog-sk-ovm-class): Add skeleton for OVM classes (reported
        by Alain Mellan).
 
-2011-11-29  Wilson Snyder  <wsnyder@wsnyder.org>
+2011-12-01  Wilson Snyder  <wsnyder@wsnyder.org>
 
        * progmodes/verilog-mode.el (verilog-read-defines): Fix reading
        parameters with embedded comments.  Reported by Ray Stevens.
        (verilog-read-decls): Fix parsing of unsigned data types, bug302.
        Reported by Jan Frode Lonnum.
 
+2011-11-30  Juanma Barranquero  <lekktu@gmail.com>
+
+       * htmlfontify.el (hfy-page-header, hfy-post-html-hooks)
+       (hfy-shell-file-name, hfy-shell):
+       * international/fontset.el (x-decompose-font-name): Fix typos.
+
+2011-11-29  Ken Brown  <kbrown@cornell.edu>
+
+       * progmodes/gdb-mi.el: Fix bug#9853, bug#9858, and bug#9878.
+       (gdb-version): Remove defvar.
+       (gdb-supports-non-stop): New defvar, replacing `gdb-version'.
+       (gdb-gud-context-command, gdb-non-stop-handler)
+       (gdb-current-context-command, gdb-stopped): Use it.
+       (gdb-init-1): Enable pretty printing here.
+       (gdb-non-stop-handler): Don't enable pretty-printing here.
+       Check to see if the target supports non-stop mode; if not, turn off
+       non-stop mode.  Use the following.
+       (gdb-check-target-async): New defun.
+       (gud-watch, gdb-stopped): Fix whitespace.
+       (gdb-get-source-file): Don't try to display the source file if
+       `gdb-main-file' is nil.
+
+2011-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * align.el: Try to generate fewer markers (bug#10047).
+       (align--set-marker): New macro.
+       (align-region): Use it.
+
 2011-11-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * isearch.el (isearch-yank-x-selection): Deactivate mark (bug#10022).
index 8721130ec5083ccf34b8adf2b89f06843d092a14..2a5a20181e13e7a9297522ec3b1cf00b37813559 100644 (file)
 2006-08-20  Chong Yidong  <cyd@stupidchicken.com>
 
        * frame.el (blink-cursor-start): Set timer first.
-       (blink-cursor-end): Ignore timer cancelling errors.
+       (blink-cursor-end): Ignore timer canceling errors.
        Suggested by Ken Manheimer.
 
 2006-08-20  Juanma Barranquero  <lekktu@gmail.com>
        interactive spec from "p" to "P".
 
        * progmodes/cc-styles.el: Amend the doc-string of c-set-style, in
-       reponse to a report from Joseph Kiniry <kiniry@acm.org> that it
+       response to a report from Joseph Kiniry <kiniry@acm.org> that it
        was difficult to understand.
 
 2005-12-08  Martin Stjernholm  <bug-cc-mode@gnu.org>
index 12eadc6aadf8d7a1b922cecaf465ba80ecf96422..0e6a27e0776fa246cb197f6fe36d586123c459e2 100644 (file)
 2007-10-31  Juanma Barranquero  <lekktu@gmail.com>
 
        * help-at-pt.el (help-at-pt-unload-hook): Remove.
-       Timers are automatically cancelled by `unload-feature'.
+       Timers are automatically canceled by `unload-feature'.
 
        * delsel.el (delsel-unload-hook): Remove function and variable.
        (delsel-unload-function): New-style unload function, adapted
index 0348a0141a2fc42b913ee2661c95dc7c93d36d82..7063ed67b621349ad7a565c3c1a2d4ac0311d02c 100644 (file)
 
        * calc/calc-embed.el (calc-embedded-restore-original-modes):
        Add argument for Calculator buffer.
-       (calc-do-embedded): Use specific Calculator buffer when cancelling
+       (calc-do-embedded): Use specific Calculator buffer when canceling
        embedded mode.
 
        * calc/calc.el (calc-buffer-list): New variable.
index e0c244d572514c9ed86859f9945b0ccf675293bf..ab1eb3591cdae6e752537b2362a4c13d744d4458 100644 (file)
        (sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK
        syntax pattern.
        (sql-mode-postgres-font-lock-keywords): Support Postgres V9.
-       (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands.
+       (sql-mode-sqlite-font-lock-keywords): Highlight sqlite commands.
 
 2010-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        Add new VC methods: vc-log-incoming and vc-log-outgoing.
        * vc.el (vc-print-log-setup-buttons): New function split out from
        vc-print-log-internal.
-       (vc-log-internal-common): New function, a parametrized version of
+       (vc-log-internal-common): New function, a parameterized version of
        vc-print-log-internal.
        (vc-print-log-internal): Just call vc-log-internal-common with the
        right arguments.
index cb39ca5997f6de90423db1702fb60a2e4cb2e14a..b97bcea89cca20cbac90524810fa3fb4a700cd8b 100644 (file)
        to "Non-echoed text: ".  This conforms with the convention
        used by existing prompts, and gives more room to type stuff.
 
-       * comint.el (comint-last-input-start): New varible.  In
+       * comint.el (comint-last-input-start): New variable.  In
        particular, this helps support subprocesses that insist on echoing
        their input.  Added comments to porting guide indicating that
        this should probably not be used for implementing history stuff.
index 934258ade6758bd8d87082e53cfa60709c70fe24..25a80567069e6099aefa661e8768a8fc9afaaf16 100644 (file)
 1998-07-21  Kenichi Handa  <handa@etl.go.jp>
 
        * international/kkc.el (kkc-region): Handled the case that
-       conversion is cancelled.
+       conversion is canceled.
        (kkc-terminate): Update kkc-overlay-head correctly.
        (kkc-cancel): Don't call kkc-terminate, but set kkc-converting to nil.
 
index 0d9f351b9dac5fc81b1e6606318da36aafb0468d..a386b7a82ba2baef91f834638cc270a0583b01bd 100644 (file)
@@ -1247,7 +1247,9 @@ have been aligned.  No changes will be made to the buffer."
        (setq areas (cdr areas))))))
 
 (defmacro align--set-marker (marker-var pos &optional type)
-  `(if ,marker-var
+  "If MARKER-VAR is a marker, move it to position POS.
+Otherwise, create a new marker at position POS, with type TYPE."
+  `(if (markerp ,marker-var)
        (move-marker ,marker-var ,pos)
      (setq ,marker-var (copy-marker ,pos ,type))))
 
index d8099b0aadc9fbac8a4173bb26123779eeaaaf92..d8c016567846772c9b58bdedc0dde054ab59601d 100644 (file)
 (defvar calc-arithmetic-menu
   (list "Arithmetic"
         (list "Basic"
-              ["-(1:)"         calc-change-sign 
+              ["-(1:)"         calc-change-sign
                :keys "n" :active (>= (calc-stack-size) 1)]
-              ["(2:) + (1:)"   calc-plus   
+              ["(2:) + (1:)"   calc-plus
                :keys "+" :active (>= (calc-stack-size) 2)]
-              ["(2:) - (1:)"   calc-minus  
+              ["(2:) - (1:)"   calc-minus
                :keys "-" :active (>= (calc-stack-size) 2)]
-              ["(2:) * (1:)"   calc-times  
+              ["(2:) * (1:)"   calc-times
                :keys "*" :active (>= (calc-stack-size) 2)]
-              ["(2:) / (1:)"   calc-divide 
+              ["(2:) / (1:)"   calc-divide
                :keys "/" :active (>= (calc-stack-size) 2)]
-              ["(2:) ^ (1:)"   calc-power  
+              ["(2:) ^ (1:)"   calc-power
                :keys "^" :active (>= (calc-stack-size) 2)]
-              ["(2:) ^ (1/(1:))" 
+              ["(2:) ^ (1/(1:))"
                (progn
                  (require 'calc-ext)
                  (let ((calc-inverse-flag t))
@@ -44,8 +44,8 @@
                :keys "I ^"
                :active (>= (calc-stack-size) 2)
                :help "The (1:)th root of (2:)"]
-              ["abs(1:)"   
-               (progn 
+              ["abs(1:)"
+               (progn
                  (require 'calc-arith)
                  (call-interactively 'calc-abs))
                :keys "A"
@@ -57,7 +57,7 @@
                  (call-interactively 'calc-inv))
                :keys "&"
                :active (>= (calc-stack-size) 1)]
-              ["sqrt(1:)" 
+              ["sqrt(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-sqrt))
@@ -70,7 +70,7 @@
                :keys "\\"
                :active (>= (calc-stack-size) 2)
                :help "The integer quotient of (2:) over (1:)"]
-              ["(2:) mod (1:)"  
+              ["(2:) mod (1:)"
                (progn
                  (require 'calc-misc)
                  (call-interactively 'calc-mod))
                :active (>= (calc-stack-size) 2)
                :help "The remainder when (2:) is divided by (1:)"])
         (list "Rounding"
-              ["floor(1:)" 
+              ["floor(1:)"
                (progn
                  (require 'calc-arith)
                  (call-interactively 'calc-floor))
                :keys "F"
                :active (>= (calc-stack-size) 1)
                :help "The greatest integer less than or equal to (1:)"]
-              ["ceiling(1:)"  
+              ["ceiling(1:)"
                (progn
                  (require 'calc-arith)
                  (call-interactively 'calc-ceiling))
                :keys "I F"
                :active (>= (calc-stack-size) 1)
                :help "The smallest integer greater than or equal to (1:)"]
-              ["round(1:)"    
+              ["round(1:)"
                (progn
                  (require 'calc-arith)
                  (call-interactively 'calc-round))
                :keys "R"
                :active (>= (calc-stack-size) 1)
                :help "The nearest integer to (1:)"]
-              ["truncate(1:)" 
+              ["truncate(1:)"
                (progn
                  (require 'calc-arith)
                  (call-interactively 'calc-trunc))
                :active (>= (calc-stack-size) 1)
                :help "The argument (polar angle) of (1:)"])
         (list "Conversion"
-              ["Convert (1:) to a float"    
+              ["Convert (1:) to a float"
                (progn
                  (require 'calc-ext)
                  (call-interactively 'calc-float))
                :keys "c f"
                :active (>= (calc-stack-size) 1)]
-              ["Convert (1:) to a fraction" 
+              ["Convert (1:) to a fraction"
                (progn
                  (require 'calc-ext)
                  (call-interactively 'calc-fraction))
                :keys "c F"
                :active (>= (calc-stack-size) 1)])
         (list "Binary"
-              ["Set word size" 
+              ["Set word size"
                (progn
                  (require 'calc-bin)
                  (call-interactively 'calc-word-size))
                :keys "b w"]
-              ["Clip (1:) to word size" 
+              ["Clip (1:) to word size"
                (progn
                  (require 'calc-bin)
                  (call-interactively 'calc-clip))
                :keys "b c"
                :active (>= (calc-stack-size) 1)
                :help "Reduce (1:) modulo 2^wordsize"]
-              ["(2:) and (1:)"    
+              ["(2:) and (1:)"
                (progn
                  (require 'calc-bin)
                  (call-interactively 'calc-and))
                :active (>= (calc-stack-size) 2)
                :help "Bitwise inclusive OR [modulo 2^wordsize]"]
               ["(2:) xor (1:)"
-               (progn 
+               (progn
                  (require 'calc-bin)
                  (call-interactively 'calc-xor))
                :keys "b x"
                :active (>= (calc-stack-size) 2)
                :help "Bitwise exclusive OR [modulo 2^wordsize]"]
-              ["diff(2:,1:)" 
+              ["diff(2:,1:)"
                (progn
                  (require 'calc-bin)
                  (call-interactively 'calc-diff))
                :keys "I P"
                :help "Euler's constant"])
         (list "Logs and Exps"
-              ["ln(1:)" 
-               (progn 
-                 (require 'calc-math) 
-                 (call-interactively 'calc-ln)) 
+              ["ln(1:)"
+               (progn
+                 (require 'calc-math)
+                 (call-interactively 'calc-ln))
                :keys "L"
                :active (>= (calc-stack-size) 1)
                :help "The natural logarithm"]
-              ["e^(1:)"   
+              ["e^(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-exp))
                :keys "E"
                :active (>= (calc-stack-size) 1)]
-              ["log(1:) [base 10]" 
+              ["log(1:) [base 10]"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-log10))
                :keys "H L"
                :active (>= (calc-stack-size) 1)
                :help "The common logarithm"]
-              ["10^(1:)" 
+              ["10^(1:)"
                (progn
                  (require 'calc-math)
                  (let ((calc-inverse-flag t))
                    (call-interactively 'calc-log10)))
                :keys "I H L"
                :active (>= (calc-stack-size) 1)]
-              ["log(2:) [base(1:)]" 
+              ["log(2:) [base(1:)]"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-log))
                :keys "B"
                :active (>= (calc-stack-size) 2)
                :help "The logarithm with an arbitrary base"]
-              ["(2:) ^ (1:)"  
-               calc-power 
+              ["(2:) ^ (1:)"
+               calc-power
                :keys "^"
                :active (>= (calc-stack-size) 2)])
         (list "Trigonometric Functions"
-              ["sin(1:)"  
+              ["sin(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-sin))
                :keys "S"
                :active (>= (calc-stack-size) 1)]
-              ["cos(1:)"  
+              ["cos(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-cos))
                :keys "C"
                :active (>= (calc-stack-size) 1)]
-              ["tan(1:)"  
+              ["tan(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-tan))
                :keys "T"
                :active (>= (calc-stack-size) 1)]
-              ["arcsin(1:)" 
+              ["arcsin(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arcsin))
                :keys "I S"
                :active (>= (calc-stack-size) 1)]
-              ["arccos(1:)" 
+              ["arccos(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arccos))
                :keys "I C"
                :active (>= (calc-stack-size) 1)]
-              ["arctan(1:)" 
+              ["arctan(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arctan))
                :keys "I T"
                :active (>= (calc-stack-size) 1)]
-              ["arctan2(2:,1:)" 
+              ["arctan2(2:,1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arctan2))
                :style radio
                :selected (eq calc-angle-mode 'hms)])
         (list "Hyperbolic Functions"
-              ["sinh(1:)" 
+              ["sinh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-sinh))
                :keys "H S"
                :active (>= (calc-stack-size) 1)]
-              ["cosh(1:)" 
+              ["cosh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-cosh))
                :keys "H C"
                :active (>= (calc-stack-size) 1)]
-              ["tanh(1:)" 
+              ["tanh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-tanh))
                :keys "H T"
                :active (>= (calc-stack-size) 1)]
-              ["arcsinh(1:)" 
+              ["arcsinh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arcsinh))
                :keys "I H S"
                :active (>= (calc-stack-size) 1)]
-              ["arccosh(1:)" 
+              ["arccosh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arccosh))
                :keys "I H C"
                :active (>= (calc-stack-size) 1)]
-              ["arctanh(1:)" 
+              ["arctanh(1:)"
                (progn
                  (require 'calc-math)
                  (call-interactively 'calc-arctanh))
                :keys "I H T"
                :active (>= (calc-stack-size) 1)])
         (list "Advanced Math Functions"
-              ["Gamma(1:)" 
+              ["Gamma(1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-gamma))
                :keys "f g"
                :active (>= (calc-stack-size) 1)
                :help "The Euler Gamma function"]
-              ["GammaP(2:,1:)" 
+              ["GammaP(2:,1:)"
                (progn
                  (require 'calc-funcs)
                  (call-interactively 'calc-inc-gamma))
                :keys "f G"
                :active (>= (calc-stack-size) 2)
                :help "The lower incomplete Gamma function"]
-              ["Beta(2:,1:)" 
+              ["Beta(2:,1:)"
                (progn
                  (require 'calc-funcs)
                  (call-interactively 'calc-beta))
                :keys "f b"
                :active (>= (calc-stack-size) 2)
                :help "The Euler Beta function"]
-              ["BetaI(3:,2:,1:)" 
+              ["BetaI(3:,2:,1:)"
                (progn
                  (require 'calc-funcs)
                  (call-interactively 'calc-inc-beta))
                :keys "f e"
                :active (>= (calc-stack-size) 1)
                :help "The error function"]
-              ["BesselJ(2:,1:)" 
+              ["BesselJ(2:,1:)"
                (progn
                  (require 'calc-funcs)
                  (call-interactively 'calc-bessel-J))
                :keys "f j"
                :active (>= (calc-stack-size) 2)
                :help "The Bessel function of the first kind (of order (2:))"]
-              ["BesselY(2:,1:)" 
+              ["BesselY(2:,1:)"
                (progn
                  (require 'calc-funcs)
                  (call-interactively 'calc-bessel-Y))
                :active (>= (calc-stack-size) 2)
                :help "The Bessel function of the second kind (of order (2:))"])
         (list "Combinatorial Functions"
-              ["gcd(2:,1:)" 
+              ["gcd(2:,1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-gcd))
                  :keys "k g"
                  :active (>= (calc-stack-size) 2)]
-              ["lcm(2:,1:)" 
+              ["lcm(2:,1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-lcm))
                :keys "k l"
                :active (>= (calc-stack-size) 2)]
-              ["factorial(1:)" 
+              ["factorial(1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-factorial))
                :keys "!"
                :active (>= (calc-stack-size) 1)]
-              ["(2:) choose (1:)" 
+              ["(2:) choose (1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-choose))
                :keys "k c"
                :active (>= (calc-stack-size) 2)]
-              ["permutations(2:,1:)" 
+              ["permutations(2:,1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-perm))
                :keys "H k c"
                :active (>= (calc-stack-size) 2)]
-              ["Primality test for (1:)" 
+              ["Primality test for (1:)"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-prime-test))
                :keys "k p"
                :active (>= (calc-stack-size) 1)
                :help "For large (1:), a probabilistic test"]
-              ["Factor (1:) into primes" 
+              ["Factor (1:) into primes"
                (progn
                  (require 'calc-comb)
                  (call-interactively 'calc-prime-factors))
         ["Help on Scientific Functions"
          (calc-info-goto-node "Scientific Functions")])
   "Menu for Calc's scientific functions.")
-              
+
 (defvar calc-algebra-menu
   (list "Algebra"
         (list "Simplification"
-              ["Simplify (1:)" 
+              ["Simplify (1:)"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-simplify))
                :keys "a s"
                :active (>= (calc-stack-size) 1)]
-              ["Simplify (1:) with extended rules" 
+              ["Simplify (1:) with extended rules"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-simplify-extended))
                :active (>= (calc-stack-size) 1)
                :help "Apply possibly unsafe simplifications"])
         (list "Manipulation"
-              ["Expand formula (1:)" 
+              ["Expand formula (1:)"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-expand-formula))
                :keys "a \""
                :active (>= (calc-stack-size) 1)
                :help "Expand (1:) into its defining formula, if possible"]
-              ["Evaluate variables in (1:)" 
+              ["Evaluate variables in (1:)"
                (progn
                  (require 'calc-ext)
                  (call-interactively 'calc-evaluate))
                :keys "="
                :active (>= (calc-stack-size) 1)]
-              ["Make substitution in (1:)" 
+              ["Make substitution in (1:)"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-substitute))
                :keys "a b"
                :active (>= (calc-stack-size) 1)
-               :help 
+               :help
                "Substitute all occurrences of a sub-expression with a new sub-expression"])
         (list "Polynomials"
-              ["Factor (1:)" 
+              ["Factor (1:)"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-factor))
                :keys "a f"
                :active (>= (calc-stack-size) 1)]
-              ["Collect terms in (1:)" 
+              ["Collect terms in (1:)"
                (progn
                  (require 'calc-alg)
-                 (call-interactively 'calc-collect)) 
+                 (call-interactively 'calc-collect))
                :keys "a c"
                :active (>= (calc-stack-size) 1)
                :help "Arrange as a polynomial in a given variable"]
-              ["Expand (1:)" 
+              ["Expand (1:)"
                (progn
                  (require 'calc-alg)
                  (call-interactively 'calc-expand))
                :keys "a x"
                :active (>= (calc-stack-size) 1)
                :help "Apply distributive law everywhere"]
-              ["Find roots of (1:)" 
+              ["Find roots of (1:)"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-poly-roots))
                :keys "a P"
                :active (>= (calc-stack-size) 1)])
         (list "Calculus"
-              ["Differentiate (1:)" 
+              ["Differentiate (1:)"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-derivative))
                :keys "a d"
                :active (>= (calc-stack-size) 1)]
-              ["Integrate (1:) [indefinite]" 
+              ["Integrate (1:) [indefinite]"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-integral))
                :keys "a i"
                :active (>= (calc-stack-size) 1)]
-              ["Integrate (1:) [definite]" 
+              ["Integrate (1:) [definite]"
                (progn
                  (require 'calcalg2)
                  (let ((var (read-string "Integration variable: ")))
-                   (calc-tabular-command 'calcFunc-integ "Integration" 
+                   (calc-tabular-command 'calcFunc-integ "Integration"
                                          "intg" nil var nil nil)))
                :keys "C-u a i"
                :active (>= (calc-stack-size) 1)]
                :keys "a I"
                :active (>= (calc-stack-size) 1)
                :help "Integrate using the open Romberg method"]
-              ["Taylor expand (1:)" 
+              ["Taylor expand (1:)"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-taylor))
                :keys "a t"
                :active (>= (calc-stack-size) 1)]
-              ["Minimize (2:) [initial guess = (1:)]" 
+              ["Minimize (2:) [initial guess = (1:)]"
                (progn
                  (require 'calcalg3)
                  (call-interactively 'calc-find-minimum))
                :keys "a N"
                :active (>= (calc-stack-size) 2)
                :help "Find a local minimum"]
-              ["Maximize (2:) [initial guess = (1:)]" 
+              ["Maximize (2:) [initial guess = (1:)]"
                (progn
                  (require 'calcalg3)
                  (call-interactively 'calc-find-maximum))
                :active (>= (calc-stack-size) 2)
                :help "Find a local maximum"])
         (list "Solving"
-              ["Solve equation (1:)" 
+              ["Solve equation (1:)"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-solve-for))
                :keys "a S"
                :active (>= (calc-stack-size) 1)]
-              ["Solve equation (2:) numerically [initial guess = (1:)]" 
+              ["Solve equation (2:) numerically [initial guess = (1:)]"
                (progn
                  (require 'calcalg3)
                  (call-interactively 'calc-find-root))
                :keys "a R"
                :active (>= (calc-stack-size) 2)]
-              ["Find roots of polynomial (1:)" 
+              ["Find roots of polynomial (1:)"
                (progn
                  (require 'calcalg2)
                  (call-interactively 'calc-poly-roots))
                :keys "a P"
                :active (>= (calc-stack-size) 1)])
         (list "Curve Fitting"
-              ["Fit (1:)=[x values, y values] to a curve" 
+              ["Fit (1:)=[x values, y values] to a curve"
                (progn
                  (require 'calcalg3)
                  (call-interactively 'calc-curve-fit))
 
 (defvar calc-graphics-menu
   (list "Graphics"
-        ["Graph 2D [(1:)= y values, (2:)= x values]" 
+        ["Graph 2D [(1:)= y values, (2:)= x values]"
          (progn
            (require 'calc-graph)
            (call-interactively 'calc-graph-fast))
          :keys "g f"
          :active (>= (calc-stack-size) 2)]
-        ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]" 
+        ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]"
          (progn
            (require 'calc-graph)
            (call-interactively 'calc-graph-fast-3d))
 (defvar calc-vectors-menu
   (list "Matrices/Vectors"
         (list "Matrices"
-              ["(2:) + (1:)"   calc-plus   
+              ["(2:) + (1:)"   calc-plus
                :keys "+" :active (>= (calc-stack-size) 2)]
-              ["(2:) - (1:)"   calc-minus  
+              ["(2:) - (1:)"   calc-minus
                :keys "-" :active (>= (calc-stack-size) 2)]
-              ["(2:) * (1:)"   calc-times  
+              ["(2:) * (1:)"   calc-times
                :keys "*" :active (>= (calc-stack-size) 2)]
               ["(1:)^(-1)"
                (progn
                :keys "&"
                :active (>= (calc-stack-size) 1)]
               ["Create an identity matrix"
-               (progn 
+               (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-ident))
                :keys "v i"]
-              ["transpose(1:)" 
+              ["transpose(1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-transpose))
                :keys "v t"
                :active (>= (calc-stack-size) 1)]
-              ["det(1:)" 
+              ["det(1:)"
                (progn
                  (require 'calc-mtx)
                  (call-interactively 'calc-mdet))
                  (call-interactively 'calc-mtrace))
                :keys "V T"
                :active (>= (calc-stack-size) 1)]
-              ["LUD decompose (1:)" 
+              ["LUD decompose (1:)"
                (progn
                  (require 'calc-mtx)
                  (call-interactively 'calc-mlud))
                :keys "V L"
                :active (>= (calc-stack-size) 1)]
-              ["Extract a row from (1:)" 
+              ["Extract a row from (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-mrow))
                :keys "v r"
                :active (>= (calc-stack-size) 1)]
-              ["Extract a column from (1:)" 
+              ["Extract a column from (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-mcol))
                  (call-interactively 'calc-head))
                :keys "v h"
                :active (>= (calc-stack-size) 1)]
-              ["Extract an element from (1:)" 
+              ["Extract an element from (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-mrow))
                :keys "v r"
                :active (>= (calc-stack-size) 1)]
-              ["Reverse (1:)" 
+              ["Reverse (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-reverse-vector))
                :keys "v u"
                :active (>= (calc-stack-size) 1)
                :help "Separate the elements of (1:)"]
-              ["(2:) cross (1:)" 
+              ["(2:) cross (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-cross))
                :keys "V C"
                :active (>= (calc-stack-size) 2)
                :help "The cross product in R^3"]
-              ["(2:) dot (1:)" 
-               calc-mult 
+              ["(2:) dot (1:)"
+               calc-mult
                :keys "*"
                :active (>= (calc-stack-size) 2)
                :help "The dot product"]
-              ["Map a function across (1:)" 
+              ["Map a function across (1:)"
                (progn
                  (require 'calc-map)
                  (call-interactively 'calc-map))
                :active (>= (calc-stack-size) 1)
                :help "Apply a function to each element"])
         (list "Vectors As Sets"
-              ["Remove duplicates from (1:)" 
+              ["Remove duplicates from (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-remove-duplicates))
                :keys "V +"
                :active (>= (calc-stack-size) 1)]
-              ["(2:) union (1:)" 
+              ["(2:) union (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-set-union))
                :keys "V V"
                :active (>= (calc-stack-size) 2)]
-              ["(2:) intersect (1:)" 
+              ["(2:) intersect (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-set-intersect))
                :keys "V ^"
                :active (>= (calc-stack-size) 2)]
-              ["(2:) \\ (1:)" 
+              ["(2:) \\ (1:)"
                (progn
                  (require 'calc-vec)
                  (call-interactively 'calc-set-difference))
                :help "Set difference"
                :active (>= (calc-stack-size) 2)])
         (list "Statistics On Vectors"
-              ["length(1:)" 
+              ["length(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-count))
                :keys "u #"
                :active (>= (calc-stack-size) 1)
                :help "The number of data values"]
-              ["sum(1:)"    
+              ["sum(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-sum))
                :keys "u +"
                :active (>= (calc-stack-size) 1)
                :help "The sum of the data values"]
-              ["max(1:)"    
+              ["max(1:)"
                (progn
                  (require 'calc-stat)
-                 (call-interactively 'calc-vector-max))  
+                 (call-interactively 'calc-vector-max))
                :keys "u x"
                :active (>= (calc-stack-size) 1)
                :help "The maximum of the data values"]
-              ["min(1:)"    
+              ["min(1:)"
                (progn
                  (require 'calc-stat)
-                 (call-interactively 'calc-vector-min))  
+                 (call-interactively 'calc-vector-min))
                :keys "u N"
                :active (>= (calc-stack-size) 1)
-               :help "The minumum of the data values"]
-              ["mean(1:)"   
+               :help "The minimum of the data values"]
+              ["mean(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-mean))
               :keys "I u M"
               :active (>= (calc-stack-size) 1)
               :help "The average (arithmetic mean) of the data values as an error form"]
-              ["sdev(1:)"   
+              ["sdev(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-sdev))
                :keys "u S"
                :active (>= (calc-stack-size) 1)
                :help "The sample sdev, sqrt[sum((values - mean)^2)/(N-1)]"]
-              ["variance(1:)" 
+              ["variance(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-variance))
                :keys "H u S"
                :active (>= (calc-stack-size) 1)
                :help "The sample variance, sum((values - mean)^2)/(N-1)"]
-              ["population sdev(1:)" 
+              ["population sdev(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-pop-sdev))
                :keys "I u S"
                :active (>= (calc-stack-size) 1)
                :help "The population sdev, sqrt[sum((values - mean)^2)/N]"]
-              ["population variance(1:)" 
+              ["population variance(1:)"
                (progn
                  (require 'calc-stat)
                  (call-interactively 'calc-vector-pop-variance))
 
 (defvar calc-units-menu
   (list "Units"
-        ["Convert units in (1:)" 
+        ["Convert units in (1:)"
          (progn
            (require 'calc-units)
            (call-interactively 'calc-convert-units ))
          :keys "u c"
          :active (>= (calc-stack-size) 1)]
-        ["Convert temperature in (1:)" 
+        ["Convert temperature in (1:)"
          (progn
            (require 'calc-units)
            (call-interactively 'calc-convert-temperature))
          :keys "u t"
          :active (>= (calc-stack-size) 1)]
-        ["Simplify units in (1:)" 
+        ["Simplify units in (1:)"
          (progn
            (require 'calc-units)
            (call-interactively 'calc-simplify-units))
          :keys "u s"
          :active (>= (calc-stack-size) 1)]
-        ["View units table" 
+        ["View units table"
          (progn
            (require 'calc-units)
            (call-interactively 'calc-view-units-table))
 
 (defvar calc-variables-menu
   (list "Variables"
-        ["Store (1:) into a variable" 
+        ["Store (1:) into a variable"
          (progn
            (require 'calc-store)
            (call-interactively 'calc-store))
          :keys "s s"
          :active (>= (calc-stack-size) 1)]
-        ["Recall a variable value" 
+        ["Recall a variable value"
           (progn
             (require 'calc-store)
             (call-interactively 'calc-recall ))
          :keys "s r"]
-        ["Edit the value of a variable" 
+        ["Edit the value of a variable"
          (progn
            (require 'calc-store)
            (call-interactively 'calc-edit-variable))
          :keys "s e"]
-        ["Exchange (1:) with a variable value" 
+        ["Exchange (1:) with a variable value"
          (progn
            (require 'calc-store)
            (call-interactively 'calc-store-exchange))
          :keys "s x"
          :active (>= (calc-stack-size) 1)]
-        ["Clear variable value" 
+        ["Clear variable value"
          (progn
            (require 'calc-store)
            (call-interactively 'calc-unstore))
          :keys "s u"]
-        ["Evaluate variables in (1:)" 
+        ["Evaluate variables in (1:)"
          (progn
            (require 'calc-ext)
            (call-interactively 'calc-evaluate))
          :keys "="
          :active (>= (calc-stack-size) 1)]
-        ["Evaluate (1:), assigning a value to a variable" 
+        ["Evaluate (1:), assigning a value to a variable"
          (progn
            (require 'calc-store)
            (call-interactively 'calc-let))
 
 (defvar calc-stack-menu
   (list "Stack"
-        ["Remove (1:)" 
-         calc-pop 
+        ["Remove (1:)"
+         calc-pop
          :keys "DEL"
          :active (>= (calc-stack-size) 1)]
-        ["Switch (1:) and (2:)" 
-         calc-roll-down 
+        ["Switch (1:) and (2:)"
+         calc-roll-down
          :keys "TAB"
          :active (>= (calc-stack-size) 2)]
-        ["Duplicate (1:)" 
-         calc-enter 
+        ["Duplicate (1:)"
+         calc-enter
          :keys "RET"
          :active (>= (calc-stack-size) 1)]
-        ["Edit (1:)" 
+        ["Edit (1:)"
          (progn
            (require 'calc-yank)
            (call-interactively calc-edit))
 
 (defvar calc-errors-menu
   (list "Undo"
-        ["Undo" 
+        ["Undo"
          (progn
            (require 'calc-undo)
            (call-interactively 'calc-undo))
          :keys "U"]
-        ["Redo" 
+        ["Redo"
          (progn
            (require 'calc-undo)
            (call-interactively 'calc-redo))
 
 (defvar calc-modes-menu
   (list "Modes"
-        ["Precision" 
+        ["Precision"
          (progn
            (require 'calc-ext)
            (call-interactively 'calc-precision))
               ["Binary"
                (progn
                  (require 'calc-bin)
-                 (call-interactively 
+                 (call-interactively
                   (lambda () (interactive) (calc-binary-radix t))))
                :keys "C-u d 2"
                :style radio
                :keys "d e"
                :style radio
                :selected (eq (car-safe calc-float-format) 'eng)])
-        (list "Complex Format"             
+        (list "Complex Format"
               ["Default"
                (progn
                  (require 'calc-cplx)
 
 (defvar  calc-help-menu
   (list "Help"
-        ["Manual"   
+        ["Manual"
          calc-info
          :keys "h i"]
-        ["Tutorial" 
-         calc-tutorial 
+        ["Tutorial"
+         calc-tutorial
          :keys "h t"]
-        ["Summary"  
-         calc-info-summary 
+        ["Summary"
+         calc-info-summary
          :keys "h s"]
         "----"
-        ["Help on Help" 
+        ["Help on Help"
          (progn
            (calc-info-goto-node "Introduction")
            (Info-goto-node "Help Commands"))])
         calc-errors-menu
         calc-modes-menu
         calc-help-menu
-        ["Reset"  
+        ["Reset"
          (progn
            (require 'calc-ext)
            (call-interactively 'calc-reset))
         ["Quit" calc-quit]))
 
 (provide 'calc-menu)
-
index 2360cf00ddca95e209ff7d0e3eb1b9a1ade28557..135ea0bae402454136add2cf53bcfbbd01d742ef 100644 (file)
                      val))
                val))))))))
 
-;;; The Calc set- and get-register commands are modified versions of functions 
+;;; The Calc set- and get-register commands are modified versions of functions
 ;;; in register.el
 
 (defvar calc-register-alist nil
@@ -206,7 +206,7 @@ With prefix arg, delete as well."
 
 (defun calc-add-to-register (register start end prepend delete-flag)
   "Add the lines in the region to register REGISTER.
-If PREPEND is non-nil, add them to the beginning of the register, 
+If PREPEND is non-nil, add them to the beginning of the register,
 otherwise the end.  If DELETE-FLAG is non-nil, also delete the region."
   (let* ((top-num (calc-locate-cursor-element start))
          (top-pos (save-excursion
@@ -242,7 +242,7 @@ With prefix arg, also delete the region."
   (if (eq major-mode 'calc-mode)
       (calc-add-to-register register start end nil delete-flag)
     (append-to-register register start end delete-flag)))
-  
+
 (defun calc-prepend-to-register (register start end &optional delete-flag)
   "Copy the lines in the region to the beginning of register REGISTER.
 With prefix arg, also delete the region."
@@ -250,7 +250,7 @@ With prefix arg, also delete the region."
   (if (eq major-mode 'calc-mode)
       (calc-add-to-register register start end t delete-flag)
     (prepend-to-register register start end delete-flag)))
-  
+
 
 
 (defun calc-clean-newlines (s)
@@ -585,12 +585,12 @@ To cancel the edit, simply kill the *Calc Edit* buffer."
     (setq calc-allow-ret allow-ret)
     (let ((inhibit-read-only t))
       (erase-buffer))
-    (add-hook 'kill-buffer-hook (lambda () 
+    (add-hook 'kill-buffer-hook (lambda ()
                                   (let ((calc-edit-handler nil))
                                     (calc-edit-finish t))
                                   (message "(Cancelled)")) t t)
     (insert (propertize
-             (concat 
+             (concat
               (or title title "Calc Edit Mode. ")
               "Press `C-c C-c'"
               (if allow-ret "" " or RET")
index 4a79316d73607e26a87fc008ee020bc704205965..faf624247299811cc10867d7477ce1aa1d0460ac 100644 (file)
@@ -81,7 +81,7 @@ This determines the default behavior of unary operators."
 
 (defcustom calculator-prompt "Calc=%s> "
   "The prompt used by the Emacs calculator.
-It should contain a \"%s\" somewhere that will indicate the i/o radixes;
+It should contain a \"%s\" somewhere that will indicate the i/o radices;
 this will be a two-character string as described in the documentation
 for `calculator-mode'."
   :type  'string
index c44eb6e1b5d62e600a1b508a41802b6b514593db..230366da2b01087d2d335081736d352eecba0e07 100644 (file)
@@ -508,7 +508,7 @@ 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: 
+  (interactive "sTime (hh:mm[am/pm]): \nsMessage: \n\
 sMinutes before the appointment to start warning: ")
   (unless (string-match appt-time-regexp time)
     (error "Unacceptable time-string"))
@@ -521,7 +521,7 @@ sMinutes before the appointment to start warning: ")
   (or appt-timer (appt-activate))
   (let ((time-msg (list (list (appt-convert-time time))
                         (concat time " " msg) t)))
-    ;; It is presently non-sensical to have multiple warnings about
+    ;; It is presently nonsensical 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))))
index 53639b19a960bde9ec0a52b719fd170571aaede2..35841d2a6b21d08af6115be29036d060b6f1a5e8 100644 (file)
@@ -199,12 +199,12 @@ not an indication of new features or bug fixes."
             (= v1-1 v2-1)
             (= v1-2 v2-2)
             (= v1-3 v2-3)
-            v1-4 v2-4          ; all or nothin if elt - is =
+            v1-4 v2-4          ; all or nothing if elt - is =
             (< v1-4 v2-4))
        (and (= v1-0 v2-0)
             (= v1-1 v2-1)
             (= v1-2 v2-2)
-            v1-3 v2-3          ; all or nothin if elt - is =
+            v1-3 v2-3          ; all or nothing if elt - is =
             (< v1-3 v2-3))
        (and (= v1-1 v2-1)
             (< v1-2 v2-2))
index 3355ed83a914c3119967b0484ae9801b992f667e..337413caf75a78d684f154b583e7122530b9aad1 100644 (file)
@@ -680,7 +680,7 @@ Does nothing if the current buffer doesn't need reparsing."
                    (save-excursion (semantic-fetch-tags))
                    nil)
              ;; If we are here, it is because the lexical step failed,
-             ;; proably due to unterminated lists or something like that.
+             ;; probably due to unterminated lists or something like that.
 
              ;; We do nothing, and just wait for the next idle timer
              ;; to go off.  In the meantime, remember this, and make sure
index a2c8c5efd409643a5b1e5c5e99aec4af3decbc9a..3fbcf6d932f958cd4ac6537c1afa718cfaac8a71 100644 (file)
@@ -859,7 +859,7 @@ pre-positioned to a convenient location."
          (setq cacheend chil)
          (while (and cacheend (not (eq last (car cacheend))))
            (setq cacheend (cdr cacheend)))
-         ;; The splicable part is after cacheend.. so move cacheend
+         ;; The spliceable part is after cacheend.. so move cacheend
          ;; one more tag.
          (setq cacheend (cdr cacheend))
          ;; Splice the found end tag into the cons cell
index 6761a7f532ba2455a7e6638dc3dfe955a41d3684..4b3a51e79f7e800fa62b79470aa0631f44fd452c 100644 (file)
@@ -515,7 +515,7 @@ Does nothing if the current buffer doesn't need reparsing."
                        (save-excursion (semantic-fetch-tags))
                        nil)
                  ;; If we are here, it is because the lexical step failed,
-                 ;; proably due to unterminated lists or something like that.
+                 ;; probably due to unterminated lists or something like that.
 
                  ;; We do nothing, and just wait for the next idle timer
                  ;; to go off.  In the meantime, remember this, and make sure
index ba43ba657a128eb3b2f3d1282626e4a5eab06c82..dab5c444faeb05b043d609ad88f3c8f760423c1b 100644 (file)
@@ -1248,7 +1248,7 @@ they are comment end characters) AND when you want whitespace tokens."
   (if (eq (semantic-lex-token-class (car semantic-lex-token-stream))
          'whitespace)
       ;; Merge whitespace tokens together if they are adjacent.  Two
-      ;; whitespace tokens may be sperated by a comment which is not in
+      ;; whitespace tokens may be separated by a comment which is not in
       ;; the token stream.
       (setcdr (semantic-lex-token-bounds (car semantic-lex-token-stream))
               (match-end 0))
@@ -1271,7 +1271,7 @@ they are comment end characters)."
   (if (eq (semantic-lex-token-class (car semantic-lex-token-stream))
          'whitespace)
       ;; Merge whitespace tokens together if they are adjacent.  Two
-      ;; whitespace tokens may be sperated by a comment which is not in
+      ;; whitespace tokens may be separated by a comment which is not in
       ;; the token stream.
       (progn
         (setq semantic-lex-end-point (match-end 0))
index 4d001322108aed0c2c51e795b9a9028e21756d3f..2f585cbdf45e7c9510c4b3268e6f0aa2ba11d5cc 100644 (file)
@@ -195,7 +195,7 @@ See `semantic-tag-static-p'."
 ;;;###autoload
 (define-overloadable-function semantic-tag-prototype-p (tag)
   "Return non nil if TAG is a prototype.
-For some laguages, such as C, a prototype is a declaration of
+For some languages, such as C, a prototype is a declaration of
 something without an implementation."
   )
 
index f13fb17ca8f8a9180575ad731fa26961695e27a8..f4d34a0f2aba6672b575cc62f490acbddac0cd05 100644 (file)
@@ -324,7 +324,7 @@ Try to use this to provide useful completion when available.")
   )
 
 (defvar srecode-field-replication-max-size 100
-  "Maximum size of a field before cancelling replication.")
+  "Maximum size of a field before canceling replication.")
 
 (defun srecode-field-mod-hook (ol after start end &optional pre-len)
   "Modification hook for the field overlay.
index ed6ab96107a9183145c676ce2427a1eddb65cfdb..96a0745dd31e6c737f563128acdd4505dce5f52c 100644 (file)
@@ -206,7 +206,7 @@ This has effect only when there are lines with different number of columns."
   :group 'columns)
 
 (defcustom delimit-columns-start 0
-  "Specify column number to start prettifing.
+  "Specify column number to start prettifying.
 
 See also `delimit-columns-end' for documentation.
 
@@ -221,7 +221,7 @@ column (column 0) is located at left corner."
   :group 'columns)
 
 (defcustom delimit-columns-end 1000000
-  "Specify column number to end prettifing.
+  "Specify column number to end prettifying.
 
 See also `delimit-columns-start' for documentation.
 
index 6d2c47f3957924fb0e2a64c386587b9514c7846c..fcd45f1a1485fa9a0c5750f9a6f5b8ee7f0ba649 100644 (file)
@@ -144,7 +144,7 @@ any selection."
 (put 'newline 'delete-selection t)
 (put 'open-line 'delete-selection 'kill)
 
-;; This is very useful for cancelling a selection in the minibuffer without
+;; This is very useful for canceling a selection in the minibuffer without
 ;; aborting the minibuffer.
 (defun minibuffer-keyboard-quit ()
   "Abort recursive edit.
index 8b7fa89a19b8042aa268428a4775a564a8176837..f285fe4233230f03e1a16d68acff247eb3dfd15f 100644 (file)
@@ -358,7 +358,7 @@ This function is semi-obsolete.  Use `get-char-code-property'."
       (compose-string (string ch) 0 1 (format "\t%c\t" ch))
     (string ch)))
 
-;; Return a nicely formated list of categories; extended category
+;; Return a nicely formatted list of categories; extended category
 ;; description is added to the category name as a tooltip
 (defsubst describe-char-categories (category-set)
   (let ((mnemonics (category-set-mnemonics category-set)))
index b63940cec2dd8ff903e4abf85bbc5d15cc4536cf..757e814dba17a6b4db91141892c05a239af8e4df 100644 (file)
@@ -927,8 +927,7 @@ return t; if SYM is q or ESC, return nil."
                 (concat (apply 'format prompt args)
                         (if help-form
                             (format " [Type yn!q or %s] "
-                                    (key-description
-                                     (char-to-string help-char)))
+                                    (key-description (vector help-char)))
                           " [Type y, n, q or !] ")))
           (set sym (setq char (read-char-choice prompt char-choices)))
           (if (memq char '(?y ?\s ?!)) t)))))
index 4daf313445c7547f1c2475bfda477761b75a1d6a..0863cc1abac539857d96722150469c82c5733c22 100644 (file)
@@ -1392,7 +1392,7 @@ Considers buffers closer to the car of `buffer-list' to be more recent."
 ;; Apparently people do use it. - lrd 12/22/97.
 
 (with-no-warnings
-  ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix".
+  ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix".
   ;; This is unbearably ugly, but not more than having global variables
   ;; named size, time, name or s, however practical it can be while writing
   ;; `dired-mark-sexp' predicates.
index 32a7f74968158d60496b17dd91b7d463a4859902..4970b14e7b434701a98b2353292c64988f12ccc9 100644 (file)
@@ -3667,7 +3667,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
 ;;;;;;  dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
 ;;;;;;  dired-clean-directory dired-do-print dired-do-touch dired-do-chown
 ;;;;;;  dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
-;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "2026ac587f0d9e893bae7662ff9d9318")
+;;;;;;  dired-diff) "dired-aux" "dired-aux.el" "2301de52aab0488c60d2b4841b6f597f")
 ;;; Generated autoloads from dired-aux.el
 
 (autoload 'dired-diff "dired-aux" "\
@@ -4128,7 +4128,7 @@ instead.
 ;;;***
 \f
 ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump)
-;;;;;;  "dired-x" "dired-x.el" "ea7c74fbb7dddf43bb85875018cb59ad")
+;;;;;;  "dired-x" "dired-x.el" "a542cdbf155ff79f36331bae217f3b28")
 ;;; Generated autoloads from dired-x.el
 
 (autoload 'dired-jump "dired-x" "\
index 657b577bb1ebaff2cbd00de2b2de228816facc4e..cec1b5d2000c80c86e6a7ebcbce7c7a79cb0357b 100644 (file)
@@ -85,7 +85,7 @@
              (eq last-input-event ?\C-g))
          (progn (setq unread-command-events nil
                       prefix-arg nil)
-                ;; If it wasn't cancelling a prefix character, then quit.
+                ;; If it wasn't canceling a prefix character, then quit.
                 (if (or (= (length (this-command-keys)) 1)
                         (not inhibit-quit)) ; safety
                     (progn (ding)
@@ -197,11 +197,13 @@ Returns nil when we can't find this char."
 ;; value, which only works well if the variable is preloaded.
 ;;;###autoload
 (defvar electric-indent-chars '(?\n)
-  "Characters that should cause automatic reindentation.
-Each entry of the list can be either a character or a cons of the
-form (CHAR . PREDICATE) which means that CHAR should cause reindentation
-only if PREDICATE returns non-nil.  PREDICATE is called with no arguments
-and with point before the inserted char.")
+  "Characters that should cause automatic reindentation.")
+
+(defvar electric-indent-functions nil
+  "Special hook run to decide whether to auto-indent.
+Each function is called with one argument (the inserted char), with
+point right after that char, and it should return t to cause indentation,
+`no-indent' to prevent indentation or nil to let other functions decide.")
 
 (defun electric-indent-post-self-insert-function ()
   ;; FIXME: This reindents the current line, but what we really want instead is
@@ -212,18 +214,21 @@ and with point before the inserted char.")
   ;; There might be a way to get it working by analyzing buffer-undo-list, but
   ;; it looks challenging.
   (let (pos)
-    (when (and (or (memq last-command-event electric-indent-chars)
-                   (let ((cp (assq last-command-event electric-indent-chars)))
-                     (and cp (setq pos (electric--after-char-pos))
-                          (save-excursion
-                            (goto-char (1- pos))
-                            (funcall (cdr cp))))))
-               ;; Don't reindent while inserting spaces at beginning of line.
-               (or (not (memq last-command-event '(?\s ?\t)))
-                   (save-excursion (skip-chars-backward " \t") (not (bolp))))
-               (setq pos (electric--after-char-pos))
-               ;; Not in a string or comment.
-               (not (nth 8 (save-excursion (syntax-ppss pos)))))
+    (when (and
+           ;; Don't reindent while inserting spaces at beginning of line.
+           (or (not (memq last-command-event '(?\s ?\t)))
+               (save-excursion (skip-chars-backward " \t") (not (bolp))))
+           (setq pos (electric--after-char-pos))
+           (save-excursion
+             (goto-char pos)
+             (let ((act (or (run-hook-with-args-until-success
+                             'electric-indent-functions
+                             last-command-event)
+                            (memq last-command-event electric-indent-chars))))
+               (not
+                (or (memq act '(nil no-indent))
+                    ;; In a string or comment.
+                    (unless (eq act 'do-indent) (nth 8 (syntax-ppss))))))))
       ;; For newline, we want to reindent both lines and basically behave like
       ;; reindent-then-newline-and-indent (whose code we hence copied).
       (when (< (1- pos) (line-beginning-position))
@@ -231,7 +236,7 @@ and with point before the inserted char.")
           (save-excursion
             (unless (memq indent-line-function
                           '(indent-relative indent-to-left-margin
-                            indent-relative-maybe))
+                                            indent-relative-maybe))
               ;; Don't reindent the previous line if the indentation function
               ;; is not a real one.
               (goto-char before)
index 86c7e59fd07327a5c3e484f322c62067aef6befb..d7cfcfb870a7ad035e04685d62cc6b221f675f81 100644 (file)
@@ -3448,7 +3448,7 @@ instrumented.  Then it does `edebug-on-entry' and switches to `go' mode."
 (defun edebug-on-entry (function &optional flag)
   "Cause Edebug to stop when FUNCTION is called.
 With prefix argument, make this temporary so it is automatically
-cancelled the first time the function is entered."
+canceled the first time the function is entered."
   (interactive "aEdebug on entry to: \nP")
   ;; Could store this in the edebug data instead.
   (put function 'edebug-on-entry (if flag 'temp t)))
index db3236afc1aa51b256c67a6619230f410ab2c5d3..170d3fb0bf8ee2218874be534a689f3130bb5a75 100644 (file)
@@ -57,7 +57,7 @@
 
 (eval-and-compile
 ;; About the above.  EIEIO must process its own code when it compiles
-;; itself, thus, by eval-and-compiling outselves, we solve the problem.
+;; itself, thus, by eval-and-compiling ourselves, we solve the problem.
 
 ;; Compatibility
 (if (fboundp 'compiled-function-arglist)
index 9a50352d50762dd60a536731766449d8eea60666..a68c4dfdf69eeefed5b97cd45a35d4652edf7bec 100644 (file)
@@ -1242,7 +1242,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
 
    ;; Handle shifted cursor keys and other movement commands.
    ;; If region is not active, region is activated if key is shifted.
-   ;; If region is active, region is cancelled if key is unshifted
+   ;; If region is active, region is canceled if key is unshifted
    ;;   (and region not started with C-SPC).
    ;; If rectangle is active, expand rectangle in specified direction and
    ;;   ignore the movement.
index 690555e81dcb5655b66d9f5769b99174808597e2..b6a3a977909f157c9bd6d760a0070f54f065350f 100644 (file)
@@ -94,7 +94,7 @@ insert the deleted or copied text before the global marker, even when the
 global marker is in another buffer.
 If the global marker isn't set, set the global marker at point in the current
 buffer.  Otherwise jump to the global marker position and cancel it.
-With prefix argument, don't jump to global mark when cancelling it."
+With prefix argument, don't jump to global mark when canceling it."
   (interactive "P")
   (unless cua--global-mark-initialized
     (cua--init-global-mark))
index a0c6062fb29d14ade1f5450343e00381ab1f7fff..1298e5424ac88ce7b5f1bd8f000b8b1a223df0a8 100644 (file)
@@ -420,7 +420,7 @@ Type `n' to quit this window for now.\n")
        (goto-char (point-min))
        (if (y-or-n-p "Inhibit VIP startup message? ")
            (progn
-             (with-current-buffer 
+             (with-current-buffer
                   (find-file-noselect
                    (substitute-in-file-name vip-startup-file))
                (goto-char (point-max))
@@ -877,7 +877,7 @@ is the name of the register for COM."
   (if (> beg end) (exchange-point-and-mark)))
 
 (defun vip-global-execute ()
-  "Call last keyboad macro for each line in the region."
+  "Call last keyboard macro for each line in the region."
   (if (> (point) (mark)) (exchange-point-and-mark))
   (beginning-of-line)
   (call-last-kbd-macro)
index ce3cc3c9a22d319d3730853012a938a65a9824f4..78bc09af136174f3cd32d175e1e83caf5fbded79 100644 (file)
     (error
      (viper-message-conditions conds))))
 
-;; escape to emacs mode termporarily
+;; escape to emacs mode temporarily
 (defun viper-escape-to-emacs (arg &optional events)
   "Escape to Emacs state from Vi state for one Emacs command.
 ARG is used as the prefix value for the executed command.  If
@@ -726,7 +726,7 @@ EVENTS is a list of events, which become the beginning of the command."
       (message "Switched to EMACS state for the next command..."))
   (viper-escape-to-state arg events 'emacs-state))
 
-;; escape to Vi mode termporarily
+;; escape to Vi mode temporarily
 (defun viper-escape-to-vi (arg)
   "Escape from Emacs state to Vi state for one Vi 1-character command.
 If the Vi command that the user types has a prefix argument, e.g., `d2w', then
@@ -2407,7 +2407,7 @@ problems."
    t 'local)
   (add-hook
    'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local)
-  ;; guard against a smartie who switched from R-replace to normal replace
+  ;; guard against a smarty who switched from R-replace to normal replace
   (remove-hook
    'viper-post-command-hooks 'viper-R-state-post-command-sentinel 'local)
   (if overwrite-mode (overwrite-mode -1))
@@ -2531,7 +2531,7 @@ problems."
    'viper-post-command-hooks 'viper-R-state-post-command-sentinel t 'local)
   (add-hook
    'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local)
-  ;; guard against a smartie who switched from R-replace to normal replace
+  ;; guard against a smarty who switched from R-replace to normal replace
   (remove-hook
    'viper-post-command-hooks 'viper-replace-state-post-command-sentinel 'local)
   )
@@ -3767,7 +3767,7 @@ If MAJOR-MODE is set, set the macros only in that major mode."
               "//" 'vi-state
               [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
               scope)
-             ;; toggle regexp/vanila search
+             ;; toggle regexp/vanilla search
              (viper-record-kbd-macro
               "///" 'vi-state
               [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
@@ -3824,7 +3824,7 @@ the macros are set in the current major mode.
             "//" 'emacs-state
             [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
             (or arg-majormode major-mode))
-           ;; toggle regexp/vanila search
+           ;; toggle regexp/vanilla search
            (viper-record-kbd-macro
             "///" 'emacs-state
             [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return]
@@ -4017,7 +4017,7 @@ Null string will repeat previous search."
   (setq viper-prefix-commands
        (cons viper-buffer-search-char viper-prefix-commands)))
 
-;; This is a Viper wraper for isearch-forward.
+;; This is a Viper wrapper for isearch-forward.
 (defun viper-isearch-forward (arg)
   "Do incremental search forward."
   (interactive "P")
@@ -4025,7 +4025,7 @@ Null string will repeat previous search."
   (if (listp arg) (setq arg (car arg)))
   (viper-exec-form-in-emacs (list 'isearch-forward arg)))
 
-;; This is a Viper wraper for isearch-backward."
+;; This is a Viper wrapper for isearch-backward."
 (defun viper-isearch-backward (arg)
   "Do incremental search backward."
   (interactive "P")
index 2d221d5fa052f64cb7039fb1ea3b1cd19cc13558..2fc8dc599cb77b599665b305a1e21fa99863dd30 100644 (file)
@@ -818,7 +818,7 @@ Related buffers can be cycled through via :R and :P commands."
 ;;; Face-saving tricks
 
 (defgroup viper-highlighting nil
-  "Hilighting of replace region, search pattern, minibuffer, etc."
+  "Highlighting of replace region, search pattern, minibuffer, etc."
   :prefix "viper-"
   :group 'viper)
 
index e978823a49c2dd1c550165944b2b316ae74ccfcb..2704bdc5b40f707560d5a4f75b4c4efa0ed4b27b 100644 (file)
@@ -921,7 +921,7 @@ name from there."
 
 
 (defun viper-global-execute ()
-  "Call last keyboad macro for each line in the region."
+  "Call last keyboard macro for each line in the region."
   (if (> (point) (mark t)) (exchange-point-and-mark))
   (beginning-of-line)
   (call-last-kbd-macro)
index b2035e8ede6b3f1158b585378bf5abee6cd32641..3704725b8dd25b4681409c5e8667accd898b3c13 100644 (file)
@@ -491,7 +491,7 @@ unless it is coming up in a wrong Viper state."
     )
   "List specifying how to modify the various major modes to enable some Viperisms.
 The list has the structure: ((mode viper-state keymap) (mode viper-state
-keymap) ...).  If `mode' is on the list, the `kemap' will be made active (on
+keymap) ...).  If `mode' is on the list, the `keymap' will be made active (on
 the minor-mode-map-alist) in the specified viper state.
 If you change this list, have to restart Emacs for the change to take effect.
 However, if you did the change through the customization widget, then Emacs
index db5e98062a9b1504fdc904e49e66eb92921050be..5e44e541526fd293c88e112ed016d1ec8bf6a0c6 100644 (file)
   "If non-nil, name of the file to read/write input history.
 See also `eshell-read-history' and `eshell-write-history'.
 If it is nil, Eshell will use the value of HISTFILE."
-  :type 'file
+  :type '(choice (const :tag "Use HISTFILE" nil)
+                file)
   :group 'eshell-hist)
 
 (defcustom eshell-history-size 128
   "Size of the input history ring.  If nil, use envvar HISTSIZE."
-  :type 'integer
+  :type '(choice (const :tag "Use HISTSIZE" nil)
+                integer)
   :group 'eshell-hist)
 
 (defcustom eshell-hist-ignoredups nil
@@ -261,7 +263,13 @@ element, regardless of any text on the command line.  In that case,
 
   (make-local-variable 'eshell-history-size)
   (or eshell-history-size
-      (setq eshell-history-size (getenv "HISTSIZE")))
+      (let ((hsize (getenv "HISTSIZE")))
+        (setq eshell-history-size
+             (if (and (stringp hsize)
+                      (integerp (setq hsize (string-to-number hsize)))
+                      (> hsize 0))
+                 hsize
+               128))))
 
   (make-local-variable 'eshell-history-file-name)
   (or eshell-history-file-name
index f903d2919a664f59c3e506f59b1730d0982af455..40b6e7d56b4d92221b92720541153d9a0e8cffba 100644 (file)
@@ -4866,7 +4866,7 @@ given.  With a prefix argument, TRASH is nil."
                directory 'full directory-files-no-dot-files-regexp))
          (error "Directory is not empty, not moving to trash")
        (move-file-to-trash directory)))
-     ;; Otherwise, call outselves recursively if needed.
+     ;; Otherwise, call ourselves recursively if needed.
      (t
       (if (and recursive (not (file-symlink-p directory)))
          (mapc (lambda (file)
@@ -6110,7 +6110,7 @@ message to that effect instead of signaling an error."
 
 (defvar kill-emacs-query-functions nil
   "Functions to call with no arguments to query about killing Emacs.
-If any of these functions returns nil, killing Emacs is cancelled.
+If any of these functions returns nil, killing Emacs is canceled.
 `save-buffers-kill-emacs' calls these functions, but `kill-emacs',
 the low level primitive, does not.  See also `kill-emacs-hook'.")
 
index 2273e8920fd08ac8ea3040c3abf4d58f53ecdbb0..ee8be14c6dc0c864b8fa42c75c75b696d8bf70ab 100644 (file)
@@ -1129,7 +1129,7 @@ Otherwise, return nil."
 ;;{{{ Redisplay
 
 ;; Redraw all the windows on the screen, starting with the top window.
-;; The window used as as marker is WIN, or the selcted window if WIN
+;; The window used as as marker is WIN, or the selected window if WIN
 ;; is nil.  Start every window directly after the end of the previous
 ;; window, to make sure long lines are displayed correctly.
 
@@ -1993,7 +1993,7 @@ report this using the `report-emacs-bug' function."
 ;; going to be recentered at the next redisplay, unless we do a
 ;; read-and-write cycle to update the `force' flag inside the windows.
 ;;
-;; In 19.30, a new varible `window-scroll-functions' is called every
+;; In 19.30, a new variable `window-scroll-functions' is called every
 ;; time a window is recentered.  It is not perfect for our situation,
 ;; since when it is called for a tail window, it is to late.  However,
 ;; if it is called for another window, we can try to update our
index 590277e89cd58fd30cb97957ddbd3c45c197fc25..1f46887f00f313b472919248cfbb6cfe7062611c 100644 (file)
@@ -1,3 +1,26 @@
+2011-12-04  Chong Yidong  <cyd@gnu.org>
+
+       * message.el (message-pop-to-buffer): Partially revert 2011-11-30
+       change (Bug#10200).
+
+2011-12-02  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * compface.el (uncompface):
+       * gnus-art.el (gnus-article-x-face-command): Update the header format
+       of icon data for the most recent icontopbm program.
+
+2011-12-01  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-msg.el (gnus-inews-do-gcc):
+       * message.el (message-send-mail):
+       * mml.el (mml-generate-mime): Share the value of the buffer-local
+       `message-options' variable between a draft buffer and temprary working
+       buffers.
+
+2011-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * message.el (message-pop-to-buffer): Revert 2011-09-11 change.
+
 2011-11-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-art.el (gnus-article-browse-html-parts): Convert link file names
        (message-mail-other-window, message-mail-other-frame)
        (message-news-other-window, message-news-other-frame):
        Use switch-to-buffer-other-frame and switch-to-buffer-other-window
-       instead of setting buffer display varibles.
+       instead of setting buffer display variables.
 
 2011-09-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 
        * gnus-start.el (gnus-activate-group): Take an optional parameter to
        say that you don't want to call gnus-request-group with don-check, but
-       do check the reponse.  This is for virtual groups only.
+       do check the response.  This is for virtual groups only.
        (gnus-get-unread-articles): Count the archive groups as secondary, so
        that they're activated the same way as before.
 
index 2a2383777cbb797836b50648ade545c2ede5bdfe..e132f736269d7b63370a81b2562a7efd5826453d 100644 (file)
@@ -42,7 +42,8 @@ or `faces-xface' and `netpbm' or `libgr-progs', for instance."
                        'delete '(t nil) nil))
           (progn
             (goto-char (point-min))
-            (insert "/* Width=48, Height=48 */\n")
+            (insert "/* Format_version=1, Width=48, Height=48, Depth=1,\
+ Valid_bits_per_item=16 */\n")
             ;; I just can't get "icontopbm" to work correctly on its
             ;; own in XEmacs.  And Emacs doesn't understand un-raw pbm
             ;; files.
index e3eb3a049428af545c16bee902a9ec373e82a226..555c715bc2f7d853ea3d5baf2a4deea3ca4c56eb 100644 (file)
@@ -268,11 +268,14 @@ This can also be a list of the above values."
       (if (or (gnus-image-type-available-p 'xface)
              (gnus-image-type-available-p 'pbm))
          'gnus-display-x-face-in-from
-       "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | ee -")
+       "{ echo \
+'/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */'\
+; uncompface; } | icontopbm | ee -")
     (if (gnus-image-type-available-p 'pbm)
        'gnus-display-x-face-in-from
-      "{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | \
-display -"))
+      "{ echo \
+'/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */'\
+; uncompface; } | icontopbm | display -"))
   "*String or function to be executed to display an X-Face header.
 If it is a string, the command will be executed in a sub-shell
 asynchronously.  The compressed face will be piped to this command."
@@ -2880,12 +2883,13 @@ message header will be added to the bodies of the \"text/html\" parts."
                                  gnus-article-mime-handles)
                                cid-dir))
                     (when (eq system-type 'cygwin)
-                      (setq cid-file (substring
-                                      (with-output-to-string
-                                        (call-process "cygpath" nil
-                                                      standard-output
-                                                      nil "-m" cid-file))
-                                      0 -1)))
+                      (setq cid-file
+                            (concat "/" (substring
+                                         (with-output-to-string
+                                           (call-process "cygpath" nil
+                                                         standard-output
+                                                         nil "-m" cid-file))
+                                         0 -1))))
                     (replace-match (concat "file://" cid-file)
                                    nil nil nil 1))))
               (unless content (setq content (buffer-string))))
index 08ec3c4ffb0f6e8aa1b14fe8e073ae691a6dc83e..44cb1583ec986de8e0a20acaa5456a26b707af97 100644 (file)
@@ -274,10 +274,10 @@ colors of the displayed X-Faces."
     result))
 
 (defun gnus-fun-ppm-change-string ()
-  (let* ((possibilites '("%02x0000" "00%02x00" "0000%02x"
-                       "%02x%02x00" "00%02x%02x" "%02x00%02x"))
+  (let* ((possibilities '("%02x0000" "00%02x00" "0000%02x"
+                         "%02x%02x00" "00%02x%02x" "%02x00%02x"))
         (format (concat "'#%02x%02x%02x' '#"
-                        (nth (random 6) possibilites)
+                        (nth (random 6) possibilities)
                         "'"))
         (values nil))
   (dotimes (i 255)
index e6a06a0500d09ccd11493e2c9abe917b82f4ed1f..58373525f96037d917b0e188c6d0e0e94f22f984 100644 (file)
@@ -1549,7 +1549,7 @@ this is a reply."
       (message-narrow-to-headers)
       (let ((gcc (or gcc (mail-fetch-field "gcc" nil t)))
            (cur (current-buffer))
-           groups group method group-art
+           groups group method group-art options
            mml-externalize-attachments)
        (when gcc
          (message-remove-header "gcc")
@@ -1573,6 +1573,7 @@ this is a reply."
                    gnus-gcc-externalize-attachments))
            (save-excursion
              (nnheader-set-temp-buffer " *acc*")
+             (setq message-options (with-current-buffer cur message-options))
              (insert-buffer-substring cur)
              (message-encode-message-body)
              (save-restriction
@@ -1587,7 +1588,7 @@ this is a reply."
                       ;; BUG: We really need to get the charset for
                       ;; each name in the Newsgroups and Followup-To
                       ;; lines to allow crossposting between group
-                      ;; namess with incompatible character sets.
+                      ;; names with incompatible character sets.
                       ;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2001-10-08.
                       (group-field-charset
                        (gnus-group-name-charset
@@ -1629,6 +1630,8 @@ this is a reply."
                              (boundp 'gnus-inews-mark-gcc-as-read)
                              (symbol-value 'gnus-inews-mark-gcc-as-read))))
                (gnus-group-mark-article-read group (cdr group-art)))
+             (setq options message-options)
+             (with-current-buffer cur (setq message-options options))
              (kill-buffer (current-buffer)))))))))
 
 (defun gnus-inews-insert-gcc (&optional group)
index b3f85cf93660739bd34a060efc4ea5c08936b659..710810637153b73b29b91024d0496e30f92b7db7 100644 (file)
@@ -7087,7 +7087,7 @@ With ARG, turn line truncation on if ARG is positive."
 (defun gnus-summary-find-for-reselect ()
   "Return the number of an article to stay on across a reselect.
 The current article is considered, then following articles, then previous
-articles.  An article is sought which is not cancelled and isn't a temporary
+articles.  An article is sought which is not canceled and isn't a temporary
 insertion from another group.  If there's no such then return a dummy 0."
   (let (found)
     (dolist (rev '(nil t))
index 5f385ec10546639332ce40588da599510c3f497b..b1f0f60668e022fd135e6c243e9ed683140c0a14 100644 (file)
@@ -700,7 +700,7 @@ be set in `.emacs' instead."
 (defface gnus-summary-cancelled
   '((((class color))
      (:foreground "yellow" :background "black")))
-  "Face used for cancelled articles."
+  "Face used for canceled articles."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled)
index 5d82faee20d1fa0f753c85974515bba8dc3cf75e..8ecbd22fc0dde8b8f207ecc5e057d70f47de6f7f 100644 (file)
@@ -906,7 +906,7 @@ The function `message-setup' runs this hook."
   :type 'hook)
 
 (defcustom message-cancel-hook nil
-  "Hook run when cancelling articles."
+  "Hook run when canceling articles."
   :group 'message-various
   :link '(custom-manual "(message)Various Message Variables")
   :type 'hook)
@@ -4507,7 +4507,8 @@ This function could be useful in `message-setup-hook'."
                   (boundp 'gnus-group-posting-charset-alist))
              (gnus-setup-posting-charset nil)
            message-posting-charset))
-        (headers message-required-mail-headers))
+        (headers message-required-mail-headers)
+        options)
     (when (and message-generate-hashcash
               (not (eq message-generate-hashcash 'opportunistic)))
       (message "Generating hashcash...")
@@ -4546,9 +4547,11 @@ This function could be useful in `message-setup-hook'."
              (error "Failed to send the message")))))
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
+    (setq options message-options)
     (unwind-protect
        (with-current-buffer tembuf
          (erase-buffer)
+         (setq message-options options)
          ;; Avoid copying text props (except hard newlines).
          (insert (with-current-buffer mailbuf
                    (mml-buffer-substring-no-properties-except-hard-newlines
@@ -4630,9 +4633,11 @@ If you always want Gnus to send messages in one piece, set
                (message "Sending via mail...")
                (funcall (or message-send-mail-real-function
                             message-send-mail-function)))
-           (message-send-mail-partially)))
+           (message-send-mail-partially))
+         (setq options message-options))
       (kill-buffer tembuf))
     (set-buffer mailbuf)
+    (setq message-options options)
     (push 'mail message-sent-message-via)))
 
 (defvar sendmail-program)
@@ -4835,7 +4840,7 @@ Otherwise, generate and save a value for `canlock-password' first."
                           (message-fetch-field "Followup-To")))
         ;; BUG: We really need to get the charset for each name in the
         ;; Newsgroups and Followup-To lines to allow crossposting
-        ;; between group namess with incompatible character sets.
+        ;; between group names with incompatible character sets.
         ;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2001-10-08.
         (group-field-charset
          (gnus-group-name-charset method newsgroups-field))
@@ -6331,7 +6336,7 @@ between beginning of field and beginning of line."
              (progn
                (gnus-select-frame-set-input-focus (window-frame window))
                (select-window window))
-           (funcall (or switch-function 'switch-to-buffer) buffer)
+           (funcall (or switch-function #'pop-to-buffer) buffer)
            (set-buffer buffer))
          (when (and (buffer-modified-p)
                     (not (prog1
@@ -6339,7 +6344,7 @@ between beginning of field and beginning of line."
                               "Message already being composed; erase? ")
                            (message nil))))
            (error "Message being composed")))
-      (funcall (or switch-function 'switch-to-buffer) name)
+      (funcall (or switch-function #'pop-to-buffer-same-window) name)
       (set-buffer name))
     (erase-buffer)
     (message-mode)))
index 8aa5fbff6b8efc065e6232b98dd289c4db89dc08..867c3be4b60febe8b0564cfc3ac89432566809e5 100644 (file)
@@ -466,16 +466,21 @@ If MML is non-nil, return the buffer up till the correspondent mml tag."
 (defun mml-generate-mime ()
   "Generate a MIME message based on the current MML document."
   (let ((cont (mml-parse))
-       (mml-multipart-number mml-multipart-number))
+       (mml-multipart-number mml-multipart-number)
+       (options message-options))
     (if (not cont)
        nil
-      (mm-with-multibyte-buffer
-       (if (and (consp (car cont))
-                (= (length cont) 1))
-           (mml-generate-mime-1 (car cont))
-         (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed"))
-                                     cont)))
-       (buffer-string)))))
+      (prog1
+         (mm-with-multibyte-buffer
+           (setq message-options options)
+           (if (and (consp (car cont))
+                    (= (length cont) 1))
+               (mml-generate-mime-1 (car cont))
+             (mml-generate-mime-1 (nconc (list 'multipart '(type . "mixed"))
+                                         cont)))
+           (setq options message-options)
+           (buffer-string))
+       (setq message-options options)))))
 
 (defun mml-generate-mime-1 (cont)
   (let ((mm-use-ultra-safe-encoding
index 043356ca8413aae67610bd15e99df3f5c50d98b1..25557ad7119ca7ab5d004683726431daa4fc7f4a 100644 (file)
@@ -353,7 +353,7 @@ all.  This may very well take some time.")
   ;; List of NNDiary headers that specify the time spec. Each header name is
   ;; followed by either two integers (specifying a range of possible values
   ;; for this header) or one list (specifying all the possible values for this
-  ;; header). In the latter case, the list does NOT include the unspecifyed
+  ;; header). In the latter case, the list does NOT include the unspecified
   ;; spec (*).
   ;; For time zone values, we have symbolic time zone names associated with
   ;; the (relative) number of seconds ahead GMT.
@@ -1163,9 +1163,9 @@ all.  This may very well take some time.")
   ;; Parse the schedule string STR, or signal an error.
   ;; Signals are caught by `nndary-schedule'.
   (if (string-match "[ \t]*\\*[ \t]*" str)
-      ;; unspecifyed
+      ;; unspecified
       nil
-    ;; specifyed
+    ;; specified
     (if (listp min-or-values)
        ;; min-or-values is values
        ;; #### NOTE: this is actually only a hack for time zones.
index 78d2478b4fbd750bb9d9481813e334e8eb9f7585..3d0fc78dca7b6ec5f28ce15075ce29f0833c46a6 100644 (file)
@@ -1273,8 +1273,8 @@ Tested with swish-e-2.0.1 on Windows NT 4.0."
       (message "Doing hyrex-search query \"%s\"...done" qstring)
       (sit-for 0)
       ;; nnir-search returns:
-      ;;   for nnml/nnfolder: "filename mailid weigth"
-      ;;   for nnimap:        "group mailid weigth"
+      ;;   for nnml/nnfolder: "filename mailid weight"
+      ;;   for nnimap:        "group mailid weight"
       (goto-char (point-min))
       (delete-non-matching-lines "^\\S + [0-9]+ [0-9]+$")
       ;; HyREX doesn't search directly in groups -- so filter out here.
index 9816c208fabf6e4f71de2fe45ad812d021edf534..f4b8ce66d16a7eb4dfd9d7435caaf341e1d334a4 100644 (file)
@@ -665,7 +665,7 @@ command whose response triggered the error."
                                                   (process-buffer -process))))
                               ;; When I an able to identify the
                               ;; connection to the server AND I've
-                              ;; received NO reponse for
+                              ;; received NO response for
                               ;; nntp-connection-timeout seconds.
                               (when (and -buffer (eq 0 (buffer-size -buffer)))
                                 ;; Close the connection.  Take no
index 056115f57b770116e1375ddbd88dff7b1e29fcb6..126b616a644ad97c88feb2ff103047b5501445ad 100644 (file)
@@ -150,11 +150,11 @@ main-content <=MAIN_CONTENT;\\n\" rtfm-section file style rtfm-section file))
   :prefix "hfy-")
 
 (defcustom hfy-page-header 'hfy-default-header
-  "Function called to build the header of the html source.
+  "Function called to build the header of the HTML source.
 This is called with two arguments (the filename relative to the top
 level source directory being etag'd and fontified), and a string containing
 the <style>...</style> text to embed in the document.
-It should return the string returned will be used as the header for the
+It should return a string that will be used as the header for the
 htmlfontified version of the source file.\n
 See also `hfy-page-footer'."
   :group 'htmlfontify
@@ -166,8 +166,8 @@ See also `hfy-page-footer'."
 (defcustom hfy-split-index nil
   "Whether or not to split the index `hfy-index-file' alphabetically.
 If non-nil, the index is split on the first letter of each tag.
-Useful when the index would otherwise
-be large and take a long time to render or be difficult to navigate."
+Useful when the index would otherwise be large and take
+a long time to render or be difficult to navigate."
   :group 'htmlfontify
   :tag   "split-index"
   :type  '(boolean))
@@ -179,7 +179,7 @@ It takes only one argument, the filename."
   :tag   "page-footer"
   :type  '(function))
 
-(defcustom hfy-extn        ".html"
+(defcustom hfy-extn ".html"
   "File extension used for output files."
   :group 'htmlfontify
   :tag   "extension"
@@ -251,7 +251,7 @@ when not running under a window system."
 
 (defcustom hfy-post-html-hooks nil
   "List of functions to call after creating and filling the HTML buffer.
-These functions will be called with the html buffer as the current buffer."
+These functions will be called with the HTML buffer as the current buffer."
   :group   'htmlfontify
   :tag     "post-html-hooks"
   :options '(set-auto-mode)
@@ -342,7 +342,7 @@ commands in `hfy-etags-cmd-alist'."
   :type  '(file))
 
 (defcustom hfy-shell-file-name "/bin/sh"
-  "Shell (bourne or compatible) to invoke for complex shell operations."
+  "Shell (Bourne or compatible) to invoke for complex shell operations."
   :group 'htmlfontify
   :tag   "shell-file-name"
   :type  '(file))
@@ -595,7 +595,8 @@ in a windowing system - try to trick it..."
                    (setq cperl-syntaxify-by-font-lock t)))
              (setq hfy-cperl-mode-kludged-p t))) )
 
-(defun hfy-opt (symbol) "Is option SYMBOL set."
+(defun hfy-opt (symbol)
+  "Is option SYMBOL set."
   (memq symbol hfy-optimisations))
 
 (defun hfy-default-header (file style)
@@ -1066,7 +1067,7 @@ See also `hfy-face-to-style-i', `hfy-flatten-style'."
                      ;; text-decoration is not inherited.
                      ;; but it's not wrong and if this ever changes it will
                      ;; be needed, so I think it's better to leave it in? -- v
-                     (nconc final-style '(("text-decoration"."none"))))))
+                     (nconc final-style '(("text-decoration" . "none"))))))
     final-style))
 
 ;; strip redundant bits from a name. Technically, this could result in
@@ -1992,7 +1993,7 @@ FILE is the specific file we are rendering."
          tags-list) )))
 
 (defun hfy-shell ()
-  "Return `shell-file-name', or \"/bin/sh\" if it is a non-bourne shell."
+  "Return `shell-file-name', or \"/bin/sh\" if it is a non-Bourne shell."
   (if (string-match "\\<bash\\>\\|\\<sh\\>\\|\\<dash\\>" shell-file-name)
       shell-file-name
     (or hfy-shell-file-name "/bin/sh")))
index 3f3b0b7a843205b9ada3797a7d61667cc60d34c2..bc7dff278cceb83f8c05fbccbcf6d080a78f7068 100644 (file)
@@ -426,7 +426,7 @@ directory, like `default-directory'."
       '(menu-item "Save current filter groups permanently..."
         ibuffer-save-filter-groups
         :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups)
-        :help "Use a mnemnonic name to store current filter groups"))
+        :help "Use a mnemonic name to store current filter groups"))
     (define-key-after groups-map [switch-to-saved-filter-groups]
       '(menu-item "Restore permanently saved filters..."
         ibuffer-switch-to-saved-filter-groups
@@ -676,7 +676,7 @@ directory, like `default-directory'."
     (define-key-after map [menu-bar view filter save-filters]
       '(menu-item "Save current filters permanently..." ibuffer-save-filters
         :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers)
-        :help "Use a mnemnonic name to store current filter stack"))
+        :help "Use a mnemonic name to store current filter stack"))
     (define-key-after map [menu-bar view filter switch-to-saved-filters]
       '(menu-item "Restore permanently saved filters..."
         ibuffer-switch-to-saved-filters
index 02f84a54af9add381134366eebb20242aaf06c37..c1dae66bea2b71fe2d20ba43595b129800c8ad81 100644 (file)
@@ -1769,12 +1769,14 @@ If DIRECTION is `backward', search in the reverse direction."
       ;; If no subfiles, give error now.
       (if give-up
          (if (null Info-current-subfile)
-             (let ((search-spaces-regexp
-                    (if (or (not isearch-mode) isearch-regexp)
-                        Info-search-whitespace-regexp)))
-               (if backward
-                   (re-search-backward regexp)
-                 (re-search-forward regexp)))
+             (if isearch-mode
+                 (signal 'search-failed (list regexp "end of manual"))
+               (let ((search-spaces-regexp
+                      (if (or (not isearch-mode) isearch-regexp)
+                          Info-search-whitespace-regexp)))
+                 (if backward
+                     (re-search-backward regexp)
+                   (re-search-forward regexp))))
            (setq found nil)))
 
       (if (and bound (not found))
@@ -1845,7 +1847,7 @@ If DIRECTION is `backward', search in the reverse direction."
              (if found
                  (message "")
                (signal 'search-failed (if isearch-mode
-                                          (list regexp "end of the manual")
+                                          (list regexp "end of manual")
                                         (list regexp)))))
          (if (not found)
              (progn (Info-read-subfile osubfile)
index 9f6520c723890f0463d39db5ecca47226d8dc392..2425ee46eea3cb8e16544a40ba4ae96c31c87bb3 100644 (file)
@@ -858,9 +858,9 @@ Internal use only.  Should be called at startup time."
 (defun x-decompose-font-name (pattern)
   "Decompose PATTERN into XLFD fields and return a vector of the fields.
 The length of the vector is 12.
-The FOUNDRY and FAMILY fields are concatinated and stored in the first
+The FOUNDRY and FAMILY fields are concatenated and stored in the first
 element of the vector.
-The REGISTRY and ENCODING fields are concatinated and stored in the last
+The REGISTRY and ENCODING fields are concatenated and stored in the last
 element of the vector.
 
 Return nil if PATTERN doesn't conform to XLFD."
index d078d98a4805f62f188664d10aade4b8848ca1cd..1beffa5218bbeb531a72810c8e2d860ab526a963 100644 (file)
@@ -1785,7 +1785,7 @@ contents of the current buffer following point against
 succeed, it checks to see if any function in `auto-coding-functions'
 gives a match.
 
-If a coding system is specifed, the return value is a cons
+If a coding system is specified, the return value is a cons
 \(CODING . SOURCE), where CODING is the specified coding system and
 SOURCE is a symbol `auto-coding-alist', `auto-coding-regexp-alist',
 `:coding', or `auto-coding-functions' indicating by what CODING is
index a29b729dcf09b73547f88af24f055fbb4dcd5807..3a70b1ec2a5af63755b9220ccc14eb6ba2e464eb 100644 (file)
@@ -2703,7 +2703,7 @@ KEY BINDINGS FOR CONVERSION
 
 ;; Generate a half-cooked decode map (char-table) for the current
 ;; Quail map.  An element for a character C is a key string or a list
-;; of a key strings to type to input C.  The lenth of key string is at
+;; of a key strings to type to input C.  The length of key string is at
 ;; most 2.  If it is 2, more keys may be required to input C.
 
 (defun quail-gen-decode-map ()
index 6614ac8b41665249ccc66a25977ca3971ac62523..82349761bdb96e3e1d409e2ea8a406150d87ec56 100644 (file)
@@ -122,7 +122,7 @@ compose one Chinese character.
 
 In this input method, you enter a Chinese character by first typing
 keys corresponding to Zhuyin symbols (see the above table) followed by
-SPC, 1, 2, 3, or 4 specifing a tone (SPC:\e$(0?v(N\e(B, 1:\e$(0M=Vy\e(B, 2:\e$(0Dm(N\e(B, 3: \e$(0&9Vy\e(B,
+SPC, 1, 2, 3, or 4 specifying a tone (SPC:\e$(0?v(N\e(B, 1:\e$(0M=Vy\e(B, 2:\e$(0Dm(N\e(B, 3: \e$(0&9Vy\e(B,
 4:\e$(0(+Vy\e(B).
 
 \\<quail-translation-docstring>")
@@ -203,7 +203,7 @@ compose a Chinese character.
 
 In this input method, you enter a Chinese character by first typing
 keys corresponding to Zhuyin symbols (see the above table) followed by
-SPC, 6, 3, 4, or 7 specifing a tone (SPC:\e$(0?v(N\e(B, 6:\e$(0Dm(N\e(B, 3:\e$(0&9Vy\e(B, 4:\e$(0(+Vy\e(B,
+SPC, 6, 3, 4, or 7 specifying a tone (SPC:\e$(0?v(N\e(B, 6:\e$(0Dm(N\e(B, 3:\e$(0&9Vy\e(B, 4:\e$(0(+Vy\e(B,
 7:\e$(0M=Vy\e(B).
 
 \\<quail-translation-docstring>")))
index df05b355b46fb31603934a82fe53d816cb86c533..8d13eb2039d7f8865fef5dc6fe5f7c0ebcfd4aff 100644 (file)
@@ -227,7 +227,7 @@ Note that Hangul are excluded.")
          (eval-when-compile decomposition-pair-to-composition)))
 
 (defun ucs-normalize-primary-composite (decomposition-pair composition-predicate)
-  "Convert DECOMPOSITION-PAIR to primay composite using COMPOSITION-PREDICATE."
+  "Convert DECOMPOSITION-PAIR to primary composite using COMPOSITION-PREDICATE."
   (let ((char (or (gethash decomposition-pair
                            ucs-normalize-decomposition-pair-to-primary-composite)
                   (and (<= #x1100 (car decomposition-pair))
index 2a7f191bd8104cabe405b041fc16050c8482729e..01dff91a1ffa69ef808ac83ada8b99dce7559f47 100644 (file)
@@ -1438,12 +1438,7 @@ string.  NLINES has the same meaning as in `occur'."
   (interactive
    (list
     (cond
-     (isearch-word (concat "\\b" (replace-regexp-in-string
-                                 "\\W+" "\\W+"
-                                 (replace-regexp-in-string
-                                  "^\\W+\\|\\W+$" "" isearch-string)
-                                 nil t)
-                          "\\b"))
+     (isearch-word (word-search-regexp isearch-string))
      (isearch-regexp isearch-string)
      (t (regexp-quote isearch-string)))
     (if current-prefix-arg (prefix-numeric-value current-prefix-arg))))
@@ -1642,8 +1637,10 @@ Subword is used when `subword-mode' is activated. "
                   (if (and (eq case-fold-search t) search-upper-case)
                       (setq case-fold-search
                             (isearch-no-upper-case-p isearch-string isearch-regexp)))
-                  (looking-at (if isearch-regexp isearch-string
-                                (regexp-quote isearch-string))))
+                  (looking-at (cond
+                               (isearch-word (word-search-regexp isearch-string t))
+                               (isearch-regexp isearch-string)
+                               (t (regexp-quote isearch-string)))))
               (error nil))
             (or isearch-yank-flag
                 (<= (match-end 0)
@@ -2228,7 +2225,11 @@ If there is no completion possible, say so and continue searching."
                   (if nonincremental "search" "I-search")
                   (if isearch-forward "" " backward")
                   (if current-input-method
-                      (concat " [" current-input-method-title "]: ")
+                      ;; Input methods for RTL languages use RTL
+                      ;; characters for their title, and that messes
+                      ;; up the display of search text after the prompt.
+                      (bidi-string-mark-left-to-right
+                       (concat " [" current-input-method-title "]: "))
                     ": ")
                   )))
     (propertize (concat (upcase (substring m 0 1)) (substring m 1))
index eea3009faf42a0afa12f9b9faa6422c66b6408b3..6915640944abc212c7197fc077449901cfcd1240 100644 (file)
@@ -747,7 +747,7 @@ If kbd macro currently being defined end it before activating it."
 ;; Create a separate keymap installed as a minor-mode keymap (e.g. in
 ;; the emulation-mode-map-alists) in which macro bindings are made
 ;; independent of any other bindings.  When first binding is made,
-;; the kemap is created, installed, and enabled.  Key seq. C-x C-k +
+;; the keymap is created, installed, and enabled.  Key seq. C-x C-k +
 ;; can then be used to toggle the use of this keymap on and off.
 ;; This means that it would be safe(r) to bind ordinary keys like
 ;; letters and digits, provided that we inhibit the keymap while
index c44dc44581d100fc6b5edac43b6f25afd28b7430..0e87d4d8e8c27b764ce233514fda828fb25dde05 100644 (file)
 (define-coding-system 'chinese-big5
   "BIG5 8-bit encoding for Chinese (MIME:Big5)"
   :coding-type 'big5
-  :mnemonic ?B 
+  :mnemonic ?B
   :charset-list '(ascii big5)
   :mime-charset 'big5)
 
 (define-coding-system 'chinese-big5-hkscs
   "BIG5-HKSCS 8-bit encoding for Chinese, Hong Kong supplement (MIME:Big5-HKSCS)"
   :coding-type 'charset
-  :mnemonic ?B 
+  :mnemonic ?B
   :charset-list '(ascii big5-hkscs)
   :mime-charset 'big5-hkscs)
 (define-coding-system-alias 'big5-hkscs 'chinese-big5-hkscs)
                          chinese-cns11643-5 chinese-cns11643-6
                          chinese-cns11643-7)
                 (iso639-language . zh)
-                (setup-function . (lambda () 
+                (setup-function . (lambda ()
                                     (use-cjk-char-width-table 'zh_TW)))
                 (exit-function . use-default-char-width-table)
                 (coding-system iso-2022-cn euc-tw)
@@ -211,7 +211,7 @@ accepts Big5 for input also (which is then converted to CNS)."))
                             chinese-cns11643-5 chinese-cns11643-6
                             chinese-cns11643-7 chinese-big5-1 chinese-big5-2)
                    (iso639-language . zh)
-                   (setup-function . (lambda () 
+                   (setup-function . (lambda ()
                                        (use-cjk-char-width-table 'zh_TW)))
                    (exit-function . use-default-char-width-table)
                    (coding-system euc-tw iso-2022-cn)
@@ -220,7 +220,7 @@ accepts Big5 for input also (which is then converted to CNS)."))
                    (features china-util)
                    (input-method . "chinese-cns-quick")
                    (documentation . "\
-Support for Chinese, prefering the EUC-TW character set.  Note that
+Support for Chinese, preferring the EUC-TW character set.  Note that
 the EUC-TW coding system accepts Big5 for input also (which is then
 converted to CNS)."))
  '("Chinese"))
@@ -241,13 +241,13 @@ converted to CNS)."))
 (set-language-info-alist
  "Chinese-GBK" '((charset chinese-gbk)
                 (iso639-language . zh)
-                (setup-function . (lambda () 
+                (setup-function . (lambda ()
                                     (use-cjk-char-width-table 'zh_CN)))
                 (exit-function . use-default-char-width-table)
                 (coding-system chinese-gbk)
                 (coding-priority gbk iso-2022-cn chinese-big5
                                  chinese-iso-8bit) ; fixme?
-                (ctext-non-standard-encodings "gbk-0")          
+                (ctext-non-standard-encodings "gbk-0")
                 (input-method . "chinese-py-punct") ; fixme?
                 (sample-text . "Chinese (\e$BCfJ8\e(B,\e$BIaDL\e$A;0\e(B,\e$A::So\e(B) \e$(D95\e$B9%\e(B")
                 (features china-util)
index ea601c041e4f468e607656834c3ff81c112ba89b..b71c65438be526a29f45056c38a352990ac6c194 100644 (file)
@@ -34,7 +34,7 @@
 ;; for representing these characters: VISCII, TCVN-5712, VPS, VIQR,
 ;; and Unicode.  VISCII, TCVN-5712 and VPS are simple 1-byte code
 ;; which assigns 134 unique characters in control-code area
-;; (0x00..0x1F) and right half area (0x80..0xFF).  VIQR is a menmonic
+;; (0x00..0x1F) and right half area (0x80..0xFF).  VIQR is a mnemonic
 ;; encoding specification representing diacritical marks by following
 ;; ASCII characters.
 
@@ -47,7 +47,7 @@
   "Return VISCII character code of CHAR if appropriate."
   (encode-char char 'viscii))
 
-;; VIQR is a menmonic encoding specification for Vietnamese.
+;; VIQR is a mnemonic encoding specification for Vietnamese.
 ;; It represents diacritical marks by ASCII characters as follows:
 ;; ------------+----------+--------
 ;;     mark    | mnemonic | example
index 8d7e4d4126511057377220993fac5c2254d8dd27..858cfa85a6f9bef8f4da0b1127a21a49e70e2e4b 100644 (file)
@@ -5,7 +5,7 @@
 \f
 ;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
 ;;;;;;  5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;;  "play/5x5.el" (20119 34052))
+;;;;;;  "play/5x5.el" (20168 57844))
 ;;; Generated autoloads from play/5x5.el
 
 (autoload '5x5 "5x5" "\
@@ -68,7 +68,7 @@ should return a grid vector array that is the new solution.
 ;;;***
 \f
 ;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from progmodes/ada-mode.el
 
 (autoload 'ada-add-extensions "ada-mode" "\
@@ -88,7 +88,7 @@ Ada mode is the major mode for editing Ada code.
 ;;;***
 \f
 ;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from progmodes/ada-stmt.el
 
 (autoload 'ada-header "ada-stmt" "\
@@ -99,7 +99,7 @@ Insert a descriptive header at the top of the file.
 ;;;***
 \f
 ;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;;  (20140 44371))
+;;;;;;  (20176 51947))
 ;;; Generated autoloads from progmodes/ada-xref.el
 
 (autoload 'ada-find-file "ada-xref" "\
@@ -114,7 +114,7 @@ Completion is available.
 ;;;;;;  add-change-log-entry-other-window add-change-log-entry find-change-log
 ;;;;;;  prompt-for-change-log-name add-log-mailing-address add-log-full-name
 ;;;;;;  add-log-current-defun-function) "add-log" "vc/add-log.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20033 22846))
 ;;; Generated autoloads from vc/add-log.el
 
 (put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -253,7 +253,7 @@ old-style time formats for entries are supported.
 \f
 ;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice
 ;;;;;;  ad-enable-advice ad-default-compilation-action ad-redefinition-action)
-;;;;;;  "advice" "emacs-lisp/advice.el" (20119 34052))
+;;;;;;  "advice" "emacs-lisp/advice.el" (20179 28130))
 ;;; Generated autoloads from emacs-lisp/advice.el
 
 (defvar ad-redefinition-action 'warn "\
@@ -398,7 +398,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
 \f
 ;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
 ;;;;;;  align-highlight-rule align-current align-entire align-regexp
-;;;;;;  align) "align" "align.el" (20119 34052))
+;;;;;;  align) "align" "align.el" (20182 4358))
 ;;; Generated autoloads from align.el
 
 (autoload 'align "align" "\
@@ -489,7 +489,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
 \f
 ;;;### (autoloads (outlineify-sticky allout-mode allout-mode-p allout-auto-activation
 ;;;;;;  allout-setup allout-auto-activation-helper) "allout" "allout.el"
-;;;;;;  (20126 50779))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from allout.el
 
 (autoload 'allout-auto-activation-helper "allout" "\
@@ -500,7 +500,7 @@ Intended to be used as the `allout-auto-activation' :set function.
 \(fn VAR VALUE)" nil nil)
 
 (autoload 'allout-setup "allout" "\
-Do fundamental emacs session for allout auto-activation.
+Do fundamental Emacs session for allout auto-activation.
 
 Establishes allout processing as part of visiting a file if
 `allout-auto-activation' is non-nil, or removes it otherwise.
@@ -600,7 +600,7 @@ Below is a description of the key bindings, and then description
 of special `allout-mode' features and terminology.  See also the
 outline menubar additions for quick reference to many of the
 features.  Customize `allout-auto-activation' to prepare your
-emacs session for automatic activation of `allout-mode'.
+Emacs session for automatic activation of `allout-mode'.
 
 The bindings are those listed in `allout-prefixed-keybindings'
 and `allout-unprefixed-keybindings'.  We recommend customizing
@@ -648,7 +648,7 @@ the HOT-SPOT Operation section.
 \\[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for
             current topic
 \\[allout-rebullet-topic] `allout-rebullet-topic'   Reconcile bullets of topic and
-            its' offspring -- distinctive bullets are not changed, others
+            its offspring -- distinctive bullets are not changed, others
             are alternated according to nesting depth.
 \\[allout-number-siblings] `allout-number-siblings'  Number bullets of topic and siblings --
            the offspring are not affected.
@@ -658,12 +658,12 @@ the HOT-SPOT Operation section.
         ----------------------------------
 \\[allout-kill-topic] `allout-kill-topic'   Kill current topic, including offspring.
 \\[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring.
-\\[allout-kill-line]     `allout-kill-line'    kill-line, attending to outline structure.
+\\[allout-kill-line]     `allout-kill-line'    Kill line, attending to outline structure.
 \\[allout-copy-line-as-kill]     `allout-copy-line-as-kill' Copy line but don't delete it.
 \\[allout-yank] `allout-yank'        Yank, adjusting depth of yanked topic to
                              depth of heading if yanking into bare topic
                              heading (ie, prefix sans text).
-\\[allout-yank-pop]     `allout-yank-pop'       Is to allout-yank as yank-pop is to yank
+\\[allout-yank-pop]     `allout-yank-pop'       Is to `allout-yank' as `yank-pop' is to `yank'.
 
         Topic-oriented Encryption:
         -------------------------
@@ -806,7 +806,7 @@ PREFIX-LEAD:
         When the PREFIX-LEAD is set to the comment-string of a
         programming language, outline structuring can be embedded in
         program code without interfering with processing of the text
-        (by emacs or the language processor) as program code.  This
+        (by Emacs or the language processor) as program code.  This
         setting happens automatically when allout mode is used in
         programming-mode buffers.  See `allout-use-mode-specific-leader'
         docstring for more detail.
@@ -842,7 +842,7 @@ OPEN:       A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be.
 Activate outline mode and establish file var so it is started subsequently.
 
 See `allout-layout' and customization of `allout-auto-activation'
-for details on preparing emacs for automatic allout activation.
+for details on preparing Emacs for automatic allout activation.
 
 \(fn &optional ARG)" t nil)
 
@@ -850,7 +850,7 @@ for details on preparing emacs for automatic allout activation.
 \f
 ;;;### (autoloads (allout-widgets-mode allout-widgets-auto-activation
 ;;;;;;  allout-widgets-setup allout-widgets) "allout-widgets" "allout-widgets.el"
-;;;;;;  (20126 50769))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from allout-widgets.el
 
 (let ((loads (get 'allout-widgets 'custom-loads))) (if (member '"allout-widgets" loads) nil (put 'allout-widgets 'custom-loads (cons '"allout-widgets" loads))))
@@ -910,7 +910,7 @@ outline hot-spot navigation (see `allout-mode').
 ;;;***
 \f
 ;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;;  "net/ange-ftp.el" (20119 34052))
+;;;;;;  "net/ange-ftp.el" (20178 7273))
 ;;; Generated autoloads from net/ange-ftp.el
 
 (defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -932,7 +932,7 @@ directory, so that Emacs will know its current contents.
 ;;;***
 \f
 ;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;;  "animate" "play/animate.el" (20119 34052))
+;;;;;;  "animate" "play/animate.el" (20164 60780))
 ;;; Generated autoloads from play/animate.el
 
 (autoload 'animate-string "animate" "\
@@ -965,7 +965,7 @@ the buffer *Birthday-Present-for-Name*.
 ;;;***
 \f
 ;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;;  "ansi-color" "ansi-color.el" (20119 34052))
+;;;;;;  "ansi-color" "ansi-color.el" (20164 60780))
 ;;; Generated autoloads from ansi-color.el
 
 (autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -991,7 +991,7 @@ This is a good function to put in `comint-output-filter-functions'.
 ;;;***
 \f
 ;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
-;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (20119 34052))
+;;;;;;  "antlr-mode" "progmodes/antlr-mode.el" (19890 42850))
 ;;; Generated autoloads from progmodes/antlr-mode.el
 
 (autoload 'antlr-show-makefile-rules "antlr-mode" "\
@@ -1027,7 +1027,7 @@ Used in `antlr-mode'.  Also a useful function in `java-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (appt-activate appt-add) "appt" "calendar/appt.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19956 37456))
 ;;; Generated autoloads from calendar/appt.el
 
 (autoload 'appt-add "appt" "\
@@ -1050,7 +1050,7 @@ ARG is positive, otherwise off.
 \f
 ;;;### (autoloads (apropos-documentation apropos-value apropos-library
 ;;;;;;  apropos apropos-documentation-property apropos-command apropos-variable
-;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (20119 34052))
+;;;;;;  apropos-read-pattern) "apropos" "apropos.el" (20161 45793))
 ;;; Generated autoloads from apropos.el
 
 (autoload 'apropos-read-pattern "apropos" "\
@@ -1120,7 +1120,8 @@ Returns list of symbols and documentation found.
 (autoload 'apropos-library "apropos" "\
 List the variables and functions defined by library FILE.
 FILE should be one of the libraries currently loaded and should
-thus be found in `load-history'.
+thus be found in `load-history'.  If `apropos-do-all' is non-nil,
+the output includes key-bindings of commands.
 
 \(fn FILE)" t nil)
 
@@ -1132,7 +1133,9 @@ search for matches for that word as a substring.  If it is a list of words,
 search for matches for any two (or more) of those words.
 
 With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also looks
-at the function and at the names and values of properties.
+at function definitions (arguments, documentation and body) and at the
+names and values of properties.
+
 Returns list of symbols and values found.
 
 \(fn PATTERN &optional DO-ALL)" t nil)
@@ -1144,17 +1147,19 @@ or a regexp (using some regexp special characters).  If it is a word,
 search for matches for that word as a substring.  If it is a list of words,
 search for matches for any two (or more) of those words.
 
-With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also use
-documentation that is not stored in the documentation file and show key
-bindings.
+Note that by default this command only searches in the file specified by
+`internal-doc-file-name'; i.e., the etc/DOC file.  With \\[universal-argument] prefix,
+or if `apropos-do-all' is non-nil, it searches all currently defined
+documentation strings.
+
 Returns list of symbols and documentation found.
 
 \(fn PATTERN &optional DO-ALL)" t nil)
 
 ;;;***
 \f
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (20165
+;;;;;;  31925))
 ;;; Generated autoloads from arc-mode.el
 
 (autoload 'archive-mode "arc-mode" "\
@@ -1174,7 +1179,7 @@ archive.
 
 ;;;***
 \f
-;;;### (autoloads (array-mode) "array" "array.el" (20119 34052))
+;;;### (autoloads (array-mode) "array" "array.el" (19845 45374))
 ;;; Generated autoloads from array.el
 
 (autoload 'array-mode "array" "\
@@ -1245,8 +1250,8 @@ Entering array mode calls the function `array-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from textmodes/artist.el
 
 (autoload 'artist-mode "artist" "\
@@ -1452,8 +1457,8 @@ Keymap summary
 
 ;;;***
 \f
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19890
+;;;;;;  42850))
 ;;; Generated autoloads from progmodes/asm-mode.el
 
 (autoload 'asm-mode "asm-mode" "\
@@ -1481,7 +1486,7 @@ Special commands:
 ;;;***
 \f
 ;;;### (autoloads (auth-source-cache-expiry) "auth-source" "gnus/auth-source.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20089 47591))
 ;;; Generated autoloads from gnus/auth-source.el
 
 (defvar auth-source-cache-expiry 7200 "\
@@ -1494,7 +1499,7 @@ let-binding.")
 ;;;***
 \f
 ;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;;  (20126 50800))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from autoarg.el
 
 (defvar autoarg-mode nil "\
@@ -1555,7 +1560,7 @@ This is similar to `autoarg-mode' but rebinds the keypad keys
 ;;;***
 \f
 ;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20163 39903))
 ;;; Generated autoloads from progmodes/autoconf.el
 
 (autoload 'autoconf-mode "autoconf" "\
@@ -1566,7 +1571,7 @@ Major mode for editing Autoconf configure.in files.
 ;;;***
 \f
 ;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;;  "autoinsert" "autoinsert.el" (20126 50812))
+;;;;;;  "autoinsert" "autoinsert.el" (20127 62865))
 ;;; Generated autoloads from autoinsert.el
 
 (autoload 'auto-insert "autoinsert" "\
@@ -1606,7 +1611,7 @@ insert a template for the file depending on the mode of the buffer.
 \f
 ;;;### (autoloads (batch-update-autoloads update-directory-autoloads
 ;;;;;;  update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20173 35732))
 ;;; Generated autoloads from emacs-lisp/autoload.el
 
 (put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1657,7 +1662,7 @@ should be non-nil).
 \f
 ;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
 ;;;;;;  auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
-;;;;;;  "autorevert" "autorevert.el" (20126 50846))
+;;;;;;  "autorevert" "autorevert.el" (20168 57844))
 ;;; Generated autoloads from autorevert.el
 
 (autoload 'auto-revert-mode "autorevert" "\
@@ -1746,7 +1751,7 @@ specifies in the mode line.
 ;;;***
 \f
 ;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;;  "avoid.el" (20119 34052))
+;;;;;;  "avoid.el" (19845 45374))
 ;;; Generated autoloads from avoid.el
 
 (defvar mouse-avoidance-mode nil "\
@@ -1787,7 +1792,7 @@ definition of \"random distance\".)
 ;;;***
 \f
 ;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;;  (20126 50857))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from battery.el
  (put 'battery-mode-line-string 'risky-local-variable t)
 
@@ -1823,7 +1828,7 @@ seconds.
 ;;;***
 \f
 ;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (20119 34052))
+;;;;;;  "benchmark" "emacs-lisp/benchmark.el" (19981 40664))
 ;;; Generated autoloads from emacs-lisp/benchmark.el
 
 (autoload 'benchmark-run "benchmark" "\
@@ -1856,7 +1861,7 @@ For non-interactive use see also `benchmark-run' and
 ;;;***
 \f
 ;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
-;;;;;;  "bibtex" "textmodes/bibtex.el" (20119 34052))
+;;;;;;  "bibtex" "textmodes/bibtex.el" (20174 10230))
 ;;; Generated autoloads from textmodes/bibtex.el
 
 (autoload 'bibtex-initialize "bibtex" "\
@@ -1945,7 +1950,7 @@ A prefix arg negates the value of `bibtex-search-entry-globally'.
 ;;;***
 \f
 ;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19863 8742))
 ;;; Generated autoloads from textmodes/bibtex-style.el
 
 (autoload 'bibtex-style-mode "bibtex-style" "\
@@ -1957,10 +1962,11 @@ Major mode for editing BibTeX style files.
 \f
 ;;;### (autoloads (binhex-decode-region binhex-decode-region-external
 ;;;;;;  binhex-decode-region-internal) "binhex" "mail/binhex.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20174 10230))
 ;;; Generated autoloads from mail/binhex.el
 
-(defconst binhex-begin-line "^:...............................................................$")
+(defconst binhex-begin-line "^:...............................................................$" "\
+Regular expression matching the start of a BinHex encoded region.")
 
 (autoload 'binhex-decode-region-internal "binhex" "\
 Binhex decode region between START and END without using an external program.
@@ -1980,8 +1986,8 @@ Binhex decode region between START and END.
 
 ;;;***
 \f
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from play/blackbox.el
 
 (autoload 'blackbox "blackbox" "\
@@ -2104,7 +2110,7 @@ a reflection.
 ;;;;;;  bookmark-save bookmark-write bookmark-delete bookmark-insert
 ;;;;;;  bookmark-rename bookmark-insert-location bookmark-relocate
 ;;;;;;  bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
-;;;;;;  "bookmark.el" (20119 34052))
+;;;;;;  "bookmark.el" (20178 7273))
 ;;; Generated autoloads from bookmark.el
  (define-key ctl-x-r-map "b" 'bookmark-jump)
  (define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2305,7 +2311,7 @@ Incremental search of bookmarks, hiding the non-matches as we go.
 ;;;;;;  browse-url-xdg-open browse-url-at-mouse browse-url-at-point
 ;;;;;;  browse-url browse-url-of-region browse-url-of-dired-file
 ;;;;;;  browse-url-of-buffer browse-url-of-file browse-url-browser-function)
-;;;;;;  "browse-url" "net/browse-url.el" (20126 51279))
+;;;;;;  "browse-url" "net/browse-url.el" (20168 57844))
 ;;; Generated autoloads from net/browse-url.el
 
 (defvar browse-url-browser-function 'browse-url-default-browser "\
@@ -2618,8 +2624,8 @@ from `browse-url-elinks-wrapper'.
 
 ;;;***
 \f
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (20165
+;;;;;;  31925))
 ;;; Generated autoloads from play/bruce.el
 
 (autoload 'bruce "bruce" "\
@@ -2635,7 +2641,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
 ;;;***
 \f
 ;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;;  "bs" "bs.el" (20140 44207))
+;;;;;;  "bs" "bs.el" (20161 45793))
 ;;; Generated autoloads from bs.el
 
 (autoload 'bs-cycle-next "bs" "\
@@ -2675,7 +2681,7 @@ name of buffer configuration.
 
 ;;;***
 \f
-;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20119 34052))
+;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (20166 16092))
 ;;; Generated autoloads from play/bubbles.el
 
 (autoload 'bubbles "bubbles" "\
@@ -2697,7 +2703,7 @@ columns on its right towards the left.
 ;;;***
 \f
 ;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference"
-;;;;;;  "progmodes/bug-reference.el" (20127 25733))
+;;;;;;  "progmodes/bug-reference.el" (20127 62865))
 ;;; Generated autoloads from progmodes/bug-reference.el
 
 (put 'bug-reference-url-format 'safe-local-variable (lambda (s) (or (stringp s) (and (symbolp s) (get s 'bug-reference-url-format)))))
@@ -2721,7 +2727,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
 ;;;;;;  batch-byte-compile-if-not-done display-call-tree byte-compile
 ;;;;;;  compile-defun byte-compile-file byte-recompile-directory
 ;;;;;;  byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning)
-;;;;;;  "bytecomp" "emacs-lisp/bytecomp.el" (20119 34052))
+;;;;;;  "bytecomp" "emacs-lisp/bytecomp.el" (20178 7273))
 ;;; 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)
@@ -2841,8 +2847,8 @@ and corresponding effects.
 
 ;;;***
 \f
-;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19885
+;;;;;;  24894))
 ;;; Generated autoloads from calendar/cal-china.el
 
 (put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2851,7 +2857,7 @@ and corresponding effects.
 
 ;;;***
 \f
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (20119 34052))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19885 24894))
 ;;; Generated autoloads from calendar/cal-dst.el
 
 (put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2863,7 +2869,7 @@ and corresponding effects.
 ;;;***
 \f
 ;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19885 24894))
 ;;; Generated autoloads from calendar/cal-hebrew.el
 
 (autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2879,8 +2885,8 @@ from the cursor position.
 \f
 ;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
 ;;;;;;  calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
-;;;;;;  full-calc calc calc-dispatch) "calc" "calc/calc.el" (20119
-;;;;;;  34052))
+;;;;;;  full-calc calc calc-dispatch) "calc" "calc/calc.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from calc/calc.el
  (define-key ctl-x-map "*" 'calc-dispatch)
 
@@ -2964,8 +2970,8 @@ See Info node `(calc)Defining Functions'.
 
 ;;;***
 \f
-;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (calc-undo) "calc-undo" "calc/calc-undo.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from calc/calc-undo.el
 
 (autoload 'calc-undo "calc-undo" "\
@@ -2975,8 +2981,8 @@ See Info node `(calc)Defining Functions'.
 
 ;;;***
 \f
-;;;### (autoloads (calculator) "calculator" "calculator.el" (20140
-;;;;;;  44219))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (20141
+;;;;;;  9296))
 ;;; Generated autoloads from calculator.el
 
 (autoload 'calculator "calculator" "\
@@ -2988,7 +2994,7 @@ See the documentation for `calculator-mode' for more information.
 ;;;***
 \f
 ;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (20141
-;;;;;;  25678))
+;;;;;;  9296))
 ;;; Generated autoloads from calendar/calendar.el
 
 (autoload 'calendar "calendar" "\
@@ -3032,7 +3038,7 @@ This function is suitable for execution in a .emacs file.
 ;;;***
 \f
 ;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;;  "gnus/canlock.el" (20119 34052))
+;;;;;;  "gnus/canlock.el" (19845 45374))
 ;;; Generated autoloads from gnus/canlock.el
 
 (autoload 'canlock-insert-header "canlock" "\
@@ -3050,7 +3056,7 @@ it fails.
 ;;;***
 \f
 ;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el"
-;;;;;;  (20127 25639))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from progmodes/cap-words.el
 
 (autoload 'capitalized-words-mode "cap-words" "\
@@ -3089,15 +3095,15 @@ Obsoletes `c-forward-into-nomenclature'.
 
 ;;;***
 \f
-;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from progmodes/cc-compat.el
 (put 'c-indent-level 'safe-local-variable 'integerp)
 
 ;;;***
 \f
 ;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;;  (20139 28158))
+;;;;;;  (20172 54913))
 ;;; Generated autoloads from progmodes/cc-engine.el
 
 (autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -3109,7 +3115,7 @@ Return the syntactic context of the current line.
 \f
 ;;;### (autoloads (c-guess-install c-guess-region-no-install c-guess-region
 ;;;;;;  c-guess-buffer-no-install c-guess-buffer c-guess-no-install
-;;;;;;  c-guess) "cc-guess" "progmodes/cc-guess.el" (20119 34052))
+;;;;;;  c-guess) "cc-guess" "progmodes/cc-guess.el" (19981 40664))
 ;;; Generated autoloads from progmodes/cc-guess.el
 
 (defvar c-guess-guessed-offsets-alist nil "\
@@ -3209,7 +3215,7 @@ the absolute file name of the file if STYLE-NAME is nil.
 \f
 ;;;### (autoloads (awk-mode pike-mode idl-mode java-mode objc-mode
 ;;;;;;  c++-mode c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;;  (20138 48832))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from progmodes/cc-mode.el
 
 (autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3386,7 +3392,7 @@ Key bindings:
 ;;;***
 \f
 ;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;;  "progmodes/cc-styles.el" (20119 34052))
+;;;;;;  "progmodes/cc-styles.el" (19981 40664))
 ;;; Generated autoloads from progmodes/cc-styles.el
 
 (autoload 'c-set-style "cc-styles" "\
@@ -3437,7 +3443,7 @@ and exists only for compatibility reasons.
 
 ;;;***
 \f
-;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20139 28158))
+;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (20167 36967))
 ;;; Generated autoloads from progmodes/cc-vars.el
 (put 'c-basic-offset 'safe-local-variable 'integerp)
 (put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3447,7 +3453,7 @@ and exists only for compatibility reasons.
 \f
 ;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
 ;;;;;;  declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19943 25429))
 ;;; Generated autoloads from international/ccl.el
 
 (autoload 'ccl-compile "ccl" "\
@@ -3708,7 +3714,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
 ;;;***
 \f
 ;;;### (autoloads (cconv-closure-convert) "cconv" "emacs-lisp/cconv.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from emacs-lisp/cconv.el
 
 (autoload 'cconv-closure-convert "cconv" "\
@@ -3723,7 +3729,7 @@ Returns a form where all lambdas don't have any free variables.
 ;;;***
 \f
 ;;;### (autoloads (cfengine-auto-mode cfengine-mode cfengine3-mode)
-;;;;;;  "cfengine" "progmodes/cfengine.el" (20119 34052))
+;;;;;;  "cfengine" "progmodes/cfengine.el" (20168 57844))
 ;;; Generated autoloads from progmodes/cfengine.el
 
 (autoload 'cfengine3-mode "cfengine" "\
@@ -3753,7 +3759,7 @@ on the buffer contents
 ;;;***
 \f
 ;;;### (autoloads (check-declare-directory check-declare-file) "check-declare"
-;;;;;;  "emacs-lisp/check-declare.el" (20119 34052))
+;;;;;;  "emacs-lisp/check-declare.el" (19906 31087))
 ;;; Generated autoloads from emacs-lisp/check-declare.el
 
 (autoload 'check-declare-file "check-declare" "\
@@ -3778,7 +3784,7 @@ Returns non-nil if any false statements are found.
 ;;;;;;  checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer
 ;;;;;;  checkdoc-eval-current-buffer checkdoc-message-interactive
 ;;;;;;  checkdoc-interactive checkdoc checkdoc-list-of-strings-p)
-;;;;;;  "checkdoc" "emacs-lisp/checkdoc.el" (20127 23374))
+;;;;;;  "checkdoc" "emacs-lisp/checkdoc.el" (20168 57844))
 ;;; 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)
@@ -3974,7 +3980,7 @@ checking of documentation strings.
 \f
 ;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer
 ;;;;;;  encode-hz-region decode-hz-buffer decode-hz-region) "china-util"
-;;;;;;  "language/china-util.el" (20119 34052))
+;;;;;;  "language/china-util.el" (19845 45374))
 ;;; Generated autoloads from language/china-util.el
 
 (autoload 'decode-hz-region "china-util" "\
@@ -4012,7 +4018,7 @@ Encode the text in the current buffer to HZ.
 ;;;***
 \f
 ;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;;  "chistory" "chistory.el" (20119 34052))
+;;;;;;  "chistory" "chistory.el" (19845 45374))
 ;;; Generated autoloads from chistory.el
 
 (autoload 'repeat-matching-complex-command "chistory" "\
@@ -4051,7 +4057,7 @@ and runs the normal hook `command-history-hook'.
 
 ;;;***
 \f
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (20138 48832))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (20137 45833))
 ;;; Generated autoloads from emacs-lisp/cl.el
 
 (defvar custom-print-functions nil "\
@@ -4067,7 +4073,7 @@ a future Emacs interpreter will be able to use it.")
 ;;;***
 \f
 ;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20170 64186))
 ;;; Generated autoloads from emacs-lisp/cl-indent.el
 
 (autoload 'common-lisp-indent-function "cl-indent" "\
@@ -4146,7 +4152,7 @@ For example, the function `case' has an indent property
 ;;;***
 \f
 ;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from progmodes/cmacexp.el
 
 (autoload 'c-macro-expand "cmacexp" "\
@@ -4166,8 +4172,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
 
 ;;;***
 \f
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (20092
+;;;;;;  23754))
 ;;; Generated autoloads from cmuscheme.el
 
 (autoload 'run-scheme "cmuscheme" "\
@@ -4187,7 +4193,7 @@ is run).
 
 ;;;***
 \f
-;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20119 34052))
+;;;### (autoloads (color-name-to-rgb) "color" "color.el" (20175 31160))
 ;;; Generated autoloads from color.el
 
 (autoload 'color-name-to-rgb "color" "\
@@ -4209,7 +4215,7 @@ If FRAME cannot display COLOR, return nil.
 ;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
 ;;;;;;  comint-redirect-send-command-to-process comint-redirect-send-command
 ;;;;;;  comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
-;;;;;;  (20135 20784))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from comint.el
 
 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -4304,7 +4310,7 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
 ;;;***
 \f
 ;;;### (autoloads (compare-windows) "compare-w" "vc/compare-w.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from vc/compare-w.el
 
 (autoload 'compare-windows "compare-w" "\
@@ -4341,8 +4347,8 @@ on third call it again advances points to the next difference and so on.
 ;;;;;;  compilation-shell-minor-mode compilation-mode compilation-start
 ;;;;;;  compile compilation-disable-input compile-command compilation-search-path
 ;;;;;;  compilation-ask-about-save compilation-window-height compilation-start-hook
-;;;;;;  compilation-mode-hook) "compile" "progmodes/compile.el" (20127
-;;;;;;  25602))
+;;;;;;  compilation-mode-hook) "compile" "progmodes/compile.el" (20167
+;;;;;;  36967))
 ;;; Generated autoloads from progmodes/compile.el
 
 (defvar compilation-mode-hook nil "\
@@ -4522,7 +4528,7 @@ This is the value of `next-error-function' in Compilation buffers.
 ;;;***
 \f
 ;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19886 45771))
 ;;; Generated autoloads from completion.el
 
 (defvar dynamic-completion-mode nil "\
@@ -4544,7 +4550,7 @@ Enable dynamic word-completion.
 ;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode
 ;;;;;;  conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode
 ;;;;;;  conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from textmodes/conf-mode.el
 
 (autoload 'conf-mode "conf-mode" "\
@@ -4700,7 +4706,7 @@ For details see `conf-mode'.  Example:
 ;;;***
 \f
 ;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;;  "cookie1" "play/cookie1.el" (20119 34052))
+;;;;;;  "cookie1" "play/cookie1.el" (19845 45374))
 ;;; Generated autoloads from play/cookie1.el
 
 (autoload 'cookie "cookie1" "\
@@ -4732,8 +4738,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
 ;;;***
 \f
 ;;;### (autoloads (copyright-update-directory copyright copyright-fix-years
-;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (20119
-;;;;;;  34052))
+;;;;;;  copyright-update) "copyright" "emacs-lisp/copyright.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from emacs-lisp/copyright.el
 (put 'copyright-at-end-flag 'safe-local-variable 'booleanp)
 (put 'copyright-names-regexp 'safe-local-variable 'stringp)
@@ -4772,7 +4778,7 @@ If FIX is non-nil, run `copyright-fix-years' instead.
 ;;;***
 \f
 ;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
-;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (20119 34052))
+;;;;;;  "cperl-mode" "progmodes/cperl-mode.el" (20178 7273))
 ;;; Generated autoloads from progmodes/cperl-mode.el
 (put 'cperl-indent-level 'safe-local-variable 'integerp)
 (put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4971,7 +4977,7 @@ Run a `perldoc' on the word around point.
 ;;;***
 \f
 ;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20104 14925))
 ;;; Generated autoloads from progmodes/cpp.el
 
 (autoload 'cpp-highlight-buffer "cpp" "\
@@ -4990,7 +4996,7 @@ Edit display information for cpp conditionals.
 ;;;***
 \f
 ;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;;  (20140 44288))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from emulation/crisp.el
 
 (defvar crisp-mode nil "\
@@ -5016,7 +5022,7 @@ if ARG is omitted or nil.
 ;;;***
 \f
 ;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/crm.el
 
 (autoload 'completing-read-multiple "crm" "\
@@ -5051,8 +5057,8 @@ INHERIT-INPUT-METHOD.
 
 ;;;***
 \f
-;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19978
+;;;;;;  37530))
 ;;; Generated autoloads from textmodes/css-mode.el
 
 (autoload 'css-mode "css-mode" "\
@@ -5063,7 +5069,7 @@ Major mode to edit Cascading Style Sheets.
 ;;;***
 \f
 ;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;;  (20128 38948))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from emulation/cua-base.el
 
 (defvar cua-mode nil "\
@@ -5123,7 +5129,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
 ;;;;;;  customize-mode customize customize-push-and-save customize-save-variable
 ;;;;;;  customize-set-variable customize-set-value custom-menu-sort-alphabetically
 ;;;;;;  custom-buffer-sort-alphabetically custom-browse-sort-alphabetically)
-;;;;;;  "cus-edit" "cus-edit.el" (20119 34052))
+;;;;;;  "cus-edit" "cus-edit.el" (20179 28130))
 ;;; Generated autoloads from cus-edit.el
 
 (defvar custom-browse-sort-alphabetically nil "\
@@ -5439,8 +5445,8 @@ The format is suitable for use with `easy-menu-define'.
 ;;;***
 \f
 ;;;### (autoloads (customize-themes describe-theme custom-theme-visit-theme
-;;;;;;  customize-create-theme) "cus-theme" "cus-theme.el" (20119
-;;;;;;  34052))
+;;;;;;  customize-create-theme) "cus-theme" "cus-theme.el" (20059
+;;;;;;  26455))
 ;;; Generated autoloads from cus-theme.el
 
 (autoload 'customize-create-theme "cus-theme" "\
@@ -5472,7 +5478,7 @@ omitted, a buffer named *Custom Themes* is used.
 ;;;***
 \f
 ;;;### (autoloads (cvs-status-mode) "cvs-status" "vc/cvs-status.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20174 10230))
 ;;; Generated autoloads from vc/cvs-status.el
 
 (autoload 'cvs-status-mode "cvs-status" "\
@@ -5483,7 +5489,7 @@ Mode used for cvs status output.
 ;;;***
 \f
 ;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;;  "cwarn" "progmodes/cwarn.el" (20119 34052))
+;;;;;;  "cwarn" "progmodes/cwarn.el" (20168 57844))
 ;;; Generated autoloads from progmodes/cwarn.el
 
 (autoload 'cwarn-mode "cwarn" "\
@@ -5532,7 +5538,7 @@ See `cwarn-mode' for more information on Cwarn mode.
 \f
 ;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
 ;;;;;;  cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from language/cyril-util.el
 
 (autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5561,7 +5567,7 @@ If the argument is nil, we return the display table to its standard state.
 ;;;***
 \f
 ;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19989 34789))
 ;;; Generated autoloads from dabbrev.el
 (put 'dabbrev-case-fold-search 'risky-local-variable t)
 (put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5608,7 +5614,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
 ;;;***
 \f
 ;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from cedet/data-debug.el
 
 (autoload 'data-debug-new-buffer "data-debug" "\
@@ -5618,8 +5624,8 @@ Create a new data-debug buffer with NAME.
 
 ;;;***
 \f
-;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (20176
+;;;;;;  51947))
 ;;; Generated autoloads from net/dbus.el
 
 (autoload 'dbus-handle-event "dbus" "\
@@ -5632,8 +5638,8 @@ If the HANDLER returns a `dbus-error', it is propagated as return message.
 
 ;;;***
 \f
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (20162
+;;;;;;  63140))
 ;;; Generated autoloads from progmodes/dcl-mode.el
 
 (autoload 'dcl-mode "dcl-mode" "\
@@ -5760,7 +5766,7 @@ There is some minimal font-lock support (see vars
 ;;;***
 \f
 ;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;;  "emacs-lisp/debug.el" (20119 34052))
+;;;;;;  "emacs-lisp/debug.el" (20098 62550))
 ;;; Generated autoloads from emacs-lisp/debug.el
 
 (setq debugger 'debug)
@@ -5804,7 +5810,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
 ;;;***
 \f
 ;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 60780))
 ;;; Generated autoloads from play/decipher.el
 
 (autoload 'decipher "decipher" "\
@@ -5833,8 +5839,8 @@ The most useful commands are:
 ;;;***
 \f
 ;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (20119
-;;;;;;  34052))
+;;;;;;  delimit-columns-customize) "delim-col" "delim-col.el" (20154
+;;;;;;  24929))
 ;;; Generated autoloads from delim-col.el
 
 (autoload 'delimit-columns-customize "delim-col" "\
@@ -5858,8 +5864,8 @@ START and END delimits the corners of text rectangle.
 
 ;;;***
 \f
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (20153
+;;;;;;  32900))
 ;;; Generated autoloads from progmodes/delphi.el
 
 (autoload 'delphi-mode "delphi" "\
@@ -5910,8 +5916,8 @@ with no args, if that value is non-nil.
 
 ;;;***
 \f
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20126
-;;;;;;  50889))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from delsel.el
 
 (defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5941,7 +5947,7 @@ any selection.
 ;;;***
 \f
 ;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;;  "derived" "emacs-lisp/derived.el" (20134 8296))
+;;;;;;  "derived" "emacs-lisp/derived.el" (20137 12290))
 ;;; Generated autoloads from emacs-lisp/derived.el
 
 (autoload 'define-derived-mode "derived" "\
@@ -6008,7 +6014,7 @@ the first time the mode is used.
 ;;;***
 \f
 ;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;;  "descr-text.el" (20127 27092))
+;;;;;;  "descr-text.el" (20170 13157))
 ;;; Generated autoloads from descr-text.el
 
 (autoload 'describe-text-properties "descr-text" "\
@@ -6036,7 +6042,7 @@ as well as widgets, buttons, overlays, and text properties.
 ;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
 ;;;;;;  desktop-load-default desktop-read desktop-remove desktop-save
 ;;;;;;  desktop-clear desktop-locals-to-save desktop-save-mode) "desktop"
-;;;;;;  "desktop.el" (20126 50898))
+;;;;;;  "desktop.el" (20165 31925))
 ;;; Generated autoloads from desktop.el
 
 (defvar desktop-save-mode nil "\
@@ -6223,7 +6229,7 @@ Revert to the last loaded desktop.
 \f
 ;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
 ;;;;;;  gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
-;;;;;;  "deuglify" "gnus/deuglify.el" (20119 34052))
+;;;;;;  "deuglify" "gnus/deuglify.el" (19845 45374))
 ;;; Generated autoloads from gnus/deuglify.el
 
 (autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -6256,7 +6262,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
 ;;;***
 \f
 ;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;;  "calendar/diary-lib.el" (20119 34052))
+;;;;;;  "calendar/diary-lib.el" (20168 57844))
 ;;; Generated autoloads from calendar/diary-lib.el
 
 (autoload 'diary "diary-lib" "\
@@ -6299,7 +6305,7 @@ Major mode for editing the diary file.
 ;;;***
 \f
 ;;;### (autoloads (diff-buffer-with-file diff-backup diff diff-command
-;;;;;;  diff-switches) "diff" "vc/diff.el" (20119 34052))
+;;;;;;  diff-switches) "diff" "vc/diff.el" (19999 41597))
 ;;; Generated autoloads from vc/diff.el
 
 (defvar diff-switches (purecopy "-c") "\
@@ -6343,7 +6349,7 @@ This requires the external program `diff' to be in your `exec-path'.
 ;;;***
 \f
 ;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "vc/diff-mode.el"
-;;;;;;  (20127 23725))
+;;;;;;  (20181 13366))
 ;;; Generated autoloads from vc/diff-mode.el
 
 (autoload 'diff-mode "diff-mode" "\
@@ -6375,7 +6381,7 @@ the mode if ARG is omitted or nil.
 
 ;;;***
 \f
-;;;### (autoloads (dig) "dig" "net/dig.el" (20119 34052))
+;;;### (autoloads (dig) "dig" "net/dig.el" (19845 45374))
 ;;; Generated autoloads from net/dig.el
 
 (autoload 'dig "dig" "\
@@ -6387,7 +6393,7 @@ Optional arguments are passed to `dig-invoke'.
 ;;;***
 \f
 ;;;### (autoloads (dired-mode dired-noselect dired-other-frame dired-other-window
-;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20140 44600))
+;;;;;;  dired dired-listing-switches) "dired" "dired.el" (20167 36967))
 ;;; Generated autoloads from dired.el
 
 (defvar dired-listing-switches (purecopy "-al") "\
@@ -6509,7 +6515,7 @@ Keybindings:
 ;;;***
 \f
 ;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el"
-;;;;;;  (20126 50922))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from dirtrack.el
 
 (autoload 'dirtrack-mode "dirtrack" "\
@@ -6539,8 +6545,8 @@ function `dirtrack-debug-mode' to turn on debugging output.
 
 ;;;***
 \f
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19931
+;;;;;;  11784))
 ;;; Generated autoloads from emacs-lisp/disass.el
 
 (autoload 'disassemble "disass" "\
@@ -6559,7 +6565,7 @@ redefine OBJECT if it is a symbol.
 ;;;;;;  standard-display-g1 standard-display-ascii standard-display-default
 ;;;;;;  standard-display-8bit describe-current-display-table describe-display-table
 ;;;;;;  set-display-table-slot display-table-slot make-display-table)
-;;;;;;  "disp-table" "disp-table.el" (20119 34052))
+;;;;;;  "disp-table" "disp-table.el" (19984 16846))
 ;;; Generated autoloads from disp-table.el
 
 (autoload 'make-display-table "disp-table" "\
@@ -6681,7 +6687,7 @@ in `.emacs'.
 ;;;***
 \f
 ;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from play/dissociate.el
 
 (autoload 'dissociated-press "dissociate" "\
@@ -6697,7 +6703,7 @@ Default is 2.
 
 ;;;***
 \f
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (20119 34052))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19886 45771))
 ;;; 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)) "\
@@ -6718,7 +6724,7 @@ if some action was made, or nil if the URL is ignored.")
 ;;;***
 \f
 ;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
-;;;;;;  "textmodes/dns-mode.el" (20119 34052))
+;;;;;;  "textmodes/dns-mode.el" (19845 45374))
 ;;; Generated autoloads from textmodes/dns-mode.el
 
 (autoload 'dns-mode "dns-mode" "\
@@ -6742,8 +6748,8 @@ Locate SOA record and increment the serial field.
 ;;;***
 \f
 ;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode-maybe
-;;;;;;  doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20139
-;;;;;;  28158))
+;;;;;;  doc-view-mode doc-view-mode-p) "doc-view" "doc-view.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from doc-view.el
 
 (autoload 'doc-view-mode-p "doc-view" "\
@@ -6789,7 +6795,7 @@ See the command `doc-view-mode' for more information on this mode.
 
 ;;;***
 \f
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20119 34052))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (20077 56412))
 ;;; Generated autoloads from play/doctor.el
 
 (autoload 'doctor "doctor" "\
@@ -6799,7 +6805,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
 
 ;;;***
 \f
-;;;### (autoloads (double-mode) "double" "double.el" (20126 50942))
+;;;### (autoloads (double-mode) "double" "double.el" (20127 62865))
 ;;; Generated autoloads from double.el
 
 (autoload 'double-mode "double" "\
@@ -6815,7 +6821,7 @@ strings when pressed twice.  See `double-map' for details.
 
 ;;;***
 \f
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (20119 34052))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19845 45374))
 ;;; Generated autoloads from play/dunnet.el
 
 (autoload 'dunnet "dunnet" "\
@@ -6827,7 +6833,7 @@ Switch to *dungeon* buffer and start game.
 \f
 ;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
 ;;;;;;  define-globalized-minor-mode define-minor-mode) "easy-mmode"
-;;;;;;  "emacs-lisp/easy-mmode.el" (20136 49226))
+;;;;;;  "emacs-lisp/easy-mmode.el" (20179 28130))
 ;;; Generated autoloads from emacs-lisp/easy-mmode.el
 
 (defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
@@ -6938,8 +6944,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
 ;;;***
 \f
 ;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (20119
-;;;;;;  34052))
+;;;;;;  easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from emacs-lisp/easymenu.el
 
 (autoload 'easy-menu-define "easymenu" "\
@@ -7093,7 +7099,7 @@ To implement dynamic menus, either call this from
 ;;;;;;  ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer
 ;;;;;;  ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer
 ;;;;;;  ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
-;;;;;;  "progmodes/ebnf2ps.el" (20119 34052))
+;;;;;;  "progmodes/ebnf2ps.el" (20166 16092))
 ;;; Generated autoloads from progmodes/ebnf2ps.el
 
 (autoload 'ebnf-customize "ebnf2ps" "\
@@ -7367,8 +7373,8 @@ See `ebnf-style-database' documentation.
 ;;;;;;  ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition
 ;;;;;;  ebrowse-tags-view-definition ebrowse-tags-find-declaration
 ;;;;;;  ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree
-;;;;;;  ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20119
-;;;;;;  34052))
+;;;;;;  ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (20104
+;;;;;;  14925))
 ;;; Generated autoloads from progmodes/ebrowse.el
 
 (autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7517,7 +7523,7 @@ Display statistics for a class tree.
 ;;;***
 \f
 ;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20104 14925))
 ;;; Generated autoloads from ebuff-menu.el
 
 (autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7542,7 +7548,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
 ;;;***
 \f
 ;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;;  "echistory.el" (20119 34052))
+;;;;;;  "echistory.el" (19886 45771))
 ;;; Generated autoloads from echistory.el
 
 (autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7554,7 +7560,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
 ;;;***
 \f
 ;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20110 24804))
 ;;; Generated autoloads from gnus/ecomplete.el
 
 (autoload 'ecomplete-setup "ecomplete" "\
@@ -7564,7 +7570,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
 
 ;;;***
 \f
-;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20131 35255))
+;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (20168 57844))
 ;;; Generated autoloads from cedet/ede.el
 
 (defvar global-ede-mode nil "\
@@ -7591,7 +7597,7 @@ an EDE controlled project.
 \f
 ;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
 ;;;;;;  edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
-;;;;;;  "emacs-lisp/edebug.el" (20119 34052))
+;;;;;;  "emacs-lisp/edebug.el" (20166 16092))
 ;;; Generated autoloads from emacs-lisp/edebug.el
 
 (defvar edebug-all-defs nil "\
@@ -7664,7 +7670,7 @@ Toggle edebugging of all forms.
 ;;;;;;  ediff-merge-directories-with-ancestor ediff-merge-directories
 ;;;;;;  ediff-directories3 ediff-directory-revisions ediff-directories
 ;;;;;;  ediff-buffers3 ediff-buffers ediff-backup ediff-current-file
-;;;;;;  ediff-files3 ediff-files) "ediff" "vc/ediff.el" (20119 34052))
+;;;;;;  ediff-files3 ediff-files) "ediff" "vc/ediff.el" (19996 8027))
 ;;; Generated autoloads from vc/ediff.el
 
 (autoload 'ediff-files "ediff" "\
@@ -7896,7 +7902,7 @@ With optional NODE, goes to that node.
 ;;;***
 \f
 ;;;### (autoloads (ediff-customize) "ediff-help" "vc/ediff-help.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from vc/ediff-help.el
 
 (autoload 'ediff-customize "ediff-help" "\
@@ -7907,7 +7913,7 @@ With optional NODE, goes to that node.
 ;;;***
 \f
 ;;;### (autoloads (ediff-show-registry) "ediff-mult" "vc/ediff-mult.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from vc/ediff-mult.el
 
 (autoload 'ediff-show-registry "ediff-mult" "\
@@ -7920,7 +7926,7 @@ Display Ediff's registry.
 ;;;***
 \f
 ;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;;  "ediff-util" "vc/ediff-util.el" (20140 44390))
+;;;;;;  "ediff-util" "vc/ediff-util.el" (20175 31160))
 ;;; Generated autoloads from vc/ediff-util.el
 
 (autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7941,7 +7947,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see.
 \f
 ;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
 ;;;;;;  edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19886 45771))
 ;;; Generated autoloads from edmacro.el
 
 (autoload 'edit-kbd-macro "edmacro" "\
@@ -7990,7 +7996,7 @@ or nil, use a compact 80-column format.
 ;;;***
 \f
 ;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;;  "emulation/edt.el" (20140 44303))
+;;;;;;  "emulation/edt.el" (20154 24929))
 ;;; Generated autoloads from emulation/edt.el
 
 (autoload 'edt-set-scroll-margins "edt" "\
@@ -8008,7 +8014,7 @@ Turn on EDT Emulation.
 ;;;***
 \f
 ;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19865 50420))
 ;;; Generated autoloads from ehelp.el
 
 (autoload 'with-electric-help "ehelp" "\
@@ -8045,7 +8051,7 @@ BUFFER is put back into its original major mode.
 ;;;***
 \f
 ;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (20127 23532))
+;;;;;;  "eldoc" "emacs-lisp/eldoc.el" (20161 45793))
 ;;; Generated autoloads from emacs-lisp/eldoc.el
 
 (defvar eldoc-minor-mode-string (purecopy " ElDoc") "\
@@ -8092,11 +8098,15 @@ Emacs Lisp mode) that support ElDoc.")
 ;;;***
 \f
 ;;;### (autoloads (electric-layout-mode electric-pair-mode electric-indent-mode)
-;;;;;;  "electric" "electric.el" (20126 50965))
+;;;;;;  "electric" "electric.el" (20168 57844))
 ;;; Generated autoloads from electric.el
 
 (defvar electric-indent-chars '(10) "\
-Characters that should cause automatic reindentation.")
+Characters that should cause automatic reindentation.
+Each entry of the list can be either a character or a cons of the
+form (CHAR . PREDICATE) which means that CHAR should cause reindentation
+only if PREDICATE returns non-nil.  PREDICATE is called with no arguments
+and with point before the inserted char.")
 
 (defvar electric-indent-mode nil "\
 Non-nil if Electric-Indent mode is enabled.
@@ -8156,8 +8166,8 @@ Automatically insert newlines around some chars.
 
 ;;;***
 \f
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from elide-head.el
 
 (autoload 'elide-head "elide-head" "\
@@ -8174,7 +8184,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
 \f
 ;;;### (autoloads (elint-initialize elint-defun elint-current-buffer
 ;;;;;;  elint-directory elint-file) "elint" "emacs-lisp/elint.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20172 54913))
 ;;; Generated autoloads from emacs-lisp/elint.el
 
 (autoload 'elint-file "elint" "\
@@ -8210,8 +8220,8 @@ optional prefix argument REINIT is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (20119
-;;;;;;  34052))
+;;;;;;  elp-instrument-function) "elp" "emacs-lisp/elp.el" (19981
+;;;;;;  40664))
 ;;; Generated autoloads from emacs-lisp/elp.el
 
 (autoload 'elp-instrument-function "elp" "\
@@ -8246,7 +8256,7 @@ displayed.
 ;;;***
 \f
 ;;;### (autoloads (emacs-lock-mode) "emacs-lock" "emacs-lock.el"
-;;;;;;  (20126 50977))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from emacs-lock.el
 
 (autoload 'emacs-lock-mode "emacs-lock" "\
@@ -8274,7 +8284,7 @@ Other values are interpreted as usual.
 ;;;***
 \f
 ;;;### (autoloads (report-emacs-bug-query-existing-bugs report-emacs-bug)
-;;;;;;  "emacsbug" "mail/emacsbug.el" (20119 34052))
+;;;;;;  "emacsbug" "mail/emacsbug.el" (20093 44623))
 ;;; Generated autoloads from mail/emacsbug.el
 
 (autoload 'report-emacs-bug "emacsbug" "\
@@ -8295,7 +8305,7 @@ The result is an alist with items of the form (URL SUBJECT NO).
 ;;;;;;  emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote
 ;;;;;;  emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor
 ;;;;;;  emerge-buffers emerge-files-with-ancestor emerge-files) "emerge"
-;;;;;;  "vc/emerge.el" (20140 44401))
+;;;;;;  "vc/emerge.el" (20141 9296))
 ;;; Generated autoloads from vc/emerge.el
 
 (autoload 'emerge-files "emerge" "\
@@ -8356,7 +8366,7 @@ Emerge two RCS revisions of a file, with another revision as ancestor.
 ;;;***
 \f
 ;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;;  "enriched" "textmodes/enriched.el" (20127 24788))
+;;;;;;  "enriched" "textmodes/enriched.el" (19845 45374))
 ;;; Generated autoloads from textmodes/enriched.el
 
 (autoload 'enriched-mode "enriched" "\
@@ -8391,8 +8401,8 @@ Commands:
 ;;;;;;  epa-sign-region epa-verify-cleartext-in-region epa-verify-region
 ;;;;;;  epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file
 ;;;;;;  epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys
-;;;;;;  epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20119
-;;;;;;  34052))
+;;;;;;  epa-list-secret-keys epa-list-keys) "epa" "epa.el" (20104
+;;;;;;  14925))
 ;;; Generated autoloads from epa.el
 
 (autoload 'epa-list-keys "epa" "\
@@ -8570,7 +8580,7 @@ Insert selected KEYS after the point.
 ;;;***
 \f
 ;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
-;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (20119 34052))
+;;;;;;  epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19865 50420))
 ;;; Generated autoloads from epa-dired.el
 
 (autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8596,7 +8606,7 @@ Encrypt marked files.
 ;;;***
 \f
 ;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
-;;;;;;  "epa-file" "epa-file.el" (20119 34052))
+;;;;;;  "epa-file" "epa-file.el" (20038 20303))
 ;;; Generated autoloads from epa-file.el
 
 (autoload 'epa-file-handler "epa-file" "\
@@ -8618,7 +8628,7 @@ Encrypt marked files.
 \f
 ;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt
 ;;;;;;  epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode)
-;;;;;;  "epa-mail" "epa-mail.el" (20119 34052))
+;;;;;;  "epa-mail" "epa-mail.el" (20043 38232))
 ;;; Generated autoloads from epa-mail.el
 
 (autoload 'epa-mail-mode "epa-mail" "\
@@ -8682,7 +8692,7 @@ Minor mode to hook EasyPG into Mail mode.
 
 ;;;***
 \f
-;;;### (autoloads (epg-make-context) "epg" "epg.el" (20119 34052))
+;;;### (autoloads (epg-make-context) "epg" "epg.el" (20172 54913))
 ;;; Generated autoloads from epg.el
 
 (autoload 'epg-make-context "epg" "\
@@ -8693,7 +8703,7 @@ Return a context object.
 ;;;***
 \f
 ;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration)
-;;;;;;  "epg-config" "epg-config.el" (20119 34052))
+;;;;;;  "epg-config" "epg-config.el" (19845 45374))
 ;;; Generated autoloads from epg-config.el
 
 (autoload 'epg-configuration "epg-config" "\
@@ -8714,7 +8724,7 @@ Look at CONFIG and try to expand GROUP.
 ;;;***
 \f
 ;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
-;;;;;;  "erc/erc.el" (20127 26333))
+;;;;;;  "erc/erc.el" (20172 54913))
 ;;; Generated autoloads from erc/erc.el
 
 (autoload 'erc-select-read-args "erc" "\
@@ -8756,33 +8766,33 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (20161
+;;;;;;  45793))
 ;;; Generated autoloads from erc/erc-autoaway.el
  (autoload 'erc-autoaway-mode "erc-autoaway")
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20119 34052))
+;;;### (autoloads nil "erc-button" "erc/erc-button.el" (20093 44623))
 ;;; Generated autoloads from erc/erc-button.el
  (autoload 'erc-button-mode "erc-button" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (20119 34052))
+;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-capab.el
  (autoload 'erc-capab-identify-mode "erc-capab" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (20119 34052))
+;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-compat.el
  (autoload 'erc-define-minor-mode "erc-compat")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
-;;;;;;  "erc-dcc" "erc/erc-dcc.el" (20119 34052))
+;;;;;;  "erc-dcc" "erc/erc-dcc.el" (20179 28130))
 ;;; Generated autoloads from erc/erc-dcc.el
  (autoload 'erc-dcc-mode "erc-dcc")
 
@@ -8815,7 +8825,7 @@ that subcommand.
 ;;;;;;  erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list
 ;;;;;;  erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action
 ;;;;;;  erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from erc/erc-ezbounce.el
 
 (autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8878,7 +8888,7 @@ Add EZBouncer convenience functions to ERC.
 ;;;***
 \f
 ;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (20127
-;;;;;;  26298))
+;;;;;;  62865))
 ;;; Generated autoloads from erc/erc-fill.el
  (autoload 'erc-fill-mode "erc-fill" nil t)
 
@@ -8891,7 +8901,7 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'.
 ;;;***
 \f
 ;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd"
-;;;;;;  "erc/erc-identd.el" (20119 34052))
+;;;;;;  "erc/erc-identd.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-identd.el
  (autoload 'erc-identd-mode "erc-identd")
 
@@ -8913,7 +8923,7 @@ system.
 ;;;***
 \f
 ;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from erc/erc-imenu.el
 
 (autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8923,20 +8933,20 @@ system.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-join" "erc/erc-join.el" (20119 34052))
+;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-join.el
  (autoload 'erc-autojoin-mode "erc-join" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-list" "erc/erc-list.el" (20119 34052))
+;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-list.el
  (autoload 'erc-list-mode "erc-list")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
-;;;;;;  "erc/erc-log.el" (20119 34052))
+;;;;;;  "erc/erc-log.el" (20168 57844))
 ;;; Generated autoloads from erc/erc-log.el
  (autoload 'erc-log-mode "erc-log" nil t)
 
@@ -8968,7 +8978,7 @@ You can save every individual message by putting this function on
 ;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host
 ;;;;;;  erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool
 ;;;;;;  erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from erc/erc-match.el
  (autoload 'erc-match-mode "erc-match")
 
@@ -9014,14 +9024,14 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (20119 34052))
+;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-menu.el
  (autoload 'erc-menu-mode "erc-menu" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from erc/erc-netsplit.el
  (autoload 'erc-netsplit-mode "erc-netsplit")
 
@@ -9033,7 +9043,7 @@ Show who's gone.
 ;;;***
 \f
 ;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks"
-;;;;;;  "erc/erc-networks.el" (20119 34052))
+;;;;;;  "erc/erc-networks.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-networks.el
 
 (autoload 'erc-determine-network "erc-networks" "\
@@ -9051,13 +9061,13 @@ Interactively select a server to connect to using `erc-server-alist'.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify"
-;;;;;;  "erc/erc-notify.el" (20119 34052))
+;;;;;;  "erc/erc-notify.el" (20161 45793))
 ;;; Generated autoloads from erc/erc-notify.el
  (autoload 'erc-notify-mode "erc-notify" nil t)
 
 (autoload 'erc-cmd-NOTIFY "erc-notify" "\
 Change `erc-notify-list' or list current notify-list members online.
-Without args, list the current list of notificated people online,
+Without args, list the current list of notified people online,
 with args, toggle notify status of people.
 
 \(fn &rest ARGS)" nil nil)
@@ -9069,33 +9079,33 @@ with args, toggle notify status of people.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-page" "erc/erc-page.el" (20119 34052))
+;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-page.el
  (autoload 'erc-page-mode "erc-page")
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19936
+;;;;;;  52203))
 ;;; Generated autoloads from erc/erc-pcomplete.el
  (autoload 'erc-completion-mode "erc-pcomplete" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (20119 34052))
+;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-replace.el
  (autoload 'erc-replace-mode "erc-replace")
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (20119 34052))
+;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-ring.el
  (autoload 'erc-ring-mode "erc-ring" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode)
-;;;;;;  "erc-services" "erc/erc-services.el" (20119 34052))
+;;;;;;  "erc-services" "erc/erc-services.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-services.el
  (autoload 'erc-services-mode "erc-services" nil t)
 
@@ -9112,14 +9122,14 @@ When called interactively, read the password using `read-passwd'.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (20119 34052))
+;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-sound.el
  (autoload 'erc-sound-mode "erc-sound")
 
 ;;;***
 \f
 ;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from erc/erc-speedbar.el
 
 (autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -9130,21 +9140,21 @@ This will add a speedbar major display mode.
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from erc/erc-spelling.el
  (autoload 'erc-spelling-mode "erc-spelling" nil t)
 
 ;;;***
 \f
-;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (20119 34052))
+;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-stamp.el
  (autoload 'erc-timestamp-mode "erc-stamp" nil t)
 
 ;;;***
 \f
 ;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el"
-;;;;;;  (20127 26257))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from erc/erc-track.el
 
 (defvar erc-track-minor-mode nil "\
@@ -9170,7 +9180,7 @@ keybindings will not do anything useful.
 ;;;***
 \f
 ;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size)
-;;;;;;  "erc-truncate" "erc/erc-truncate.el" (20119 34052))
+;;;;;;  "erc-truncate" "erc/erc-truncate.el" (19845 45374))
 ;;; Generated autoloads from erc/erc-truncate.el
  (autoload 'erc-truncate-mode "erc-truncate" nil t)
 
@@ -9190,7 +9200,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'.
 ;;;***
 \f
 ;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from erc/erc-xdcc.el
  (autoload 'erc-xdcc-mode "erc-xdcc")
 
@@ -9203,7 +9213,7 @@ Add a file to `erc-xdcc-files'.
 \f
 ;;;### (autoloads (ert-describe-test ert-run-tests-interactively
 ;;;;;;  ert-run-tests-batch-and-exit ert-run-tests-batch ert-deftest)
-;;;;;;  "ert" "emacs-lisp/ert.el" (20123 28776))
+;;;;;;  "ert" "emacs-lisp/ert.el" (20168 57844))
 ;;; Generated autoloads from emacs-lisp/ert.el
 
 (autoload 'ert-deftest "ert" "\
@@ -9273,7 +9283,7 @@ Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test).
 ;;;***
 \f
 ;;;### (autoloads (ert-kill-all-test-buffers) "ert-x" "emacs-lisp/ert-x.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/ert-x.el
 
 (put 'ert-with-test-buffer 'lisp-indent-function 1)
@@ -9285,8 +9295,8 @@ Kill all test buffers that are still live.
 
 ;;;***
 \f
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (20164
+;;;;;;  60780))
 ;;; Generated autoloads from eshell/esh-mode.el
 
 (autoload 'eshell-mode "esh-mode" "\
@@ -9299,7 +9309,7 @@ Emacs shell interactive mode.
 ;;;***
 \f
 ;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell"
-;;;;;;  "eshell/eshell.el" (20119 34052))
+;;;;;;  "eshell/eshell.el" (20116 6099))
 ;;; Generated autoloads from eshell/eshell.el
 
 (autoload 'eshell "eshell" "\
@@ -9340,7 +9350,7 @@ corresponding to a successful execution.
 ;;;;;;  visit-tags-table tags-table-mode find-tag-default-function
 ;;;;;;  find-tag-hook tags-add-tables tags-compression-info-list
 ;;;;;;  tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from progmodes/etags.el
 
 (defvar tags-file-name nil "\
@@ -9658,7 +9668,7 @@ for \\[find-tag] (which see).
 ;;;;;;  ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer
 ;;;;;;  ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer
 ;;;;;;  setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20175 31160))
 ;;; Generated autoloads from language/ethio-util.el
 
 (autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9828,7 +9838,7 @@ With ARG, insert that many delimiters.
 \f
 ;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
 ;;;;;;  eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19931 11784))
 ;;; Generated autoloads from net/eudc.el
 
 (autoload 'eudc-set-server "eudc" "\
@@ -9884,7 +9894,7 @@ This does nothing except loading eudc by autoload side-effect.
 \f
 ;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
 ;;;;;;  eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
-;;;;;;  "eudc-bob" "net/eudc-bob.el" (20119 34052))
+;;;;;;  "eudc-bob" "net/eudc-bob.el" (19845 45374))
 ;;; Generated autoloads from net/eudc-bob.el
 
 (autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9920,7 +9930,7 @@ Display a button for the JPEG DATA.
 ;;;***
 \f
 ;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;;  "eudc-export" "net/eudc-export.el" (20119 34052))
+;;;;;;  "eudc-export" "net/eudc-export.el" (20175 31160))
 ;;; Generated autoloads from net/eudc-export.el
 
 (autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9937,7 +9947,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
 ;;;***
 \f
 ;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20162 19074))
 ;;; Generated autoloads from net/eudc-hotlist.el
 
 (autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9947,8 +9957,8 @@ Edit the hotlist of directory servers in a specialized buffer.
 
 ;;;***
 \f
-;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from emacs-lisp/ewoc.el
 
 (autoload 'ewoc-create "ewoc" "\
@@ -9977,7 +9987,7 @@ fourth arg NOSEP non-nil inhibits this.
 ;;;### (autoloads (executable-make-buffer-file-executable-if-script-p
 ;;;;;;  executable-self-display executable-set-magic executable-interpret
 ;;;;;;  executable-command-find-posix-p) "executable" "progmodes/executable.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20160 63745))
 ;;; Generated autoloads from progmodes/executable.el
 
 (autoload 'executable-command-find-posix-p "executable" "\
@@ -10020,18 +10030,18 @@ file modes.
 \f
 ;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
 ;;;;;;  expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 29468))
 ;;; Generated autoloads from expand.el
 
 (autoload 'expand-add-abbrevs "expand" "\
-Add a list of abbrev to abbrev table TABLE.
+Add a list of abbreviations to abbrev table TABLE.
 ABBREVS is a list of abbrev definitions; each abbrev description entry
 has the form (ABBREV EXPANSION ARG).
 
 ABBREV is the abbreviation to replace.
 
 EXPANSION is the replacement string or a function which will make the
-expansion.  For example you, could use the DMacros or skeleton packages
+expansion.  For example, you could use the DMacros or skeleton packages
 to generate such functions.
 
 ARG is an optional argument which can be a number or a list of
@@ -10069,7 +10079,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
 
 ;;;***
 \f
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20119 34052))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (20178 7273))
 ;;; Generated autoloads from progmodes/f90.el
 
 (autoload 'f90-mode "f90" "\
@@ -10139,8 +10149,8 @@ with no args, if that value is non-nil.
 ;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set
 ;;;;;;  buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase
 ;;;;;;  text-scale-set face-remap-set-base face-remap-reset-base
-;;;;;;  face-remap-add-relative) "face-remap" "face-remap.el" (20126
-;;;;;;  41069))
+;;;;;;  face-remap-add-relative) "face-remap" "face-remap.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from face-remap.el
 
 (autoload 'face-remap-add-relative "face-remap" "\
@@ -10280,7 +10290,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'.
 \f
 ;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
 ;;;;;;  feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
-;;;;;;  feedmail-send-it) "feedmail" "mail/feedmail.el" (20119 34052))
+;;;;;;  feedmail-send-it) "feedmail" "mail/feedmail.el" (20172 54913))
 ;;; Generated autoloads from mail/feedmail.el
 
 (autoload 'feedmail-send-it "feedmail" "\
@@ -10334,7 +10344,7 @@ you can set `feedmail-queue-reminder-alist' to nil.
 ;;;***
 \f
 ;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (20119 34052))
+;;;;;;  find-file-at-point ffap-next) "ffap" "ffap.el" (20164 60780))
 ;;; Generated autoloads from ffap.el
 
 (autoload 'ffap-next "ffap" "\
@@ -10398,7 +10408,7 @@ Evaluate the forms in variable `ffap-bindings'.
 ;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively
 ;;;;;;  file-cache-add-directory-using-locate file-cache-add-directory-using-find
 ;;;;;;  file-cache-add-file file-cache-add-directory-list file-cache-add-directory)
-;;;;;;  "filecache" "filecache.el" (20119 34052))
+;;;;;;  "filecache" "filecache.el" (19845 45374))
 ;;; Generated autoloads from filecache.el
 
 (autoload 'file-cache-add-directory "filecache" "\
@@ -10458,7 +10468,7 @@ the name is considered already unique; only the second substitution
 ;;;;;;  copy-file-locals-to-dir-locals delete-dir-local-variable
 ;;;;;;  add-dir-local-variable delete-file-local-variable-prop-line
 ;;;;;;  add-file-local-variable-prop-line delete-file-local-variable
-;;;;;;  add-file-local-variable) "files-x" "files-x.el" (20119 34052))
+;;;;;;  add-file-local-variable) "files-x" "files-x.el" (20167 36967))
 ;;; Generated autoloads from files-x.el
 
 (autoload 'add-file-local-variable "files-x" "\
@@ -10523,8 +10533,8 @@ Copy directory-local variables to the -*- line.
 
 ;;;***
 \f
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (20178
+;;;;;;  7273))
 ;;; Generated autoloads from filesets.el
 
 (autoload 'filesets-init "filesets" "\
@@ -10535,7 +10545,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu.
 
 ;;;***
 \f
-;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (20119 34052))
+;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19845 45374))
 ;;; Generated autoloads from find-cmd.el
 
 (autoload 'find-cmd "find-cmd" "\
@@ -10555,7 +10565,7 @@ result is a string that should be ready for the command line.
 ;;;***
 \f
 ;;;### (autoloads (find-grep-dired find-name-dired find-dired) "find-dired"
-;;;;;;  "find-dired.el" (20119 34052))
+;;;;;;  "find-dired.el" (19980 19797))
 ;;; Generated autoloads from find-dired.el
 
 (autoload 'find-dired "find-dired" "\
@@ -10595,7 +10605,7 @@ use in place of \"-ls\" as the final argument.
 \f
 ;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
 ;;;;;;  ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; 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)))) "\
@@ -10689,7 +10699,7 @@ Visit the file you click on in another window.
 ;;;;;;  find-variable find-variable-noselect find-function-other-frame
 ;;;;;;  find-function-other-window find-function find-function-noselect
 ;;;;;;  find-function-search-for-symbol find-library) "find-func"
-;;;;;;  "emacs-lisp/find-func.el" (20119 34052))
+;;;;;;  "emacs-lisp/find-func.el" (20153 32815))
 ;;; Generated autoloads from emacs-lisp/find-func.el
 
 (autoload 'find-library "find-func" "\
@@ -10848,7 +10858,7 @@ Define some key bindings for the find-function family of functions.
 ;;;***
 \f
 ;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (20119 34052))
+;;;;;;  find-lisp-find-dired) "find-lisp" "find-lisp.el" (19886 45771))
 ;;; Generated autoloads from find-lisp.el
 
 (autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10869,7 +10879,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP.
 ;;;***
 \f
 ;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
-;;;;;;  "finder" "finder.el" (20119 34052))
+;;;;;;  "finder" "finder.el" (19893 19022))
 ;;; Generated autoloads from finder.el
 
 (autoload 'finder-list-keywords "finder" "\
@@ -10891,7 +10901,7 @@ Find packages matching a given keyword.
 ;;;***
 \f
 ;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;;  "flow-ctrl.el" (20119 34052))
+;;;;;;  "flow-ctrl.el" (19845 45374))
 ;;; Generated autoloads from flow-ctrl.el
 
 (autoload 'enable-flow-control "flow-ctrl" "\
@@ -10913,7 +10923,7 @@ to get the effect of a C-q.
 ;;;***
 \f
 ;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/flow-fill.el
 
 (autoload 'fill-flowed-encode "flow-fill" "\
@@ -10929,7 +10939,7 @@ to get the effect of a C-q.
 ;;;***
 \f
 ;;;### (autoloads (flymake-find-file-hook flymake-mode-off flymake-mode-on
-;;;;;;  flymake-mode) "flymake" "progmodes/flymake.el" (20119 34052))
+;;;;;;  flymake-mode) "flymake" "progmodes/flymake.el" (19984 16846))
 ;;; Generated autoloads from progmodes/flymake.el
 
 (autoload 'flymake-mode "flymake" "\
@@ -10958,14 +10968,14 @@ Turn flymake mode off.
 \f
 ;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
 ;;;;;;  turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
-;;;;;;  "flyspell" "textmodes/flyspell.el" (20139 33526))
+;;;;;;  "flyspell" "textmodes/flyspell.el" (20174 10230))
 ;;; Generated autoloads from textmodes/flyspell.el
 
 (autoload 'flyspell-prog-mode "flyspell" "\
 Turn on `flyspell-mode' for comments and strings.
 
 \(fn)" t nil)
-(defvar flyspell-mode nil)
+(defvar flyspell-mode nil "Non-nil if Flyspell mode is enabled.")
 
 (autoload 'flyspell-mode "flyspell" "\
 Toggle on-the-fly spell checking (Flyspell mode).
@@ -11030,7 +11040,7 @@ Flyspell whole buffer.
 \f
 ;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
 ;;;;;;  turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;;  (20140 43930))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from follow.el
 
 (autoload 'turn-on-follow-mode "follow" "\
@@ -11106,8 +11116,8 @@ in your `~/.emacs' file, replacing [f7] by your favorite key:
 
 ;;;***
 \f
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20127
-;;;;;;  26006))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (20170
+;;;;;;  13157))
 ;;; Generated autoloads from mail/footnote.el
 
 (autoload 'footnote-mode "footnote" "\
@@ -11126,7 +11136,7 @@ play around with the following keys:
 ;;;***
 \f
 ;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;;  "forms" "forms.el" (20119 34052))
+;;;;;;  "forms" "forms.el" (20168 57844))
 ;;; Generated autoloads from forms.el
 
 (autoload 'forms-mode "forms" "\
@@ -11163,7 +11173,7 @@ Visit a file in Forms mode in other window.
 ;;;***
 \f
 ;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el"
-;;;;;;  (20140 44048))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from progmodes/fortran.el
 
 (autoload 'fortran-mode "fortran" "\
@@ -11241,7 +11251,7 @@ with no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
-;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (20119 34052))
+;;;;;;  fortune-add-fortune) "fortune" "play/fortune.el" (20165 31925))
 ;;; Generated autoloads from play/fortune.el
 
 (autoload 'fortune-add-fortune "fortune" "\
@@ -11290,7 +11300,7 @@ and choose the directory as the fortune-file.
 ;;;***
 \f
 ;;;### (autoloads (gdb gdb-enable-debug) "gdb-mi" "progmodes/gdb-mi.el"
-;;;;;;  (20140 44067))
+;;;;;;  (20182 4358))
 ;;; Generated autoloads from progmodes/gdb-mi.el
 
 (defvar gdb-enable-debug nil "\
@@ -11357,8 +11367,8 @@ detailed description of this mode.
 ;;;***
 \f
 ;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (20119
-;;;;;;  34052))
+;;;;;;  define-generic-mode) "generic" "emacs-lisp/generic.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from emacs-lisp/generic.el
 
 (defvar generic-mode-list nil "\
@@ -11435,7 +11445,7 @@ regular expression that can be used as an element of
 ;;;***
 \f
 ;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19906 31087))
 ;;; Generated autoloads from progmodes/glasses.el
 
 (autoload 'glasses-mode "glasses" "\
@@ -11449,7 +11459,7 @@ at places they belong to.
 \f
 ;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error
 ;;;;;;  gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20175 31160))
 ;;; Generated autoloads from gnus/gmm-utils.el
 
 (autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -11504,7 +11514,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
 ;;;***
 \f
 ;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20119 34052))
+;;;;;;  gnus-slave-no-server) "gnus" "gnus/gnus.el" (20164 60780))
 ;;; Generated autoloads from gnus/gnus.el
 (when (fboundp 'custom-autoload)
  (custom-autoload 'gnus-select-method "gnus"))
@@ -11557,7 +11567,7 @@ prompt the user for the name of an NNTP server to use.
 ;;;;;;  gnus-agent-get-undownloaded-list gnus-agent-delete-group
 ;;;;;;  gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
 ;;;;;;  gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
-;;;;;;  "gnus/gnus-agent.el" (20119 34052))
+;;;;;;  "gnus/gnus-agent.el" (20168 57844))
 ;;; Generated autoloads from gnus/gnus-agent.el
 
 (autoload 'gnus-unplugged "gnus-agent" "\
@@ -11648,7 +11658,7 @@ If CLEAN, obsolete (ignore).
 ;;;***
 \f
 ;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20182 4358))
 ;;; Generated autoloads from gnus/gnus-art.el
 
 (autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11659,7 +11669,7 @@ Make the current buffer look like a nice article.
 ;;;***
 \f
 ;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set)
-;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (20119 34052))
+;;;;;;  "gnus-bookmark" "gnus/gnus-bookmark.el" (19845 45374))
 ;;; Generated autoloads from gnus/gnus-bookmark.el
 
 (autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11684,8 +11694,8 @@ deletion, or > if it is flagged for displaying.
 \f
 ;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group
 ;;;;;;  gnus-cache-generate-nov-databases gnus-cache-generate-active
-;;;;;;  gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (20119
-;;;;;;  34052))
+;;;;;;  gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from gnus/gnus-cache.el
 
 (autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11727,7 +11737,7 @@ supported.
 ;;;***
 \f
 ;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
-;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (20119 34052))
+;;;;;;  "gnus-delay" "gnus/gnus-delay.el" (19931 11784))
 ;;; Generated autoloads from gnus/gnus-delay.el
 
 (autoload 'gnus-delay-article "gnus-delay" "\
@@ -11763,7 +11773,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
-;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (20119 34052))
+;;;;;;  "gnus-diary" "gnus/gnus-diary.el" (20161 45793))
 ;;; Generated autoloads from gnus/gnus-diary.el
 
 (autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -11779,7 +11789,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from gnus/gnus-dired.el
 
 (autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -11790,7 +11800,7 @@ Convenience method to turn on gnus-dired-mode.
 ;;;***
 \f
 ;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19981 40664))
 ;;; Generated autoloads from gnus/gnus-draft.el
 
 (autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -11802,8 +11812,8 @@ Reminder user if there are unsent drafts.
 \f
 ;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png
 ;;;;;;  gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header
-;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20119
-;;;;;;  34052))
+;;;;;;  gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (20088
+;;;;;;  26718))
 ;;; Generated autoloads from gnus/gnus-fun.el
 
 (autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11848,7 +11858,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to
 ;;;***
 \f
 ;;;### (autoloads (gnus-treat-mail-gravatar gnus-treat-from-gravatar)
-;;;;;;  "gnus-gravatar" "gnus/gnus-gravatar.el" (20119 34052))
+;;;;;;  "gnus-gravatar" "gnus/gnus-gravatar.el" (19845 45374))
 ;;; Generated autoloads from gnus/gnus-gravatar.el
 
 (autoload 'gnus-treat-from-gravatar "gnus-gravatar" "\
@@ -11866,7 +11876,7 @@ If gravatars are already displayed, remove them.
 ;;;***
 \f
 ;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;;  "gnus-group" "gnus/gnus-group.el" (20119 34052))
+;;;;;;  "gnus-group" "gnus/gnus-group.el" (20179 28130))
 ;;; Generated autoloads from gnus/gnus-group.el
 
 (autoload 'gnus-fetch-group "gnus-group" "\
@@ -11884,7 +11894,7 @@ Pop up a frame and enter GROUP.
 ;;;***
 \f
 ;;;### (autoloads (gnus-html-prefetch-images gnus-article-html) "gnus-html"
-;;;;;;  "gnus/gnus-html.el" (20119 34052))
+;;;;;;  "gnus/gnus-html.el" (20050 11479))
 ;;; Generated autoloads from gnus/gnus-html.el
 
 (autoload 'gnus-article-html "gnus-html" "\
@@ -11900,7 +11910,7 @@ Pop up a frame and enter GROUP.
 ;;;***
 \f
 ;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/gnus-kill.el
 
 (defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -11915,7 +11925,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score
 \f
 ;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
 ;;;;;;  turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/gnus-ml.el
 
 (autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -11940,7 +11950,7 @@ Minor mode for providing mailing-list commands.
 \f
 ;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
 ;;;;;;  gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/gnus-mlspl.el
 
 (autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -12041,7 +12051,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
 ;;;***
 \f
 ;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20119 34052))
+;;;;;;  "gnus-msg" "gnus/gnus-msg.el" (20183 25152))
 ;;; Generated autoloads from gnus/gnus-msg.el
 
 (autoload 'gnus-msg-mail "gnus-msg" "\
@@ -12067,7 +12077,7 @@ Like `message-reply'.
 \f
 ;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
 ;;;;;;  gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/gnus-picon.el
 
 (autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -12094,7 +12104,7 @@ If picons are already displayed, remove them.
 ;;;;;;  gnus-sorted-nintersection gnus-sorted-range-intersection
 ;;;;;;  gnus-sorted-intersection gnus-intersection gnus-sorted-complement
 ;;;;;;  gnus-sorted-ndifference gnus-sorted-difference) "gnus-range"
-;;;;;;  "gnus/gnus-range.el" (20119 34052))
+;;;;;;  "gnus/gnus-range.el" (19845 45374))
 ;;; Generated autoloads from gnus/gnus-range.el
 
 (autoload 'gnus-sorted-difference "gnus-range" "\
@@ -12162,7 +12172,7 @@ Add NUM into sorted LIST by side effect.
 ;;;***
 \f
 ;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (20124 52030))
+;;;;;;  "gnus-registry" "gnus/gnus-registry.el" (20143 51029))
 ;;; Generated autoloads from gnus/gnus-registry.el
 
 (autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -12178,8 +12188,8 @@ Install the registry hooks.
 ;;;***
 \f
 ;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (20119
-;;;;;;  34052))
+;;;;;;  gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from gnus/gnus-sieve.el
 
 (autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -12207,7 +12217,7 @@ See the documentation for these variables and functions for details.
 ;;;***
 \f
 ;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20076 35541))
 ;;; Generated autoloads from gnus/gnus-spec.el
 
 (autoload 'gnus-update-format "gnus-spec" "\
@@ -12218,7 +12228,7 @@ Update the format specification near point.
 ;;;***
 \f
 ;;;### (autoloads (gnus-declare-backend) "gnus-start" "gnus/gnus-start.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20176 51947))
 ;;; Generated autoloads from gnus/gnus-start.el
 
 (autoload 'gnus-declare-backend "gnus-start" "\
@@ -12229,7 +12239,7 @@ Declare back end NAME with ABILITIES as a Gnus back end.
 ;;;***
 \f
 ;;;### (autoloads (gnus-summary-bookmark-jump) "gnus-sum" "gnus/gnus-sum.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20172 54913))
 ;;; Generated autoloads from gnus/gnus-sum.el
 
 (autoload 'gnus-summary-bookmark-jump "gnus-sum" "\
@@ -12241,7 +12251,7 @@ BOOKMARK is a bookmark name or a bookmark record.
 ;;;***
 \f
 ;;;### (autoloads (gnus-sync-install-hooks gnus-sync-initialize)
-;;;;;;  "gnus-sync" "gnus/gnus-sync.el" (20119 34052))
+;;;;;;  "gnus-sync" "gnus/gnus-sync.el" (19845 45374))
 ;;; Generated autoloads from gnus/gnus-sync.el
 
 (autoload 'gnus-sync-initialize "gnus-sync" "\
@@ -12257,7 +12267,7 @@ Install the sync hooks.
 ;;;***
 \f
 ;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from gnus/gnus-win.el
 
 (autoload 'gnus-add-configuration "gnus-win" "\
@@ -12268,7 +12278,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
 ;;;***
 \f
 ;;;### (autoloads (gnutls-min-prime-bits) "gnutls" "net/gnutls.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20176 51947))
 ;;; Generated autoloads from net/gnutls.el
 
 (defvar gnutls-min-prime-bits nil "\
@@ -12284,7 +12294,7 @@ A value of nil says to use the default gnutls value.")
 
 ;;;***
 \f
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20119 34052))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (20178 7273))
 ;;; Generated autoloads from play/gomoku.el
 
 (autoload 'gomoku "gomoku" "\
@@ -12312,7 +12322,7 @@ Use \\[describe-mode] for more info.
 \f
 ;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address
 ;;;;;;  goto-address-at-point) "goto-addr" "net/goto-addr.el" (20127
-;;;;;;  25813))
+;;;;;;  62865))
 ;;; Generated autoloads from net/goto-addr.el
 
 (define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1")
@@ -12351,7 +12361,7 @@ Like `goto-address-mode', but only for comments and strings.
 ;;;***
 \f
 ;;;### (autoloads (gravatar-retrieve-synchronously gravatar-retrieve)
-;;;;;;  "gravatar" "gnus/gravatar.el" (20119 34052))
+;;;;;;  "gravatar" "gnus/gravatar.el" (19845 45374))
 ;;; Generated autoloads from gnus/gravatar.el
 
 (autoload 'gravatar-retrieve "gravatar" "\
@@ -12369,7 +12379,7 @@ Retrieve MAIL-ADDRESS gravatar and returns it.
 \f
 ;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults
 ;;;;;;  grep-process-setup grep-setup-hook grep-find-command grep-command
-;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (20119 34052))
+;;;;;;  grep-window-height) "grep" "progmodes/grep.el" (20174 10230))
 ;;; Generated autoloads from progmodes/grep.el
 
 (defvar grep-window-height nil "\
@@ -12427,9 +12437,11 @@ Any other value means to use `find -print' and `xargs'.
 
 This variable's value takes effect when `grep-compute-defaults' is called.")
 
-(defvar grep-history nil)
+(defvar grep-history nil "\
+History list for grep.")
 
-(defvar grep-find-history nil)
+(defvar grep-find-history nil "\
+History list for grep-find.")
 
 (autoload 'grep-process-setup "grep" "\
 Setup compilation variables and buffer for `grep'.
@@ -12526,7 +12538,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'.
 
 ;;;***
 \f
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (20119 34052))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (19845 45374))
 ;;; Generated autoloads from gs.el
 
 (autoload 'gs-load-image "gs" "\
@@ -12540,7 +12552,7 @@ the form \"WINDOW-ID PIXMAP-ID\".  Value is non-nil if successful.
 ;;;***
 \f
 ;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
-;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20127 25495))
+;;;;;;  xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (20178 7273))
 ;;; Generated autoloads from progmodes/gud.el
 
 (autoload 'gud-gdb "gud" "\
@@ -12628,8 +12640,8 @@ it if ARG is omitted or nil.
 
 ;;;***
 \f
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19889
+;;;;;;  21967))
 ;;; Generated autoloads from play/handwrite.el
 
 (autoload 'handwrite "handwrite" "\
@@ -12647,7 +12659,7 @@ Variables: `handwrite-linespace'     (default 12)
 ;;;***
 \f
 ;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19981 40664))
 ;;; Generated autoloads from play/hanoi.el
 
 (autoload 'hanoi "hanoi" "\
@@ -12676,7 +12688,7 @@ to be updated.
 \f
 ;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment
 ;;;;;;  hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment)
-;;;;;;  "hashcash" "mail/hashcash.el" (20119 34052))
+;;;;;;  "hashcash" "mail/hashcash.el" (19845 45374))
 ;;; Generated autoloads from mail/hashcash.el
 
 (autoload 'hashcash-insert-payment "hashcash" "\
@@ -12721,7 +12733,7 @@ Prefix arg sets default accept amount temporarily.
 ;;;### (autoloads (scan-buf-previous-region scan-buf-next-region
 ;;;;;;  scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer
 ;;;;;;  help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string
-;;;;;;  help-at-pt-string) "help-at-pt" "help-at-pt.el" (20119 34052))
+;;;;;;  help-at-pt-string) "help-at-pt" "help-at-pt.el" (19845 45374))
 ;;; Generated autoloads from help-at-pt.el
 
 (autoload 'help-at-pt-string "help-at-pt" "\
@@ -12851,7 +12863,7 @@ different regions.  With numeric argument ARG, behaves like
 ;;;### (autoloads (doc-file-to-info doc-file-to-man describe-categories
 ;;;;;;  describe-syntax describe-variable variable-at-point describe-function-1
 ;;;;;;  find-lisp-object-file-name help-C-file-name describe-function)
-;;;;;;  "help-fns" "help-fns.el" (20119 34052))
+;;;;;;  "help-fns" "help-fns.el" (20161 45793))
 ;;; Generated autoloads from help-fns.el
 
 (autoload 'describe-function "help-fns" "\
@@ -12931,7 +12943,7 @@ Produce a texinfo buffer with sorted doc-strings from the DOC file.
 ;;;***
 \f
 ;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from help-macro.el
 
 (defvar three-step-help nil "\
@@ -12947,8 +12959,8 @@ gives the window that lists the options.")
 \f
 ;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
 ;;;;;;  help-make-xrefs help-buffer help-setup-xref help-mode-finish
-;;;;;;  help-mode-setup help-mode) "help-mode" "help-mode.el" (20119
-;;;;;;  34052))
+;;;;;;  help-mode-setup help-mode) "help-mode" "help-mode.el" (20167
+;;;;;;  36967))
 ;;; Generated autoloads from help-mode.el
 
 (autoload 'help-mode "help-mode" "\
@@ -13041,7 +13053,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
 ;;;***
 \f
 ;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;;  "emacs-lisp/helper.el" (20119 34052))
+;;;;;;  "emacs-lisp/helper.el" (19845 45374))
 ;;; Generated autoloads from emacs-lisp/helper.el
 
 (autoload 'Helper-describe-bindings "helper" "\
@@ -13057,7 +13069,7 @@ Provide help for current mode.
 ;;;***
 \f
 ;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;;  "hexl.el" (20119 34052))
+;;;;;;  "hexl.el" (19865 50420))
 ;;; Generated autoloads from hexl.el
 
 (autoload 'hexl-mode "hexl" "\
@@ -13154,7 +13166,7 @@ This discards the buffer's undo information.
 ;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
 ;;;;;;  hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
 ;;;;;;  global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el"
-;;;;;;  (20126 50093))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from hi-lock.el
 
 (autoload 'hi-lock-mode "hi-lock" "\
@@ -13293,7 +13305,7 @@ be found in variable `hi-lock-interactive-patterns'.
 ;;;***
 \f
 ;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
-;;;;;;  (20127 25465))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from progmodes/hideif.el
 
 (autoload 'hide-ifdef-mode "hideif" "\
@@ -13337,7 +13349,7 @@ Several variables affect how the hiding is done:
 ;;;***
 \f
 ;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20172 54913))
 ;;; 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))) "\
@@ -13399,8 +13411,8 @@ Unconditionally turn off `hs-minor-mode'.
 ;;;;;;  highlight-compare-buffers highlight-changes-rotate-faces
 ;;;;;;  highlight-changes-previous-change highlight-changes-next-change
 ;;;;;;  highlight-changes-remove-highlight highlight-changes-visible-mode
-;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20126
-;;;;;;  50110))
+;;;;;;  highlight-changes-mode) "hilit-chg" "hilit-chg.el" (20164
+;;;;;;  60780))
 ;;; Generated autoloads from hilit-chg.el
 
 (autoload 'highlight-changes-mode "hilit-chg" "\
@@ -13535,7 +13547,7 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode.
 ;;;;;;  hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
 ;;;;;;  hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
 ;;;;;;  hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
-;;;;;;  "hippie-exp.el" (20119 34052))
+;;;;;;  "hippie-exp.el" (20167 36967))
 ;;; 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) "\
@@ -13608,7 +13620,7 @@ argument VERBOSE non-nil makes the function verbose.
 ;;;***
 \f
 ;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;;  (20126 50128))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from hl-line.el
 
 (autoload 'hl-line-mode "hl-line" "\
@@ -13661,7 +13673,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
 ;;;;;;  holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays
 ;;;;;;  holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays
 ;;;;;;  holiday-oriental-holidays holiday-general-holidays) "holidays"
-;;;;;;  "calendar/holidays.el" (20119 34052))
+;;;;;;  "calendar/holidays.el" (20107 16822))
 ;;; Generated autoloads from calendar/holidays.el
 
 (define-obsolete-variable-alias 'general-holidays 'holiday-general-holidays "23.1")
@@ -13809,8 +13821,8 @@ The optional LABEL is used to label the buffer created.
 
 ;;;***
 \f
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (20164
+;;;;;;  60780))
 ;;; Generated autoloads from gnus/html2text.el
 
 (autoload 'html2text "html2text" "\
@@ -13821,7 +13833,7 @@ Convert HTML to plain text in the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
-;;;;;;  "htmlfontify" "htmlfontify.el" (20119 34052))
+;;;;;;  "htmlfontify" "htmlfontify.el" (20183 25152))
 ;;; Generated autoloads from htmlfontify.el
 
 (autoload 'htmlfontify-buffer "htmlfontify" "\
@@ -13854,8 +13866,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'.
 ;;;***
 \f
 ;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (20119
-;;;;;;  34052))
+;;;;;;  define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from ibuf-macs.el
 
 (autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -13952,7 +13964,7 @@ bound to the current value of the filter.
 ;;;***
 \f
 ;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;;  "ibuffer" "ibuffer.el" (20126 50992))
+;;;;;;  "ibuffer" "ibuffer.el" (20162 19074))
 ;;; Generated autoloads from ibuffer.el
 
 (autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13993,7 +14005,7 @@ FORMATS is the value to use for `ibuffer-formats'.
 \f
 ;;;### (autoloads (icalendar-import-buffer icalendar-import-file
 ;;;;;;  icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;;  "calendar/icalendar.el" (20119 34052))
+;;;;;;  "calendar/icalendar.el" (20164 29468))
 ;;; Generated autoloads from calendar/icalendar.el
 
 (autoload 'icalendar-export-file "icalendar" "\
@@ -14045,8 +14057,8 @@ buffer `*icalendar-errors*'.
 
 ;;;***
 \f
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20126
-;;;;;;  50158))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from icomplete.el
 
 (defvar icomplete-mode nil "\
@@ -14068,7 +14080,7 @@ the mode if ARG is omitted or nil.
 
 ;;;***
 \f
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (20119 34052))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19890 42850))
 ;;; Generated autoloads from progmodes/icon.el
 
 (autoload 'icon-mode "icon" "\
@@ -14109,7 +14121,7 @@ with no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;;  (20127 25340))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from progmodes/idlw-shell.el
 
 (autoload 'idlwave-shell "idlw-shell" "\
@@ -14135,7 +14147,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
 ;;;***
 \f
 ;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;;  (20129 34279))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from progmodes/idlwave.el
 
 (autoload 'idlwave-mode "idlwave" "\
@@ -14269,8 +14281,8 @@ The main features of this mode are
 ;;;;;;  ido-find-alternate-file ido-find-file-other-window ido-find-file
 ;;;;;;  ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
 ;;;;;;  ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
-;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20139
-;;;;;;  37519))
+;;;;;;  ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (20178
+;;;;;;  7273))
 ;;; Generated autoloads from ido.el
 
 (defvar ido-mode nil "\
@@ -14531,7 +14543,7 @@ DEF, if non-nil, is the default value.
 
 ;;;***
 \f
-;;;### (autoloads (ielm) "ielm" "ielm.el" (20119 34052))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (20077 56412))
 ;;; Generated autoloads from ielm.el
 
 (autoload 'ielm "ielm" "\
@@ -14542,7 +14554,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
 
 ;;;***
 \f
-;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (20119 34052))
+;;;### (autoloads (iimage-mode) "iimage" "iimage.el" (19845 45374))
 ;;; Generated autoloads from iimage.el
 
 (define-obsolete-function-alias 'turn-on-iimage-mode 'iimage-mode "24.1")
@@ -14559,7 +14571,7 @@ Toggle inline image minor mode.
 ;;;;;;  create-image image-type-auto-detected-p image-type-available-p
 ;;;;;;  image-type image-type-from-file-name image-type-from-file-header
 ;;;;;;  image-type-from-buffer image-type-from-data) "image" "image.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20084 29660))
 ;;; Generated autoloads from image.el
 
 (autoload 'image-type-from-data "image" "\
@@ -14756,7 +14768,7 @@ If Emacs is compiled without ImageMagick support, do nothing.
 ;;;;;;  image-dired-jump-thumbnail-buffer image-dired-delete-tag
 ;;;;;;  image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs
 ;;;;;;  image-dired-dired-with-window-configuration image-dired-dired-toggle-marked-thumbs)
-;;;;;;  "image-dired" "image-dired.el" (20140 44252))
+;;;;;;  "image-dired" "image-dired.el" (20168 57844))
 ;;; Generated autoloads from image-dired.el
 
 (autoload 'image-dired-dired-toggle-marked-thumbs "image-dired" "\
@@ -14894,7 +14906,7 @@ easy-to-use form.
 \f
 ;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp
 ;;;;;;  image-file-name-regexps image-file-name-extensions) "image-file"
-;;;;;;  "image-file.el" (20126 50176))
+;;;;;;  "image-file.el" (20127 62865))
 ;;; 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")) "\
@@ -14957,7 +14969,7 @@ An image file is one whose name has an extension in
 ;;;***
 \f
 ;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
-;;;;;;  image-mode) "image-mode" "image-mode.el" (20126 50186))
+;;;;;;  image-mode) "image-mode" "image-mode.el" (20160 63745))
 ;;; Generated autoloads from image-mode.el
 
 (autoload 'image-mode "image-mode" "\
@@ -15002,7 +15014,7 @@ on these modes.
 ;;;***
 \f
 ;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;;  imenu-sort-function) "imenu" "imenu.el" (20119 34052))
+;;;;;;  imenu-sort-function) "imenu" "imenu.el" (19845 45374))
 ;;; Generated autoloads from imenu.el
 
 (defvar imenu-sort-function nil "\
@@ -15119,7 +15131,7 @@ for more information.
 \f
 ;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion
 ;;;;;;  in-is13194-post-read-conversion indian-compose-string indian-compose-region)
-;;;;;;  "ind-util" "language/ind-util.el" (20119 34052))
+;;;;;;  "ind-util" "language/ind-util.el" (20097 41737))
 ;;; Generated autoloads from language/ind-util.el
 
 (autoload 'indian-compose-region "ind-util" "\
@@ -15151,7 +15163,7 @@ Convert old Emacs Devanagari characters to UCS.
 \f
 ;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
 ;;;;;;  inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;;  "progmodes/inf-lisp.el" (20119 34052))
+;;;;;;  "progmodes/inf-lisp.el" (20168 57844))
 ;;; Generated autoloads from progmodes/inf-lisp.el
 
 (defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -15218,7 +15230,7 @@ of `inferior-lisp-program').  Runs the hooks from
 ;;;;;;  Info-goto-emacs-key-command-node Info-goto-emacs-command-node
 ;;;;;;  Info-mode info-finder info-apropos Info-index Info-directory
 ;;;;;;  Info-on-current-buffer info-standalone info-emacs-manual
-;;;;;;  info info-other-window) "info" "info.el" (20134 14214))
+;;;;;;  info info-other-window) "info" "info.el" (20172 54913))
 ;;; Generated autoloads from info.el
 
 (autoload 'info-other-window "info" "\
@@ -15404,7 +15416,7 @@ Go to Info buffer that displays MANUAL, creating it if none already exists.
 \f
 ;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
 ;;;;;;  info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19984 16846))
 ;;; Generated autoloads from info-look.el
 
 (autoload 'info-lookup-reset "info-look" "\
@@ -15453,7 +15465,7 @@ Perform completion on file preceding point.
 \f
 ;;;### (autoloads (info-xref-docstrings info-xref-check-all-custom
 ;;;;;;  info-xref-check-all info-xref-check) "info-xref" "info-xref.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from info-xref.el
 
 (autoload 'info-xref-check "info-xref" "\
@@ -15536,7 +15548,7 @@ the sources handy.
 ;;;***
 \f
 ;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold
-;;;;;;  Info-tagify) "informat" "informat.el" (20119 34052))
+;;;;;;  Info-tagify) "informat" "informat.el" (19886 45771))
 ;;; Generated autoloads from informat.el
 
 (autoload 'Info-tagify "informat" "\
@@ -15583,7 +15595,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\"
 \f
 ;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
 ;;;;;;  isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from international/isearch-x.el
 
 (autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -15603,8 +15615,8 @@ Toggle input method in interactive search.
 
 ;;;***
 \f
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from isearchb.el
 
 (autoload 'isearchb-activate "isearchb" "\
@@ -15620,7 +15632,7 @@ accessed via isearchb.
 ;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
 ;;;;;;  iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
 ;;;;;;  iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
-;;;;;;  "international/iso-cvt.el" (20119 34052))
+;;;;;;  "international/iso-cvt.el" (19845 45374))
 ;;; Generated autoloads from international/iso-cvt.el
 
 (autoload 'iso-spanish "iso-cvt" "\
@@ -15711,7 +15723,7 @@ Add submenus to the File menu, to convert to and from various formats.
 ;;;***
 \f
 ;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; 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)
@@ -15723,7 +15735,7 @@ Add submenus to the File menu, to convert to and from various formats.
 ;;;;;;  ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings
 ;;;;;;  ispell-region ispell-change-dictionary ispell-kill-ispell
 ;;;;;;  ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary)
-;;;;;;  "ispell" "textmodes/ispell.el" (20139 33409))
+;;;;;;  "ispell" "textmodes/ispell.el" (20178 7273))
 ;;; Generated autoloads from textmodes/ispell.el
 
 (put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
@@ -15949,8 +15961,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to
 
 ;;;***
 \f
-;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20126
-;;;;;;  50194))
+;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (20168
+;;;;;;  57844))
 ;;; Generated autoloads from iswitchb.el
 
 (defvar iswitchb-mode nil "\
@@ -15978,7 +15990,7 @@ between buffers using substrings.  See `iswitchb' for details.
 ;;;### (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" (20119 34052))
+;;;;;;  "japan-util" "language/japan-util.el" (19845 45374))
 ;;; Generated autoloads from language/japan-util.el
 
 (autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -16056,7 +16068,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
 ;;;***
 \f
 ;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;;  "jka-compr.el" (20119 34052))
+;;;;;;  "jka-compr.el" (20000 30139))
 ;;; Generated autoloads from jka-compr.el
 
 (defvar jka-compr-inhibit nil "\
@@ -16079,7 +16091,7 @@ by `jka-compr-installed'.
 
 ;;;***
 \f
-;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20119 34052))
+;;;### (autoloads (js-mode) "js" "progmodes/js.el" (20167 36967))
 ;;; Generated autoloads from progmodes/js.el
 
 (autoload 'js-mode "js" "\
@@ -16093,7 +16105,7 @@ Major mode for editing JavaScript.
 \f
 ;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
 ;;;;;;  keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emulation/keypad.el
 
 (defvar keypad-setup nil "\
@@ -16149,7 +16161,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
 ;;;***
 \f
 ;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from international/kinsoku.el
 
 (autoload 'kinsoku "kinsoku" "\
@@ -16170,8 +16182,8 @@ the context of text formatting.
 
 ;;;***
 \f
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from international/kkc.el
 
 (defvar kkc-after-update-conversion-functions nil "\
@@ -16196,7 +16208,7 @@ and the return value is the length of the conversion.
 ;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
 ;;;;;;  kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
 ;;;;;;  kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item)
-;;;;;;  "kmacro" "kmacro.el" (20119 34052))
+;;;;;;  "kmacro" "kmacro.el" (20164 60780))
 ;;; Generated autoloads from kmacro.el
  (global-set-key "\C-x(" 'kmacro-start-macro)
  (global-set-key "\C-x)" 'kmacro-end-macro)
@@ -16307,7 +16319,7 @@ If kbd macro currently being defined end it before activating it.
 ;;;***
 \f
 ;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;;  "language/korea-util.el" (20119 34052))
+;;;;;;  "language/korea-util.el" (19845 45374))
 ;;; Generated autoloads from language/korea-util.el
 
 (defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -16322,7 +16334,7 @@ If kbd macro currently being defined end it before activating it.
 ;;;***
 \f
 ;;;### (autoloads (landmark landmark-test-run) "landmark" "play/landmark.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from play/landmark.el
 
 (defalias 'landmark-repeat 'landmark-test-run)
@@ -16354,7 +16366,7 @@ Use \\[describe-mode] for more info.
 \f
 ;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string
 ;;;;;;  lao-transcribe-single-roman-syllable-to-lao lao-compose-string)
-;;;;;;  "lao-util" "language/lao-util.el" (20119 34052))
+;;;;;;  "lao-util" "language/lao-util.el" (20165 31925))
 ;;; Generated autoloads from language/lao-util.el
 
 (autoload 'lao-compose-string "lao-util" "\
@@ -16393,7 +16405,7 @@ Transcribe Romanized Lao string STR to Lao character string.
 \f
 ;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
 ;;;;;;  latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
-;;;;;;  "latexenc" "international/latexenc.el" (20119 34052))
+;;;;;;  "latexenc" "international/latexenc.el" (19845 45374))
 ;;; 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))) "\
@@ -16425,7 +16437,7 @@ coding system names is determined from `latex-inputenc-coding-alist'.
 ;;;***
 \f
 ;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;;  "latin1-disp" "international/latin1-disp.el" (20119 34052))
+;;;;;;  "latin1-disp" "international/latin1-disp.el" (19845 45374))
 ;;; Generated autoloads from international/latin1-disp.el
 
 (defvar latin1-display nil "\
@@ -16467,7 +16479,7 @@ use either \\[customize] or the function `latin1-display'.")
 ;;;***
 \f
 ;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19961 55377))
 ;;; Generated autoloads from progmodes/ld-script.el
 
 (autoload 'ld-script-mode "ld-script" "\
@@ -16478,7 +16490,7 @@ A major mode to edit GNU ld script files
 ;;;***
 \f
 ;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from ledit.el
 
 (defconst ledit-save-files t "\
@@ -16513,7 +16525,7 @@ do (setq lisp-mode-hook 'ledit-from-lisp-mode)
 
 ;;;***
 \f
-;;;### (autoloads (life) "life" "play/life.el" (20119 34052))
+;;;### (autoloads (life) "life" "play/life.el" (19845 45374))
 ;;; Generated autoloads from play/life.el
 
 (autoload 'life "life" "\
@@ -16527,7 +16539,7 @@ generations (this defaults to 1).
 ;;;***
 \f
 ;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum"
-;;;;;;  "linum.el" (20126 50215))
+;;;;;;  "linum.el" (20127 62865))
 ;;; Generated autoloads from linum.el
 
 (defvar linum-format 'dynamic "\
@@ -16572,8 +16584,8 @@ See `linum-mode' for more information on Linum mode.
 
 ;;;***
 \f
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (20168
+;;;;;;  57844))
 ;;; Generated autoloads from loadhist.el
 
 (autoload 'unload-feature "loadhist" "\
@@ -16605,7 +16617,7 @@ something strange, such as redefining an Emacs function.
 ;;;***
 \f
 ;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;;  "locate" "locate.el" (20119 34052))
+;;;;;;  "locate" "locate.el" (19886 45771))
 ;;; Generated autoloads from locate.el
 
 (defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -16657,7 +16669,7 @@ except that FILTER is not optional.
 
 ;;;***
 \f
-;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20138 48832))
+;;;### (autoloads (log-edit) "log-edit" "vc/log-edit.el" (20138 33157))
 ;;; Generated autoloads from vc/log-edit.el
 
 (autoload 'log-edit "log-edit" "\
@@ -16684,8 +16696,8 @@ uses the current buffer.
 
 ;;;***
 \f
-;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (log-view-mode) "log-view" "vc/log-view.el" (19946
+;;;;;;  1612))
 ;;; Generated autoloads from vc/log-view.el
 
 (autoload 'log-view-mode "log-view" "\
@@ -16695,8 +16707,8 @@ Major mode for browsing CVS log output.
 
 ;;;***
 \f
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20126
-;;;;;;  50224))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from longlines.el
 
 (autoload 'longlines-mode "longlines" "\
@@ -16722,13 +16734,15 @@ newlines are indicated with a symbol.
 ;;;***
 \f
 ;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20119
-;;;;;;  34052))
+;;;;;;  lpr-command lpr-switches printer-name) "lpr" "lpr.el" (20174
+;;;;;;  10230))
 ;;; Generated autoloads from lpr.el
 
-(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)))
+(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)) "\
+Non-nil if running on MS-DOS or MS Windows.")
 
-(defvar lpr-lp-system (memq system-type '(usg-unix-v hpux irix)))
+(defvar lpr-lp-system (memq system-type '(usg-unix-v hpux irix)) "\
+Non-nil if running on a system type that uses the \"lp\" command.")
 
 (defvar printer-name (and (eq system-type 'ms-dos) "PRN") "\
 The name of a local printer to which data is sent for printing.
@@ -16817,7 +16831,7 @@ for further customization of the printer command.
 ;;;***
 \f
 ;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19886 45771))
 ;;; Generated autoloads from ls-lisp.el
 
 (defvar ls-lisp-support-shell-wildcards t "\
@@ -16828,8 +16842,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
 
 ;;;***
 \f
-;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from calendar/lunar.el
 
 (autoload 'lunar-phases "lunar" "\
@@ -16843,8 +16857,8 @@ This function is suitable for execution in a .emacs file.
 
 ;;;***
 \f
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from progmodes/m4-mode.el
 
 (autoload 'm4-mode "m4-mode" "\
@@ -16855,7 +16869,7 @@ A major mode to edit m4 macro files.
 ;;;***
 \f
 ;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19930 13389))
 ;;; Generated autoloads from emacs-lisp/macroexp.el
 
 (autoload 'macroexpand-all "macroexp" "\
@@ -16869,7 +16883,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.
 ;;;***
 \f
 ;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;;  name-last-kbd-macro) "macros" "macros.el" (20119 34052))
+;;;;;;  name-last-kbd-macro) "macros" "macros.el" (19886 45771))
 ;;; Generated autoloads from macros.el
 
 (autoload 'name-last-kbd-macro "macros" "\
@@ -16958,7 +16972,7 @@ and then select the region of un-tablified names and use
 ;;;***
 \f
 ;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
-;;;;;;  "mail/mail-extr.el" (20119 34052))
+;;;;;;  "mail/mail-extr.el" (20160 63745))
 ;;; Generated autoloads from mail/mail-extr.el
 
 (autoload 'mail-extract-address-components "mail-extr" "\
@@ -16990,7 +17004,7 @@ Convert mail domain DOMAIN to the country it corresponds to.
 \f
 ;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
 ;;;;;;  mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from mail/mail-hist.el
 
 (autoload 'mail-hist-define-keys "mail-hist" "\
@@ -17022,7 +17036,7 @@ This function normally would be called when the message is sent.
 ;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
 ;;;;;;  mail-unquote-printable mail-quote-printable-region mail-quote-printable
 ;;;;;;  mail-file-babyl-p mail-dont-reply-to-names mail-use-rfc822)
-;;;;;;  "mail-utils" "mail/mail-utils.el" (20119 34052))
+;;;;;;  "mail-utils" "mail/mail-utils.el" (19922 19303))
 ;;; Generated autoloads from mail/mail-utils.el
 
 (defvar mail-use-rfc822 nil "\
@@ -17095,7 +17109,7 @@ matches may be returned from the message body.
 \f
 ;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
 ;;;;;;  mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (20127
-;;;;;;  25972))
+;;;;;;  62865))
 ;;; Generated autoloads from mail/mailabbrev.el
 
 (defvar mail-abbrevs-mode nil "\
@@ -17146,7 +17160,7 @@ double-quotes.
 \f
 ;;;### (autoloads (mail-complete mail-completion-at-point-function
 ;;;;;;  define-mail-alias expand-mail-aliases mail-complete-style)
-;;;;;;  "mailalias" "mail/mailalias.el" (20119 34052))
+;;;;;;  "mailalias" "mail/mailalias.el" (19881 27850))
 ;;; Generated autoloads from mail/mailalias.el
 
 (defvar mail-complete-style 'angles "\
@@ -17198,7 +17212,7 @@ current header, calls `mail-complete-function' and passes prefix ARG if any.
 ;;;***
 \f
 ;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from mail/mailclient.el
 
 (autoload 'mailclient-send-it "mailclient" "\
@@ -17212,7 +17226,7 @@ The mail client is taken to be the handler of mailto URLs.
 \f
 ;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
 ;;;;;;  makefile-gmake-mode makefile-automake-mode makefile-mode)
-;;;;;;  "make-mode" "progmodes/make-mode.el" (20119 34052))
+;;;;;;  "make-mode" "progmodes/make-mode.el" (20176 51947))
 ;;; Generated autoloads from progmodes/make-mode.el
 
 (autoload 'makefile-mode "make-mode" "\
@@ -17329,8 +17343,8 @@ An adapted `makefile-mode' that knows about imake.
 
 ;;;***
 \f
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19886
+;;;;;;  45771))
 ;;; Generated autoloads from makesum.el
 
 (autoload 'make-command-summary "makesum" "\
@@ -17342,7 +17356,7 @@ Previous contents of that buffer are killed first.
 ;;;***
 \f
 ;;;### (autoloads (Man-bookmark-jump man-follow man) "man" "man.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from man.el
 
 (defalias 'manual-entry 'man)
@@ -17396,7 +17410,7 @@ Default bookmark handler for Man buffers.
 
 ;;;***
 \f
-;;;### (autoloads (master-mode) "master" "master.el" (20126 50238))
+;;;### (autoloads (master-mode) "master" "master.el" (20127 62865))
 ;;; Generated autoloads from master.el
 
 (autoload 'master-mode "master" "\
@@ -17419,7 +17433,7 @@ yourself the value of `master-of' by calling `master-show-slave'.
 ;;;***
 \f
 ;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el"
-;;;;;;  (20126 50247))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from mb-depth.el
 
 (defvar minibuffer-depth-indicate-mode nil "\
@@ -17452,7 +17466,7 @@ recursion depth in the minibuffer prompt.  This is only useful if
 ;;;;;;  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" (20136 50092))
+;;;;;;  "gnus/message.el" (20183 25152))
 ;;; 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)
@@ -17618,7 +17632,7 @@ which specify the range to operate on.
 ;;;***
 \f
 ;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 60780))
 ;;; Generated autoloads from progmodes/meta-mode.el
 
 (autoload 'metafont-mode "meta-mode" "\
@@ -17635,7 +17649,7 @@ Major mode for editing MetaPost sources.
 \f
 ;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
 ;;;;;;  metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from mail/metamail.el
 
 (autoload 'metamail-interpret-header "metamail" "\
@@ -17680,7 +17694,7 @@ redisplayed as output is inserted.
 \f
 ;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose
 ;;;;;;  mh-smail-batch mh-smail-other-window mh-smail) "mh-comp"
-;;;;;;  "mh-e/mh-comp.el" (20119 34052))
+;;;;;;  "mh-e/mh-comp.el" (20160 63745))
 ;;; Generated autoloads from mh-e/mh-comp.el
 
 (autoload 'mh-smail "mh-comp" "\
@@ -17770,7 +17784,7 @@ delete the draft message.
 
 ;;;***
 \f
-;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20119 34052))
+;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (20170 13157))
 ;;; Generated autoloads from mh-e/mh-e.el
 
 (put 'mh-progs 'risky-local-variable t)
@@ -17787,7 +17801,7 @@ Display version information about MH-E and the MH mail handling system.
 ;;;***
 \f
 ;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
-;;;;;;  "mh-e/mh-folder.el" (20119 34052))
+;;;;;;  "mh-e/mh-folder.el" (20004 2139))
 ;;; Generated autoloads from mh-e/mh-folder.el
 
 (autoload 'mh-rmail "mh-folder" "\
@@ -17869,7 +17883,7 @@ perform the operation on all messages in that region.
 ;;;***
 \f
 ;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;;  "midnight.el" (20119 34052))
+;;;;;;  "midnight.el" (19853 59245))
 ;;; Generated autoloads from midnight.el
 
 (autoload 'clean-buffer-list "midnight" "\
@@ -17896,7 +17910,7 @@ to its second argument TM.
 ;;;***
 \f
 ;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;;  "minibuf-eldef.el" (20126 50271))
+;;;;;;  "minibuf-eldef.el" (20127 62865))
 ;;; Generated autoloads from minibuf-eldef.el
 
 (defvar minibuffer-electric-default-mode nil "\
@@ -17926,7 +17940,7 @@ is modified to remove the default indication.
 ;;;***
 \f
 ;;;### (autoloads (list-dynamic-libraries butterfly) "misc" "misc.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19968 28627))
 ;;; Generated autoloads from misc.el
 
 (autoload 'butterfly "misc" "\
@@ -17956,7 +17970,7 @@ The return value is always nil.
 \f
 ;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files
 ;;;;;;  multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup)
-;;;;;;  "misearch" "misearch.el" (20119 34052))
+;;;;;;  "misearch" "misearch.el" (20168 57844))
 ;;; Generated autoloads from misearch.el
  (add-hook 'isearch-mode-hook 'multi-isearch-setup)
 
@@ -18038,7 +18052,7 @@ whose file names match the specified wildcard.
 ;;;***
 \f
 ;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20162 19074))
 ;;; Generated autoloads from progmodes/mixal-mode.el
 
 (autoload 'mixal-mode "mixal-mode" "\
@@ -18049,7 +18063,7 @@ Major mode for the mixal asm language.
 ;;;***
 \f
 ;;;### (autoloads (mm-default-file-encoding) "mm-encode" "gnus/mm-encode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20075 14682))
 ;;; Generated autoloads from gnus/mm-encode.el
 
 (autoload 'mm-default-file-encoding "mm-encode" "\
@@ -18060,7 +18074,7 @@ Return a default encoding for FILE.
 ;;;***
 \f
 ;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents)
-;;;;;;  "mm-extern" "gnus/mm-extern.el" (20119 34052))
+;;;;;;  "mm-extern" "gnus/mm-extern.el" (19845 45374))
 ;;; Generated autoloads from gnus/mm-extern.el
 
 (autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -18079,7 +18093,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
 ;;;***
 \f
 ;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/mm-partial.el
 
 (autoload 'mm-inline-partial "mm-partial" "\
@@ -18093,7 +18107,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
 ;;;***
 \f
 ;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;;  "mm-url" "gnus/mm-url.el" (20119 34052))
+;;;;;;  "mm-url" "gnus/mm-url.el" (19877 30798))
 ;;; Generated autoloads from gnus/mm-url.el
 
 (autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -18110,7 +18124,7 @@ Insert file contents of URL using `mm-url-program'.
 ;;;***
 \f
 ;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu"
-;;;;;;  "gnus/mm-uu.el" (20119 34052))
+;;;;;;  "gnus/mm-uu.el" (19845 45374))
 ;;; Generated autoloads from gnus/mm-uu.el
 
 (autoload 'mm-uu-dissect "mm-uu" "\
@@ -18130,7 +18144,7 @@ Assume text has been decoded if DECODED is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (mml-attach-file mml-to-mime) "mml" "gnus/mml.el"
-;;;;;;  (20136 50092))
+;;;;;;  (20183 25152))
 ;;; Generated autoloads from gnus/mml.el
 
 (autoload 'mml-to-mime "mml" "\
@@ -18155,7 +18169,7 @@ body) or \"attachment\" (separate from the body).
 ;;;***
 \f
 ;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;;  (20124 17058))
+;;;;;;  (20124 236))
 ;;; Generated autoloads from gnus/mml1991.el
 
 (autoload 'mml1991-encrypt "mml1991" "\
@@ -18172,7 +18186,7 @@ body) or \"attachment\" (separate from the body).
 \f
 ;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
 ;;;;;;  mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
-;;;;;;  "mml2015" "gnus/mml2015.el" (20124 17058))
+;;;;;;  "mml2015" "gnus/mml2015.el" (20124 236))
 ;;; Generated autoloads from gnus/mml2015.el
 
 (autoload 'mml2015-decrypt "mml2015" "\
@@ -18212,8 +18226,8 @@ body) or \"attachment\" (separate from the body).
 
 ;;;***
 \f
-;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (m2-mode) "modula2" "progmodes/modula2.el" (20159
+;;;;;;  42847))
 ;;; Generated autoloads from progmodes/modula2.el
 
 (defalias 'modula-2-mode 'm2-mode)
@@ -18247,7 +18261,7 @@ followed by the first character of the construct.
 ;;;***
 \f
 ;;;### (autoloads (denato-region nato-region unmorse-region morse-region)
-;;;;;;  "morse" "play/morse.el" (20119 34052))
+;;;;;;  "morse" "play/morse.el" (19869 36706))
 ;;; Generated autoloads from play/morse.el
 
 (autoload 'morse-region "morse" "\
@@ -18273,7 +18287,7 @@ Convert NATO phonetic alphabet in region to ordinary ASCII text.
 ;;;***
 \f
 ;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag"
-;;;;;;  "mouse-drag.el" (20119 34052))
+;;;;;;  "mouse-drag.el" (19890 42850))
 ;;; Generated autoloads from mouse-drag.el
 
 (autoload 'mouse-drag-throw "mouse-drag" "\
@@ -18320,8 +18334,8 @@ To test this function, evaluate:
 
 ;;;***
 \f
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (20126
-;;;;;;  50277))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (20168
+;;;;;;  57844))
 ;;; Generated autoloads from mouse-sel.el
 
 (defvar mouse-sel-mode nil "\
@@ -18364,7 +18378,7 @@ kill ring; mouse-1 or mouse-3 kills it.
 
 ;;;***
 \f
-;;;### (autoloads (mpc) "mpc" "mpc.el" (20120 43280))
+;;;### (autoloads (mpc) "mpc" "mpc.el" (20178 7273))
 ;;; Generated autoloads from mpc.el
 
 (autoload 'mpc "mpc" "\
@@ -18374,7 +18388,7 @@ Main entry point for MPC.
 
 ;;;***
 \f
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (20119 34052))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19890 42850))
 ;;; Generated autoloads from play/mpuz.el
 
 (autoload 'mpuz "mpuz" "\
@@ -18384,7 +18398,7 @@ Multiplication puzzle with GNU Emacs.
 
 ;;;***
 \f
-;;;### (autoloads (msb-mode) "msb" "msb.el" (20126 50286))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (20127 62865))
 ;;; Generated autoloads from msb.el
 
 (defvar msb-mode nil "\
@@ -18414,7 +18428,7 @@ different buffer menu using the function `msb'.
 ;;;;;;  describe-current-coding-system describe-current-coding-system-briefly
 ;;;;;;  describe-coding-system describe-character-set list-charset-chars
 ;;;;;;  read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20160 63745))
 ;;; Generated autoloads from international/mule-diag.el
 
 (autoload 'list-character-sets "mule-diag" "\
@@ -18551,7 +18565,7 @@ The default is 20.  If LIMIT is negative, do not limit the listing.
 ;;;;;;  coding-system-translation-table-for-decode coding-system-pre-write-conversion
 ;;;;;;  coding-system-post-read-conversion lookup-nested-alist set-nested-alist
 ;;;;;;  truncate-string-to-width store-substring string-to-sequence)
-;;;;;;  "mule-util" "international/mule-util.el" (20119 34052))
+;;;;;;  "mule-util" "international/mule-util.el" (19845 45374))
 ;;; Generated autoloads from international/mule-util.el
 
 (autoload 'string-to-sequence "mule-util" "\
@@ -18691,8 +18705,8 @@ per-character basis, this may not be accurate.
 ;;;### (autoloads (network-connection network-connection-to-service
 ;;;;;;  whois-reverse-lookup whois finger ftp run-dig dns-lookup-host
 ;;;;;;  nslookup nslookup-host ping traceroute route arp netstat
-;;;;;;  iwconfig ifconfig) "net-utils" "net/net-utils.el" (20119
-;;;;;;  34052))
+;;;;;;  iwconfig ifconfig) "net-utils" "net/net-utils.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from net/net-utils.el
 
 (autoload 'ifconfig "net-utils" "\
@@ -18786,8 +18800,8 @@ Open a network connection to HOST on PORT.
 
 ;;;***
 \f
-;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (netrc-credentials) "netrc" "net/netrc.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from net/netrc.el
 
 (autoload 'netrc-credentials "netrc" "\
@@ -18800,7 +18814,7 @@ listed in the PORTS list.
 ;;;***
 \f
 ;;;### (autoloads (open-network-stream) "network-stream" "net/network-stream.el"
-;;;;;;  (20121 47865))
+;;;;;;  (20122 44898))
 ;;; Generated autoloads from net/network-stream.el
 
 (autoload 'open-network-stream "network-stream" "\
@@ -18896,7 +18910,7 @@ functionality.
 ;;;;;;  uncomment-region comment-kill comment-set-column comment-indent
 ;;;;;;  comment-indent-default comment-normalize-vars comment-multi-line
 ;;;;;;  comment-padding comment-style comment-column) "newcomment"
-;;;;;;  "newcomment.el" (20119 34052))
+;;;;;;  "newcomment.el" (20087 5852))
 ;;; Generated autoloads from newcomment.el
 
 (defalias 'indent-for-comment 'comment-indent)
@@ -19096,7 +19110,7 @@ unless optional argument SOFT is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend"
-;;;;;;  "net/newst-backend.el" (20119 34052))
+;;;;;;  "net/newst-backend.el" (19918 22236))
 ;;; Generated autoloads from net/newst-backend.el
 
 (autoload 'newsticker-running-p "newst-backend" "\
@@ -19118,7 +19132,7 @@ Run `newsticker-start-hook' if newsticker was not running already.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from net/newst-plainview.el
 
 (autoload 'newsticker-plainview "newst-plainview" "\
@@ -19129,7 +19143,7 @@ Start newsticker plainview.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el"
-;;;;;;  (20139 41953))
+;;;;;;  (20094 65493))
 ;;; Generated autoloads from net/newst-reader.el
 
 (autoload 'newsticker-show-news "newst-reader" "\
@@ -19140,7 +19154,7 @@ Start reading news.  You may want to bind this to a key.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p)
-;;;;;;  "newst-ticker" "net/newst-ticker.el" (20119 34052))
+;;;;;;  "newst-ticker" "net/newst-ticker.el" (19845 45374))
 ;;; Generated autoloads from net/newst-ticker.el
 
 (autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -19161,7 +19175,7 @@ running already.
 ;;;***
 \f
 ;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el"
-;;;;;;  (20141 61905))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from net/newst-treeview.el
 
 (autoload 'newsticker-treeview "newst-treeview" "\
@@ -19172,7 +19186,7 @@ Start newsticker treeview.
 ;;;***
 \f
 ;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from gnus/nndiary.el
 
 (autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -19182,8 +19196,8 @@ Generate NOV databases in all nndiary directories.
 
 ;;;***
 \f
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from gnus/nndoc.el
 
 (autoload 'nndoc-add-type "nndoc" "\
@@ -19198,7 +19212,7 @@ symbol in the alist.
 ;;;***
 \f
 ;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/nnfolder.el
 
 (autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -19210,7 +19224,7 @@ This command does not work if you use short group names.
 ;;;***
 \f
 ;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from gnus/nnml.el
 
 (autoload 'nnml-generate-nov-databases "nnml" "\
@@ -19221,7 +19235,7 @@ Generate NOV databases in all nnml directories.
 ;;;***
 \f
 ;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;;  "novice" "novice.el" (20119 34052))
+;;;;;;  "novice" "novice.el" (19845 45374))
 ;;; Generated autoloads from novice.el
 
 (defvar disabled-command-function 'disabled-command-function "\
@@ -19254,7 +19268,7 @@ to future sessions.
 ;;;***
 \f
 ;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;;  (20127 24590))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from textmodes/nroff-mode.el
 
 (autoload 'nroff-mode "nroff-mode" "\
@@ -19269,7 +19283,7 @@ closing requests for requests that are used in matched pairs.
 ;;;***
 \f
 ;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from nxml/nxml-glyph.el
 
 (autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -19281,8 +19295,8 @@ Return nil if the face cannot display a glyph for N.
 
 ;;;***
 \f
-;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19927
+;;;;;;  37225))
 ;;; Generated autoloads from nxml/nxml-mode.el
 
 (autoload 'nxml-mode "nxml-mode" "\
@@ -19344,7 +19358,7 @@ Many aspects this mode can be customized using
 ;;;***
 \f
 ;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm"
-;;;;;;  "nxml/nxml-uchnm.el" (20119 34052))
+;;;;;;  "nxml/nxml-uchnm.el" (19845 45374))
 ;;; Generated autoloads from nxml/nxml-uchnm.el
 
 (autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -19367,7 +19381,7 @@ the variable `nxml-enabled-unicode-blocks'.
 ;;;;;;  org-babel-pop-to-session-maybe org-babel-load-in-session-maybe
 ;;;;;;  org-babel-expand-src-block-maybe org-babel-view-src-block-info
 ;;;;;;  org-babel-execute-maybe org-babel-execute-safely-maybe) "ob"
-;;;;;;  "org/ob.el" (20119 34052))
+;;;;;;  "org/ob.el" (20174 10230))
 ;;; Generated autoloads from org/ob.el
 
 (autoload 'org-babel-execute-safely-maybe "ob" "\
@@ -19414,7 +19428,7 @@ Insert the results of execution into the buffer.  Source code
 execution and the collection and formatting of results can be
 controlled through a variety of header arguments.
 
-With prefix argument ARG, force re-execution even if a an
+With prefix argument ARG, force re-execution even if an
 existing result cached in the buffer would otherwise have been
 returned.
 
@@ -19570,7 +19584,7 @@ Mark current src block
 ;;;***
 \f
 ;;;### (autoloads (org-babel-describe-bindings) "ob-keys" "org/ob-keys.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30710))
 ;;; Generated autoloads from org/ob-keys.el
 
 (autoload 'org-babel-describe-bindings "ob-keys" "\
@@ -19581,7 +19595,7 @@ Describe all keybindings behind `org-babel-key-prefix'.
 ;;;***
 \f
 ;;;### (autoloads (org-babel-lob-get-info org-babel-lob-execute-maybe
-;;;;;;  org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20119 34052))
+;;;;;;  org-babel-lob-ingest) "ob-lob" "org/ob-lob.el" (20045 31431))
 ;;; Generated autoloads from org/ob-lob.el
 
 (autoload 'org-babel-lob-ingest "ob-lob" "\
@@ -19606,7 +19620,7 @@ Return a Library of Babel function call as a string.
 \f
 ;;;### (autoloads (org-babel-tangle org-babel-tangle-file org-babel-load-file
 ;;;;;;  org-babel-tangle-lang-exts) "ob-tangle" "org/ob-tangle.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30712))
 ;;; Generated autoloads from org/ob-tangle.el
 
 (defvar org-babel-tangle-lang-exts '(("emacs-lisp" . "el")) "\
@@ -19648,7 +19662,7 @@ exported source code blocks by language.
 ;;;***
 \f
 ;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;;  (20136 50092))
+;;;;;;  (20135 56947))
 ;;; Generated autoloads from progmodes/octave-inf.el
 
 (autoload 'inferior-octave "octave-inf" "\
@@ -19671,7 +19685,7 @@ startup file, `~/.emacs-octave'.
 ;;;***
 \f
 ;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;;  (20136 50092))
+;;;;;;  (20135 56947))
 ;;; Generated autoloads from progmodes/octave-mod.el
 
 (autoload 'octave-mode "octave-mod" "\
@@ -19759,7 +19773,7 @@ including a reproducible test case and send the message.
 ;;;;;;  org-insert-link-global org-store-link org-run-like-in-org-mode
 ;;;;;;  turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
 ;;;;;;  org-mode org-babel-do-load-languages) "org" "org/org.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20170 13157))
 ;;; Generated autoloads from org/org.el
 
 (autoload 'org-babel-do-load-languages "org" "\
@@ -19983,7 +19997,7 @@ Call the customize function with org as argument.
 ;;;;;;  org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list
 ;;;;;;  org-search-view org-agenda-list org-batch-store-agenda-views
 ;;;;;;  org-store-agenda-views org-batch-agenda-csv org-batch-agenda
-;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (20119 34052))
+;;;;;;  org-agenda) "org-agenda" "org/org-agenda.el" (20178 7273))
 ;;; Generated autoloads from org/org-agenda.el
 
 (autoload 'org-agenda "org-agenda" "\
@@ -20228,7 +20242,7 @@ belonging to the \"Work\" category.
 \f
 ;;;### (autoloads (org-archive-subtree-default-with-confirmation
 ;;;;;;  org-archive-subtree-default) "org-archive" "org/org-archive.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30713))
 ;;; Generated autoloads from org/org-archive.el
 
 (autoload 'org-archive-subtree-default "org-archive" "\
@@ -20248,8 +20262,8 @@ This command is set with the variable `org-archive-default-command'.
 ;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii
 ;;;;;;  org-replace-region-by-ascii org-export-as-ascii-to-buffer
 ;;;;;;  org-export-as-utf8-to-buffer org-export-as-utf8 org-export-as-latin1-to-buffer
-;;;;;;  org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20119
-;;;;;;  34052))
+;;;;;;  org-export-as-latin1) "org-ascii" "org/org-ascii.el" (20045
+;;;;;;  30713))
 ;;; Generated autoloads from org/org-ascii.el
 
 (autoload 'org-export-as-latin1 "org-ascii" "\
@@ -20322,8 +20336,8 @@ publishing directory.
 
 ;;;***
 \f
-;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (20045
+;;;;;;  30713))
 ;;; Generated autoloads from org/org-attach.el
 
 (autoload 'org-attach "org-attach" "\
@@ -20335,7 +20349,7 @@ Shows a list of commands and prompts for another key to execute a command.
 ;;;***
 \f
 ;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 29468))
 ;;; Generated autoloads from org/org-bbdb.el
 
 (autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -20346,7 +20360,7 @@ Extract anniversaries from BBDB for display in the agenda.
 ;;;***
 \f
 ;;;### (autoloads (org-capture-import-remember-templates org-capture-insert-template-here
-;;;;;;  org-capture) "org-capture" "org/org-capture.el" (20119 34052))
+;;;;;;  org-capture) "org-capture" "org/org-capture.el" (20168 57844))
 ;;; Generated autoloads from org/org-capture.el
 
 (autoload 'org-capture "org-capture" "\
@@ -20384,7 +20398,7 @@ Set org-capture-templates to be similar to `org-remember-templates'.
 ;;;***
 \f
 ;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
-;;;;;;  "org-clock" "org/org-clock.el" (20119 34052))
+;;;;;;  "org-clock" "org/org-clock.el" (20172 54913))
 ;;; Generated autoloads from org/org-clock.el
 
 (autoload 'org-get-clocktable "org-clock" "\
@@ -20402,7 +20416,7 @@ Set up hooks for clock persistence.
 ;;;***
 \f
 ;;;### (autoloads (org-datetree-find-date-create) "org-datetree"
-;;;;;;  "org/org-datetree.el" (20119 34052))
+;;;;;;  "org/org-datetree.el" (20045 30713))
 ;;; Generated autoloads from org/org-datetree.el
 
 (autoload 'org-datetree-find-date-create "org-datetree" "\
@@ -20418,7 +20432,7 @@ tree can be found.
 ;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open
 ;;;;;;  org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook
 ;;;;;;  org-export-as-docbook-to-buffer org-export-as-docbook-batch)
-;;;;;;  "org-docbook" "org/org-docbook.el" (20119 34052))
+;;;;;;  "org-docbook" "org/org-docbook.el" (20045 30713))
 ;;; Generated autoloads from org/org-docbook.el
 
 (autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -20495,7 +20509,7 @@ publishing directory.
 \f
 ;;;### (autoloads (org-insert-export-options-template org-export-as-org
 ;;;;;;  org-export-visible org-export) "org-exp" "org/org-exp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from org/org-exp.el
 
 (autoload 'org-export "org-exp" "\
@@ -20556,8 +20570,8 @@ Insert into the buffer a template with information for exporting.
 ;;;***
 \f
 ;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
-;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (20119
-;;;;;;  34052))
+;;;;;;  org-feed-update-all) "org-feed" "org/org-feed.el" (20065
+;;;;;;  65310))
 ;;; Generated autoloads from org/org-feed.el
 
 (autoload 'org-feed-update-all "org-feed" "\
@@ -20585,7 +20599,7 @@ Show the raw feed buffer of a feed.
 ;;;***
 \f
 ;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
-;;;;;;  "org/org-footnote.el" (20119 34052))
+;;;;;;  "org/org-footnote.el" (20161 45793))
 ;;; Generated autoloads from org/org-footnote.el
 
 (autoload 'org-footnote-action "org-footnote" "\
@@ -20636,7 +20650,7 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
 ;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree
 ;;;;;;  org-freemind-from-org-mode org-freemind-from-org-mode-node
 ;;;;;;  org-freemind-show org-export-as-freemind) "org-freemind"
-;;;;;;  "org/org-freemind.el" (20119 34052))
+;;;;;;  "org/org-freemind.el" (20172 54913))
 ;;; Generated autoloads from org/org-freemind.el
 
 (autoload 'org-export-as-freemind "org-freemind" "\
@@ -20697,7 +20711,7 @@ Convert FreeMind file MM-FILE to `org-mode' file ORG-FILE.
 ;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html
 ;;;;;;  org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer
 ;;;;;;  org-export-as-html-batch org-export-as-html-and-open) "org-html"
-;;;;;;  "org/org-html.el" (20119 34052))
+;;;;;;  "org/org-html.el" (20065 65310))
 ;;; Generated autoloads from org/org-html.el
 
 (put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -20791,7 +20805,7 @@ that uses these same face definitions.
 \f
 ;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
 ;;;;;;  org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 29468))
 ;;; Generated autoloads from org/org-icalendar.el
 
 (autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -20819,7 +20833,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
 ;;;### (autoloads (org-id-store-link org-id-find-id-file org-id-find
 ;;;;;;  org-id-goto org-id-get-with-outline-drilling org-id-get-with-outline-path-completion
 ;;;;;;  org-id-get org-id-copy org-id-get-create) "org-id" "org/org-id.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20065 65310))
 ;;; Generated autoloads from org/org-id.el
 
 (autoload 'org-id-get-create "org-id" "\
@@ -20888,7 +20902,7 @@ Store a link to the current entry, using its ID.
 ;;;***
 \f
 ;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30716))
 ;;; Generated autoloads from org/org-indent.el
 
 (autoload 'org-indent-mode "org-indent" "\
@@ -20903,7 +20917,7 @@ FIXME:  How to update when broken?
 ;;;***
 \f
 ;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20065 65310))
 ;;; Generated autoloads from org/org-irc.el
 
 (autoload 'org-irc-store-link "org-irc" "\
@@ -20916,7 +20930,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
 ;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex
 ;;;;;;  org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer
 ;;;;;;  org-export-as-latex-batch) "org-latex" "org/org-latex.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 29468))
 ;;; Generated autoloads from org/org-latex.el
 
 (autoload 'org-export-as-latex-batch "org-latex" "\
@@ -20996,8 +21010,8 @@ Export as LaTeX, then process through to PDF, and open.
 ;;;***
 \f
 ;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
-;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (20119
-;;;;;;  34052))
+;;;;;;  org-mobile-push) "org-mobile" "org/org-mobile.el" (20065
+;;;;;;  65310))
 ;;; Generated autoloads from org/org-mobile.el
 
 (autoload 'org-mobile-push "org-mobile" "\
@@ -21022,7 +21036,7 @@ Create a file that contains all custom agenda views.
 ;;;***
 \f
 ;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20157 54694))
 ;;; Generated autoloads from org/org-plot.el
 
 (autoload 'org-plot/gnuplot "org-plot" "\
@@ -21036,7 +21050,7 @@ line directly before or after the table.
 \f
 ;;;### (autoloads (org-publish-current-project org-publish-current-file
 ;;;;;;  org-publish-all org-publish) "org-publish" "org/org-publish.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from org/org-publish.el
 
 (defalias 'org-publish-project 'org-publish)
@@ -21070,7 +21084,7 @@ the project.
 \f
 ;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
 ;;;;;;  org-remember-annotation org-remember-insinuate) "org-remember"
-;;;;;;  "org/org-remember.el" (20119 34052))
+;;;;;;  "org/org-remember.el" (20165 31925))
 ;;; Generated autoloads from org/org-remember.el
 
 (autoload 'org-remember-insinuate "org-remember" "\
@@ -21146,7 +21160,7 @@ See also the variable `org-reverse-note-order'.
 ;;;***
 \f
 ;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
-;;;;;;  "org-table" "org/org-table.el" (20119 34052))
+;;;;;;  "org-table" "org/org-table.el" (20168 57844))
 ;;; Generated autoloads from org/org-table.el
 
 (autoload 'turn-on-orgtbl "org-table" "\
@@ -21170,7 +21184,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
 ;;;***
 \f
 ;;;### (autoloads (org-export-as-taskjuggler-and-open org-export-as-taskjuggler)
-;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20119 34052))
+;;;;;;  "org-taskjuggler" "org/org-taskjuggler.el" (20166 16092))
 ;;; Generated autoloads from org/org-taskjuggler.el
 
 (autoload 'org-export-as-taskjuggler "org-taskjuggler" "\
@@ -21198,7 +21212,7 @@ with the TaskJuggler GUI.
 \f
 ;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region
 ;;;;;;  org-timer org-timer-start) "org-timer" "org/org-timer.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30718))
 ;;; Generated autoloads from org/org-timer.el
 
 (autoload 'org-timer-start "org-timer" "\
@@ -21259,7 +21273,7 @@ replace any running timer.
 ;;;***
 \f
 ;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20045 30719))
 ;;; Generated autoloads from org/org-xoxo.el
 
 (autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -21271,7 +21285,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*
 ;;;***
 \f
 ;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;;  (20126 50306))
+;;;;;;  (20162 63140))
 ;;; Generated autoloads from outline.el
 (put 'outline-regexp 'safe-local-variable 'stringp)
 (put 'outline-heading-end-regexp 'safe-local-variable 'stringp)
@@ -21335,7 +21349,7 @@ See the command `outline-mode' for more information on this mode.
 ;;;### (autoloads (list-packages describe-package package-initialize
 ;;;;;;  package-refresh-contents package-install-file package-install-from-buffer
 ;;;;;;  package-install package-enable-at-startup) "package" "emacs-lisp/package.el"
-;;;;;;  (20139 30186))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from emacs-lisp/package.el
 
 (defvar package-enable-at-startup t "\
@@ -21405,7 +21419,7 @@ The list is displayed in a buffer named `*Packages*'.
 
 ;;;***
 \f
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20126 50320))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (20127 62865))
 ;;; Generated autoloads from paren.el
 
 (defvar show-paren-mode nil "\
@@ -21432,7 +21446,7 @@ matching parenthesis is highlighted in `show-paren-style' after
 ;;;***
 \f
 ;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from calendar/parse-time.el
 (put 'parse-time-rules 'risky-local-variable t)
 
@@ -21445,8 +21459,8 @@ unknown are returned as nil.
 
 ;;;***
 \f
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (20168
+;;;;;;  57844))
 ;;; Generated autoloads from progmodes/pascal.el
 
 (autoload 'pascal-mode "pascal" "\
@@ -21499,7 +21513,7 @@ no args, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (password-in-cache-p password-cache-expiry password-cache)
-;;;;;;  "password-cache" "password-cache.el" (20119 34052))
+;;;;;;  "password-cache" "password-cache.el" (20089 47591))
 ;;; Generated autoloads from password-cache.el
 
 (defvar password-cache t "\
@@ -21521,7 +21535,7 @@ Check if KEY is in the cache.
 ;;;***
 \f
 ;;;### (autoloads (pcase-let pcase-let* pcase) "pcase" "emacs-lisp/pcase.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19863 8742))
 ;;; Generated autoloads from emacs-lisp/pcase.el
 
 (autoload 'pcase "pcase" "\
@@ -21580,8 +21594,8 @@ of the form (UPAT EXP).
 
 ;;;***
 \f
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (20100
+;;;;;;  17869))
 ;;; Generated autoloads from pcmpl-cvs.el
 
 (autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -21592,7 +21606,7 @@ Completion rules for the `cvs' command.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (20119 34052))
+;;;;;;  "pcmpl-gnu" "pcmpl-gnu.el" (20104 14925))
 ;;; Generated autoloads from pcmpl-gnu.el
 
 (autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -21620,7 +21634,7 @@ Completion for the GNU tar utility.
 ;;;***
 \f
 ;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (20119 34052))
+;;;;;;  "pcmpl-linux" "pcmpl-linux.el" (19986 58615))
 ;;; Generated autoloads from pcmpl-linux.el
 
 (autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -21640,8 +21654,8 @@ Completion for GNU/Linux `mount'.
 
 ;;;***
 \f
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19961
+;;;;;;  55377))
 ;;; Generated autoloads from pcmpl-rpm.el
 
 (autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -21653,7 +21667,7 @@ Completion for the `rpm' command.
 \f
 ;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown
 ;;;;;;  pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir
-;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20120 43280))
+;;;;;;  pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (20121 24048))
 ;;; Generated autoloads from pcmpl-unix.el
 
 (autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -21710,8 +21724,8 @@ Includes files as well as host names followed by a colon.
 \f
 ;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
 ;;;;;;  pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
-;;;;;;  pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20119
-;;;;;;  34052))
+;;;;;;  pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (20106
+;;;;;;  17429))
 ;;; Generated autoloads from pcomplete.el
 
 (autoload 'pcomplete "pcomplete" "\
@@ -21770,7 +21784,7 @@ Setup `shell-mode' to use pcomplete.
 \f
 ;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
 ;;;;;;  cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;;  "vc/pcvs.el" (20119 34052))
+;;;;;;  "vc/pcvs.el" (20164 60780))
 ;;; Generated autoloads from vc/pcvs.el
 
 (autoload 'cvs-checkout "pcvs" "\
@@ -21845,15 +21859,16 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
 
 ;;;***
 \f
-;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20119 34052))
+;;;### (autoloads nil "pcvs-defs" "vc/pcvs-defs.el" (20174 10230))
 ;;; Generated autoloads from vc/pcvs-defs.el
 
-(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)))
+(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)) "\
+Global menu used by PCL-CVS.")
 
 ;;;***
 \f
 ;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20108 12033))
 ;;; Generated autoloads from progmodes/perl-mode.el
 (put 'perl-indent-level 'safe-local-variable 'integerp)
 (put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -21915,7 +21930,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20093 44623))
 ;;; Generated autoloads from textmodes/picture.el
 
 (autoload 'picture-mode "picture" "\
@@ -21995,8 +22010,8 @@ they are not defaultly assigned to keys.
 
 ;;;***
 \f
-;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (plstore-open) "plstore" "gnus/plstore.el" (20097
+;;;;;;  41737))
 ;;; Generated autoloads from gnus/plstore.el
 
 (autoload 'plstore-open "plstore" "\
@@ -22007,7 +22022,7 @@ Create a plstore instance associated with FILE.
 ;;;***
 \f
 ;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from textmodes/po.el
 
 (autoload 'po-find-file-coding-system "po" "\
@@ -22018,7 +22033,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
 
 ;;;***
 \f
-;;;### (autoloads (pong) "pong" "play/pong.el" (20119 34052))
+;;;### (autoloads (pong) "pong" "play/pong.el" (19845 45374))
 ;;; Generated autoloads from play/pong.el
 
 (autoload 'pong "pong" "\
@@ -22034,7 +22049,7 @@ pong-mode keybindings:\\<pong-mode-map>
 
 ;;;***
 \f
-;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20119 34052))
+;;;### (autoloads (pop3-movemail) "pop3" "gnus/pop3.el" (20178 7273))
 ;;; Generated autoloads from gnus/pop3.el
 
 (autoload 'pop3-movemail "pop3" "\
@@ -22047,7 +22062,7 @@ Use streaming commands.
 \f
 ;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression
 ;;;;;;  pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/pp.el
 
 (autoload 'pp-to-string "pp" "\
@@ -22115,7 +22130,7 @@ Ignores leading comment characters.
 ;;;;;;  pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
 ;;;;;;  pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
 ;;;;;;  pr-ps-directory-preview pr-interface) "printing" "printing.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20175 31160))
 ;;; Generated autoloads from printing.el
 
 (autoload 'pr-interface "printing" "\
@@ -22702,7 +22717,7 @@ are both set to t.
 
 ;;;***
 \f
-;;;### (autoloads (proced) "proced" "proced.el" (20119 34052))
+;;;### (autoloads (proced) "proced" "proced.el" (20053 39261))
 ;;; Generated autoloads from proced.el
 
 (autoload 'proced "proced" "\
@@ -22718,7 +22733,7 @@ See `proced-mode' for a description of features available in Proced buffers.
 ;;;***
 \f
 ;;;### (autoloads (run-prolog mercury-mode prolog-mode) "prolog"
-;;;;;;  "progmodes/prolog.el" (20119 34052))
+;;;;;;  "progmodes/prolog.el" (20176 51947))
 ;;; Generated autoloads from progmodes/prolog.el
 
 (autoload 'prolog-mode "prolog" "\
@@ -22753,8 +22768,8 @@ With prefix argument ARG, restart the Prolog process if running before.
 
 ;;;***
 \f
-;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19845
+;;;;;;  45374))
 ;;; 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")) "\
@@ -22765,8 +22780,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
 
 ;;;***
 \f
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (20167
+;;;;;;  36967))
 ;;; Generated autoloads from progmodes/ps-mode.el
 
 (autoload 'ps-mode "ps-mode" "\
@@ -22817,8 +22832,8 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number
 ;;;;;;  ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
 ;;;;;;  ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
 ;;;;;;  ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
-;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (20119
-;;;;;;  34052))
+;;;;;;  ps-page-dimensions-database) "ps-print" "ps-print.el" (20172
+;;;;;;  55048))
 ;;; 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"))) "\
@@ -23015,7 +23030,7 @@ If EXTENSION is any other symbol, it is ignored.
 ;;;***
 \f
 ;;;### (autoloads (jython-mode python-mode python-after-info-look
-;;;;;;  run-python) "python" "progmodes/python.el" (20119 34052))
+;;;;;;  run-python) "python" "progmodes/python.el" (20170 13157))
 ;;; Generated autoloads from progmodes/python.el
 
 (add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -23101,7 +23116,7 @@ Runs `jython-mode-hook' after `python-mode-hook'.
 ;;;***
 \f
 ;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/qp.el
 
 (autoload 'quoted-printable-decode-region "qp" "\
@@ -23124,7 +23139,7 @@ them into characters should be done separately.
 ;;;;;;  quail-defrule quail-install-decode-map quail-install-map
 ;;;;;;  quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
 ;;;;;;  quail-define-package quail-use-package quail-title) "quail"
-;;;;;;  "international/quail.el" (20119 34052))
+;;;;;;  "international/quail.el" (20166 16092))
 ;;; Generated autoloads from international/quail.el
 
 (autoload 'quail-title "quail" "\
@@ -23355,8 +23370,8 @@ of each directory.
 \f
 ;;;### (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" (20119
-;;;;;;  34052))
+;;;;;;  quickurl-ask quickurl) "quickurl" "net/quickurl.el" (20168
+;;;;;;  57844))
 ;;; 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" "\
@@ -23428,7 +23443,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
 ;;;***
 \f
 ;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
-;;;;;;  "net/rcirc.el" (20138 51043))
+;;;;;;  "net/rcirc.el" (20170 13157))
 ;;; Generated autoloads from net/rcirc.el
 
 (autoload 'rcirc "rcirc" "\
@@ -23463,8 +23478,8 @@ Global minor mode for tracking activity in rcirc buffers.
 
 ;;;***
 \f
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from net/rcompile.el
 
 (autoload 'remote-compile "rcompile" "\
@@ -23476,7 +23491,7 @@ See \\[compile].
 ;;;***
 \f
 ;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19975 1875))
 ;;; Generated autoloads from emacs-lisp/re-builder.el
 
 (defalias 'regexp-builder 're-builder)
@@ -23494,7 +23509,7 @@ matching parts of the target buffer will be highlighted.
 
 ;;;***
 \f
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20126 50335))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (20167 36967))
 ;;; Generated autoloads from recentf.el
 
 (defvar recentf-mode nil "\
@@ -23524,7 +23539,7 @@ were operated on recently.
 ;;;;;;  string-rectangle delete-whitespace-rectangle open-rectangle
 ;;;;;;  insert-rectangle yank-rectangle kill-rectangle extract-rectangle
 ;;;;;;  delete-extract-rectangle delete-rectangle) "rect" "rect.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19999 41597))
 ;;; Generated autoloads from rect.el
  (define-key ctl-x-r-map "c" 'clear-rectangle)
  (define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -23661,7 +23676,7 @@ with a prefix argument, prompt for START-AT and FORMAT.
 ;;;***
 \f
 ;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (20127
-;;;;;;  24416))
+;;;;;;  62865))
 ;;; Generated autoloads from textmodes/refill.el
 
 (autoload 'refill-mode "refill" "\
@@ -23682,7 +23697,7 @@ For true \"word wrap\" behavior, use `visual-line-mode' instead.
 ;;;***
 \f
 ;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (20136 50092))
+;;;;;;  turn-on-reftex) "reftex" "textmodes/reftex.el" (20164 60780))
 ;;; Generated autoloads from textmodes/reftex.el
 
 (autoload 'turn-on-reftex "reftex" "\
@@ -23738,7 +23753,7 @@ This enforces rescanning the buffer on next use.
 ;;;***
 \f
 ;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from textmodes/reftex-cite.el
 
 (autoload 'reftex-citation "reftex-cite" "\
@@ -23768,7 +23783,7 @@ While entering the regexp, completion on knows citation keys is possible.
 ;;;***
 \f
 ;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20164 60780))
 ;;; Generated autoloads from textmodes/reftex-global.el
 
 (autoload 'reftex-isearch-minor-mode "reftex-global" "\
@@ -23785,7 +23800,7 @@ With no argument, this command toggles
 ;;;***
 \f
 ;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20162 63140))
 ;;; Generated autoloads from textmodes/reftex-index.el
 
 (autoload 'reftex-index-phrases-mode "reftex-index" "\
@@ -23818,7 +23833,7 @@ Here are all local bindings.
 ;;;***
 \f
 ;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from textmodes/reftex-parse.el
 
 (autoload 'reftex-all-document-files "reftex-parse" "\
@@ -23830,8 +23845,8 @@ of master file.
 
 ;;;***
 \f
-;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (20119
-;;;;;;  34052))
+;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19845
+;;;;;;  45374))
 ;;; 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))))
@@ -23841,7 +23856,7 @@ of master file.
 ;;;***
 \f
 ;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/regexp-opt.el
 
 (autoload 'regexp-opt "regexp-opt" "\
@@ -23872,7 +23887,7 @@ This means the number of non-shy regexp grouping constructs
 \f
 ;;;### (autoloads (remember-diary-extract-entries remember-clipboard
 ;;;;;;  remember-other-frame remember) "remember" "textmodes/remember.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from textmodes/remember.el
 
 (autoload 'remember "remember" "\
@@ -23903,7 +23918,7 @@ Extract diary entries from the region.
 
 ;;;***
 \f
-;;;### (autoloads (repeat) "repeat" "repeat.el" (20119 34052))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (20172 54913))
 ;;; Generated autoloads from repeat.el
 
 (autoload 'repeat "repeat" "\
@@ -23926,7 +23941,7 @@ recently executed command not bound to an input event\".
 ;;;***
 \f
 ;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20076 35541))
 ;;; Generated autoloads from mail/reporter.el
 
 (autoload 'reporter-submit-bug-report "reporter" "\
@@ -23958,7 +23973,7 @@ mail-sending package is used for editing and sending the message.
 ;;;***
 \f
 ;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from reposition.el
 
 (autoload 'reposition-window "reposition" "\
@@ -23985,7 +24000,7 @@ first comment line visible (if point is in a comment).
 ;;;***
 \f
 ;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;;  (20126 50360))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from reveal.el
 
 (autoload 'reveal-mode "reveal" "\
@@ -24021,7 +24036,7 @@ the mode if ARG is omitted or nil.
 ;;;***
 \f
 ;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/ring.el
 
 (autoload 'ring-p "ring" "\
@@ -24036,7 +24051,7 @@ Make a ring that can contain SIZE elements.
 
 ;;;***
 \f
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20119 34052))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (20077 56412))
 ;;; Generated autoloads from net/rlogin.el
 
 (autoload 'rlogin "rlogin" "\
@@ -24085,7 +24100,7 @@ variable.
 ;;;;;;  rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
 ;;;;;;  rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
 ;;;;;;  rmail-user-mail-address-regexp rmail-movemail-variant-p)
-;;;;;;  "rmail" "mail/rmail.el" (20138 48832))
+;;;;;;  "rmail" "mail/rmail.el" (20174 10633))
 ;;; Generated autoloads from mail/rmail.el
 
 (autoload 'rmail-movemail-variant-p "rmail" "\
@@ -24183,8 +24198,8 @@ This is set to nil by default.")
 
 (defvar rmail-insert-mime-forwarded-message-function nil "\
 Function to insert a message in MIME format so it can be forwarded.
-This function is called if `rmail-enable-mime' or
-`rmail-enable-mime-composing' is non-nil.
+This function is called if `rmail-enable-mime' and
+`rmail-enable-mime-composing' are non-nil.
 It is called with one argument FORWARD-BUFFER, which is a
 buffer containing the message to forward.  The current buffer
 is the outgoing mail buffer.")
@@ -24269,7 +24284,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
 ;;;***
 \f
 ;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen
-;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (20119 34052))
+;;;;;;  rmail-output) "rmailout" "mail/rmailout.el" (20172 54913))
 ;;; Generated autoloads from mail/rmailout.el
 (put 'rmail-output-file-alist 'risky-local-variable t)
 
@@ -24334,7 +24349,7 @@ than appending to it.  Deletes the message after writing if
 ;;;***
 \f
 ;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from nxml/rng-cmpct.el
 
 (autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -24346,7 +24361,7 @@ Return a pattern.
 ;;;***
 \f
 ;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from nxml/rng-nxml.el
 
 (autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -24359,7 +24374,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from nxml/rng-valid.el
 
 (autoload 'rng-validate-mode "rng-valid" "\
@@ -24389,8 +24404,8 @@ to use for finding the schema.
 
 ;;;***
 \f
-;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19930
+;;;;;;  13389))
 ;;; Generated autoloads from nxml/rng-xsd.el
 
 (put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile)
@@ -24418,7 +24433,7 @@ must be equal.
 ;;;***
 \f
 ;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
-;;;;;;  "robin" "international/robin.el" (20119 34052))
+;;;;;;  "robin" "international/robin.el" (20159 42847))
 ;;; Generated autoloads from international/robin.el
 
 (autoload 'robin-define-package "robin" "\
@@ -24451,7 +24466,7 @@ Start using robin package NAME, which is a string.
 ;;;***
 \f
 ;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;;  rot13-string rot13) "rot13" "rot13.el" (20119 34052))
+;;;;;;  rot13-string rot13) "rot13" "rot13.el" (20154 24929))
 ;;; Generated autoloads from rot13.el
 
 (autoload 'rot13 "rot13" "\
@@ -24489,7 +24504,7 @@ Toggle the use of ROT13 encoding for the current window.
 ;;;***
 \f
 ;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
-;;;;;;  (20127 24234))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from textmodes/rst.el
  (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
 
@@ -24526,7 +24541,7 @@ for modes derived from Text mode, like Mail mode.
 ;;;***
 \f
 ;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from progmodes/ruby-mode.el
 
 (autoload 'ruby-mode "ruby-mode" "\
@@ -24547,8 +24562,8 @@ The variable `ruby-indent-level' controls the amount of indentation.
 
 ;;;***
 \f
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20126
-;;;;;;  50390))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from ruler-mode.el
 
 (defvar ruler-mode nil "\
@@ -24565,8 +24580,8 @@ if ARG is omitted or nil.
 
 ;;;***
 \f
-;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (20161
+;;;;;;  45793))
 ;;; Generated autoloads from emacs-lisp/rx.el
 
 (autoload 'rx-to-string "rx" "\
@@ -24877,8 +24892,8 @@ enclosed in `(and ...)'.
 
 ;;;***
 \f
-;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20126
-;;;;;;  50398))
+;;;### (autoloads (savehist-mode) "savehist" "savehist.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from savehist.el
 
 (defvar savehist-mode nil "\
@@ -24910,7 +24925,7 @@ histories, which is probably undesirable.
 ;;;***
 \f
 ;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20079 39251))
 ;;; Generated autoloads from progmodes/scheme.el
 
 (autoload 'scheme-mode "scheme" "\
@@ -24952,7 +24967,7 @@ that variable's value is a string.
 ;;;***
 \f
 ;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/score-mode.el
 
 (autoload 'gnus-score-mode "score-mode" "\
@@ -24966,7 +24981,7 @@ This mode is an extended emacs-lisp mode.
 ;;;***
 \f
 ;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;;  (20126 50406))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from scroll-all.el
 
 (defvar scroll-all-mode nil "\
@@ -24992,7 +25007,7 @@ one window apply to all visible windows in the same frame.
 ;;;***
 \f
 ;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
-;;;;;;  (20126 43719))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from scroll-lock.el
 
 (autoload 'scroll-lock-mode "scroll-lock" "\
@@ -25006,7 +25021,7 @@ during scrolling.
 
 ;;;***
 \f
-;;;### (autoloads nil "secrets" "net/secrets.el" (20119 34052))
+;;;### (autoloads nil "secrets" "net/secrets.el" (20175 31160))
 ;;; Generated autoloads from net/secrets.el
 (when (featurep 'dbusbind)
  (autoload 'secrets-show-secrets "secrets" nil t))
@@ -25014,7 +25029,7 @@ during scrolling.
 ;;;***
 \f
 ;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
-;;;;;;  "cedet/semantic.el" (20127 23255))
+;;;;;;  "cedet/semantic.el" (20172 54913))
 ;;; Generated autoloads from cedet/semantic.el
 
 (defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -25068,7 +25083,7 @@ Semantic mode.
 ;;;;;;  mail-personal-alias-file mail-default-reply-to mail-archive-file-name
 ;;;;;;  mail-header-separator send-mail-function mail-interactive
 ;;;;;;  mail-self-blind mail-specify-envelope-from mail-from-style)
-;;;;;;  "sendmail" "mail/sendmail.el" (20121 46524))
+;;;;;;  "sendmail" "mail/sendmail.el" (20122 44898))
 ;;; Generated autoloads from mail/sendmail.el
 
 (defvar mail-from-style 'default "\
@@ -25350,8 +25365,8 @@ Like `mail' command, but display mail buffer in another frame.
 ;;;***
 \f
 ;;;### (autoloads (server-save-buffers-kill-terminal server-mode
-;;;;;;  server-force-delete server-start) "server" "server.el" (20126
-;;;;;;  50430))
+;;;;;;  server-force-delete server-start) "server" "server.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from server.el
 
 (put 'server-host 'risky-local-variable t)
@@ -25418,7 +25433,7 @@ only these files will be asked to be saved.
 
 ;;;***
 \f
-;;;### (autoloads (ses-mode) "ses" "ses.el" (20119 34052))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (20172 54913))
 ;;; Generated autoloads from ses.el
 
 (autoload 'ses-mode "ses" "\
@@ -25437,7 +25452,7 @@ These are active only in the minibuffer, when entering or editing a formula:
 ;;;***
 \f
 ;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;;  (20127 24193))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from textmodes/sgml-mode.el
 
 (autoload 'sgml-mode "sgml-mode" "\
@@ -25503,7 +25518,7 @@ To work around that, do:
 ;;;***
 \f
 ;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;;  (20120 43373))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from progmodes/sh-script.el
 (put 'sh-shell 'safe-local-variable 'symbolp)
 
@@ -25568,7 +25583,7 @@ with your script for an edit-interpret-debug cycle.
 ;;;***
 \f
 ;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emacs-lisp/shadow.el
 
 (autoload 'list-load-path-shadows "shadow" "\
@@ -25618,8 +25633,8 @@ function, `load-path-shadows-find'.
 ;;;***
 \f
 ;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
-;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (20119
-;;;;;;  34052))
+;;;;;;  shadow-define-cluster) "shadowfile" "shadowfile.el" (19886
+;;;;;;  45771))
 ;;; Generated autoloads from shadowfile.el
 
 (autoload 'shadow-define-cluster "shadowfile" "\
@@ -25658,7 +25673,7 @@ Set up file shadowing.
 ;;;***
 \f
 ;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;;  (20126 50438))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from shell.el
 
 (defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -25706,8 +25721,8 @@ Otherwise, one argument `-i' is passed to the shell.
 
 ;;;***
 \f
-;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (shr-insert-document) "shr" "gnus/shr.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from gnus/shr.el
 
 (autoload 'shr-insert-document "shr" "\
@@ -25718,7 +25733,7 @@ Otherwise, one argument `-i' is passed to the shell.
 ;;;***
 \f
 ;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;;  "sieve" "gnus/sieve.el" (20119 34052))
+;;;;;;  "sieve" "gnus/sieve.el" (20165 31925))
 ;;; Generated autoloads from gnus/sieve.el
 
 (autoload 'sieve-manage "sieve" "\
@@ -25739,7 +25754,7 @@ Otherwise, one argument `-i' is passed to the shell.
 ;;;***
 \f
 ;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from gnus/sieve-mode.el
 
 (autoload 'sieve-mode "sieve-mode" "\
@@ -25754,8 +25769,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19890
+;;;;;;  42850))
 ;;; Generated autoloads from progmodes/simula.el
 
 (autoload 'simula-mode "simula" "\
@@ -25804,7 +25819,7 @@ with no arguments, if that value is non-nil.
 ;;;***
 \f
 ;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;;  define-skeleton) "skeleton" "skeleton.el" (20119 34052))
+;;;;;;  define-skeleton) "skeleton" "skeleton.el" (19845 45374))
 ;;; Generated autoloads from skeleton.el
 
 (defvar skeleton-filter-function 'identity "\
@@ -25914,7 +25929,7 @@ symmetrical ones, and the same character twice for the others.
 ;;;***
 \f
 ;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff)
-;;;;;;  "smerge-mode" "vc/smerge-mode.el" (20119 34052))
+;;;;;;  "smerge-mode" "vc/smerge-mode.el" (19946 1612))
 ;;; Generated autoloads from vc/smerge-mode.el
 
 (autoload 'smerge-ediff "smerge-mode" "\
@@ -25939,7 +25954,7 @@ If no conflict maker is found, turn off `smerge-mode'.
 ;;;***
 \f
 ;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19939 28373))
 ;;; Generated autoloads from gnus/smiley.el
 
 (autoload 'smiley-region "smiley" "\
@@ -25957,7 +25972,7 @@ interactively.  If there's no argument, do it at the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
-;;;;;;  "mail/smtpmail.el" (20119 34052))
+;;;;;;  "mail/smtpmail.el" (20168 57844))
 ;;; Generated autoloads from mail/smtpmail.el
 
 (autoload 'smtpmail-send-it "smtpmail" "\
@@ -25972,7 +25987,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
 
 ;;;***
 \f
-;;;### (autoloads (snake) "snake" "play/snake.el" (20119 34052))
+;;;### (autoloads (snake) "snake" "play/snake.el" (19845 45374))
 ;;; Generated autoloads from play/snake.el
 
 (autoload 'snake "snake" "\
@@ -25996,7 +26011,7 @@ Snake mode keybindings:
 ;;;***
 \f
 ;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from net/snmp-mode.el
 
 (autoload 'snmp-mode "snmp-mode" "\
@@ -26025,8 +26040,8 @@ then `snmpv2-mode-hook'.
 
 ;;;***
 \f
-;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19886
+;;;;;;  45771))
 ;;; Generated autoloads from calendar/solar.el
 
 (autoload 'sunrise-sunset "solar" "\
@@ -26041,8 +26056,8 @@ This function is suitable for execution in a .emacs file.
 
 ;;;***
 \f
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (20165
+;;;;;;  31925))
 ;;; Generated autoloads from play/solitaire.el
 
 (autoload 'solitaire "solitaire" "\
@@ -26119,7 +26134,7 @@ Pick your favorite shortcuts:
 \f
 ;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
 ;;;;;;  sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;;  sort-lines sort-subr) "sort" "sort.el" (20119 34052))
+;;;;;;  sort-lines sort-subr) "sort" "sort.el" (19845 45374))
 ;;; Generated autoloads from sort.el
 (put 'sort-fold-case 'safe-local-variable 'booleanp)
 
@@ -26263,8 +26278,8 @@ From a program takes two point or marker arguments, BEG and END.
 
 ;;;***
 \f
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (20167
+;;;;;;  36967))
 ;;; Generated autoloads from gnus/spam.el
 
 (autoload 'spam-initialize "spam" "\
@@ -26280,7 +26295,7 @@ installed through `spam-necessary-extra-headers'.
 \f
 ;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file
 ;;;;;;  spam-report-url-ping-mm-url spam-report-process-queue) "spam-report"
-;;;;;;  "gnus/spam-report.el" (20119 34052))
+;;;;;;  "gnus/spam-report.el" (20166 16092))
 ;;; Generated autoloads from gnus/spam-report.el
 
 (autoload 'spam-report-process-queue "spam-report" "\
@@ -26323,7 +26338,7 @@ Spam reports will be queued with the method used when
 ;;;***
 \f
 ;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;;  "speedbar.el" (20119 34052))
+;;;;;;  "speedbar.el" (20178 7273))
 ;;; Generated autoloads from speedbar.el
 
 (defalias 'speedbar 'speedbar-frame-mode)
@@ -26347,8 +26362,8 @@ selected.  If the speedbar frame is active, then select the attached frame.
 
 ;;;***
 \f
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from play/spook.el
 
 (autoload 'spook "spook" "\
@@ -26367,7 +26382,7 @@ Return a vector containing the lines from `spook-phrases-file'.
 ;;;;;;  sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
 ;;;;;;  sql-sybase sql-oracle sql-product-interactive sql-connect
 ;;;;;;  sql-mode sql-help sql-add-product-keywords) "sql" "progmodes/sql.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from progmodes/sql.el
 
 (autoload 'sql-add-product-keywords "sql" "\
@@ -26863,7 +26878,7 @@ buffer.
 ;;;***
 \f
 ;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20160 63745))
 ;;; Generated autoloads from cedet/srecode/srt-mode.el
 
 (autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -26876,7 +26891,7 @@ Major-mode for writing SRecode macros.
 ;;;***
 \f
 ;;;### (autoloads (starttls-open-stream) "starttls" "gnus/starttls.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20175 31160))
 ;;; Generated autoloads from gnus/starttls.el
 
 (autoload 'starttls-open-stream "starttls" "\
@@ -26893,7 +26908,7 @@ BUFFER is the buffer (or `buffer-name') to associate with the process.
 Third arg is name of the host to connect to, or its IP address.
 Fourth arg PORT is an integer specifying a port to connect to.
 If `starttls-use-gnutls' is nil, this may also be a service name, but
-GNUTLS requires a port number.
+GnuTLS requires a port number.
 
 \(fn NAME BUFFER HOST PORT)" nil nil)
 
@@ -26903,8 +26918,8 @@ GNUTLS requires a port number.
 ;;;;;;  strokes-mode strokes-list-strokes strokes-load-user-strokes
 ;;;;;;  strokes-help strokes-describe-stroke strokes-do-complex-stroke
 ;;;;;;  strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
-;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (20126
-;;;;;;  50576))
+;;;;;;  strokes-global-set-stroke) "strokes" "strokes.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from strokes.el
 
 (autoload 'strokes-global-set-stroke "strokes" "\
@@ -27018,7 +27033,7 @@ Read a complex stroke and insert its glyph into the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;;  "studly" "play/studly.el" (20119 34052))
+;;;;;;  "studly" "play/studly.el" (19845 45374))
 ;;; Generated autoloads from play/studly.el
 
 (autoload 'studlify-region "studly" "\
@@ -27039,7 +27054,7 @@ Studlify-case the current buffer.
 ;;;***
 \f
 ;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el"
-;;;;;;  (20127 25236))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from progmodes/subword.el
 
 (autoload 'subword-mode "subword" "\
@@ -27095,7 +27110,7 @@ See `subword-mode' for more information on Subword mode.
 ;;;***
 \f
 ;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19931 11784))
 ;;; Generated autoloads from mail/supercite.el
 
 (autoload 'sc-cite-original "supercite" "\
@@ -27127,8 +27142,8 @@ and `sc-post-hook' is run after the guts of this function.
 
 ;;;***
 \f
-;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20126
-;;;;;;  50587))
+;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from t-mouse.el
 
 (define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -27156,7 +27171,7 @@ It relies on the `gpm' daemon being activated.
 
 ;;;***
 \f
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (20119 34052))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19998 49767))
 ;;; Generated autoloads from tabify.el
 
 (autoload 'untabify "tabify" "\
@@ -27191,7 +27206,7 @@ The variable `tab-width' controls the spacing of tab stops.
 ;;;;;;  table-recognize table-insert-row-column table-insert-column
 ;;;;;;  table-insert-row table-insert table-point-left-cell-hook
 ;;;;;;  table-point-entered-cell-hook table-load-hook table-cell-map-hook)
-;;;;;;  "table" "textmodes/table.el" (20119 34052))
+;;;;;;  "table" "textmodes/table.el" (20179 28130))
 ;;; Generated autoloads from textmodes/table.el
 
 (defvar table-cell-map-hook nil "\
@@ -27780,7 +27795,7 @@ converts a table into plain text without frames.  It is a companion to
 ;;;***
 \f
 ;;;### (autoloads (tabulated-list-mode) "tabulated-list" "emacs-lisp/tabulated-list.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20170 13157))
 ;;; Generated autoloads from emacs-lisp/tabulated-list.el
 
 (autoload 'tabulated-list-mode "tabulated-list" "\
@@ -27822,7 +27837,7 @@ as the ewoc pretty-printer.
 
 ;;;***
 \f
-;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20140 44272))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (20141 9296))
 ;;; Generated autoloads from talk.el
 
 (autoload 'talk-connect "talk" "\
@@ -27837,7 +27852,7 @@ Connect to the Emacs talk group from the current X display or tty frame.
 
 ;;;***
 \f
-;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20129 34168))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (20161 45793))
 ;;; Generated autoloads from tar-mode.el
 
 (autoload 'tar-mode "tar-mode" "\
@@ -27861,7 +27876,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
 ;;;***
 \f
 ;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;;  "progmodes/tcl.el" (20119 34052))
+;;;;;;  "progmodes/tcl.el" (20164 29468))
 ;;; Generated autoloads from progmodes/tcl.el
 
 (autoload 'tcl-mode "tcl" "\
@@ -27909,7 +27924,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
 
 ;;;***
 \f
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20119 34052))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (20077 56412))
 ;;; Generated autoloads from net/telnet.el
 
 (autoload 'telnet "telnet" "\
@@ -27935,7 +27950,7 @@ Normally input is edited in Emacs and sent a line at a time.
 ;;;***
 \f
 ;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from term.el
 
 (autoload 'make-term "term" "\
@@ -27977,8 +27992,8 @@ use in that buffer.
 
 ;;;***
 \f
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (20167
+;;;;;;  36967))
 ;;; Generated autoloads from terminal.el
 
 (autoload 'terminal-emulator "terminal" "\
@@ -28015,7 +28030,7 @@ subprocess started.
 ;;;***
 \f
 ;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20172 54913))
 ;;; Generated autoloads from emacs-lisp/testcover.el
 
 (autoload 'testcover-this-defun "testcover" "\
@@ -28025,7 +28040,7 @@ Start coverage on function under point.
 
 ;;;***
 \f
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (20119 34052))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19889 21967))
 ;;; Generated autoloads from play/tetris.el
 
 (autoload 'tetris "tetris" "\
@@ -28056,7 +28071,7 @@ tetris-mode keybindings:
 ;;;;;;  tex-start-commands tex-start-options slitex-run-command latex-run-command
 ;;;;;;  tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
 ;;;;;;  tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
-;;;;;;  (20134 8463))
+;;;;;;  (20178 7273))
 ;;; Generated autoloads from textmodes/tex-mode.el
 
 (defvar tex-shell-file-name nil "\
@@ -28358,7 +28373,7 @@ Major mode to edit DocTeX files.
 ;;;***
 \f
 ;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;;  "texinfmt" "textmodes/texinfmt.el" (20119 34052))
+;;;;;;  "texinfmt" "textmodes/texinfmt.el" (20183 25152))
 ;;; Generated autoloads from textmodes/texinfmt.el
 
 (autoload 'texinfo-format-buffer "texinfmt" "\
@@ -28398,7 +28413,7 @@ if large.  You can use `Info-split' to do this manually.
 ;;;***
 \f
 ;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
-;;;;;;  "texinfo" "textmodes/texinfo.el" (20119 34052))
+;;;;;;  "texinfo" "textmodes/texinfo.el" (19845 45374))
 ;;; Generated autoloads from textmodes/texinfo.el
 
 (defvar texinfo-open-quote (purecopy "``") "\
@@ -28484,7 +28499,7 @@ value of `texinfo-mode-hook'.
 \f
 ;;;### (autoloads (thai-composition-function thai-compose-buffer
 ;;;;;;  thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from language/thai-util.el
 
 (autoload 'thai-compose-region "thai-util" "\
@@ -28513,7 +28528,7 @@ Compose Thai characters in the current buffer.
 \f
 ;;;### (autoloads (list-at-point number-at-point symbol-at-point
 ;;;;;;  sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
-;;;;;;  "thingatpt" "thingatpt.el" (20119 34052))
+;;;;;;  "thingatpt" "thingatpt.el" (19990 55648))
 ;;; Generated autoloads from thingatpt.el
 
 (autoload 'forward-thing "thingatpt" "\
@@ -28576,7 +28591,7 @@ Return the Lisp list at point, or nil if none is found.
 \f
 ;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked
 ;;;;;;  thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from thumbs.el
 
 (autoload 'thumbs-find-thumb "thumbs" "\
@@ -28614,8 +28629,8 @@ In dired, call the setroot program on the image at point.
 ;;;;;;  tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer
 ;;;;;;  tibetan-decompose-string tibetan-decompose-region tibetan-compose-region
 ;;;;;;  tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription
-;;;;;;  tibetan-char-p) "tibet-util" "language/tibet-util.el" (20119
-;;;;;;  34052))
+;;;;;;  tibetan-char-p) "tibet-util" "language/tibet-util.el" (20175
+;;;;;;  31160))
 ;;; Generated autoloads from language/tibet-util.el
 
 (autoload 'tibetan-char-p "tibet-util" "\
@@ -28689,7 +28704,7 @@ See also docstring of the function tibetan-compose-region.
 ;;;***
 \f
 ;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from textmodes/tildify.el
 
 (autoload 'tildify-region "tildify" "\
@@ -28714,7 +28729,7 @@ This function performs no refilling of the changed text.
 \f
 ;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
 ;;;;;;  display-time-mode display-time display-time-day-and-date)
-;;;;;;  "time" "time.el" (20126 50604))
+;;;;;;  "time" "time.el" (20127 62865))
 ;;; Generated autoloads from time.el
 
 (defvar display-time-day-and-date nil "\
@@ -28780,7 +28795,7 @@ Return a string giving the duration of the Emacs initialization.
 ;;;;;;  time-to-day-in-year date-leap-year-p days-between date-to-day
 ;;;;;;  time-add time-subtract time-since days-to-time time-less-p
 ;;;;;;  seconds-to-time date-to-time) "time-date" "calendar/time-date.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19885 24894))
 ;;; Generated autoloads from calendar/time-date.el
 
 (autoload 'date-to-time "time-date" "\
@@ -28894,7 +28909,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'.
 ;;;***
 \f
 ;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;;  "time-stamp.el" (20119 34052))
+;;;;;;  "time-stamp.el" (20033 22846))
 ;;; 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)
@@ -28938,7 +28953,7 @@ With ARG, turn time stamping on if and only if arg is positive.
 ;;;;;;  timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out
 ;;;;;;  timeclock-change timeclock-status-string timeclock-out timeclock-in
 ;;;;;;  timeclock-modeline-display) "timeclock" "calendar/timeclock.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20165 31925))
 ;;; Generated autoloads from calendar/timeclock.el
 
 (autoload 'timeclock-modeline-display "timeclock" "\
@@ -29038,7 +29053,7 @@ relative only to the time worked today, and not to past time.
 ;;;***
 \f
 ;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;;  "international/titdic-cnv.el" (20119 34052))
+;;;;;;  "international/titdic-cnv.el" (20175 31160))
 ;;; Generated autoloads from international/titdic-cnv.el
 
 (autoload 'titdic-convert "titdic-cnv" "\
@@ -29061,7 +29076,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\".
 ;;;***
 \f
 ;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;;  "tmm.el" (20119 34052))
+;;;;;;  "tmm.el" (20163 39903))
 ;;; Generated autoloads from tmm.el
  (define-key global-map "\M-`" 'tmm-menubar)
  (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -29101,7 +29116,7 @@ Its value should be an event that has a binding in MENU.
 \f
 ;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities
 ;;;;;;  todo-insert-item todo-add-item-non-interactively todo-add-category)
-;;;;;;  "todo-mode" "calendar/todo-mode.el" (20119 34052))
+;;;;;;  "todo-mode" "calendar/todo-mode.el" (20168 57844))
 ;;; Generated autoloads from calendar/todo-mode.el
 
 (autoload 'todo-add-category "todo-mode" "\
@@ -29161,7 +29176,7 @@ Show TODO list.
 \f
 ;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
 ;;;;;;  tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame)
-;;;;;;  "tool-bar" "tool-bar.el" (20126 50619))
+;;;;;;  "tool-bar" "tool-bar.el" (20127 62865))
 ;;; Generated autoloads from tool-bar.el
 
 (autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -29232,7 +29247,7 @@ holds a keymap.
 ;;;***
 \f
 ;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;;  (20140 44316))
+;;;;;;  (20141 9296))
 ;;; Generated autoloads from emulation/tpu-edt.el
 
 (defvar tpu-edt-mode nil "\
@@ -29259,7 +29274,7 @@ Turn on TPU/edt emulation.
 ;;;***
 \f
 ;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from emulation/tpu-mapper.el
 
 (autoload 'tpu-mapper "tpu-mapper" "\
@@ -29293,7 +29308,7 @@ your local X guru can try to figure out why the key is being ignored.
 
 ;;;***
 \f
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (20119 34052))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19845 45374))
 ;;; Generated autoloads from emacs-lisp/tq.el
 
 (autoload 'tq-create "tq" "\
@@ -29307,7 +29322,7 @@ to a tcp server on another machine.
 ;;;***
 \f
 ;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;;  "trace" "emacs-lisp/trace.el" (20119 34052))
+;;;;;;  "trace" "emacs-lisp/trace.el" (19845 45374))
 ;;; Generated autoloads from emacs-lisp/trace.el
 
 (defvar trace-buffer (purecopy "*trace-output*") "\
@@ -29344,7 +29359,7 @@ BUFFER defaults to `trace-buffer'.
 ;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
 ;;;;;;  tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
 ;;;;;;  tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
-;;;;;;  "net/tramp.el" (20127 27092))
+;;;;;;  "net/tramp.el" (20179 28130))
 ;;; Generated autoloads from net/tramp.el
 
 (defvar tramp-mode t "\
@@ -29477,7 +29492,7 @@ Discard Tramp from loading remote files.
 ;;;***
 \f
 ;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19946 29209))
 ;;; Generated autoloads from net/tramp-ftp.el
 
 (autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -29487,8 +29502,8 @@ Discard Tramp from loading remote files.
 
 ;;;***
 \f
-;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20140
-;;;;;;  41907))
+;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (20176
+;;;;;;  51947))
 ;;; Generated autoloads from tutorial.el
 
 (autoload 'help-with-tutorial "tutorial" "\
@@ -29513,7 +29528,7 @@ resumed later.
 ;;;***
 \f
 ;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from language/tv-util.el
 
 (autoload 'tai-viet-composition-function "tv-util" "\
@@ -29524,7 +29539,7 @@ resumed later.
 ;;;***
 \f
 ;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;;  "textmodes/two-column.el" (20140 44080))
+;;;;;;  "textmodes/two-column.el" (20141 9296))
 ;;; Generated autoloads from textmodes/two-column.el
  (autoload '2C-command "two-column" () t 'keymap)
  (global-set-key "\C-x6" '2C-command)
@@ -29575,7 +29590,7 @@ First column's text    sSs  Second column's text
 ;;;;;;  type-break type-break-mode type-break-keystroke-threshold
 ;;;;;;  type-break-good-break-interval type-break-good-rest-interval
 ;;;;;;  type-break-interval type-break-mode) "type-break" "type-break.el"
-;;;;;;  (20126 50662))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from type-break.el
 
 (defvar type-break-mode nil "\
@@ -29757,7 +29772,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
 
 ;;;***
 \f
-;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (20119 34052))
+;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19845 45374))
 ;;; Generated autoloads from mail/uce.el
 
 (autoload 'uce-reply-to-uce "uce" "\
@@ -29775,7 +29790,7 @@ You might need to set `uce-mail-reader' before using this.
 ;;;;;;  ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string
 ;;;;;;  ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region
 ;;;;;;  ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize"
-;;;;;;  "international/ucs-normalize.el" (20119 34052))
+;;;;;;  "international/ucs-normalize.el" (20052 53218))
 ;;; Generated autoloads from international/ucs-normalize.el
 
 (autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -29841,7 +29856,7 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus.
 ;;;***
 \f
 ;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;;  "textmodes/underline.el" (20119 34052))
+;;;;;;  "textmodes/underline.el" (19845 45374))
 ;;; Generated autoloads from textmodes/underline.el
 
 (autoload 'underline-region "underline" "\
@@ -29862,7 +29877,7 @@ which specify the range to operate on.
 ;;;***
 \f
 ;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20172 54913))
 ;;; Generated autoloads from mail/unrmail.el
 
 (autoload 'batch-unrmail "unrmail" "\
@@ -29881,8 +29896,8 @@ Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE.
 
 ;;;***
 \f
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from emacs-lisp/unsafep.el
 
 (autoload 'unsafep "unsafep" "\
@@ -29895,7 +29910,7 @@ UNSAFEP-VARS is a list of symbols with local bindings.
 ;;;***
 \f
 ;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
-;;;;;;  "url/url.el" (20119 34052))
+;;;;;;  "url/url.el" (20162 19074))
 ;;; Generated autoloads from url/url.el
 
 (autoload 'url-retrieve "url" "\
@@ -29937,7 +29952,7 @@ no further processing).  URL is either a string or a parsed URL.
 ;;;***
 \f
 ;;;### (autoloads (url-register-auth-scheme url-get-authentication)
-;;;;;;  "url-auth" "url/url-auth.el" (20119 34052))
+;;;;;;  "url-auth" "url/url-auth.el" (19845 45374))
 ;;; Generated autoloads from url/url-auth.el
 
 (autoload 'url-get-authentication "url-auth" "\
@@ -29979,7 +29994,7 @@ RATING   a rating between 1 and 10 of the strength of the authentication.
 ;;;***
 \f
 ;;;### (autoloads (url-cache-extract url-is-cached url-store-in-cache)
-;;;;;;  "url-cache" "url/url-cache.el" (20119 34052))
+;;;;;;  "url-cache" "url/url-cache.el" (19988 13913))
 ;;; Generated autoloads from url/url-cache.el
 
 (autoload 'url-store-in-cache "url-cache" "\
@@ -30000,7 +30015,7 @@ Extract FNAM from the local disk cache.
 
 ;;;***
 \f
-;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (20119 34052))
+;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19845 45374))
 ;;; Generated autoloads from url/url-cid.el
 
 (autoload 'url-cid "url-cid" "\
@@ -30011,7 +30026,7 @@ Extract FNAM from the local disk cache.
 ;;;***
 \f
 ;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
-;;;;;;  "url/url-dav.el" (20119 34052))
+;;;;;;  "url/url-dav.el" (20168 57844))
 ;;; Generated autoloads from url/url-dav.el
 
 (autoload 'url-dav-supported-p "url-dav" "\
@@ -30026,8 +30041,8 @@ Extract FNAM from the local disk cache.
 
 ;;;***
 \f
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19845
+;;;;;;  45374))
 ;;; Generated autoloads from url/url-file.el
 
 (autoload 'url-file "url-file" "\
@@ -30038,7 +30053,7 @@ Handle file: and ftp: URLs.
 ;;;***
 \f
 ;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;;  "url/url-gw.el" (20119 34052))
+;;;;;;  "url/url-gw.el" (19864 29553))
 ;;; Generated autoloads from url/url-gw.el
 
 (autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -30058,7 +30073,7 @@ Might do a non-blocking connection; use `process-status' to check.
 \f
 ;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
 ;;;;;;  url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el"
-;;;;;;  (20127 23866))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from url/url-handlers.el
 
 (defvar url-handler-mode nil "\
@@ -30113,7 +30128,7 @@ accessible.
 ;;;***
 \f
 ;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;;  url-http) "url-http" "url/url-http.el" (20119 34052))
+;;;;;;  url-http) "url-http" "url/url-http.el" (20167 36967))
 ;;; Generated autoloads from url/url-http.el
 
 (autoload 'url-http "url-http" "\
@@ -30179,7 +30194,7 @@ HTTPS retrievals are asynchronous.")
 
 ;;;***
 \f
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (20119 34052))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19845 45374))
 ;;; Generated autoloads from url/url-irc.el
 
 (autoload 'url-irc "url-irc" "\
@@ -30189,8 +30204,8 @@ HTTPS retrievals are asynchronous.")
 
 ;;;***
 \f
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20119
-;;;;;;  34052))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (20164
+;;;;;;  60780))
 ;;; Generated autoloads from url/url-ldap.el
 
 (autoload 'url-ldap "url-ldap" "\
@@ -30204,7 +30219,7 @@ URL can be a URL string, or a URL vector of the type returned by
 ;;;***
 \f
 ;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from url/url-mailto.el
 
 (autoload 'url-mail "url-mailto" "\
@@ -30220,7 +30235,7 @@ Handle the mailto: URL syntax.
 ;;;***
 \f
 ;;;### (autoloads (url-data url-generic-emulator-loader url-info
-;;;;;;  url-man) "url-misc" "url/url-misc.el" (20119 34052))
+;;;;;;  url-man) "url-misc" "url/url-misc.el" (19845 45374))
 ;;; Generated autoloads from url/url-misc.el
 
 (autoload 'url-man "url-misc" "\
@@ -30252,7 +30267,7 @@ Fetch a data URL (RFC 2397).
 ;;;***
 \f
 ;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from url/url-news.el
 
 (autoload 'url-news "url-news" "\
@@ -30269,7 +30284,7 @@ Fetch a data URL (RFC 2397).
 \f
 ;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
 ;;;;;;  dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from url/url-ns.el
 
 (autoload 'isPlainHostName "url-ns" "\
@@ -30310,7 +30325,7 @@ Fetch a data URL (RFC 2397).
 ;;;***
 \f
 ;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;;  "url/url-parse.el" (20119 34052))
+;;;;;;  "url/url-parse.el" (19845 45374))
 ;;; Generated autoloads from url/url-parse.el
 
 (autoload 'url-recreate-url "url-parse" "\
@@ -30328,7 +30343,7 @@ TYPE USER PASSWORD HOST PORTSPEC FILENAME TARGET ATTRIBUTES FULLNESS.
 ;;;***
 \f
 ;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from url/url-privacy.el
 
 (autoload 'url-setup-privacy-info "url-privacy" "\
@@ -30339,7 +30354,7 @@ Setup variables that expose info about you and your system.
 ;;;***
 \f
 ;;;### (autoloads (url-queue-retrieve) "url-queue" "url/url-queue.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19943 25429))
 ;;; Generated autoloads from url/url-queue.el
 
 (autoload 'url-queue-retrieve "url-queue" "\
@@ -30358,7 +30373,7 @@ controls the level of parallelism via the
 ;;;;;;  url-pretty-length url-strip-leading-spaces url-eat-trailing-space
 ;;;;;;  url-get-normalized-date url-lazy-message url-normalize-url
 ;;;;;;  url-insert-entities-in-string url-parse-args url-debug url-debug)
-;;;;;;  "url-util" "url/url-util.el" (20119 34052))
+;;;;;;  "url-util" "url/url-util.el" (19867 59212))
 ;;; Generated autoloads from url/url-util.el
 
 (defvar url-debug nil "\
@@ -30494,7 +30509,7 @@ This uses `url-current-object', set locally to the buffer.
 ;;;***
 \f
 ;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;;  "userlock" "userlock.el" (20119 34052))
+;;;;;;  "userlock" "userlock.el" (19845 45374))
 ;;; Generated autoloads from userlock.el
 
 (autoload 'ask-user-about-lock "userlock" "\
@@ -30524,7 +30539,7 @@ The buffer in question is current when this function is called.
 \f
 ;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion
 ;;;;;;  utf-7-imap-post-read-conversion utf-7-post-read-conversion)
-;;;;;;  "utf-7" "international/utf-7.el" (20119 34052))
+;;;;;;  "utf-7" "international/utf-7.el" (19845 45374))
 ;;; Generated autoloads from international/utf-7.el
 
 (autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -30549,7 +30564,7 @@ The buffer in question is current when this function is called.
 
 ;;;***
 \f
-;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (20119 34052))
+;;;### (autoloads (utf7-encode) "utf7" "gnus/utf7.el" (19845 45374))
 ;;; Generated autoloads from gnus/utf7.el
 
 (autoload 'utf7-encode "utf7" "\
@@ -30561,7 +30576,7 @@ Encode UTF-7 STRING.  Use IMAP modification if FOR-IMAP is non-nil.
 \f
 ;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
 ;;;;;;  uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from mail/uudecode.el
 
 (autoload 'uudecode-decode-region-external "uudecode" "\
@@ -30591,8 +30606,8 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
 ;;;;;;  vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers
 ;;;;;;  vc-revision-other-window vc-root-diff vc-ediff vc-version-ediff
 ;;;;;;  vc-diff vc-version-diff vc-register vc-next-action vc-before-checkin-hook
-;;;;;;  vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20128
-;;;;;;  38948))
+;;;;;;  vc-checkin-hook vc-checkout-hook) "vc" "vc/vc.el" (20172
+;;;;;;  54913))
 ;;; Generated autoloads from vc/vc.el
 
 (defvar vc-checkout-hook nil "\
@@ -30875,7 +30890,7 @@ Return the branch part of a revision number REV.
 ;;;***
 \f
 ;;;### (autoloads (vc-annotate) "vc-annotate" "vc/vc-annotate.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19920 63959))
 ;;; Generated autoloads from vc/vc-annotate.el
 
 (autoload 'vc-annotate "vc-annotate" "\
@@ -30912,7 +30927,7 @@ mode-specific menu.  `vc-annotate-color-map' and
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20119 34052))
+;;;### (autoloads nil "vc-arch" "vc/vc-arch.el" (20168 57844))
 ;;; Generated autoloads from vc/vc-arch.el
  (defun vc-arch-registered (file)
   (if (vc-find-root file "{arch}/=tagging-method")
@@ -30922,13 +30937,14 @@ mode-specific menu.  `vc-annotate-color-map' and
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20127 27092))
+;;;### (autoloads nil "vc-bzr" "vc/vc-bzr.el" (20174 10230))
 ;;; Generated autoloads from vc/vc-bzr.el
 
 (defconst vc-bzr-admin-dirname ".bzr" "\
 Name of the directory containing Bzr repository status files.")
 
-(defconst vc-bzr-admin-checkout-format-file (concat vc-bzr-admin-dirname "/checkout/format"))
+(defconst vc-bzr-admin-checkout-format-file (concat vc-bzr-admin-dirname "/checkout/format") "\
+Name of the format file in a .bzr directory.")
  (defun vc-bzr-registered (file)
   (if (vc-find-root file vc-bzr-admin-checkout-format-file)
       (progn
@@ -30937,9 +30953,10 @@ Name of the directory containing Bzr repository status files.")
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20119 34052))
+;;;### (autoloads nil "vc-cvs" "vc/vc-cvs.el" (20174 10230))
 ;;; Generated autoloads from vc/vc-cvs.el
- (defun vc-cvs-registered (f)
+(defun vc-cvs-registered (f)
+  "Return non-nil if file F is registered with CVS."
   (when (file-readable-p (expand-file-name
                          "CVS/Entries" (file-name-directory f)))
       (load "vc-cvs")
@@ -30947,7 +30964,7 @@ Name of the directory containing Bzr repository status files.")
 
 ;;;***
 \f
-;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20119 34052))
+;;;### (autoloads (vc-dir) "vc-dir" "vc/vc-dir.el" (20168 57844))
 ;;; Generated autoloads from vc/vc-dir.el
 
 (autoload 'vc-dir "vc-dir" "\
@@ -30972,7 +30989,7 @@ These are the commands available for use in the file status buffer:
 ;;;***
 \f
 ;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc/vc-dispatcher.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from vc/vc-dispatcher.el
 
 (autoload 'vc-do-command "vc-dispatcher" "\
@@ -30995,7 +31012,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20119 34052))
+;;;### (autoloads nil "vc-git" "vc/vc-git.el" (20087 5852))
 ;;; Generated autoloads from vc/vc-git.el
  (defun vc-git-registered (file)
   "Return non-nil if FILE is registered with git."
@@ -31006,7 +31023,7 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (20119 34052))
+;;;### (autoloads nil "vc-hg" "vc/vc-hg.el" (19845 45374))
 ;;; Generated autoloads from vc/vc-hg.el
  (defun vc-hg-registered (file)
   "Return non-nil if FILE is registered with hg."
@@ -31017,12 +31034,14 @@ case, and the process object in the asynchronous case.
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20119 34052))
+;;;### (autoloads nil "vc-mtn" "vc/vc-mtn.el" (20174 10230))
 ;;; Generated autoloads from vc/vc-mtn.el
 
-(defconst vc-mtn-admin-dir "_MTN")
+(defconst vc-mtn-admin-dir "_MTN" "\
+Name of the monotone directory.")
 
-(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format"))
+(defconst vc-mtn-admin-format (concat vc-mtn-admin-dir "/format") "\
+Name of the monotone directory's format file.")
  (defun vc-mtn-registered (file)
   (if (vc-find-root file vc-mtn-admin-format)
       (progn
@@ -31032,7 +31051,7 @@ case, and the process object in the asynchronous case.
 ;;;***
 \f
 ;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc/vc-rcs.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20161 45793))
 ;;; Generated autoloads from vc/vc-rcs.el
 
 (defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -31046,7 +31065,7 @@ For a description of possible values, see `vc-check-master-templates'.")
 ;;;***
 \f
 ;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc/vc-sccs.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19845 45374))
 ;;; Generated autoloads from vc/vc-sccs.el
 
 (defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -31063,7 +31082,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
 
 ;;;***
 \f
-;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20119 34052))
+;;;### (autoloads nil "vc-svn" "vc/vc-svn.el" (20162 19074))
 ;;; Generated autoloads from vc/vc-svn.el
  (defun vc-svn-registered (f)
   (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -31077,7 +31096,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
 ;;;***
 \f
 ;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
-;;;;;;  (20129 34267))
+;;;;;;  (20131 59880))
 ;;; Generated autoloads from progmodes/vera-mode.el
  (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'")  'vera-mode))
 
@@ -31135,7 +31154,7 @@ Key bindings:
 ;;;***
 \f
 ;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20183 25152))
 ;;; Generated autoloads from progmodes/verilog-mode.el
 
 (autoload 'verilog-mode "verilog-mode" "\
@@ -31242,6 +31261,8 @@ Some other functions are:
     \\[verilog-sk-initial]  Insert an initial begin .. end block.
     \\[verilog-sk-fork]  Insert a fork begin .. end .. join block.
     \\[verilog-sk-module]  Insert a module .. (/*AUTOARG*/);.. endmodule block.
+    \\[verilog-sk-ovm-class]  Insert an OVM Class block.
+    \\[verilog-sk-uvm-class]  Insert an UVM Class block.
     \\[verilog-sk-primitive]  Insert a primitive .. (.. );.. endprimitive block.
     \\[verilog-sk-repeat]  Insert a repeat (..) begin .. end block.
     \\[verilog-sk-specify]  Insert a specify .. endspecify block.
@@ -31272,7 +31293,7 @@ Key bindings specific to `verilog-mode-map' are:
 ;;;***
 \f
 ;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;;  (20127 25049))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from progmodes/vhdl-mode.el
 
 (autoload 'vhdl-mode "vhdl-mode" "\
@@ -31724,10 +31745,10 @@ Usage:
 
 
   PRINTING:
-    Postscript printing with different faces (an optimized set of faces is
+    PostScript printing with different faces (an optimized set of faces is
     used if `vhdl-print-customize-faces' is non-nil) or colors (if
     `ps-print-color-p' is non-nil) is possible using the standard Emacs
-    postscript printing commands.  Option `vhdl-print-two-column' defines
+    PostScript printing commands.  Option `vhdl-print-two-column' defines
     appropriate default settings for nice landscape two-column printing.
     The paper format can be set by option `ps-paper-type'.  Do not forget to
     switch `ps-print-color-p' to nil for printing on black-and-white
@@ -31813,7 +31834,7 @@ Key bindings:
 
 ;;;***
 \f
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20119 34052))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (20104 14925))
 ;;; Generated autoloads from emulation/vi.el
 
 (autoload 'vi-mode "vi" "\
@@ -31868,7 +31889,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
 ;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
 ;;;;;;  viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
 ;;;;;;  viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
-;;;;;;  "language/viet-util.el" (20119 34052))
+;;;;;;  "language/viet-util.el" (19845 45374))
 ;;; Generated autoloads from language/viet-util.el
 
 (autoload 'viet-encode-viscii-char "viet-util" "\
@@ -31916,7 +31937,7 @@ Convert Vietnamese characters of the current buffer to `VIQR' mnemonics.
 ;;;;;;  view-mode view-buffer-other-frame view-buffer-other-window
 ;;;;;;  view-buffer view-file-other-frame view-file-other-window
 ;;;;;;  view-file kill-buffer-if-not-modified view-remove-frame-by-deleting)
-;;;;;;  "view" "view.el" (20126 50686))
+;;;;;;  "view" "view.el" (20174 10230))
 ;;; Generated autoloads from view.el
 
 (defvar view-remove-frame-by-deleting t "\
@@ -32158,8 +32179,8 @@ Exit View mode and make the current buffer editable.
 
 ;;;***
 \f
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20140
-;;;;;;  44329))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (20141
+;;;;;;  9296))
 ;;; Generated autoloads from emulation/vip.el
 
 (autoload 'vip-setup "vip" "\
@@ -32175,7 +32196,7 @@ Turn on VIP emulation of VI.
 ;;;***
 \f
 ;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20167 36967))
 ;;; Generated autoloads from emulation/viper.el
 
 (autoload 'toggle-viper-mode "viper" "\
@@ -32192,7 +32213,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'.
 ;;;***
 \f
 ;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19906 31087))
 ;;; Generated autoloads from emacs-lisp/warnings.el
 
 (defvar warning-prefix-function nil "\
@@ -32282,7 +32303,7 @@ this is equivalent to `display-warning', using
 ;;;***
 \f
 ;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20174 10230))
 ;;; Generated autoloads from wdired.el
 
 (autoload 'wdired-change-to-wdired-mode "wdired" "\
@@ -32298,7 +32319,7 @@ See `wdired-mode'.
 
 ;;;***
 \f
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20119 34052))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (20159 42847))
 ;;; Generated autoloads from net/webjump.el
 
 (autoload 'webjump "webjump" "\
@@ -32315,7 +32336,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
 ;;;***
 \f
 ;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
-;;;;;;  (20127 25007))
+;;;;;;  (20127 62865))
 ;;; Generated autoloads from progmodes/which-func.el
  (put 'which-func-format 'risky-local-variable t)
  (put 'which-func-current 'risky-local-variable t)
@@ -32348,7 +32369,7 @@ in certain major modes.
 ;;;### (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" (20142 405))
+;;;;;;  whitespace-mode) "whitespace" "whitespace.el" (20176 51947))
 ;;; Generated autoloads from whitespace.el
 
 (autoload 'whitespace-mode "whitespace" "\
@@ -32747,7 +32768,7 @@ cleaning up these problems.
 ;;;***
 \f
 ;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (20126 45211))
+;;;;;;  widget-browse-at) "wid-browse" "wid-browse.el" (20127 62865))
 ;;; Generated autoloads from wid-browse.el
 
 (autoload 'widget-browse-at "wid-browse" "\
@@ -32773,8 +32794,8 @@ Minor mode for traversing widgets.
 ;;;***
 \f
 ;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20119
-;;;;;;  34052))
+;;;;;;  widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (20162
+;;;;;;  19074))
 ;;; Generated autoloads from wid-edit.el
 
 (autoload 'widgetp "wid-edit" "\
@@ -32817,8 +32838,8 @@ Setup current buffer so editing string widgets works.
 ;;;***
 \f
 ;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (20119
-;;;;;;  34052))
+;;;;;;  windmove-up windmove-left) "windmove" "windmove.el" (20161
+;;;;;;  45793))
 ;;; Generated autoloads from windmove.el
 
 (autoload 'windmove-left "windmove" "\
@@ -32871,7 +32892,7 @@ Default MODIFIER is 'shift.
 ;;;***
 \f
 ;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;;  (20119 34052))
+;;;;;;  (19998 49767))
 ;;; Generated autoloads from winner.el
 
 (defvar winner-mode nil "\
@@ -32890,7 +32911,7 @@ With arg, turn Winner mode on if and only if arg is positive.
 ;;;***
 \f
 ;;;### (autoloads (woman-bookmark-jump woman-find-file woman-dired-find-file
-;;;;;;  woman woman-locale) "woman" "woman.el" (20119 34052))
+;;;;;;  woman woman-locale) "woman" "woman.el" (20168 57844))
 ;;; Generated autoloads from woman.el
 
 (defvar woman-locale nil "\
@@ -32939,7 +32960,7 @@ Default bookmark handler for Woman buffers.
 ;;;***
 \f
 ;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;;  (20140 44344))
+;;;;;;  (20141 9296))
 ;;; Generated autoloads from emulation/ws-mode.el
 
 (autoload 'wordstar-mode "ws-mode" "\
@@ -33051,7 +33072,7 @@ The key bindings are:
 
 ;;;***
 \f
-;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20127 25788))
+;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (20175 31160))
 ;;; Generated autoloads from net/xesam.el
 
 (autoload 'xesam-search "xesam" "\
@@ -33071,7 +33092,7 @@ Example:
 ;;;***
 \f
 ;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;;  (20119 34052))
+;;;;;;  (20168 57844))
 ;;; Generated autoloads from xml.el
 
 (autoload 'xml-parse-file "xml" "\
@@ -33097,7 +33118,7 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
 ;;;***
 \f
 ;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok"
-;;;;;;  "nxml/xmltok.el" (20119 34052))
+;;;;;;  "nxml/xmltok.el" (19845 45374))
 ;;; Generated autoloads from nxml/xmltok.el
 
 (autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -33115,8 +33136,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT.
 
 ;;;***
 \f
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20126
-;;;;;;  50742))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (20127
+;;;;;;  62865))
 ;;; Generated autoloads from xt-mouse.el
 
 (defvar xterm-mouse-mode nil "\
@@ -33146,7 +33167,7 @@ down the SHIFT key while pressing the mouse button.
 ;;;***
 \f
 ;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;;  "gnus/yenc.el" (20119 34052))
+;;;;;;  "gnus/yenc.el" (19845 45374))
 ;;; Generated autoloads from gnus/yenc.el
 
 (autoload 'yenc-decode-region "yenc" "\
@@ -33162,7 +33183,7 @@ Extract file name from an yenc header.
 ;;;***
 \f
 ;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;;  yow) "yow" "play/yow.el" (20119 34052))
+;;;;;;  yow) "yow" "play/yow.el" (19845 45374))
 ;;; Generated autoloads from play/yow.el
 
 (autoload 'yow "yow" "\
@@ -33188,7 +33209,7 @@ Zippy goes to the analyst.
 
 ;;;***
 \f
-;;;### (autoloads (zone) "zone" "play/zone.el" (20119 34052))
+;;;### (autoloads (zone) "zone" "play/zone.el" (19889 21967))
 ;;; Generated autoloads from play/zone.el
 
 (autoload 'zone "zone" "\
@@ -33204,46 +33225,47 @@ Zone out, completely.
 ;;;;;;  "calc/calc-fin.el" "calc/calc-forms.el" "calc/calc-frac.el"
 ;;;;;;  "calc/calc-funcs.el" "calc/calc-graph.el" "calc/calc-help.el"
 ;;;;;;  "calc/calc-incom.el" "calc/calc-keypd.el" "calc/calc-lang.el"
-;;;;;;  "calc/calc-macs.el" "calc/calc-map.el" "calc/calc-math.el"
-;;;;;;  "calc/calc-menu.el" "calc/calc-misc.el" "calc/calc-mode.el"
-;;;;;;  "calc/calc-mtx.el" "calc/calc-nlfit.el" "calc/calc-poly.el"
-;;;;;;  "calc/calc-prog.el" "calc/calc-rewr.el" "calc/calc-rules.el"
-;;;;;;  "calc/calc-sel.el" "calc/calc-stat.el" "calc/calc-store.el"
-;;;;;;  "calc/calc-stuff.el" "calc/calc-trail.el" "calc/calc-units.el"
-;;;;;;  "calc/calc-vec.el" "calc/calc-yank.el" "calc/calcalg2.el"
-;;;;;;  "calc/calcalg3.el" "calc/calccomp.el" "calc/calcsel2.el"
-;;;;;;  "calendar/cal-bahai.el" "calendar/cal-coptic.el" "calendar/cal-french.el"
-;;;;;;  "calendar/cal-html.el" "calendar/cal-islam.el" "calendar/cal-iso.el"
-;;;;;;  "calendar/cal-julian.el" "calendar/cal-loaddefs.el" "calendar/cal-mayan.el"
-;;;;;;  "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el"
-;;;;;;  "calendar/cal-tex.el" "calendar/cal-x.el" "calendar/diary-loaddefs.el"
-;;;;;;  "calendar/hol-loaddefs.el" "cdl.el" "cedet/cedet-cscope.el"
-;;;;;;  "cedet/cedet-files.el" "cedet/cedet-global.el" "cedet/cedet-idutils.el"
-;;;;;;  "cedet/cedet.el" "cedet/ede/auto.el" "cedet/ede/autoconf-edit.el"
-;;;;;;  "cedet/ede/base.el" "cedet/ede/cpp-root.el" "cedet/ede/custom.el"
-;;;;;;  "cedet/ede/dired.el" "cedet/ede/emacs.el" "cedet/ede/files.el"
-;;;;;;  "cedet/ede/generic.el" "cedet/ede/linux.el" "cedet/ede/locate.el"
-;;;;;;  "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el"
-;;;;;;  "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el"
-;;;;;;  "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el"
-;;;;;;  "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el"
-;;;;;;  "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el"
-;;;;;;  "cedet/ede/project-am.el" "cedet/ede/shell.el" "cedet/ede/simple.el"
-;;;;;;  "cedet/ede/source.el" "cedet/ede/speedbar.el" "cedet/ede/srecode.el"
-;;;;;;  "cedet/ede/system.el" "cedet/ede/util.el" "cedet/inversion.el"
-;;;;;;  "cedet/mode-local.el" "cedet/pulse.el" "cedet/semantic/analyze.el"
-;;;;;;  "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el"
-;;;;;;  "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el"
-;;;;;;  "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el"
-;;;;;;  "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el"
-;;;;;;  "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el"
-;;;;;;  "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el"
-;;;;;;  "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el"
-;;;;;;  "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el"
-;;;;;;  "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el"
-;;;;;;  "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el"
-;;;;;;  "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el"
-;;;;;;  "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
+;;;;;;  "calc/calc-loaddefs.el" "calc/calc-macs.el" "calc/calc-map.el"
+;;;;;;  "calc/calc-math.el" "calc/calc-menu.el" "calc/calc-misc.el"
+;;;;;;  "calc/calc-mode.el" "calc/calc-mtx.el" "calc/calc-nlfit.el"
+;;;;;;  "calc/calc-poly.el" "calc/calc-prog.el" "calc/calc-rewr.el"
+;;;;;;  "calc/calc-rules.el" "calc/calc-sel.el" "calc/calc-stat.el"
+;;;;;;  "calc/calc-store.el" "calc/calc-stuff.el" "calc/calc-trail.el"
+;;;;;;  "calc/calc-units.el" "calc/calc-vec.el" "calc/calc-yank.el"
+;;;;;;  "calc/calcalg2.el" "calc/calcalg3.el" "calc/calccomp.el"
+;;;;;;  "calc/calcsel2.el" "calendar/cal-bahai.el" "calendar/cal-coptic.el"
+;;;;;;  "calendar/cal-french.el" "calendar/cal-html.el" "calendar/cal-islam.el"
+;;;;;;  "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-loaddefs.el"
+;;;;;;  "calendar/cal-mayan.el" "calendar/cal-menu.el" "calendar/cal-move.el"
+;;;;;;  "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el"
+;;;;;;  "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el"
+;;;;;;  "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el"
+;;;;;;  "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el"
+;;;;;;  "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el"
+;;;;;;  "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el"
+;;;;;;  "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el"
+;;;;;;  "cedet/ede/loaddefs.el" "cedet/ede/locate.el" "cedet/ede/make.el"
+;;;;;;  "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" "cedet/ede/pmake.el"
+;;;;;;  "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el"
+;;;;;;  "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el"
+;;;;;;  "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el"
+;;;;;;  "cedet/ede/proj-shared.el" "cedet/ede/proj.el" "cedet/ede/project-am.el"
+;;;;;;  "cedet/ede/shell.el" "cedet/ede/simple.el" "cedet/ede/source.el"
+;;;;;;  "cedet/ede/speedbar.el" "cedet/ede/srecode.el" "cedet/ede/system.el"
+;;;;;;  "cedet/ede/util.el" "cedet/inversion.el" "cedet/mode-local.el"
+;;;;;;  "cedet/pulse.el" "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el"
+;;;;;;  "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el"
+;;;;;;  "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el"
+;;;;;;  "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el"
+;;;;;;  "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el"
+;;;;;;  "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el"
+;;;;;;  "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el"
+;;;;;;  "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el"
+;;;;;;  "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el"
+;;;;;;  "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el"
+;;;;;;  "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el"
+;;;;;;  "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el"
+;;;;;;  "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
 ;;;;;;  "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el"
 ;;;;;;  "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el"
 ;;;;;;  "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el"
@@ -33251,13 +33273,13 @@ Zone out, completely.
 ;;;;;;  "cedet/semantic/fw.el" "cedet/semantic/grammar-wy.el" "cedet/semantic/grammar.el"
 ;;;;;;  "cedet/semantic/html.el" "cedet/semantic/ia-sb.el" "cedet/semantic/ia.el"
 ;;;;;;  "cedet/semantic/idle.el" "cedet/semantic/imenu.el" "cedet/semantic/java.el"
-;;;;;;  "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/mru-bookmark.el"
-;;;;;;  "cedet/semantic/sb.el" "cedet/semantic/scope.el" "cedet/semantic/senator.el"
-;;;;;;  "cedet/semantic/sort.el" "cedet/semantic/symref.el" "cedet/semantic/symref/cscope.el"
-;;;;;;  "cedet/semantic/symref/filter.el" "cedet/semantic/symref/global.el"
-;;;;;;  "cedet/semantic/symref/grep.el" "cedet/semantic/symref/idutils.el"
-;;;;;;  "cedet/semantic/symref/list.el" "cedet/semantic/tag-file.el"
-;;;;;;  "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
+;;;;;;  "cedet/semantic/lex-spp.el" "cedet/semantic/lex.el" "cedet/semantic/loaddefs.el"
+;;;;;;  "cedet/semantic/mru-bookmark.el" "cedet/semantic/sb.el" "cedet/semantic/scope.el"
+;;;;;;  "cedet/semantic/senator.el" "cedet/semantic/sort.el" "cedet/semantic/symref.el"
+;;;;;;  "cedet/semantic/symref/cscope.el" "cedet/semantic/symref/filter.el"
+;;;;;;  "cedet/semantic/symref/global.el" "cedet/semantic/symref/grep.el"
+;;;;;;  "cedet/semantic/symref/idutils.el" "cedet/semantic/symref/list.el"
+;;;;;;  "cedet/semantic/tag-file.el" "cedet/semantic/tag-ls.el" "cedet/semantic/tag-write.el"
 ;;;;;;  "cedet/semantic/tag.el" "cedet/semantic/texi.el" "cedet/semantic/util-modes.el"
 ;;;;;;  "cedet/semantic/util.el" "cedet/semantic/wisent.el" "cedet/semantic/wisent/comp.el"
 ;;;;;;  "cedet/semantic/wisent/java-tags.el" "cedet/semantic/wisent/javascript.el"
@@ -33269,32 +33291,33 @@ Zone out, completely.
 ;;;;;;  "cedet/srecode/el.el" "cedet/srecode/expandproto.el" "cedet/srecode/extract.el"
 ;;;;;;  "cedet/srecode/fields.el" "cedet/srecode/filters.el" "cedet/srecode/find.el"
 ;;;;;;  "cedet/srecode/getset.el" "cedet/srecode/insert.el" "cedet/srecode/java.el"
-;;;;;;  "cedet/srecode/map.el" "cedet/srecode/mode.el" "cedet/srecode/semantic.el"
-;;;;;;  "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el" "cedet/srecode/table.el"
-;;;;;;  "cedet/srecode/template.el" "cedet/srecode/texi.el" "cus-dep.el"
-;;;;;;  "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el" "dos-vars.el"
-;;;;;;  "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el" "emacs-lisp/authors.el"
-;;;;;;  "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el"
-;;;;;;  "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el"
-;;;;;;  "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el"
-;;;;;;  "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-custom.el"
-;;;;;;  "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-opt.el"
-;;;;;;  "emacs-lisp/eieio-speedbar.el" "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el"
-;;;;;;  "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el"
-;;;;;;  "emacs-lisp/regi.el" "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el"
-;;;;;;  "emacs-lisp/tcover-unsafep.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el"
-;;;;;;  "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el"
-;;;;;;  "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el"
-;;;;;;  "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el"
-;;;;;;  "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el"
-;;;;;;  "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el"
-;;;;;;  "erc/erc-lang.el" "eshell/em-alias.el" "eshell/em-banner.el"
-;;;;;;  "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el"
-;;;;;;  "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el"
-;;;;;;  "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el"
-;;;;;;  "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el"
-;;;;;;  "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el"
-;;;;;;  "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el"
+;;;;;;  "cedet/srecode/loaddefs.el" "cedet/srecode/map.el" "cedet/srecode/mode.el"
+;;;;;;  "cedet/srecode/semantic.el" "cedet/srecode/srt-wy.el" "cedet/srecode/srt.el"
+;;;;;;  "cedet/srecode/table.el" "cedet/srecode/template.el" "cedet/srecode/texi.el"
+;;;;;;  "cus-dep.el" "dframe.el" "dired-aux.el" "dired-x.el" "dos-fns.el"
+;;;;;;  "dos-vars.el" "dos-w32.el" "dynamic-setting.el" "emacs-lisp/assoc.el"
+;;;;;;  "emacs-lisp/authors.el" "emacs-lisp/avl-tree.el" "emacs-lisp/bindat.el"
+;;;;;;  "emacs-lisp/byte-opt.el" "emacs-lisp/chart.el" "emacs-lisp/cl-extra.el"
+;;;;;;  "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el"
+;;;;;;  "emacs-lisp/cl-specs.el" "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el"
+;;;;;;  "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-datadebug.el"
+;;;;;;  "emacs-lisp/eieio-opt.el" "emacs-lisp/eieio-speedbar.el"
+;;;;;;  "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el"
+;;;;;;  "emacs-lisp/lisp-mnt.el" "emacs-lisp/package-x.el" "emacs-lisp/regi.el"
+;;;;;;  "emacs-lisp/smie.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el"
+;;;;;;  "emulation/cua-gmrk.el" "emulation/cua-rect.el" "emulation/edt-lk201.el"
+;;;;;;  "emulation/edt-mapper.el" "emulation/edt-pc.el" "emulation/edt-vt100.el"
+;;;;;;  "emulation/tpu-extras.el" "emulation/viper-cmd.el" "emulation/viper-ex.el"
+;;;;;;  "emulation/viper-init.el" "emulation/viper-keym.el" "emulation/viper-macs.el"
+;;;;;;  "emulation/viper-mous.el" "emulation/viper-util.el" "erc/erc-backend.el"
+;;;;;;  "erc/erc-goodies.el" "erc/erc-ibuffer.el" "erc/erc-lang.el"
+;;;;;;  "eshell/em-alias.el" "eshell/em-banner.el" "eshell/em-basic.el"
+;;;;;;  "eshell/em-cmpl.el" "eshell/em-dirs.el" "eshell/em-glob.el"
+;;;;;;  "eshell/em-hist.el" "eshell/em-ls.el" "eshell/em-pred.el"
+;;;;;;  "eshell/em-prompt.el" "eshell/em-rebind.el" "eshell/em-script.el"
+;;;;;;  "eshell/em-smart.el" "eshell/em-term.el" "eshell/em-unix.el"
+;;;;;;  "eshell/em-xtra.el" "eshell/esh-arg.el" "eshell/esh-cmd.el"
+;;;;;;  "eshell/esh-ext.el" "eshell/esh-groups.el" "eshell/esh-io.el"
 ;;;;;;  "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el"
 ;;;;;;  "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el"
 ;;;;;;  "format-spec.el" "forms-d2.el" "forms-pass.el" "fringe.el"
@@ -33397,8 +33420,8 @@ Zone out, completely.
 ;;;;;;  "vc/ediff-init.el" "vc/ediff-merg.el" "vc/ediff-ptch.el"
 ;;;;;;  "vc/ediff-vers.el" "vc/ediff-wind.el" "vc/pcvs-info.el" "vc/pcvs-parse.el"
 ;;;;;;  "vc/pcvs-util.el" "vc/vc-dav.el" "vcursor.el" "vt-control.el"
-;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20142
-;;;;;;  850 416521))
+;;;;;;  "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (20183
+;;;;;;  25444 347950))
 
 ;;;***
 \f
index 0d991a76f520ef006fa3cfbfe050800772b8b85a..aeba3327c405da0a19f29ce86a868908b43c7df1 100644 (file)
@@ -687,7 +687,7 @@ POS defaults to `point'."
          ;; Otherwise record the current column and look backwards.
          (setq column (current-column))
          (skip-chars-backward ",; \t")
-         ;; Record the distance travelled.
+         ;; Record the distance traveled.
          (setq distance (- column (current-column)))
          (when (looking-back
                 (concat "([ \t]*\\(?:" Man-section-regexp "\\)[ \t]*)"))
@@ -754,8 +754,10 @@ POS defaults to `point'."
 
 (defun Man-completion-table (string pred action)
   (cond
-   ((eq action 'lambda)
-    (not (string-match "([^)]*\\'" string)))
+   ;; This ends up returning t for pretty much any string, and hence leads to
+   ;; spurious "complete but not unique" messages.  And since `man' doesn't
+   ;; require-match anyway, there's not point being clever.
+   ;;((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))
index 7ae6912cf8fa88837b493c20d0247e8c73b537e9..a0d2281bfe835f04b4bec4bdc9648496a87c4a27 100644 (file)
@@ -1664,7 +1664,7 @@ good, skip, fatal, or unknown."
           (if (not (and seen-prompt ange-ftp-pending-error-line))
               (ange-ftp-process-handle-line line proc)
             ;; If we've seen a potential error message and it
-            ;; hasn't been cancelled by a good message before
+            ;; hasn't been canceled by a good message before
             ;; seeing a prompt, then the error was real.
             (delete-process proc)
             (setq ange-ftp-process-busy nil
index 941b788ae4de150b63bf2175a9d876ae50a8c57c..ee4c8966626d3309360338d3380087290218bd9e 100644 (file)
@@ -1042,9 +1042,9 @@ target of the symlink differ."
       (tramp-flush-file-property l (file-name-directory l-localname))
       (tramp-flush-file-property l l-localname)
 
-      ;; Right, they are on the same host, regardless of user, method, etc.
-      ;; We now make the link on the remote machine. This will occur as the user
-      ;; that FILENAME belongs to.
+      ;; Right, they are on the same host, regardless of user, method,
+      ;; etc.  We now make the link on the remote machine. This will
+      ;; occur as the user that FILENAME belongs to.
       (tramp-send-command-and-check
        l
        (format
@@ -4224,148 +4224,166 @@ connection if a previous connection has died for some reason."
         (setq p nil)))
 
       ;; New connection must be opened.
-      (unless (and p (processp p) (memq (process-status p) '(run open)))
-
-       ;; We call `tramp-get-buffer' in order to get a debug buffer for
-       ;; messages from the beginning.
-       (tramp-get-buffer vec)
-       (tramp-with-progress-reporter
-           vec 3
-           (if (zerop (length (tramp-file-name-user vec)))
-               (format "Opening connection for %s using %s"
-                       (tramp-file-name-host vec)
-                       (tramp-file-name-method vec))
-             (format "Opening connection for %s@%s using %s"
-                     (tramp-file-name-user vec)
-                     (tramp-file-name-host vec)
-                     (tramp-file-name-method vec)))
-
-         ;; Start new process.
-         (when (and p (processp p))
-           (delete-process p))
-         (setenv "TERM" tramp-terminal-type)
-         (setenv "LC_ALL" "C")
-         (setenv "PROMPT_COMMAND")
-         (setenv "PS1" tramp-initial-end-of-output)
-         (let* ((target-alist (tramp-compute-multi-hops vec))
-                (process-connection-type tramp-process-connection-type)
-                (process-adaptive-read-buffering nil)
-                (coding-system-for-read nil)
-                ;; This must be done in order to avoid our file name handler.
-                (p (let ((default-directory
-                           (tramp-compat-temporary-file-directory)))
-                     (apply
-                      'start-process
-                      (tramp-get-connection-name vec)
-                      (tramp-get-connection-buffer vec)
-                      (if tramp-encoding-command-interactive
-                          (list tramp-encoding-shell
-                                tramp-encoding-command-interactive)
-                        (list tramp-encoding-shell))))))
-
-           ;; Set sentinel and query flag.
-           (tramp-set-connection-property p "vector" vec)
-           (set-process-sentinel p 'tramp-process-sentinel)
-           (tramp-compat-set-process-query-on-exit-flag p nil)
+      (condition-case err
+         (unless (and p (processp p) (memq (process-status p) '(run open)))
+
+           ;; We call `tramp-get-buffer' in order to get a debug
+           ;; buffer for messages from the beginning.
+           (tramp-get-buffer vec)
+           (tramp-with-progress-reporter
+               vec 3
+               (if (zerop (length (tramp-file-name-user vec)))
+                   (format "Opening connection for %s using %s"
+                           (tramp-file-name-host vec)
+                           (tramp-file-name-method vec))
+                 (format "Opening connection for %s@%s using %s"
+                         (tramp-file-name-user vec)
+                         (tramp-file-name-host vec)
+                         (tramp-file-name-method vec)))
+
+             ;; Start new process.
+             (when (and p (processp p))
+               (delete-process p))
+             (setenv "TERM" tramp-terminal-type)
+             (setenv "LC_ALL" "C")
+             (setenv "PROMPT_COMMAND")
+             (setenv "PS1" tramp-initial-end-of-output)
+             (let* ((target-alist (tramp-compute-multi-hops vec))
+                    (process-connection-type tramp-process-connection-type)
+                    (process-adaptive-read-buffering nil)
+                    (coding-system-for-read nil)
+                    ;; This must be done in order to avoid our file
+                    ;; name handler.
+                    (p (let ((default-directory
+                               (tramp-compat-temporary-file-directory)))
+                         (apply
+                          'start-process
+                          (tramp-get-connection-name vec)
+                          (tramp-get-connection-buffer vec)
+                          (if tramp-encoding-command-interactive
+                              (list tramp-encoding-shell
+                                    tramp-encoding-command-interactive)
+                            (list tramp-encoding-shell))))))
+
+               ;; Set sentinel and query flag.
+               (tramp-set-connection-property p "vector" vec)
+               (set-process-sentinel p 'tramp-process-sentinel)
+               (tramp-compat-set-process-query-on-exit-flag p nil)
 
-           (tramp-message
-            vec 6 "%s" (mapconcat 'identity (process-command p) " "))
-
-           ;; Check whether process is alive.
-           (tramp-barf-if-no-shell-prompt
-            p 60 "Couldn't find local shell prompt %s" tramp-encoding-shell)
-
-           ;; Now do all the connections as specified.
-           (while target-alist
-             (let* ((hop (car target-alist))
-                    (l-method (tramp-file-name-method hop))
-                    (l-user (tramp-file-name-user hop))
-                    (l-host (tramp-file-name-host hop))
-                    (l-port nil)
-                    (login-program
-                     (tramp-get-method-parameter
-                      l-method 'tramp-login-program))
-                    (login-args
-                     (tramp-get-method-parameter l-method 'tramp-login-args))
-                    (async-args
-                     (tramp-get-method-parameter l-method 'tramp-async-args))
-                    (gw-args
-                     (tramp-get-method-parameter l-method 'tramp-gw-args))
-                    (gw (tramp-get-file-property hop "" "gateway" nil))
-                    (g-method (and gw (tramp-file-name-method gw)))
-                    (g-user (and gw (tramp-file-name-user gw)))
-                    (g-host (and gw (tramp-file-name-real-host gw)))
-                    (command login-program)
-                    ;; We don't create the temporary file.  In fact,
-                    ;; it is just a prefix for the ControlPath option
-                    ;; of ssh; the real temporary file has another
-                    ;; name, and it is created and protected by ssh.
-                    ;; It is also removed by ssh when the connection
-                    ;; is closed.
-                    (tmpfile
-                     (tramp-set-connection-property
-                      p "temp-file"
-                      (make-temp-name
-                       (expand-file-name
-                        tramp-temp-name-prefix
-                        (tramp-compat-temporary-file-directory)))))
-                    spec)
-
-               ;; Add arguments for asynchronous processes.
-               (when (and process-name async-args)
-                 (setq login-args (append async-args login-args)))
-
-               ;; Add gateway arguments if necessary.
-               (when (and gw gw-args)
-                 (setq login-args (append gw-args login-args)))
-
-               ;; Check for port number.  Until now, there's no need
-               ;; for handling like method, user, host.
-               (when (string-match tramp-host-with-port-regexp l-host)
-               (setq l-port (match-string 2 l-host)
-                     l-host (match-string 1 l-host)))
-
-               ;; Set variables for computing the prompt for reading
-               ;; password.  They can also be derived from a gateway.
-               (setq tramp-current-method (or g-method l-method)
-                     tramp-current-user   (or g-user   l-user)
-                     tramp-current-host   (or g-host   l-host))
-
-               ;; Replace login-args place holders.
-               (setq
-                l-host (or l-host "")
-                l-user (or l-user "")
-                l-port (or l-port "")
-                spec (format-spec-make
-                      ?h l-host ?u l-user ?p l-port ?t tmpfile)
-                command
-                (concat
-                 ;; We do not want to see the trailing local prompt in
-                 ;; `start-file-process'.
-                 (unless (memq system-type '(windows-nt)) "exec ")
-                 command " "
-                 (mapconcat
-                  (lambda (x)
-                    (setq x (mapcar (lambda (y) (format-spec y spec)) x))
-                    (unless (member "" x) (mapconcat 'identity x " ")))
-                  login-args " ")
-                 ;; Local shell could be a Windows COMSPEC.  It
-                 ;; doesn't know the ";" syntax, but we must exit
-                 ;; always for `start-file-process'.  "exec" does not
-                 ;; work either.
-                 (if (memq system-type '(windows-nt)) " && exit || exit")))
-
-               ;; Send the command.
-               (tramp-message vec 3 "Sending command `%s'" command)
-               (tramp-send-command vec command t t)
-               (tramp-process-actions p vec pos tramp-actions-before-shell 60)
                (tramp-message
-                vec 3 "Found remote shell prompt on `%s'" l-host))
-             ;; Next hop.
-             (setq target-alist (cdr target-alist)))
-
-           ;; Make initial shell settings.
-           (tramp-open-connection-setup-interactive-shell p vec)))))))
+                vec 6 "%s" (mapconcat 'identity (process-command p) " "))
+
+               ;; Check whether process is alive.
+               (tramp-barf-if-no-shell-prompt
+                p 60
+                "Couldn't find local shell prompt %s" tramp-encoding-shell)
+
+               ;; Now do all the connections as specified.
+               (while target-alist
+                 (let* ((hop (car target-alist))
+                        (l-method (tramp-file-name-method hop))
+                        (l-user (tramp-file-name-user hop))
+                        (l-host (tramp-file-name-host hop))
+                        (l-port nil)
+                        (login-program
+                         (tramp-get-method-parameter
+                          l-method 'tramp-login-program))
+                        (login-args
+                         (tramp-get-method-parameter
+                          l-method 'tramp-login-args))
+                        (async-args
+                         (tramp-get-method-parameter
+                          l-method 'tramp-async-args))
+                        (gw-args
+                         (tramp-get-method-parameter l-method 'tramp-gw-args))
+                        (gw (tramp-get-file-property hop "" "gateway" nil))
+                        (g-method (and gw (tramp-file-name-method gw)))
+                        (g-user (and gw (tramp-file-name-user gw)))
+                        (g-host (and gw (tramp-file-name-real-host gw)))
+                        (command login-program)
+                        ;; We don't create the temporary file.  In
+                        ;; fact, it is just a prefix for the
+                        ;; ControlPath option of ssh; the real
+                        ;; temporary file has another name, and it is
+                        ;; created and protected by ssh.  It is also
+                        ;; removed by ssh when the connection is
+                        ;; closed.
+                        (tmpfile
+                         (tramp-set-connection-property
+                          p "temp-file"
+                          (make-temp-name
+                           (expand-file-name
+                            tramp-temp-name-prefix
+                            (tramp-compat-temporary-file-directory)))))
+                        spec)
+
+                   ;; Add arguments for asynchronous processes.
+                   (when (and process-name async-args)
+                     (setq login-args (append async-args login-args)))
+
+                   ;; Add gateway arguments if necessary.
+                   (when (and gw gw-args)
+                     (setq login-args (append gw-args login-args)))
+
+                   ;; Check for port number.  Until now, there's no
+                   ;; need for handling like method, user, host.
+                   (when (string-match tramp-host-with-port-regexp l-host)
+                     (setq l-port (match-string 2 l-host)
+                           l-host (match-string 1 l-host)))
+
+                   ;; Set variables for computing the prompt for
+                   ;; reading password.  They can also be derived
+                   ;; from a gateway.
+                   (setq tramp-current-method (or g-method l-method)
+                         tramp-current-user   (or g-user   l-user)
+                         tramp-current-host   (or g-host   l-host))
+
+                   ;; Replace login-args place holders.
+                   (setq
+                    l-host (or l-host "")
+                    l-user (or l-user "")
+                    l-port (or l-port "")
+                    spec (format-spec-make
+                          ?h l-host ?u l-user ?p l-port ?t tmpfile)
+                    command
+                    (concat
+                     ;; We do not want to see the trailing local
+                     ;; prompt in `start-file-process'.
+                     (unless (memq system-type '(windows-nt)) "exec ")
+                     command " "
+                     (mapconcat
+                      (lambda (x)
+                        (setq x (mapcar (lambda (y) (format-spec y spec)) x))
+                        (unless (member "" x) (mapconcat 'identity x " ")))
+                      login-args " ")
+                     ;; Local shell could be a Windows COMSPEC.  It
+                     ;; doesn't know the ";" syntax, but we must exit
+                     ;; always for `start-file-process'.  "exec" does
+                     ;; not work either.
+                     (if (memq system-type '(windows-nt)) " && exit || exit")))
+
+                   ;; Send the command.
+                   (tramp-message vec 3 "Sending command `%s'" command)
+                   (tramp-send-command vec command t t)
+                   (tramp-process-actions
+                    p vec pos tramp-actions-before-shell 60)
+                   (tramp-message
+                    vec 3 "Found remote shell prompt on `%s'" l-host))
+                 ;; Next hop.
+                 (setq target-alist (cdr target-alist)))
+
+               ;; Make initial shell settings.
+               (tramp-open-connection-setup-interactive-shell p vec))))
+
+       ;; When the user did interrupt, we must cleanup.
+       (quit
+        (let ((p (tramp-get-connection-process vec)))
+          (when (and p (processp p))
+            (tramp-flush-connection-property vec)
+            (tramp-flush-connection-property p)
+            (delete-process p)))
+        ;; Propagate the quit signal.
+        (signal (car err) (cdr err)))))))
 
 (defun tramp-send-command (vec command &optional neveropen nooutput)
   "Send the COMMAND to connection VEC.
index cc538c224dc4f258e564f37fcdbba7892edf6322..a889a6a4177d4aebaf5e3b3cf1f451add2420209 100644 (file)
@@ -82,7 +82,7 @@
 
 ;; The function `zeroconf-publish-service' publishes a new service to
 ;; the Avahi daemon.  Although the domain, where to the service is
-;; published, can be specified by this function, it is usally the
+;; published, can be specified by this function, it is usually the
 ;; default domain "local" (also written as nil or "").
 
 ;;   (zeroconf-publish-service
index 9a29e3d4cca166a922ba3869fffd3e4197119904..1f69f5d7bf32968c300fc38f3001f4b91713a9aa 100644 (file)
@@ -377,8 +377,8 @@ The schema is set like `rng-auto-set-schema'."
 (defun rng-kill-timers ()
   ;; rng-validate-timer and rng-validate-quick-timer have the
   ;; permanent-local property, so that the timers can be
-  ;; cancelled even after changing mode.
-  ;; This function takes care of cancelling the timers and
+  ;; canceled even after changing mode.
+  ;; This function takes care of canceling the timers and
   ;; then killing the local variables.
   (when (local-variable-p 'rng-validate-timer)
     (when rng-validate-timer
index 42030f7d50221f802bd34f0a153b868d9e7df797..876f3744bc2f5f58f452f1a3294ea129756f9a95 100644 (file)
@@ -174,7 +174,7 @@ is true, or else the output buffer is displayed."
 (defvar pgg-pending-timers (make-vector 7 0)
   "Hash table for managing scheduled pgg cache management timers.
 
-We associate key and timer, so the timer can be cancelled if a new
+We associate key and timer, so the timer can be canceled if a new
 timeout for the key is set while an old one is still pending.")
 
 (defun pgg-read-passphrase (prompt &optional key notruncate)
index 1c8a3e729568f454f1c660526ad825fa2e733c9b..cb518f97a19c22b2d725ae29b06dcdfb46fc4361 100644 (file)
 
        * org-archive.el (org-archive-subtree): While it might be possible
        to archive an headline of a temporary buffer (i.e. not visiting a
-       file), it wouldn't be really sensical.
+       file), it wouldn't be really sensible.
 
 2011-07-28  Nicolas Goaziou  <n.goaziou@gmail.com>
 
        * org-list.el (org-list-blocks): New variable.
        (org-list-context): New function.
        (org-list-full-item-re): New variable.
-       (org-list-struct-assoc-at-point): Use new varible.
+       (org-list-struct-assoc-at-point): Use new variable.
        (org-list-struct): Rewrite of function.  Now, list data is
        collected by looking at the list line after line.  It reads the
        whole list each time because reading only a subtree was not enough
 2010-11-11  Nicolas Goaziou  <n.goaziou@gmail.com>
 
        * org-list.el (org-insert-item-internal): New function to handle
-       positionning and contents of an item being inserted at a specific
+       positioning and contents of an item being inserted at a specific
        pos. It is not possible anymore to split a term in a description
        list or a checkbox when inserting a new item.
 
 
 2010-07-19  Bastien Guerry  <bzg@altern.org>
 
-       * org-timer.el (org-timer-set-timer): Fix bug about cancelling
+       * org-timer.el (org-timer-set-timer): Fix bug about canceling
        timers.
 
 2010-07-19  David Maus  <dmaus@ictsoc.de>
        buffer and at the position of the given clock.  However, changes
        to the current clock are local and have no effect on the user's
        active clock.  This allows, for example, far any clock to be
-       cancelled without cancelling the active clock.
+       canceled without canceling the active clock.
        (org-clock-clock-in): New inline function that switches the active
        clock to the given clock.  If either the argument RESUME, or the
        global `org-clock-in-resume', are non-nil, it will resume a clock
index 2f4617f51462c48671e1cf275905b45582a3bc42..a54f3c4c3d32a7986f162f57905dab136a820f39 100644 (file)
@@ -8331,7 +8331,7 @@ tag and (if present) the flagging note."
          (org-agenda-remove-flag hdmarker)
          (let ((win (get-buffer-window "*Flagging Note*")))
            (and win (delete-window win)))
-         (message "Entry unflaged"))
+         (message "Entry unflagged"))
       (setq note (org-entry-get hdmarker "THEFLAGGINGNOTE"))
       (unless note
        (error "No flagging note"))
@@ -8354,7 +8354,7 @@ tag and (if present) the flagging note."
       (org-entry-delete nil "THEFLAGGINGNOTE")
       (setq newhead (org-get-heading)))
     (org-agenda-change-all-lines newhead marker)
-    (message "Entry unflaged")))
+    (message "Entry unflagged")))
 
 (defun org-agenda-get-any-marker (&optional pos)
   (or (get-text-property (or pos (point-at-bol)) 'org-hd-marker)
index 6d82d4529b63425cd125e31bcada432c7307df88..09b646d40ba84e44c0fd47959bb56d996d4c49e8 100644 (file)
@@ -328,7 +328,7 @@ to add an effort property.")
   "Hook run when stopping the current clock.")
 
 (defvar org-clock-cancel-hook nil
-  "Hook run when cancelling the current clock.")
+  "Hook run when canceling the current clock.")
 (defvar org-clock-goto-hook nil
   "Hook run when selecting the currently clocked-in entry.")
 (defvar org-clock-has-been-used nil
@@ -346,7 +346,7 @@ to add an effort property.")
 (defvar org-clock-start-time "")
 
 (defvar org-clock-leftover-time nil
-  "If non-nil, user cancelled a clock; this is when leftover time started.")
+  "If non-nil, user canceled a clock; this is when leftover time started.")
 
 (defvar org-clock-effort ""
   "Effort estimate of the currently clocking task.")
index a86c145a9ee0b4af77c0e5aaaef10b069fafcd93..72fc71854e2cc08d4ec00e906582185c651c15a9 100644 (file)
@@ -68,7 +68,7 @@
 
 ;; Computing a list structure can be a costly operation on huge lists
 ;; (a few thousand lines long).  Thus, code should follow the rule :
-;; "collect once, use many".  As a corollary, it is usally a bad idea
+;; "collect once, use many".  As a corollary, it is usually a bad idea
 ;; to use directly an interactive function inside the code, as those,
 ;; being independent entities, read the whole list structure another
 ;; time.
index 655123cafa9d4e5aa836627f4948f2cfc4e16202..ca7bfe2a4d04fbf773fdbe55d4940a3421c1faf6 100644 (file)
 (defgroup org-protocol nil
   "Intercept calls from emacsclient to trigger custom actions.
 
-This is done by advising `server-visit-files' to scann the list of filenames
-for `org-protocol-the-protocol' and sub-procols defined in
+This is done by advising `server-visit-files' to scan the list of filenames
+for `org-protocol-the-protocol' and sub-protocols defined in
 `org-protocol-protocol-alist' and `org-protocol-protocol-alist-default'."
   :version "22.1"
   :group 'convenience
index 0c924cd9f0766720453780863e8d9e95e19e4056..61edef50738f1da10788b582f82dc14abdd45627 100644 (file)
@@ -278,12 +278,12 @@ in the sitemap."
   :type 'string)
 
 (defcustom org-publish-sitemap-file-entry-format "%t"
-  "How a sitemap file entry is formated.
+  "How a sitemap file entry is formatted.
 You could use brackets to delimit on what part the link will be.
 
 %t is the title.
 %a is the author.
-%d is the date formated using `org-publish-sitemap-date-format'."
+%d is the date formatted using `org-publish-sitemap-date-format'."
   :group 'org-publish
   :type 'string)
 
index 1fb3114bf3f19cb58ba8579786b02e8a370e7e03..45b16aecf1232832b7d47c5408703c7c5e1758a0 100644 (file)
@@ -571,7 +571,7 @@ with separator \"\n\"."
     (and filtered-items (mapconcat 'identity filtered-items "\n"))))
 
 (defun org-taskjuggler-get-attributes (item attributes)
-  "Return all attribute as a single formated string. ITEM is an
+  "Return all attributes as a single formatted string. ITEM is an
 alist representing either a resource or a task. ATTRIBUTES is a
 list of symbols. Only entries from ITEM are considered that are
 listed in ATTRIBUTES."
index b2c8de6ec2fbc34e6c276251e4afbf7784000a43..608a9dc2e8800e54c0d1c0e4c06637196abf32f3 100644 (file)
                      (let* ((fa (file-attributes (pcomplete-arg 1)))
                             (size (nth 7 fa)))
                        (and (numberp size)
-                            (< size large-file-warning-threshold))))
+                            (or (null large-file-warning-threshold)
+                                (< size large-file-warning-threshold)))))
                 (let ((file (pcomplete-arg 1)))
                   (completion-table-dynamic
                    (lambda (_string)
index 4d514d2d0aa6f59f1ede896d1bc3a1ab3e8431eb..e7ed146b4a179bd48892720e9f5128687a220fd5 100644 (file)
@@ -549,7 +549,7 @@ Argument is a character, naming the register."
 (defun gametree-save-and-hack-layout ()
   "Save the current tree layout and hack the file local variable spec.
 This function saves the current layout in `gametree-local-layout' and,
-if a local file varible specification for this variable exists in the
+if a local file variable specification for this variable exists in the
 buffer, it is replaced by the new value.  See the documentation for
 `gametree-local-layout' for more information."
   (interactive)
index 8e4ac92d96f688ccd3b78d11068ba647412b167d..4981bbfd2bc81239bcdb1eca763895a47e3c019e 100644 (file)
@@ -2051,7 +2051,7 @@ function does not require the declaration to contain a brace block."
        (c-narrow-to-comment-innards range) ; This may move point back.
        (let* ((here (point))
               last
-              (here-filler        ; matches WS and comment-prefices at point.
+              (here-filler        ; matches WS and comment-prefixes at point.
                (concat "\\=\\(^[ \t]*\\(" c-current-comment-prefix "\\)"
                        "\\|[ \t\n\r\f]\\)*"))
               (prefix-at-bol-here ; matches WS and prefix at BOL, just before point
@@ -2071,7 +2071,7 @@ function does not require the declaration to contain a brace block."
 
          ;; Now seek successively earlier sentence ends between PAR-BEG and
          ;; HERE, until the "start of sentence" following it is earlier than
-         ;; HERE, or we hit PAR-BEG.  Beware of comment prefices!
+         ;; HERE, or we hit PAR-BEG.  Beware of comment prefixes!
          (while (and (re-search-backward (c-sentence-end) par-beg 'limit)
                      (setq last (point))
                      (goto-char (match-end 0)) ; tentative beginning of sentence
index d855861d552a9152d441cb68e2eb1aefd63604d4..eeb145e2b1a2b452b6608396566440deae0707a5 100644 (file)
@@ -708,7 +708,7 @@ Returns point of the found command line or nil if not able to move."
            (setq done t)               ; not a label-only line, exit the loop
            (setq retval (point))))
        ;; We couldn't go further back, and we haven't found a command yet.
-       ;; Return to the start positionn
+       ;; Return to the start position.
        (goto-char start)
        (setq done t)
        (setq retval nil)))
@@ -756,7 +756,7 @@ Returns point of the found command line or nil if not able to move."
              (setq done t)             ; not a label-only line, exit the loop
              (setq retval (point)))))
        ;; We couldn't go further back, and we haven't found a command yet.
-       ;; Return to the start positionn
+       ;; Return to the start position.
        (goto-char start)
        (setq done t)
        (setq retval nil)))
index d8715599d74f75e8cdeaf5793762bc6b9c7ac8a6..24deb569d7495b1db37a6673213a4220e8e807cd 100644 (file)
@@ -7866,7 +7866,7 @@ itself."
   "Display online help about the completion at point."
   (interactive "eP")
   ;; Restore last-command for next command, to make
-  ;; scrolling/cancelling of completions work.
+  ;; scrolling/canceling of completions work.
   (setq this-command last-command)
   (idlwave-do-mouse-completion-help ev))
 
index 94a9c250fee77f8d6469b44a45fa61f88c5995a9..f0c86265232131e031587d20680ba312820b9937 100644 (file)
@@ -3000,7 +3000,7 @@ browser, respectively."
                       '(js> ((fifth hitab) "selectedTab") (fourth hitab))
                       cmds)))
 
-                  ;; Hilighting whole window
+                  ;; Highlighting whole window
                   ((third hitab)
                    (push '(js! ((third hitab) "document"
                                 "documentElement" "setAttribute")
index 24ca78ad4ef003113882299364e3ac3bc6b0fec2..5b229cc0c24267e175cb8d1bcf86f1d44963e2d5 100644 (file)
@@ -868,8 +868,9 @@ VERSION is of the format (Major . Minor)"
 (defun prolog-find-value-by-system (alist)
   "Get value from ALIST according to `prolog-system'."
   (let ((system (or prolog-system
-                    (buffer-local-value 'prolog-system
-                                        (prolog-inferior-buffer 'dont-run)))))
+                    (let ((infbuf (prolog-inferior-buffer 'dont-run)))
+                      (when infbuf
+                        (buffer-local-value 'prolog-system infbuf))))))
     (if (listp alist)
         (let (result
               id)
@@ -1522,7 +1523,7 @@ This function must be called from the source code buffer."
           ;; Emacs-20).
             (set (make-local-variable 'compilation-parse-errors-function)
                'prolog-parse-sicstus-compilation-errors))
-      (toggle-read-only 0)
+      (setq buffer-read-only nil)
       (insert command-string "\n"))
     (save-selected-window
       (pop-to-buffer buffer))
index 3570a2cfa3e1390531474e71aee45ef68ff63644..3ae66a477e883c4a73c7e8397786bfeee6151200 100644 (file)
@@ -87,7 +87,7 @@
 ;; you may add the below lines (the values of the variables presented
 ;; here are the defaults). Note also that if you use an Emacs that
 ;; supports custom, it's probably better to use the custom menu to
-;; edit these. If working as a member of a large team these settings
+;; edit these.  If working as a member of a large team these settings
 ;; should be common across all users (in a site-start file), or set
 ;; in Local Variables in every file.  Otherwise, different people's
 ;; AUTO expansion may result different whitespace changes.
 ;;; Code:
 
 ;; This variable will always hold the version number of the mode
-(defconst verilog-mode-version "650"
+(defconst verilog-mode-version "725"
   "Version of this Verilog mode.")
-(defconst verilog-mode-release-date "2010-11-05-GNU"
+(defconst verilog-mode-release-date "2011-11-27-GNU"
   "Release date of this Verilog mode.")
 (defconst verilog-mode-release-emacs t
   "If non-nil, this version of Verilog mode was released with Emacs itself.")
           (defmacro char-before (&rest body)
             (char-after (1- (point)))))
       (error nil))
+    (condition-case nil
+        (if (fboundp 'when)
+            nil ;; fab
+          (defsubst point-at-bol (&optional N)
+            (save-excursion (beginning-of-line N) (point))))
+      (error nil))
+    (condition-case nil
+        (if (fboundp 'when)
+            nil ;; fab
+          (defsubst point-at-eol (&optional N)
+            (save-excursion (end-of-line N) (point))))
+      (error nil))
     (condition-case nil
         (require 'custom)
       (error nil))
@@ -274,9 +286,20 @@ STRING should be given if the last search was by `string-match' on STRING."
 
 (eval-and-compile
   ;; Both xemacs and emacs
+  (condition-case nil
+      (require 'diff) ;; diff-command and diff-switches
+    (error nil))
+  (condition-case nil
+      (require 'compile) ;; compilation-error-regexp-alist-alist
+    (error nil))
   (condition-case nil
       (unless (fboundp 'buffer-chars-modified-tick)  ;; Emacs 22 added
        (defmacro buffer-chars-modified-tick () (buffer-modified-tick)))
+    (error nil))
+  ;; Added in Emacs 24.1
+  (condition-case nil
+      (unless (fboundp 'prog-mode)
+       (define-derived-mode prog-mode fundamental-mode "Prog"))
     (error nil)))
 
 (eval-when-compile
@@ -310,6 +333,14 @@ STRING should be given if the last search was by `string-match' on STRING."
 ;;  `("Verilog" ("MA" ["SAA" nil :help "Help SAA"] ["SAB" nil :help "Help SAA"])
 ;;     "----" ["MB" nil :help "Help MB"]))
 
+(defun verilog-define-abbrev (table name expansion &optional hook)
+  "Filter `define-abbrev' TABLE NAME EXPANSION and call HOOK.
+Provides SYSTEM-FLAG in newer Emacs."
+  (condition-case nil
+      (define-abbrev table name expansion hook 0 t)
+    (error
+     (define-abbrev table name expansion hook))))
+
 (defun verilog-customize ()
   "Customize variables and other settings used by Verilog-Mode."
   (interactive)
@@ -335,9 +366,31 @@ This function may be removed when Emacs 21 is no longer supported."
            ;; And GNU Emacs 22 has obsoleted last-command-char
            last-command-event)))
 
-(defalias 'verilog-syntax-ppss
-  (if (fboundp 'syntax-ppss) 'syntax-ppss
-    (lambda (&optional pos) (parse-partial-sexp (point-min) (or pos (point))))))
+(defvar verilog-no-change-functions nil
+  "True if `after-change-functions' is disabled.
+Use of `syntax-ppss' may break, as ppss's cache may get corrupted.")
+
+(defvar verilog-in-hooks nil
+  "True when within a `verilog-run-hooks' block.")
+
+(defmacro verilog-run-hooks (&rest hooks)
+  "Run each hook in HOOKS using `run-hooks'.
+Set `verilog-in-hooks' during this time, to assist AUTO caches."
+  `(let ((verilog-in-hooks t))
+     (run-hooks ,@hooks)))
+
+(defun verilog-syntax-ppss (&optional pos)
+  (when verilog-no-change-functions
+    (if verilog-in-hooks
+       (verilog-scan-cache-flush)
+      ;; else don't let the AUTO code itself get away with flushing the cache,
+      ;; as that'll make things very slow
+      (backtrace)
+      (error "%s: Internal problem; use of syntax-ppss when cache may be corrupt"
+            (verilog-point-text))))
+  (if (fboundp 'syntax-ppss)
+      (syntax-ppss pos)
+    (parse-partial-sexp (point-min) (or pos (point)))))
 
 (defgroup verilog-mode nil
   "Facilitates easy editing of Verilog source text."
@@ -631,6 +684,22 @@ file referenced.  If false, this is not supported."
   :type 'boolean)
 (put 'verilog-highlight-includes 'safe-local-variable 'verilog-booleanp)
 
+(defcustom verilog-auto-declare-nettype nil
+  "*Non-nil specifies the data type to use with `verilog-auto-input' etc.
+Set this to \"wire\" if the Verilog code uses \"`default_nettype
+none\".  Note using `default_nettype none isn't recommended practice; this
+mode is experimental."
+  :group 'verilog-mode-actions
+  :type 'boolean)
+(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp)
+
+(defcustom verilog-auto-wire-type nil
+  "*Non-nil specifies the data type to use with `verilog-auto-wire' etc.
+Set this to \"logic\" for SystemVerilog code, or use `verilog-auto-logic'."
+  :group 'verilog-mode-actions
+  :type 'boolean)
+(put 'verilog-auto-wire-type 'safe-local-variable `stringp)
+
 (defcustom verilog-auto-endcomments t
   "*True means insert a comment /* ... */ after 'end's.
 The name of the function or case will be set between the braces."
@@ -638,6 +707,12 @@ The name of the function or case will be set between the braces."
   :type 'boolean)
 (put 'verilog-auto-endcomments 'safe-local-variable 'verilog-booleanp)
 
+(defcustom verilog-auto-delete-trailing-whitespace nil
+  "*True means to `delete-trailing-whitespace' in `verilog-auto'."
+  :group 'verilog-mode-actions
+  :type 'boolean)
+(put 'verilog-auto-delete-trailing-whitespace 'safe-local-variable 'verilog-booleanp)
+
 (defcustom verilog-auto-ignore-concat nil
   "*True means ignore signals in {...} concatenations for AUTOWIRE etc.
 This will exclude signals referenced as pin connections in {...}
@@ -696,6 +771,12 @@ always be saved."
 (defvar verilog-auto-last-file-locals nil
   "Text from file-local-variables during last evaluation.")
 
+(defvar verilog-diff-function 'verilog-diff-report
+  "*Function to run when `verilog-diff-auto' detects differences.
+Function takes three arguments, the original buffer, the
+difference buffer, and the point in original buffer with the
+first difference.")
+
 ;;; Compile support
 (require 'compile)
 (defvar verilog-error-regexp-added nil)
@@ -896,6 +977,19 @@ of each Verilog file that requires it, rather than being set globally."
   :type 'boolean)
 (put 'verilog-auto-sense-defines-constant 'safe-local-variable 'verilog-booleanp)
 
+(defcustom verilog-auto-reset-blocking-in-non t
+  "*If true, AUTORESET will reset those signals which were
+assigned with blocking assignments (=) even in a block with
+non-blocking assignments (<=).
+  
+If nil, all blocking assigned signals are ignored when any
+non-blocking assignment is in the AUTORESET block.  This allows
+blocking assignments to be used for temporary values and not have
+those temporaries reset.  See example in `verilog-auto-reset'."
+  :type 'boolean
+  :group 'verilog-mode-auto)
+(put 'verilog-auto-reset-blocking-in-non 'safe-local-variable 'verilog-booleanp)
+
 (defcustom verilog-auto-reset-widths t
   "*If true, AUTORESET should determine the width of signals.
 This is then used to set the width of the zero (32'h0 for example).  This
@@ -917,7 +1011,9 @@ the MSB or LSB of a signal inside an AUTORESET."
 Declaration order is advantageous with order based instantiations
 and is the default for backward compatibility.  Sorted order
 reduces changes when declarations are moved around in a file, and
-it's bad practice to rely on order based instantiations anyhow."
+it's bad practice to rely on order based instantiations anyhow.
+
+See also `verilog-auto-inst-sort'."
   :group 'verilog-mode-auto
   :type 'boolean)
 (put 'verilog-auto-arg-sort 'safe-local-variable 'verilog-booleanp)
@@ -969,6 +1065,18 @@ instead expand to:
   :type 'boolean)
 (put 'verilog-auto-inst-param-value 'safe-local-variable 'verilog-booleanp)
 
+(defcustom verilog-auto-inst-sort nil
+  "*If set, AUTOINST signal names will be sorted, not in declaration order.
+Also affects AUTOINSTPARAM.  Declaration order is the default for
+backward compatibility, and as some teams prefer signals that are
+declared together to remain together.  Sorted order reduces
+changes when declarations are moved around in a file.
+
+See also `verilog-auto-arg-sort'."
+  :group 'verilog-mode-auto
+  :type 'boolean)
+(put 'verilog-auto-inst-sort 'safe-local-variable 'verilog-booleanp)
+
 (defcustom verilog-auto-inst-vector t
   "*If true, when creating default ports with AUTOINST, use bus subscripts.
 If nil, skip the subscript when it matches the entire bus as declared in
@@ -981,12 +1089,20 @@ speed up some simulators, but is less general and harder to read, so avoid."
 
 (defcustom verilog-auto-inst-template-numbers nil
   "*If true, when creating templated ports with AUTOINST, add a comment.
-The comment will add the line number of the template that was used for that
-port declaration.  Setting this aids in debugging, but nil is suggested for
-regular use to prevent large numbers of merge conflicts."
+
+If t, the comment will add the line number of the template that
+was used for that port declaration.  This setting is suggested
+only for debugging use, as regular use may cause a large numbers
+of merge conflicts.
+
+If 'lhs', the comment will show the left hand side of the
+AUTO_TEMPLATE rule that is matched.  This is less precise than
+numbering (t) when multiple rules have the same pin name, but
+won't merge conflict."
   :group 'verilog-mode-auto
-  :type 'boolean)
-(put 'verilog-auto-inst-template-numbers 'safe-local-variable 'verilog-booleanp)
+  :type '(choice (const nil) (const t) (const lhs)))
+(put 'verilog-auto-inst-template-numbers 'safe-local-variable
+     '(lambda (x) (memq x '(nil t lhs))))
 
 (defcustom verilog-auto-inst-column 40
   "*Indent-to column number for net name part of AUTOINST created pin."
@@ -1015,6 +1131,14 @@ See the \\[verilog-faq] for examples on using this."
   :type 'string)
 (put 'verilog-auto-output-ignore-regexp 'safe-local-variable 'stringp)
 
+(defcustom verilog-auto-tieoff-declaration "wire"
+  "*Data type used for the declaration for AUTOTIEOFF.  If \"wire\" then
+create a wire, if \"assign\" create an assignment, else the data type for
+variable creation."
+  :group 'verilog-mode-auto
+  :type 'string)
+(put 'verilog-auto-tieoff-declaration 'safe-local-variable 'stringp)
+
 (defcustom verilog-auto-tieoff-ignore-regexp nil
   "*If set, when creating AUTOTIEOFF list, ignore signals matching this regexp.
 See the \\[verilog-faq] for examples on using this."
@@ -1114,8 +1238,10 @@ If set will become buffer local.")
     (define-key map "\M-\r"    `electric-verilog-terminate-and-indent)
     (define-key map "\M-\t"    'verilog-complete-word)
     (define-key map "\M-?"     'verilog-show-completions)
+    ;; Note \C-c and letter are reserved for users
     (define-key map "\C-c\`"   'verilog-lint-off)
     (define-key map "\C-c\*"   'verilog-delete-auto-star-implicit)
+    (define-key map "\C-c\?"   'verilog-diff-auto)
     (define-key map "\C-c\C-r" 'verilog-label-be)
     (define-key map "\C-c\C-i" 'verilog-pretty-declarations)
     (define-key map "\C-c="    'verilog-pretty-expr)
@@ -1241,6 +1367,8 @@ If set will become buffer local.")
       :help            "Expand AUTO meta-comment statements"]
      ["Kill AUTOs"                     verilog-delete-auto
       :help            "Remove AUTO expansions"]
+     ["Diff AUTOs"                     verilog-diff-auto
+      :help            "Show differences in AUTO expansions"]
      ["Inject AUTOs"                   verilog-inject-auto
       :help            "Inject AUTOs into legacy non-AUTO buffer"]
      ("AUTO Help..."
@@ -1264,6 +1392,8 @@ If set will become buffer local.")
        :help           "Help on AUTOASCIIENUM - creating ASCII for enumerations"]
       ["AUTOINOUTCOMP"                 (describe-function 'verilog-auto-inout-comp)
        :help           "Help on AUTOINOUTCOMP - copying complemented i/o from another file"]
+      ["AUTOINOUTIN"                   (describe-function 'verilog-auto-inout-in)
+       :help           "Help on AUTOINOUTCOMP - copying i/o from another file as all inputs"]
       ["AUTOINOUTMODULE"               (describe-function 'verilog-auto-inout-module)
        :help           "Help on AUTOINOUTMODULE - copying i/o from another file"]
       ["AUTOINSERTLISP"                        (describe-function 'verilog-auto-insert-lisp)
@@ -1278,6 +1408,8 @@ If set will become buffer local.")
        :help           "Help on expanding Verilog-2001 .* pins"]
       ["AUTOINSTPARAM"                 (describe-function 'verilog-auto-inst-param)
        :help           "Help on AUTOINSTPARAM - adding parameter pins to cells"]
+      ["AUTOLOGIC"                     (describe-function 'verilog-auto-logic)
+       :help           "Help on AUTOLOGIC - declaring logic signals"]
       ["AUTOOUTPUT"                    (describe-function 'verilog-auto-output)
        :help           "Help on AUTOOUTPUT - adding outputs from cells"]
       ["AUTOOUTPUTEVERY"               (describe-function 'verilog-auto-output-every)
@@ -1318,6 +1450,10 @@ If set will become buffer local.")
      "----"
      ["Module"         verilog-sk-module
       :help            "Insert a module .. (/*AUTOARG*/);.. endmodule block"]
+     ["OVM Class"      verilog-sk-ovm-class
+      :help            "Insert an OVM class block"]
+     ["UVM Class"      verilog-sk-uvm-class
+      :help            "Insert an UVM class block"]
      ["Primitive"      verilog-sk-primitive
       :help            "Insert a primitive .. (.. );.. endprimitive block"]
      "----"
@@ -1372,6 +1508,31 @@ If set will become buffer local.")
   "Abbrev table in use in Verilog-mode buffers.")
 
 (define-abbrev-table 'verilog-mode-abbrev-table ())
+(verilog-define-abbrev verilog-mode-abbrev-table "class" "" 'verilog-sk-ovm-class)
+(verilog-define-abbrev verilog-mode-abbrev-table "always" "" 'verilog-sk-always)
+(verilog-define-abbrev verilog-mode-abbrev-table "begin" nil `verilog-sk-begin)
+(verilog-define-abbrev verilog-mode-abbrev-table "case" "" `verilog-sk-case)
+(verilog-define-abbrev verilog-mode-abbrev-table "for" "" `verilog-sk-for)
+(verilog-define-abbrev verilog-mode-abbrev-table "generate" "" `verilog-sk-generate)
+(verilog-define-abbrev verilog-mode-abbrev-table "initial" "" `verilog-sk-initial)
+(verilog-define-abbrev verilog-mode-abbrev-table "fork" "" `verilog-sk-fork)
+(verilog-define-abbrev verilog-mode-abbrev-table "module" "" `verilog-sk-module)
+(verilog-define-abbrev verilog-mode-abbrev-table "primitive" "" `verilog-sk-primitive)
+(verilog-define-abbrev verilog-mode-abbrev-table "repeat" "" `verilog-sk-repeat)
+(verilog-define-abbrev verilog-mode-abbrev-table "specify" "" `verilog-sk-specify)
+(verilog-define-abbrev verilog-mode-abbrev-table "task" "" `verilog-sk-task)
+(verilog-define-abbrev verilog-mode-abbrev-table "while" "" `verilog-sk-while)
+(verilog-define-abbrev verilog-mode-abbrev-table "casex" "" `verilog-sk-casex)
+(verilog-define-abbrev verilog-mode-abbrev-table "casez" "" `verilog-sk-casez)
+(verilog-define-abbrev verilog-mode-abbrev-table "if" "" `verilog-sk-if)
+(verilog-define-abbrev verilog-mode-abbrev-table "else if" "" `verilog-sk-else-if)
+(verilog-define-abbrev verilog-mode-abbrev-table "assign" "" `verilog-sk-assign)
+(verilog-define-abbrev verilog-mode-abbrev-table "function" "" `verilog-sk-function)
+(verilog-define-abbrev verilog-mode-abbrev-table "input" "" `verilog-sk-input)
+(verilog-define-abbrev verilog-mode-abbrev-table "output" "" `verilog-sk-output)
+(verilog-define-abbrev verilog-mode-abbrev-table "inout" "" `verilog-sk-inout)
+(verilog-define-abbrev verilog-mode-abbrev-table "wire" "" `verilog-sk-wire)
+(verilog-define-abbrev verilog-mode-abbrev-table "reg" "" `verilog-sk-reg)
 
 ;;
 ;;  Macros
@@ -1386,6 +1547,9 @@ FIXEDCASE and LITERAL as in `replace-match`.  STRING is what to replace.
 The case (verilog-string-replace-matches \"o\" \"oo\" nil nil \"foobar\")
 will break, as the o's continuously replace.  xa -> x works ok though."
   ;; Hopefully soon to a emacs built-in
+  ;; Also note \ in the replacement prevent multiple replacements; IE
+  ;;   (verilog-string-replace-matches "@" "\\\\([0-9]+\\\\)" nil nil "wire@_@")
+  ;;   Gives "wire\([0-9]+\)_@" not "wire\([0-9]+\)_\([0-9]+\)"
   (let ((start 0))
     (while (string-match from-string string start)
       (setq string (replace-match to-string fixedcase literal string)
@@ -1434,26 +1598,28 @@ will break, as the o's continuously replace.  xa -> x works ok though."
 (defsubst verilog-re-search-forward-quick (regexp bound noerror)
   "Like `verilog-re-search-forward', including use of REGEXP BOUND and NOERROR,
 but trashes match data and is faster for REGEXP that doesn't match often.
-This may at some point use text properties to ignore comments,
+This uses `verilog-scan' and text properties to ignore comments,
 so there may be a large up front penalty for the first search."
   (let (pt)
     (while (and (not pt)
                (re-search-forward regexp bound noerror))
-      (if (not (verilog-inside-comment-p))
-         (setq pt (match-end 0))))
+      (if (verilog-inside-comment-or-string-p)
+         (re-search-forward "[/\"\n]" nil t) ;; Only way a comment or quote can end
+       (setq pt (match-end 0))))
     pt))
 
 (defsubst verilog-re-search-backward-quick (regexp bound noerror)
   ; checkdoc-params: (REGEXP BOUND NOERROR)
   "Like `verilog-re-search-backward', including use of REGEXP BOUND and NOERROR,
 but trashes match data and is faster for REGEXP that doesn't match often.
-This may at some point use text properties to ignore comments,
+This uses `verilog-scan' and text properties to ignore comments,
 so there may be a large up front penalty for the first search."
   (let (pt)
     (while (and (not pt)
                (re-search-backward regexp bound noerror))
-      (if (not (verilog-inside-comment-p))
-         (setq pt (match-end 0))))
+      (if (verilog-inside-comment-or-string-p)
+         (re-search-backward "[/\"]" nil t) ;; Only way a comment or quote can begin
+       (setq pt (match-beginning 0))))
     pt))
 
 (defsubst verilog-re-search-forward-substr (substr regexp bound noerror)
@@ -1496,6 +1662,14 @@ This speeds up complicated regexp matches."
     done))
 ;;(verilog-re-search-backward-substr "-end" "get-end-of" nil t) ;;-end (test bait)
 
+(defun verilog-delete-trailing-whitespace ()
+  "Delete trailing spaces or tabs, but not newlines nor linefeeds."
+  ;; Similar to `delete-trailing-whitespace' but that's not present in XEmacs
+  (save-excursion
+    (goto-char (point-min))
+    (while (re-search-forward "[ \t]+$" nil t)  ;; Not syntatic WS as no formfeed
+      (replace-match "" nil nil))))
+
 (defvar compile-command)
 
 ;; compilation program
@@ -1535,11 +1709,11 @@ portion, will be substituted."
     (set (make-local-variable 'compile-command) "make "))
    (t
     (set (make-local-variable 'compile-command)
-         (if verilog-tool
-             (if (string-match "%s" (eval verilog-tool))
-                 (format (eval verilog-tool) (or buffer-file-name ""))
-               (concat (eval verilog-tool) " " (or buffer-file-name "")))
-           ""))))
+        (if verilog-tool
+            (if (string-match "%s" (eval verilog-tool))
+                (format (eval verilog-tool) (or buffer-file-name ""))
+              (concat (eval verilog-tool) " " (or buffer-file-name "")))
+          ""))))
   (verilog-modify-compile-command))
 
 (defun verilog-expand-command (command)
@@ -1564,7 +1738,7 @@ be substituted."
         (stringp compile-command)
         (string-match "\\b\\(__FLAGS__\\|__FILE__\\)\\b" compile-command))
     (set (make-local-variable 'compile-command)
-         (verilog-expand-command compile-command))))
+        (verilog-expand-command compile-command))))
 
 (if (featurep 'xemacs)
     ;; Following code only gets called from compilation-mode-hook on XEmacs to add error handling.
@@ -1585,8 +1759,8 @@ find the errors."
                            (cdr compilation-error-regexp-alist-alist)))))
       (if (boundp 'compilation-font-lock-keywords)
          (progn
-            (set (make-local-variable 'compilation-font-lock-keywords)
-                 verilog-error-font-lock-keywords)
+           (set (make-local-variable 'compilation-font-lock-keywords)
+                verilog-error-font-lock-keywords)
            (font-lock-set-defaults)))
       ;; Need to re-run compilation-error-regexp builder
       (if (fboundp 'compilation-build-compilation-error-regexp-alist)
@@ -1657,6 +1831,30 @@ find the errors."
        "`ovm_sequencer_utils_end"
        ) nil )))
 
+(defconst verilog-uvm-begin-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+       "`uvm_component_utils_begin"
+       "`uvm_component_param_utils_begin"
+       "`uvm_field_utils_begin"
+       "`uvm_object_utils_begin"
+       "`uvm_object_param_utils_begin"
+       "`uvm_sequence_utils_begin"
+       "`uvm_sequencer_utils_begin"
+       ) nil )))
+
+(defconst verilog-uvm-end-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+       "`uvm_component_utils_end"
+       "`uvm_field_utils_end"
+       "`uvm_object_utils_end"
+       "`uvm_sequence_utils_end"
+       "`uvm_sequencer_utils_end"
+       ) nil )))
+
 (defconst verilog-vmm-begin-re
   (eval-when-compile
     (verilog-regexp-opt
@@ -1794,6 +1992,145 @@ find the errors."
        "`static_dut_error"
        "`static_message") nil )))
 
+(defconst verilog-uvm-statement-re
+  (eval-when-compile
+    (verilog-regexp-opt
+     '(
+       ;; Statements
+       "`uvm_analysis_imp_decl"
+       "`uvm_blocking_get_imp_decl"
+       "`uvm_blocking_get_peek_imp_decl"
+       "`uvm_blocking_master_imp_decl"
+       "`uvm_blocking_peek_imp_decl"
+       "`uvm_blocking_put_imp_decl"
+       "`uvm_blocking_slave_imp_decl"
+       "`uvm_blocking_transport_imp_decl"
+       "`uvm_component_param_utils"
+       "`uvm_component_registry"
+       "`uvm_component_registry_param"
+       "`uvm_component_utils"
+       "`uvm_create"
+       "`uvm_create_on"
+       "`uvm_create_seq"               ;; Undocumented in 1.1 
+       "`uvm_declare_p_sequencer"
+       "`uvm_declare_sequence_lib"     ;; Deprecated in 1.1
+       "`uvm_do"
+       "`uvm_do_callbacks"
+       "`uvm_do_callbacks_exit_on"
+       "`uvm_do_obj_callbacks"
+       "`uvm_do_obj_callbacks_exit_on"
+       "`uvm_do_on"
+       "`uvm_do_on_pri"
+       "`uvm_do_on_pri_with"
+       "`uvm_do_on_with"
+       "`uvm_do_pri"
+       "`uvm_do_pri_with"
+       "`uvm_do_seq"                   ;; Undocumented in 1.1
+       "`uvm_do_seq_with"              ;; Undocumented in 1.1
+       "`uvm_do_with"
+       "`uvm_error"
+       "`uvm_error_context"
+       "`uvm_fatal"
+       "`uvm_fatal_context"
+       "`uvm_field_aa_int_byte"
+       "`uvm_field_aa_int_byte_unsigned"
+       "`uvm_field_aa_int_enum"
+       "`uvm_field_aa_int_int"
+       "`uvm_field_aa_int_int_unsigned"
+       "`uvm_field_aa_int_integer"
+       "`uvm_field_aa_int_integer_unsigned"
+       "`uvm_field_aa_int_key"
+       "`uvm_field_aa_int_longint"
+       "`uvm_field_aa_int_longint_unsigned"
+       "`uvm_field_aa_int_shortint"
+       "`uvm_field_aa_int_shortint_unsigned"
+       "`uvm_field_aa_int_string"
+       "`uvm_field_aa_object_int"
+       "`uvm_field_aa_object_string"
+       "`uvm_field_aa_string_int"
+       "`uvm_field_aa_string_string"
+       "`uvm_field_array_enum"
+       "`uvm_field_array_int"
+       "`uvm_field_array_object"
+       "`uvm_field_array_string"
+       "`uvm_field_enum"
+       "`uvm_field_event"
+       "`uvm_field_int"
+       "`uvm_field_object"
+       "`uvm_field_queue_enum"
+       "`uvm_field_queue_int"
+       "`uvm_field_queue_object"
+       "`uvm_field_queue_string"
+       "`uvm_field_real"
+       "`uvm_field_sarray_enum"
+       "`uvm_field_sarray_int"
+       "`uvm_field_sarray_object"
+       "`uvm_field_sarray_string"
+       "`uvm_field_string"
+       "`uvm_field_utils"
+       "`uvm_file"             ;; Undocumented in 1.1, use `__FILE__
+       "`uvm_get_imp_decl"
+       "`uvm_get_peek_imp_decl"
+       "`uvm_info"
+       "`uvm_info_context"
+       "`uvm_line"             ;; Undocumented in 1.1, use `__LINE__
+       "`uvm_master_imp_decl"
+       "`uvm_non_blocking_transport_imp_decl"  ;; Deprecated in 1.1
+       "`uvm_nonblocking_get_imp_decl"
+       "`uvm_nonblocking_get_peek_imp_decl"
+       "`uvm_nonblocking_master_imp_decl"
+       "`uvm_nonblocking_peek_imp_decl"
+       "`uvm_nonblocking_put_imp_decl"
+       "`uvm_nonblocking_slave_imp_decl"
+       "`uvm_nonblocking_transport_imp_decl"
+       "`uvm_object_param_utils"
+       "`uvm_object_registry"
+       "`uvm_object_registry_param"    ;; Undocumented in 1.1
+       "`uvm_object_utils"
+       "`uvm_pack_array"
+       "`uvm_pack_arrayN"
+       "`uvm_pack_enum"
+       "`uvm_pack_enumN"
+       "`uvm_pack_int"
+       "`uvm_pack_intN"
+       "`uvm_pack_queue"
+       "`uvm_pack_queueN"
+       "`uvm_pack_real"
+       "`uvm_pack_sarray"
+       "`uvm_pack_sarrayN"
+       "`uvm_pack_string"
+       "`uvm_peek_imp_decl"
+       "`uvm_put_imp_decl"
+       "`uvm_rand_send"
+       "`uvm_rand_send_pri"
+       "`uvm_rand_send_pri_with"
+       "`uvm_rand_send_with"
+       "`uvm_record_attribute"
+       "`uvm_record_field"
+       "`uvm_register_cb"
+       "`uvm_send"
+       "`uvm_send_pri"
+       "`uvm_sequence_utils"           ;; Deprecated in 1.1
+       "`uvm_set_super_type"
+       "`uvm_slave_imp_decl"
+       "`uvm_transport_imp_decl"
+       "`uvm_unpack_array"
+       "`uvm_unpack_arrayN"
+       "`uvm_unpack_enum"
+       "`uvm_unpack_enumN"
+       "`uvm_unpack_int"
+       "`uvm_unpack_intN"
+       "`uvm_unpack_queue"
+       "`uvm_unpack_queueN"
+       "`uvm_unpack_real"
+       "`uvm_unpack_sarray"
+       "`uvm_unpack_sarrayN"
+       "`uvm_unpack_string"
+       "`uvm_update_sequence_lib"              ;; Deprecated in 1.1
+       "`uvm_update_sequence_lib_and_item"     ;; Deprecated in 1.1
+       "`uvm_warning"
+       "`uvm_warning_context") nil )))
+
 
 ;;
 ;; Regular expressions used to calculate indent, etc.
@@ -1805,6 +2142,29 @@ find the errors."
 ;; a[34:32] :
 ;; a,
 ;;   b :
+(defconst verilog-assignment-operator-re
+  (eval-when-compile
+     (verilog-regexp-opt
+      `(
+       ;; blocking assignment_operator
+       "=" "+=" "-=" "*=" "/=" "%=" "&=" "|=" "^=" "<<=" ">>=" "<<<=" ">>>="
+       ;; non blocking assignment operator
+       "<="
+       ;; comparison
+       "==" "!=" "===" "!===" "<=" ">=" "==\?" "!=\?"
+       ;; event_trigger
+       "->" "->>"
+       ;; property_expr
+       "|->" "|=>"
+       ;; Is this a legal verilog operator?
+       ":="
+       ) 't
+      )))
+(defconst verilog-assignment-operation-re
+  (concat
+;     "\\(^\\s-*[A-Za-z0-9_]+\\(\\[\\([A-Za-z0-9_]+\\)\\]\\)*\\s-*\\)"
+;     "\\(^\\s-*[^=<>+-*/%&|^:\\s-]+[^=<>+-*/%&|^\n]*?\\)"
+     "\\(^.*?\\)" "\\B" verilog-assignment-operator-re "\\B" ))
 
 (defconst verilog-label-re (concat verilog-symbol-re "\\s-*:\\s-*"))
 (defconst verilog-property-re
@@ -1843,7 +2203,12 @@ find the errors."
    "\\(\\<`ovm_object_utils_end\\>\\)\\|"
    "\\(\\<`ovm_sequence_utils_end\\>\\)\\|"
    "\\(\\<`ovm_sequencer_utils_end\\>\\)"
-
+   ;; UVM
+   "\\(\\<`uvm_component_utils_end\\>\\)\\|"
+   "\\(\\<`uvm_field_utils_end\\>\\)\\|"
+   "\\(\\<`uvm_object_utils_end\\>\\)\\|"
+   "\\(\\<`uvm_sequence_utils_end\\>\\)\\|"
+   "\\(\\<`uvm_sequencer_utils_end\\>\\)"
    ))
 
 (defconst verilog-auto-end-comment-lines-re
@@ -1925,6 +2290,12 @@ find the errors."
        "`ovm_object_utils_end"
        "`ovm_sequence_utils_end"
        "`ovm_sequencer_utils_end"
+       ;; UVM
+       "`uvm_component_utils_end"
+       "`uvm_field_utils_end"
+       "`uvm_object_utils_end"
+       "`uvm_sequence_utils_end"
+       "`uvm_sequencer_utils_end"
        ;; VMM
        "`vmm_data_member_end"
        "`vmm_env_member_end"
@@ -1979,7 +2350,7 @@ find the errors."
        "specify"
        "table"
        "task"
-       ;;; OVM
+       ;; OVM
        "`ovm_component_utils_begin"
        "`ovm_component_param_utils_begin"
        "`ovm_field_utils_begin"
@@ -1987,6 +2358,14 @@ find the errors."
        "`ovm_object_param_utils_begin"
        "`ovm_sequence_utils_begin"
        "`ovm_sequencer_utils_begin"
+       ;; UVM
+       "`uvm_component_utils_begin"
+       "`uvm_component_param_utils_begin"
+       "`uvm_field_utils_begin"
+       "`uvm_object_utils_begin"
+       "`uvm_object_param_utils_begin"
+       "`uvm_sequence_utils_begin"
+       "`uvm_sequencer_utils_begin"
        ;; VMM
        "`vmm_data_member_begin"
        "`vmm_env_member_begin"
@@ -2000,7 +2379,7 @@ find the errors."
 (defconst verilog-beg-block-re-ordered
   ( concat "\\(\\<begin\\>\\)"         ;1
           "\\|\\(\\<randcase\\>\\|\\(\\<unique\\s-+\\|priority\\s-+\\)?case[xz]?\\>\\)" ; 2,3
-          "\\|\\(\\(\\<disable\\>\\s-+\\)?fork\\>\\)" ;4,5
+          "\\|\\(\\(\\<disable\\>\\s-+\\|\\<wait\\>\\s-+\\)?fork\\>\\)" ;4,5
           "\\|\\(\\<class\\>\\)"               ;6
           "\\|\\(\\<table\\>\\)"               ;7
           "\\|\\(\\<specify\\>\\)"             ;8
@@ -2013,7 +2392,7 @@ find the errors."
           "\\|\\(\\(\\(\\<cover\\>\\s-+\\)\\|\\(\\<assert\\>\\s-+\\)\\)*\\<property\\>\\)"     ;17 21
           "\\|\\(\\<\\(rand\\)?sequence\\>\\)" ;21 25
           "\\|\\(\\<clocking\\>\\)"          ;22 27
-          "\\|\\(\\<`ovm_[a-z_]+_begin\\>\\)" ;28
+          "\\|\\(\\<`[ou]vm_[a-z_]+_begin\\>\\)" ;28
            "\\|\\(\\<`vmm_[a-z_]+_member_begin\\>\\)"
           ;;
 
@@ -2125,6 +2504,8 @@ find the errors."
   (eval-when-compile (verilog-regexp-words `("endmodule" "endclass" "endprogram" "endinterface" "endpackage" "endprimitive" "endconfig"))))
 (defconst verilog-zero-indent-re
   (concat verilog-defun-re "\\|" verilog-end-defun-re))
+(defconst verilog-inst-comment-re
+  (eval-when-compile (verilog-regexp-words `("Outputs" "Inouts" "Inputs" "Interfaces" "Interfaced"))))
 
 (defconst verilog-behavioral-block-beg-re
   (eval-when-compile (verilog-regexp-words `("initial" "final" "always" "always_comb" "always_latch" "always_ff"
@@ -2186,6 +2567,20 @@ find the errors."
        "`ovm_object_utils_end"
        "`ovm_sequence_utils_end"
        "`ovm_sequencer_utils_end"
+       ;; UVM Begin tokens
+       "`uvm_component_utils_begin"
+       "`uvm_component_param_utils_begin"
+       "`uvm_field_utils_begin"
+       "`uvm_object_utils_begin"
+       "`uvm_object_param_utils_begin"
+       "`uvm_sequence_utils_begin"
+       "`uvm_sequencer_utils_begin"
+       ;; UVM End tokens
+       "`uvm_component_utils_end"      ;; Typo in spec, it's not uvm_component_end
+       "`uvm_field_utils_end"
+       "`uvm_object_utils_end"
+       "`uvm_sequence_utils_end"
+       "`uvm_sequencer_utils_end"
        ;; VMM Begin tokens
        "`vmm_data_member_begin"
        "`vmm_env_member_begin"
@@ -2227,8 +2622,7 @@ find the errors."
      `(
        "endmodule" "endprimitive" "endinterface" "endpackage" "endprogram" "endclass"
        ))))
-(defconst verilog-disable-fork-re "disable\\s-+fork\\>")
-(defconst verilog-fork-wait-re "fork\\s-+wait\\>")
+(defconst verilog-disable-fork-re "\\(disable\\|wait\\)\\s-+fork\\>")
 (defconst verilog-extended-case-re "\\(unique\\s-+\\|priority\\s-+\\)?case[xz]?")
 (defconst verilog-extended-complete-re
   (concat "\\(\\<extern\\s-+\\|\\<\\(\\<pure\\>\\s-+\\)?virtual\\s-+\\|\\<protected\\s-+\\)*\\(\\<function\\>\\|\\<task\\>\\)"
@@ -2609,6 +3003,7 @@ user-visible changes to the buffer must not be within a
          (buffer-undo-list t)
          (inhibit-read-only t)
          (inhibit-point-motion-hooks t)
+         (verilog-no-change-functions t)
          before-change-functions
          after-change-functions
          deactivate-mark
@@ -2624,6 +3019,7 @@ user-visible changes to the buffer must not be within a
   "Execute BODY forms, disabling all change hooks in BODY.
 For insignificant changes, see instead `verilog-save-buffer-state'."
   `(let* ((inhibit-point-motion-hooks t)
+         (verilog-no-change-functions t)
          before-change-functions
          after-change-functions)
      (progn ,@body)))
@@ -2633,13 +3029,17 @@ For insignificant changes, see instead `verilog-save-buffer-state'."
 
 (defvar verilog-scan-cache-preserving nil
   "If set, the specified buffer's comment properties are static.
-Buffer changes will be ignored.  See `verilog-inside-comment-p'
+Buffer changes will be ignored.  See `verilog-inside-comment-or-string-p'
 and `verilog-scan'.")
 
 (defvar verilog-scan-cache-tick nil
   "Modification tick at which `verilog-scan' was last completed.")
 (make-variable-buffer-local 'verilog-scan-cache-tick)
 
+(defun verilog-scan-cache-flush ()
+  "Flush the `verilog-scan' cache."
+  (setq verilog-scan-cache-tick nil))
+
 (defun verilog-scan-cache-ok-p ()
   "Return t iff the scan cache is up to date."
   (or (and verilog-scan-cache-preserving
@@ -2660,8 +3060,8 @@ This requires that insertions must use `verilog-insert'."
        (progn ,@body))))
 
 (defun verilog-scan-region (beg end)
-  "Parse comments between BEG and END for `verilog-inside-comment-p'.
-This creates v-cmt properties where comments are in force."
+  "Parse between BEG and END for `verilog-inside-comment-or-string-p'.
+This creates v-cmts properties where comments are in force."
   ;; Why properties and not overlays?  Overlays have much slower non O(1)
   ;; lookup times.
   ;; This function is warm - called on every verilog-insert
@@ -2678,8 +3078,9 @@ This creates v-cmt properties where comments are in force."
                  ;; "1+": The leading // or /* itself isn't considered as
                  ;; being "inside" the comment, so that a (search-backward)
                  ;; that lands at the start of the // won't mis-indicate
-                 ;; it's inside a comment
-                 (put-text-property (1+ pt) (point) 'v-cmt t))
+                 ;; it's inside a comment.  Also otherwise it would be
+                 ;; hard to find a commented out /*AS*/ vs one that isn't
+                 (put-text-property (1+ pt) (point) 'v-cmts t))
                 ((looking-at "/\\*")
                  (setq pt (point))
                  (or (search-forward "*/" end t)
@@ -2688,17 +3089,24 @@ This creates v-cmt properties where comments are in force."
                      ;;(error "%s: Unmatched /* */, at char %d"
                      ;;       (verilog-point-text) (point))
                      (goto-char end))
-                 (put-text-property (1+ pt) (point) 'v-cmt t))
+                 (put-text-property (1+ pt) (point) 'v-cmts t))
+                ((looking-at "\"")
+                 (setq pt (point))
+                 (or (re-search-forward "[^\\]\"" end t)       ;; don't forward-char first, since we look for a non backslash first
+                     ;; No error - let later code indicate it so we can
+                     (goto-char end))
+                 (put-text-property (1+ pt) (point) 'v-cmts t))
                 (t
                  (forward-char 1)
-                 (if (re-search-forward "/[/*]" end t)
-                     (backward-char 2)
+                 (if (re-search-forward "[/\"]" end t)
+                     (backward-char 1)
                    (goto-char end))))))))))
 
 (defun verilog-scan ()
   "Parse the buffer, marking all comments with properties.
 Also assumes any text inserted since `verilog-scan-cache-tick'
 either is ok to parse as a non-comment, or `verilog-insert' was used."
+  ;; See also `verilog-scan-debug' and `verilog-scan-and-debug'
   (unless (verilog-scan-cache-ok-p)
     (save-excursion
       (verilog-save-buffer-state
@@ -2706,21 +3114,47 @@ either is ok to parse as a non-comment, or `verilog-insert' was used."
          (message "Scanning %s cache=%s cachetick=%S tick=%S" (current-buffer)
                   verilog-scan-cache-preserving verilog-scan-cache-tick
                   (buffer-chars-modified-tick)))
-       (remove-text-properties (point-min) (point-max) '(v-cmt nil))
+       (remove-text-properties (point-min) (point-max) '(v-cmts nil))
        (verilog-scan-region (point-min) (point-max))
        (setq verilog-scan-cache-tick (buffer-chars-modified-tick))
        (when verilog-debug (message "Scanning... done"))))))
 
-(defun verilog-inside-comment-p ()
-  "Check if point inside a comment.
+(defun verilog-scan-debug ()
+  "For debugging, show with display face results of `verilog-scan'."
+  (font-lock-mode 0)
+  ;;(if dbg (setq dbg (concat dbg (format "verilog-scan-debug\n"))))
+  (save-excursion
+    (goto-char (point-min))
+    (remove-text-properties (point-min) (point-max) '(face nil))
+    (while (not (eobp))
+      (cond ((get-text-property (point) 'v-cmts)
+            (put-text-property (point) (1+ (point)) `face 'underline)
+            ;;(if dbg (setq dbg (concat dbg (format "  v-cmts at %S\n" (point)))))
+            (forward-char 1))
+           (t
+            (goto-char (or (next-property-change (point)) (point-max))))))))
+
+(defun verilog-scan-and-debug ()
+  "For debugging, run `verilog-scan' and `verilog-scan-debug'."
+  (let (verilog-scan-cache-preserving
+       verilog-scan-cache-tick)
+    (goto-char (point-min))
+    (verilog-scan)
+    (verilog-scan-debug)))
+
+(defun verilog-inside-comment-or-string-p (&optional pos)
+  "Check if optional point POS is inside a comment.
 This may require a slow pre-parse of the buffer with `verilog-scan'
 to establish comment properties on all text."
   ;; This function is very hot
   (verilog-scan)
-  (get-text-property (point) 'v-cmt))
+  (if pos
+      (and (>= pos (point-min))
+          (get-text-property pos 'v-cmts))
+    (get-text-property (point) 'v-cmts)))
 
 (defun verilog-insert (&rest stuff)
-  "Insert STUFF arguments, tracking comments for `verilog-inside-comment-p'.
+  "Insert STUFF arguments, tracking for `verilog-inside-comment-or-string-p'.
 Any insert that includes a comment must have the entire commente
 inserted using a single call to `verilog-insert'."
   (let ((pt (point)))
@@ -2741,7 +3175,7 @@ Use filename, if current buffer being edited shorten to just buffer name."
                   (buffer-name))
              buffer-file-name
              (buffer-name))
-         ":" (int-to-string (count-lines (point-min) (or pointnum (point))))))
+         ":" (int-to-string (1+ (count-lines (point-min) (or pointnum (point)))))))
 
 (defun electric-verilog-backward-sexp ()
   "Move backward over one balanced expression."
@@ -2835,28 +3269,24 @@ Use filename, if current buffer being edited shorten to just buffer name."
        (setq md 3) ;; ender is third item in regexp
        )
        ((match-end 4)
-       ;; might be "disable fork" or "fork wait"
+       ;; might be "disable fork" or "wait fork"
        (let
            (here)
-         (if (looking-at verilog-fork-wait-re)
-             (progn  ;; it is a fork wait; ignore it
+         (if (or
+              (looking-at verilog-disable-fork-re)
+              (and (looking-at "fork")
+                   (progn
+                     (setq here (point)) ;; sometimes a fork is just a fork
+                     (forward-word -1)
+                     (looking-at verilog-disable-fork-re))))
+             (progn ;; it is a disable fork; ignore it
                (goto-char (match-end 0))
+               (forward-word 1)
                (setq reg nil))
-           (if (or
-                (looking-at verilog-disable-fork-re)
-                (and (looking-at "fork")
-                     (progn
-                       (setq here (point)) ;; sometimes a fork is just a fork
-                       (forward-word -1)
-                       (looking-at verilog-disable-fork-re))))
-               (progn ;; it is a disable fork; ignore it
-                 (goto-char (match-end 0))
-                 (forward-word 1)
-                 (setq reg nil))
-             (progn ;; it is a nice simple fork
-               (goto-char here)   ;; return from looking for "disable fork"
-               ;; Search forward for matching join
-               (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" ))))))
+           (progn ;; it is a nice simple fork
+             (goto-char here)   ;; return from looking for "disable fork"
+             ;; Search forward for matching join
+             (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" )))))
        ((match-end 6)
        ;; Search forward for matching endclass
        (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
@@ -2916,8 +3346,6 @@ Use filename, if current buffer being edited shorten to just buffer name."
                      (setq here (point)) ; remember where we started
                      (goto-char (match-beginning 1))
                      (cond
-                      ((looking-at verilog-fork-wait-re)
-                       (goto-char (match-end 0))) ; false alarm
                       ((if (or
                             (looking-at verilog-disable-fork-re)
                             (and (looking-at "fork")
@@ -3076,6 +3504,8 @@ Some other functions are:
     \\[verilog-sk-initial]  Insert an initial begin .. end block.
     \\[verilog-sk-fork]  Insert a fork begin .. end .. join block.
     \\[verilog-sk-module]  Insert a module .. (/*AUTOARG*/);.. endmodule block.
+    \\[verilog-sk-ovm-class]  Insert an OVM Class block.
+    \\[verilog-sk-uvm-class]  Insert an UVM Class block.
     \\[verilog-sk-primitive]  Insert a primitive .. (.. );.. endprimitive block.
     \\[verilog-sk-repeat]  Insert a repeat (..) begin .. end block.
     \\[verilog-sk-specify]  Insert a specify .. endspecify block.
@@ -3110,7 +3540,6 @@ Key bindings specific to `verilog-mode-map' are:
        #'verilog-indent-line-relative)
   (setq comment-indent-function 'verilog-comment-indent)
   (set (make-local-variable 'parse-sexp-ignore-comments) nil)
-
   (set (make-local-variable 'comment-start) "// ")
   (set (make-local-variable 'comment-end) "")
   (set (make-local-variable 'comment-start-skip) "/\\*+ *\\|// *")
@@ -3168,7 +3597,9 @@ Key bindings specific to `verilog-mode-map' are:
                  hs-special-modes-alist))))
 
   ;; Stuff for autos
-  (add-hook 'write-contents-hooks 'verilog-auto-save-check nil 'local))
+  (add-hook 'write-contents-hooks 'verilog-auto-save-check nil 'local)
+  ;; verilog-mode-hook call added by define-derived-mode
+  )
 \f
 
 ;;
@@ -3519,6 +3950,12 @@ area.  See also `verilog-comment-region'."
   (interactive)
   (verilog-re-search-backward verilog-defun-re nil 'move))
 
+(defun verilog-beg-of-defun-quick ()
+  "Move backward to the beginning of the current function or procedure.
+Uses `verilog-scan' cache."
+  (interactive)
+  (verilog-re-search-backward-quick verilog-defun-re nil 'move))
+
 (defun verilog-end-of-defun ()
   "Move forward to the end of the current function or procedure."
   (interactive)
@@ -3741,13 +4178,21 @@ More specifically, point @ in the line foo : @ begin"
               (t
                (throw 'found (= nest 0)))))))
       nil)))
+
 (defun verilog-backward-up-list (arg)
-  "Like backward-up-list, but deal with comments."
-  (let (saved-psic parse-sexp-ignore-comments)
-    (setq parse-sexp-ignore-comments 1)
-    (backward-up-list arg)
-    (setq parse-sexp-ignore-comments saved-psic)
-    ))
+  "Like `backward-up-list', but deal with comments."
+  (let ((parse-sexp-ignore-comments t))
+    (backward-up-list arg)))
+
+(defun verilog-forward-sexp-cmt (arg)
+  "Call `forward-sexp', inside comments."
+  (let ((parse-sexp-ignore-comments nil))
+    (forward-sexp arg)))
+
+(defun verilog-forward-sexp-ign-cmt (arg)
+  "Call `forward-sexp', ignoring comments."
+  (let ((parse-sexp-ignore-comments t))
+    (forward-sexp arg)))
 
 (defun verilog-in-struct-region-p ()
   "Return true if in a struct region.
@@ -4449,7 +4894,6 @@ becomes:
                   next-error-last-buffer
                 compilation-last-buffer)))
     (when (buffer-live-p buff)
-      ;; FIXME with-current-buffer?
       (save-excursion
         (switch-to-buffer buff)
         (beginning-of-line)
@@ -4565,8 +5009,9 @@ This lets programs calling batch mode to easily extract error messages."
       (error "%%Error: %s%s" (error-message-string err)
             (if (featurep 'xemacs) "\n" "")))))  ;; XEmacs forgets to add a newline
 
-(defun verilog-batch-execute-func (funref)
-  "Internal processing of a batch command, running FUNREF on all command arguments."
+(defun verilog-batch-execute-func (funref &optional no-save)
+  "Internal processing of a batch command, running FUNREF on all command arguments.
+Save the result unless optional NO-SAVE is t."
   (verilog-batch-error-wrapper
    ;; Setting global variables like that is *VERY NASTY* !!!  --Stef
    ;; However, this function is called only when Emacs is being used as
@@ -4587,15 +5032,15 @@ This lets programs calling batch mode to easily extract error messages."
         (buffer-list))
    ;; Process the files
    (mapcar (lambda (buf)
-             (when (buffer-file-name buf)
-               (save-excursion
-                 (if (not (file-exists-p (buffer-file-name buf)))
-                     (error
-                      (concat "File not found: " (buffer-file-name buf))))
-                 (message (concat "Processing " (buffer-file-name buf)))
-                 (set-buffer buf)
-                 (funcall funref)
-                 (save-buffer))))
+            (when (buffer-file-name buf)
+              (save-excursion
+                (if (not (file-exists-p (buffer-file-name buf)))
+                    (error
+                     (concat "File not found: " (buffer-file-name buf))))
+                (message (concat "Processing " (buffer-file-name buf)))
+                (set-buffer buf)
+                (funcall funref)
+                (unless no-save (save-buffer)))))
           (buffer-list))))
 
 (defun verilog-batch-auto ()
@@ -4616,6 +5061,16 @@ with \\[verilog-delete-auto] on all command-line files, and saves the buffers."
     (error "Use verilog-batch-delete-auto only with --batch"))  ;; Otherwise we'd mess up buffer modes
   (verilog-batch-execute-func `verilog-delete-auto))
 
+(defun verilog-batch-diff-auto ()
+  "For use with --batch, perform automatic differences as a stand-alone tool.
+This sets up the appropriate Verilog mode environment, expand automatics
+with \\[verilog-diff-auto] on all command-line files, and reports an error
+if any differences are observed.  This is appropriate for adding to regressions
+to insure automatics are always properly maintained."
+  (unless noninteractive
+    (error "Use verilog-batch-diff-auto only with --batch"))  ;; Otherwise we'd mess up buffer modes
+  (verilog-batch-execute-func `verilog-diff-auto t))
+
 (defun verilog-batch-inject-auto ()
   "For use with --batch, perform automatic injection as a stand-alone tool.
 This sets up the appropriate Verilog mode environment, injects new automatics
@@ -4627,7 +5082,7 @@ line in bottom-up order."
   (verilog-batch-execute-func `verilog-inject-auto))
 
 (defun verilog-batch-indent ()
-  "For use with --batch, reindent an entire file as a stand-alone tool.
+  "For use with --batch, reindent an entire file as a stand-alone tool.
 This sets up the appropriate Verilog mode environment, calls
 \\[verilog-indent-buffer] on all command-line files, and saves the buffers."
   (unless noninteractive
@@ -4692,123 +5147,123 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
                   ;; if we have a directive, done.
                   (if (save-excursion (beginning-of-line)
                                       (and (looking-at verilog-directive-re-1)
-                                           (not (or (looking-at "[ \t]*`ovm_")
+                                           (not (or (looking-at "[ \t]*`[ou]vm_")
                                  (looking-at "[ \t]*`vmm_")))))
                       (throw 'nesting 'directive))
            ;; indent structs as if there were module level
            (if (verilog-in-struct-p)
                (throw 'nesting 'block))
 
-                  ;; unless we are in the newfangled coverpoint or constraint blocks
-                  ;; if we are in a parenthesized list, and the user likes to indent these, return.
-                  (if (and
+          ;; if we are in a parenthesized list, and the user likes to indent these, return.
+          ;; unless we are in the newfangled coverpoint or constraint blocks
+          (if (and
                 verilog-indent-lists
                 (verilog-in-paren)
                 (not (verilog-in-coverage-p))
                 )
-                      (progn (setq par 1)
+              (progn (setq par 1)
                       (throw 'nesting 'block)))
 
-                  ;; See if we are continuing a previous line
-                  (while t
-                    ;; trap out if we crawl off the top of the buffer
-                    (if (bobp) (throw 'nesting 'cpp))
-
-                    (if (verilog-continued-line-1 lim)
-                        (let ((sp (point)))
-                          (if (and
-                               (not (looking-at verilog-complete-reg))
-                               (verilog-continued-line-1 lim))
-                              (progn (goto-char sp)
-                                     (throw 'nesting 'cexp))
-
-                            (goto-char sp))
-
-                          (if (and begin
-                                   (not verilog-indent-begin-after-if)
-                                   (looking-at verilog-no-indent-begin-re))
-                              (progn
-                                (beginning-of-line)
-                                (skip-chars-forward " \t")
-                                (throw 'nesting 'statement))
-                            (progn
-                              (throw 'nesting 'cexp))))
-                      ;; not a continued line
-                      (goto-char starting_position))
-
-                    (if (looking-at "\\<else\\>")
-                        ;; search back for governing if, striding across begin..end pairs
-                        ;; appropriately
-                        (let ((elsec 1))
-                          (while (verilog-re-search-backward verilog-ends-re nil 'move)
+          ;; See if we are continuing a previous line
+          (while t
+            ;; trap out if we crawl off the top of the buffer
+            (if (bobp) (throw 'nesting 'cpp))
+
+            (if (verilog-continued-line-1 lim)
+                (let ((sp (point)))
+                  (if (and
+                       (not (looking-at verilog-complete-reg))
+                       (verilog-continued-line-1 lim))
+                      (progn (goto-char sp)
+                             (throw 'nesting 'cexp))
+
+                    (goto-char sp))
+
+                  (if (and begin
+                           (not verilog-indent-begin-after-if)
+                           (looking-at verilog-no-indent-begin-re))
+                      (progn
+                        (beginning-of-line)
+                        (skip-chars-forward " \t")
+                        (throw 'nesting 'statement))
+                    (progn
+                      (throw 'nesting 'cexp))))
+              ;; not a continued line
+              (goto-char starting_position))
+
+            (if (looking-at "\\<else\\>")
+                ;; search back for governing if, striding across begin..end pairs
+                ;; appropriately
+                (let ((elsec 1))
+                  (while (verilog-re-search-backward verilog-ends-re nil 'move)
+                    (cond
+                     ((match-end 1) ; else, we're in deep
+                      (setq elsec (1+ elsec)))
+                     ((match-end 2) ; if
+                      (setq elsec (1- elsec))
+                      (if (= 0 elsec)
+                          (if verilog-align-ifelse
+                              (throw 'nesting 'statement)
+                            (progn ;; back up to first word on this line
+                              (beginning-of-line)
+                              (verilog-forward-syntactic-ws)
+                              (throw 'nesting 'statement)))))
+                     ((match-end 3) ; assert block
+                      (setq elsec (1- elsec))
+                      (verilog-beg-of-statement) ;; doesn't get to beginning
+                      (if (looking-at verilog-property-re)
+                          (throw 'nesting 'statement) ; We don't need an endproperty for these
+                        (throw 'nesting 'block)        ;We still need a endproperty
+                        ))
+                     (t ; endblock
+                                       ; try to leap back to matching outward block by striding across
+                                       ; indent level changing tokens then immediately
+                                       ; previous line governs indentation.
+                      (let (( reg) (nest 1))
+                        ;;      verilog-ends =>  else|if|end|join(_any|_none|)|endcase|endclass|endtable|endspecify|endfunction|endtask|endgenerate|endgroup
+                        (cond
+                         ((match-end 4) ; end
+                          ;; Search back for matching begin
+                          (setq reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)" ))
+                         ((match-end 5) ; endcase
+                          ;; Search back for matching case
+                          (setq reg "\\(\\<randcase\\>\\|\\<case[xz]?\\>[^:]\\)\\|\\(\\<endcase\\>\\)" ))
+                         ((match-end 6) ; endfunction
+                          ;; Search back for matching function
+                          (setq reg "\\(\\<function\\>\\)\\|\\(\\<endfunction\\>\\)" ))
+                         ((match-end 7) ; endtask
+                          ;; Search back for matching task
+                          (setq reg "\\(\\<task\\>\\)\\|\\(\\<endtask\\>\\)" ))
+                         ((match-end 8) ; endspecify
+                          ;; Search back for matching specify
+                          (setq reg "\\(\\<specify\\>\\)\\|\\(\\<endspecify\\>\\)" ))
+                         ((match-end 9) ; endtable
+                          ;; Search back for matching table
+                          (setq reg "\\(\\<table\\>\\)\\|\\(\\<endtable\\>\\)" ))
+                         ((match-end 10) ; endgenerate
+                          ;; Search back for matching generate
+                          (setq reg "\\(\\<generate\\>\\)\\|\\(\\<endgenerate\\>\\)" ))
+                         ((match-end 11) ; joins
+                          ;; Search back for matching fork
+                          (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|none\\)?\\>\\)" ))
+                         ((match-end 12) ; class
+                          ;; Search back for matching class
+                          (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
+                         ((match-end 13) ; covergroup
+                          ;; Search back for matching covergroup
+                          (setq reg "\\(\\<covergroup\\>\\)\\|\\(\\<endgroup\\>\\)" )))
+                        (catch 'skip
+                          (while (verilog-re-search-backward reg nil 'move)
                             (cond
-                             ((match-end 1) ; else, we're in deep
-                              (setq elsec (1+ elsec)))
-                             ((match-end 2) ; if
-                              (setq elsec (1- elsec))
-                              (if (= 0 elsec)
-                                  (if verilog-align-ifelse
-                                      (throw 'nesting 'statement)
-                                    (progn ;; back up to first word on this line
-                                      (beginning-of-line)
-                                      (verilog-forward-syntactic-ws)
-                                      (throw 'nesting 'statement)))))
-                             ((match-end 3) ; assert block
-                              (setq elsec (1- elsec))
-                              (verilog-beg-of-statement) ;; doesn't get to beginning
-                              (if (looking-at verilog-property-re)
-                                  (throw 'nesting 'statement) ; We don't need an endproperty for these
-                                (throw 'nesting 'block)        ;We still need a endproperty
-                                ))
-                             (t ; endblock
-                               ; try to leap back to matching outward block by striding across
-                               ; indent level changing tokens then immediately
-                               ; previous line governs indentation.
-                              (let (( reg) (nest 1))
-;;      verilog-ends =>  else|if|end|join(_any|_none|)|endcase|endclass|endtable|endspecify|endfunction|endtask|endgenerate|endgroup
-                                (cond
-                                 ((match-end 4) ; end
-                                  ;; Search back for matching begin
-                                  (setq reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)" ))
-                                 ((match-end 5) ; endcase
-                                  ;; Search back for matching case
-                                  (setq reg "\\(\\<randcase\\>\\|\\<case[xz]?\\>[^:]\\)\\|\\(\\<endcase\\>\\)" ))
-                                 ((match-end 6) ; endfunction
-                                  ;; Search back for matching function
-                                  (setq reg "\\(\\<function\\>\\)\\|\\(\\<endfunction\\>\\)" ))
-                                 ((match-end 7) ; endtask
-                                  ;; Search back for matching task
-                                  (setq reg "\\(\\<task\\>\\)\\|\\(\\<endtask\\>\\)" ))
-                                 ((match-end 8) ; endspecify
-                                  ;; Search back for matching specify
-                                  (setq reg "\\(\\<specify\\>\\)\\|\\(\\<endspecify\\>\\)" ))
-                                 ((match-end 9) ; endtable
-                                  ;; Search back for matching table
-                                  (setq reg "\\(\\<table\\>\\)\\|\\(\\<endtable\\>\\)" ))
-                                 ((match-end 10) ; endgenerate
-                                  ;; Search back for matching generate
-                                  (setq reg "\\(\\<generate\\>\\)\\|\\(\\<endgenerate\\>\\)" ))
-                                 ((match-end 11) ; joins
-                                  ;; Search back for matching fork
-                                  (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|none\\)?\\>\\)" ))
-                                 ((match-end 12) ; class
-                                  ;; Search back for matching class
-                                  (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
-                                 ((match-end 13) ; covergroup
-                                  ;; Search back for matching covergroup
-                                  (setq reg "\\(\\<covergroup\\>\\)\\|\\(\\<endgroup\\>\\)" )))
-                                (catch 'skip
-                                  (while (verilog-re-search-backward reg nil 'move)
-                                    (cond
-                                     ((match-end 1) ; begin
-                                      (setq nest (1- nest))
-                                      (if (= 0 nest)
-                                          (throw 'skip 1)))
-                                     ((match-end 2) ; end
-                                      (setq nest (1+ nest)))))
-                                  )))))))
-                    (throw 'nesting (verilog-calc-1)))
-                  );; catch nesting
+                             ((match-end 1) ; begin
+                              (setq nest (1- nest))
+                              (if (= 0 nest)
+                                  (throw 'skip 1)))
+                             ((match-end 2) ; end
+                              (setq nest (1+ nest)))))
+                          )))))))
+            (throw 'nesting (verilog-calc-1)))
+          );; catch nesting
                 );; type
           )
       ;; Return type of block and indent level.
@@ -4883,8 +5338,7 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
             ((match-end 4)  ; *sigh* could be "disable fork"
              (let ((here (point)))
                (verilog-beg-of-statement)
-               (if (or (looking-at verilog-disable-fork-re)
-                       (looking-at verilog-fork-wait-re))
+               (if (looking-at verilog-disable-fork-re)
                    t ; this is a normal statement
                  (progn ; or is fork, starts a new block
                    (goto-char here)
@@ -5050,6 +5504,9 @@ Jump from end to matching begin, from endcase to matching case, and so on."
      ((looking-at "\\<endproperty\\>")
       ;; 11: Search back for matching property
       (setq reg "\\(\\<property\\>\\)\\|\\(\\<endproperty\\>\\)" ))
+     ((looking-at verilog-uvm-end-re)
+      ;; 12: Search back for matching sequence
+      (setq reg (concat "\\(" verilog-uvm-begin-re "\\|" verilog-uvm-end-re "\\)")))
      ((looking-at verilog-ovm-end-re)
       ;; 12: Search back for matching sequence
       (setq reg (concat "\\(" verilog-ovm-begin-re "\\|" verilog-ovm-end-re "\\)")))
@@ -5177,6 +5634,12 @@ Set point to where line starts."
         ;;XX
         ((looking-at "\\<\\(always\\(_latch\\|_ff\\|_comb\\)?\\|case\\(\\|[xz]\\)\\|for\\(\\|each\\|ever\\)\\|i\\(f\\|nitial\\)\\|repeat\\|while\\)\\>")
          (not (looking-at "\\<randcase\\>\\|\\<case[xz]?\\>[^:]")))
+        ((looking-at verilog-uvm-statement-re)
+         nil)
+        ((looking-at verilog-uvm-begin-re)
+         t)
+        ((looking-at verilog-uvm-end-re)
+         t)
         ((looking-at verilog-ovm-statement-re)
          nil)
         ((looking-at verilog-ovm-begin-re)
@@ -5241,9 +5704,24 @@ Set point to where line starts."
          t))))))))
 
 (defun verilog-backward-syntactic-ws ()
+  "Move backwards putting point after first non-whitespace non-comment."
   (verilog-skip-backward-comments)
   (forward-comment (- (buffer-size))))
 
+(defun verilog-backward-syntactic-ws-quick ()
+  "As with `verilog-backward-syntactic-ws' but uses `verilog-scan' cache."
+  (while (cond ((bobp)
+               nil) ; Done
+              ((> (skip-syntax-backward " ") 0)
+               t)
+              ((eq (preceding-char) ?\n)  ;; \n's terminate // so aren't space syntax
+               (forward-char -1)
+               t)
+              ((or (verilog-inside-comment-or-string-p (1- (point)))
+                   (verilog-inside-comment-or-string-p (point)))
+               (re-search-backward "[/\"]" nil t) ;; Only way a comment or quote can begin
+               t))))
+
 (defun verilog-forward-syntactic-ws ()
   (verilog-skip-forward-comment-p)
   (forward-comment (buffer-size)))
@@ -5339,9 +5817,17 @@ Optional BOUND limits search."
 
 (defun verilog-in-attribute-p ()
  "Return true if point is in an attribute (* [] attribute *)."
- (save-excursion
-   (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
-   (numberp (match-beginning 1))))
+ (save-match-data
+   (save-excursion
+     (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
+     (numberp (match-beginning 1)))))
+
+(defun verilog-in-parameter-p ()
+ "Return true if point is in a parameter assignment #( p1=1, p2=5)."
+ (save-match-data
+   (save-excursion
+     (verilog-re-search-backward "\\(#(\\)\\|\\()\\)" nil 'move)
+     (numberp (match-beginning 1)))))
 
 (defun verilog-in-escaped-name-p ()
  "Return true if in an escaped name."
@@ -5357,11 +5843,27 @@ Optional BOUND limits search."
    (beginning-of-line)
    (looking-at verilog-directive-re-1)))
 
+(defun verilog-in-parenthesis-p ()
+ "Return true if in a ( ) expression (but not { } or [ ])."
+ (save-match-data
+   (save-excursion
+     (verilog-re-search-backward "\\((\\)\\|\\()\\)" nil 'move)
+     (numberp (match-beginning 1)))))
+
 (defun verilog-in-paren ()
- "Return true if in a parenthetical expression."
+ "Return true if in a parenthetical expression.
+May cache result using `verilog-syntax-ppss'."
  (let ((state (save-excursion (verilog-syntax-ppss))))
    (> (nth 0 state) 0 )))
 
+(defun verilog-in-paren-quick ()
+ "Return true if in a parenthetical expression.
+Always starts from point-min, to allow inserts with hooks disabled."
+ ;; The -quick refers to its use alongside the other -quick functions,
+ ;; not that it's likely to be faster than verilog-in-paren.
+ (let ((state (save-excursion (parse-partial-sexp (point-min) (point)))))
+   (> (nth 0 state) 0 )))
+
 (defun verilog-in-struct-p ()
  "Return true if in a struct declaration."
  (interactive)
@@ -5607,7 +6109,11 @@ Only look at a few lines to determine indent level."
                         (goto-char fst)
                         (+ (current-column) verilog-cexp-indent))))))
            (goto-char here)
-           (indent-line-to val)))
+           (indent-line-to val)
+           (if (and (not verilog-indent-lists)
+                    (verilog-in-paren))
+               (verilog-pretty-declarations))
+           ))
         ((= (preceding-char) ?\) )
          (goto-char here)
          (let ((val (eval (cdr (assoc type verilog-indent-alist)))))
@@ -5915,102 +6421,104 @@ Be verbose about progress unless optional QUIET set."
            (unless quiet (message "")))))))
 
 (defun verilog-pretty-expr (&optional quiet myre)
-  "Line up expressions around point, optionally QUIET with regexp MYRE."
-  (interactive "i\nsRegular Expression: ((<|:)?=) ")
-  (save-excursion
-    (if (or (eq myre nil)
-           (string-equal myre ""))
-       (setq myre "\\(<\\|:\\)?="))
-    ;; want to match the first <= |  := | =
-    (setq myre (concat "\\(^.*?\\)\\(" myre "\\)"))
-    (let ((rexp(concat "^\\s-*" verilog-complete-reg)))
-      (beginning-of-line)
-      (if (and (not (looking-at rexp ))
-               (looking-at myre)
-               (save-excursion
-                 (goto-char (match-beginning 2))
-                 (not (verilog-in-comment-or-string-p))))
-          (let* ((here (point))
-                 (e) (r)
-                 (start
-                  (progn
-                    (beginning-of-line)
-                    (setq e (point))
-                    (verilog-backward-syntactic-ws)
-                    (beginning-of-line)
-                    (while (and (not (looking-at rexp ))
-                                (looking-at myre)
-                                (not (bobp))
-                                )
-                      (setq e (point))
-                      (verilog-backward-syntactic-ws)
-                      (beginning-of-line)
-                      ) ;Ack, need to grok `define
-                    e))
-                 (end
-                  (progn
-                    (goto-char here)
-                    (end-of-line)
-                    (setq e (point))   ;Might be on last line
-                    (verilog-forward-syntactic-ws)
-                    (beginning-of-line)
-                    (while (and
-                            (not (looking-at rexp ))
-                            (looking-at myre)
-                            (progn
-                              (end-of-line)
-                              (not (eq e (point)))))
-                      (setq e (point))
-                      (verilog-forward-syntactic-ws)
-                      (beginning-of-line)
-                      )
-                    e))
-                 (endpos (set-marker (make-marker) end))
-                 (ind)
-                 )
-            (goto-char start)
-            (verilog-do-indent (verilog-calculate-indent))
-            (if (and (not quiet)
-                     (> (- end start) 100))
-                (message "Lining up expressions..(please stand by)"))
-
-            ;; Set indent to minimum throughout region
-            (while (< (point) (marker-position endpos))
-              (beginning-of-line)
-              (verilog-just-one-space myre)
-              (end-of-line)
-              (verilog-forward-syntactic-ws)
-              )
-
-            ;; Now find biggest prefix
-            (setq ind (verilog-get-lineup-indent-2 myre start endpos))
-
-            ;; Now indent each line.
-            (goto-char start)
-            (while (progn (setq e (marker-position endpos))
-                          (setq r (- e (point)))
-                          (> r 0))
-              (setq e (point))
-              (if (not quiet) (message "%d" r))
-              (cond
-               ((looking-at myre)
-                (goto-char (match-beginning 2))
-                (if (not (verilog-parenthesis-depth)) ;; ignore parenthesized exprs
-                    (if (eq (char-after) ?=)
-                        (indent-to (1+ ind))   ; line up the = of the <= with surrounding =
-                      (indent-to ind)
-                      )))
-               ((verilog-continued-line-1 start)
-                (goto-char e)
-                (indent-line-to ind))
-               (t              ; Must be comment or white space
-                (goto-char e)
-                (verilog-forward-ws&directives)
-                (forward-line -1))
-               )
-              (forward-line 1))
-            (unless quiet (message ""))
-            )))))
+  "Line up expressions around point, optionally QUIET with regexp MYRE ignored."
+  (interactive)
+  (if (not (verilog-in-comment-or-string-p))
+      (save-excursion
+       (let ((rexp (concat "^\\s-*" verilog-complete-reg)))
+         (beginning-of-line)
+         (if (and (not (looking-at rexp ))
+                  (looking-at verilog-assignment-operation-re)
+                  (save-excursion
+                    (goto-char (match-end 2))
+                    (and (not (verilog-in-attribute-p))
+                         (not (verilog-in-parameter-p))
+                         (not (verilog-in-comment-or-string-p)))))
+             (let* ((here (point))
+                    (e) (r)
+                    (start
+                     (progn
+                       (beginning-of-line)
+                       (setq e (point))
+                       (verilog-backward-syntactic-ws)
+                       (beginning-of-line)
+                       (while (and (not (looking-at rexp ))
+                                   (looking-at verilog-assignment-operation-re)
+                                   (not (bobp))
+                                   )
+                         (setq e (point))
+                         (verilog-backward-syntactic-ws)
+                         (beginning-of-line)
+                         ) ;Ack, need to grok `define
+                       e))
+                    (end
+                     (progn
+                       (goto-char here)
+                       (end-of-line)
+                       (setq e (point))        ;Might be on last line
+                       (verilog-forward-syntactic-ws)
+                       (beginning-of-line)
+                       (while (and
+                               (not (looking-at rexp ))
+                               (looking-at verilog-assignment-operation-re)
+                               (progn
+                                 (end-of-line)
+                                 (not (eq e (point)))))
+                         (setq e (point))
+                         (verilog-forward-syntactic-ws)
+                         (beginning-of-line)
+                         )
+                       e))
+                    (endpos (set-marker (make-marker) end))
+                    (ind)
+                    )
+               (goto-char start)
+               (verilog-do-indent (verilog-calculate-indent))
+               (if (and (not quiet)
+                        (> (- end start) 100))
+                   (message "Lining up expressions..(please stand by)"))
+
+               ;; Set indent to minimum throughout region
+               (while (< (point) (marker-position endpos))
+                 (beginning-of-line)
+                 (verilog-just-one-space verilog-assignment-operation-re)
+                 (beginning-of-line)
+                 (verilog-do-indent (verilog-calculate-indent))
+                 (end-of-line)
+                 (verilog-forward-syntactic-ws)
+                 )
+
+               ;; Now find biggest prefix
+               (setq ind (verilog-get-lineup-indent-2 verilog-assignment-operation-re start endpos))
+
+               ;; Now indent each line.
+               (goto-char start)
+               (while (progn (setq e (marker-position endpos))
+                             (setq r (- e (point)))
+                             (> r 0))
+                 (setq e (point))
+                 (if (not quiet) (message "%d" r))
+                 (cond
+                  ((looking-at verilog-assignment-operation-re)
+                   (goto-char (match-beginning 2))
+                   (if (not (or (verilog-in-parenthesis-p) ;; leave attributes and comparisons alone
+                                (verilog-in-coverage-p)))
+                       (if (eq (char-after) ?=)
+                           (indent-to (1+ ind))        ; line up the = of the <= with surrounding =
+                         (indent-to ind)
+                         ))
+                   )
+                  ((verilog-continued-line-1 start)
+                   (goto-char e)
+                   (indent-line-to ind))
+                  (t           ; Must be comment or white space
+                   (goto-char e)
+                   (verilog-forward-ws&directives)
+                   (forward-line -1))
+                  )
+                 (forward-line 1))
+               (unless quiet (message ""))
+            ))))))
 
 (defun verilog-just-one-space (myre)
   "Remove extra spaces around regular expression MYRE."
@@ -6021,11 +6529,9 @@ Be verbose about progress unless optional QUIET set."
            (p2 (match-end 2)))
        (progn
          (goto-char p2)
-         (if (looking-at "\\s-") (just-one-space))
+         (just-one-space)
          (goto-char p1)
-         (forward-char -1)
-         (if (looking-at "\\s-") (just-one-space))
-         ))))
+         (just-one-space)))))
 
 (defun verilog-indent-declaration (baseind)
   "Indent current lines as declaration.
@@ -6128,7 +6634,7 @@ Region is defined by B and EDPOS."
       (while (progn (setq e (marker-position edpos))
                    (< (point) e))
        (if (and (verilog-re-search-forward myre e 'move)
-                (not (verilog-parenthesis-depth))) ;; skip parenthesized exprs
+                (not (verilog-in-attribute-p))) ;; skip attribute exprs
            (progn
              (goto-char (match-beginning 2))
              (verilog-backward-syntactic-ws)
@@ -6374,10 +6880,10 @@ for matches of `str' and adding the occurrence tp `all' through point END."
 (defun verilog-keyword-completion (keyword-list)
   "Give list of all possible completions of keywords in KEYWORD-LIST."
   (mapcar (lambda (s)
-            (if (string-match (concat "\\<" verilog-str) s)
-                (if (or (null verilog-pred)
-                        (funcall verilog-pred s))
-                    (setq verilog-all (cons s verilog-all)))))
+           (if (string-match (concat "\\<" verilog-str) s)
+               (if (or (null verilog-pred)
+                       (funcall verilog-pred s))
+                   (setq verilog-all (cons s verilog-all)))))
          keyword-list))
 
 
@@ -6883,16 +7389,18 @@ See also `verilog-sk-header' for an alternative format."
 (defsubst verilog-sig-width (sig)
   (verilog-make-width-expression (verilog-sig-bits sig)))
 
-(defsubst verilog-alw-new (outputs temps inputs delayed)
-  (list outputs temps inputs delayed))
-(defsubst verilog-alw-get-outputs (sigs)
+(defsubst verilog-alw-new (outputs-del outputs-imm temps inputs)
+  (list outputs-del outputs-imm temps inputs))
+(defsubst verilog-alw-get-outputs-delayed (sigs)
   (nth 0 sigs))
-(defsubst verilog-alw-get-temps (sigs)
+(defsubst verilog-alw-get-outputs-immediate (sigs)
   (nth 1 sigs))
-(defsubst verilog-alw-get-inputs (sigs)
+(defsubst verilog-alw-get-temps (sigs)
   (nth 2 sigs))
-(defsubst verilog-alw-get-uses-delayed (sigs)
+(defsubst verilog-alw-get-inputs (sigs)
   (nth 3 sigs))
+(defsubst verilog-alw-get-uses-delayed (sigs)
+  (nth 0 sigs))
 
 (defsubst verilog-modi-new (name fob pt type)
   (vector name fob pt type))
@@ -6911,18 +7419,18 @@ See also `verilog-sk-header' for an alternative format."
 
 ;; Signal reading for given module
 ;; Note these all take modi's - as returned from verilog-modi-current
-(defsubst verilog-decls-new (out inout in wires regs assigns consts gparams interfaces)
-  (vector out inout in wires regs assigns consts gparams interfaces))
+(defsubst verilog-decls-new (out inout in vars unuseds assigns consts gparams interfaces)
+  (vector out inout in vars unuseds assigns consts gparams interfaces))
 (defsubst verilog-decls-get-outputs (decls)
   (aref decls 0))
 (defsubst verilog-decls-get-inouts (decls)
   (aref decls 1))
 (defsubst verilog-decls-get-inputs (decls)
   (aref decls 2))
-(defsubst verilog-decls-get-wires (decls)
+(defsubst verilog-decls-get-vars (decls)
   (aref decls 3))
-(defsubst verilog-decls-get-regs (decls)
-  (aref decls 4))
+;;(defsubst verilog-decls-get-unused (decls)
+;;  (aref decls 4))
 (defsubst verilog-decls-get-assigns (decls)
   (aref decls 5))
 (defsubst verilog-decls-get-consts (decls)
@@ -7026,6 +7534,7 @@ Duplicate signals are also removed.  For example A[2] and A[1] become A[2:1]."
              buswarn ""))
       ;; Extract bus details
       (setq bus (verilog-sig-bits sig))
+      (setq bus (and bus (verilog-simplify-range-expression bus)))
       (cond ((and bus
                  (or (and (string-match "\\[\\([0-9]+\\):\\([0-9]+\\)\\]" bus)
                           (setq highbit (string-to-number (match-string 1 bus))
@@ -7145,9 +7654,10 @@ Ignore width if optional NO-WIDTH is set."
   "Return module name when after its ( or ;."
   (save-excursion
     (re-search-backward "[(;]")
-    (verilog-re-search-backward-quick "\\b[a-zA-Z0-9`_\$]" nil nil)
-    (skip-chars-backward "a-zA-Z0-9`_$")
-    (looking-at "[a-zA-Z0-9`_\$]+")
+    ;; Due to "module x import y (" we must search for declaration begin
+    (verilog-re-search-backward-quick verilog-defun-re nil nil)
+    (goto-char (match-end 0))
+    (verilog-re-search-forward-quick "\\b[a-zA-Z0-9`_\$]+" nil nil)
     ;; Important: don't use match string, this must work with Emacs 19 font-lock on
     (verilog-symbol-detick
      (buffer-substring-no-properties (match-beginning 0) (match-end 0)) t)))
@@ -7203,13 +7713,13 @@ Optional NUM-PARAM and MAX-PARAM check for a specific number of parameters."
 Return a array of [outputs inouts inputs wire reg assign const]."
   (let ((end-mod-point (or (verilog-get-end-of-defun t) (point-max)))
        (functask 0) (paren 0) (sig-paren 0) (v2kargs-ok t)
-       in-modport
-       sigs-in sigs-out sigs-inout sigs-wire sigs-reg sigs-assign sigs-const
+       in-modport ign-prop
+       sigs-in sigs-out sigs-inout sigs-var sigs-assign sigs-const
        sigs-gparam sigs-intf
        vec expect-signal keywd newsig rvalue enum io signed typedefed multidim
        modport)
     (save-excursion
-      (verilog-beg-of-defun)
+      (verilog-beg-of-defun-quick)
       (setq sigs-const (verilog-read-auto-constants (point) end-mod-point))
       (while (< (point) end-mod-point)
        ;;(if dbg (setq dbg (concat dbg (format "Pt %s  Vec %s   C%c Kwd'%s'\n" (point) vec (following-char) keywd))))
@@ -7225,16 +7735,16 @@ Return a array of [outputs inouts inputs wire reg assign const]."
          (or (search-forward "*/")
              (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
         ((looking-at "(\\*")
-         (forward-char 2)
-         (or (looking-at "\\s-*)")   ; It's an "always @ (*)"
-             (search-forward "*)")
+         ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+         (forward-char 1)
+         (or (search-forward "*)")
              (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
         ((eq ?\" (following-char))
          (or (re-search-forward "[^\\]\"" nil t)       ;; don't forward-char first, since we look for a non backslash first
              (error "%s: Unmatched quotes, at char %d" (verilog-point-text) (point))))
         ((eq ?\; (following-char))
          (setq vec nil  io nil  expect-signal nil  newsig nil  paren 0  rvalue nil
-               v2kargs-ok nil  in-modport nil)
+               v2kargs-ok nil  in-modport nil  ign-prop nil)
          (forward-char 1))
         ((eq ?= (following-char))
          (setq rvalue t  newsig nil)
@@ -7290,16 +7800,15 @@ Return a array of [outputs inouts inputs wire reg assign const]."
                ((equal keywd "parameter")
                 (setq vec nil  enum nil  rvalue nil  signed nil  typedefed nil  multidim nil  sig-paren paren
                       expect-signal 'sigs-gparam  io t  modport nil))
-               ((member keywd '("wire" "tri" "tri0" "tri1" "triand" "trior" "wand" "wor"))
-                (unless io (setq vec nil  enum nil  rvalue nil  signed nil  typedefed nil  multidim nil  sig-paren paren
-                                 expect-signal 'sigs-wire  modport nil)))
-               ((member keywd '("reg" "trireg"
+               ((member keywd '("wire"
+                                "tri" "tri0" "tri1" "triand" "trior" "wand" "wor"
+                                "reg" "trireg"
                                 "byte" "shortint" "int" "longint" "integer" "time"
                                 "bit" "logic"
                                 "shortreal" "real" "realtime"
                                 "string" "event" "chandle"))
                 (unless io (setq vec nil  enum nil  rvalue nil  signed nil  typedefed nil  multidim nil  sig-paren paren
-                                 expect-signal 'sigs-reg  modport nil)))
+                                 expect-signal 'sigs-var  modport nil)))
                ((equal keywd "assign")
                 (setq vec nil  enum nil  rvalue nil  signed nil  typedefed nil  multidim nil  sig-paren paren
                       expect-signal 'sigs-assign  modport nil))
@@ -7307,11 +7816,14 @@ Return a array of [outputs inouts inputs wire reg assign const]."
                                 "localparam" "genvar"))
                 (unless io (setq vec nil  enum nil  rvalue nil  signed nil  typedefed nil  multidim nil  sig-paren paren
                                  expect-signal 'sigs-const  modport nil)))
-               ((equal keywd "signed")
-                (setq signed "signed"))
+               ((member keywd '("signed" "unsigned"))
+                (setq signed keywd))
+               ((member keywd '("assert" "assume" "cover" "expect" "restrict"))
+                (setq ign-prop t))
                ((member keywd '("class" "clocking" "covergroup" "function"
                                 "property" "randsequence" "sequence" "task"))
-                (setq functask (1+ functask)))
+                (unless ign-prop
+                  (setq functask (1+ functask))))
                ((member keywd '("endclass" "endclocking" "endgroup" "endfunction"
                                 "endproperty" "endsequence" "endtask"))
                 (setq functask (1- functask)))
@@ -7354,8 +7866,8 @@ Return a array of [outputs inouts inputs wire reg assign const]."
       (verilog-decls-new (nreverse sigs-out)
                         (nreverse sigs-inout)
                         (nreverse sigs-in)
-                        (nreverse sigs-wire)
-                        (nreverse sigs-reg)
+                        (nreverse sigs-var)
+                        nil
                         (nreverse sigs-assign)
                         (nreverse sigs-const)
                         (nreverse sigs-gparam)
@@ -7442,8 +7954,7 @@ Return a array of [outputs inouts inputs wire reg assign const]."
                            multidim nil)
                           sigs-intf)))
              ((setq portdata (and verilog-read-sub-decls-in-interfaced
-                                  (or (assoc port (verilog-decls-get-regs submoddecls))
-                                      (assoc port (verilog-decls-get-wires submoddecls)))))
+                                  (assoc port (verilog-decls-get-vars submoddecls))))
               (setq sigs-intfd
                     (cons (verilog-sig-new
                            sig
@@ -7556,7 +8067,8 @@ Inserts the list of signals found, using submodi to look up each port."
                  submoddecls comment port
                  (buffer-substring
                   (point) (1- (progn (search-backward "(") ; start at (
-                                     (forward-sexp 1) (point)))))))) ; expr
+                                     (verilog-forward-sexp-ign-cmt 1)
+                                     (point)))))))) ; expr
        ;;
        (forward-line 1)))))
 
@@ -7573,8 +8085,9 @@ Inserts the list of signals found."
               (or (search-forward "*/")
                   (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
              ((looking-at "(\\*")
-              (or (looking-at "(\\*\\s-*)")   ; It's a "always @ (*)"
-                  (search-forward "*)")
+              ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+              (forward-char 1)
+              (or (search-forward "*)")
                   (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
              ;; On pins, parse and advance to next pin
              ;; Looking at pin, but *not* an // Output comment, or ) to end the inst
@@ -7612,11 +8125,11 @@ Outputs comments above subcell signals, for example:
          st-point end-inst-point
          ;; below 3 modified by verilog-read-sub-decls-line
          sigs-out sigs-inout sigs-in sigs-intf sigs-intfd)
-      (verilog-beg-of-defun)
-      (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t)
+      (verilog-beg-of-defun-quick)
+      (while (verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t)
        (save-excursion
          (goto-char (match-beginning 0))
-         (unless (verilog-inside-comment-p)
+         (unless (verilog-inside-comment-or-string-p)
            ;; Attempt to snarf a comment
            (let* ((submod (verilog-read-inst-module))
                   (inst (verilog-read-inst-name))
@@ -7629,7 +8142,8 @@ Outputs comments above subcell signals, for example:
                      submoddecls (verilog-decls-new nil nil nil nil nil nil nil nil nil)
                      comment (concat inst " of " submod))
                (verilog-backward-open-paren)
-               (setq end-inst-point (save-excursion (forward-sexp 1) (point))
+               (setq end-inst-point (save-excursion (verilog-forward-sexp-ign-cmt 1)
+                                                    (point))
                      st-point (point))
                (forward-char 1)
                (verilog-read-sub-decls-gate submoddecls comment submod end-inst-point))
@@ -7639,7 +8153,8 @@ Outputs comments above subcell signals, for example:
                  (setq submoddecls (verilog-modi-get-decls submodi)
                        verilog-read-sub-decls-gate-ios nil)
                  (verilog-backward-open-paren)
-                 (setq end-inst-point (save-excursion (forward-sexp 1) (point))
+                 (setq end-inst-point (save-excursion (verilog-forward-sexp-ign-cmt 1)
+                                                      (point))
                        st-point (point))
                  ;; This could have used a list created by verilog-auto-inst
                  ;; However I want it to be runnable even on user's manually added signals
@@ -7677,10 +8192,10 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
       (verilog-backward-open-paren)
       (while (re-search-forward "\\.\\([^(,) \t\n\f]*\\)\\s-*" end-mod-point t)
        (setq pin (match-string 1))
-       (unless (verilog-inside-comment-p)
+       (unless (verilog-inside-comment-or-string-p)
          (setq pins (cons (list pin) pins))
          (when (looking-at "(")
-           (forward-sexp 1))))
+           (verilog-forward-sexp-ign-cmt 1))))
       (vector pins))))
 
 (defun verilog-read-arg-pins ()
@@ -7691,7 +8206,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
       (verilog-backward-open-paren)
       (while (re-search-forward "\\([a-zA-Z0-9$_.%`]+\\)" end-mod-point t)
        (setq pin (match-string 1))
-       (unless (verilog-inside-comment-p)
+       (unless (verilog-inside-comment-or-string-p)
          (setq pins (cons (list pin) pins))))
       (vector pins))))
 
@@ -7707,7 +8222,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
        (search-forward "(" end-mod-point)
        (setq tpl-end-pt (save-excursion
                           (backward-char 1)
-                          (forward-sexp 1)   ;; Moves to paren that closes argdecl's
+                          (verilog-forward-sexp-cmt 1)   ;; Moves to paren that closes argdecl's
                           (backward-char 1)
                           (point)))
        (while (re-search-forward "\\s-*\\([\"a-zA-Z0-9$_.%`]+\\)\\s-*,*" tpl-end-pt t)
@@ -7720,6 +8235,7 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
 (defun verilog-read-auto-lisp-present ()
   "Set `verilog-cache-has-lisp' if any AUTO_LISP in this buffer."
   (save-excursion
+    (goto-char (point-min))
     (setq verilog-cache-has-lisp (re-search-forward "\\<AUTO_LISP(" nil t))))
 
 (defun verilog-read-auto-lisp (start end)
@@ -7732,7 +8248,7 @@ Must call `verilog-read-auto-lisp-present' before this function."
       (while (re-search-forward "\\<AUTO_LISP(" end t)
        (backward-char)
        (let* ((beg-pt (prog1 (point)
-                        (forward-sexp 1)))     ;; Closing paren
+                        (verilog-forward-sexp-cmt 1))) ;; Closing paren
               (end-pt (point)))
          (eval-region beg-pt end-pt nil))))))
 
@@ -7741,9 +8257,10 @@ Must call `verilog-read-auto-lisp-present' before this function."
   ;; Do not remove the eval-when-compile
   ;; - we want a error when we are debugging this code if they are refed.
   (defvar sigs-in)
-  (defvar sigs-out)
+  (defvar sigs-out-d)
+  (defvar sigs-out-i)
+  (defvar sigs-out-unk)
   (defvar sigs-temp)
-  (defvar uses-delayed)
   (defvar vector-skip-list))
 
 (defun verilog-read-always-signals-recurse
@@ -7764,8 +8281,9 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
        (or (search-forward "*/")
            (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
        ((looking-at "(\\*")
-       (or (looking-at "(\\*\\s-*)")   ; It's a "always @ (*)"
-           (search-forward "*)")
+       ;; To advance past either "(*)" or "(* ... *)" don't forward past first *
+       (forward-char 1)
+       (or (search-forward "*)")
            (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
        (t (setq keywd (buffer-substring-no-properties
                       (point)
@@ -7817,9 +8335,16 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
                   (setq ignore-next t rvalue nil)))
            (forward-char 1))
           ((equal keywd "=")
-           (if (and (eq (char-before) ?< )
-                    (not rvalue))
-               (setq uses-delayed 1))
+           (when got-sig
+             ;;(if dbg (setq dbg (concat dbg (format "\t\tequal got-sig=%S got-list=%s\n" got-sig got-list))))
+             (set got-list (cons got-sig (symbol-value got-list)))
+             (setq got-sig nil))
+           (when (not rvalue)
+             (if (eq (char-before) ?< )
+                 (setq sigs-out-d (append sigs-out-d sigs-out-unk)
+                       sigs-out-unk nil)
+               (setq sigs-out-i (append sigs-out-i sigs-out-unk)
+                     sigs-out-unk nil)))
            (setq ignore-next nil rvalue t)
            (forward-char 1))
           ((equal keywd "?")
@@ -7865,7 +8390,7 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
                     )
                   (setq got-list (cond (temp-next 'sigs-temp)
                                        (rvalue 'sigs-in)
-                                       (t 'sigs-out))
+                                       (t 'sigs-out-unk))
                         got-sig (if (or (not keywd)
                                         (assoc keywd (symbol-value got-list)))
                                     nil (list keywd nil nil))
@@ -7889,17 +8414,18 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
   "Parse always block at point and return list of (outputs inout inputs)."
   (save-excursion
     (let* (;;(dbg "")
-          sigs-out sigs-temp sigs-in
-          uses-delayed)        ;; Found signal/rvalue; push if not function
+          sigs-out-d sigs-out-i sigs-out-unk sigs-temp sigs-in)
       (search-forward ")")
       (verilog-read-always-signals-recurse nil nil nil)
+      (setq sigs-out-i (append sigs-out-i sigs-out-unk)
+           sigs-out-unk nil)
       ;;(if dbg (with-current-buffer (get-buffer-create "*vl-dbg*")) (delete-region (point-min) (point-max)) (insert dbg) (setq dbg ""))
       ;; Return what was found
-      (verilog-alw-new sigs-out sigs-temp sigs-in uses-delayed))))
+      (verilog-alw-new sigs-out-d sigs-out-i sigs-temp sigs-in))))
 
 (defun verilog-read-instants ()
   "Parse module at point and return list of ( ( file instance ) ... )."
-  (verilog-beg-of-defun)
+  (verilog-beg-of-defun-quick)
   (let* ((end-mod-point (verilog-get-end-of-defun t))
         (state nil)
         (instants-list nil))
@@ -7930,7 +8456,7 @@ list of ( (signal_name connection_name)... )."
   (save-excursion
     ;; Find beginning
     (let ((tpl-regexp "\\([0-9]+\\)")
-         (lineno 0)
+         (lineno -1)  ; -1 to offset for the AUTO_TEMPLATE's newline
          (templateno 0)
          (pt (point))
          tpl-sig-list tpl-wild-list tpl-end-pt rep)
@@ -7962,22 +8488,27 @@ list of ( (signal_name connection_name)... )."
             ;; Parse lines in the template
             (when verilog-auto-inst-template-numbers
               (save-excursion
-                (goto-char (point-min))
-                (while (search-forward "AUTO_TEMPLATE" nil t)
-                  (setq templateno (1+ templateno)))))
+                (let ((pre-pt (point)))
+                  (goto-char (point-min))
+                  (while (search-forward "AUTO_TEMPLATE" pre-pt t)
+                    (setq templateno (1+ templateno)))
+                  (while (< (point) pre-pt)
+                    (forward-line 1)
+                    (setq lineno (1+ lineno))))))
             (setq tpl-end-pt (save-excursion
                                (backward-char 1)
-                               (forward-sexp 1)   ;; Moves to paren that closes argdecl's
+                               (verilog-forward-sexp-cmt 1)   ;; Moves to paren that closes argdecl's
                                (backward-char 1)
                                (point)))
             ;;
             (while (< (point) tpl-end-pt)
               (cond ((looking-at "\\s-*\\.\\([a-zA-Z0-9`_$]+\\)\\s-*(\\(.*\\))\\s-*\\(,\\|)\\s-*;\\)")
-                     (setq tpl-sig-list (cons (list
-                                               (match-string-no-properties 1)
-                                               (match-string-no-properties 2)
-                                               templateno lineno)
-                                              tpl-sig-list))
+                     (setq tpl-sig-list
+                           (cons (list
+                                  (match-string-no-properties 1)
+                                  (match-string-no-properties 2)
+                                  templateno lineno)
+                                 tpl-sig-list))
                      (goto-char (match-end 0)))
                     ;; Regexp form??
                     ((looking-at
@@ -8000,7 +8531,8 @@ list of ( (signal_name connection_name)... )."
                      (setq lineno (1+ lineno))
                      (goto-char (match-end 0)))
                     ((looking-at "//")
-                     (search-forward "\n"))
+                     (search-forward "\n")
+                     (setq lineno (1+ lineno)))
                     ((looking-at "/\\*")
                      (forward-char 2)
                      (or (search-forward "*/")
@@ -8086,7 +8618,7 @@ warning message, you need to add to your .emacs file:
        (while (re-search-forward "^\\s-*`include\\s-+\\([^ \t\n\f]+\\)" nil t)
          (let ((inc (verilog-string-replace-matches
                      "\"" "" nil nil (match-string-no-properties 1))))
-           (unless (verilog-inside-comment-p)
+           (unless (verilog-inside-comment-or-string-p)
              (verilog-read-defines inc recurse t)))))
       ;; Read `defines
       ;; note we don't use verilog-re... it's faster this way, and that
@@ -8100,14 +8632,15 @@ warning message, you need to add to your .emacs file:
       ;; Hack: Read parameters
       (goto-char (point-min))
       (while (re-search-forward
-             "^\\s-*\\(parameter\\|localparam\\)\\(\\s-*\\[[^]]*\\]\\)?\\s-+" nil t)
+             "^\\s-*\\(parameter\\|localparam\\)\\(\\s-*\\[[^]]*\\]\\)?\\s-*" nil t)
        (let (enumname)
          ;; The primary way of getting defines is verilog-read-decls
          ;; However, that isn't called yet for included files, so we'll add another scheme
          (if (looking-at "[^\n]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)")
              (setq enumname (match-string-no-properties 1)))
          (forward-comment 999)
-         (while (looking-at "\\s-*,?\\s-*\\([a-zA-Z0-9_$]+\\)\\s-*=\\s-*\\([^;,]*\\),?\\s-*")
+         (while (looking-at (concat "\\s-*,?\\s-*\\(?:/[/*].*?$\\)?\\s-*\\([a-zA-Z0-9_$]+\\)"
+                                    "\\s-*=\\s-*\\([^;,]*\\),?\\s-*\\(/[/*].*?$\\)?\\s-*"))
            (verilog-set-define (match-string-no-properties 1)
                                (match-string-no-properties 2) origbuf enumname)
            (goto-char (match-end 0))
@@ -8278,11 +8811,11 @@ Some macros and such are also found and included.  For dinotrace.el."
                                  verilog-library-files
                                  verilog-library-flags)))
   ;; Allow user to customize
-  (run-hooks 'verilog-before-getopt-flags-hook)
+  (verilog-run-hooks 'verilog-before-getopt-flags-hook)
   ;; Process arguments
   (verilog-getopt verilog-library-flags)
   ;; Allow user to customize
-  (run-hooks 'verilog-getopt-flags-hook))
+  (verilog-run-hooks 'verilog-getopt-flags-hook))
 
 (defun verilog-add-list-unique (varref object)
   "Append to VARREF list the given OBJECT,
@@ -8387,7 +8920,7 @@ Allows version control to check out the file if need be."
             (while (and
                     ;; It may be tempting to look for verilog-defun-re,
                     ;; don't, it slows things down a lot!
-                    (verilog-re-search-forward-quick "\\<\\(module\\|interface\\)\\>" nil t)
+                    (verilog-re-search-forward-quick "\\<\\(module\\|interface\\|program\\)\\>" nil t)
                     (setq type (match-string-no-properties 0))
                     (verilog-re-search-forward-quick "[(;]" nil t))
               (if (equal module (verilog-read-module-name))
@@ -8804,13 +9337,12 @@ if non-nil."
 
 ;; Combined
 (defun verilog-decls-get-signals (decls)
+  "Return all declared signals, excluding 'assign' statements."
   (append
    (verilog-decls-get-outputs decls)
    (verilog-decls-get-inouts decls)
    (verilog-decls-get-inputs decls)
-   (verilog-decls-get-wires decls)
-   (verilog-decls-get-regs decls)
-   (verilog-decls-get-assigns decls)
+   (verilog-decls-get-vars decls)
    (verilog-decls-get-consts decls)
    (verilog-decls-get-gparams decls)))
 
@@ -8826,10 +9358,8 @@ if non-nil."
   (verilog-modi-cache-add modi 'verilog-read-decls 1 sig-list))
 (defsubst verilog-modi-cache-add-inputs (modi sig-list)
   (verilog-modi-cache-add modi 'verilog-read-decls 2 sig-list))
-(defsubst verilog-modi-cache-add-wires (modi sig-list)
+(defsubst verilog-modi-cache-add-vars (modi sig-list)
   (verilog-modi-cache-add modi 'verilog-read-decls 3 sig-list))
-(defsubst verilog-modi-cache-add-regs (modi sig-list)
-  (verilog-modi-cache-add modi 'verilog-read-decls 4 sig-list))
 
 (defun verilog-signals-from-signame (signame-list)
   "Return signals in standard form from SIGNAME-LIST, a simple list of signal names."
@@ -8843,7 +9373,7 @@ if non-nil."
 (defun verilog-auto-re-search-do (search-for func)
   "Search for the given auto text regexp SEARCH-FOR, and perform FUNC where it occurs."
   (goto-char (point-min))
-  (while (verilog-re-search-forward search-for nil t)
+  (while (verilog-re-search-forward-quick search-for nil t)
     (funcall func)))
 
 (defun verilog-insert-one-definition (sig type indent-pt)
@@ -8867,10 +9397,31 @@ with appropriate INDENT-PT indentation."
   (when (verilog-sig-memory sig)
     (insert " " (verilog-sig-memory sig))))
 
-(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort)
-  "Print out a definition for a list of SIGS of the given DIRECTION,
+(defun verilog-insert-definition (modi sigs direction indent-pt v2k &optional dont-sort)
+  "Print out a definition for MODI's list of SIGS of the given DIRECTION,
 with appropriate INDENT-PT indentation.  If V2K, use Verilog 2001 I/O
-format.  Sort unless DONT-SORT.  DIRECTION is normally wire/reg/output."
+format.  Sort unless DONT-SORT.  DIRECTION is normally wire/reg/output.
+When MODI is non-null, also add to modi-cache, for tracking."
+  (when modi
+    (cond ((equal direction "wire")
+          (verilog-modi-cache-add-vars modi sigs))
+         ((equal direction "reg")
+          (verilog-modi-cache-add-vars modi sigs))
+         ((equal direction "output")
+          (verilog-modi-cache-add-outputs modi sigs)
+          (when verilog-auto-declare-nettype
+            (verilog-modi-cache-add-vars modi sigs)))
+         ((equal direction "input")
+          (verilog-modi-cache-add-inputs modi sigs)
+          (when verilog-auto-declare-nettype
+            (verilog-modi-cache-add-vars modi sigs)))
+         ((equal direction "inout")
+          (verilog-modi-cache-add-inouts modi sigs)
+          (when verilog-auto-declare-nettype
+            (verilog-modi-cache-add-vars modi sigs)))
+         ((equal direction "interface"))
+         (t
+          (error "Unsupported verilog-insert-definition direction: %s" direction))))
   (or dont-sort
       (setq sigs (sort (copy-alist sigs) `verilog-signals-sort-compare)))
   (while sigs
@@ -8878,12 +9429,18 @@ format.  Sort unless DONT-SORT.  DIRECTION is normally wire/reg/output."
       (verilog-insert-one-definition
        sig
        ;; Want "type x" or "output type x", not "wire type x"
-       (cond ((verilog-sig-type sig)
+       (cond ((or (verilog-sig-type sig)
+                 verilog-auto-wire-type)
              (concat
-              (if (not (member direction '("wire" "interface")))
-                  (concat direction " "))
-              (verilog-sig-type sig)))
-            (t direction))
+              (when (member direction '("input" "output" "inout"))
+                (concat direction " "))
+              (or (verilog-sig-type sig)
+                 verilog-auto-wire-type)))
+            ((and verilog-auto-declare-nettype
+                  (member direction '("input" "output" "inout")))
+             (concat direction " " verilog-auto-declare-nettype))
+            (t
+             direction))
        indent-pt)
       (insert (if v2k "," ";"))
       (if (or (not (verilog-sig-comment sig))
@@ -8914,7 +9471,7 @@ Presumes that any newlines end a list element."
   ;; We can't just search backward for ) as it might be inside another expression.
   ;; Also want "`ifdef X   input foo   `endif" to just leave things to the human to deal with
   (save-excursion
-    (verilog-backward-syntactic-ws)
+    (verilog-backward-syntactic-ws-quick)
     (when (and (not (save-excursion ;; Not beginning (, or existing ,
                      (backward-char 1)
                      (looking-at "[(,]")))
@@ -8931,7 +9488,7 @@ This repairs those mis-inserted by a AUTOARG."
   (save-excursion
     (verilog-forward-close-paren)
     (backward-char 1)
-    (verilog-backward-syntactic-ws)
+    (verilog-backward-syntactic-ws-quick)
     (backward-char 1)
     (when (looking-at ",")
       (delete-char 1))))
@@ -8978,27 +9535,68 @@ This repairs those mis-inserted by a AUTOARG."
               (t nil)))))
 ;;(verilog-make-width-expression "`A:`B")
 
-(defun verilog-simplify-range-expression (range-exp)
-  "Return a simplified range expression with constants eliminated from RANGE-EXP."
-  (let ((out range-exp)
-       (last-pass ""))
-    (while (not (equal last-pass out))
-      (setq last-pass out)
-      (while (string-match "(\\<\\([0-9A-Z-az_]+\\)\\>)" out)
-       (setq out (replace-match "\\1" nil nil out)))
-      (while (string-match "\\<\\([0-9]+\\)\\>\\s *\\+\\s *\\<\\([0-9]+\\)\\>" out)
-       (setq out (replace-match
-                  (int-to-string (+ (string-to-number (match-string 1 out))
-                                    (string-to-number (match-string 2 out))))
-                  nil nil out)))
-      (while (string-match "\\<\\([0-9]+\\)\\>\\s *\\-\\s *\\<\\([0-9]+\\)\\>" out)
-       (setq out (replace-match
-                  (int-to-string (- (string-to-number (match-string 1 out))
-                                    (string-to-number (match-string 2 out))))
-                  nil nil out))))
-    out))
-;;(verilog-simplify-range-expression "1")
-;;(verilog-simplify-range-expression "(((16)+1)-3)")
+(defun verilog-simplify-range-expression (expr)
+  "Return a simplified range expression with constants eliminated from EXPR."
+  ;; Note this is always called with brackets; ie [z] or [z:z]
+  (if (not (string-match "[---+*()]" expr))
+      expr ;; short-circuit
+    (let ((out expr)
+         (last-pass ""))
+      (while (not (equal last-pass out))
+       (setq last-pass out)
+       ;; Prefix regexp needs beginning of match, or some symbol of
+       ;; lesser or equal precedence.  We assume the [:]'s exist in expr.
+       ;; Ditto the end.
+       (while (string-match
+               (concat "\\([[({:*+-]\\)"  ; - must be last
+                       "(\\<\\([0-9A-Za-z_]+\\))"
+                       "\\([])}:*+-]\\)")
+               out)
+         (setq out (replace-match "\\1\\2\\3" nil nil out)))
+       ;; For precedence do * before +/-
+       (while (string-match
+               (concat "\\([[({:*+-]\\)"
+                       "\\([0-9]+\\)\\s *\\([*]\\)\\s *\\([0-9]+\\)"
+                       "\\([])}:*+-]\\)")
+               out)
+         (setq out (replace-match
+                    (concat (match-string 1 out)
+                            (int-to-string (* (string-to-number (match-string 2 out))
+                                              (string-to-number (match-string 4 out))))
+                            (match-string 5 out))
+                    nil nil out)))
+       (while (string-match
+               (concat "\\([[({:+-]\\)" ; No * here as higher prec
+                       "\\([0-9]+\\)\\s *\\([---+]\\)\\s *\\([0-9]+\\)"
+                       "\\([])}:+-]\\)")
+               out)
+         (let ((pre (match-string 1 out))
+               (lhs (string-to-number (match-string 2 out)))
+               (rhs (string-to-number (match-string 4 out)))
+               (post (match-string 5 out))
+               val)
+           (when (equal pre "-")
+             (setq lhs (- lhs)))
+           (setq val (if (equal (match-string 3 out) "-")
+                         (- lhs rhs)
+                       (+ lhs rhs))
+                 out (replace-match
+                      (concat (if (and (equal pre "-")
+                                       (< val 0))
+                                  "" ;; Not "--20" but just "-20"
+                                pre)
+                              (int-to-string val)
+                              post)
+                      nil nil out)) )))
+      out)))
+;;(verilog-simplify-range-expression "[1:3]") ;; 1
+;;(verilog-simplify-range-expression "[(1):3]") ;; 1
+;;(verilog-simplify-range-expression "[(((16)+1)+1+(1+1))]")  ;;20
+;;(verilog-simplify-range-expression "[(2*3+6*7)]") ;; 48
+;;(verilog-simplify-range-expression "[(FOO*4-1*2)]") ;; FOO*4-2
+;;(verilog-simplify-range-expression "[(FOO*4+1-1)]") ;; FOO*4+0
+;;(verilog-simplify-range-expression "[(func(BAR))]") ;; func(BAR)
+;;(verilog-simplify-range-expression "[FOO-1+1-1+1]") ;; FOO-0
 
 (defun verilog-typedef-name-p (variable-name)
   "Return true if the VARIABLE-NAME is a type definition."
@@ -9011,15 +9609,17 @@ This repairs those mis-inserted by a AUTOARG."
 
 (defun verilog-delete-autos-lined ()
   "Delete autos that occupy multiple lines, between begin and end comments."
+  ;; The newline must not have a comment property, so we must
+  ;; delete the end auto's newline, not the first newline
+  (forward-line 1)
   (let ((pt (point)))
-    (forward-line 1)
     (when (and
           (looking-at "\\s-*// Beginning")
           (search-forward "// End of automatic" nil t))
       ;; End exists
       (end-of-line)
-      (delete-region pt (point))
-      (forward-line 1))))
+      (forward-line 1)
+      (delete-region pt (point)))))
 
 (defun verilog-delete-empty-auto-pair ()
   "Delete begin/end auto pair at point, if empty."
@@ -9066,11 +9666,11 @@ Ignore other open bracket with matching close bracket."
 
 (defun verilog-delete-to-paren ()
   "Delete the automatic inst/sense/arg created by autos.
-Deletion stops at the matching end parenthesis."
+Deletion stops at the matching end parenthesis, outside comments."
   (delete-region (point)
                 (save-excursion
                   (verilog-backward-open-paren)
-                  (forward-sexp 1)   ;; Moves to paren that closes argdecl's
+                  (verilog-forward-sexp-ign-cmt 1)   ;; Moves to paren that closes argdecl's
                   (backward-char 1)
                   (point))))
 
@@ -9078,7 +9678,8 @@ Deletion stops at the matching end parenthesis."
   "Return if a .* AUTOINST is safe to delete or expand.
 It was created by the AUTOS themselves, or by the user."
   (and verilog-auto-star-expand
-       (looking-at "[ \t\n\f,]*\\([)]\\|// \\(Outputs\\|Inouts\\|Inputs\\|Interfaces\\)\\)")))
+       (looking-at
+       (concat "[ \t\n\f,]*\\([)]\\|// " verilog-inst-comment-re "\\)"))))
 
 (defun verilog-delete-auto-star-all ()
   "Delete a .* AUTOINST, if it is safe."
@@ -9110,7 +9711,7 @@ removed."
          (save-excursion
            (while (progn
                     (forward-line -1)
-                    (looking-at "\\s *//\\s *\\(Outputs\\|Inouts\\|Inputs\\|Interfaces\\)\n"))
+                    (looking-at (concat "\\s *//\\s *" verilog-inst-comment-re "\n")))
              (delete-region (match-beginning 0) (match-end 0))))
          ;; If it is simple, we can put the ); on the same line as the last text
          (let ((rtn-pt (point)))
@@ -9139,18 +9740,13 @@ called before and after this function, respectively."
     (verilog-save-no-change-functions
      (verilog-save-scan-cache
       ;; Allow user to customize
-      (run-hooks 'verilog-before-delete-auto-hook)
+      (verilog-run-hooks 'verilog-before-delete-auto-hook)
 
       ;; Remove those that have multi-line insertions, possibly with parameters
+      ;; We allow anything beginning with AUTO, so that users can add their own
+      ;; patterns
       (verilog-auto-re-search-do
-       (concat "/\\*"
-              (eval-when-compile
-                (verilog-regexp-words
-                 `("AUTOASCIIENUM" "AUTOCONCATCOMMENT" "AUTODEFINEVALUE"
-                   "AUTOINOUT" "AUTOINOUTCOMP" "AUTOINOUTMODULE"
-                   "AUTOINPUT" "AUTOINSERTLISP" "AUTOOUTPUT" "AUTOOUTPUTEVERY"
-                   "AUTOREG" "AUTOREGINPUT" "AUTORESET" "AUTOTIEOFF"
-                   "AUTOUNUSED" "AUTOWIRE")))
+       (concat "/\\*AUTO[A-Za-z0-9_]+"
               ;; Optional parens or quoted parameter or .* for (((...)))
               "\\(\\|([^)]*)\\|(\"[^\"]*\")\\).*?"
               "\\*/")
@@ -9169,11 +9765,11 @@ called before and after this function, respectively."
                                 'verilog-delete-auto-star-all)
       ;; Remove template comments ... anywhere in case was pasted after AUTOINST removed
       (goto-char (point-min))
-      (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)[ \tLT0-9]*$" nil t)
+      (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)\\([ \tLT0-9]*\\| LHS: .*\\)?$" nil t)
        (replace-match ""))
 
       ;; Final customize
-      (run-hooks 'verilog-delete-auto-hook)))))
+      (verilog-run-hooks 'verilog-delete-auto-hook)))))
 \f
 ;;
 ;; Auto inject
@@ -9235,7 +9831,7 @@ Typing \\[verilog-inject-auto] will make this into:
        (when (not (re-search-forward "/\\*AUTOARG\\*/" endmodp t))
          (verilog-re-search-forward-quick ";" nil t)
          (backward-char 1)
-         (verilog-backward-syntactic-ws)
+         (verilog-backward-syntactic-ws-quick)
          (backward-char 1) ; Moves to paren that closes argdecl's
          (when (looking-at ")")
            (verilog-insert "/*AUTOARG*/")))))))
@@ -9251,9 +9847,9 @@ Typing \\[verilog-inject-auto] will make this into:
             pre-sigs
             got-sigs)
        (backward-char 1)
-       (forward-sexp 1)
+       (verilog-forward-sexp-ign-cmt 1)
        (backward-char 1) ;; End )
-       (when (not (verilog-re-search-backward "/\\*\\(AUTOSENSE\\|AS\\)\\*/" start-pt t))
+       (when (not (verilog-re-search-backward-quick "/\\*\\(AUTOSENSE\\|AS\\)\\*/" start-pt t))
          (setq pre-sigs (verilog-signals-from-signame
                          (verilog-read-signals start-pt (point)))
                got-sigs (verilog-auto-sense-sigs moddecls nil))
@@ -9277,12 +9873,12 @@ Typing \\[verilog-inject-auto] will make this into:
        (forward-char 1)
        (let ((indent-pt (+ (current-column)))
              (end-pt (save-excursion (verilog-forward-close-paren) (point))))
-         (cond ((verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-pt t)
+         (cond ((verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-pt t)
                 (goto-char end-pt)) ;; Already there, continue search with next instance
                (t
                 ;; Delete identical interconnect
                 (let ((case-fold-search nil))  ;; So we don't convert upper-to-lower, etc
-                  (while (verilog-re-search-forward "\\.\\s *\\([a-zA-Z0-9`_\$]+\\)*\\s *(\\s *\\1\\s *)\\s *" end-pt t)
+                  (while (verilog-re-search-forward-quick "\\.\\s *\\([a-zA-Z0-9`_\$]+\\)*\\s *(\\s *\\1\\s *)\\s *" end-pt t)
                     (delete-region (match-beginning 0) (match-end 0))
                     (setq end-pt (- end-pt (- (match-end 0) (match-beginning 0)))) ;; Keep it correct
                     (while (or (looking-at "[ \t\n\f,]+")
@@ -9298,6 +9894,131 @@ Typing \\[verilog-inject-auto] will make this into:
                 (verilog-insert-indent "/*AUTOINST*/")))))))))
 \f
 ;;
+;; Auto diff
+;;
+
+(defun verilog-diff-buffers-p (b1 b2 &optional whitespace)
+  "Return nil if buffers B1 and B2 have same contents.
+Else, return point in B1 that first mismatches.
+If optional WHITESPACE true, ignore whitespace."
+  (save-excursion
+    (let* ((case-fold-search nil)  ;; compare-buffer-substrings cares
+          (p1 (with-current-buffer b1 (goto-char (point-min))))
+          (p2 (with-current-buffer b2 (goto-char (point-min))))
+          (maxp1 (with-current-buffer b1 (point-max)))
+          (maxp2 (with-current-buffer b2 (point-max)))
+          (op1 -1) (op2 -1) 
+          progress size)
+      (while (not (and (eq p1 op1) (eq p2 op2)))
+       ;; If both windows have whitespace optionally skip over it.
+       (when whitespace
+         ;; skip-syntax-* doesn't count \n
+         (with-current-buffer b1
+           (goto-char p1)
+           (skip-chars-forward " \t\n\r\f\v")
+           (setq p1 (point)))
+         (with-current-buffer b2
+           (goto-char p2)
+           (skip-chars-forward " \t\n\r\f\v")
+           (setq p2 (point))))
+       (setq size (min (- maxp1 p1) (- maxp2 p2)))
+       (setq progress (compare-buffer-substrings b2 p2 (+ size p2)
+                                                 b1 p1 (+ size p1)))
+       (setq progress (if (zerop progress) size (1- (abs progress))))
+       (setq op1 p1  op2 p2
+             p1 (+ p1 progress)
+             p2 (+ p2 progress)))
+      ;; Return value
+      (if (and (eq p1 maxp1) (eq p2 maxp2))
+         nil p1))))
+
+(defun verilog-diff-file-with-buffer (f1 b2 &optional whitespace show)
+  "View the differences between file F1 and buffer B2.
+This requires the external program `diff-command' to be in your `exec-path',
+and uses `diff-switches' in which you may want to have \"-u\" flag.
+Ignores WHITESPACE if t, and writes output to stdout if SHOW."
+  ;; Similar to `diff-buffer-with-file' but works on XEmacs, and doesn't
+  ;; call `diff' as `diff' has different calling semantics on different
+  ;; versions of Emacs.
+  (if (not (file-exists-p f1))
+      (message "Buffer %s has no associated file on disc" (buffer-name b2))
+    (with-temp-buffer "*Verilog-Diff*"
+      (let ((outbuf (current-buffer))
+           (f2 (make-temp-file "vm-diff-auto-")))
+       (unwind-protect
+           (progn
+             (with-current-buffer b2
+               (save-restriction
+                 (widen)
+                 (write-region (point-min) (point-max) f2 nil 'nomessage)))
+             (call-process diff-command nil outbuf t
+                           diff-switches ;; User may want -u in diff-switches
+                           (if whitespace "-b" "")
+                           f1 f2)
+             ;; Print out results.  Alternatively we could have call-processed
+             ;; ourself, but this way we can reuse diff switches
+             (when show
+               (with-current-buffer outbuf (message "%s" (buffer-string))))))
+       (sit-for 0)
+       (when (file-exists-p f2)
+         (delete-file f2))))))
+
+(defun verilog-diff-report (b1 b2 diffpt)
+  "Report differences detected with `verilog-diff-auto'.
+Differences are between buffers B1 and B2, starting at point
+DIFFPT.  This function is called via `verilog-diff-function'."
+  (let ((name1 (with-current-buffer b1 (buffer-file-name))))
+    (message "%%Warning: %s:%d: Difference in AUTO expansion found"
+            name1 (with-current-buffer b1 (1+ (count-lines (point-min) (point)))))
+    (cond (noninteractive
+          (verilog-diff-file-with-buffer name1 b2 t t))
+         (t
+          (ediff-buffers b1 b2)))))
+
+(defun verilog-diff-auto ()
+  "Expand AUTOs in a temporary buffer and indicate any changes.
+Whitespace differences are ignored to determine identicalness, but
+once a difference is detected, whitespace differences may be shown.
+
+To call this from the command line, see \\[verilog-batch-diff-auto].
+
+The action on differences is selected with
+`verilog-diff-function'.  The default is `verilog-diff-report'
+which will report an error and run `ediff' in interactive mode,
+or `diff' in batch mode."
+  (interactive)
+  (let ((b1 (current-buffer)) b2 diffpt
+       (name1 (buffer-file-name))
+       (newname "*Verilog-Diff*"))
+    (save-excursion
+      (when (get-buffer newname)
+       (kill-buffer newname))
+      (setq b2 (let (buffer-file-name)  ;; Else clone is upset
+                (clone-buffer newname)))
+      (with-current-buffer b2
+       ;; auto requires the filename, but can't have same filename in two
+       ;; buffers; so override both b1 and b2's names
+       (let ((buffer-file-name name1))
+         (unwind-protect
+             (progn
+               (with-current-buffer b1 (setq buffer-file-name nil))
+               (verilog-auto)
+               (when (not verilog-auto-star-save)
+                 (verilog-delete-auto-star-implicit)))
+           ;; Restore name if unwind
+           (with-current-buffer b1 (setq buffer-file-name name1)))))
+      ;;
+      (setq diffpt (verilog-diff-buffers-p b1 b2 t))
+      (cond ((not diffpt)
+            (unless noninteractive (message "AUTO expansion identical"))
+            (kill-buffer newname)) ;; Nice to cleanup after oneself
+           (t
+            (funcall verilog-diff-function b1 b2 diffpt)))
+      ;; Return result of compare
+      diffpt)))
+
+\f
+;;
 ;; Auto save
 ;;
 
@@ -9483,14 +10204,19 @@ If PAR-VALUES replace final strings with these parameter values."
                       (concat "\\<" (nth 0 (car check-values)) "\\>")
                       (concat "(" (nth 1 (car check-values)) ")")
                       t t vl-bits)
+             vl-mbits (verilog-string-replace-matches
+                       (concat "\\<" (nth 0 (car check-values)) "\\>")
+                       (concat "(" (nth 1 (car check-values)) ")")
+                       t t vl-mbits)
              check-values (cdr check-values)))
-      (setq vl-bits (verilog-simplify-range-expression vl-bits))) ; Not in the loop for speed
+      (setq vl-bits (verilog-simplify-range-expression vl-bits)
+           vl-mbits (verilog-simplify-range-expression vl-mbits)
+           vl-width (verilog-make-width-expression vl-bits))) ; Not in the loop for speed
     ;; Default net value if not found
     (setq tpl-net (concat port
                          (if vl-modport (concat "." vl-modport) "")
                          (if (verilog-sig-multidim port-st)
-                             (concat "/*" (verilog-sig-multidim-string port-st)
-                                     vl-bits "*/")
+                             (concat "/*" vl-mbits vl-bits "*/")
                            (concat vl-bits))))
     ;; Find template
     (cond (tpl-ass         ; Template of exact port name
@@ -9536,20 +10262,37 @@ If PAR-VALUES replace final strings with these parameter values."
     (cond (tpl-ass
           (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
                         verilog-auto-inst-column))
-          (if verilog-auto-inst-template-numbers
-              (verilog-insert " // Templated"
-                              " T" (int-to-string (nth 2 tpl-ass))
-                              " L" (int-to-string (nth 3 tpl-ass)))
-            (verilog-insert " // Templated")))
+          ;; verilog-insert requires the complete comment in one call - including the newline
+          (cond ((equal verilog-auto-inst-template-numbers `lhs)
+                 (verilog-insert " // Templated"
+                                 " LHS: " (nth 0 tpl-ass)
+                                 "\n"))
+                (verilog-auto-inst-template-numbers
+                 (verilog-insert " // Templated"
+                                 " T" (int-to-string (nth 2 tpl-ass))
+                                 " L" (int-to-string (nth 3 tpl-ass))
+                                 "\n"))
+                (t
+                 (verilog-insert " // Templated\n"))))
          (for-star
           (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
                         verilog-auto-inst-column))
-          (verilog-insert " // Implicit .\*"))) ;For some reason the . or * must be escaped...
-    (insert "\n")))
+          (verilog-insert " // Implicit .\*\n")) ;For some reason the . or * must be escaped...
+         (t
+          (insert "\n")))))
 ;;(verilog-auto-inst-port (list "foo" "[5:0]") 10 (list (list "foo" "a@\"(% (+ @ 1) 4)\"a")) "3")
 ;;(x "incom[@\"(+ (* 8 @) 7)\":@\"(* 8 @)\"]")
 ;;(x ".out (outgo[@\"(concat (+ (* 8 @) 7) \\\":\\\" ( * 8 @))\"]));")
 
+(defun verilog-auto-inst-port-list (sig-list indent-pt tpl-list tpl-num for-star par-values)
+  "For `verilog-auto-inst' print a list of ports using `verilog-auto-inst-port'."
+  (when verilog-auto-inst-sort
+    (setq sig-list (sort (copy-alist sig-list) `verilog-signals-sort-compare)))
+  (mapc (lambda (port)
+         (verilog-auto-inst-port port indent-pt
+                                 tpl-list tpl-num for-star par-values))
+       sig-list))
+
 (defun verilog-auto-inst-first ()
   "Insert , etc before first ever port in this instant, as part of \\[verilog-auto-inst]."
   ;; Do we need a trailing comma?
@@ -9558,7 +10301,7 @@ If PAR-VALUES replace final strings with these parameter values."
   ;; Insert first port on new line
   (insert "\n")  ;; Must insert before search, so point will move forward if insert comma
   (save-excursion
-    (verilog-re-search-backward "[^ \t\n\f]" nil nil)
+    (verilog-re-search-backward-quick "[^ \t\n\f]" nil nil)
     (when (looking-at ")\\|\\*")  ;; Generally don't insert, unless we are fairly sure
       (forward-char 1)
       (insert ","))))
@@ -9592,6 +10335,9 @@ If `verilog-auto-star-expand' is set, also expand SystemVerilog .* ports,
 and delete them before saving unless `verilog-auto-star-save' is set.
 See `verilog-auto-star' for more information.
 
+The pins are printed in declaration order or alphabetically,
+based on the `verilog-auto-inst-sort' variable.
+
 Limitations:
   Module names must be resolvable to filenames by adding a
   `verilog-library-extensions', and being found in the same directory, or
@@ -9719,6 +10465,22 @@ Templates:
            .NotInTemplate      (NotInTemplate),
            .ptl_bus            (ptl_busnew[3:0]),  // Templated
            ....
+
+\f
+Multiple Module Templates:
+
+  The same template lines can be applied to multiple modules with
+  the syntax as follows:
+
+       /* InstModuleA AUTO_TEMPLATE
+          InstModuleB AUTO_TEMPLATE
+          InstModuleC AUTO_TEMPLATE
+          InstModuleD AUTO_TEMPLATE (
+               .ptl_bus        (ptl_busnew[]),
+               );
+       */
+
+  Note there is only one AUTO_TEMPLATE opening parenthesis.
 \f
 @ Templates:
 
@@ -9899,18 +10661,15 @@ For more information see the \\[verilog-faq] and forums at URL
        ;; Find submodule's signals and dump
        (let ((sig-list (and (equal (verilog-modi-get-type submodi) "interface")
                             (verilog-signals-not-in
-                             (append (verilog-decls-get-wires submoddecls)
-                                     (verilog-decls-get-regs submoddecls))
+                             (verilog-decls-get-vars submoddecls)
                              skip-pins)))
              (vl-dir "interfaced"))
          (when sig-list
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
             ;; Note these are searched for in verilog-read-sub-decls.
            (verilog-insert-indent "// Interfaced\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num for-star par-values))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num for-star par-values)))
        (let ((sig-list (verilog-signals-not-in
                         (verilog-decls-get-interfaces submoddecls)
                         skip-pins))
@@ -9919,10 +10678,8 @@ For more information see the \\[verilog-faq] and forums at URL
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
             ;; Note these are searched for in verilog-read-sub-decls.
            (verilog-insert-indent "// Interfaces\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num for-star par-values))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num for-star par-values)))
        (let ((sig-list (verilog-signals-not-in
                         (verilog-decls-get-outputs submoddecls)
                         skip-pins))
@@ -9930,10 +10687,8 @@ For more information see the \\[verilog-faq] and forums at URL
          (when sig-list
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
            (verilog-insert-indent "// Outputs\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num for-star par-values))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num for-star par-values)))
        (let ((sig-list (verilog-signals-not-in
                         (verilog-decls-get-inouts submoddecls)
                         skip-pins))
@@ -9941,10 +10696,8 @@ For more information see the \\[verilog-faq] and forums at URL
          (when sig-list
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
            (verilog-insert-indent "// Inouts\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num for-star par-values))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num for-star par-values)))
        (let ((sig-list (verilog-signals-not-in
                         (verilog-decls-get-inputs submoddecls)
                         skip-pins))
@@ -9952,10 +10705,8 @@ For more information see the \\[verilog-faq] and forums at URL
          (when sig-list
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
            (verilog-insert-indent "// Inputs\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num for-star par-values))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num for-star par-values)))
        ;; Kill extra semi
        (save-excursion
          (cond (did-first
@@ -10058,10 +10809,8 @@ Templates:
            (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
             ;; Note these are searched for in verilog-read-sub-decls.
            (verilog-insert-indent "// Parameters\n")
-           (mapc (lambda (port)
-                    (verilog-auto-inst-port port indent-pt
-                                            tpl-list tpl-num nil nil))
-                  sig-list)))
+           (verilog-auto-inst-port-list sig-list indent-pt
+                                        tpl-list tpl-num nil nil)))
        ;; Kill extra semi
        (save-excursion
          (cond (did-first
@@ -10076,7 +10825,8 @@ Templates:
 (defun verilog-auto-reg ()
   "Expand AUTOREG statements, as part of \\[verilog-auto].
 Make reg statements for any output that isn't already declared,
-and isn't a wire output from a block.
+and isn't a wire output from a block.  `verilog-auto-wire-type'
+may be used to change the datatype of the declarations.
 
 Limitations:
   This ONLY detects outputs of AUTOINSTants (see `verilog-read-sub-decls').
@@ -10111,8 +10861,7 @@ Typing \\[verilog-auto] will make this into:
           (modsubdecls (verilog-modi-get-sub-decls modi))
           (sig-list (verilog-signals-not-in
                      (verilog-decls-get-outputs moddecls)
-                     (append (verilog-decls-get-wires moddecls)
-                             (verilog-decls-get-regs moddecls)
+                     (append (verilog-decls-get-vars moddecls)
                              (verilog-decls-get-assigns moddecls)
                              (verilog-decls-get-consts moddecls)
                              (verilog-decls-get-gparams moddecls)
@@ -10122,8 +10871,7 @@ Typing \\[verilog-auto] will make this into:
       (forward-line 1)
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic regs (for this module's undeclared outputs)\n")
-       (verilog-insert-definition sig-list "reg" indent-pt nil)
-       (verilog-modi-cache-add-regs modi sig-list)
+       (verilog-insert-definition modi sig-list "reg" indent-pt nil)
        (verilog-insert-indent "// End of automatics\n")))))
 
 (defun verilog-auto-reg-input ()
@@ -10173,18 +10921,40 @@ Typing \\[verilog-auto] will make this into:
                      (verilog-signals-not-in
                       (append (verilog-subdecls-get-inputs modsubdecls)
                               (verilog-subdecls-get-inouts modsubdecls))
-                      (verilog-decls-get-signals moddecls)))))
+                      (append (verilog-decls-get-signals moddecls)
+                              (verilog-decls-get-assigns moddecls))))))
       (forward-line 1)
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic reg inputs (for undeclared instantiated-module inputs)\n")
-       (verilog-insert-definition sig-list "reg" indent-pt nil)
-       (verilog-modi-cache-add-regs modi sig-list)
+       (verilog-insert-definition modi sig-list "reg" indent-pt nil)
        (verilog-insert-indent "// End of automatics\n")))))
 
+(defun verilog-auto-logic ()
+  "Expand AUTOLOGIC statements, as part of \\[verilog-auto].
+Make wire statements using the SystemVerilog logic keyword.
+This is currently equivelent to:
+
+    /*AUTOWIRE*/
+
+with the below at the bottom of the file
+
+    // Local Variables:
+    // verilog-auto-logic-type:\"logic\"
+    // End:
+
+In the future AUTOLOGIC may declare additional identifiers,
+while AUTOWIRE will not."
+  (save-excursion
+    (unless verilog-auto-wire-type
+      (set (make-local-variable 'verilog-auto-wire-type)
+          "logic"))
+    (verilog-auto-wire)))
+
 (defun verilog-auto-wire ()
   "Expand AUTOWIRE statements, as part of \\[verilog-auto].
 Make wire statements for instantiations outputs that aren't
-already declared.
+already declared. `verilog-auto-wire-type' may be used to change
+the datatype of the declarations.
 
 Limitations:
   This ONLY detects outputs of AUTOINSTants (see `verilog-read-sub-decls'),
@@ -10240,15 +11010,13 @@ Typing \\[verilog-auto] will make this into:
       (forward-line 1)
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic wires (for undeclared instantiated-module outputs)\n")
-       (verilog-insert-definition sig-list "wire" indent-pt nil)
-       (verilog-modi-cache-add-wires modi sig-list)
+       (verilog-insert-definition modi sig-list "wire" indent-pt nil)
        (verilog-insert-indent "// End of automatics\n")
-       (when nil       ;; Too slow on huge modules, plus makes everyone's module change
-         (beginning-of-line)
-         (setq pnt (point))
-         (verilog-pretty-declarations quiet)
-         (goto-char pnt)
-         (verilog-pretty-expr t "//"))))))
+       ;; We used to optionally call verilog-pretty-declarations and
+       ;; verilog-pretty-expr here, but it's too slow on huge modules,
+       ;; plus makes everyone's module change. Finally those call
+       ;; syntax-ppss which is broken when change hooks are disabled.
+       ))))
 
 (defun verilog-auto-output (&optional with-params)
   "Expand AUTOOUTPUT statements, as part of \\[verilog-auto].
@@ -10304,7 +11072,7 @@ same expansion will result from only extracting outputs starting with ov:
     (let* ((indent-pt (current-indentation))
           (regexp (and with-params
                        (nth 0 (verilog-read-auto-params 1))))
-          (v2k  (verilog-in-paren))
+          (v2k  (verilog-in-paren-quick))
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10323,8 +11091,7 @@ same expansion will result from only extracting outputs starting with ov:
       (when v2k (verilog-repair-open-comma))
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic outputs (from unused autoinst outputs)\n")
-       (verilog-insert-definition sig-list "output" indent-pt v2k)
-       (verilog-modi-cache-add-outputs modi sig-list)
+       (verilog-insert-definition modi sig-list "output" indent-pt v2k)
        (verilog-insert-indent "// End of automatics\n"))
       (when v2k (verilog-repair-close-comma)))))
 
@@ -10363,7 +11130,7 @@ Typing \\[verilog-auto] will make this into:
   (save-excursion
     ;;Point must be at insertion point
     (let* ((indent-pt (current-indentation))
-          (v2k  (verilog-in-paren))
+          (v2k  (verilog-in-paren-quick))
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (sig-list (verilog-signals-combine-bus
@@ -10374,8 +11141,7 @@ Typing \\[verilog-auto] will make this into:
       (when v2k (verilog-repair-open-comma))
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic outputs (every signal)\n")
-       (verilog-insert-definition sig-list "output" indent-pt v2k)
-       (verilog-modi-cache-add-outputs modi sig-list)
+       (verilog-insert-definition modi sig-list "output" indent-pt v2k)
        (verilog-insert-indent "// End of automatics\n"))
       (when v2k (verilog-repair-close-comma)))))
 
@@ -10432,7 +11198,7 @@ same expansion will result from only extracting inputs starting with i:
     (let* ((indent-pt (current-indentation))
           (regexp (and with-params
                        (nth 0 (verilog-read-auto-params 1))))
-          (v2k  (verilog-in-paren))
+          (v2k  (verilog-in-paren-quick))
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10440,8 +11206,7 @@ same expansion will result from only extracting inputs starting with i:
                      (verilog-subdecls-get-inputs modsubdecls)
                      (append (verilog-decls-get-inputs moddecls)
                              (verilog-decls-get-inouts moddecls)
-                             (verilog-decls-get-wires moddecls)
-                             (verilog-decls-get-regs moddecls)
+                             (verilog-decls-get-vars moddecls)
                              (verilog-decls-get-consts moddecls)
                              (verilog-decls-get-gparams moddecls)
                              (verilog-subdecls-get-interfaced modsubdecls)
@@ -10456,8 +11221,7 @@ same expansion will result from only extracting inputs starting with i:
       (when v2k (verilog-repair-open-comma))
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic inputs (from unused autoinst inputs)\n")
-       (verilog-insert-definition sig-list "input" indent-pt v2k)
-       (verilog-modi-cache-add-inputs modi sig-list)
+       (verilog-insert-definition modi sig-list "input" indent-pt v2k)
        (verilog-insert-indent "// End of automatics\n"))
       (when v2k (verilog-repair-close-comma)))))
 
@@ -10514,7 +11278,7 @@ same expansion will result from only extracting inouts starting with i:
     (let* ((indent-pt (current-indentation))
           (regexp (and with-params
                        (nth 0 (verilog-read-auto-params 1))))
-          (v2k  (verilog-in-paren))
+          (v2k  (verilog-in-paren-quick))
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (modsubdecls (verilog-modi-get-sub-decls modi))
@@ -10534,18 +11298,18 @@ same expansion will result from only extracting inouts starting with i:
       (when v2k (verilog-repair-open-comma))
       (when sig-list
        (verilog-insert-indent "// Beginning of automatic inouts (from unused autoinst inouts)\n")
-       (verilog-insert-definition sig-list "inout" indent-pt v2k)
-       (verilog-modi-cache-add-inouts modi sig-list)
+       (verilog-insert-definition modi sig-list "inout" indent-pt v2k)
        (verilog-insert-indent "// End of automatics\n"))
       (when v2k (verilog-repair-close-comma)))))
 
-(defun verilog-auto-inout-module (&optional complement)
+(defun verilog-auto-inout-module (&optional complement all-in)
   "Expand AUTOINOUTMODULE statements, as part of \\[verilog-auto].
 Take input/output/inout statements from the specified module and insert
 into the current module.  This is useful for making null templates and
 shell modules which need to have identical I/O with another module.
 Any I/O which are already defined in this module will not be redefined.
-For the complement of this function, see `verilog-auto-inout-comp'.
+For the complement of this function, see `verilog-auto-inout-comp',
+and to make monitors with all inputs, see `verilog-auto-inout-in'.
 
 Limitations:
   If placed inside the parenthesis of a module declaration, it creates
@@ -10610,22 +11374,29 @@ against the previous example's module:
       ;; Note this may raise an error
       (when (setq submodi (verilog-modi-lookup submod t))
        (let* ((indent-pt (current-indentation))
-              (v2k  (verilog-in-paren))
+              (v2k  (verilog-in-paren-quick))
               (modi (verilog-modi-current))
               (moddecls (verilog-modi-get-decls modi))
               (submoddecls (verilog-modi-get-decls submodi))
               (sig-list-i  (verilog-signals-not-in
-                            (if complement
-                                (verilog-decls-get-outputs submoddecls)
-                              (verilog-decls-get-inputs submoddecls))
+                            (cond (all-in
+                                   (append
+                                    (verilog-decls-get-inputs submoddecls)
+                                    (verilog-decls-get-inouts submoddecls)
+                                    (verilog-decls-get-outputs submoddecls)))
+                                  (complement
+                                   (verilog-decls-get-outputs submoddecls))
+                                  (t (verilog-decls-get-inputs submoddecls)))
                             (append (verilog-decls-get-inputs moddecls))))
               (sig-list-o  (verilog-signals-not-in
-                            (if complement
-                                (verilog-decls-get-inputs submoddecls)
-                              (verilog-decls-get-outputs submoddecls))
+                            (cond (all-in nil)
+                                  (complement
+                                   (verilog-decls-get-inputs submoddecls))
+                                  (t (verilog-decls-get-outputs submoddecls)))
                             (append (verilog-decls-get-outputs moddecls))))
               (sig-list-io (verilog-signals-not-in
-                            (verilog-decls-get-inouts submoddecls)
+                            (cond (all-in nil)
+                                  (t (verilog-decls-get-inouts submoddecls)))
                             (append (verilog-decls-get-inouts moddecls))))
               (sig-list-if (verilog-signals-not-in
                             (verilog-decls-get-interfaces submoddecls)
@@ -10647,13 +11418,10 @@ against the previous example's module:
          (when (or sig-list-i sig-list-o sig-list-io)
            (verilog-insert-indent "// Beginning of automatic in/out/inouts (from specific module)\n")
            ;; Don't sort them so a upper AUTOINST will match the main module
-           (verilog-insert-definition sig-list-o  "output" indent-pt v2k t)
-           (verilog-insert-definition sig-list-io "inout" indent-pt v2k t)
-           (verilog-insert-definition sig-list-i  "input" indent-pt v2k t)
-           (verilog-insert-definition sig-list-if "interface" indent-pt v2k t)
-           (verilog-modi-cache-add-inputs modi sig-list-i)
-           (verilog-modi-cache-add-outputs modi sig-list-o)
-           (verilog-modi-cache-add-inouts modi sig-list-io)
+           (verilog-insert-definition modi sig-list-o  "output" indent-pt v2k t)
+           (verilog-insert-definition modi sig-list-io "inout" indent-pt v2k t)
+           (verilog-insert-definition modi sig-list-i  "input" indent-pt v2k t)
+           (verilog-insert-definition modi sig-list-if "interface" indent-pt v2k t)
            (verilog-insert-indent "// End of automatics\n"))
          (when v2k (verilog-repair-close-comma)))))))
 
@@ -10707,7 +11475,58 @@ signals matching the regular expression will be included.  For example the
 same expansion will result from only extracting signals starting with i:
 
           /*AUTOINOUTCOMP(\"ExampMain\",\"^i\")*/"
-  (verilog-auto-inout-module t))
+  (verilog-auto-inout-module t nil))
+
+(defun verilog-auto-inout-in ()
+  "Expand AUTOINOUTIN statements, as part of \\[verilog-auto].
+Take input/output/inout statements from the specified module and
+insert them as all inputs into the current module.  This is
+useful for making monitor modules which need to see all signals
+as inputs based on another module.  Any I/O which are already
+defined in this module will not be redefined.  See also
+`verilog-auto-inout-module'.
+
+Limitations:
+  If placed inside the parenthesis of a module declaration, it creates
+  Verilog 2001 style, else uses Verilog 1995 style.
+
+  Concatenation and outputting partial busses is not supported.
+
+  Module names must be resolvable to filenames.  See `verilog-auto-inst'.
+
+  Signals are not inserted in the same order as in the original module,
+  though they will appear to be in the same order to a AUTOINST
+  instantiating either module.
+
+An example:
+
+       module ExampShell (/*AUTOARG*/);
+          /*AUTOINOUTIN(\"ExampMain\")*/
+       endmodule
+
+       module ExampMain (i,o,io);
+          input i;
+          output o;
+          inout io;
+        endmodule
+
+Typing \\[verilog-auto] will make this into:
+
+       module ExampShell (/*AUTOARG*/i,o,io);
+          /*AUTOINOUTIN(\"ExampMain\")*/
+           // Beginning of automatic in/out/inouts (from specific module)
+           input i;
+           input io;
+           input o;
+          // End of automatics
+       endmodule
+
+You may also provide an optional regular expression, in which case only
+signals matching the regular expression will be included.  For example the
+same expansion will result from only extracting signals starting with i:
+
+          /*AUTOINOUTCOMP(\"ExampMain\",\"^i\")*/"
+  (verilog-auto-inout-module nil t))
 
 (defun verilog-auto-insert-lisp ()
   "Expand AUTOINSERTLISP statements, as part of \\[verilog-auto].
@@ -10756,7 +11575,7 @@ text:
                                       (forward-char)
                                       (point)))        ;; Closing paren
           (cmd-beg-pt (save-excursion (goto-char cmd-end-pt)
-                                      (backward-sexp 1)
+                                      (backward-sexp 1)  ;; Inside comment
                                       (point))) ;; Beginning paren
           (cmd (buffer-substring-no-properties cmd-beg-pt cmd-end-pt)))
       (forward-line 1)
@@ -10776,7 +11595,9 @@ text:
         (sig-list (verilog-signals-not-params
                    (verilog-signals-not-in (verilog-alw-get-inputs sigss)
                                            (append (and (not verilog-auto-sense-include-inputs)
-                                                        (verilog-alw-get-outputs sigss))
+                                                        (verilog-alw-get-outputs-delayed sigss))
+                                                   (and (not verilog-auto-sense-include-inputs)
+                                                        (verilog-alw-get-outputs-immediate sigss))
                                                    (verilog-alw-get-temps sigss)
                                                    (verilog-decls-get-consts moddecls)
                                                    (verilog-decls-get-gparams moddecls)
@@ -10840,7 +11661,7 @@ operator.  (This was added to the language in part due to AUTOSENSE!)
   (save-excursion
     ;; Find beginning
     (let* ((start-pt (save-excursion
-                      (verilog-re-search-backward "(" nil t)
+                      (verilog-re-search-backward-quick "(" nil t)
                       (point)))
           (indent-pt (save-excursion
                        (or (and (goto-char start-pt) (1+ (current-column)))
@@ -10848,9 +11669,7 @@ operator.  (This was added to the language in part due to AUTOSENSE!)
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (sig-memories (verilog-signals-memory
-                         (append
-                          (verilog-decls-get-regs moddecls)
-                          (verilog-decls-get-wires moddecls))))
+                         (verilog-decls-get-vars moddecls)))
           sig-list not-first presense-sigs)
       ;; Read signals in always, eliminate outputs from sense list
       (setq presense-sigs (verilog-signals-from-signame
@@ -10863,11 +11682,11 @@ operator.  (This was added to the language in part due to AUTOSENSE!)
          (if (not (eq tlen (length sig-list))) (verilog-insert " /*memory or*/ "))))
       (if (and presense-sigs  ;; Add a "or" if not "(.... or /*AUTOSENSE*/"
               (save-excursion (goto-char (point))
-                              (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t)
-                              (verilog-re-search-backward "\\s-" start-pt t)
+                              (verilog-re-search-backward-quick "[a-zA-Z0-9$_.%`]+" start-pt t)
+                              (verilog-re-search-backward-quick "\\s-" start-pt t)
                               (while (looking-at "\\s-`endif")
-                                (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t)
-                                (verilog-re-search-backward "\\s-" start-pt t))
+                                (verilog-re-search-backward-quick "[a-zA-Z0-9$_.%`]+" start-pt t)
+                                (verilog-re-search-backward-quick "\\s-" start-pt t))
                               (not (looking-at "\\s-or\\b"))))
          (setq not-first t))
       (setq sig-list (sort sig-list `verilog-signals-sort-compare))
@@ -10889,9 +11708,13 @@ registers set elsewhere in the always block.
 Limitations:
   AUTORESET will not clear memories.
 
-  AUTORESET uses <= if there are any <= assignments in the block,
+  AUTORESET uses <= if the signal has a <= assignment in the block,
   else it uses =.
 
+  If <= is used, all = assigned variables are ignored if
+  `verilog-auto-reset-blocking-in-non' is nil; they are presumed
+  to be temporaries.
+
 /*AUTORESET*/ presumes that any signals mentioned between the previous
 begin/case/if statement and the AUTORESET comment are being reset manually
 and should not be automatically reset.  This includes omitting any signals
@@ -10927,12 +11750,12 @@ Typing \\[verilog-auto] will make this into:
             /*AUTORESET*/
             // Beginning of autoreset for uninitialized flops
             a <= 0;
-            b <= 0;
+            b = 0;   // if `verilog-auto-reset-blocking-in-non' true
             // End of automatics
         end
         else begin
             a <= in_a;
-            b <= in_b;
+            b  = in_b;
             c <= in_c;
         end
     end"
@@ -10944,22 +11767,24 @@ Typing \\[verilog-auto] will make this into:
           (modi (verilog-modi-current))
           (moddecls (verilog-modi-get-decls modi))
           (all-list (verilog-decls-get-signals moddecls))
-          sigss sig-list prereset-sigs assignment-str)
+          sigss sig-list dly-list prereset-sigs)
       ;; Read signals in always, eliminate outputs from reset list
       (setq prereset-sigs (verilog-signals-from-signame
                           (save-excursion
                             (verilog-read-signals
                              (save-excursion
-                               (verilog-re-search-backward "\\(@\\|\\<begin\\>\\|\\<if\\>\\|\\<case\\>\\)" nil t)
+                               (verilog-re-search-backward-quick "\\(@\\|\\<begin\\>\\|\\<if\\>\\|\\<case\\>\\)" nil t)
                                (point))
                              (point)))))
       (save-excursion
-       (verilog-re-search-backward "@" nil t)
+       (verilog-re-search-backward-quick "@" nil t)
         (setq sigss (verilog-read-always-signals)))
-      (setq assignment-str (if (verilog-alw-get-uses-delayed sigss)
-                              (concat " <= " verilog-assignment-delay)
-                            " = "))
-      (setq sig-list (verilog-signals-not-in (verilog-alw-get-outputs sigss)
+      (setq dly-list (verilog-alw-get-outputs-delayed sigss))
+      (setq sig-list (verilog-signals-not-in (append
+                                             (verilog-alw-get-outputs-delayed sigss)
+                                             (when (or (not (verilog-alw-get-uses-delayed sigss))
+                                                       verilog-auto-reset-blocking-in-non)
+                                               (verilog-alw-get-outputs-immediate sigss)))
                                             (append
                                              (verilog-alw-get-temps sigss)
                                              prereset-sigs)))
@@ -10967,17 +11792,18 @@ Typing \\[verilog-auto] will make this into:
       (when sig-list
        (insert "\n");
        (verilog-insert-indent "// Beginning of autoreset for uninitialized flops\n");
-       (indent-to indent-pt)
        (while sig-list
          (let ((sig (or (assoc (verilog-sig-name (car sig-list)) all-list) ;; As sig-list has no widths
                         (car sig-list))))
+           (indent-to indent-pt)
            (insert (verilog-sig-name sig)
-                   assignment-str
+                   (if (assoc (verilog-sig-name sig) dly-list)
+                       (concat " <= " verilog-assignment-delay)
+                     " = ")
                    (verilog-sig-tieoff sig (not verilog-auto-reset-widths))
                    ";\n")
-           (indent-to indent-pt)
            (setq sig-list (cdr sig-list))))
-       (verilog-insert "// End of automatics")))))
+       (verilog-insert-indent "// End of automatics")))))
 
 (defun verilog-auto-tieoff ()
   "Expand AUTOTIEOFF statements, as part of \\[verilog-auto].
@@ -10996,6 +11822,9 @@ them to a one.
 You can add signals you do not want included in AUTOTIEOFF with
 `verilog-auto-tieoff-ignore-regexp'.
 
+`verilog-auto-wire-type' may be used to change the datatype of
+the declarations.
+
 An example of making a stub for another module:
 
     module ExampStub (/*AUTOINST*/);
@@ -11031,8 +11860,7 @@ Typing \\[verilog-auto] will make this into:
           (modsubdecls (verilog-modi-get-sub-decls modi))
           (sig-list (verilog-signals-not-in
                      (verilog-decls-get-outputs moddecls)
-                     (append (verilog-decls-get-wires moddecls)
-                             (verilog-decls-get-regs moddecls)
+                     (append (verilog-decls-get-vars moddecls)
                              (verilog-decls-get-assigns moddecls)
                              (verilog-decls-get-consts moddecls)
                              (verilog-decls-get-gparams moddecls)
@@ -11045,10 +11873,14 @@ Typing \\[verilog-auto] will make this into:
        (forward-line 1)
        (verilog-insert-indent "// Beginning of automatic tieoffs (for this module's unterminated outputs)\n")
        (setq sig-list (sort (copy-alist sig-list) `verilog-signals-sort-compare))
-       (verilog-modi-cache-add-wires modi sig-list)  ; Before we trash list
+       (verilog-modi-cache-add-vars modi sig-list)  ; Before we trash list
        (while sig-list
          (let ((sig (car sig-list)))
-           (verilog-insert-one-definition sig "wire" indent-pt)
+           (cond ((equal verilog-auto-tieoff-declaration "assign")
+                  (indent-to indent-pt)
+                  (insert "assign " (verilog-sig-name sig)))
+                 (t
+                  (verilog-insert-one-definition sig verilog-auto-tieoff-declaration indent-pt)))
            (indent-to (max 48 (+ indent-pt 40)))
            (insert "= " (verilog-sig-tieoff sig)
                    ";\n")
@@ -11151,24 +11983,28 @@ comment.  The comment must be between the keyword and the symbol.
 \(Annoying, but that's what Synopsys's dc_shell FSM reader requires.)
 
 Next, registers which that enum applies to are also tagged with the same
-enum.  Synopsys also suggests labeling state vectors, but `verilog-mode'
-doesn't care.
+enum.
 
 Finally, a AUTOASCIIENUM command is used.
 
   The first parameter is the name of the signal to be decoded.
-  If and only if the first parameter width is 2^(number of states
-  in enum) and does NOT match the width of the enum, the signal
-  is assumed to be a one hot decode.  Otherwise, it's a normal
-  encoded state vector.
 
   The second parameter is the name to store the ASCII code into.  For the
   signal foo, I suggest the name _foo__ascii, where the leading _ indicates
   a signal that is just for simulation, and the magic characters _ascii
   tell viewers like Dinotrace to display in ASCII format.
 
-  The final optional parameter is a string which will be removed from the
-  state names.
+  The third optional parameter is a string which will be removed
+  from the state names. It defaults to "" which removes nothing.
+
+  The fourth optional parameter is \"onehot\" to force one-hot
+  decoding. If unspecified, if and only if the first parameter
+  width is 2^(number of states in enum) and does NOT match the
+  width of the enum, the signal is assumed to be a one hot
+  decode.  Otherwise, it's a normal encoded state vector.
+
+  `verilog-auto-wire-type' may be used to change the datatype of
+  the declarations.
 
 An example:
 
@@ -11202,10 +12038,13 @@ Typing \\[verilog-auto] will make this into:
        end
        // End of automatics"
   (save-excursion
-    (let* ((params (verilog-read-auto-params 2 3))
+    (let* ((params (verilog-read-auto-params 2 4))
           (undecode-name (nth 0 params))
           (ascii-name (nth 1 params))
-          (elim-regexp (nth 2 params))
+          (elim-regexp (and (nth 2 params)
+                            (not (equal (nth 2 params) ""))
+                            (nth 2 params)))
+          (one-hot-flag (nth 3 params))
           ;;
           (indent-pt (current-indentation))
           (modi (verilog-modi-current))
@@ -11213,11 +12052,10 @@ Typing \\[verilog-auto] will make this into:
           ;;
           (sig-list-consts (append (verilog-decls-get-consts moddecls)
                                    (verilog-decls-get-gparams moddecls)))
-          (sig-list-all  (append (verilog-decls-get-regs moddecls)
+          (sig-list-all  (append (verilog-decls-get-vars moddecls)
                                  (verilog-decls-get-outputs moddecls)
                                  (verilog-decls-get-inouts moddecls)
-                                 (verilog-decls-get-inputs moddecls)
-                                 (verilog-decls-get-wires moddecls)))
+                                 (verilog-decls-get-inputs moddecls)))
           ;;
           (undecode-sig (or (assoc undecode-name sig-list-all)
                             (error "%s: Signal %s not found in design" (verilog-point-text) undecode-name)))
@@ -11229,13 +12067,15 @@ Typing \\[verilog-auto] will make this into:
                           (error "%s: No state definitions for %s" (verilog-point-text) undecode-enum))
                       nil))
           ;;
-          (one-hot (and ;; width(enum) != width(sig)
-                    (or (not (verilog-sig-bits (car enum-sigs)))
-                        (not (equal (verilog-sig-width (car enum-sigs))
-                                    (verilog-sig-width undecode-sig))))
-                    ;; count(enums) == width(sig)
-                    (equal (number-to-string (length enum-sigs))
-                           (verilog-sig-width undecode-sig))))
+          (one-hot (or
+                    (string-match "onehot" (or one-hot-flag ""))
+                    (and ;; width(enum) != width(sig)
+                     (or (not (verilog-sig-bits (car enum-sigs)))
+                         (not (equal (verilog-sig-width (car enum-sigs))
+                                     (verilog-sig-width undecode-sig))))
+                     ;; count(enums) == width(sig)
+                     (equal (number-to-string (length enum-sigs))
+                            (verilog-sig-width undecode-sig)))))
           (enum-chars 0)
           (ascii-chars 0))
       ;;
@@ -11252,13 +12092,11 @@ Typing \\[verilog-auto] will make this into:
       (verilog-insert-indent "// Beginning of automatic ASCII enum decoding\n")
       (let ((decode-sig-list (list (list ascii-name (format "[%d:0]" (- (* ascii-chars 8) 1))
                                         (concat "Decode of " undecode-name) nil nil))))
-       (verilog-insert-definition decode-sig-list "reg" indent-pt nil)
-       (verilog-modi-cache-add-regs modi decode-sig-list))
+       (verilog-insert-definition modi decode-sig-list "reg" indent-pt nil))
       ;;
       (verilog-insert-indent "always @(" undecode-name ") begin\n")
       (setq indent-pt (+ indent-pt verilog-indent-level))
-      (indent-to indent-pt)
-      (insert "case ({" undecode-name "})\n")
+      (verilog-insert-indent "case ({" undecode-name "})\n")
       (setq indent-pt (+ indent-pt verilog-case-indent))
       ;;
       (let ((tmp-sigs enum-sigs)
@@ -11271,7 +12109,9 @@ Typing \\[verilog-auto] will make this into:
           (concat
            (format chrfmt
                    (concat (if one-hot "(")
-                           (if one-hot (verilog-sig-width undecode-sig))
+                           ;; Use enum-sigs length as that's numeric
+                           ;; verilog-sig-width undecode-sig might not be.
+                           (if one-hot (number-to-string (length enum-sigs)))
                            ;; We use a shift instead of var[index]
                            ;; so that a non-one hot value will show as error.
                            (if one-hot "'b1<<")
@@ -11326,6 +12166,8 @@ following the /*AUTO...*/ command.
 
 Use \\[verilog-delete-auto] to remove the AUTOs.
 
+Use \\[verilog-diff-auto] to see differences in AUTO expansion.
+
 Use \\[verilog-inject-auto] to insert AUTOs for the first time.
 
 Use \\[verilog-faq] for a pointer to frequently asked questions.
@@ -11348,11 +12190,14 @@ Or fix indentation with:
 Likewise, you can delete or inject AUTOs with:
        emacs --batch  <filenames.v>  -f verilog-batch-delete-auto
        emacs --batch  <filenames.v>  -f verilog-batch-inject-auto
+Or check if AUTOs have the same expansion
+       emacs --batch  <filenames.v>  -f verilog-batch-diff-auto
 
 Using \\[describe-function], see also:
     `verilog-auto-arg'          for AUTOARG module instantiations
     `verilog-auto-ascii-enum'   for AUTOASCIIENUM enumeration decoding
-    `verilog-auto-inout-comp'  for AUTOINOUTCOMP copy complemented i/o
+    `verilog-auto-inout-comp'   for AUTOINOUTCOMP copy complemented i/o
+    `verilog-auto-inout-in'     for AUTOINOUTIN inputs for all i/o
     `verilog-auto-inout-module' for AUTOINOUTMODULE copying i/o from elsewhere
     `verilog-auto-inout'        for AUTOINOUT making hierarchy inouts
     `verilog-auto-input'        for AUTOINPUT making hierarchy inputs
@@ -11360,6 +12205,7 @@ Using \\[describe-function], see also:
     `verilog-auto-inst'         for AUTOINST instantiation pins
     `verilog-auto-star'         for AUTOINST .* SystemVerilog pins
     `verilog-auto-inst-param'   for AUTOINSTPARAM instantiation params
+    `verilog-auto-logic'        for AUTOLOGIC declaring logic signals
     `verilog-auto-output'       for AUTOOUTPUT making hierarchy outputs
     `verilog-auto-output-every' for AUTOOUTPUTEVERY making all outputs
     `verilog-auto-reg'          for AUTOREG registers
@@ -11402,10 +12248,13 @@ Wilson Snyder (wsnyder@wsnyder.org)."
         (verilog-save-no-change-functions
          (verilog-save-scan-cache
           (save-excursion
+            ;; Wipe cache; otherwise if we AUTOed a block above this one,
+            ;; we'll misremember we have generated IOs, confusing AUTOOUTPUT
+            (setq verilog-modi-cache-list nil)
             ;; If we're not in verilog-mode, change syntax table so parsing works right
             (unless (eq major-mode `verilog-mode) (verilog-mode))
             ;; Allow user to customize
-            (run-hooks 'verilog-before-auto-hook)
+            (verilog-run-hooks 'verilog-before-auto-hook)
             ;; Try to save the user from needing to revert-file to reread file local-variables
             (verilog-auto-reeval-locals)
             (verilog-read-auto-lisp-present)
@@ -11445,6 +12294,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
               ;; first in/outs from other files
               (verilog-auto-re-search-do "/\\*AUTOINOUTMODULE([^)]*)\\*/" 'verilog-auto-inout-module)
               (verilog-auto-re-search-do "/\\*AUTOINOUTCOMP([^)]*)\\*/" 'verilog-auto-inout-comp)
+              (verilog-auto-re-search-do "/\\*AUTOINOUTIN([^)]*)\\*/" 'verilog-auto-inout-in)
               ;; next in/outs which need previous sucked inputs first
               (verilog-auto-re-search-do "/\\*AUTOOUTPUT\\((\"[^\"]*\")\\)\\*/"
                                          (lambda () (verilog-auto-output t)))
@@ -11458,6 +12308,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
               ;; Then tie off those in/outs
               (verilog-auto-re-search-do "/\\*AUTOTIEOFF\\*/" 'verilog-auto-tieoff)
               ;; Wires/regs must be after inputs/outputs
+              (verilog-auto-re-search-do "/\\*AUTOLOGIC\\*/" 'verilog-auto-logic)
               (verilog-auto-re-search-do "/\\*AUTOWIRE\\*/" 'verilog-auto-wire)
               (verilog-auto-re-search-do "/\\*AUTOREG\\*/" 'verilog-auto-reg)
               (verilog-auto-re-search-do "/\\*AUTOREGINPUT\\*/" 'verilog-auto-reg-input)
@@ -11471,7 +12322,10 @@ Wilson Snyder (wsnyder@wsnyder.org)."
               (when verilog-auto-inst-template-numbers
                 (verilog-auto-templated-rel))))
             ;;
-            (run-hooks 'verilog-auto-hook)
+            (verilog-run-hooks 'verilog-auto-hook)
+            ;;
+            (when verilog-auto-delete-trailing-whitespace
+              (verilog-delete-trailing-whitespace))
             ;;
             (set (make-local-variable 'verilog-auto-update-tick) (buffer-chars-modified-tick))
             ;;
@@ -11502,10 +12356,12 @@ Wilson Snyder (wsnyder@wsnyder.org)."
     (define-key map "i" 'verilog-sk-initial)
     (define-key map "j" 'verilog-sk-fork)
     (define-key map "m" 'verilog-sk-module)
+    (define-key map "o" 'verilog-sk-ovm-class)
     (define-key map "p" 'verilog-sk-primitive)
     (define-key map "r" 'verilog-sk-repeat)
     (define-key map "s" 'verilog-sk-specify)
     (define-key map "t" 'verilog-sk-task)
+    (define-key map "u" 'verilog-sk-uvm-class)
     (define-key map "w" 'verilog-sk-while)
     (define-key map "x" 'verilog-sk-casex)
     (define-key map "z" 'verilog-sk-casez)
@@ -11531,7 +12387,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
 ;; may want to consider moving the binding to another key in your .emacs
 ;; file.
 ;;
-;(define-key verilog-mode-map "\C-ct" verilog-template-map)
+;; Note \C-c and letter are reserved for users
 (define-key verilog-mode-map "\C-c\C-t" verilog-template-map)
 
 ;;; ---- statement skeletons ------------------------------------------
@@ -11571,7 +12427,7 @@ Wilson Snyder (wsnyder@wsnyder.org)."
   "output: " str)
 
 (define-skeleton verilog-sk-prompt-msb
-  "Prompt for least significant bit specification."
+  "Prompt for most significant bit specification."
   "msb:" str & ?: & '(verilog-sk-prompt-lsb) | -1 )
 
 (define-skeleton verilog-sk-prompt-lsb
@@ -11616,6 +12472,38 @@ See also `verilog-header' for an alternative format."
   > _ \n
   > (- verilog-indent-level-behavioral) "endmodule" (progn (electric-verilog-terminate-line) nil))
 
+;;; ------------------------------------------------------------------------
+;;; Define a default OVM class, with macros and new()
+;;; ------------------------------------------------------------------------
+
+(define-skeleton verilog-sk-ovm-class
+  "Insert a class definition"
+  ()
+  > "class " (setq name (skeleton-read "Name: ")) " extends " (skeleton-read "Extends: ") ";" \n
+  > _ \n
+  > "`ovm_object_utils_begin(" name ")" \n
+  > (- verilog-indent-level) " `ovm_object_utils_end" \n
+  > _ \n
+  > "function new(name=\"" name "\");" \n
+  > "super.new(name);" \n
+  > (- verilog-indent-level) "endfunction" \n
+  > _ \n
+  > "endclass" (progn (electric-verilog-terminate-line) nil))
+
+(define-skeleton verilog-sk-uvm-class
+  "Insert a class definition"
+  ()
+  > "class " (setq name (skeleton-read "Name: ")) " extends " (skeleton-read "Extends: ") ";" \n
+  > _ \n
+  > "`uvm_object_utils_begin(" name ")" \n
+  > (- verilog-indent-level) " `uvm_object_utils_end" \n
+  > _ \n
+  > "function new(name=\"" name "\");" \n
+  > "super.new(name);" \n
+  > (- verilog-indent-level) "endfunction" \n
+  > _ \n
+  > "endclass" (progn (electric-verilog-terminate-line) nil))
+
 (define-skeleton verilog-sk-primitive
   "Insert a task definition."
   ()
@@ -11918,10 +12806,10 @@ Clicking on the middle-mouse button loads them in a buffer (as in dired)."
            ;; This scanner is syntax-fragile, so don't get bent
            (when verilog-highlight-modules
              (condition-case nil
-                 (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-point t)
+                 (while (verilog-re-search-forward-quick "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-point t)
                    (save-excursion
                      (goto-char (match-beginning 0))
-                     (unless (verilog-inside-comment-p)
+                     (unless (verilog-inside-comment-or-string-p)
                        (verilog-read-inst-module-matcher)   ;; sets match 0
                        (let* ((ov (make-overlay (match-beginning 0) (match-end 0))))
                          (overlay-put ov 'start-closed 't)
index 3a94601768dbd32010922d65c08e97e1074095a2..0cf01b1228f04a8e64020ea26f00fd7a95bd8dc3 100644 (file)
@@ -1714,7 +1714,7 @@ an absolute path (i.e. all caches can be stored in one global directory)."
 
 
 (defgroup vhdl-menu nil
-  "Customizations for menues."
+  "Customizations for menus."
   :group 'vhdl)
 
 (defcustom vhdl-index-menu nil
@@ -1844,7 +1844,7 @@ NOTE: Activate the new setting in a VHDL buffer by using the menu entry
 ;; Internal variables
 
 (defvar vhdl-menu-max-size 20
-  "*Specifies the maximum size of a menu before splitting it into submenues.")
+  "*Specifies the maximum size of a menu before splitting it into submenus.")
 
 (defvar vhdl-progress-interval 1
   "*Interval used to update progress status during long operations.
@@ -2468,7 +2468,7 @@ conversion."
   (goto-char marker))
 
 (defun vhdl-menu-split (list title)
-  "Split menu LIST into several submenues, if number of
+  "Split menu LIST into several submenus, if number of
 elements > `vhdl-menu-max-size'."
   (if (> (length list) vhdl-menu-max-size)
       (let ((remain list)
index e02f63a8268ef15391ee1a5ad682ece2e713d216..edd8f2afa935729a6479e2f3b1a9d24748311cf3 100644 (file)
@@ -307,11 +307,13 @@ Updates `server-clients'."
 
       (setq server-clients (delq proc server-clients))
 
-      ;; Delete the client's tty.
-      (let ((terminal (process-get proc 'terminal)))
-       ;; Only delete the terminal if it is non-nil.
-       (when (and terminal (eq (terminal-live-p terminal) t))
-         (delete-terminal terminal)))
+      ;; Delete the client's tty, except on Windows (both GUI and console),
+      ;; where there's only one terminal and does not make sense to delete it.
+      (unless (eq system-type 'windows-nt)
+       (let ((terminal (process-get proc 'terminal)))
+         ;; Only delete the terminal if it is non-nil.
+         (when (and terminal (eq (terminal-live-p terminal) t))
+           (delete-terminal terminal))))
 
       ;; Delete the client's process.
       (if (eq (process-status proc) 'open)
@@ -1035,7 +1037,11 @@ The following commands are accepted by the client:
                  (setq tty-name (pop args-left)
                        tty-type (pop args-left)
                        dontkill (or dontkill
-                                    (not use-current-frame))))
+                                    (not use-current-frame)))
+                 ;; On Windows, emacsclient always asks for a tty frame.
+                 ;; If running a GUI server, force the frame type to GUI.
+                 (when (eq window-system 'w32)
+                   (push "-window-system" args-left)))
 
                 ;; -position LINE[:COLUMN]:  Set point to the given
                 ;;  position in the next file.
index 6c9d0a7a50d7869ba09a36538a9efd4dd5b41527..cceccde33467d0cbaff9b22d536a4bf184909178 100644 (file)
@@ -2273,7 +2273,7 @@ cells."
 
 (defun ses-read-printer (prompt default)
   "Common code for `ses-read-cell-printer', `ses-read-column-printer', and `ses-read-default-printer'.
-PROMPT should end with \": \".  Result is t if operation was cancelled."
+PROMPT should end with \": \".  Result is t if operation was canceled."
   (barf-if-buffer-read-only)
   (if (eq default t)
       (setq default "")
index 1dc866cf64dc5e21dde4701d7c880765bb1a5992..b718546248bce4049618bf168e5e1c903345835e 100644 (file)
@@ -1582,7 +1582,7 @@ by the new completion."
      n)
     ;; next-matching-history-element always puts us at (point-min).
     ;; Move to the position we were at before changing the buffer contents.
-    ;; This is still sensical, because the text before point has not changed.
+    ;; This is still sensible, because the text before point has not changed.
     (goto-char point-at-start)))
 
 (defun previous-complete-history-element (n)
@@ -5704,7 +5704,7 @@ At top-level, as an editor command, this simply beeps."
 (defvar buffer-quit-function nil
   "Function to call to \"quit\" the current buffer, or nil if none.
 \\[keyboard-escape-quit] calls this function when its more local actions
-\(such as cancelling a prefix argument, minibuffer or region) do not apply.")
+\(such as canceling a prefix argument, minibuffer or region) do not apply.")
 
 (defun keyboard-escape-quit ()
   "Exit the current \"mode\" (in a generalized sense of the word).
@@ -6209,7 +6209,7 @@ BASE-POSITION, says where to insert the completion."
               choice buffer base-position nil)
         ;; This remove-text-properties should be unnecessary since `choice'
         ;; comes from buffer-substring-no-properties.
-        ;;(remove-text-properties 0 (lenth choice) '(mouse-face nil) choice)
+        ;;(remove-text-properties 0 (length choice) '(mouse-face nil) choice)
        ;; Insert the completion into the buffer where it was requested.
         (funcall (or insert-function completion-list-insert-choice-function)
                  (or (car base-position) (point))
index b8a734784be2c181c23b8408e3df72b7fcb27e5e..3e79095e52fb41dab619f0a09d3016e2d2cd0da3 100644 (file)
@@ -1862,7 +1862,7 @@ of the special mode functions."
            (if (not v)
                (setq speedbar-special-mode-expansion-list t)
              ;; If it is autoloaded, we need to load it now so that
-             ;; we have access to the varialbe -speedbar-menu-items.
+             ;; we have access to the variable -speedbar-menu-items.
              ;; Is this XEmacs safe?
              (let ((sf (symbol-function v)))
                (if (and (listp sf) (eq (car sf) 'autoload))
index 05e18ed24a076e3b5da5d27fa8b799892c4cb5d7..ac0f833da639c7d19d2412d24ff1a1a136ad2f66 100644 (file)
@@ -126,7 +126,7 @@ a file in the home directory."
 
 (defun emacs-session-save ()
   "This function is called when the window system is shutting down.
-If this function returns non-nil, the window system shutdown is cancelled.
+If this function returns non-nil, the window system shutdown is canceled.
 
 When a session manager tells Emacs that the window system is shutting
 down, this function is called.  It calls the functions in the hook
index 0efabc2135aae97c59e01ab4e3793c99838b77c3..bd1fcc43d22bafc3a0c513c19a59adefb3e71d1c 100644 (file)
@@ -3960,11 +3960,11 @@ The 2-point shape SHAPE is drawn from X1, Y1 to X2, Y2."
 ;; Implementation note: This really should honor the interval-fn entry
 ;; in the master table, `artist-mt', which would mean leaving a timer
 ;; that calls `draw-fn' every now and then. That timer would then have
-;; to be cancelled and reinstalled whenever the user moves the cursor.
+;; to be canceled and reinstalled whenever the user moves the cursor.
 ;; This could be done, but what if the user suddenly switches to another
 ;; drawing mode, or even kills the buffer! In the mouse case, it is much
 ;; simpler: when at the end of `artist-mouse-draw-continously', the
-;; user has released the button, so the timer will always be cancelled
+;; user has released the button, so the timer will always be canceled
 ;; at that point.
 (defun artist-key-draw-continously (x y)
   "Draw current continuous shape at X,Y."
@@ -5589,7 +5589,7 @@ The event, EV, is the mouse event."
 ;;         of drawing mode.
 ;;
 ;;         You should provide these functions. You might think that
-;;         only you is using your type of mode, so noone will be able
+;;         only you is using your type of mode, so no one will be able
 ;;         to switch to another operation of the same type of mode,
 ;;         but someone else might base a new drawing mode upon your
 ;;         work.
index d0967d63740fb4bc7d1e6f5e3251a8434786285c..ba7b84fe1dd0c75d2c4a9e60230b8a45afc0c54a 100644 (file)
@@ -2499,7 +2499,7 @@ scrolling the current window.  Leave the new window selected."
       ;; hidden by new window, scroll it to just below new win
       ;; otherwise set top line of other win so it doesn't scroll.
       (if (< oldot top) (setq top oldot))
-      ;; if frame is unsplitable, temporarily disable that...
+      ;; if frame is unsplittable, temporarily disable that...
       (if (cdr (assq 'unsplittable (frame-parameters (selected-frame))))
          (let ((frame (selected-frame)))
            (modify-frame-parameters frame '((unsplittable . nil)))
@@ -3979,7 +3979,7 @@ Both should not be used to define a buffer-local dictionary."
 ; LocalWords:  AMStex hspace includeonly nocite epsfig displaymath eqnarray reg
 ; LocalWords:  minipage modeline pers dict unhighlight buf grep sync prev inc
 ; LocalWords:  fn oldot NB AIX msg init read's bufs pt cmd Quinlan eg
-; LocalWords:  uuencoded unidiff sc nn VM SGML eval IspellPersDict unsplitable
+; LocalWords:  uuencoded unidiff sc nn VM SGML eval IspellPersDict
 ; LocalWords:  lns XEmacs HTML casechars Multibyte
 
 ;;; ispell.el ends here
index ff6ffffc3825f960b1b9cfd02dae4bb83c6daa72..2aecc34e2b0c01abd404754c9c16ef7ee61fb503 100644 (file)
@@ -212,7 +212,7 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
       (add-hook 'pre-command-hook 'reftex-highlight-shall-die)
 
       (when (eq how 'tmp-window)
-        ;; Resize window and arrange restauration
+        ;; Resize window and arrange restoration
         (shrink-window (1- (- (window-height) 9)))
         (recenter '(4))
         (add-hook 'pre-command-hook 'reftex-restore-window-conf))
index 65f6d98ef79a1af2eda970fd2c6f76ba2b8cdd68..1a3c5c228150a15d2ec8fd13d4833fc4a68eeb5e 100644 (file)
@@ -4293,7 +4293,7 @@ cache buffer into the designated cell in the table buffer."
     (car (table--get-coordinate (cdr (table--horizontal-cell-list nil t))))
     (1+ (cdr (table--get-coordinate (cdr (table--vertical-cell-list nil t))))))))
 
-(defun table-call-interactively (function &optional recoard-flag keys)
+(defun table-call-interactively (function &optional record-flag keys)
   "Call FUNCTION, or a table version of it if applicable.
 See `call-interactively' for full description of the arguments."
   (let ((table-func (intern-soft (format "*table--cell-%s" function))))
@@ -4301,7 +4301,7 @@ See `call-interactively' for full description of the arguments."
      (if (and table-func
              (table--point-in-cell-p))
         table-func
-       function) recoard-flag keys)))
+       function) record-flag keys)))
 
 (defun table-funcall (function &rest arguments)
   "Call FUNCTION, or a table version of it if applicable.
index 094885bb0d0885ab613491d68cf42936a9a5b777..b186b02851db46c4508e6b81b433bf897c344243 100644 (file)
@@ -518,7 +518,7 @@ if large.  You can use `Info-split' to do this manually."
 \f
 ;;; Handle paragraph filling
 
-;; Keep as concatinated lists for ease of maintenance
+;; Keep as concatenated lists for ease of maintenance
 
 (defvar texinfo-no-refill-regexp
   (concat
@@ -2088,11 +2088,11 @@ This command is executed when texinfmt sees @item inside @multitable."
         (table-entry-height 0)
         ;; unformatted row looks like:  A1  @tab  A2  @tab  A3
         ;; extract-row command deletes the source line in the table.
-        (unformated-row (texinfo-multitable-extract-row)))
+        (unformatted-row (texinfo-multitable-extract-row)))
     ;; Use a temporary buffer
     (set-buffer (get-buffer-create texinfo-multitable-buffer-name))
     (delete-region (point-min) (point-max))
-    (insert unformated-row)
+    (insert unformatted-row)
     (goto-char (point-min))
 ;; 1. Check for correct number of @tab in line.
     (let ((tab-number 1))               ; one @tab between two columns
@@ -4238,7 +4238,7 @@ the @ifeq command."
 Must be used only with -batch, and kills Emacs on completion.
 Each file will be processed even if an error occurred previously.
 For example, invoke
-  \"emacs -batch -funcall batch-texinfo-format $docs/ ~/*.texinfo\"."
+  \"emacs -batch -l texinfmt -f batch-texinfo-format $docs/ ~/*.texinfo\"."
   (if (not noninteractive)
       (error "batch-texinfo-format may only be used -batch"))
   (let ((version-control t)
index ac4a011bdf8d4c328c039dd2f01af5427a32434e..4955b177545989e17c1c508c60259e00b44d304c 100644 (file)
@@ -369,7 +369,7 @@ would give mode line times like `94/12/30 21:07:48 (UTC)'."
       nil)))
 
 (with-no-warnings
-  ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix".
+  ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix".
   (defvar now)
   (defvar time)
   (defvar load)
index 48d2caf35f4bdb53f3863481c08311307713b68c..b4cd24cc6b96e21ce5488ec748f700aac487e857 100644 (file)
        (url-dav-process-DAV:activelock)
        (url-dav-process-DAV:lockdiscovery): Can now correctly parse
        DAV:lockdiscovery nodes, so that we can find out who has a
-       resource locked and properly parse the reponse to a LOCK request.
+       resource locked and properly parse the response to a LOCK request.
        (url-dav-process-DAV:status): Now parses out the numeric status
        from the HTTP response line.
        (url-dav-process-response): New function to handle all the
index 7d80f2f672561f1fc215a2e1559a788f78c3a00a..a3a384b7a906a4a3ed8c863b60ba211cc02849a3 100644 (file)
@@ -72,12 +72,12 @@ This list will be executed as a command after logging in via telnet."
   :group 'url-gateway)
 
 (defcustom url-gateway-telnet-login-prompt "^\r*.?login:"
-  "Prompt that tells us we should send our username when loggin in w/telnet."
+  "Prompt that tells us we should send our username when logging in w/telnet."
   :type 'regexp
   :group 'url-gateway)
 
 (defcustom url-gateway-telnet-password-prompt "^\r*.?password:"
-  "Prompt that tells us we should send our password when loggin in w/telnet."
+  "Prompt that tells us we should send our password when logging in w/telnet."
   :type 'regexp
   :group 'url-gateway)
 
index 787a8b7c0f1580cc8a894d0a44d99e66a1838b0a..d3db66a9e2a3fcfa304ac34b60ce64caf3c59c37 100644 (file)
@@ -370,7 +370,7 @@ It needs to be killed when we quit the session.")
             this-command)))
 
 (defgroup ediff-highlighting nil
-  "Hilighting of difference regions in Ediff."
+  "Highlighting of difference regions in Ediff."
   :prefix "ediff-"
   :group 'ediff)
 
index 256719d4c840975e895aae1ad0e198923ca96165..9a8be04fc38ad9e7c2cabac8a8001dbc2b7d7320 100644 (file)
@@ -322,7 +322,7 @@ The argument is added (or not) to the list of FLAGS and is constructed
 by appending the branch to ARG which defaults to \"-r\".
 Since the `cvs-secondary-branch-prefix' is only active if the primary
 prefix is active, it is important to read the secondary prefix before
-the primay since reading the primary can deactivate it."
+the primary since reading the primary can deactivate it."
   (let ((branch (and (cvs-prefix-get 'cvs-branch-prefix 'read-only)
                     (cvs-prefix-get 'cvs-secondary-branch-prefix))))
     (if branch (cons (concat (or arg "-r") branch) flags) flags)))
index d4fc35920a902ba972954d8ba048c156f2ead2b5..b8673f2049f96ba83c36bd9090c26e3d0308dda5 100644 (file)
 ;; automatically for a PC if Oemacs is detected.  This set uses separate
 ;; control, shift and meta keys with function keys 1 to 10.  In
 ;; particular, movement keys are concentrated on f5 to f8 with (in
-;; increasing order of distance travelled) C-, M- and S- as prefixes.
+;; increasing order of distance traveled) C-, M- and S- as prefixes.
 ;; See the actual bindings below (search for C-f1).  This is because the
 ;; C-S- prefix is represented by weird key sequences and the set is
 ;; incomplete; if you don't mind that, some hints are given in comments
index a5349445964beac020b8783c47cc43e5a0ce6728..7703719ba4082128ae4436b38e6599e6a5e0c36b 100644 (file)
@@ -481,7 +481,7 @@ Entry to view-mode runs the normal hook `view-mode-hook'."
   ;; sets view-read-only to t as a buffer-local variable
   ;; after exiting View mode.  That arranges that the next toggle-read-only
   ;; will reenable View mode.
-  ;; Cancelling View mode in any other way should cancel that, too,
+  ;; Canceling View mode in any other way should cancel that, too,
   ;; so that View mode stays off if toggle-read-only is called.
   (if (local-variable-p 'view-read-only)
       (kill-local-variable 'view-read-only))
index 8c4df9fc9cf44c088292a4e919d0e60d1632f14b..07eccaff4fbecb3918f912dc61aaf05826d25bf0 100644 (file)
@@ -295,10 +295,10 @@ minibuffer."
             (error "Canceled"))
           value))))
 
-(defun widget-remove-if (predictate list)
+(defun widget-remove-if (predicate list)
   (let (result (tail list))
     (while tail
-      (or (funcall predictate (car tail))
+      (or (funcall predicate (car tail))
          (setq result (cons (car tail) result)))
       (setq tail (cdr tail)))
     (nreverse result)))
@@ -577,7 +577,7 @@ This is only meaningful for radio buttons or checkboxes in a list."
   "Map FUNCTION over the buttons in BUFFER.
 FUNCTION is called with the arguments WIDGET and MAPARG.
 
-If FUNCTION returns non-nil, the walk is cancelled.
+If FUNCTION returns non-nil, the walk is canceled.
 
 The arguments MAPARG, and BUFFER default to nil and (current-buffer),
 respectively."
index 69276a839bd9aeaaaf08a2738af4c150c3f69b20..112caeeaf0fdae04b7336a407ffcdc51884b656d 100644 (file)
@@ -1211,7 +1211,7 @@ More precisely, cycle through all windows calling the function
 PREDICATE on each one of them with the window as its sole
 argument.  Return the first window for which PREDICATE returns
 non-nil.  Windows are scanned starting with the window following
-the selcted window.  If no window satisfies PREDICATE, return
+the selected window.  If no window satisfies PREDICATE, return
 DEFAULT.
 
 MINIBUF t means include the minibuffer window even if the
@@ -5234,7 +5234,7 @@ WINDOW was scrolled."
        ;; This `condition-case' shouldn't be necessary, but who knows?
        (condition-case nil
            (if (zerop delta)
-               ;; Return zero if DELTA became zero in the proces.
+               ;; Return zero if DELTA became zero in the process.
                0
              ;; Don't try to redisplay with the cursor at the end on its
              ;; own line--that would force a scroll and spoil things.
index ce00e82cdd4db2f9fdb15fcc2c5be97406693948..6cbeadc0bbaf89fd650d7efd8c192cca565da9d4 100644 (file)
@@ -59,7 +59,7 @@
 /^#undef PACKAGE_STRING/s/^.*$/#define PACKAGE_STRING ""/
 /^#undef PACKAGE_TARNAME/s/^.*$/#define PACKAGE_TARNAME ""/
 /^#undef PACKAGE_VERSION/s/^.*$/#define PACKAGE_VERSION ""/
-/^#undef VERSION/s/^.*$/#define VERSION "24.0.91"/
+/^#undef VERSION/s/^.*$/#define VERSION "24.0.92"/
 /^#undef HAVE_DECL_GETENV/s/^.*$/#define HAVE_DECL_GETENV 1/
 /^#undef SYS_SIGLIST_DECLARED/s/^.*$/#define SYS_SIGLIST_DECLARED 1/
 /^#undef HAVE_DIRENT_H/s/^.*$/#define HAVE_DIRENT_H 1/
index ca5b067126874e6792f77ab8e6b19c72749a85af..61a8a28f3a99d045082f23fb73683aab5ff19f54 100644 (file)
@@ -553,7 +553,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
        <key>CFBundleExecutable</key>
        <string>Emacs</string>
        <key>CFBundleGetInfoString</key>
-       <string>Emacs 24.0.91 Copyright (C) 2011 Free Software Foundation, Inc.</string>
+       <string>Emacs 24.0.92 Copyright (C) 2011 Free Software Foundation, Inc.</string>
        <key>CFBundleIconFile</key>
        <string>Emacs.icns</string>
        <key>CFBundleIdentifier</key>
@@ -566,7 +566,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
        <string>APPL</string>
        <!-- This should be the emacs version number. -->
        <key>CFBundleShortVersionString</key>
-       <string>24.0.91</string>
+       <string>24.0.92</string>
        <key>CFBundleSignature</key>
        <string>EMAx</string>
        <!-- This SHOULD be a build number. -->
index 21e4dd977ca04c7cec46a91ba62f993db6d04bda..438a6103f5e617a4bbf4b7bcd21b07396166131d 100644 (file)
@@ -1,6 +1,6 @@
 /* Localized versions of Info.plist keys */
 
 CFBundleName = "Emacs";
-CFBundleShortVersionString = "Version 24.0.91";
-CFBundleGetInfoString = "Emacs version 24.0.91, NS Windowing";
+CFBundleShortVersionString = "Version 24.0.92";
+CFBundleGetInfoString = "Emacs version 24.0.92, NS Windowing";
 NSHumanReadableCopyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
index 5ccb7b38a5b6dd31a745c29e77e2ea49ae6ee212..1b8926e9ef623871233def0265f9460cd720f290 100644 (file)
@@ -1,7 +1,7 @@
 [Desktop Entry]
 Encoding=UTF-8
 Type=Application
-Version=24.0.91
+Version=24.0.92
 Categories=GNUstep
 Name=Emacs
 Comment=GNU Emacs for NeXT/Open/GNUstep and OS X
index 7212ef41f4101ccc50657261bc5fee7d303ee786..9747ed25a2a4ed1cf2be41999642510a06aef8a4 100644 (file)
@@ -2,7 +2,7 @@
     ApplicationDescription = "GNU Emacs for GNUstep / OS X";
     ApplicationIcon = emacs.tiff;
     ApplicationName = Emacs;
-    ApplicationRelease = "24.0.91";
+    ApplicationRelease = "24.0.92";
     Authors = (
        "Adrian Robert (GNUstep)",
        "Christophe de Dinechin (MacOS X)",
@@ -13,7 +13,7 @@
     );
     Copyright = "Copyright (C) 2011 Free Software Foundation, Inc.";
     CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
-    FullVersionID = "Emacs 24.0.91, NS Windowing";
+    FullVersionID = "Emacs 24.0.92, NS Windowing";
     NSExecutable = Emacs;
     NSIcon = emacs.tiff;
     NSPrincipalClass = NSApplication;
index d7919d36f80f4cf7f068f9f1a421ef32c88fa103..c45b4aef68dc7377be1cfefec1291d22bc2fc20c 100644 (file)
@@ -250,7 +250,7 @@ main (int argc, char *argv[])
                               MB_OKCANCEL | MB_ICONQUESTION);
          if (result != IDOK)
            {
-             fprintf (stderr, "Install cancelled\n");
+             fprintf (stderr, "Install canceled\n");
              exit (1);
            }
        }
@@ -365,4 +365,3 @@ main (int argc, char *argv[])
 
   return 0;
 }
-
index 77297e3db25391b399daebdee2df306885010f0a..c77faccb3b47e2fc15fb7696cf0e5b4427279d92 100644 (file)
@@ -328,7 +328,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define PACKAGE "emacs"
 
 /* Version number of package */
-#define VERSION "24.0.91"
+#define VERSION "24.0.92"
 
 /* Define to `__inline__' or `__inline' if that's what the C compiler
    calls it, or to nothing if 'inline' is not supported under any name.  */
index 9f7fc6f14aa458d95f7140076b39b85bfdd0dc7b..479a228bb6999d7003f6afe47197d46a0e6453f0 100644 (file)
@@ -7,8 +7,8 @@ Emacs ICON   icons\emacs.ico
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,91,0
- PRODUCTVERSION 24,0,91,0
+ FILEVERSION 24,0,92,0
+ PRODUCTVERSION 24,0,92,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -25,12 +25,12 @@ BEGIN
        BEGIN
            VALUE "CompanyName", "Free Software Foundation\0"
            VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
-           VALUE "FileVersion", "24, 0, 91, 0\0"
+           VALUE "FileVersion", "24, 0, 92, 0\0"
            VALUE "InternalName", "Emacs\0"
            VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
            VALUE "OriginalFilename", "emacs.exe"
            VALUE "ProductName", "Emacs\0"
-           VALUE "ProductVersion", "24, 0, 91, 0\0"
+           VALUE "ProductVersion", "24, 0, 92, 0\0"
            VALUE "OLESelfRegister", "\0"
         END
      END
index 6de1daeb95992831f2c3d90e2bde42af8e961717..b653e1fb9526f8e77e0880e43ccfae84310edcbb 100644 (file)
@@ -5,8 +5,8 @@ Emacs ICON   icons\emacs.ico
 #endif
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24,0,91,0
- PRODUCTVERSION 24,0,91,0
+ FILEVERSION 24,0,92,0
+ PRODUCTVERSION 24,0,92,0
  FILEFLAGSMASK 0x3FL
 #ifdef EMACSDEBUG
  FILEFLAGS 0x1L
@@ -23,12 +23,12 @@ BEGIN
        BEGIN
            VALUE "CompanyName", "Free Software Foundation\0"
            VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
-           VALUE "FileVersion", "24, 0, 91, 0\0"
+           VALUE "FileVersion", "24, 0, 92, 0\0"
            VALUE "InternalName", "EmacsClient\0"
            VALUE "LegalCopyright", "Copyright (C) 2001-2011\0"
            VALUE "OriginalFilename", "emacsclientw.exe"
            VALUE "ProductName", "EmacsClient\0"
-           VALUE "ProductVersion", "24, 0, 91, 0\0"
+           VALUE "ProductVersion", "24, 0, 92, 0\0"
            VALUE "OLESelfRegister", "\0"
         END
      END
index 194f0759bbf3181411e5853ff98def49f52ab538..a474e34eaa5bc825b811318baf4eb89b015d031e 100644 (file)
@@ -22,7 +22,7 @@
 # FIXME: This file uses DOS EOLs.  Convert to Unix after 22.1 is out\r
 #        (and remove or replace this comment).\r
 \r
-VERSION                = 24.0.91\r
+VERSION                = 24.0.92\r
 \r
 TMP_DIST_DIR   = emacs-$(VERSION)\r
 \r
index 760bf575da550d0ee59ec3e017629791ef9f77fc..69e3eda2630dd631cb533c4f35b8ca0dc95ddb89 100644 (file)
        (encode_coding_iso_2022, encode_coding_sjis)
        (encode_coding_big5, encode_coding_charset): Use the above macros.
 
+2011-12-05  Juanma Barranquero  <lekktu@gmail.com>
+
+       * lisp.h (process_quit_flag): Fix external declaration.
+
+2011-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       Don't macro-inline non-performance-critical code.
+       * eval.c (process_quit_flag): New function.
+       * lisp.h (QUIT): Use it.
+
+2011-12-04  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (get_geometry_from_preferences): New function.
+       (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
+
+2011-12-04  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * emacs.c (Qkill_emacs): Define.
+       (syms_of_emacs): Initialize it.
+       * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
+       Qquit_flag to `kill-emacs' instead.
+       (quit_throw_to_read_char): Add parameter `from_signal'.
+       All callers changed.  Call Fkill_emacs if requested and safe.
+       * lisp.h (QUIT): Call Fkill_emacs if requested.
+
+2011-12-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * widget.c (update_wm_hints): Return if wmshell is null.
+       (widget_update_wm_size_hints): New function.
+
+       * widget.h (widget_update_wm_size_hints): Declare.
+
+       * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
+       widget_update_wm_size_hints (Bug#10104).
+
+2011-12-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (handle_invisible_prop): If the invisible text ends just
+       before a newline, prepare the bidi iterator for consuming the
+       newline, and keep the current paragraph direction.  (Bug#10183)
+       (redisplay_window): Don't let `margin' become negative.  (Bug#10192)
+
+2011-12-02  Juri Linkov  <juri@jurta.org>
+
+       * search.c (Fword_search_regexp): New Lisp function created from
+       `wordify'.  Change type of arg `lax' from `int' to `Lisp_Object'.
+       (Fword_search_backward, Fword_search_forward)
+       (Fword_search_backward_lax, Fword_search_forward_lax):
+       Use `Fword_search_regexp' instead of `wordify'.  Doc fix.
+       (syms_of_search): Define `Sword_search_regexp'.  (Bug#10145)
+
+2011-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fileio.c (Finsert_file_contents): Move after-change-function call
+       to before the "handled:" label, since all "goto handled" appear in
+       cases where the *-change-functions have already been properly called
+       (bug#10117).
+
+2011-12-01  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * keyboard.c (interrupt_signal): Don't call kill-emacs when
+       waiting for input.  (Bug#10169)
+
+2011-11-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispnew.c (adjust_glyph_matrix): Remove the assertion that
+       verifies glyph row's hash code--we have just reallocated the
+       glyphs, so their contents can be complete garbage.  (Bug#10164)
+
+2011-11-30  Juanma Barranquero  <lekktu@gmail.com>
+
+       * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
+
+2011-11-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
+       attributes are tested _before_ calling verify_row_hash, to protect
+       against GCC re-ordering of the tests.  (Bug#10164)
+
 2011-11-29  Jan Djärv  <jan.h.d@swipnet.se>
 
        * xterm.h (struct x_output): net_wm_state_hidden_seen is new.
 
        * xterm.c (handle_one_xevent): Only set async_visible and friends
        if net_wm_state_hidden_seen is non-zero (Bug#10002)
-       (get_current_wm_state):  Set net_wm_state_hidden_seen to 1 if
+       (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
        _NET_WM_STATE_HIDDEN is in NET_WM_STATE.
 
 2011-11-28  Paul Eggert  <eggert@cs.ucla.edu>
 
 2011-11-27  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * gtkutil.c (xg_create_frame_widgets): Call
-       gtk_window_set_has_resize_grip (FALSE) if that function is
+       * gtkutil.c (xg_create_frame_widgets):
+       Call gtk_window_set_has_resize_grip (FALSE) if that function is
        present with Gtk+ 2.0.
 
 2011-11-26  Paul Eggert  <eggert@cs.ucla.edu>
        * xdisp.c (display_line): Move the call to
        highlight_trailing_whitespace before the call to
        compute_line_metrics, since the latter needs to see the final
-       faces of all the glyphs to compute ROW's hash value.  Fixes
-       assertion violations in row_equal_p.  (Bug#10035)
+       faces of all the glyphs to compute ROW's hash value.
+       Fixes assertion violations in row_equal_p.  (Bug#10035)
 
 2011-11-14  Juanma Barranquero  <lekktu@gmail.com>
 
 2011-11-08  Chong Yidong  <cyd@gnu.org>
 
        * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
-       (Fwindow_body_height, Fwindow_body_width): Move from Lisp.  Signal
-       an error if not a live window.
+       (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
+       Signal an error if not a live window.
        (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
        (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
 
        (x_destroy_window): Move code to x_free_frame_resources.
 
        * xfns.c (unwind_create_frame): Fix comment.
-       (Fx_create_frame, x_create_tip_frame): Move
-       terminal->reference_count++ just before making the frame
+       (Fx_create_frame, x_create_tip_frame):
+       Move terminal->reference_count++ just before making the frame
        official. Move initialization of image_cache_refcount and
        dpyinfo_refcount before calling init_frame_faces (Bug#9943).
 
        * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
        Don't stop backward scan on the continuation glyph, even though
        its CHARPOS is positive.
-       (mouse_face_from_buffer_pos, note_mouse_highlight): Rename
-       cover_string to disp_string.
+       (mouse_face_from_buffer_pos, note_mouse_highlight):
+       Rename cover_string to disp_string.
 
 2011-11-01  Martin Rudalics  <rudalics@gmx.at>
 
        (xg_set_widget_bg): New function.
        (delete_cb): New function.
        (xg_create_frame_widgets): Connect delete-event to delete_cb.
-       Call xg_set_widget_bg.  Only set backgrund pixmap for ! HAVE_GTK3
+       Call xg_set_widget_bg.  Only set background pixmap for ! HAVE_GTK3
        (xg_set_background_color): Call xg_set_widget_bg.
        (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
        (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
index 7d2f48a03ea562a0c446055b946436d3776fd8b2..e759183724e3a3b58e1196125614ffeed281644d 100644 (file)
        * w32fns.c (current_popup_menu): Use from w32menu.c.
        (w32_wnd_proc) <WM_EXITMENULOOP, WM_TIMER>: Use menubar_active
        and current_popup_menu to determine whether a menubar menu has
-       been cancelled.
+       been canceled.
 
        * w32term.h (w32_output): Remove menu_command_in_progress.
 
index 7c46dea675c3fdc99fae972458a2e469ac05c527..f9fd442da3f0edd835a3666f994f7218c034cf73 100644 (file)
        * font.c (font_prop_validate_symbol, font_prop_validate_style)
        (font_prop_validate_non_neg, font_prop_validate_spacing):
        Delete argument prop_index.
-       (font_property_table): Change arguments to validater.  Change Callers.
+       (font_property_table): Change arguments to validator.  Change Callers.
        (font_lispy_object): Delete.
        (font_at): Use font_find_object instead fo font_lispy_object.
 
index 62e3de22b099b6e2c2fa000d1dec94bad5133f8b..ba61c337efc2a4ed67b6e0be135981ee77a12bd2 100644 (file)
 1987-03-13  Richard M. Stallman  (rms@prep)
 
        * sysdep.c: Don't redefine TCSETAW if already defined.
-       (Cancelled by change on March 17).
+       (Canceled by change on March 17).
 
        * sunfns.c: New file containing interface to Sun windows.
        This is enabled by the switch HAVE_SUN_WINDOWS.
index 2f3ee45a1ac91e1f2acf0f5eebc483be2536b6ae..6a48b09e64ba29d2aa6fdbe181dcf9c588916f38 100644 (file)
        quit_char is typed, in order to break out of potential deadlocks.
        (cancel_all_deferred_msgs): New function.
        (complete_deferred_msg): Don't abort if msg not found; may have
-       been cancelled.
+       been canceled.
        (Fw32_reconstruct_hot_key): Use pre-interned symbols.
        (Fw32_send_sys_command): Wait for system command to
        complete before returning.
        * ccl.c (CCL_WRITE_CHAR): Don't use bcopy.
        (ccl_driver): If BUFFER-MAGNIFICATION of the CCL program is 0,
        cause error if the program is going to output some bytes.  When
-       outputing a string to notify an error, check the case that
+       outputting a string to notify an error, check the case that
        DST_BYTES is zero.
 
        * coding.h (CODING_FINISH_INTERRUPT): New macro.
index b7228a4d1cd85d64dfc2a1346198526c441e0431..491b925d75ca99c836095fab34976bc67e629df0 100644 (file)
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -552,7 +552,7 @@ static Lisp_Object Vccl_program_table;
    But, when VALm is mapped to VALn and VALn is not a number, the
    mapping proceed as below:
 
-   If VALn is nil, the lastest map is ignored and the mapping of VALm
+   If VALn is nil, the last map is ignored and the mapping of VALm
    proceed to the next map.
 
    In VALn is t, VALm is reverted to reg[rrr] and the mapping of VALm
index dbf0820b94ca07c76d0760501a87ba526488049e..a8c7e0d7c4bcd8e0d22d4e9b0434359d4d5ccdeb 100644 (file)
--- a/src/cm.h
+++ b/src/cm.h
@@ -16,7 +16,7 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
-/* Holds the minimum and maximum costs for the parametrized capabilities.  */
+/* Holds the minimum and maximum costs for the parameterized capabilities.  */
 struct parmcap
   {
     int mincost, maxcost;
@@ -79,7 +79,7 @@ struct cm
     struct parmcap cc_multiright; /* multiple right (RI) */
 #endif
 
-    /* Costs for the non-parametrized capabilities */
+    /* Costs for the non-parameterized capabilities */
     int cc_up;                 /* cost for up */
     int cc_down;               /* etc. */
     int cc_left;
index 99a766a915acda1c8b49bdb6cd2252afbdc8b059..b174307663030780f6216eded6a3c48b11d0e3d6 100644 (file)
@@ -9300,7 +9300,7 @@ frame's terminal device.  */)
     = TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1));
   Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id);
 
-  /* For backward compatibility, return nil if it is `undecided'. */
+  /* For backward compatibility, return nil if it is `undecided'.  */
   return (! EQ (coding_system, Qundecided) ? coding_system : Qnil);
 }
 
index 2621928adc31b3d58bfdae375f12a49c02806102..b694e6c6b6ea31ca9251ef9bd2d50b3be1b19d8a 100644 (file)
@@ -457,7 +457,7 @@ struct coding_system
   /* Number of error source data found in a decoding routine.  */
   int errors;
 
-  /* Store the positions of error source data. */
+  /* Store the positions of error source data.  */
   EMACS_INT *error_positions;
 
   /* Finish status of code conversion.  */
index c9e4ec5c20e36b4a4f9babd31c760397e7b37b63..2c0e74d0dde851efa09b32da6937835533fe900a 100644 (file)
@@ -608,9 +608,6 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
                  row->glyphs[LAST_AREA]
                    = row->glyphs[LEFT_MARGIN_AREA] + dim.width;
                }
-             xassert (!row->enabled_p
-                      || row->mode_line_p
-                      || verify_row_hash (row));
              ++row;
            }
        }
index 529fa35a5bd1f8068a88405af48e7243afd7dd71..6bfc0dc60d0f42dffe991a297fdba2065cbcb2b2 100644 (file)
@@ -154,6 +154,8 @@ Lisp_Object Qfile_name_handler_alist;
 
 Lisp_Object Qrisky_local_variable;
 
+Lisp_Object Qkill_emacs;
+
 /* If non-zero, Emacs should not attempt to use a window-specific code,
    but instead should use the virtual terminal under which it was started.  */
 int inhibit_window_system;
@@ -2394,6 +2396,7 @@ syms_of_emacs (void)
 {
   DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist");
   DEFSYM (Qrisky_local_variable, "risky-local-variable");
+  DEFSYM (Qkill_emacs, "kill-emacs");
 
 #ifndef CANNOT_DUMP
   defsubr (&Sdump_emacs);
index aef1ffdf7838b5b6a3d2e8b8ab1eb87403775e55..d9084bf9a98ec21bb7d69840432592d3f7e23886 100644 (file)
@@ -1,4 +1,4 @@
-/* A Gtk Widget that inherits GtkFixed, but can be shrinked.
+/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
 This file is only use when compiling with Gtk+ 3.
 
 Copyright (C) 2011  Free Software Foundation, Inc.
index dbac136bd7faa83afc6c9eb30ee6807d01aa4861..c70e9a3efe373dbf10c9e67288b51a9ce3160d70 100644 (file)
@@ -1,4 +1,4 @@
-/* A Gtk Widget that inherits GtkFixed, but can be shrinked.
+/* A Gtk Widget that inherits GtkFixed, but can be shrunk.
 This file is only use when compiling with Gtk+ 3.
 
 Copyright (C) 2011  Free Software Foundation, Inc.
index 32b9d366fc3b8621100ac15a2ce13bbd5d7ee7d5..079c7ecb6c2306f6ddbc062c3bb27cde9cb1979b 100644 (file)
@@ -1629,6 +1629,18 @@ static Lisp_Object find_handler_clause (Lisp_Object, Lisp_Object);
 static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig,
                                Lisp_Object data);
 
+void
+process_quit_flag (void)
+{
+  Lisp_Object flag = Vquit_flag;
+  Vquit_flag = Qnil;
+  if (EQ (flag, Qkill_emacs))
+    Fkill_emacs (Qnil);
+  if (EQ (Vthrow_on_input, flag))
+    Fthrow (Vthrow_on_input, Qt);
+  Fsignal (Qquit, Qnil);
+}
+
 DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0,
        doc: /* Signal an error.  Args are ERROR-SYMBOL and associated DATA.
 This function does not return.
@@ -3733,7 +3745,7 @@ When lexical binding is not being used, this variable is nil.
 A value of `(t)' indicates an empty environment, otherwise it is an
 alist of active lexical bindings.  */);
   Vinternal_interpreter_environment = Qnil;
-  /* Don't export this variable to Elisp, so noone can mess with it
+  /* Don't export this variable to Elisp, so no one can mess with it
      (Just imagine if someone makes it buffer-local).  */
   Funintern (Qinternal_interpreter_environment, Qnil);
 
index 5f7a8ad39726904b3e2e1e8f40706e30bb15793c..c0f6c1d2e8e6a6e44614f64d966a14b6740939aa 100644 (file)
@@ -4100,6 +4100,16 @@ variable `last-coding-system-used' to the coding system actually used.  */)
     adjust_after_insert (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted,
                         inserted);
 
+  /* Call after-change hooks for the inserted text, aside from the case
+     of normal visiting (not with REPLACE), which is done in a new buffer
+     "before" the buffer is changed.  */
+  if (inserted > 0 && total > 0
+      && (NILP (visit) || !NILP (replace)))
+    {
+      signal_after_change (PT, 0, inserted);
+      update_compositions (PT, PT, CHECK_BORDER);
+    }
+
   /* Now INSERTED is measured in characters.  */
 
  handled:
@@ -4270,16 +4280,6 @@ variable `last-coding-system-used' to the coding system actually used.  */)
       unbind_to (count1, Qnil);
     }
 
-  /* Call after-change hooks for the inserted text, aside from the case
-     of normal visiting (not with REPLACE), which is done in a new buffer
-     "before" the buffer is changed.  */
-  if (inserted > 0 && total > 0
-      && (NILP (visit) || !NILP (replace)))
-    {
-      signal_after_change (PT, 0, inserted);
-      update_compositions (PT, PT, CHECK_BORDER);
-    }
-
   if (!NILP (visit)
       && current_buffer->modtime == -1)
     {
index 35f5703e32ef122b56149fedca9a1ea69dcbf410..6ab65281a48b3051608d8fd87a9c2562069fcaae 100644 (file)
@@ -614,7 +614,7 @@ static const struct
   /* Function to validate PROP's value VAL, or NULL if any value is
      ok.  The value is VAL or its regularized value if VAL is valid,
      and Qerror if not.  */
-  Lisp_Object (*validater) (Lisp_Object prop, Lisp_Object val);
+  Lisp_Object (*validator) (Lisp_Object prop, Lisp_Object val);
 } font_property_table[] =
   { { &QCtype, font_prop_validate_symbol },
     { &QCfoundry, font_prop_validate_symbol },
@@ -672,7 +672,7 @@ font_prop_validate (int idx, Lisp_Object prop, Lisp_Object val)
       if (idx < 0)
        return val;
     }
-  validated = (font_property_table[idx].validater) (prop, val);
+  validated = (font_property_table[idx].validator) (prop, val);
   if (EQ (validated, Qerror))
     signal_error ("invalid font property", Fcons (prop, val));
   return validated;
@@ -825,7 +825,7 @@ font_expand_wildcards (Lisp_Object *field, int n)
     range_mask = (range_mask << 1) | 1;
 
   /* The triplet RANGE_FROM, RANGE_TO, and RANGE_MASK is a
-     position-based retriction for FIELD[I].  */
+     position-based restriction for FIELD[I].  */
   for (i = 0, range_from = 0, range_to = 14 - n; i < n;
        i++, range_from++, range_to++, range_mask <<= 1)
     {
@@ -842,7 +842,7 @@ font_expand_wildcards (Lisp_Object *field, int n)
       else
        {
          /* The triplet FROM, TO, and MASK is a value-based
-            retriction for FIELD[I].  */
+            restriction for FIELD[I].  */
          int from, to;
          unsigned mask;
 
index 7592521cc7d1dfea73009f22f1c9fdac3714a842..605d807aa3c95da7fa06791f74d0756a8d133a83 100644 (file)
@@ -166,7 +166,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    These structures are hidden from the other codes than this file.
    The other codes handle fontsets only by their ID numbers.  They
    usually use the variable name `fontset' for IDs.  But, in this
-   file, we always use varialbe name `id' for IDs, and name `fontset'
+   file, we always use variable name `id' for IDs, and name `fontset'
    for an actual fontset object, i.e., char-table.
 
 */
index 039ed6543cb3aa1fc5f402f8c6226de5db676faa..bd97c5f18c76545c53afc80f182c919a50c060fc 100644 (file)
@@ -1929,7 +1929,7 @@ request a switch to FOCUS-FRAME, and `last-event-frame' will be
 FOCUS-FRAME after reading an event typed at FRAME.
 
 If FOCUS-FRAME is omitted or nil, any existing redirection is
-cancelled, and the frame again receives its own keystrokes.
+canceled, and the frame again receives its own keystrokes.
 
 Focus redirection is useful for temporarily redirecting keystrokes to
 a surrogate minibuffer frame when a frame doesn't have its own
index 5c540f9bf8211a81db1026d8d743363231dc72f7..c48346b0147d4f64083b5332d2034d8983d63a47 100644 (file)
@@ -1462,7 +1462,7 @@ ftfont_get_bitmap (struct font *font, unsigned int code, struct font_bitmap *bit
        : ft_face->glyph->bitmap.pixel_mode == FT_PIXEL_MODE_LCD_V ? 8
        : -1);
   if (bitmap->bits_per_pixel < 0)
-    /* We don't suport that kind of pixel mode.  */
+    /* We don't support that kind of pixel mode.  */
     return -1;
   bitmap->rows = ft_face->glyph->bitmap.rows;
   bitmap->width = ft_face->glyph->bitmap.width;
index e74c7ca1c68c2d57919a83bdc06589ae7f64401c..a114e495cf7458b005c11811950673a79f79aa00 100644 (file)
@@ -464,7 +464,7 @@ static void input_available_signal (int signo);
 static Lisp_Object (Fcommand_execute) (Lisp_Object, Lisp_Object, Lisp_Object,
                                       Lisp_Object);
 static void handle_interrupt (void);
-static void quit_throw_to_read_char (void) NO_RETURN;
+static void quit_throw_to_read_char (int) NO_RETURN;
 static void timer_start_idle (void);
 static void timer_stop_idle (void);
 static void timer_resume_idle (void);
@@ -653,7 +653,7 @@ echo_now (void)
   echo_kboard = current_kboard;
 
   if (waiting_for_input && !NILP (Vquit_flag))
-    quit_throw_to_read_char ();
+    quit_throw_to_read_char (0);
 }
 
 /* Turn off echoing, for the start of a new command.  */
@@ -3817,7 +3817,7 @@ kbd_buffer_get_event (KBOARD **kbp,
       /* If the quit flag is set, then read_char will return
         quit_char, so that counts as "available input."  */
       if (!NILP (Vquit_flag))
-       quit_throw_to_read_char ();
+       quit_throw_to_read_char (0);
 
       /* One way or another, wait until input is available; then, if
         interrupt handlers have not read it, read it now.  */
@@ -10824,7 +10824,7 @@ set_waiting_for_input (struct timeval *time_to_clear)
   /* If handle_interrupt was called before and buffered a C-g,
      make it run again now, to avoid timing error.  */
   if (!NILP (Vquit_flag))
-    quit_throw_to_read_char ();
+    quit_throw_to_read_char (0);
 }
 
 void
@@ -10839,7 +10839,7 @@ clear_waiting_for_input (void)
 
    If we have a frame on the controlling tty, we assume that the
    SIGINT was generated by C-g, so we call handle_interrupt.
-   Otherwise, the handler kills Emacs.  */
+   Otherwise, tell QUIT to kill Emacs.  */
 
 static void
 interrupt_signal (int signalnum)       /* If we don't have an argument, some */
@@ -10856,12 +10856,10 @@ interrupt_signal (int signalnum)      /* If we don't have an argument, some */
   if (!terminal)
     {
       /* If there are no frames there, let's pretend that we are a
-         well-behaving UN*X program and quit.  We cannot do that while
-         GC is in progress, though.  */
-      if (!gc_in_progress)
-       Fkill_emacs (Qnil);
-      else
-       Vquit_flag = Qt;
+         well-behaving UN*X program and quit.  We must not call Lisp
+         in a signal handler, so tell QUIT to exit when it is
+         safe.  */
+      Vquit_flag = Qkill_emacs;
     }
   else
     {
@@ -11010,15 +11008,20 @@ handle_interrupt (void)
          separate event loop thread like W32.  */
 #ifndef HAVE_NS
   if (waiting_for_input && !echoing)
-      quit_throw_to_read_char ();
+      quit_throw_to_read_char (1);
 #endif
 }
 
 /* Handle a C-g by making read_char return C-g.  */
 
 static void
-quit_throw_to_read_char (void)
+quit_throw_to_read_char (int from_signal)
 {
+  /* When not called from a signal handler it is safe to call
+     Lisp.  */
+  if (!from_signal && EQ (Vquit_flag, Qkill_emacs))
+    Fkill_emacs (Qnil);
+
   sigfree ();
   /* Prevent another signal from doing this before we finish.  */
   clear_waiting_for_input ();
@@ -12245,7 +12248,7 @@ text in the region before modifying the buffer.  The next
   DEFVAR_LISP ("debug-on-event",
                Vdebug_on_event,
                doc: /* Enter debugger on this event.  When Emacs
-receives the special event specifed by this variable, it will try to
+receives the special event specified by this variable, it will try to
 break into the debugger as soon as possible instead of processing the
 event normally through `special-event-map'.
 
index e645fbd65a55ab98310f5fcff647e50bdd6c5c06..a80d39765e0452cc3ab05f760784d84bd7047133 100644 (file)
@@ -2128,7 +2128,10 @@ extern char *stack_bottom;
    Exception: if you set immediate_quit to nonzero,
    then the handler that responds to the C-g does the quit itself.
    This is a good thing to do around a loop that has no side effects
-   and (in particular) cannot call arbitrary Lisp code.  */
+   and (in particular) cannot call arbitrary Lisp code.
+
+   If quit-flag is set to `kill-emacs' the SIGINT handler has received
+   a request to exit Emacs when it is safe to do.  */
 
 #ifdef SYNC_INPUT
 extern void process_pending_signals (void);
@@ -2140,16 +2143,11 @@ extern int pending_signals;
 #define ELSE_PENDING_SIGNALS
 #endif /* not SYNC_INPUT */
 
+extern void process_quit_flag (void);
 #define QUIT                                           \
   do {                                                 \
     if (!NILP (Vquit_flag) && NILP (Vinhibit_quit))    \
-      {                                                        \
-        Lisp_Object flag = Vquit_flag;                 \
-       Vquit_flag = Qnil;                              \
-       if (EQ (Vthrow_on_input, flag))                 \
-         Fthrow (Vthrow_on_input, Qt);                 \
-       Fsignal (Qquit, Qnil);                          \
-      }                                                        \
+      process_quit_flag ();                            \
     ELSE_PENDING_SIGNALS                               \
   } while (0)
 
@@ -3291,6 +3289,7 @@ extern Lisp_Object Qfile_name_handler_alist;
 #ifdef FLOAT_CATCH_SIGILL
 extern void fatal_error_signal (int);
 #endif
+extern Lisp_Object Qkill_emacs;
 EXFUN (Fkill_emacs, 1) NO_RETURN;
 #if HAVE_SETLOCALE
 void fixup_locale (void);
index 280fee0b27b6057952e35c2581e30e24074fb0a2..482650fab2bb6fbb5196c017c5e7b01ecea37255 100644 (file)
@@ -1076,7 +1076,41 @@ unwind_create_frame (Lisp_Object frame)
   return Qnil;
 }
 
+/*
+ * Read geometry related parameters from preferences if not in PARMS.
+ * Returns the union of parms and any preferences read.
+ */
+
+static Lisp_Object
+get_geometry_from_preferences (struct ns_display_info *dpyinfo,
+                               Lisp_Object parms)
+{
+  struct {
+    const char *val;
+    const char *cls;
+    Lisp_Object tem;
+  } r[] = {
+    { "width",  "Width", Qwidth },
+    { "height", "Height", Qheight },
+    { "left", "Left", Qleft },
+    { "top", "Top", Qtop },
+  };
+
+  int i;
+  for (i = 0; i < sizeof (r)/sizeof (r[0]); ++i)
+    {
+      if (NILP (Fassq (r[i].tem, parms)))
+        {
+          Lisp_Object value
+            = x_get_arg (dpyinfo, parms, r[i].tem, r[i].val, r[i].cls,
+                         RES_TYPE_NUMBER);
+          if (! EQ (value, Qunbound))
+            parms = Fcons (Fcons (r[i].tem, value), parms);
+        }
+    }
 
+  return parms;
+}
 
 /* ==========================================================================
 
@@ -1285,6 +1319,7 @@ This function is an internal primitive--use `make-frame' instead.  */)
   x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title",
                        RES_TYPE_STRING);
 
+  parms = get_geometry_from_preferences (dpyinfo, parms);
   window_prompting = x_figure_window_size (f, parms, 1);
 
   tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN);
index fe4ce534b0b415569dc57f2ce7b60c5e79f89e4a..811ac74e1943c5162398cdbdb78b4b63d4e4b335 100644 (file)
@@ -83,11 +83,10 @@ static struct re_registers search_regs;
    Qnil if no searching has been done yet.  */
 static Lisp_Object last_thing_searched;
 
-/* error condition signaled when regexp compile_pattern fails */
-
+/* Error condition signaled when regexp compile_pattern fails.  */
 static Lisp_Object Qinvalid_regexp;
 
-/* Error condition used for failing searches */
+/* Error condition used for failing searches */
 static Lisp_Object Qsearch_failed;
 
 static void set_search_regs (EMACS_INT, EMACS_INT);
@@ -2078,13 +2077,16 @@ set_search_regs (EMACS_INT beg_byte, EMACS_INT nbytes)
   XSETBUFFER (last_thing_searched, current_buffer);
 }
 \f
-/* Given STRING, a string of words separated by word delimiters,
-   compute a regexp that matches those exact words separated by
-   arbitrary punctuation.  If LAX is nonzero, the end of the string
-   need not match a word boundary unless it ends in whitespace.  */
-
-static Lisp_Object
-wordify (Lisp_Object string, int lax)
+DEFUN ("word-search-regexp", Fword_search_regexp, Sword_search_regexp, 1, 2, 0,
+       doc: /* Return a regexp which matches words, ignoring punctuation.
+Given STRING, a string of words separated by word delimiters,
+compute a regexp that matches those exact words separated by
+arbitrary punctuation.  If LAX is non-nil, the end of the string
+need not match a word boundary unless it ends in whitespace.
+
+Used in `word-search-forward', `word-search-backward',
+`word-search-forward-lax', `word-search-backward-lax'.  */)
+  (Lisp_Object string, Lisp_Object lax)
 {
   register unsigned char *o;
   register EMACS_INT i, i_byte, len, punct_count = 0, word_count = 0;
@@ -2125,7 +2127,7 @@ wordify (Lisp_Object string, int lax)
     }
 
   adjust = - punct_count + 5 * (word_count - 1)
-    + ((lax && !whitespace_at_end) ? 2 : 4);
+    + ((!NILP (lax) && !whitespace_at_end) ? 2 : 4);
   if (STRING_MULTIBYTE (string))
     val = make_uninit_multibyte_string (len + adjust,
                                        SBYTES (string)
@@ -2162,7 +2164,7 @@ wordify (Lisp_Object string, int lax)
       prev_c = c;
     }
 
-  if (!lax || whitespace_at_end)
+  if (NILP (lax) || whitespace_at_end)
     {
       *o++ = '\\';
       *o++ = 'b';
@@ -2217,10 +2219,14 @@ An optional second argument bounds the search; it is a buffer position.
 The match found must not extend before that position.
 Optional third argument, if t, means if fail just return nil (no error).
   If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences.  */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation.  */)
   (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
 {
-  return search_command (wordify (string, 0), bound, noerror, count, -1, 1, 0);
+  return search_command (Fword_search_regexp (string, Qnil), bound, noerror, count, -1, 1, 0);
 }
 
 DEFUN ("word-search-forward", Fword_search_forward, Sword_search_forward, 1, 4,
@@ -2231,10 +2237,14 @@ An optional second argument bounds the search; it is a buffer position.
 The match found must not extend after that position.
 Optional third argument, if t, means if fail just return nil (no error).
   If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences.  */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation.  */)
   (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
 {
-  return search_command (wordify (string, 0), bound, noerror, count, 1, 1, 0);
+  return search_command (Fword_search_regexp (string, Qnil), bound, noerror, count, 1, 1, 0);
 }
 
 DEFUN ("word-search-backward-lax", Fword_search_backward_lax, Sword_search_backward_lax, 1, 4,
@@ -2249,10 +2259,14 @@ An optional second argument bounds the search; it is a buffer position.
 The match found must not extend before that position.
 Optional third argument, if t, means if fail just return nil (no error).
   If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences.  */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation.  */)
   (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
 {
-  return search_command (wordify (string, 1), bound, noerror, count, -1, 1, 0);
+  return search_command (Fword_search_regexp (string, Qt), bound, noerror, count, -1, 1, 0);
 }
 
 DEFUN ("word-search-forward-lax", Fword_search_forward_lax, Sword_search_forward_lax, 1, 4,
@@ -2267,10 +2281,14 @@ An optional second argument bounds the search; it is a buffer position.
 The match found must not extend after that position.
 Optional third argument, if t, means if fail just return nil (no error).
   If not nil and not t, move to limit of search and return nil.
-Optional fourth argument is repeat count--search for successive occurrences.  */)
+Optional fourth argument is repeat count--search for successive occurrences.
+
+Relies on the function `word-search-regexp' to convert a sequence
+of words in STRING to a regexp used to search words without regard
+to punctuation.  */)
   (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
 {
-  return search_command (wordify (string, 1), bound, noerror, count, 1, 1, 0);
+  return search_command (Fword_search_regexp (string, Qt), bound, noerror, count, 1, 1, 0);
 }
 
 DEFUN ("re-search-backward", Fre_search_backward, Sre_search_backward, 1, 4,
@@ -3229,6 +3247,7 @@ is to bind it with `let' around a small expression.  */);
   defsubr (&Sposix_string_match);
   defsubr (&Ssearch_forward);
   defsubr (&Ssearch_backward);
+  defsubr (&Sword_search_regexp);
   defsubr (&Sword_search_forward);
   defsubr (&Sword_search_backward);
   defsubr (&Sword_search_forward_lax);
index ae200308bf3ed9c9733aed0373dab8b19d0d10ce..b111fa1324ca01eb8af76bcc3af36c0cc8eb6cce 100644 (file)
@@ -433,7 +433,7 @@ child_setup_tty (int out)
 #endif /* AIX */
 
   /* We originally enabled ICANON (and set VEOF to 04), and then had
-     proces.c send additional EOF chars to flush the output when faced
+     process.c send additional EOF chars to flush the output when faced
      with long lines, but this leads to weird effects when the
      subprocess has disabled ICANON and ends up seeing those spurious
      extra EOFs.  So we don't send EOFs any more in
index 4a671d048c40f006eac4d6432c6e050ef770b0ac..ae505f020f2a42f77c7ac08416c617ac6a27ce7c 100644 (file)
@@ -3236,7 +3236,7 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
   MultiLeft (tty) = tgetstr ("LE", address);
   MultiRight (tty) = tgetstr ("RI", address);
 
-  /* SVr4/ANSI color suppert.  If "op" isn't available, don't support
+  /* SVr4/ANSI color support.  If "op" isn't available, don't support
      color because we can't switch back to the default foreground and
      background.  */
   tty->TS_orig_pair = tgetstr ("op", address);
index 7a17c108d4df1fa4c857387f927394de69d968c9..822e3530bb671553a006eba5c1816410f6275783 100644 (file)
@@ -2417,7 +2417,7 @@ complete_deferred_msg (HWND hwnd, UINT msg, LRESULT result)
   deferred_msg * msg_buf = find_deferred_msg (hwnd, msg);
 
   if (msg_buf == NULL)
-    /* Message may have been cancelled, so don't abort.  */
+    /* Message may have been canceled, so don't abort.  */
     return;
 
   msg_buf->result = result;
@@ -2538,7 +2538,7 @@ post_character_message (HWND hwnd, UINT msg,
            the lisp thread to respond.
 
           Note that we don't want to block the input thread waiting for
-          a reponse from the lisp thread (although that would at least
+          a response from the lisp thread (although that would at least
           solve the deadlock problem above), because we want to be able
           to receive C-g to interrupt the lisp thread.  */
        cancel_all_deferred_msgs ();
@@ -3749,7 +3749,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
          flags |= TPM_RIGHTBUTTON;
 
        /* Remember we did a SetCapture on the initial mouse down event,
-          so for safety, we make sure the capture is cancelled now.  */
+          so for safety, we make sure the capture is canceled now.  */
        ReleaseCapture ();
        button_state = 0;
 
@@ -4951,7 +4951,7 @@ If TYPE is nil or omitted, get the property as a string.
 Otherwise TYPE is the name of the atom that denotes the type expected.
 If SOURCE is non-nil, get the property on that window instead of from
 FRAME.  The number 0 denotes the root window.
-If DELETE_P is non-nil, delete the property after retreiving it.
+If DELETE_P is non-nil, delete the property after retrieving it.
 If VECTOR_RET_P is non-nil, don't return a string but a vector of values.
 
 Value is nil if FRAME hasn't a property with name PROP or if PROP has
@@ -6032,7 +6032,7 @@ Otherwise, if ONLY-DIR-P is non-nil, the user can only select directories.  */)
 
        file = DECODE_FILE (build_string (filename));
       }
-    /* User cancelled the dialog without making a selection.  */
+    /* User canceled the dialog without making a selection.  */
     else if (!CommDlgExtendedError ())
       file = Qnil;
     /* An error occurred, fallback on reading from the mini-buffer.  */
index 6c73daba601ef987da1383f7b1d48e22b759085f..f587ee11af9ac96bcd9251674a9be83f56d469be 100644 (file)
@@ -229,7 +229,7 @@ enum
 {
   /* Values for focus_state, used as bit mask.
      EXPLICIT means we received a FocusIn for the frame and know it has
-     the focus.  IMPLICIT means we recevied an EnterNotify and the frame
+     the focus.  IMPLICIT means we received an EnterNotify and the frame
      may have the focus if no window manager is running.
      FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
   FOCUS_NONE     = 0,
index 181811b836927e0730bc3296101ec64dfb068309..96bfd4787e9175db3b57ef2a6390d24322ebcc8c 100644 (file)
@@ -476,6 +476,9 @@ update_wm_hints (EmacsFrame ew)
   int base_height;
   int min_rows = 0, min_cols = 0;
 
+  /* This happens when the frame is just created.  */
+  if (! wmshell) return;
+
 #if 0
   check_frame_size (ew->emacs_frame.frame, &min_rows, &min_cols);
 #endif
@@ -506,6 +509,14 @@ update_wm_hints (EmacsFrame ew)
                 NULL);
 }
 
+void
+widget_update_wm_size_hints (Widget widget)
+{
+  EmacsFrame ew = (EmacsFrame)widget;
+  update_wm_hints (ew);
+}
+
+
 #if 0
 
 static void
index b5b4147b1676742bce8f0b7e319985da0367e816..11041d54ad049b7e36cdf22986228e775a47770a 100644 (file)
@@ -95,5 +95,6 @@ extern struct _DisplayContext* display_context;
 /* Special entry points */
 void EmacsFrameSetCharSize (Widget, int, int);
 void widget_store_internal_border (Widget widget);
+void widget_update_wm_size_hints (Widget widget);
 
 #endif /* _EmacsFrame_h */
index af4fad054a2f36bf82924cadd13d5401788cfdd5..b908749ea4a92ff0dfc41a8fbc43a09b71fb3a28 100644 (file)
@@ -5767,7 +5767,7 @@ get_leaf_windows (struct window *w, struct window **flat, int i)
 
 
 /* Return a pointer to the glyph W's physical cursor is on.  Value is
-   null if W's current matrix is invalid, so that no meaningfull glyph
+   null if W's current matrix is invalid, so that no meaningful glyph
    can be returned.  */
 struct glyph *
 get_phys_cursor_glyph (struct window *w)
index df29ca1368ff95e24c8881504380efdbeaf9bc41..b4e268b1a349e0264b1756b3a05588f19a129668 100644 (file)
@@ -877,7 +877,7 @@ extern int buffer_shared;
 extern void check_frame_size (struct frame *frame, int *rows, int *cols);
 
 /* Return a pointer to the glyph W's physical cursor is on.  Value is
-   null if W's current matrix is invalid, so that no meaningfull glyph
+   null if W's current matrix is invalid, so that no meaningful glyph
    can be returned.  */
 
 struct glyph *get_phys_cursor_glyph (struct window *w);
index c9b9b5c5e88e5e7cb6b993f30e533fb69f258c31..52f73785e2d1abcb3a66aae3f938ec93a5d1a73d 100644 (file)
@@ -4093,26 +4093,37 @@ handle_invisible_prop (struct it *it)
          if (it->bidi_p && newpos < ZV)
            {
              EMACS_INT bpos = CHAR_TO_BYTE (newpos);
-
-             if (FETCH_BYTE (bpos) == '\n'
-                 || (newpos > BEGV && FETCH_BYTE (bpos - 1) == '\n'))
+             int on_newline = FETCH_BYTE (bpos) == '\n';
+             int after_newline =
+               newpos <= BEGV || FETCH_BYTE (bpos - 1) == '\n';
+
+             /* If the invisible text ends on a newline or on a
+                character after a newline, we can avoid the costly,
+                character by character, bidi iteration to NEWPOS, and
+                instead simply reseat the iterator there.  That's
+                because all bidi reordering information is tossed at
+                the newline.  This is a big win for modes that hide
+                complete lines, like Outline, Org, etc.  */
+             if (on_newline || after_newline)
                {
-                 /* If the invisible text ends on a newline or the
-                    character after a newline, we can avoid the
-                    costly, character by character, bidi iteration to
-                    newpos, and instead simply reseat the iterator
-                    there.  That's because all bidi reordering
-                    information is tossed at the newline.  This is a
-                    big win for modes that hide complete lines, like
-                    Outline, Org, etc.  (Implementation note: the
-                    call to reseat_1 is necessary, because it signals
-                    to the bidi iterator that it needs to reinit its
-                    internal information when the next element for
-                    display is requested.  */
                  struct text_pos tpos;
+                 bidi_dir_t pdir = it->bidi_it.paragraph_dir;
 
                  SET_TEXT_POS (tpos, newpos, bpos);
                  reseat_1 (it, tpos, 0);
+                 /* If we reseat on a newline, we need to prep the
+                    bidi iterator for advancing to the next character
+                    after the newline, keeping the current paragraph
+                    direction (so that PRODUCE_GLYPHS does TRT wrt
+                    prepending/appending glyphs to a glyph row).  */
+                 if (on_newline)
+                   {
+                     it->bidi_it.first_elt = 0;
+                     it->bidi_it.paragraph_dir = pdir;
+                     it->bidi_it.ch = '\n';
+                     it->bidi_it.nchars = 1;
+                     it->bidi_it.ch_len = 1;
+                   }
                }
              else      /* Must use the slow method.  */
                {
@@ -4121,11 +4132,11 @@ handle_invisible_prop (struct it *it)
                     non-base embedding level.  Therefore, we need to
                     skip invisible text using the bidi iterator,
                     starting at IT's current position, until we find
-                    ourselves outside the invisible text.  Skipping
-                    invisible text _after_ bidi iteration avoids
-                    affecting the visual order of the displayed text
-                    when invisible properties are added or
-                    removed.  */
+                    ourselves outside of the invisible text.
+                    Skipping invisible text _after_ bidi iteration
+                    avoids affecting the visual order of the
+                    displayed text when invisible properties are
+                    added or removed.  */
                  if (it->bidi_it.first_elt && it->bidi_it.charpos < ZV)
                    {
                      /* If we were `reseat'ed to a new paragraph,
@@ -10223,7 +10234,7 @@ current_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT a3, EMACS_INT a4)
 }
 
 
-/* Push the current message on Vmessage_stack for later restauration
+/* Push the current message on Vmessage_stack for later restoration
    by restore_message.  Value is non-zero if the current message isn't
    empty.  This is a relatively infrequent operation, so it's not
    worth optimizing.  */
@@ -15606,7 +15617,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p)
              pt_offset = float_amount * WINDOW_BOX_TEXT_HEIGHT (w);
              if (pt_offset == 0 && float_amount > 0)
                pt_offset = 1;
-             if (pt_offset)
+             if (pt_offset && margin > 0)
                margin -= 1;
            }
          /* Compute how much to move the window start backward from
index 323b272e9f0a298423db148f868cf8254492efe2..95154395e9ccde303a610f9cf793c2d16791268b 100644 (file)
@@ -4286,7 +4286,7 @@ If TYPE is nil or omitted, get the property as a string.
 Otherwise TYPE is the name of the atom that denotes the type expected.
 If SOURCE is non-nil, get the property on that window instead of from
 FRAME.  The number 0 denotes the root window.
-If DELETE_P is non-nil, delete the property after retreiving it.
+If DELETE_P is non-nil, delete the property after retrieving it.
 If VECTOR_RET_P is non-nil, don't return a string but a vector of values.
 
 Value is nil if FRAME hasn't a property with name PROP or if PROP has
index e41af2b287098d2b936928cb344e55b52a500b77..290acdd9ca4070a4b1d3910a29de2e92c859b616 100644 (file)
@@ -9561,6 +9561,14 @@ x_wm_set_size_hint (struct frame *f, long flags, int user_position)
   XSizeHints size_hints;
   Window window = FRAME_OUTER_WINDOW (f);
 
+#ifdef USE_X_TOOLKIT
+  if (f->output_data.x->widget)
+    {
+      widget_update_wm_size_hints (f->output_data.x->widget);
+      return;
+    }
+#endif
+
   /* Setting PMaxSize caused various problems.  */
   size_hints.flags = PResizeInc | PMinSize /* | PMaxSize */;
 
index 4385b1a467d76197fafd0084a166c6945345305f..9e0e1acca92952be8e12f63e41317ea27cb12f51 100644 (file)
@@ -643,7 +643,7 @@ enum
 {
   /* Values for focus_state, used as bit mask.
      EXPLICIT means we received a FocusIn for the frame and know it has
-     the focus.  IMPLICIT means we recevied an EnterNotify and the frame
+     the focus.  IMPLICIT means we received an EnterNotify and the frame
      may have the focus if no window manager is running.
      FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */
   FOCUS_NONE     = 0,
index 04a70737d61f3f036d6174b41c308b6c3ac2bcf5..964238ae45b65117105e27b9fc489ecdddbad883 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-03  Chong Yidong  <cyd@gnu.org>
+
+       * automated/compile-tests.el (compile-tests--test-regexps-data):
+       Increase column numbers by one to reflect change in how
+       compilation-message is recorded (Bug#10172).
+
 2011-11-22  Glenn Morris  <rgm@gnu.org>
 
        * rmailmm.el: New file, split from lisp/mail/rmailmm.el.
index 419cc0e91167d4f0693917e2def8c5591d9a7597..0203084bf3856109f7e71756ed7b0327d4109fb3 100644 (file)
@@ -41,7 +41,7 @@
      1 nil 17 "fplot.f")
     ;; Ada & Mpatrol
     ("foo.adb:61:11:  [...] in call to size declared at foo.ads:11"
-     1 10 61 "foo.adb")
+     1 11 61 "foo.adb")
     ("foo.adb:61:11:  [...] in call to size declared at foo.ads:11"
      52 nil 11 "foo.ads")
     ("     0x8008621 main+16 at error.c:17"
@@ -55,7 +55,7 @@
     ("[javac] /src/DataBaseTestCase.java:49: warning: finally clause cannot complete normally"
      13 nil 49 "/src/DataBaseTestCase.java")
     ("[jikes]  foo.java:3:5:7:9: blah blah"
-     14 (4 . 9) (3 . 7) "foo.java")
+     14 (5 . 10) (3 . 7) "foo.java")
     ;; bash
     ("a.sh: line 1: ls-l: command not found"
      1 nil 1 "a.sh")
@@ -70,9 +70,9 @@
      1 nil 68 "pong.c")
     ;; caml
     ("File \"foobar.ml\", lines 5-8, characters 20-155: blah blah"
-     1 (19 . 155) (5 . 8) "foobar.ml")
+     1 (20 . 156) (5 . 8) "foobar.ml")
     ("File \"F:\\ocaml\\sorting.ml\", line 65, characters 2-145:\nWarning 26: unused variable equ."
-     1 (1 . 145) 65 "F:\\ocaml\\sorting.ml")
+     1 (2 . 146) 65 "F:\\ocaml\\sorting.ml")
     ("File \"/usr/share/gdesklets/display/TargetGauge.py\", line 41, in add_children"
      1 nil 41 "/usr/share/gdesklets/display/TargetGauge.py")
     ("File \\lib\\python\\Products\\PythonScripts\\PythonScript.py, line 302, in _exec"
     ("\"foo.f\", line 3: Error: syntax error near end of statement"
      1 nil 3 "foo.f")
     ("\"vvouch.c\", line 19.5: 1506-046 (S) Syntax error."
-     1 4 19 "vvouch.c")
+     1 5 19 "vvouch.c")
     ("\"foo.c\", line 32 pos 1; (E) syntax error; unexpected symbol: \"lossage\""
-     1 0 32 "foo.c")
+     1 1 32 "foo.c")
     ("\"foo.adb\", line 2(11): warning: file name does not match ..."
-     1 10 2 "foo.adb")
+     1 11 2 "foo.adb")
     ("\"src/swapping.c\", line 30.34: 1506-342 (W) \"/*\" detected in comment."
-     1 33 30 "src/swapping.c")
+     1 34 30 "src/swapping.c")
     ;; cucumber
     ("Scenario: undefined step  # features/cucumber.feature:3"
      29 nil 3 "features/cucumber.feature")
     ("Warning near line 10 file arrayclash.f: Module contains no executable"
      1 nil 10 "arrayclash.f")
     ("Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit"
-     24 8 31 "assign.f")
+     24 9 31 "assign.f")
     ;; iar
     ("\"foo.c\",3  Error[32]: Error message"
      1 nil 3 "foo.c")
      1 nil 3 "foo.c")
     ;; ibm
     ("foo.c(2:0) : informational EDC0804: Function foo is not referenced."
-     1 -1 2 "foo.c")
+     1 0 2 "foo.c")
     ("foo.c(3:8) : warning EDC0833: Implicit return statement encountered."
-     1 7 3 "foo.c")
+     1 8 3 "foo.c")
     ("foo.c(5:5) : error EDC0350: Syntax error."
-     1 4 5 "foo.c")
+     1 5 5 "foo.c")
     ;; irix
     ("ccom: Error: foo.c, line 2: syntax error"
      1 nil 2 "foo.c")
     ("In file included from /usr/include/c++/3.3/backward/warn.h:4,"
      1 nil 4 "/usr/include/c++/3.3/backward/warn.h")
     ("                 from /usr/include/c++/3.3/backward/iostream.h:31:0,"
-     1 -1 31 "/usr/include/c++/3.3/backward/iostream.h")
+     1 0 31 "/usr/include/c++/3.3/backward/iostream.h")
     ("                 from test_clt.cc:1:"
      1 nil 1 "test_clt.cc")
     ;; gnu
     ("foo/bar.py:8: FutureWarning message" 1 nil 8 "foo/bar.py")
     ("foo.py:8: RuntimeWarning message" 1 nil 8 "foo.py")
     ("foo.c:8:I: message" 1 nil 8 "foo.c")
-    ("foo.c:8.23: note: message" 1 22 8 "foo.c")
-    ("foo.c:8.23: info: message" 1 22 8 "foo.c")
-    ("foo.c:8:23:information: message" 1 22 8 "foo.c")
-    ("foo.c:8.23-45: Informational: message" 1 (22 . nil) (8 . 45) "foo.c")
+    ("foo.c:8.23: note: message" 1 23 8 "foo.c")
+    ("foo.c:8.23: info: message" 1 23 8 "foo.c")
+    ("foo.c:8:23:information: message" 1 23 8 "foo.c")
+    ("foo.c:8.23-45: Informational: message" 1 (23 . nil) (8 . 45) "foo.c")
     ("foo.c:8-23: message" 1 nil (8 . 23) "foo.c")
-    ("foo.c:8-45.3: message" 1 (nil . 3) (8 . 45) "foo.c")
-    ("foo.c:8.23-9.1: message" 1 (22 . 1) (8 . 9) "foo.c")
+    ("foo.c:8-45.3: message" 1 (nil . 4) (8 . 45) "foo.c")
+    ("foo.c:8.23-9.1: message" 1 (23 . 2) (8 . 9) "foo.c")
     ("jade:dbcommon.dsl:133:17:E: missing argument for function call"
-     1 16 133 "dbcommon.dsl")
+     1 17 133 "dbcommon.dsl")
     ("G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found."
      1 nil 54 "G:/cygwin/dev/build-myproj.xml")
     ("file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found."
     ("{standard input}:27041: Warning: end of file not at end of a line; newline inserted"
      1 nil 27041 "{standard input}")
     ;; lcc
-    ("E, file.cc(35,52) Illegal operation on pointers" 1 51 35 "file.cc")
-    ("W, file.cc(36,52) blah blah" 1 51 36 "file.cc")
+    ("E, file.cc(35,52) Illegal operation on pointers" 1 52 35 "file.cc")
+    ("W, file.cc(36,52) blah blah" 1 52 36 "file.cc")
     ;; makepp
     ("makepp: Scanning `/foo/bar.c'" 19 nil nil "/foo/bar.c")
     ("makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'" 27 nil nil "/foo/bar.c")
     ("makepp: bla bla `/foo/bar.c' and `/foo/bar.h'" 35 nil nil "/foo/bar.h")
     ;; maven
     ("FooBar.java:[111,53] no interface expected here"
-     1 52 111 "FooBar.java")
+     1 53 111 "FooBar.java")
     ;; mips-1 mips-2
     ("TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomo.c due to truncation"
      11 nil 255 "solomon.c")
      1 nil 120 "..\src\ctrl\lister.c")
     ;; oracle
     ("Semantic error at line 528, column 5, file erosacqdb.pc:"
-     1 4 528 "erosacqdb.pc")
+     1 5 528 "erosacqdb.pc")
     ("Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp"
-     1 9 41 "/usr/src/sb/ODBI_BHP.hpp")
+     1 10 41 "/usr/src/sb/ODBI_BHP.hpp")
     ("PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc"
-     1 26 49 "/usr/src/sb/ODBI_dxfgh.pc")
+     1 27 49 "/usr/src/sb/ODBI_dxfgh.pc")
     ("PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp"
      1 nil 12 "/usr/src/sb/ODBI_BHP.hpp")
     ("PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp"
      1 nil 27 "/usr/src/sb/ODBI_BHP.hpp")
     ("PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:"
-     1 39 21 "/usr/src/sb/ODBI_BHP.hpp")
+     1 40 21 "/usr/src/sb/ODBI_BHP.hpp")
     ;; perl
     ("syntax error at automake line 922, near \"':'\""
      14 nil 922 "automake")
      1 nil 10 "examples/test-unit.rb")
     ;; rxp
     ("Error: Mismatched end tag: expected </geroup>, got </group>\nin unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml"
-     1 7 71 "/home/reto/test/group.xml")
+     1 8 71 "/home/reto/test/group.xml")
     ("Warning: Start tag for undeclared element geroup\nin unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml"
-     1 7 4 "/home/reto/test/group.xml")
+     1 8 4 "/home/reto/test/group.xml")
     ;; sparc-pascal-file sparc-pascal-line sparc-pascal-example
     ("Thu May 14 10:46:12 1992  mom3.p:"
      1 nil nil "mom3.p")
     ("cc-1070 cc: WARNING File = linkl.c, Line = 38"
      13 nil 38 "linkl.c")
     ("cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3"
-     18 2 16 "Hoved.f90")
+     18 3 16 "Hoved.f90")
     ;; sun-ada
     ("/home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: \",\" inserted"
-     1 5 361 "/home3/xdhar/rcds_rc/main.a")
+     1 6 361 "/home3/xdhar/rcds_rc/main.a")
     ;; 4bsd
     ("/usr/src/foo/foo.c(8): warning: w may be used before set"
      1 nil 8 "/usr/src/foo/foo.c")
      1 nil 46 "t/foo.t")
     ;; weblint
     ("index.html (13:1) Unknown element <fdjsk>"
-     1 0 13 "index.html"))
+     1 1 13 "index.html"))
   "List of tests for `compilation-error-regexp-alist'.
 Each element has the form (STR POS COLUMN LINE FILENAME), where
 STR is an error string, POS is the position of the error in STR,
index 8a95572c497d78febf220cdef59db75f2488db03..57056b8065b06751edbe9b078cb2094d2af41a80 100644 (file)
   this
   that)
 
-(define-mode-local-override a-overriden-function
+(define-mode-local-override a-overridden-function
   emacs-lisp-mode (tag)
   "A function that is overloaded."
   nil)