changeset 90197:b7da78284d4c

Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-65 Merge from emacs--cvs-trunk--0 Patches applied: * emacs--cvs-trunk--0 (patch 425-445) - Remove "-face" suffix from gnus faces - Update from CVS - Remove "-face" suffix from MH-E faces - Remove "-face" suffix from cc-mode faces - Remove "-face" suffix from eshell faces - Remove "-face" suffix from ediff faces - Implement tty vertical-divider face - Rename vertical-divider face to vertical-border - Change escape-glyph color on dark backgrounds back to cyan - Update reference to renamed Buffer-menu-buffer face
author Miles Bader <miles@gnu.org>
date Fri, 24 Jun 2005 01:59:52 +0000
parents 82d495f87e7b (current diff) 64e2bf63ca16 (diff)
children 97f6c3a96df1
files ChangeLog Makefile.in admin/FOR-RELEASE etc/NEWS etc/TODO lisp/ChangeLog lisp/add-log.el lisp/autoinsert.el lisp/bindings.el lisp/calc/calc-misc.el lisp/calendar/appt.el lisp/comint.el lisp/cus-edit.el lisp/dired-aux.el lisp/ediff-init.el lisp/emacs-lisp/byte-opt.el lisp/emacs-lisp/debug.el lisp/emacs-lisp/derived.el lisp/emacs-lisp/edebug.el lisp/emacs-lisp/elint.el lisp/emacs-lisp/lisp-mode.el lisp/emacs-lisp/lisp.el lisp/emacs-lisp/regexp-opt.el lisp/emacs-lisp/ring.el lisp/emacs-lisp/warnings.el lisp/emulation/vip.el lisp/eshell/em-ls.el lisp/eshell/em-prompt.el lisp/eshell/esh-mode.el lisp/eshell/esh-test.el lisp/faces.el lisp/find-file.el lisp/font-lock.el lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-cite.el lisp/gnus/gnus-cus.el lisp/gnus/gnus-group.el lisp/gnus/gnus-srvr.el lisp/gnus/gnus-sum.el lisp/gnus/gnus.el lisp/gnus/message.el lisp/gnus/nnimap.el lisp/gnus/pop3.el lisp/help-mode.el lisp/info.el lisp/language/ethio-util.el lisp/ls-lisp.el lisp/mail/emacsbug.el lisp/mail/sendmail.el lisp/menu-bar.el lisp/mh-e/ChangeLog lisp/mh-e/mh-comp.el lisp/mh-e/mh-customize.el lisp/mh-e/mh-identity.el lisp/mh-e/mh-mime.el lisp/mh-e/mh-speed.el lisp/mh-e/mh-utils.el lisp/net/browse-url.el lisp/net/tramp-ftp.el lisp/net/tramp-smb.el lisp/net/tramp-util.el lisp/net/tramp-uu.el lisp/net/tramp-vc.el lisp/net/tramp.el lisp/net/zone-mode.el lisp/pcvs-defs.el lisp/progmodes/ada-mode.el lisp/progmodes/cc-align.el lisp/progmodes/cc-awk.el lisp/progmodes/cc-defs.el lisp/progmodes/cc-fonts.el lisp/progmodes/cperl-mode.el lisp/progmodes/ebnf-abn.el lisp/progmodes/ebnf-bnf.el lisp/progmodes/ebnf-dtd.el lisp/progmodes/ebnf-ebx.el lisp/progmodes/ebnf-iso.el lisp/progmodes/ebnf-yac.el lisp/progmodes/gdb-ui.el lisp/progmodes/grep.el lisp/progmodes/idlwave.el lisp/progmodes/inf-lisp.el lisp/progmodes/modula2.el lisp/progmodes/ps-mode.el lisp/progmodes/vhdl-mode.el lisp/ps-print.el lisp/ses.el lisp/shell.el lisp/simple.el lisp/smerge-mode.el lisp/startup.el lisp/subr.el lisp/term.el lisp/term/linux.el lisp/textmodes/sgml-mode.el lisp/tooltip.el lisp/woman.el lispintro/emacs-lisp-intro.texi lispref/ChangeLog lispref/anti.texi lispref/backups.texi lispref/compile.texi lispref/control.texi lispref/customize.texi lispref/debugging.texi lispref/display.texi lispref/edebug.texi lispref/elisp.texi lispref/errors.texi lispref/files.texi lispref/frames.texi lispref/functions.texi lispref/help.texi lispref/keymaps.texi lispref/lists.texi lispref/markers.texi lispref/minibuf.texi lispref/modes.texi lispref/nonascii.texi lispref/os.texi lispref/processes.texi lispref/searching.texi lispref/strings.texi lispref/syntax.texi lispref/text.texi lispref/variables.texi man/ChangeLog man/anti.texi man/building.texi man/calendar.texi man/cc-mode.texi man/dired-x.texi man/display.texi man/ediff.texi man/emacs-mime.texi man/emacs.texi man/gnus.texi man/info.texi man/message.texi man/mule.texi man/reftex.texi man/ses.texi man/smtpmail.texi man/speedbar.texi man/text.texi man/tramp.texi nt/INSTALL src/ChangeLog src/abbrev.c src/buffer.c src/category.c src/dispextern.h src/dispnew.c src/editfns.c src/eval.c src/fileio.c src/fns.c src/frame.c src/image.c src/keyboard.c src/lread.c src/macfns.c src/process.c src/search.c src/syntax.c src/term.c src/w32fns.c src/window.c src/xdisp.c src/xfaces.c src/xselect.c
diffstat 187 files changed, 3874 insertions(+), 1849 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,8 @@
+2005-06-19  J,bi(Br,bt(Bme Marant  <jerome@marant.org>
+
+	* Makefile.in (epaths-force): Protect both lisppath and
+	buildlisppath from whitespace.
+
 2005-06-08  Steven Tamm  <steventamm@mac.com>
 
 	* configure.in: Support Darwin/MacOSX on Intel
--- a/Makefile.in	Wed Jun 15 23:37:29 2005 +0000
+++ b/Makefile.in	Fri Jun 24 01:59:52 2005 +0000
@@ -260,8 +260,8 @@
 	  x_default_search_path=`echo ${x_default_search_path}`; \
 	  gamedir=`echo ${gamedir}`; \
 	  sed < ${srcdir}/src/epaths.in > epaths.h.$$$$		\
-	  -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'	\
-	  -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
+	  -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'"$${lisppath}"'";'	\
+	  -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'"$${buildlisppath}"'";' \
 	  -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'		\
 	  -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'			\
 	  -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'			\
--- a/admin/FOR-RELEASE	Wed Jun 15 23:37:29 2005 +0000
+++ b/admin/FOR-RELEASE	Fri Jun 24 01:59:52 2005 +0000
@@ -5,6 +5,16 @@
 ** `undo-ask-before-discard', currently set to t for debugging purposes
 has to be set to nil: when t, it can leak memory and cause other problems.
 
+** Update release dates of manuals.
+
+** Spell check the manuals.
+
+** Get rid of overfull and underfull boxes in manuals.
+
+** Check for widow and orphan lines in manuals;
+make sure all the pages really look ok in the manual as formatted.
+
+
 * NEW FEATURES
 
 ** Make VC-over-Tramp work where possible, or at least fail
@@ -16,13 +26,14 @@
 
 ** Update Speedbar.
 
-** Enhance scroll-bar to handle tall line (similar to line-move).
-
+** Update vhdl-mode.el based on changes in
+   http://opensource.ethz.ch/emacs/vhdl-mode.html.
 
 
 * FATAL ERRORS
 
 ** Make unexec handle memory mapping policy of the latest versions of Linux.
+This includes exec_shield and a memory-layout randomization feature.
 
 ** Investigate reported crashes in compact_small_strings.
 
@@ -59,33 +70,13 @@
 time to make anfe-ftp more intelligent.
 
 
-* GTK RELATED BUGS
-
-** Make GTK scrollbars behave like others w.r.t. overscrolling.
-
-
-* REDISPLAY RELATED BUGS
-
-** Avoid unbreakable loops in redisplay.
-
-Redisplay may loop if there is an error in some display property, e.g.
-     (space 'left-margin)
-
-A fix would be to somehow disable handling of display properties if an error
-is encountered.
-
-
 * DOCUMENTATION
 
 ** Document Custom Themes.
 
-** Finish updating the Emacs Lisp manual.
-
-*** Update lispref/README.
+** Update lispref/README.
 
-** Update the Emacs manual.
-
-*** Update man/info.texi.
+** Update man/info.texi.
 
 ** Add missing years in copyright notices of all files.
 
@@ -113,8 +104,6 @@
 
 ** Update AUTHORS.
 
-** Reorder NEWS entries.
-
 ** Check the Emacs manual.
 
 Each manual section should be checked for factual correctness
@@ -153,7 +142,7 @@
 man/mini.texi       "Luc Teirlinck"  Chong Yidong
 man/misc.texi       Chong Yidong
 man/msdog.texi      Chong Yidong
-man/mule.texi       "Luc Teirlinck"
+man/mule.texi       "Luc Teirlinck"  Kenichi Handa
 man/m-x.texi        "Luc Teirlinck"  Chong Yidong
 man/picture.texi    Joakim Verona <joakim@verona.se>   Chong Yidong
 man/programs.texi   "Stephen Eglen"  Chong Yidong
--- a/etc/NEWS	Wed Jun 15 23:37:29 2005 +0000
+++ b/etc/NEWS	Fri Jun 24 01:59:52 2005 +0000
@@ -766,9 +766,9 @@
 *** New face `escape-glyph' highlights control characters and escape glyphs.
 
 +++
-*** Non-breaking space and hyphens are now prefixed with an escape
-character, unless the new user variable `show-nonbreak-escape' is set
-to nil.
+*** Non-breaking space and hyphens are now displayed with a special
+face, either nobreak-space or escape-glyph.  You can turn this off or
+specify a different mode by setting the variable `nobreak-char-display'.
 
 +++
 *** The parameters of automatic hscrolling can now be customized.
@@ -2057,7 +2057,7 @@
 
 The notion of "defun" has been augmented to include AWK pattern-action
 pairs.  C-M-a (c-awk-beginning-of-defun) and C-M-e (c-awk-end-of-defun)
-recognise these pattern-action pairs, as well as user defined
+recognize these pattern-action pairs, as well as user defined
 functions.
 
 **** Auto-newline Insertion and Clean-ups
@@ -2094,7 +2094,7 @@
 
 ((inclass . 11) (topmost-intro . 13))
 
-is now analysed as
+is now analyzed as
 
 ((inclass 11) (topmost-intro 13))
 
@@ -2617,7 +2617,7 @@
 
 Previously, only the `template' and `class' keywords had this effect.
 
-**** The GCC __attribute__ keyword is now recognised and ignored.
+**** The GCC __attribute__ keyword is now recognized and ignored.
 
 **** New language HTML.
 
@@ -3617,10 +3617,7 @@
 +++
 *** Functions `match-data' and `set-match-data' now have an optional
 argument `reseat'.  When non-nil, all markers in the match data list
-passed to these function will be reseated to point to nowhere, and if
-the value of `reseat' is `evaporate', the markers are put onto the
-free list.  Note that no other references to those markers must exist
-if `evaporate' is specified for the `reseat' argument.
+passed to these function will be reseated to point to nowhere.
 
 +++
 *** The default value of `sentence-end' is now defined using the new
@@ -3708,6 +3705,7 @@
 *** `syntax-class' extracts the class of a syntax code (as returned
 by `syntax-after').
 
++++
 *** The new function `syntax-ppss' rovides an efficient way to find the
 current syntactic context at point.
 
@@ -4016,7 +4014,7 @@
 functions.
 
 *** Function `signal-process' now accepts a process object or process
-name in addition to a process id to identify the signalled process.
+name in addition to a process id to identify the signaled process.
 
 *** Processes now have an associated property list where programs can
 maintain process state and other per-process related information.
@@ -5001,6 +4999,7 @@
 of hierarchical data as an outline.  For example, the tree-widget is
 well suited to display a hierarchy of directories and files.
 
++++
 ** The new library bindat.el provides functions to unpack and pack
 binary data structures, such as network packets, to and from Lisp
 data structures.
@@ -13382,10 +13381,10 @@
 *** C++ member functions are now recognized as tags.
 
 *** Java is tagged like C++.  In addition, "extends" and "implements"
-constructs are tagged.  Files are recognised by the extension .java.
+constructs are tagged.  Files are recognized by the extension .java.
 
 *** Etags can now handle programs written in Postscript.  Files are
-recognised by the extensions .ps and .pdb (Postscript with C syntax).
+recognized by the extensions .ps and .pdb (Postscript with C syntax).
 In Postscript, tags are lines that start with a slash.
 
 *** Etags now handles Objective C and Objective C++ code.  The usual C and
@@ -13393,7 +13392,7 @@
 recognizes special Objective C syntax for classes, class categories,
 methods and protocols.
 
-*** Etags also handles Cobol.  Files are recognised by the extension
+*** Etags also handles Cobol.  Files are recognized by the extension
 .cobol.  The tagged lines are those containing a word that begins in
 column 8 and ends in a full stop, i.e. anything that could be a
 paragraph name.
--- a/etc/TODO	Wed Jun 15 23:37:29 2005 +0000
+++ b/etc/TODO	Fri Jun 24 01:59:52 2005 +0000
@@ -9,10 +9,13 @@
 
 * Small but important fixes needed in existing features:
 
+** Make occur correctly handle matches that span more than one line,
+   as well as overlapping matches.
+
 ** Fix the kill/yank treatment of invisible text.  At the moment,
   invisible text is placed in the kill-ring, so that the contents of
-  the ring may not correspond to the text as displayed to the user. It
-  ought to be possible to omit text which is invisible (due to a
+  the ring may not correspond to the text as displayed to the user.
+  It ought to be possible to omit text which is invisible (due to a
   text-property, overlay, or selective display) from the kill-ring.
 
 ** Change the way define-minor-mode handles autoloading.
@@ -27,6 +30,10 @@
   See also ESR's proposal for a BROWSER environment variable
   <URL:http://www.catb.org/~esr/BROWSER/browse-url.patch>.
 
+** Enhance scroll-bar to handle tall line (similar to line-move).
+
+** Make occur handle multi-line matches cleanly with context.
+
 * Important features:
 
 ** Provide user-friendly ways to list all available font families,
@@ -40,6 +47,9 @@
 ** Implement something better than the current Refill mode.  This
   probably needs some primitive support.
 
+** Add a command to make a local variables list in the current buffer
+  and/or add a variable to the list.
+
 ** Implement primitive and higher-level functions to allow filling
   properly with variable-pitch faces.
 
@@ -61,6 +71,10 @@
 
 ** Internationalize Emacs's messages.
 
+** Add a "current vertical pixel level" value that goes with point,
+  so that motion commands can also move through tall images.
+  This value would be to point as window-vscroll is to window-start.
+
 ** Address internationalization of symbols names essentially
   as documentation, e.g. in command names and Custom.
 
@@ -358,4 +372,12 @@
    For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode,
    haskell-mode, tuareg-mode, ...
 
+* Other known bugs:
+
+** a two-char comment-starter whose two chars are symbol constituents will
+not be noticed if it appears within a word.
+
+** Fix unexelf.c to handle the .data.rel and .data.rel.local
+   sections made by GCC 3.4 on IRIX.
+
 ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036
--- a/lisp/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,375 @@
+2005-06-24  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gud.el (gud-tooltip-print-command): Indent properly.
+	(gud-gdb-marker-filter): Use font-lock-warning-face for any
+	initial error.
+	
+	* progmodes/gdb-ui.el (gdb-send): Remove warning face from errors
+	after fresh input.
+	(gdb-var-create-handler): Put name of expression in quotes.
+	
+2005-06-23  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* emacs-lisp/ring.el (ring-elements): Make it return a list of the
+	elements of RING in order, and without bogus nil elements.
+
+2005-06-23  Richard M. Stallman  <rms@gnu.org>
+
+	* simple.el (set-variable): Args renamed; doc fix.
+	(line-move-1): When there are overlays around, use vertical-motion.
+
+	* faces.el (escape-glyph): Use brown against light background.
+	(nobreak-space): Renamed from no-break-space.
+	Fix previous change.
+
+	* dired-aux.el (dired-do-copy): Fix arg prompt.
+
+	* mail/sendmail.el (mail-setup-with-from): Fix custom type.
+
+2005-06-23  Glenn Morris  <gmorris@ast.cam.ac.uk>
+
+	* mail/emacsbug.el (report-emacs-bug): Use "X server distributor"
+	rather than "Distributor".
+
+2005-06-23  Lute Kamstra  <lute@gnu.org>
+
+	* emacs-lisp/debug.el (debugger-special-form-p): New defun.
+	(debug-on-entry): Use it.  New interactive declaration that uses
+	function-called-at-point.
+
+2005-06-23  Kim F. Storm  <storm@cua.dk>
+
+	* subr.el (save-match-data): Add comment about using evaporate arg
+	to set-match-data.
+
+2005-06-22  Glenn Morris  <gmorris@ast.cam.ac.uk>
+
+	* cus-edit.el (customize-face)
+	(customize-face-other-window): Handle face aliases.
+
+	* faces.el (face-documentation, set-face-attribute)
+	(face-spec-set): Handle face aliases.
+
+2005-06-22  Juanma Barranquero  <lekktu@gmail.com>
+
+	* help-mode.el (help-make-xrefs): If a symbol representing a face
+	name is not followed by the word "face", it could still be a
+	function or variable name, so don't bypass other checks.
+
+2005-06-22  Juri Linkov  <juri@jurta.org>
+
+	* ps-print.el (ps-face-foreground-name, ps-face-background-name):
+	Replace aliased functions with calls where second arg `inherit' is t.
+
+2005-06-22  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el (gdb-error): New variable.
+	(gdb-error): New function.
+	(gdb-annotation-rules): Act on error-begin and error annotations.
+	(gdb-concat-output): Use font-lock-warning-face for errors.
+
+2005-06-22  Miles Bader  <miles@gnu.org>
+
+	* bindings.el (propertized-buffer-identification): Use renamed
+	`Buffer-menu-buffer' face.
+
+	* faces.el (vertical-border): Renamed from `vertical-divider'.
+	(escape-glyph): Change dark-background color back to `cyan'.
+
+2005-06-21  Juri Linkov  <juri@jurta.org>
+
+	* faces.el (face-user-default-spec): Try getting `customized-face'
+	prior to `saved-face'.
+	(frame-background-mode): Refill docstring.
+
+	* emacs-lisp/lisp-mode.el (eval-defun-1):
+	* emacs-lisp/edebug.el (edebug-eval-defun):
+	Set `saved-face' temporarily to nil before calling form.
+	Set `customized-face' to the new spec after that.
+
+2005-06-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* subr.el (1value, lambda, key-substitution-in-progress):
+	Doc fixes.
+
+	* autoinsert.el (auto-insert-alist):
+	* ses.el (ses-call-printer):
+	* subr.el (noreturn):
+	* emacs-lisp/lisp.el (check-parens):
+	* emacs-lisp/byte-opt.el (byte-optimize-pure-func):
+	* net/browse-url.el (browse-url-mosaic):
+	* progmodes/cc-defs.el (c-safe-scan-lists):
+	* progmodes/ebnf-abn.el (ebnf-abn-lex):
+	* progmodes/ebnf-bnf.el (ebnf-bnf-lex):
+	* progmodes/ebnf-dtd.el (ebnf-dtd-lex):
+	* progmodes/ebnf-ebx.el (ebnf-ebx-lex):
+	* progmodes/ebnf-iso.el (ebnf-iso-lex):
+	* progmodes/ebnf-yac.el (ebnf-yac-lex): Fix spellings.
+
+2005-06-21  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* pcvs-defs.el (cvs-menu): Add cvs-mode-mark and cvs-mode-unmark.
+
+2005-06-21  Glenn Morris  <gmorris@ast.cam.ac.uk>
+
+	* calendar/appt.el (appt-make-list): Activate the package, if
+	not already active (for backwards compatibility).
+
+2005-06-20  Kim F. Storm  <storm@cua.dk>
+
+	* subr.el (add-to-ordered-list): Test membership with eq.  Simplify.
+
+2005-06-20  Miles Bader  <miles@gnu.org>
+
+	* faces.el (vertical-divider): New face.
+
+2005-06-20  Juanma Barranquero  <lekktu@gmail.com>
+
+	* simple.el (kill-whole-line): Doc fix.
+	(next-error-buffer-p, next-error-find-buffer)
+	(clone-indirect-buffer): Fix typos in docstrings.
+	(comment-line-break-function): Doc fix: don't say variable
+	is automatically buffer-local (it isn't).
+
+2005-06-19  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp-ftp.el (top):
+	* net/tramp-smb.el (top):
+	* net/tramp-util.el (top):
+	* net/tramp-uu.el (top):
+	* net/tramp-vc.el (top):
+	* net/tramp.el (top): Revert copyright years back to original
+	ones.  Tramp has a life outside GNU Emacs.
+
+2005-06-19  Nick Roberts  <nickrob@snap.net.nz>
+
+	* tooltip.el (tooltip-use-echo-area): Don't make it obsolete.
+
+2005-06-18  Juri Linkov  <juri@jurta.org>
+
+	* progmodes/grep.el (grep-regexp-alist): Use backreference at the
+	end of first regexp to limit the match to the position between
+	line number and source line with same separator character as used
+	between file name and line number.  In the second regexp limit
+	mouse-face area to file name and line number by adding new group
+	for them and referring it in HYPERLINK arg.
+	(grep-regexp-alist, grep-mode-font-lock-keywords): Use shy group.
+	(grep-mode): Set font-lock-lines-before to 0 to not refontify the
+	previous line where grep markers may be already removed.
+
+2005-06-18  Peter Kleiweg  <p.c.j.kleiweg@rug.nl>
+
+	* progmodes/ps-mode.el: Update version and maintainer's email
+	address.
+
+2005-06-18  Steve Youngs  <steve@xemacs.org>
+
+	* net/browse-url.el (browse-url-browser-function)
+	(browse-url-default-browser): Add firefox.
+	(browse-url-firefox-program, browse-url-firefox-arguments)
+	(browse-url-firefox-startup-arguments)
+	(browse-url-firefox-new-window-is-tab): New defcustoms.
+	(browse-url-firefox, browse-url-firefox-sentinel): New functions.
+
+2005-06-17  Richard M. Stallman  <rms@gnu.org>
+
+	* startup.el (command-line): Warn if specified user name has
+	no home directory.
+
+	* term.el (term-get-old-input, term-input-filter, term-input-sender)
+	(term-mode-hook, term-exec-hook, term-escape-char): Doc fixes.
+
+	* longlines.el (longlines-mode, longlines-show-hard-newlines):
+	Doc fixes.
+
+	* faces.el (underline): Try bold if terminal doesn't support underline.
+
+	* mail/sendmail.el (mail-setup-with-from): New variable.
+	(mail-insert-from-field): New function.
+	(sendmail-send-it): Call it.
+	(mail-setup): Optionally call it here.
+
+	* term/linux.el: Call tty-no-underline.
+
+2005-06-17  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* emacs-lisp/edebug.el (edebug-goto-here): Doc fix.
+
+2005-06-17  Miles Bader  <miles@gnu.org>
+
+	* ediff-init.el (ediff-current-diff-A, ediff-current-diff-B)
+	(ediff-current-diff-C, ediff-current-diff-Ancestor)
+	(ediff-fine-diff-A, ediff-fine-diff-B, ediff-fine-diff-C)
+	(ediff-fine-diff-Ancestor, ediff-even-diff-A, ediff-even-diff-B)
+	(ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A)
+	(ediff-odd-diff-B, ediff-odd-diff-C, ediff-odd-diff-Ancestor):
+	Remove "-face" suffix from face names.
+	(ediff-current-diff-face-A, ediff-current-diff-face-B)
+	(ediff-current-diff-face-C, ediff-current-diff-face-Ancestor)
+	(ediff-fine-diff-face-A, ediff-fine-diff-face-B)
+	(ediff-fine-diff-face-C, ediff-fine-diff-face-Ancestor)
+	(ediff-even-diff-face-A, ediff-even-diff-face-B)
+	(ediff-even-diff-face-C, ediff-even-diff-face-Ancestor)
+	(ediff-odd-diff-face-A, ediff-odd-diff-face-B)
+	(ediff-odd-diff-face-C, ediff-odd-diff-face-Ancestor):
+	New backward-compatibility aliases for renamed faces.
+	(ediff-current-diff-face-A, ediff-current-diff-face-B)
+	(ediff-current-diff-face-C, ediff-current-diff-face-Ancestor)
+	(ediff-fine-diff-face-A, ediff-fine-diff-face-B)
+	(ediff-fine-diff-face-C, ediff-fine-diff-face-Ancestor)
+	(ediff-even-diff-face-A, ediff-even-diff-face-B)
+	(ediff-even-diff-face-C, ediff-even-diff-face-Ancestor)
+	(ediff-odd-diff-face-A, ediff-odd-diff-face-B)
+	(ediff-odd-diff-face-C, ediff-odd-diff-face-Ancestor):
+	Use renamed ediff faces.
+
+	* eshell/esh-test.el (eshell-test-ok, eshell-test-failed):
+	Remove "-face" suffix from face names.
+	(eshell-test-ok-face, eshell-test-failed-face):
+	New backward-compatibility aliases for renamed faces.
+	(eshell-run-test): Use renamed eshell-test faces.
+
+	* eshell/em-prompt.el (eshell-prompt):
+	Remove "-face" suffix from face name.
+	(eshell-prompt-face): New backward-compatibility alias for renamed face.
+	(eshell-emit-prompt): Use renamed eshell-prompt face.
+
+	* eshell/em-ls.el (eshell-ls-directory, eshell-ls-symlink)
+	(eshell-ls-executable, eshell-ls-readonly, eshell-ls-unreadable)
+	(eshell-ls-special, eshell-ls-missing, eshell-ls-archive)
+	(eshell-ls-backup, eshell-ls-product, eshell-ls-clutter):
+	Remove "-face" suffix from face names.
+	(eshell-ls-directory-face, eshell-ls-symlink-face)
+	(eshell-ls-executable-face, eshell-ls-readonly-face)
+	(eshell-ls-unreadable-face, eshell-ls-special-face)
+	(eshell-ls-missing-face, eshell-ls-archive-face)
+	(eshell-ls-backup-face, eshell-ls-product-face)
+	(eshell-ls-clutter-face):
+	New backward-compatibility aliases for renamed faces.
+	(eshell-ls-decorated-name): Use renamed eshell-ls faces.
+
+	* progmodes/cc-fonts.el (c-nonbreakable-space-face): Remove
+	"-face" suffix from face name.
+	(c-cpp-matchers): Use the variable `c-nonbreakable-space-face'
+	instead of literal face.
+
+2005-06-17  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacs-lisp/warnings.el (display-warning, lwarn)
+	(warning-minimum-log-level): Doc fixes.
+	(warning-minimum-level, warning-minimum-log-level):
+	Add :debug to :type choices.
+
+	* progmodes/ada-mode.el (ada-format-paramlist)
+	(ada-get-indent-case, ada-check-matching-start)
+	(ada-check-defun-name, ada-goto-matching-decl-start)
+	(ada-goto-matching-start, ada-goto-matching-end, ada-tab)
+	(ada-untab, ada-move-to-start, ada-fill-comment-paragraph)
+	(ada-make-subprogram-body): Follow error conventions.
+	(ada-case-exception-file, ada-indent-comment-as-code)
+	(ada-indent-handle-comment-special, ada-indent-renames)
+	(ada-indent-return, ada-search-directories-internal)
+	(ada-tab-policy, ada-case-exception-substring)
+	(ada-other-file-alist, ada-matching-start-re)
+	(ada-matching-decl-start-re, ada-contextual-menu-last-point)
+	(ada-imenu-generic-expression, ada-compile-goto-error)
+	(ada-in-comment-p, ada-in-string-p, ada-in-string-or-comment-p)
+	(ada-popup-menu, ada-add-extensions, ada-mode)
+	(ada-region-selected, ada-create-case-exception)
+	(ada-create-case-exception-substring, ada-after-keyword-p)
+	(ada-activate-keys-for-case, ada-adjust-case-region)
+	(ada-adjust-case-buffer, ada-format-paramlist)
+	(ada-scan-paramlist, ada-insert-paramlist)
+	(ada-indent-newline-indent)
+	(ada-indent-newline-indent-conditional)
+	(ada-justified-indent-current, ada-goto-previous-word)
+	(ada-indent-current, ada-get-indent-open-paren)
+	(ada-get-indent-paramlist, ada-get-indent-end)
+	(ada-get-indent-case, ada-get-indent-when, ada-get-indent-if)
+	(ada-get-indent-block-start, ada-get-indent-subprog)
+	(ada-get-indent-noindent, ada-get-indent-label)
+	(ada-get-indent-loop, ada-get-indent-type, ada-goto-stmt-start)
+	(ada-search-prev-end-stmt, ada-goto-next-non-ws)
+	(ada-goto-stmt-end, ada-goto-next-word)
+	(ada-check-matching-start, ada-check-defun-name)
+	(ada-goto-matching-decl-start, ada-goto-matching-start)
+	(ada-goto-matching-end, ada-search-ignore-string-comment)
+	(ada-in-decl-p, ada-looking-at-semi-or)
+	(ada-looking-at-semi-private, ada-in-paramlist-p)
+	(ada-in-open-paren-p, ada-tab, ada-indent-current-function)
+	(ada-untab-hard, ada-move-to-start, ada-move-to-end)
+	(ada-next-procedure, ada-previous-procedure, ada-next-package)
+	(ada-previous-package, ada-create-menu)
+	(ada-fill-comment-paragraph-justify)
+	(ada-fill-comment-paragraph-postfix, ada-fill-comment-paragraph)
+	(ada-other-file-name, ada-last-which-function-line)
+	(ada-last-which-function-subprog, ada-which-function)
+	(ada-get-body-name, ada-outline-level, ada-narrow-to-defun)
+	(ada-gen-treat-proc, ada-check-emacs-version)
+	(ada-continuation-indent, ada-align-region-separate):
+	Fix typos in docstrings.
+	(ada-adjust-case, ada-adjust-case-interactive): Doc fixes.
+
+2005-06-16  Lute Kamstra  <lute@gnu.org>
+
+	* simple.el (fundamental-mode): Run after-change-major-mode-hook
+	conditionally.
+
+2005-06-16  Juanma Barranquero  <lekktu@gmail.com>
+
+	* comint.el (comint-replace-by-expanded-filename)
+	(comint-prompt-regexp, comint-delimiter-argument-list)
+	(comint-preinput-scroll-to-bottom):
+	* info.el (Info-hide-cookies-node):
+	* ls-lisp.el (ls-lisp-classify):
+	* find-file.el (ff-search-directories, ff-special-constructs)
+	(ff-find-other-file):
+	* font-lock.el (font-lock-keywords):
+	* shell.el (shell-prompt-pattern)
+	(shell-dynamic-complete-functions, shell-mode)
+	(shell-delimiter-argument-list):
+	* term.el (term-replace-by-expanded-filename)
+	(term-prompt-regexp, term-delimiter-argument-list):
+	* woman.el (woman-ignore, woman0-if):
+	* emacs-lisp/derived.el (derived-mode-init-mode-variables):
+	* emacs-lisp/elint.el (elint-init-env):
+	* emacs-lisp/regexp-opt.el (regexp-opt-depth):
+	* eshell/esh-mode.el (eshell-preinput-scroll-to-bottom):
+	* language/ethio-util.el (ethio-tilde-escape)
+	(ethio-use-three-dot-question):
+	* net/zone-mode.el (zone-mode-load-time-setup):
+	* progmodes/cc-align.el (c-lineup-argcont):
+	* progmodes/cc-awk.el (c-awk-beginning-of-defun):
+	* progmodes/cperl-mode.el (cperl-set-style-back):
+	* progmodes/inf-lisp.el (inferior-lisp-prompt):
+	* progmodes/vhdl-mode.el (vhdl-beginning-of-libunit):
+	Fix spellings in docstrings.
+
+	* textmodes/sgml-mode.el (sgml-calculate-indent, html-tag-help):
+	* progmodes/modula2.el (m2-for): Fix spellings.
+
+	* menu-bar.el (menu-bar-games-menu): Fix typo in menu help string.
+
+	* simple.el (undo-more): Don't use `format' on `error' arguments.
+	Improve argument/docstring consistency.
+	(pending-undo-list): Doc fix.
+
+	* smerge-mode.el (smerge-ensure-match):
+	* emulation/vip.el (vip-ex):
+	* net/zone-mode.el (zone-mode-update-serial):
+	* progmodes/idlwave.el (idlwave-complete):
+	* progmodes/vhdl-mode.el (vhdl-visit-file)
+	(vhdl-compose-wire-components):
+	Don't use `format' on `error' arguments.
+
+	* tooltip.el (tooltip-start-delayed-tip, tooltip-timeout)
+	(tooltip-use-echo-area, tooltip-process-prompt-regexp)
+	(tooltip-help-tips): Fix typos in docstrings.
+
+2005-06-16  David Ponce  <david@dponce.com>
+
+	* tree-widget.el (tree-widget-value-create): Simplify last change.
+
 2005-06-15  Matt Hodges  <MPHodges@member.fsf.org>
 
 	* ido.el (ido-incomplete-regexp): New variable.
@@ -158,10 +530,9 @@
 
 2005-06-15  Nick Roberts  <nickrob@snap.net.nz>
 
-	* progmodes/gdb-ui.el (gdb-tooltip-print):
-	Respect tooltip-use-echo-area.
-	(menu): Re-order menu items.
-
+	* progmodes/gdb-ui.el (menu): Re-order menu items.
+	(gdb-tooltip-print): Respect tooltip-use-echo-area.
+	
 	* progmodes/gud.el (tooltip-use-echo-area): Remove alias.
 	Define in tooltip.el.
 	(gud-tooltip-process-output): Respect tooltip-use-echo-area.
--- a/lisp/add-log.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/add-log.el	Fri Jun 24 01:59:52 2005 +0000
@@ -232,9 +232,13 @@
 
 (defvar change-log-font-lock-keywords
   '(;;
-    ;; Date lines, new and old styles.
-    ("^\\sw.........[0-9:+ ]*"
-     (0 'change-log-date)
+    ;; Date lines, new (2000-01-01) and old (Sat Jan  1 00:00:00 2000) styles.
+    ;; Fixme: this regepx is just an approximate one and may match
+    ;; wrongly with a non-date line existing as a random note.  In
+    ;; addition, using any kind of fixed setting like this doesn't
+    ;; work if a user customizes add-log-time-format.
+    ("^[0-9-]+ +\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-z][a-z][a-z] [0-9:+ ]+"
+     (0 'change-log-date-face)
      ;; Name and e-mail; some people put e-mail in parens, not angles.
      ("\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" nil nil
       (1 'change-log-name)
--- a/lisp/autoinsert.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/autoinsert.el	Fri Jun 24 01:59:52 2005 +0000
@@ -140,7 +140,7 @@
      (getenv "ORGANIZATION") | (progn user-full-name)
      "
 .\\\" You may distribute this file under the terms of the GNU Free
-.\\\" Documentation Licence.
+.\\\" Documentation License.
 .TH " (file-name-sans-extension (file-name-nondirectory (buffer-file-name)))
      " " (file-name-extension (buffer-file-name))
      " " (format-time-string "%Y-%m-%d ")
--- a/lisp/bindings.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/bindings.el	Fri Jun 24 01:59:52 2005 +0000
@@ -471,7 +471,7 @@
 FMT is a format specifier such as \"%12b\".  This function adds
 text properties for face, help-echo, and local-map to it."
   (list (propertize fmt
-		    'face 'Buffer-menu-buffer-face
+		    'face 'Buffer-menu-buffer
 		    'help-echo
 		    (purecopy "mouse-1: previous buffer, mouse-3: next buffer")
 		    'mouse-face 'mode-line-highlight
--- a/lisp/calc/calc-misc.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/calc/calc-misc.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,4 +1,4 @@
-;;; calc-misc.el --- miscellaenous functions for Calc
+;;; calc-misc.el --- miscellaneous functions for Calc
 
 ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
--- a/lisp/calendar/appt.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/calendar/appt.el	Fri Jun 24 01:59:52 2005 +0000
@@ -534,88 +534,93 @@
 They specify the range of dates that the diary is being processed for.
 
 Any appointments made with `appt-add' are not affected by this
-function."
+function.
 
-  ;; We have something to do if the range of dates that the diary is
-  ;; considering includes the current date.
-  (if (and (not (calendar-date-compare
-		 (list (calendar-current-date))
-		 (list original-date)))
-	   (calendar-date-compare
-	    (list (calendar-current-date))
-            (list (calendar-gregorian-from-absolute
-		   (+ (calendar-absolute-from-gregorian original-date)
-		      number)))))
-      (save-excursion
-	;; Clear the appointments list, then fill it in from the diary.
-	(dolist (elt appt-time-msg-list)
-	  ;; Delete any entries that were not made with appt-add.
-	  (unless (nth 2 elt)
-	    (setq appt-time-msg-list
-		  (delq elt appt-time-msg-list))))
-	(if diary-entries-list
+For backwards compatibility, this function activates the
+appointment package (if it is not already active)."
+  ;; See comments above appt-activate defun.
+  (if (not appt-timer)
+      (appt-activate 1)
+    ;; We have something to do if the range of dates that the diary is
+    ;; considering includes the current date.
+    (if (and (not (calendar-date-compare
+                   (list (calendar-current-date))
+                   (list original-date)))
+             (calendar-date-compare
+              (list (calendar-current-date))
+              (list (calendar-gregorian-from-absolute
+                     (+ (calendar-absolute-from-gregorian original-date)
+                        number)))))
+        (save-excursion
+          ;; Clear the appointments list, then fill it in from the diary.
+          (dolist (elt appt-time-msg-list)
+            ;; Delete any entries that were not made with appt-add.
+            (unless (nth 2 elt)
+              (setq appt-time-msg-list
+                    (delq elt appt-time-msg-list))))
+          (if diary-entries-list
 
-	    ;; Cycle through the entry-list (diary-entries-list)
-	    ;; looking for entries beginning with a time. If
-	    ;; the entry begins with a time, add it to the
-	    ;; appt-time-msg-list. Then sort the list.
+              ;; Cycle through the entry-list (diary-entries-list)
+              ;; looking for entries beginning with a time. If
+              ;; the entry begins with a time, add it to the
+              ;; appt-time-msg-list. Then sort the list.
 
-	    (let ((entry-list diary-entries-list)
-		  (new-time-string ""))
-	      ;; Skip diary entries for dates before today.
-	      (while (and entry-list
-			  (calendar-date-compare
-			   (car entry-list) (list (calendar-current-date))))
-		(setq entry-list (cdr entry-list)))
-	      ;; Parse the entries for today.
-	      (while (and entry-list
-			  (calendar-date-equal
-			   (calendar-current-date) (car (car entry-list))))
-		(let ((time-string (cadr (car entry-list))))
-		  (while (string-match
-			  "\\([0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?\\).*"
-			  time-string)
-		    (let* ((beg (match-beginning 0))
-			   ;; Get just the time for this appointment.
-			   (only-time (match-string 1 time-string))
-			   ;; Find the end of this appointment
-			   ;; (the start of the next).
-			   (end (string-match
-				 "^[ \t]*[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?"
-				 time-string
-				 (match-end 0)))
-			   ;; Get the whole string for this appointment.
-			   (appt-time-string
-			    (substring time-string beg (if end (1- end)))))
+              (let ((entry-list diary-entries-list)
+                    (new-time-string ""))
+                ;; Skip diary entries for dates before today.
+                (while (and entry-list
+                            (calendar-date-compare
+                             (car entry-list) (list (calendar-current-date))))
+                  (setq entry-list (cdr entry-list)))
+                ;; Parse the entries for today.
+                (while (and entry-list
+                            (calendar-date-equal
+                             (calendar-current-date) (car (car entry-list))))
+                  (let ((time-string (cadr (car entry-list))))
+                    (while (string-match
+                            "\\([0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?\\).*"
+                            time-string)
+                      (let* ((beg (match-beginning 0))
+                             ;; Get just the time for this appointment.
+                             (only-time (match-string 1 time-string))
+                             ;; Find the end of this appointment
+                             ;; (the start of the next).
+                             (end (string-match
+                                   "^[ \t]*[0-9]?[0-9][:.][0-9][0-9]\\(am\\|pm\\)?"
+                                   time-string
+                                   (match-end 0)))
+                             ;; Get the whole string for this appointment.
+                             (appt-time-string
+                              (substring time-string beg (if end (1- end)))))
 
-		      ;; Add this appointment to appt-time-msg-list.
-		      (let* ((appt-time (list (appt-convert-time only-time)))
-			     (time-msg (list appt-time appt-time-string)))
-			(setq appt-time-msg-list
-			      (nconc appt-time-msg-list (list time-msg))))
+                        ;; Add this appointment to appt-time-msg-list.
+                        (let* ((appt-time (list (appt-convert-time only-time)))
+                               (time-msg (list appt-time appt-time-string)))
+                          (setq appt-time-msg-list
+                                (nconc appt-time-msg-list (list time-msg))))
 
-		      ;; Discard this appointment from the string.
-		      (setq time-string
-			    (if end (substring time-string end) "")))))
-		(setq entry-list (cdr entry-list)))))
-	(setq appt-time-msg-list (appt-sort-list appt-time-msg-list))
+                        ;; Discard this appointment from the string.
+                        (setq time-string
+                              (if end (substring time-string end) "")))))
+                  (setq entry-list (cdr entry-list)))))
+          (setq appt-time-msg-list (appt-sort-list appt-time-msg-list))
 
-	;; Get the current time and convert it to minutes
-	;; from midnight. ie. 12:01am = 1, midnight = 0,
-	;; so that the elements in the list
-	;; that are earlier than the present time can
-	;; be removed.
+          ;; Get the current time and convert it to minutes
+          ;; from midnight. ie. 12:01am = 1, midnight = 0,
+          ;; so that the elements in the list
+          ;; that are earlier than the present time can
+          ;; be removed.
 
-	(let* ((now (decode-time))
-	       (cur-hour (nth 2 now))
-	       (cur-min (nth 1 now))
-	       (cur-comp-time (+ (* cur-hour 60) cur-min))
-	       (appt-comp-time (car (caar appt-time-msg-list))))
+          (let* ((now (decode-time))
+                 (cur-hour (nth 2 now))
+                 (cur-min (nth 1 now))
+                 (cur-comp-time (+ (* cur-hour 60) cur-min))
+                 (appt-comp-time (car (caar appt-time-msg-list))))
 
-	  (while (and appt-time-msg-list (< appt-comp-time cur-comp-time))
-	    (setq appt-time-msg-list (cdr appt-time-msg-list))
-	    (if appt-time-msg-list
-		(setq appt-comp-time (car (caar appt-time-msg-list)))))))))
+            (while (and appt-time-msg-list (< appt-comp-time cur-comp-time))
+              (setq appt-time-msg-list (cdr appt-time-msg-list))
+              (if appt-time-msg-list
+                  (setq appt-comp-time (car (caar appt-time-msg-list))))))))))
 
 
 (defun appt-sort-list (appt-list)
@@ -665,6 +670,30 @@
   nil)
 
 
+;; In Emacs-21.3, the manual documented the following procedure to
+;; activate this package:
+;;     (display-time)
+;;     (add-hook 'diary-hook 'appt-make-list)
+;;     (diary 0)
+;; The display-time call was not necessary, AFAICS.
+;; What was really needed was to add the hook and load this file.
+;; Calling (diary 0) once the hook had been added was in some sense a
+;; roundabout way of loading this file. This file used to have code at
+;; the top-level that set up the appt-timer and global-mode-string.
+;; One way to maintain backwards compatibility would be to call
+;; (appt-activate 1) at top-level. However, this goes against the
+;; convention that just loading an Emacs package should not activate
+;; it. Instead, we make appt-make-list activate the package (after a
+;; suggestion from rms). This means that one has to call diary in
+;; order to get it to work, but that is in line with the old (weird,
+;; IMO) documented behavior for activating the package.
+;; Actually, since (diary 0) does not run diary-hook, I don't think
+;; the documented behavior in Emacs-21.3 would ever have worked.
+;; Oh well, at least with the changes to appt-make-list it will now
+;; work as well as it ever did.
+;; The new method is just to use (appt-activate 1).
+;; -- gmorris
+
 ;;;###autoload
 (defun appt-activate (&optional arg)
 "Toggle checking of appointments.
--- a/lisp/comint.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/comint.el	Fri Jun 24 01:59:52 2005 +0000
@@ -155,7 +155,7 @@
   :group 'comint)
 
 (defvar comint-prompt-regexp "^"
-  "Regexp to recognise prompts in the inferior process.
+  "Regexp to recognize prompts in the inferior process.
 Defaults to \"^\", the null string at BOL.
 
 This variable is only used if the variable
@@ -197,7 +197,7 @@
   :version "22.1")
 
 (defvar comint-delimiter-argument-list ()
-  "List of characters to recognise as separate arguments in input.
+  "List of characters to recognize as separate arguments in input.
 Strings comprising a character in this list will separate the arguments
 surrounding them, and also be regarded as arguments in their own right (unlike
 whitespace).  See `comint-arguments'.
@@ -1760,7 +1760,7 @@
 (defun comint-preinput-scroll-to-bottom ()
   "Go to the end of buffer in all windows showing it.
 Movement occurs if point in the selected window is not after the process mark,
-and `this-command' is an insertion command.  Insertion commands recognised
+and `this-command' is an insertion command.  Insertion commands recognized
 are `self-insert-command', `comint-magic-space', `yank', and `hilit-yank'.
 Depends on the value of `comint-scroll-to-bottom-on-input'.
 
@@ -2789,9 +2789,9 @@
 
 (defun comint-replace-by-expanded-filename ()
   "Dynamically expand and complete the filename at point.
-Replace the filename with an expanded, canonicalised and completed replacement.
+Replace the filename with an expanded, canonicalized and completed replacement.
 \"Expanded\" means environment variables (e.g., $HOME) and `~'s are replaced
-with the corresponding directories.  \"Canonicalised\" means `..'  and `.' are
+with the corresponding directories.  \"Canonicalized\" means `..'  and `.' are
 removed, and the filename is made absolute instead of relative.  For expansion
 see `expand-file-name' and `substitute-in-file-name'.  For completion see
 `comint-dynamic-complete-filename'."
--- a/lisp/cus-edit.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/cus-edit.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1116,7 +1116,8 @@
 ;;;###autoload
 (defun customize-face (&optional face)
   "Customize FACE, which should be a face name or nil.
-If FACE is nil, customize all faces.
+If FACE is nil, customize all faces.  If FACE is actually a
+face-alias, customize the face it is aliased to.
 
 Interactively, when point is on text which has a face specified,
 suggest to customize that face, if it's customizable."
@@ -1133,6 +1134,9 @@
 				     face)
 			     t nil)
 			    "*Customize Faces*")
+    ;; If FACE is actually an alias, customize the face it is aliased to.
+    (if (get face 'face-alias)
+        (setq face (get face 'face-alias)))
     (unless (facep face)
       (error "Invalid face %S" face))
     (custom-buffer-create (list (list face 'custom-face))
@@ -1142,6 +1146,7 @@
 ;;;###autoload
 (defun customize-face-other-window (&optional face)
   "Show customization buffer for face FACE in other window.
+If FACE is actually a face-alias, customize the face it is aliased to.
 
 Interactively, when point is on text which has a face specified,
 suggest to customize that face, if it's customizable."
@@ -1159,6 +1164,8 @@
 		face)
 	t nil)
        "*Customize Faces*")
+    (if (get face 'face-alias)
+        (setq face (get face 'face-alias)))
     (unless (facep face)
       (error "Invalid face %S" face))
     (custom-buffer-create-other-window
--- a/lisp/dired-aux.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/dired-aux.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1509,7 +1509,7 @@
   (interactive "P")
   (let ((dired-recursive-copies dired-recursive-copies))
     (dired-do-create-files 'copy (function dired-copy-file)
-			   (if dired-copy-preserve-time "Copy [-p]" "Copy")
+			   "Copy"
 			   arg dired-keep-marker-copy
 			   nil dired-copy-how-to-fn)))
 
--- a/lisp/ediff-init.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/ediff-init.el	Fri Jun 24 01:59:52 2005 +0000
@@ -903,7 +903,7 @@
 
 
 
-(defface ediff-current-diff-face-A
+(defface ediff-current-diff-A
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "firebrick" :background "pale green"))
@@ -915,24 +915,26 @@
       (t	     	     (:inverse-video t))))
   "Face for highlighting the selected difference in buffer A."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-current-diff-face-A 'face-alias 'ediff-current-diff-A)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-current-diff-face-A 'ediff-current-diff-face-A
+(defvar ediff-current-diff-face-A 'ediff-current-diff-A
   "Face for highlighting the selected difference in buffer A.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-current-diff-face-A'
+widget to customize the actual face object `ediff-current-diff-A'
 this variable represents.")
-(ediff-hide-face 'ediff-current-diff-face-A)
+(ediff-hide-face 'ediff-current-diff-A)
 ;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
 ;; This means that some user customization may be trashed.
 (if (and ediff-xemacs-p
 	 (ediff-has-face-support-p)
 	 (not (ediff-color-display-p)))
-    (copy-face 'modeline 'ediff-current-diff-face-A))
+    (copy-face 'modeline 'ediff-current-diff-A))
 
 
 
-(defface ediff-current-diff-face-B
+(defface ediff-current-diff-B
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "DarkOrchid" :background "Yellow"))
@@ -946,23 +948,25 @@
       (t	     	     (:inverse-video t))))
   "Face for highlighting the selected difference in buffer B."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-current-diff-face-B 'face-alias 'ediff-current-diff-B)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-current-diff-face-B 'ediff-current-diff-face-B
+(defvar ediff-current-diff-face-B 'ediff-current-diff-B
   "Face for highlighting the selected difference in buffer B.
  this variable.  Instead, use the customization
-widget to customize the actual face `ediff-current-diff-face-B'
+widget to customize the actual face `ediff-current-diff-B'
 this variable represents.")
-(ediff-hide-face 'ediff-current-diff-face-B)
+(ediff-hide-face 'ediff-current-diff-B)
 ;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
 ;; This means that some user customization may be trashed.
 (if (and ediff-xemacs-p
 	 (ediff-has-face-support-p)
 	 (not (ediff-color-display-p)))
-    (copy-face 'modeline 'ediff-current-diff-face-B))
+    (copy-face 'modeline 'ediff-current-diff-B))
 
 
-(defface ediff-current-diff-face-C
+(defface ediff-current-diff-C
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "Navy" :background "Pink"))
@@ -974,23 +978,25 @@
       (t	     	     (:inverse-video t))))
   "Face for highlighting the selected difference in buffer C."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-current-diff-face-C 'face-alias 'ediff-current-diff-C)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-current-diff-face-C 'ediff-current-diff-face-C
+(defvar ediff-current-diff-face-C 'ediff-current-diff-C
   "Face for highlighting the selected difference in buffer C.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-current-diff-face-C'
+widget to customize the actual face object `ediff-current-diff-C'
 this variable represents.")
-(ediff-hide-face 'ediff-current-diff-face-C)
+(ediff-hide-face 'ediff-current-diff-C)
 ;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
 ;; This means that some user customization may be trashed.
 (if (and ediff-xemacs-p
 	 (ediff-has-face-support-p)
 	 (not (ediff-color-display-p)))
-    (copy-face 'modeline 'ediff-current-diff-face-C))
+    (copy-face 'modeline 'ediff-current-diff-C))
 
 
-(defface ediff-current-diff-face-Ancestor
+(defface ediff-current-diff-Ancestor
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "Black" :background "VioletRed"))
@@ -1002,23 +1008,25 @@
       (t (:inverse-video t))))
   "Face for highlighting the selected difference in buffer Ancestor."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-current-diff-face-Ancestor 'face-alias 'ediff-current-diff-Ancestor)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-current-diff-face-Ancestor 'ediff-current-diff-face-Ancestor
+(defvar ediff-current-diff-face-Ancestor 'ediff-current-diff-Ancestor
   "Face for highlighting the selected difference in buffer Ancestor.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-current-diff-face-Ancestor'
+widget to customize the actual face object `ediff-current-diff-Ancestor'
 this variable represents.")
-(ediff-hide-face 'ediff-current-diff-face-Ancestor)
+(ediff-hide-face 'ediff-current-diff-Ancestor)
 ;; Until custom.el for XEmacs starts supporting :inverse-video we do this.
 ;; This means that some user customization may be trashed.
 (if (and ediff-xemacs-p
 	 (ediff-has-face-support-p)
 	 (not (ediff-color-display-p)))
-    (copy-face 'modeline 'ediff-current-diff-face-Ancestor))
+    (copy-face 'modeline 'ediff-current-diff-Ancestor))
 
 
-(defface ediff-fine-diff-face-A
+(defface ediff-fine-diff-A
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "Navy" :background "sky blue"))
@@ -1030,16 +1038,18 @@
       (t (:underline t :stipple "gray3"))))
   "Face for highlighting the refinement of the selected diff in buffer A."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-fine-diff-face-A 'face-alias 'ediff-fine-diff-A)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-fine-diff-face-A 'ediff-fine-diff-face-A
+(defvar ediff-fine-diff-face-A 'ediff-fine-diff-A
   "Face for highlighting the fine differences in buffer A.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-fine-diff-face-A'
+widget to customize the actual face object `ediff-fine-diff-A'
 this variable represents.")
-(ediff-hide-face 'ediff-fine-diff-face-A)
+(ediff-hide-face 'ediff-fine-diff-A)
 
-(defface ediff-fine-diff-face-B
+(defface ediff-fine-diff-B
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "Black" :background "cyan"))
@@ -1051,16 +1061,18 @@
       (t	     	     (:underline t :stipple "gray3"))))
   "Face for highlighting the refinement of the selected diff in buffer B."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-fine-diff-face-B 'face-alias 'ediff-fine-diff-B)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-fine-diff-face-B 'ediff-fine-diff-face-B
+(defvar ediff-fine-diff-face-B 'ediff-fine-diff-B
   "Face for highlighting the fine differences in buffer B.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-fine-diff-face-B'
+widget to customize the actual face object `ediff-fine-diff-B'
 this variable represents.")
-(ediff-hide-face 'ediff-fine-diff-face-B)
+(ediff-hide-face 'ediff-fine-diff-B)
 
-(defface ediff-fine-diff-face-C
+(defface ediff-fine-diff-C
   (if ediff-emacs-p
       '((((type pc))
 	 (:foreground "white" :background "Turquoise"))
@@ -1077,16 +1089,18 @@
       (t (:underline t :stipple "gray3"))))
   "Face for highlighting the refinement of the selected diff in buffer C."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-fine-diff-face-C 'face-alias 'ediff-fine-diff-C)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-fine-diff-face-C 'ediff-fine-diff-face-C
+(defvar ediff-fine-diff-face-C 'ediff-fine-diff-C
   "Face for highlighting the fine differences in buffer C.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-fine-diff-face-C'
+widget to customize the actual face object `ediff-fine-diff-C'
 this variable represents.")
-(ediff-hide-face 'ediff-fine-diff-face-C)
+(ediff-hide-face 'ediff-fine-diff-C)
 
-(defface ediff-fine-diff-face-Ancestor
+(defface ediff-fine-diff-Ancestor
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "Black" :background "Green"))
@@ -1100,14 +1114,16 @@
 At present, this face is not used and no fine differences are computed for the
 ancestor buffer."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-fine-diff-face-Ancestor 'face-alias 'ediff-fine-diff-Ancestor)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-fine-diff-face-Ancestor 'ediff-fine-diff-face-Ancestor
+(defvar ediff-fine-diff-face-Ancestor 'ediff-fine-diff-Ancestor
   "Face for highlighting the fine differences in buffer Ancestor.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-fine-diff-face-Ancestor'
+widget to customize the actual face object `ediff-fine-diff-Ancestor'
 this variable represents.")
-(ediff-hide-face 'ediff-fine-diff-face-Ancestor)
+(ediff-hide-face 'ediff-fine-diff-Ancestor)
 
 ;; Some installs don't have stipple or Stipple. So, try them in turn.
 (defvar stipple-pixmap
@@ -1118,7 +1134,7 @@
 	      (locate-library "stipple" t mswindowsx-bitmap-file-path)) "stipple")
 	(t "Stipple")))
 
-(defface ediff-even-diff-face-A
+(defface ediff-even-diff-A
   (if ediff-emacs-p
       `((((type pc))
 	 (:foreground "green3" :background "light grey"))
@@ -1135,16 +1151,18 @@
       (t	     	     (:italic t :stipple ,stipple-pixmap))))
   "Face for highlighting even-numbered non-current differences in buffer A."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-even-diff-face-A 'face-alias 'ediff-even-diff-A)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-even-diff-face-A 'ediff-even-diff-face-A
+(defvar ediff-even-diff-face-A 'ediff-even-diff-A
   "Face for highlighting even-numbered non-current differences in buffer A.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-even-diff-face-A'
+widget to customize the actual face object `ediff-even-diff-A'
 this variable represents.")
-(ediff-hide-face 'ediff-even-diff-face-A)
+(ediff-hide-face 'ediff-even-diff-A)
 
-(defface ediff-even-diff-face-B
+(defface ediff-even-diff-B
   (if ediff-emacs-p
       `((((class color) (min-colors 16))
 	 (:foreground "White" :background "Grey"))
@@ -1156,16 +1174,18 @@
       (t	     	     (:italic t :stipple ,stipple-pixmap))))
   "Face for highlighting even-numbered non-current differences in buffer B."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-even-diff-face-B 'face-alias 'ediff-even-diff-B)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-even-diff-face-B 'ediff-even-diff-face-B
+(defvar ediff-even-diff-face-B 'ediff-even-diff-B
   "Face for highlighting even-numbered non-current differences in buffer B.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-even-diff-face-B'
+widget to customize the actual face object `ediff-even-diff-B'
 this variable represents.")
-(ediff-hide-face 'ediff-even-diff-face-B)
+(ediff-hide-face 'ediff-even-diff-B)
 
-(defface ediff-even-diff-face-C
+(defface ediff-even-diff-C
   (if ediff-emacs-p
       `((((type pc))
 	 (:foreground "yellow3" :background "light grey"))
@@ -1182,16 +1202,18 @@
       (t	     	     (:italic t :stipple ,stipple-pixmap))))
   "Face for highlighting even-numbered non-current differences in buffer C."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-even-diff-face-C 'face-alias 'ediff-even-diff-C)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-even-diff-face-C 'ediff-even-diff-face-C
+(defvar ediff-even-diff-face-C 'ediff-even-diff-C
   "Face for highlighting even-numbered non-current differences in buffer C.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-even-diff-face-C'
+widget to customize the actual face object `ediff-even-diff-C'
 this variable represents.")
-(ediff-hide-face 'ediff-even-diff-face-C)
+(ediff-hide-face 'ediff-even-diff-C)
 
-(defface ediff-even-diff-face-Ancestor
+(defface ediff-even-diff-Ancestor
   (if ediff-emacs-p
       `((((type pc))
 	 (:foreground "cyan3" :background "light grey"))
@@ -1208,23 +1230,25 @@
       (t (:italic t :stipple ,stipple-pixmap))))
   "Face for highlighting even-numbered non-current differences in the ancestor buffer."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-even-diff-face-Ancestor 'face-alias 'ediff-even-diff-Ancestor)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-even-diff-face-Ancestor 'ediff-even-diff-face-Ancestor
+(defvar ediff-even-diff-face-Ancestor 'ediff-even-diff-Ancestor
   "Face for highlighting even-numbered non-current differences in buffer Ancestor.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-even-diff-face-Ancestor'
+widget to customize the actual face object `ediff-even-diff-Ancestor'
 this variable represents.")
-(ediff-hide-face 'ediff-even-diff-face-Ancestor)
+(ediff-hide-face 'ediff-even-diff-Ancestor)
 
 ;; Association between buffer types and even-diff-face symbols
 (defconst ediff-even-diff-face-alist
-  '((A . ediff-even-diff-face-A)
-    (B . ediff-even-diff-face-B)
-    (C . ediff-even-diff-face-C)
-    (Ancestor . ediff-even-diff-face-Ancestor)))
+  '((A . ediff-even-diff-A)
+    (B . ediff-even-diff-B)
+    (C . ediff-even-diff-C)
+    (Ancestor . ediff-even-diff-Ancestor)))
 
-(defface ediff-odd-diff-face-A
+(defface ediff-odd-diff-A
   (if ediff-emacs-p
       '((((type pc))
 	 (:foreground "green3" :background "gray40"))
@@ -1239,17 +1263,19 @@
       (t	     	     (:italic t :stipple "gray1"))))
   "Face for highlighting odd-numbered non-current differences in buffer A."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-odd-diff-face-A 'face-alias 'ediff-odd-diff-A)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-odd-diff-face-A 'ediff-odd-diff-face-A
+(defvar ediff-odd-diff-face-A 'ediff-odd-diff-A
   "Face for highlighting odd-numbered non-current differences in buffer A.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-odd-diff-face-A'
+widget to customize the actual face object `ediff-odd-diff-A'
 this variable represents.")
-(ediff-hide-face 'ediff-odd-diff-face-A)
+(ediff-hide-face 'ediff-odd-diff-A)
 
 
-(defface ediff-odd-diff-face-B
+(defface ediff-odd-diff-B
   (if ediff-emacs-p
       '((((type pc))
 	 (:foreground "White" :background "gray40"))
@@ -1264,16 +1290,18 @@
       (t	     	     (:italic t :stipple "gray1"))))
   "Face for highlighting odd-numbered non-current differences in buffer B."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-odd-diff-face-B 'face-alias 'ediff-odd-diff-B)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-odd-diff-face-B 'ediff-odd-diff-face-B
+(defvar ediff-odd-diff-face-B 'ediff-odd-diff-B
   "Face for highlighting odd-numbered non-current differences in buffer B.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-odd-diff-face-B'
+widget to customize the actual face object `ediff-odd-diff-B'
 this variable represents.")
-(ediff-hide-face 'ediff-odd-diff-face-B)
+(ediff-hide-face 'ediff-odd-diff-B)
 
-(defface ediff-odd-diff-face-C
+(defface ediff-odd-diff-C
   (if ediff-emacs-p
       '((((type pc))
 	 (:foreground "yellow3" :background "gray40"))
@@ -1288,16 +1316,18 @@
       (t	     	     (:italic t :stipple "gray1"))))
   "Face for highlighting odd-numbered non-current differences in buffer C."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-odd-diff-face-C 'face-alias 'ediff-odd-diff-C)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-odd-diff-face-C 'ediff-odd-diff-face-C
+(defvar ediff-odd-diff-face-C 'ediff-odd-diff-C
   "Face for highlighting odd-numbered non-current differences in buffer C.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-odd-diff-face-C'
+widget to customize the actual face object `ediff-odd-diff-C'
 this variable represents.")
-(ediff-hide-face 'ediff-odd-diff-face-C)
+(ediff-hide-face 'ediff-odd-diff-C)
 
-(defface ediff-odd-diff-face-Ancestor
+(defface ediff-odd-diff-Ancestor
   (if ediff-emacs-p
       '((((class color) (min-colors 16))
 	 (:foreground "cyan3" :background "gray40"))
@@ -1309,14 +1339,16 @@
       (t	     	     (:italic t :stipple "gray1"))))
   "Face for highlighting odd-numbered non-current differences in the ancestor buffer."
   :group 'ediff-highlighting)
+;; backward-compatibility alias
+(put 'ediff-odd-diff-face-Ancestor 'face-alias 'ediff-odd-diff-Ancestor)
 ;; An internal variable.  Ediff takes the face from here.  When unhighlighting,
 ;; this variable is set to nil, then again to the appropriate face.
-(defvar ediff-odd-diff-face-Ancestor 'ediff-odd-diff-face-Ancestor
+(defvar ediff-odd-diff-face-Ancestor 'ediff-odd-diff-Ancestor
   "Face for highlighting odd-numbered non-current differences in buffer Ancestor.
 DO NOT CHANGE this variable.  Instead, use the customization
-widget to customize the actual face object `ediff-odd-diff-face-Ancestor'
+widget to customize the actual face object `ediff-odd-diff-Ancestor'
 this variable represents.")
-(ediff-hide-face 'ediff-odd-diff-face-Ancestor)
+(ediff-hide-face 'ediff-odd-diff-Ancestor)
 
 ;; Association between buffer types and odd-diff-face symbols
 (defconst ediff-odd-diff-face-alist
@@ -1333,13 +1365,13 @@
     (Ancestor . ediff-fine-diff-face-Ancestor)))
 
 ;; Help echo
-(put 'ediff-fine-diff-face-A 'ediff-help-echo
+(put 'ediff-fine-diff-A 'ediff-help-echo
      "A `refinement' of the current difference region")
-(put 'ediff-fine-diff-face-B 'ediff-help-echo
+(put 'ediff-fine-diff-B 'ediff-help-echo
      "A `refinement' of the current difference region")
-(put 'ediff-fine-diff-face-C 'ediff-help-echo
+(put 'ediff-fine-diff-C 'ediff-help-echo
      "A `refinement' of the current difference region")
-(put 'ediff-fine-diff-face-Ancestor 'ediff-help-echo
+(put 'ediff-fine-diff-Ancestor 'ediff-help-echo
      "A `refinement' of the current difference region")
 
 (add-hook 'ediff-quit-hook 'ediff-cleanup-mess)
--- a/lisp/emacs-lisp/byte-opt.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/byte-opt.el	Fri Jun 24 01:59:52 2005 +0000
@@ -152,11 +152,11 @@
 ;; ;; Associative math should recognize subcalls to identical function:
 ;; (disassemble (lambda (x) (+ (+ (foo) 1) (+ (bar) 2))))
 ;; ;; This should generate the same as (1+ x) and (1- x)
-   
+
 ;; (disassemble (lambda (x) (cons (+ x 1) (- x 1))))
 ;; ;; An awful lot of functions always return a non-nil value.  If they're
 ;; ;; error free also they may act as true-constants.
-   
+
 ;; (disassemble (lambda (x) (and (point) (foo))))
 ;; ;; When
 ;; ;;   - all but one arguments to a function are constant
@@ -165,19 +165,19 @@
 ;; ;; condition is side-effect-free [assignment-free] then the other
 ;; ;; arguments may be any expressions.  Since, however, the code size
 ;; ;; can increase this way they should be "simple".  Compare:
-   
+
 ;; (disassemble (lambda (x) (eq (if (point) 'a 'b) 'c)))
 ;; (disassemble (lambda (x) (if (point) (eq 'a 'c) (eq 'b 'c))))
-   
+
 ;; ;; (car (cons A B)) -> (prog1 A B)
 ;; (disassemble (lambda (x) (car (cons (foo) 42))))
-   
+
 ;; ;; (cdr (cons A B)) -> (progn A B)
 ;; (disassemble (lambda (x) (cdr (cons 42 (foo)))))
-   
+
 ;; ;; (car (list A B ...)) -> (prog1 A B ...)
 ;; (disassemble (lambda (x) (car (list (foo) 42 (bar)))))
-   
+
 ;; ;; (cdr (list A B ...)) -> (progn A (list B ...))
 ;; (disassemble (lambda (x) (cdr (list 42 (foo) (bar)))))
 
@@ -1126,7 +1126,7 @@
 This assumes that the function will not have any side-effects and that
 its return value depends solely on its arguments.
 If the function can signal an error, this might change the semantics
-of FORM by signalling the error at compile-time."
+of FORM by signaling the error at compile-time."
   (let ((args (cdr form))
 	(constant t))
     (while (and args constant)
--- a/lisp/emacs-lisp/debug.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/debug.el	Fri Jun 24 01:59:52 2005 +0000
@@ -653,6 +653,12 @@
       nil
     (funcall debugger 'debug)))
 
+(defun debugger-special-form-p (symbol)
+  "Return whether SYMBOL is a special form."
+  (and (fboundp symbol)
+       (subrp (symbol-function symbol))
+       (eq (cdr (subr-arity (symbol-function symbol))) 'unevalled)))
+
 ;;;###autoload
 (defun debug-on-entry (function)
   "Request FUNCTION to invoke debugger each time it is called.
@@ -668,9 +674,21 @@
 
 Use \\[cancel-debug-on-entry] to cancel the effect of this command.
 Redefining FUNCTION also cancels it."
-  (interactive "aDebug on entry (to function): ")
-  (when (and (subrp (symbol-function function))
-	     (eq (cdr (subr-arity (symbol-function function))) 'unevalled))
+  (interactive
+   (let ((fn (function-called-at-point)) val)
+     (when (debugger-special-form-p fn)
+       (setq fn nil))
+     (setq val (completing-read 
+		(if fn
+		    (format "Debug on entry to function (default %s): " fn)
+		  "Debug on entry to function: ")
+		obarray
+		#'(lambda (symbol)
+		    (and (fboundp symbol)
+			 (not (debugger-special-form-p symbol))))
+		t nil nil (symbol-name fn)))
+     (list (if (equal val "") fn (intern val)))))
+  (when (debugger-special-form-p function)
     (error "Function %s is a special form" function))
   (if (or (symbolp (symbol-function function))
 	  (subrp (symbol-function function)))
--- a/lisp/emacs-lisp/derived.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/derived.el	Fri Jun 24 01:59:52 2005 +0000
@@ -320,7 +320,7 @@
 
 ;;;###autoload
 (defun derived-mode-init-mode-variables (mode)
-  "Initialise variables for a new MODE.
+  "Initialize variables for a new MODE.
 Right now, if they don't already exist, set up a blank keymap, an
 empty syntax table, and an empty abbrev table -- these will be merged
 the first time the mode is used."
--- a/lisp/emacs-lisp/edebug.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/edebug.el	Fri Jun 24 01:59:52 2005 +0000
@@ -511,9 +511,16 @@
 	   (set-default (nth 1 form) (eval (nth 2 form))))
           ((eq (car form) 'defface)
            ;; Reset the face.
+           (setq face-new-frame-defaults
+                 (assq-delete-all (nth 1 form) face-new-frame-defaults))
            (put (nth 1 form) 'face-defface-spec nil)
-           (setq face-new-frame-defaults
-                 (assq-delete-all (nth 1 form) face-new-frame-defaults))))
+	   ;; See comments in `eval-defun-1' for purpose of code below
+	   (setq form (prog1 `(prog1 ,form
+				(put ',(nth 1 form) 'saved-face
+				     ',(get (nth 1 form) 'saved-face))
+				(put ',(nth 1 form) 'customized-face
+				     ',(nth 2 form)))
+			(put (nth 1 form) 'saved-face nil)))))
     (setq edebug-result (eval form))
     (if (not edebugging)
 	(princ edebug-result)
@@ -3323,7 +3330,7 @@
 
 
 (defun edebug-goto-here ()
-  "Proceed to this stop point."
+  "Proceed to first stop-point at or after current position of point."
   (interactive)
   (edebug-go-mode t))
 
--- a/lisp/emacs-lisp/elint.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/elint.el	Fri Jun 24 01:59:52 2005 +0000
@@ -66,7 +66,7 @@
      left-margin left-margin-width line-spacing local-abbrev-table local-write-file-hooks major-mode
      mark-active mark-ring mode-line-buffer-identification
      mode-line-format mode-line-modified mode-line-process mode-name
-     overwrite-mode 
+     overwrite-mode
      point-before-scroll right-fringe-width right-margin-width
      scroll-bar-width scroll-down-aggressively scroll-up-aggressively selective-display
      selective-display-ellipses tab-width truncate-lines vc-mode vertical-scroll-bar)
@@ -298,7 +298,7 @@
   (not (eobp)))
 
 (defun elint-init-env (forms)
-  "Initialise the environment from FORMS."
+  "Initialize the environment from FORMS."
   (let ((env (elint-make-env))
 	form)
     (while forms
--- a/lisp/emacs-lisp/lisp-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/lisp-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -617,10 +617,23 @@
 	;; `defface' is macroexpanded to `custom-declare-face'.
 	((eq (car form) 'custom-declare-face)
 	 ;; Reset the face.
-	 (put (eval (nth 1 form)) 'face-defface-spec nil)
 	 (setq face-new-frame-defaults
 	       (assq-delete-all (eval (nth 1 form)) face-new-frame-defaults))
-	 form)
+	 (put (eval (nth 1 form)) 'face-defface-spec nil)
+	 ;; Setting `customized-face' to the new spec after calling
+	 ;; the form, but preserving the old saved spec in `saved-face',
+	 ;; imitates the situation when the new face spec is set
+	 ;; temporarily for the current session in the customize
+	 ;; buffer, thus allowing `face-user-default-spec' to use the
+	 ;; new customized spec instead of the saved spec.
+	 ;; Resetting `saved-face' temporarily to nil is needed to let
+	 ;; `defface' change the spec, regardless of a saved spec.
+	 (prog1 `(prog1 ,form
+		   (put ',(eval (nth 1 form)) 'saved-face
+			',(get (eval (nth 1 form)) 'saved-face))
+		   (put ',(eval (nth 1 form)) 'customized-face
+			',(eval (nth 2 form))))
+	   (put (eval (nth 1 form)) 'saved-face nil)))
 	((eq (car form) 'progn)
 	 (cons 'progn (mapcar 'eval-defun-1 (cdr form))))
 	(t form)))
--- a/lisp/emacs-lisp/lisp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/lisp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -489,7 +489,7 @@
 expressions (\"sexps\") in general.  This is done according to the
 current syntax table and will find unbalanced brackets or quotes as
 appropriate.  (See Info node `(emacs)Parentheses'.)  If imbalance is
-found, an error is signalled and point is left at the first unbalanced
+found, an error is signaled and point is left at the first unbalanced
 character."
   (interactive)
   (condition-case data
--- a/lisp/emacs-lisp/regexp-opt.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/regexp-opt.el	Fri Jun 24 01:59:52 2005 +0000
@@ -116,7 +116,7 @@
 (defun regexp-opt-depth (regexp)
   "Return the depth of REGEXP.
 This means the number of non-shy regexp grouping constructs
-\(parenthesised expressions) in REGEXP."
+\(parenthesized expressions) in REGEXP."
   (save-match-data
     ;; Hack to signal an error if REGEXP does not have balanced parentheses.
     (string-match regexp "")
--- a/lisp/emacs-lisp/ring.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/ring.el	Fri Jun 24 01:59:52 2005 +0000
@@ -155,8 +155,13 @@
       (aref vec (ring-index index hd ln (length vec))))))
 
 (defun ring-elements (ring)
-  "Return a list of the elements of RING."
-  (mapcar #'identity (cddr ring)))
+  "Return a list of the elements of RING, in order, newest first."
+  (let ((start (car ring))
+	(size (ring-size ring))
+	(vect (cddr ring))
+	lst)
+    (dotimes (var (cadr ring) lst)
+      (push (aref vect (mod (+ start var) size)) lst))))
 
 ;;; provide ourself:
 
--- a/lisp/emacs-lisp/warnings.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emacs-lisp/warnings.el	Fri Jun 24 01:59:52 2005 +0000
@@ -76,16 +76,20 @@
 the warning is logged in the warnings buffer, but the buffer
 is not immediately displayed.  See also `warning-minimum-log-level'."
   :group 'warnings
-  :type '(choice (const :emergency) (const :error) (const :warning))
+  :type '(choice (const :emergency) (const :error)
+                 (const :warning) (const :debug))
   :version "22.1")
 (defvaralias 'display-warning-minimum-level 'warning-minimum-level)
 
 (defcustom warning-minimum-log-level :warning
   "Minimum severity level for logging a warning.
 If a warning severity level is lower than this,
-the warning is completely ignored."
+the warning is completely ignored.
+Value must be lower or equal than `warning-minimum-level',
+because warnings not logged aren't displayed either."
   :group 'warnings
-  :type '(choice (const :emergency) (const :error) (const :warning))
+  :type '(choice (const :emergency) (const :error)
+                 (const :warning) (const :debug))
   :version "22.1")
 (defvaralias 'log-warning-minimum-level 'warning-minimum-log-level)
 
@@ -203,7 +207,9 @@
 \(The rest of the symbols represent subcategories, for warning purposes
 only, and you can use whatever symbols you like.)
 
-LEVEL should be either :warning, :error, or :emergency.
+LEVEL should be either :debug, :warning, :error, or :emergency
+\(but see `warning-minimum-level' and `warning-minimum-log-level').
+
 :emergency -- a problem that will seriously impair Emacs operation soon
 	      if you do not attend to it promptly.
 :error     -- data or circumstances that are inherently wrong.
@@ -223,7 +229,7 @@
   (if (assq level warning-level-aliases)
       (setq level (cdr (assq level warning-level-aliases))))
   (or (< (warning-numeric-level level)
-	 (warning-numeric-level warning-minimum-log-level))
+         (warning-numeric-level warning-minimum-log-level))
       (warning-suppress-p type warning-suppress-log-types)
       (let* ((typename (if (consp type) (car type) type))
 	     (buffer (get-buffer-create (or buffer-name "*Warnings*")))
@@ -291,11 +297,14 @@
 \(The rest of the symbols represent subcategories and
 can be whatever you like.)
 
-LEVEL should be either :warning, :error, or :emergency.
+LEVEL should be either :debug, :warning, :error, or :emergency
+\(but see `warning-minimum-level' and `warning-minimum-log-level').
+
 :emergency -- a problem that will seriously impair Emacs operation soon
 	      if you do not attend to it promptly.
 :error     -- invalid data or circumstances.
-:warning   -- suspicious data or circumstances."
+:warning   -- suspicious data or circumstances.
+:debug     -- info for debugging only."
   (display-warning type (apply 'format message args) level))
 
 ;;;###autoload
--- a/lisp/emulation/vip.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/emulation/vip.el	Fri Jun 24 01:59:52 2005 +0000
@@ -2292,7 +2292,7 @@
 			     (setq cont nil))
 			    (t (error "Extra character at end of a command")))))))
 	    ((string= ex-token-type "non-command")
-	     (error (format "%s: Not an editor command" ex-token)))
+	     (error "%s: Not an editor command" ex-token))
 	    ((string= ex-token-type "whole")
 	     (setq ex-addresses
 		   (cons (point-max) (cons (point-min) ex-addresses))))
--- a/lisp/eshell/em-ls.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/eshell/em-ls.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; em-ls.el --- implementation of ls in Lisp
 
-;; Copyright (C) 1999, 2000 Free Software Foundation
+;; Copyright (C) 1999, 2000, 2005 Free Software Foundation
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
@@ -106,48 +106,62 @@
   :type 'boolean
   :group 'eshell-ls)
 
-(defface eshell-ls-directory-face
+(defface eshell-ls-directory
   '((((class color) (background light)) (:foreground "Blue" :weight bold))
     (((class color) (background dark)) (:foreground "SkyBlue" :weight bold))
     (t (:weight bold)))
   "*The face used for highlight directories."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-directory-face 'face-alias 'eshell-ls-directory)
 
-(defface eshell-ls-symlink-face
+(defface eshell-ls-symlink
   '((((class color) (background light)) (:foreground "Dark Cyan" :weight bold))
     (((class color) (background dark)) (:foreground "Cyan" :weight bold)))
   "*The face used for highlight symbolic links."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-symlink-face 'face-alias 'eshell-ls-symlink)
 
-(defface eshell-ls-executable-face
+(defface eshell-ls-executable
   '((((class color) (background light)) (:foreground "ForestGreen" :weight bold))
     (((class color) (background dark)) (:foreground "Green" :weight bold)))
   "*The face used for highlighting executables (not directories, though)."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-executable-face 'face-alias 'eshell-ls-executable)
 
-(defface eshell-ls-readonly-face
+(defface eshell-ls-readonly
   '((((class color) (background light)) (:foreground "Brown"))
     (((class color) (background dark)) (:foreground "Pink")))
   "*The face used for highlighting read-only files."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-readonly-face 'face-alias 'eshell-ls-readonly)
 
-(defface eshell-ls-unreadable-face
+(defface eshell-ls-unreadable
   '((((class color) (background light)) (:foreground "Grey30"))
     (((class color) (background dark)) (:foreground "DarkGrey")))
   "*The face used for highlighting unreadable files."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-unreadable-face 'face-alias 'eshell-ls-unreadable)
 
-(defface eshell-ls-special-face
+(defface eshell-ls-special
   '((((class color) (background light)) (:foreground "Magenta" :weight bold))
     (((class color) (background dark)) (:foreground "Magenta" :weight bold)))
   "*The face used for highlighting non-regular files."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-special-face 'face-alias 'eshell-ls-special)
 
-(defface eshell-ls-missing-face
+(defface eshell-ls-missing
   '((((class color) (background light)) (:foreground "Red" :weight bold))
     (((class color) (background dark)) (:foreground "Red" :weight bold)))
   "*The face used for highlighting non-existant file names."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-missing-face 'face-alias 'eshell-ls-missing)
 
 (defcustom eshell-ls-archive-regexp
   (concat "\\.\\(t\\(a[rz]\\|gz\\)\\|arj\\|lzh\\|"
@@ -158,11 +172,13 @@
   :type 'regexp
   :group 'eshell-ls)
 
-(defface eshell-ls-archive-face
+(defface eshell-ls-archive
   '((((class color) (background light)) (:foreground "Orchid" :weight bold))
     (((class color) (background dark)) (:foreground "Orchid" :weight bold)))
   "*The face used for highlighting archived and compressed file names."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-archive-face 'face-alias 'eshell-ls-archive)
 
 (defcustom eshell-ls-backup-regexp
   "\\(\\`\\.?#\\|\\(\\.bak\\|~\\)\\'\\)"
@@ -170,11 +186,13 @@
   :type 'regexp
   :group 'eshell-ls)
 
-(defface eshell-ls-backup-face
+(defface eshell-ls-backup
   '((((class color) (background light)) (:foreground "OrangeRed"))
     (((class color) (background dark)) (:foreground "LightSalmon")))
   "*The face used for highlighting backup file names."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-backup-face 'face-alias 'eshell-ls-backup)
 
 (defcustom eshell-ls-product-regexp
   "\\.\\(elc\\|o\\(bj\\)?\\|a\\|lib\\|res\\)\\'"
@@ -184,11 +202,13 @@
   :type 'regexp
   :group 'eshell-ls)
 
-(defface eshell-ls-product-face
+(defface eshell-ls-product
   '((((class color) (background light)) (:foreground "OrangeRed"))
     (((class color) (background dark)) (:foreground "LightSalmon")))
   "*The face used for highlighting files that are build products."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-product-face 'face-alias 'eshell-ls-product)
 
 (defcustom eshell-ls-clutter-regexp
   "\\(^texput\\.log\\|^core\\)\\'"
@@ -198,11 +218,13 @@
   :type 'regexp
   :group 'eshell-ls)
 
-(defface eshell-ls-clutter-face
+(defface eshell-ls-clutter
   '((((class color) (background light)) (:foreground "OrangeRed" :weight bold))
     (((class color) (background dark)) (:foreground "OrangeRed" :weight bold)))
   "*The face used for highlighting junk file names."
   :group 'eshell-ls)
+;; backward-compatibility alias
+(put 'eshell-ls-clutter-face 'face-alias 'eshell-ls-clutter)
 
 (defsubst eshell-ls-filetype-p (attrs type)
   "Test whether ATTRS specifies a directory."
@@ -847,41 +869,41 @@
       (let ((face
 	     (cond
 	      ((not (cdr file))
-	       'eshell-ls-missing-face)
+	       'eshell-ls-missing)
 
 	      ((stringp (cadr file))
-	       'eshell-ls-symlink-face)
+	       'eshell-ls-symlink)
 
 	      ((eq (cadr file) t)
-	       'eshell-ls-directory-face)
+	       'eshell-ls-directory)
 
 	      ((not (eshell-ls-filetype-p (cdr file) ?-))
-	       'eshell-ls-special-face)
+	       'eshell-ls-special)
 
 	      ((and (/= (user-uid) 0) ; root can execute anything
 		    (eshell-ls-applicable (cdr file) 3
 					  'file-executable-p (car file)))
-	       'eshell-ls-executable-face)
+	       'eshell-ls-executable)
 
 	      ((not (eshell-ls-applicable (cdr file) 1
 					  'file-readable-p (car file)))
-	       'eshell-ls-unreadable-face)
+	       'eshell-ls-unreadable)
 
 	      ((string-match eshell-ls-archive-regexp (car file))
-	       'eshell-ls-archive-face)
+	       'eshell-ls-archive)
 
 	      ((string-match eshell-ls-backup-regexp (car file))
-	       'eshell-ls-backup-face)
+	       'eshell-ls-backup)
 
 	      ((string-match eshell-ls-product-regexp (car file))
-	       'eshell-ls-product-face)
+	       'eshell-ls-product)
 
 	      ((string-match eshell-ls-clutter-regexp (car file))
-	       'eshell-ls-clutter-face)
+	       'eshell-ls-clutter)
 
 	      ((not (eshell-ls-applicable (cdr file) 2
 					  'file-writable-p (car file)))
-	       'eshell-ls-readonly-face)
+	       'eshell-ls-readonly)
 	      (eshell-ls-highlight-alist
 	       (let ((tests eshell-ls-highlight-alist)
 		     value)
--- a/lisp/eshell/em-prompt.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/eshell/em-prompt.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; em-prompt.el --- command prompts
 
-;; Copyright (C) 1999, 2000 Free Software Foundation
+;; Copyright (C) 1999, 2000, 2005 Free Software Foundation
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
@@ -68,7 +68,7 @@
   :type 'boolean
   :group 'eshell-prompt)
 
-(defface eshell-prompt-face
+(defface eshell-prompt
   '((((class color) (background light)) (:foreground "Red" :bold t))
     (((class color) (background dark)) (:foreground "Pink" :bold t))
     (t (:bold t)))
@@ -76,6 +76,8 @@
 For highlighting other kinds of strings -- similar to shell mode's
 behavior -- simply use an output filer which changes text properties."
   :group 'eshell-prompt)
+;; backward-compatibility alias
+(put 'eshell-prompt-face 'face-alias 'eshell-prompt)
 
 (defcustom eshell-before-prompt-hook nil
   "*A list of functions to call before outputting the prompt."
@@ -119,7 +121,7 @@
       (and eshell-highlight-prompt
 	   (add-text-properties 0 (length prompt)
 				'(read-only t
-				  face eshell-prompt-face
+				  face eshell-prompt
 				  rear-nonsticky (face read-only))
 				prompt))
       (eshell-interactive-print prompt)))
--- a/lisp/eshell/esh-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/eshell/esh-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -821,7 +821,7 @@
   "Go to the end of buffer in all windows showing it.
 Movement occurs if point in the selected window is not after the
 process mark, and `this-command' is an insertion command.  Insertion
-commands recognised are `self-insert-command', `yank', and
+commands recognized are `self-insert-command', `yank', and
 `hilit-yank'.  Depends on the value of
 `eshell-scroll-to-bottom-on-input'.
 
--- a/lisp/eshell/esh-test.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/eshell/esh-test.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; esh-test.el --- Eshell test suite
 
-;; Copyright (C) 1999, 2000 Free Software Foundation
+;; Copyright (C) 1999, 2000, 2005 Free Software Foundation
 
 ;; Author: John Wiegley <johnw@gnu.org>
 
@@ -42,18 +42,22 @@
 
 ;;; User Variables:
 
-(defface eshell-test-ok-face
+(defface eshell-test-ok
   '((((class color) (background light)) (:foreground "Green" :bold t))
     (((class color) (background dark)) (:foreground "Green" :bold t)))
   "*The face used to highlight OK result strings."
   :group 'eshell-test)
+;; backward-compatibility alias
+(put 'eshell-test-ok-face 'face-alias 'eshell-test-ok)
 
-(defface eshell-test-failed-face
+(defface eshell-test-failed
   '((((class color) (background light)) (:foreground "OrangeRed" :bold t))
     (((class color) (background dark)) (:foreground "OrangeRed" :bold t))
     (t (:bold t)))
   "*The face used to highlight FAILED result strings."
   :group 'eshell-test)
+;; backward-compatibility alias
+(put 'eshell-test-failed-face 'face-alias 'eshell-test-failed)
 
 (defcustom eshell-show-usage-metrics nil
   "*If non-nil, display different usage metrics for each Eshell command."
@@ -108,12 +112,10 @@
 	       (if truth
 		   (progn
 		     (setq str "  OK  ")
-		     (put-text-property 0 6 'face
-					'eshell-test-ok-face str))
+		     (put-text-property 0 6 'face 'eshell-test-ok str))
 		 (setq str "FAILED")
 		 (setq eshell-test-failures (1+ eshell-test-failures))
-		 (put-text-property 0 6 'face
-				    'eshell-test-failed-face str))
+		 (put-text-property 0 6 'face 'eshell-test-failed str))
 	       str) "]")
 	(add-text-properties (line-beginning-position) (point)
 			     (list 'test-func funcsym))
--- a/lisp/faces.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/faces.el	Fri Jun 24 01:59:52 2005 +0000
@@ -513,8 +513,17 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun face-documentation (face)
-  "Get the documentation string for FACE."
-  (get face 'face-documentation))
+  "Get the documentation string for FACE.
+If FACE is a face-alias, get the documentation for the target face."
+  (let ((alias (get face 'face-alias))
+        doc)
+    (if alias
+        (progn
+          (setq doc (get alias 'face-documentation))
+          (format "%s is an alias for the face `%s'.%s" face alias
+                  (if doc (format "\n%s" doc)
+                    "")))
+      (get face 'face-documentation))))
 
 
 (defun set-face-documentation (face string)
@@ -661,7 +670,7 @@
     (setq args (purecopy args))
     ;; If we set the new-frame defaults, this face is modified outside Custom.
     (if (memq where '(0 t))
-	(put face 'face-modified t))
+	(put (or (get face 'face-alias) face) 'face-modified t))
     (while args
       (internal-set-lisp-face-attribute face (car args)
 					(purecopy (cadr args))
@@ -1444,7 +1453,7 @@
   ;; When we reset the face based on its spec, then it is unmodified
   ;; as far as Custom is concerned.
   (if (null frame)
-      (put face 'face-modified nil)))
+      (put (or (get face 'face-alias) face) 'face-modified nil)))
 
 
 (defun face-attr-match-p (face attrs &optional frame)
@@ -1478,7 +1487,8 @@
 (defsubst face-user-default-spec (face)
   "Return the user's customized face-spec for FACE, or the default if none.
 If there is neither a user setting nor a default for FACE, return nil."
-  (or (get face 'saved-face)
+  (or (get face 'customized-face)
+      (get face 'saved-face)
       (face-default-spec face)))
 
 
@@ -1550,9 +1560,9 @@
 
 (defcustom frame-background-mode nil
   "*The brightness of the background.
-Set this to the symbol `dark' if your background color is dark, `light' if
-your background is light, or nil (default) if you want Emacs to
-examine the brightness for you.  Don't set this variable with `setq';
+Set this to the symbol `dark' if your background color is dark,
+`light' if your background is light, or nil (default) if you want Emacs
+to examine the brightness for you.  Don't set this variable with `setq';
 this won't have the expected effect."
   :group 'faces
   :set #'(lambda (var value)
@@ -1870,6 +1880,13 @@
   :group 'modeline
   :group 'basic-faces)
 
+(defface vertical-border
+  '((default :inherit mode-line-inactive))
+  "Face used for vertical window dividers on ttys."
+  :version "22.1"
+  :group 'modeline
+  :group 'basic-faces)
+
 ;; Make `modeline' an alias for `mode-line', for compatibility.
 (put 'modeline 'face-alias 'mode-line)
 (put 'modeline-inactive 'face-alias 'mode-line-inactive)
@@ -2036,7 +2053,11 @@
   :group 'basic-faces)
 
 
-(defface underline '((t :underline t))
+(defface underline '((((supports :underline t))
+		      :underline t)
+		     (((supports :weight bold))
+		      :weight bold)
+		     (t :underline t))
   "Basic underlined face."
   :group 'basic-faces)
 
@@ -2095,21 +2116,22 @@
   :group 'basic-faces)
 
 (defface escape-glyph
-  '((((background dark)) :foreground "pink2")
+  '((((background dark)) :foreground "cyan")
     ;; See the comment in minibuffer-prompt for
     ;; the reason not to use blue on MS-DOS.
     (((type pc)) :foreground "magenta")
-    ;; red4 is too light -- rms.
-    (t :foreground "blue"))
+    ;; red4 is too dark, but some say blue is too loud.
+    ;; brown seems to work ok. -- rms.
+    (t :foreground "brown"))
   "Face for characters displayed as ^-sequences or \-sequences."
   :group 'basic-faces
   :version "22.1")
 
-(defface no-break-space
+(defface nobreak-space
   '((((class color) (min-colors 88)) :inherit escape-glyph :underline t)
-    (((class color) (min-colors 8)) :background "magenta" :foreground )
+    (((class color) (min-colors 8)) :background "magenta")
     (t :inverse-video t))
-  "Face for non-breaking space."
+  "Face for displaying nobreak space."
   :group 'basic-faces
   :version "22.1")
 
--- a/lisp/find-file.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/find-file.el	Fri Jun 24 01:59:52 2005 +0000
@@ -191,7 +191,7 @@
        (setq fname (buffer-substring (match-beginning 2) (match-end 2)))))
     )
   "*A list of regular expressions for `ff-find-file'.
-Specifies how to recognise special constructs such as include files
+Specifies how to recognize special constructs such as include files
 etc. and an associated method for extracting the filename from that
 construct.")
 
@@ -215,7 +215,7 @@
 
 This list is searched through with each extension specified in
 `ff-other-file-alist' that matches this file's extension.  So the
-longer the list, the longer it'll take to realise that a file
+longer the list, the longer it'll take to realize that a file
 may not exist.
 
 A typical format is
@@ -340,7 +340,7 @@
    If non-nil, traces which directories are being searched.
 
  - `ff-special-constructs'
-   A list of regular expressions specifying how to recognise special
+   A list of regular expressions specifying how to recognize special
    constructs such as include files etc, and an associated method for
    extracting the filename from that construct.
 
--- a/lisp/font-lock.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/font-lock.el	Fri Jun 24 01:59:52 2005 +0000
@@ -430,7 +430,7 @@
 the search, as for MATCH-HIGHLIGHT above, but with one exception; see below.
 PRE-MATCH-FORM and POST-MATCH-FORM are evaluated before the first, and after
 the last, instance MATCH-ANCHORED's MATCHER is used.  Therefore they can be
-used to initialise before, and cleanup after, MATCHER is used.  Typically,
+used to initialize before, and cleanup after, MATCHER is used.  Typically,
 PRE-MATCH-FORM is used to move to some position relative to the original
 MATCHER, before starting with MATCH-ANCHORED's MATCHER.  POST-MATCH-FORM might
 be used to move back, before resuming with MATCH-ANCHORED's parent's MATCHER.
--- a/lisp/gnus/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,138 @@
+2005-06-23  Lute Kamstra  <lute@gnu.org>
+
+	* gnus-art.el (gnus-article-mode): Use kill-all-local-variables.
+
+	* dig.el (dig-mode):
+	* smime.el (smime-mode): Use gnus-run-mode-hooks.
+
+2005-06-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* nnimap.el (nnimap-split-download-body): Fix spellings.
+
+2005-06-16  Juanma Barranquero  <lekktu@gmail.com>
+
+	* gnus-art.el (gnus-article-encrypt-body):
+	* gnus-cus.el (gnus-score-customize):
+	* mm-extern.el (mm-extern-local-file, mm-inline-external-body):
+	* pop3.el (pop3-user): Don't use `format' on `error' arguments.
+
+2005-06-16  Miles Bader  <miles@gnu.org>
+
+	* spam.el (spam): Remove "-face" suffix from face name.
+	(spam-face): New backward-compatibility alias for renamed face.
+	(spam-face, spam-initialize): Use renamed spam face.
+
+	* message.el (message-header-to, message-header-cc)
+	(message-header-subject, message-header-newsgroups)
+	(message-header-other, message-header-name)
+	(message-header-xheader, message-separator, message-cited-text)
+	(message-mml): Remove "-face" suffix from face names.
+	(message-header-to-face, message-header-cc-face)
+	(message-header-subject-face, message-header-newsgroups-face)
+	(message-header-other-face, message-header-name-face)
+	(message-header-xheader-face, message-separator-face)
+	(message-cited-text-face, message-mml-face):
+	New backward-compatibility aliases for renamed faces.
+	(message-font-lock-keywords): Use renamed message faces.
+
+	* sieve-mode.el (sieve-control-commands, sieve-action-commands)
+	(sieve-test-commands, sieve-tagged-arguments):
+	Remove "-face" suffix from face names.
+	(sieve-control-commands-face, sieve-action-commands-face)
+	(sieve-test-commands-face, sieve-tagged-arguments-face):
+	New backward-compatibility aliases for renamed faces.
+	(sieve-control-commands-face, sieve-action-commands-face)
+	(sieve-test-commands-face, sieve-tagged-arguments-face):
+	Use renamed sieve faces.
+
+	* gnus.el (gnus-group-news-1, gnus-group-news-1-empty)
+	(gnus-group-news-2, gnus-group-news-2-empty, gnus-group-news-3)
+	(gnus-group-news-3-empty, gnus-group-news-4)
+	(gnus-group-news-4-empty, gnus-group-news-5)
+	(gnus-group-news-5-empty, gnus-group-news-6)
+	(gnus-group-news-6-empty, gnus-group-news-low)
+	(gnus-group-news-low-empty, gnus-group-mail-1)
+	(gnus-group-mail-1-empty, gnus-group-mail-2)
+	(gnus-group-mail-2-empty, gnus-group-mail-3)
+	(gnus-group-mail-3-empty, gnus-group-mail-low)
+	(gnus-group-mail-low-empty, gnus-summary-selected)
+	(gnus-summary-cancelled, gnus-summary-high-ticked)
+	(gnus-summary-low-ticked, gnus-summary-normal-ticked)
+	(gnus-summary-high-ancient, gnus-summary-low-ancient)
+	(gnus-summary-normal-ancient, gnus-summary-high-undownloaded)
+	(gnus-summary-low-undownloaded)
+	(gnus-summary-normal-undownloaded, gnus-summary-high-unread)
+	(gnus-summary-low-unread, gnus-summary-normal-unread)
+	(gnus-summary-high-read, gnus-summary-low-read)
+	(gnus-summary-normal-read, gnus-splash):
+	Remove "-face" suffix from face names.
+	(gnus-group-news-1-face, gnus-group-news-1-empty-face)
+	(gnus-group-news-2-face, gnus-group-news-2-empty-face)
+	(gnus-group-news-3-face, gnus-group-news-3-empty-face)
+	(gnus-group-news-4-face, gnus-group-news-4-empty-face)
+	(gnus-group-news-5-face, gnus-group-news-5-empty-face)
+	(gnus-group-news-6-face, gnus-group-news-6-empty-face)
+	(gnus-group-news-low-face, gnus-group-news-low-empty-face)
+	(gnus-group-mail-1-face, gnus-group-mail-1-empty-face)
+	(gnus-group-mail-2-face, gnus-group-mail-2-empty-face)
+	(gnus-group-mail-3-face, gnus-group-mail-3-empty-face)
+	(gnus-group-mail-low-face, gnus-group-mail-low-empty-face)
+	(gnus-summary-selected-face, gnus-summary-cancelled-face)
+	(gnus-summary-high-ticked-face, gnus-summary-low-ticked-face)
+	(gnus-summary-normal-ticked-face)
+	(gnus-summary-high-ancient-face, gnus-summary-low-ancient-face)
+	(gnus-summary-normal-ancient-face)
+	(gnus-summary-high-undownloaded-face)
+	(gnus-summary-low-undownloaded-face)
+	(gnus-summary-normal-undownloaded-face)
+	(gnus-summary-high-unread-face, gnus-summary-low-unread-face)
+	(gnus-summary-normal-unread-face, gnus-summary-high-read-face)
+	(gnus-summary-low-read-face, gnus-summary-normal-read-face)
+	(gnus-splash-face):
+	New backward-compatibility aliases for renamed faces.
+	(gnus-group-startup-message): Use renamed gnus faces.
+
+	* gnus-srvr.el (gnus-server-agent, gnus-server-opened)
+	(gnus-server-closed, gnus-server-denied, gnus-server-offline)
+	(gnus-server-agent): Remove "-face" suffix from face names.
+	(gnus-server-agent-face, gnus-server-opened-face)
+	(gnus-server-closed-face, gnus-server-denied-face)
+	(gnus-server-offline-face):
+	New backward-compatibility aliases for renamed faces.
+	(gnus-server-agent-face, gnus-server-opened-face)
+	(gnus-server-closed-face, gnus-server-denied-face)
+	(gnus-server-offline-face): Use renamed gnus faces.
+
+	* gnus-picon.el (gnus-picon-xbm, gnus-picon):
+	Remove "-face" suffix from face names.
+	(gnus-picon-xbm-face, gnus-picon-face):
+	New backward-compatibility aliases for renamed faces.
+
+	* gnus-cite.el (gnus-cite-attribution, gnus-cite-1, gnus-cite-2)
+	(gnus-cite-3, gnus-cite-4, gnus-cite-5, gnus-cite-6)
+	(gnus-cite-7, gnus-cite-8, gnus-cite-9, gnus-cite-10)
+	(gnus-cite-11): Remove "-face" suffix from face names.
+	(gnus-cite-attribution-face, gnus-cite-face-1, gnus-cite-face-2)
+	(gnus-cite-face-3, gnus-cite-face-4, gnus-cite-face-5)
+	(gnus-cite-face-6, gnus-cite-face-7, gnus-cite-face-8)
+	(gnus-cite-face-9, gnus-cite-face-10, gnus-cite-face-11):
+	New backward-compatibility aliases for renamed faces.
+	(gnus-cite-attribution-face, gnus-cite-face-list)
+	(gnus-article-boring-faces): Use renamed gnus faces.
+
+	* gnus-art.el (gnus-signature, gnus-header-from)
+	(gnus-header-subject, gnus-header-newsgroups, gnus-header-name)
+	(gnus-header-content): Remove "-face" suffix from face names.
+	(gnus-signature-face, gnus-header-from-face)
+	(gnus-header-subject-face, gnus-header-newsgroups-face)
+	(gnus-header-name-face, gnus-header-content-face):
+	New backward-compatibility aliases for renamed faces.
+	(gnus-signature-face, gnus-header-face-alist): Use renamed gnus faces.
+
+	* gnus-sum.el (gnus-summary-selected-face)
+	(gnus-summary-highlight): Use renamed gnus faces.
+	* gnus-group.el (gnus-group-highlight): Likewise.
+
 2005-06-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* gnus-sieve.el (gnus-sieve-article-add-rule):
--- a/lisp/gnus/dig.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/dig.el	Fri Jun 24 01:59:52 2005 +0000
@@ -148,7 +148,8 @@
     (set (make-local-variable 'font-lock-defaults)
 	 '(dig-font-lock-keywords t)))
   (when (featurep 'font-lock)
-    (font-lock-set-defaults)))
+    (font-lock-set-defaults))
+  (gnus-run-mode-hooks 'dig-mode-hook))
 
 (defun dig-exit ()
   "Quit dig output buffer."
--- a/lisp/gnus/gnus-art.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Fri Jun 24 01:59:52 2005 +0000
@@ -645,21 +645,23 @@
   :type 'face
   :group 'gnus-article-buttons)
 
-(defcustom gnus-signature-face 'gnus-signature-face
+(defcustom gnus-signature-face 'gnus-signature
   "Face used for highlighting a signature in the article buffer.
-Obsolete; use the face `gnus-signature-face' for customizations instead."
+Obsolete; use the face `gnus-signature' for customizations instead."
   :type 'face
   :group 'gnus-article-highlight
   :group 'gnus-article-signature)
 
-(defface gnus-signature-face
+(defface gnus-signature
   '((t
      (:italic t)))
   "Face used for highlighting a signature in the article buffer."
   :group 'gnus-article-highlight
   :group 'gnus-article-signature)
-
-(defface gnus-header-from-face
+;; backward-compatibility alias
+(put 'gnus-signature-face 'face-alias 'gnus-signature)
+
+(defface gnus-header-from
   '((((class color)
       (background dark))
      (:foreground "spring green"))
@@ -671,8 +673,10 @@
   "Face used for displaying from headers."
   :group 'gnus-article-headers
   :group 'gnus-article-highlight)
-
-(defface gnus-header-subject-face
+;; backward-compatibility alias
+(put 'gnus-header-from-face 'face-alias 'gnus-header-from)
+
+(defface gnus-header-subject
   '((((class color)
       (background dark))
      (:foreground "SeaGreen3"))
@@ -684,8 +688,10 @@
   "Face used for displaying subject headers."
   :group 'gnus-article-headers
   :group 'gnus-article-highlight)
-
-(defface gnus-header-newsgroups-face
+;; backward-compatibility alias
+(put 'gnus-header-subject-face 'face-alias 'gnus-header-subject)
+
+(defface gnus-header-newsgroups
   '((((class color)
       (background dark))
      (:foreground "yellow" :italic t))
@@ -699,8 +705,10 @@
 articles."
   :group 'gnus-article-headers
   :group 'gnus-article-highlight)
-
-(defface gnus-header-name-face
+;; backward-compatibility alias
+(put 'gnus-header-newsgroups-face 'face-alias 'gnus-header-newsgroups)
+
+(defface gnus-header-name
   '((((class color)
       (background dark))
      (:foreground "SeaGreen"))
@@ -712,8 +720,10 @@
   "Face used for displaying header names."
   :group 'gnus-article-headers
   :group 'gnus-article-highlight)
-
-(defface gnus-header-content-face
+;; backward-compatibility alias
+(put 'gnus-header-name-face 'face-alias 'gnus-header-name)
+
+(defface gnus-header-content
   '((((class color)
       (background dark))
      (:foreground "forest green" :italic t))
@@ -724,12 +734,14 @@
      (:italic t)))  "Face used for displaying header content."
   :group 'gnus-article-headers
   :group 'gnus-article-highlight)
+;; backward-compatibility alias
+(put 'gnus-header-content-face 'face-alias 'gnus-header-content)
 
 (defcustom gnus-header-face-alist
-  '(("From" nil gnus-header-from-face)
-    ("Subject" nil gnus-header-subject-face)
-    ("Newsgroups:.*," nil gnus-header-newsgroups-face)
-    ("" gnus-header-name-face gnus-header-content-face))
+  '(("From" nil gnus-header-from)
+    ("Subject" nil gnus-header-subject)
+    ("Newsgroups:.*," nil gnus-header-newsgroups)
+    ("" gnus-header-name gnus-header-content))
   "*Controls highlighting of article headers.
 
 An alist of the form (HEADER NAME CONTENT).
@@ -3720,6 +3732,7 @@
 \\[gnus-article-describe-briefly]\t Describe the current mode briefly
 \\[gnus-info-find-node]\t Go to the Gnus info node"
   (interactive)
+  (kill-all-local-variables)
   (gnus-simplify-mode-line)
   (setq mode-name "Article")
   (setq major-mode 'gnus-article-mode)
@@ -6490,7 +6503,7 @@
 (defun gnus-article-highlight-signature ()
   "Highlight the signature in an article.
 It does this by highlighting everything after
-`gnus-signature-separator' using `gnus-signature-face'."
+`gnus-signature-separator' using the face `gnus-signature'."
   (interactive)
   (save-excursion
     (set-buffer gnus-article-buffer)
@@ -7057,7 +7070,7 @@
     current-prefix-arg))
   (let ((func (cdr (assoc protocol gnus-article-encrypt-protocol-alist))))
     (unless func
-      (error (format "Can't find the encrypt protocol %s" protocol)))
+      (error "Can't find the encrypt protocol %s" protocol))
     (if (member gnus-newsgroup-name '("nndraft:delayed"
 				      "nndraft:drafts"
 				      "nndraft:queue"))
--- a/lisp/gnus/gnus-cite.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-cite.el	Fri Jun 24 01:59:52 2005 +0000
@@ -137,143 +137,165 @@
   :group 'gnus-cite
   :type 'boolean)
 
-(defface gnus-cite-attribution-face '((t
-				       (:italic t)))
+(defface gnus-cite-attribution '((t (:italic t)))
   "Face used for attribution lines."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-attribution-face 'face-alias 'gnus-cite-attribution)
 
-(defcustom gnus-cite-attribution-face 'gnus-cite-attribution-face
+(defcustom gnus-cite-attribution-face 'gnus-cite-attribution
   "Face used for attribution lines.
 It is merged with the face for the cited text belonging to the attribution."
   :version "22.1"
   :group 'gnus-cite
   :type 'face)
 
-(defface gnus-cite-face-1 '((((class color)
-			      (background dark))
-			     (:foreground "light blue"))
-			    (((class color)
-			      (background light))
-			     (:foreground "MidnightBlue"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-1 '((((class color)
+			 (background dark))
+			(:foreground "light blue"))
+		       (((class color)
+			 (background light))
+			(:foreground "MidnightBlue"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-1 'face-alias 'gnus-cite-1)
 
-(defface gnus-cite-face-2 '((((class color)
-			      (background dark))
-			     (:foreground "light cyan"))
-			    (((class color)
-			      (background light))
-			     (:foreground "firebrick"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-2 '((((class color)
+			 (background dark))
+			(:foreground "light cyan"))
+		       (((class color)
+			 (background light))
+			(:foreground "firebrick"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-2 'face-alias 'gnus-cite-2)
 
-(defface gnus-cite-face-3 '((((class color)
-			      (background dark))
-			     (:foreground "light yellow"))
-			    (((class color)
-			      (background light))
-			     (:foreground "dark green"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-3 '((((class color)
+			 (background dark))
+			(:foreground "light yellow"))
+		       (((class color)
+			 (background light))
+			(:foreground "dark green"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-3 'face-alias 'gnus-cite-3)
 
-(defface gnus-cite-face-4 '((((class color)
-			      (background dark))
-			     (:foreground "light pink"))
-			    (((class color)
-			      (background light))
-			     (:foreground "OrangeRed"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-4 '((((class color)
+			 (background dark))
+			(:foreground "light pink"))
+		       (((class color)
+			 (background light))
+			(:foreground "OrangeRed"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-4 'face-alias 'gnus-cite-4)
 
-(defface gnus-cite-face-5 '((((class color)
-			      (background dark))
-			     (:foreground "pale green"))
-			    (((class color)
-			      (background light))
-			     (:foreground "dark khaki"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-5 '((((class color)
+			 (background dark))
+			(:foreground "pale green"))
+		       (((class color)
+			 (background light))
+			(:foreground "dark khaki"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-5 'face-alias 'gnus-cite-5)
 
-(defface gnus-cite-face-6 '((((class color)
-			      (background dark))
-			     (:foreground "beige"))
-			    (((class color)
-			      (background light))
-			     (:foreground "dark violet"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-6 '((((class color)
+			 (background dark))
+			(:foreground "beige"))
+		       (((class color)
+			 (background light))
+			(:foreground "dark violet"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-6 'face-alias 'gnus-cite-6)
 
-(defface gnus-cite-face-7 '((((class color)
-			      (background dark))
-			     (:foreground "orange"))
-			    (((class color)
-			      (background light))
-			     (:foreground "SteelBlue4"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-7 '((((class color)
+			 (background dark))
+			(:foreground "orange"))
+		       (((class color)
+			 (background light))
+			(:foreground "SteelBlue4"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-7 'face-alias 'gnus-cite-7)
 
-(defface gnus-cite-face-8 '((((class color)
-			      (background dark))
-			     (:foreground "magenta"))
-			    (((class color)
-			      (background light))
-			     (:foreground "magenta"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-8 '((((class color)
+			 (background dark))
+			(:foreground "magenta"))
+		       (((class color)
+			 (background light))
+			(:foreground "magenta"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-8 'face-alias 'gnus-cite-8)
 
-(defface gnus-cite-face-9 '((((class color)
-			      (background dark))
-			     (:foreground "violet"))
-			    (((class color)
-			      (background light))
-			     (:foreground "violet"))
-			    (t
-			     (:italic t)))
+(defface gnus-cite-9 '((((class color)
+			 (background dark))
+			(:foreground "violet"))
+		       (((class color)
+			 (background light))
+			(:foreground "violet"))
+		       (t
+			(:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-9 'face-alias 'gnus-cite-9)
 
-(defface gnus-cite-face-10 '((((class color)
-			       (background dark))
-			      (:foreground "medium purple"))
-			     (((class color)
-			       (background light))
-			      (:foreground "medium purple"))
-			     (t
-			      (:italic t)))
+(defface gnus-cite-10 '((((class color)
+			  (background dark))
+			 (:foreground "medium purple"))
+			(((class color)
+			  (background light))
+			 (:foreground "medium purple"))
+			(t
+			 (:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-10 'face-alias 'gnus-cite-10)
 
-(defface gnus-cite-face-11 '((((class color)
-			       (background dark))
-			      (:foreground "turquoise"))
-			     (((class color)
-			       (background light))
-			      (:foreground "turquoise"))
-			     (t
-			      (:italic t)))
+(defface gnus-cite-11 '((((class color)
+			  (background dark))
+			 (:foreground "turquoise"))
+			(((class color)
+			  (background light))
+			 (:foreground "turquoise"))
+			(t
+			 (:italic t)))
   "Citation face."
   :group 'gnus-cite)
+;; backward-compatibility alias
+(put 'gnus-cite-face-11 'face-alias 'gnus-cite-11)
 
 (defcustom gnus-cite-face-list
-  '(gnus-cite-face-1 gnus-cite-face-2 gnus-cite-face-3 gnus-cite-face-4
-		     gnus-cite-face-5 gnus-cite-face-6 gnus-cite-face-7 gnus-cite-face-8
-		     gnus-cite-face-9 gnus-cite-face-10 gnus-cite-face-11)
+  '(gnus-cite-1 gnus-cite-2 gnus-cite-3 gnus-cite-4 gnus-cite-5 gnus-cite-6
+    gnus-cite-7 gnus-cite-8 gnus-cite-9 gnus-cite-10 gnus-cite-11)
   "*List of faces used for highlighting citations.
 
 When there are citations from multiple articles in the same message,
@@ -299,8 +321,7 @@
 
 ;; This has to go here because its default value depends on
 ;; gnus-cite-face-list.
-(defcustom gnus-article-boring-faces (cons 'gnus-signature-face
-					   gnus-cite-face-list)
+(defcustom gnus-article-boring-faces (cons 'gnus-signature gnus-cite-face-list)
   "List of faces that are not worth reading.
 If an article has more pages below the one you are looking at, but
 nothing on those pages is a word of at least three letters that is not
@@ -352,7 +373,7 @@
 Each citation in the article will be highlighted with a different face.
 The faces are taken from `gnus-cite-face-list'.
 Attribution lines are highlighted with the same face as the
-corresponding citation merged with `gnus-cite-attribution-face'.
+corresponding citation merged with the face `gnus-cite-attribution'.
 
 Text is considered cited if at least `gnus-cite-minimum-match-count'
 lines matches `message-cite-prefix-regexp' with the same prefix.
--- a/lisp/gnus/gnus-cus.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-cus.el	Fri Jun 24 01:59:52 2005 +0000
@@ -772,8 +772,8 @@
 This can be changed using the `\\[gnus-score-change-score-file]' command."
   (interactive (list gnus-current-score-file))
   (unless file
-    (error (format "No score file for %s"
-		   (gnus-group-decoded-name gnus-newsgroup-name))))
+    (error "No score file for %s"
+           (gnus-group-decoded-name gnus-newsgroup-name)))
   (let ((scores (gnus-score-load file))
 	(types (mapcar (lambda (entry)
 			 `(group :format "%v%h\n"
@@ -1014,9 +1014,9 @@
       ;; gnus-agent-cat-prepare-category-field as I don't want the
       ;; group list to appear when customizing a topic.
       (widget-insert "\n")
-      
-      (let ((symb 
-             (set 
+
+      (let ((symb
+             (set
               (make-local-variable 'gnus-agent-cat-groups)
               (widget-create
                `(choice
--- a/lisp/gnus/gnus-group.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-group.el	Fri Jun 24 01:59:52 2005 +0000
@@ -309,50 +309,50 @@
 (defcustom gnus-group-highlight
   '(;; Mail.
     ((and mailp (= unread 0) (eq level 1)) .
-     gnus-group-mail-1-empty-face)
+     gnus-group-mail-1-empty)
     ((and mailp (eq level 1)) .
-     gnus-group-mail-1-face)
+     gnus-group-mail-1)
     ((and mailp (= unread 0) (eq level 2)) .
-     gnus-group-mail-2-empty-face)
+     gnus-group-mail-2-empty)
     ((and mailp (eq level 2)) .
-     gnus-group-mail-2-face)
+     gnus-group-mail-2)
     ((and mailp (= unread 0) (eq level 3)) .
-     gnus-group-mail-3-empty-face)
+     gnus-group-mail-3-empty)
     ((and mailp (eq level 3)) .
-     gnus-group-mail-3-face)
+     gnus-group-mail-3)
     ((and mailp (= unread 0)) .
-     gnus-group-mail-low-empty-face)
+     gnus-group-mail-low-empty)
     ((and mailp) .
-     gnus-group-mail-low-face)
+     gnus-group-mail-low)
     ;; News.
     ((and (= unread 0) (eq level 1)) .
-     gnus-group-news-1-empty-face)
+     gnus-group-news-1-empty)
     ((and (eq level 1)) .
-     gnus-group-news-1-face)
+     gnus-group-news-1)
     ((and (= unread 0) (eq level 2)) .
-     gnus-group-news-2-empty-face)
+     gnus-group-news-2-empty)
     ((and (eq level 2)) .
-     gnus-group-news-2-face)
+     gnus-group-news-2)
     ((and (= unread 0) (eq level 3)) .
-     gnus-group-news-3-empty-face)
+     gnus-group-news-3-empty)
     ((and (eq level 3)) .
-     gnus-group-news-3-face)
+     gnus-group-news-3)
     ((and (= unread 0) (eq level 4)) .
-     gnus-group-news-4-empty-face)
+     gnus-group-news-4-empty)
     ((and (eq level 4)) .
-     gnus-group-news-4-face)
+     gnus-group-news-4)
     ((and (= unread 0) (eq level 5)) .
-     gnus-group-news-5-empty-face)
+     gnus-group-news-5-empty)
     ((and (eq level 5)) .
-     gnus-group-news-5-face)
+     gnus-group-news-5)
     ((and (= unread 0) (eq level 6)) .
-     gnus-group-news-6-empty-face)
+     gnus-group-news-6-empty)
     ((and (eq level 6)) .
-     gnus-group-news-6-face)
+     gnus-group-news-6)
     ((and (= unread 0)) .
-     gnus-group-news-low-empty-face)
+     gnus-group-news-low-empty)
     (t .
-     gnus-group-news-low-face))
+     gnus-group-news-low))
   "*Controls the highlighting of group buffer lines.
 
 Below is a list of `Form'/`Face' pairs.  When deciding how a a
--- a/lisp/gnus/gnus-picon.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-picon.el	Fri Jun 24 01:59:52 2005 +0000
@@ -74,13 +74,17 @@
   :type '(repeat string)
   :group 'gnus-picon)
 
-(defface gnus-picon-xbm-face '((t (:foreground "black" :background "white")))
+(defface gnus-picon-xbm '((t (:foreground "black" :background "white")))
   "Face to show xbm picon in."
   :group 'gnus-picon)
+;; backward-compatibility alias
+(put 'gnus-picon-xbm-face 'face-alias 'gnus-picon-xbm)
 
-(defface gnus-picon-face '((t (:foreground "black" :background "white")))
+(defface gnus-picon '((t (:foreground "black" :background "white")))
   "Face to show picon in."
   :group 'gnus-picon)
+;; backward-compatibility alias
+(put 'gnus-picon-face 'face-alias 'gnus-picon)
 
 ;;; Internal variables:
 
--- a/lisp/gnus/gnus-srvr.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-srvr.el	Fri Jun 24 01:59:52 2005 +0000
@@ -168,67 +168,77 @@
     "\C-c\C-i" gnus-info-find-node
     "\C-c\C-b" gnus-bug))
 
-(defface gnus-server-agent-face
+(defface gnus-server-agent
   '((((class color) (background light)) (:foreground "PaleTurquoise" :bold t))
     (((class color) (background dark)) (:foreground "PaleTurquoise" :bold t))
     (t (:bold t)))
   "Face used for displaying AGENTIZED servers"
   :group 'gnus-server-visual)
+;; backward-compatibility alias
+(put 'gnus-server-agent-face 'face-alias 'gnus-server-agent)
 
-(defface gnus-server-opened-face
+(defface gnus-server-opened
   '((((class color) (background light)) (:foreground "Green3" :bold t))
     (((class color) (background dark)) (:foreground "Green1" :bold t))
     (t (:bold t)))
   "Face used for displaying OPENED servers"
   :group 'gnus-server-visual)
+;; backward-compatibility alias
+(put 'gnus-server-opened-face 'face-alias 'gnus-server-opened)
 
-(defface gnus-server-closed-face
+(defface gnus-server-closed
   '((((class color) (background light)) (:foreground "Steel Blue" :italic t))
     (((class color) (background dark))
      (:foreground "Light Steel Blue" :italic t))
     (t (:italic t)))
   "Face used for displaying CLOSED servers"
   :group 'gnus-server-visual)
+;; backward-compatibility alias
+(put 'gnus-server-closed-face 'face-alias 'gnus-server-closed)
 
-(defface gnus-server-denied-face
+(defface gnus-server-denied
   '((((class color) (background light)) (:foreground "Red" :bold t))
     (((class color) (background dark)) (:foreground "Pink" :bold t))
     (t (:inverse-video t :bold t)))
   "Face used for displaying DENIED servers"
   :group 'gnus-server-visual)
+;; backward-compatibility alias
+(put 'gnus-server-denied-face 'face-alias 'gnus-server-denied)
 
-(defface gnus-server-offline-face
+(defface gnus-server-offline
   '((((class color) (background light)) (:foreground "Orange" :bold t))
     (((class color) (background dark)) (:foreground "Yellow" :bold t))
     (t (:inverse-video t :bold t)))
   "Face used for displaying OFFLINE servers"
   :group 'gnus-server-visual)
+;; backward-compatibility alias
+(put 'gnus-server-offline-face 'face-alias 'gnus-server-offline)
 
-(defcustom gnus-server-agent-face 'gnus-server-agent-face
+(defcustom gnus-server-agent-face 'gnus-server-agent
   "Face name to use on AGENTIZED servers."
   :version "22.1"
   :group 'gnus-server-visual
   :type 'face)
 
-(defcustom gnus-server-opened-face 'gnus-server-opened-face
+(defcustom gnus-server-opened-face 'gnus-server-opened
   "Face name to use on OPENED servers."
   :version "22.1"
   :group 'gnus-server-visual
   :type 'face)
 
-(defcustom gnus-server-closed-face 'gnus-server-closed-face
+(defcustom gnus-server-closed-face 'gnus-server-closed
   "Face name to use on CLOSED servers."
   :version "22.1"
   :group 'gnus-server-visual
   :type 'face)
 
-(defcustom gnus-server-denied-face 'gnus-server-denied-face
+(defcustom gnus-server-denied-face 'gnus-server-denied
   "Face name to use on DENIED servers."
   :version "22.1"
   :group 'gnus-server-visual
   :type 'face)
 
-(defcustom gnus-server-offline-face 'gnus-server-offline-face
+(defcustom gnus-server-offline-face 'gnus-server-offline
   "Face name to use on OFFLINE servers."
   :version "22.1"
   :group 'gnus-server-visual
--- a/lisp/gnus/gnus-sum.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus-sum.el	Fri Jun 24 01:59:52 2005 +0000
@@ -917,7 +917,7 @@
   :group 'gnus-summary
   :type 'boolean)
 
-(defcustom gnus-summary-selected-face 'gnus-summary-selected-face
+(defcustom gnus-summary-selected-face 'gnus-summary-selected
   "Face used for highlighting the current article in the summary buffer."
   :group 'gnus-summary-visual
   :type 'face)
@@ -926,42 +926,42 @@
 
 (defcustom gnus-summary-highlight
   '(((eq mark gnus-canceled-mark)
-     . gnus-summary-cancelled-face)
+     . gnus-summary-cancelled)
     ((and uncached (> score default-high))
-     . gnus-summary-high-undownloaded-face)
+     . gnus-summary-high-undownloaded)
     ((and uncached (< score default-low))
-     . gnus-summary-low-undownloaded-face)
+     . gnus-summary-low-undownloaded)
     (uncached
-     . gnus-summary-normal-undownloaded-face)
+     . gnus-summary-normal-undownloaded)
     ((and (> score default-high)
 	  (or (eq mark gnus-dormant-mark)
 	      (eq mark gnus-ticked-mark)))
-     . gnus-summary-high-ticked-face)
+     . gnus-summary-high-ticked)
     ((and (< score default-low)
 	  (or (eq mark gnus-dormant-mark)
 	      (eq mark gnus-ticked-mark)))
-     . gnus-summary-low-ticked-face)
+     . gnus-summary-low-ticked)
     ((or (eq mark gnus-dormant-mark)
 	 (eq mark gnus-ticked-mark))
-     . gnus-summary-normal-ticked-face)
+     . gnus-summary-normal-ticked)
     ((and (> score default-high) (eq mark gnus-ancient-mark))
-     . gnus-summary-high-ancient-face)
+     . gnus-summary-high-ancient)
     ((and (< score default-low) (eq mark gnus-ancient-mark))
-     . gnus-summary-low-ancient-face)
+     . gnus-summary-low-ancient)
     ((eq mark gnus-ancient-mark)
-     . gnus-summary-normal-ancient-face)
+     . gnus-summary-normal-ancient)
     ((and (> score default-high) (eq mark gnus-unread-mark))
-     . gnus-summary-high-unread-face)
+     . gnus-summary-high-unread)
     ((and (< score default-low) (eq mark gnus-unread-mark))
-     . gnus-summary-low-unread-face)
+     . gnus-summary-low-unread)
     ((eq mark gnus-unread-mark)
-     . gnus-summary-normal-unread-face)
+     . gnus-summary-normal-unread)
     ((> score default-high)
-     . gnus-summary-high-read-face)
+     . gnus-summary-high-read)
     ((< score default-low)
-     . gnus-summary-low-read-face)
+     . gnus-summary-low-read)
     (t
-     . gnus-summary-normal-read-face))
+     . gnus-summary-normal-read))
   "*Controls the highlighting of summary buffer lines.
 
 A list of (FORM . FACE) pairs.  When deciding how a a particular
--- a/lisp/gnus/gnus.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/gnus.el	Fri Jun 24 01:59:52 2005 +0000
@@ -357,7 +357,7 @@
 ;; We define these group faces here to avoid the display
 ;; update forced when creating new faces.
 
-(defface gnus-group-news-1-face
+(defface gnus-group-news-1
   '((((class color)
       (background dark))
      (:foreground "PaleTurquoise" :bold t))
@@ -368,8 +368,10 @@
      ()))
   "Level 1 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-1-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-1-face 'face-alias 'gnus-group-news-1)
+
+(defface gnus-group-news-1-empty
   '((((class color)
       (background dark))
      (:foreground "PaleTurquoise"))
@@ -380,8 +382,10 @@
      ()))
   "Level 1 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-2-face
+;; backward-compatibility alias
+(put 'gnus-group-news-1-empty-face 'face-alias 'gnus-group-news-1-empty)
+
+(defface gnus-group-news-2
   '((((class color)
       (background dark))
      (:foreground "turquoise" :bold t))
@@ -392,8 +396,10 @@
      ()))
   "Level 2 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-2-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-2-face 'face-alias 'gnus-group-news-2)
+
+(defface gnus-group-news-2-empty
   '((((class color)
       (background dark))
      (:foreground "turquoise"))
@@ -404,8 +410,10 @@
      ()))
   "Level 2 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-3-face
+;; backward-compatibility alias
+(put 'gnus-group-news-2-empty-face 'face-alias 'gnus-group-news-2-empty)
+
+(defface gnus-group-news-3
   '((((class color)
       (background dark))
      (:bold t))
@@ -416,8 +424,10 @@
      ()))
   "Level 3 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-3-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-3-face 'face-alias 'gnus-group-news-3)
+
+(defface gnus-group-news-3-empty
   '((((class color)
       (background dark))
      ())
@@ -428,8 +438,10 @@
      ()))
   "Level 3 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-4-face
+;; backward-compatibility alias
+(put 'gnus-group-news-3-empty-face 'face-alias 'gnus-group-news-3-empty)
+
+(defface gnus-group-news-4
   '((((class color)
       (background dark))
      (:bold t))
@@ -440,8 +452,10 @@
      ()))
   "Level 4 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-4-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-4-face 'face-alias 'gnus-group-news-4)
+
+(defface gnus-group-news-4-empty
   '((((class color)
       (background dark))
      ())
@@ -452,8 +466,10 @@
      ()))
   "Level 4 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-5-face
+;; backward-compatibility alias
+(put 'gnus-group-news-4-empty-face 'face-alias 'gnus-group-news-4-empty)
+
+(defface gnus-group-news-5
   '((((class color)
       (background dark))
      (:bold t))
@@ -464,8 +480,10 @@
      ()))
   "Level 5 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-5-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-5-face 'face-alias 'gnus-group-news-5)
+
+(defface gnus-group-news-5-empty
   '((((class color)
       (background dark))
      ())
@@ -476,8 +494,10 @@
      ()))
   "Level 5 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-6-face
+;; backward-compatibility alias
+(put 'gnus-group-news-5-empty-face 'face-alias 'gnus-group-news-5-empty)
+
+(defface gnus-group-news-6
   '((((class color)
       (background dark))
      (:bold t))
@@ -488,8 +508,10 @@
      ()))
   "Level 6 newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-6-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-6-face 'face-alias 'gnus-group-news-6)
+
+(defface gnus-group-news-6-empty
   '((((class color)
       (background dark))
      ())
@@ -500,8 +522,10 @@
      ()))
   "Level 6 empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-low-face
+;; backward-compatibility alias
+(put 'gnus-group-news-6-empty-face 'face-alias 'gnus-group-news-6-empty)
+
+(defface gnus-group-news-low
   '((((class color)
       (background dark))
      (:foreground "DarkTurquoise" :bold t))
@@ -512,8 +536,10 @@
      ()))
   "Low level newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-news-low-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-news-low-face 'face-alias 'gnus-group-news-low)
+
+(defface gnus-group-news-low-empty
   '((((class color)
       (background dark))
      (:foreground "DarkTurquoise"))
@@ -524,8 +550,10 @@
      ()))
   "Low level empty newsgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-1-face
+;; backward-compatibility alias
+(put 'gnus-group-news-low-empty-face 'face-alias 'gnus-group-news-low-empty)
+
+(defface gnus-group-mail-1
   '((((class color)
       (background dark))
      (:foreground "aquamarine1" :bold t))
@@ -536,8 +564,10 @@
      (:bold t)))
   "Level 1 mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-1-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-1-face 'face-alias 'gnus-group-mail-1)
+
+(defface gnus-group-mail-1-empty
   '((((class color)
       (background dark))
      (:foreground "aquamarine1"))
@@ -548,8 +578,10 @@
      (:italic t :bold t)))
   "Level 1 empty mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-2-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-1-empty-face 'face-alias 'gnus-group-mail-1-empty)
+
+(defface gnus-group-mail-2
   '((((class color)
       (background dark))
      (:foreground "aquamarine2" :bold t))
@@ -560,8 +592,10 @@
      (:bold t)))
   "Level 2 mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-2-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-2-face 'face-alias 'gnus-group-mail-2)
+
+(defface gnus-group-mail-2-empty
   '((((class color)
       (background dark))
      (:foreground "aquamarine2"))
@@ -572,8 +606,10 @@
      (:bold t)))
   "Level 2 empty mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-3-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-2-empty-face 'face-alias 'gnus-group-mail-2-empty)
+
+(defface gnus-group-mail-3
   '((((class color)
       (background dark))
      (:foreground "aquamarine3" :bold t))
@@ -584,8 +620,10 @@
      (:bold t)))
   "Level 3 mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-3-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-3-face 'face-alias 'gnus-group-mail-3)
+
+(defface gnus-group-mail-3-empty
   '((((class color)
       (background dark))
      (:foreground "aquamarine3"))
@@ -596,8 +634,10 @@
      ()))
   "Level 3 empty mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-low-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-3-empty-face 'face-alias 'gnus-group-mail-3-empty)
+
+(defface gnus-group-mail-low
   '((((class color)
       (background dark))
      (:foreground "aquamarine4" :bold t))
@@ -608,8 +648,10 @@
      (:bold t)))
   "Low level mailgroup face."
   :group 'gnus-group)
-
-(defface gnus-group-mail-low-empty-face
+;; backward-compatibility alias
+(put 'gnus-group-mail-low-face 'face-alias 'gnus-group-mail-low)
+
+(defface gnus-group-mail-low-empty
   '((((class color)
       (background dark))
      (:foreground "aquamarine4"))
@@ -620,21 +662,26 @@
      (:bold t)))
   "Low level empty mailgroup face."
   :group 'gnus-group)
+;; backward-compatibility alias
+(put 'gnus-group-mail-low-empty-face 'face-alias 'gnus-group-mail-low-empty)
 
 ;; Summary mode faces.
 
-(defface gnus-summary-selected-face '((t
-				       (:underline t)))
+(defface gnus-summary-selected '((t (:underline t)))
   "Face used for selected articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-cancelled-face
+;; backward-compatibility alias
+(put 'gnus-summary-selected-face 'face-alias 'gnus-summary-selected)
+
+(defface gnus-summary-cancelled
   '((((class color))
      (:foreground "yellow" :background "black")))
   "Face used for cancelled articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-high-ticked-face
+;; backward-compatibility alias
+(put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled)
+
+(defface gnus-summary-high-ticked
   '((((class color)
       (background dark))
      (:foreground "pink" :bold t))
@@ -645,8 +692,10 @@
      (:bold t)))
   "Face used for high interest ticked articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-low-ticked-face
+;; backward-compatibility alias
+(put 'gnus-summary-high-ticked-face 'face-alias 'gnus-summary-high-ticked)
+
+(defface gnus-summary-low-ticked
   '((((class color)
       (background dark))
      (:foreground "pink" :italic t))
@@ -657,8 +706,10 @@
      (:italic t)))
   "Face used for low interest ticked articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-normal-ticked-face
+;; backward-compatibility alias
+(put 'gnus-summary-low-ticked-face 'face-alias 'gnus-summary-low-ticked)
+
+(defface gnus-summary-normal-ticked
   '((((class color)
       (background dark))
      (:foreground "pink"))
@@ -669,8 +720,10 @@
      ()))
   "Face used for normal interest ticked articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-high-ancient-face
+;; backward-compatibility alias
+(put 'gnus-summary-normal-ticked-face 'face-alias 'gnus-summary-normal-ticked)
+
+(defface gnus-summary-high-ancient
   '((((class color)
       (background dark))
      (:foreground "SkyBlue" :bold t))
@@ -681,8 +734,10 @@
      (:bold t)))
   "Face used for high interest ancient articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-low-ancient-face
+;; backward-compatibility alias
+(put 'gnus-summary-high-ancient-face 'face-alias 'gnus-summary-high-ancient)
+
+(defface gnus-summary-low-ancient
   '((((class color)
       (background dark))
      (:foreground "SkyBlue" :italic t))
@@ -693,8 +748,10 @@
      (:italic t)))
   "Face used for low interest ancient articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-normal-ancient-face
+;; backward-compatibility alias
+(put 'gnus-summary-low-ancient-face 'face-alias 'gnus-summary-low-ancient)
+
+(defface gnus-summary-normal-ancient
   '((((class color)
       (background dark))
      (:foreground "SkyBlue"))
@@ -705,8 +762,10 @@
      ()))
   "Face used for normal interest ancient articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-high-undownloaded-face
+;; backward-compatibility alias
+(put 'gnus-summary-normal-ancient-face 'face-alias 'gnus-summary-normal-ancient)
+
+(defface gnus-summary-high-undownloaded
    '((((class color)
        (background light))
       (:bold t :foreground "cyan4"))
@@ -715,8 +774,10 @@
      (t (:inverse-video t :bold t)))
   "Face used for high interest uncached articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-low-undownloaded-face
+;; backward-compatibility alias
+(put 'gnus-summary-high-undownloaded-face 'face-alias 'gnus-summary-high-undownloaded)
+
+(defface gnus-summary-low-undownloaded
    '((((class color)
        (background light))
       (:italic t :foreground "cyan4" :bold nil))
@@ -725,8 +786,10 @@
      (t (:inverse-video t :italic t)))
   "Face used for low interest uncached articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-normal-undownloaded-face
+;; backward-compatibility alias
+(put 'gnus-summary-low-undownloaded-face 'face-alias 'gnus-summary-low-undownloaded)
+
+(defface gnus-summary-normal-undownloaded
    '((((class color)
        (background light))
       (:foreground "cyan4" :bold nil))
@@ -735,26 +798,34 @@
      (t (:inverse-video t)))
   "Face used for normal interest uncached articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-high-unread-face
+;; backward-compatibility alias
+(put 'gnus-summary-normal-undownloaded-face 'face-alias 'gnus-summary-normal-undownloaded)
+
+(defface gnus-summary-high-unread
   '((t
      (:bold t)))
   "Face used for high interest unread articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-low-unread-face
+;; backward-compatibility alias
+(put 'gnus-summary-high-unread-face 'face-alias 'gnus-summary-high-unread)
+
+(defface gnus-summary-low-unread
   '((t
      (:italic t)))
   "Face used for low interest unread articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-normal-unread-face
+;; backward-compatibility alias
+(put 'gnus-summary-low-unread-face 'face-alias 'gnus-summary-low-unread)
+
+(defface gnus-summary-normal-unread
   '((t
      ()))
   "Face used for normal interest unread articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-high-read-face
+;; backward-compatibility alias
+(put 'gnus-summary-normal-unread-face 'face-alias 'gnus-summary-normal-unread)
+
+(defface gnus-summary-high-read
   '((((class color)
       (background dark))
      (:foreground "PaleGreen"
@@ -767,8 +838,10 @@
      (:bold t)))
   "Face used for high interest read articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-low-read-face
+;; backward-compatibility alias
+(put 'gnus-summary-high-read-face 'face-alias 'gnus-summary-high-read)
+
+(defface gnus-summary-low-read
   '((((class color)
       (background dark))
      (:foreground "PaleGreen"
@@ -781,8 +854,10 @@
      (:italic t)))
   "Face used for low interest read articles."
   :group 'gnus-summary)
-
-(defface gnus-summary-normal-read-face
+;; backward-compatibility alias
+(put 'gnus-summary-low-read-face 'face-alias 'gnus-summary-low-read)
+
+(defface gnus-summary-normal-read
   '((((class color)
       (background dark))
      (:foreground "PaleGreen"))
@@ -793,6 +868,8 @@
      ()))
   "Face used for normal interest read articles."
   :group 'gnus-summary)
+;; backward-compatibility alias
+(put 'gnus-summary-normal-read-face 'face-alias 'gnus-summary-normal-read)
 
 
 ;;;
@@ -836,7 +913,7 @@
 (eval-and-compile
   (autoload 'gnus-play-jingle "gnus-audio"))
 
-(defface gnus-splash-face
+(defface gnus-splash
   '((((class color)
       (background dark))
      (:foreground "#888888"))
@@ -847,6 +924,8 @@
      ()))
   "Face for the splash screen."
   :group 'gnus)
+;; backward-compatibility alias
+(put 'gnus-splash-face 'face-alias 'gnus-splash)
 
 (defun gnus-splash ()
   (save-excursion
@@ -925,11 +1004,11 @@
 			      ("background" . ,(face-background 'default))))
 		      (:type pbm :file "gnus.pbm"
 			     ;; Account for the pbm's blackground.
-			     :background ,(face-foreground 'gnus-splash-face)
+			     :background ,(face-foreground 'gnus-splash)
 			     :foreground ,(face-background 'default))
 		      (:type xbm :file "gnus.xbm"
 			     ;; Account for the xbm's blackground.
-			     :background ,(face-foreground 'gnus-splash-face)
+			     :background ,(face-foreground 'gnus-splash)
 			     :foreground ,(face-background 'default))))))
        (when image
 	 (let ((size (image-size image)))
@@ -973,7 +1052,7 @@
 	   (rest (- wheight pheight)))
       (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
     ;; Fontify some.
-    (put-text-property (point-min) (point-max) 'face 'gnus-splash-face)
+    (put-text-property (point-min) (point-max) 'face 'gnus-splash)
     (setq gnus-simple-splash t)))
   (goto-char (point-min))
   (setq mode-line-buffer-identification (concat " " gnus-version))
--- a/lisp/gnus/message.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/message.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1124,7 +1124,7 @@
     table)
   "Syntax table used while in Message mode.")
 
-(defface message-header-to-face
+(defface message-header-to
   '((((class color)
       (background dark))
      (:foreground "green2" :bold t))
@@ -1135,8 +1135,10 @@
      (:bold t :italic t)))
   "Face used for displaying From headers."
   :group 'message-faces)
-
-(defface message-header-cc-face
+;; backward-compatibility alias
+(put 'message-header-to-face 'face-alias 'message-header-to)
+
+(defface message-header-cc
   '((((class color)
       (background dark))
      (:foreground "green4" :bold t))
@@ -1147,8 +1149,10 @@
      (:bold t)))
   "Face used for displaying Cc headers."
   :group 'message-faces)
-
-(defface message-header-subject-face
+;; backward-compatibility alias
+(put 'message-header-cc-face 'face-alias 'message-header-cc)
+
+(defface message-header-subject
   '((((class color)
       (background dark))
      (:foreground "green3"))
@@ -1159,8 +1163,10 @@
      (:bold t)))
   "Face used for displaying subject headers."
   :group 'message-faces)
-
-(defface message-header-newsgroups-face
+;; backward-compatibility alias
+(put 'message-header-subject-face 'face-alias 'message-header-subject)
+
+(defface message-header-newsgroups
   '((((class color)
       (background dark))
      (:foreground "yellow" :bold t :italic t))
@@ -1171,8 +1177,10 @@
      (:bold t :italic t)))
   "Face used for displaying newsgroups headers."
   :group 'message-faces)
-
-(defface message-header-other-face
+;; backward-compatibility alias
+(put 'message-header-newsgroups-face 'face-alias 'message-header-newsgroups)
+
+(defface message-header-other
   '((((class color)
       (background dark))
      (:foreground "#b00000"))
@@ -1183,8 +1191,10 @@
      (:bold t :italic t)))
   "Face used for displaying newsgroups headers."
   :group 'message-faces)
-
-(defface message-header-name-face
+;; backward-compatibility alias
+(put 'message-header-other-face 'face-alias 'message-header-other)
+
+(defface message-header-name
   '((((class color)
       (background dark))
      (:foreground "DarkGreen"))
@@ -1195,8 +1205,10 @@
      (:bold t)))
   "Face used for displaying header names."
   :group 'message-faces)
-
-(defface message-header-xheader-face
+;; backward-compatibility alias
+(put 'message-header-name-face 'face-alias 'message-header-name)
+
+(defface message-header-xheader
   '((((class color)
       (background dark))
      (:foreground "blue"))
@@ -1207,8 +1219,10 @@
      (:bold t)))
   "Face used for displaying X-Header headers."
   :group 'message-faces)
-
-(defface message-separator-face
+;; backward-compatibility alias
+(put 'message-header-xheader-face 'face-alias 'message-header-xheader)
+
+(defface message-separator
   '((((class color)
       (background dark))
      (:foreground "blue3"))
@@ -1219,8 +1233,10 @@
      (:bold t)))
   "Face used for displaying the separator."
   :group 'message-faces)
-
-(defface message-cited-text-face
+;; backward-compatibility alias
+(put 'message-separator-face 'face-alias 'message-separator)
+
+(defface message-cited-text
   '((((class color)
       (background dark))
      (:foreground "red"))
@@ -1231,8 +1247,10 @@
      (:bold t)))
   "Face used for displaying cited text names."
   :group 'message-faces)
-
-(defface message-mml-face
+;; backward-compatibility alias
+(put 'message-cited-text-face 'face-alias 'message-cited-text)
+
+(defface message-mml
   '((((class color)
       (background dark))
      (:foreground "ForestGreen"))
@@ -1243,6 +1261,8 @@
      (:bold t)))
   "Face used for displaying MML."
   :group 'message-faces)
+;; backward-compatibility alias
+(put 'message-mml-face 'face-alias 'message-mml)
 
 (defun message-font-lock-make-header-matcher (regexp)
   (let ((form
@@ -1266,41 +1286,41 @@
   (let ((content "[ \t]*\\(.+\\(\n[ \t].*\\)*\\)\n?"))
     `((,(message-font-lock-make-header-matcher
 	 (concat "^\\([Tt]o:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-to-face nil t))
+       (1 'message-header-name)
+       (2 'message-header-to nil t))
       (,(message-font-lock-make-header-matcher
 	 (concat "^\\(^[GBF]?[Cc][Cc]:\\|^[Rr]eply-[Tt]o:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-cc-face nil t))
+       (1 'message-header-name)
+       (2 'message-header-cc nil t))
       (,(message-font-lock-make-header-matcher
 	 (concat "^\\([Ss]ubject:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-subject-face nil t))
+       (1 'message-header-name)
+       (2 'message-header-subject nil t))
       (,(message-font-lock-make-header-matcher
 	 (concat "^\\([Nn]ewsgroups:\\|Followup-[Tt]o:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-newsgroups-face nil t))
+       (1 'message-header-name)
+       (2 'message-header-newsgroups nil t))
       (,(message-font-lock-make-header-matcher
 	 (concat "^\\([A-Z][^: \n\t]+:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-other-face nil t))
+       (1 'message-header-name)
+       (2 'message-header-other nil t))
       (,(message-font-lock-make-header-matcher
 	 (concat "^\\(X-[A-Za-z0-9-]+:\\|In-Reply-To:\\)" content))
-       (1 'message-header-name-face)
-       (2 'message-header-name-face))
+       (1 'message-header-name)
+       (2 'message-header-name))
       ,@(if (and mail-header-separator
 		 (not (equal mail-header-separator "")))
 	    `((,(concat "^\\(" (regexp-quote mail-header-separator) "\\)$")
-	       1 'message-separator-face))
+	       1 'message-separator))
 	  nil)
       ((lambda (limit)
 	 (re-search-forward (concat "^\\("
 				    message-cite-prefix-regexp
 				    "\\).*")
 			    limit t))
-       (0 'message-cited-text-face))
+       (0 'message-cited-text))
       ("<#/?\\(multipart\\|part\\|external\\|mml\\|secure\\)[^>]*>"
-       (0 'message-mml-face))))
+       (0 'message-mml))))
   "Additional expressions to highlight in Message mode.")
 
 
--- a/lisp/gnus/mm-extern.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/mm-extern.el	Fri Jun 24 01:59:52 2005 +0000
@@ -52,7 +52,7 @@
     (mm-disable-multibyte)
     (if (file-exists-p name)
 	(mm-insert-file-contents name nil nil nil nil t)
-      (error (format "File %s is gone" name)))))
+      (error "File %s is gone" name))))
 
 (defun mm-extern-url (handle)
   (erase-buffer)
@@ -124,7 +124,7 @@
 	 handles)
     (unless (mm-handle-cache handle)
       (unless func
-	(error (format "Access type (%s) is not supported" access-type)))
+	(error "Access type (%s) is not supported" access-type))
       (with-temp-buffer
 	(mm-insert-part handle)
 	(goto-char (point-max))
--- a/lisp/gnus/nnimap.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/nnimap.el	Fri Jun 24 01:59:52 2005 +0000
@@ -205,7 +205,7 @@
   "Whether to download entire articles during splitting.
 This is generally not required, and will slow things down considerably.
 You may need it if you want to use an advanced splitting function that
-analyses the body before splitting the article.
+analyzes the body before splitting the article.
 If this variable is nil, bodies will not be downloaded; if this
 variable is the symbol `default' the default behaviour is
 used (which currently is nil, unless you use a statistical
--- a/lisp/gnus/pop3.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/pop3.el	Fri Jun 24 01:59:52 2005 +0000
@@ -385,7 +385,7 @@
   (pop3-send-command process (format "USER %s" user))
   (let ((response (pop3-read-response process t)))
     (if (not (and response (string-match "+OK" response)))
-	(error (format "USER %s not valid" user)))))
+	(error "USER %s not valid" user))))
 
 (defun pop3-pass (process)
   "Send authentication information to the server."
--- a/lisp/gnus/sieve-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/sieve-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -65,10 +65,10 @@
 
 ;; Font-lock
 
-(defvar sieve-control-commands-face 'sieve-control-commands-face
+(defvar sieve-control-commands-face 'sieve-control-commands
   "Face name used for Sieve Control Commands.")
 
-(defface sieve-control-commands-face
+(defface sieve-control-commands
   '((((type tty) (class color)) (:foreground "blue" :weight light))
     (((class grayscale) (background light)) (:foreground "LightGray" :bold t))
     (((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
@@ -77,22 +77,26 @@
     (t (:bold t)))
   "Face used for Sieve Control Commands."
   :group 'sieve)
+;; backward-compatibility alias
+(put 'sieve-control-commands-face 'face-alias 'sieve-control-commands)
 
-(defvar sieve-action-commands-face 'sieve-action-commands-face
+(defvar sieve-action-commands-face 'sieve-action-commands
   "Face name used for Sieve Action Commands.")
 
-(defface sieve-action-commands-face
+(defface sieve-action-commands
   '((((type tty) (class color)) (:foreground "blue" :weight bold))
     (((class color) (background light)) (:foreground "Blue"))
     (((class color) (background dark)) (:foreground "LightSkyBlue"))
     (t (:inverse-video t :bold t)))
   "Face used for Sieve Action Commands."
   :group 'sieve)
+;; backward-compatibility alias
+(put 'sieve-action-commands-face 'face-alias 'sieve-action-commands)
 
-(defvar sieve-test-commands-face 'sieve-test-commands-face
+(defvar sieve-test-commands-face 'sieve-test-commands
   "Face name used for Sieve Test Commands.")
 
-(defface sieve-test-commands-face
+(defface sieve-test-commands
   '((((type tty) (class color)) (:foreground "magenta"))
     (((class grayscale) (background light))
      (:foreground "LightGray" :bold t :underline t))
@@ -103,11 +107,13 @@
     (t (:bold t :underline t)))
   "Face used for Sieve Test Commands."
   :group 'sieve)
+;; backward-compatibility alias
+(put 'sieve-test-commands-face 'face-alias 'sieve-test-commands)
 
-(defvar sieve-tagged-arguments-face 'sieve-tagged-arguments-face
+(defvar sieve-tagged-arguments-face 'sieve-tagged-arguments
   "Face name used for Sieve Tagged Arguments.")
 
-(defface sieve-tagged-arguments-face
+(defface sieve-tagged-arguments
   '((((type tty) (class color)) (:foreground "cyan" :weight bold))
     (((class grayscale) (background light)) (:foreground "LightGray" :bold t))
     (((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
@@ -116,6 +122,8 @@
     (t (:bold t)))
   "Face used for Sieve Tagged Arguments."
   :group 'sieve)
+;; backward-compatibility alias
+(put 'sieve-tagged-arguments-face 'face-alias 'sieve-tagged-arguments)
 
 
 (defconst sieve-font-lock-keywords
--- a/lisp/gnus/smime.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/smime.el	Fri Jun 24 01:59:52 2005 +0000
@@ -596,7 +596,8 @@
   (use-local-map smime-mode-map)
   (buffer-disable-undo)
   (setq truncate-lines t)
-  (setq buffer-read-only t))
+  (setq buffer-read-only t)
+  (gnus-run-mode-hooks 'smime-mode-hook))
 
 (defun smime-certificate-info (certfile)
   (interactive "fCertificate file: ")
--- a/lisp/gnus/spam.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/gnus/spam.el	Fri Jun 24 01:59:52 2005 +0000
@@ -300,7 +300,7 @@
   :type '(radio (const nil) regexp)
   :group 'spam)
 
-(defface spam-face
+(defface spam
   '((((class color) (type tty) (background dark))
      (:foreground "gray80" :background "gray50"))
     (((class color) (type tty) (background light))
@@ -312,8 +312,10 @@
     (t :inverse-video t))
   "Face for spam-marked articles."
   :group 'spam)
+;; backward-compatibility alias
+(put 'spam-face 'face-alias 'spam)
 
-(defcustom spam-face 'spam-face
+(defcustom spam-face 'spam
   "Face for spam-marked articles."
   :type 'face
   :group 'spam)
@@ -1805,8 +1807,8 @@
   "Install the spam.el hooks and do other initialization"
   (interactive)
   (setq spam-install-hooks t)
-  ;; TODO: How do we redo this every time spam-face is customized?
-  (push '((eq mark gnus-spam-mark) . spam-face)
+  ;; TODO: How do we redo this every time the `spam' face is customized?
+  (push '((eq mark gnus-spam-mark) . spam)
 	gnus-summary-highlight)
   ;; Add hooks for loading and saving the spam stats
   (add-hook 'gnus-save-newsrc-hook 'spam-maybe-spam-stat-save)
--- a/lisp/help-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/help-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -388,9 +388,10 @@
 ;;; 				(pop-to-buffer (car location))
 ;;; 				(goto-char (cdr location))))
 			  (help-xref-button 8 'help-function-def sym))
-			 ((facep sym)
-			  (if (save-match-data (looking-at "[ \t\n]+face\\W"))
-			      (help-xref-button 8 'help-face sym)))
+			 ((and
+                           (facep sym)
+                           (save-match-data (looking-at "[ \t\n]+face\\W")))
+                          (help-xref-button 8 'help-face sym))
                          ((and (boundp sym) (fboundp sym))
                           ;; We can't intuit whether to use the
                           ;; variable or function doc -- supply both.
--- a/lisp/info.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/info.el	Fri Jun 24 01:59:52 2005 +0000
@@ -83,10 +83,10 @@
   :group 'info)
 
 (defface info-xref
-  '((((min-colors 88) 
+  '((((min-colors 88)
       (class color) (background light)) :foreground "blue1" :underline t)
     (((class color) (background light)) :foreground "blue" :underline t)
-    (((min-colors 88) 
+    (((min-colors 88)
       (class color) (background dark)) :foreground "cyan1" :underline t)
     (((class color) (background dark)) :foreground "cyan" :underline t)
     (t :underline t))
@@ -1272,7 +1272,7 @@
 ;; Hide any construct of the general form ^@[^@-^_][ ...  ^@[^@-^_]],
 ;; including one optional trailing newline.
 (defun Info-hide-cookies-node ()
-  "Hide unrecognised cookies in current node."
+  "Hide unrecognized cookies in current node."
   (save-excursion
     (let ((inhibit-read-only t)
 	  (case-fold-search t))
--- a/lisp/language/ethio-util.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/language/ethio-util.el	Fri Jun 24 01:59:52 2005 +0000
@@ -116,7 +116,7 @@
 
 (defvar ethio-use-three-dot-question nil
   "*Non-nil means associate ASCII question mark with Ethiopic old style question mark (three vertically stacked dots).
-If nil, associate ASCII question mark with Ethiopic stylised question
+If nil, associate ASCII question mark with Ethiopic stylized question
 mark.  All SERA <--> FIDEL converters refer this variable.")
 
 (defvar ethio-quote-vowel-always nil
--- a/lisp/longlines.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/longlines.el	Fri Jun 24 01:59:52 2005 +0000
@@ -60,7 +60,8 @@
   :type 'boolean)
 
 (defcustom longlines-show-hard-newlines nil
-  "*Non-nil means each hard newline is marked with a symbol.
+  "*Non-nil means each hard newline is marked on the screen.
+\(The variable `longlines-show-effect' controls what they look like.)
 You can also enable the display temporarily, using the command
 `longlines-show-hard-newlines'"
   :group 'longlines
@@ -93,12 +94,12 @@
 `fill-column'.  The soft newlines used for line wrapping will not
 show up when the text is yanked or saved to disk.
 
-If `longlines-auto-wrap' is non-nil, lines are automatically
+If the variable `longlines-auto-wrap' is non-nil, lines are automatically
 wrapped whenever the buffer is changed.  You can always call
 `fill-paragraph' to fill individual paragraphs.
 
-If `longlines-show-hard-newlines' is non-nil, hard newlines will
-be marked by a symbol."
+If the variable `longlines-show-hard-newlines' is non-nil, hard newlines
+are indicated with a symbol."
   :group 'longlines :lighter " ll"
   (if longlines-mode
       ;; Turn on longlines mode
--- a/lisp/ls-lisp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/ls-lisp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -451,7 +451,7 @@
 Also, for regular files that are executable, append `*'.
 The file type indicators are `/' for directories, `@' for symbolic
 links, `|' for FIFOs, `=' for sockets, and nothing for regular files.
-\[But FIFOs and sockets are not recognised.]
+\[But FIFOs and sockets are not recognized.]
 FILEDATA has the form (filename . `file-attributes').  Its `cadr' is t
 for directory, string (name linked to) for symbolic link, or nil."
   (let ((dir (cadr filedata)) (file-name (car filedata)))
--- a/lisp/mail/emacsbug.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mail/emacsbug.el	Fri Jun 24 01:59:52 2005 +0000
@@ -130,7 +130,7 @@
     (insert "In " (emacs-version) "\n")
     (if (fboundp 'x-server-vendor)
 	(condition-case nil
-	    (insert "Distributor `" (x-server-vendor) "', version "
+	    (insert "X server distributor `" (x-server-vendor) "', version "
 		    (mapconcat 'number-to-string (x-server-version) ".") "\n")
 	  (error t)))
     (if (and system-configuration-options
--- a/lisp/mail/sendmail.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mail/sendmail.el	Fri Jun 24 01:59:52 2005 +0000
@@ -42,6 +42,12 @@
   :prefix "mail-"
   :group 'mail)
 
+(defcustom mail-setup-with-from t
+  "Non-nil means insert `From:' field when setting up the message."
+  :type 'boolean
+  :group 'sendmail
+  :version "22.1")
+
 ;;;###autoload
 (defcustom mail-from-style 'angles "\
 *Specifies how \"From:\" fields look.
@@ -416,6 +422,8 @@
   (setq mail-send-actions actions)
   (setq mail-reply-action replybuffer)
   (goto-char (point-min))
+  (if mail-setup-with-from
+      (mail-insert-from-field))
   (insert "To: ")
   (save-excursion
     (if to
@@ -884,6 +892,62 @@
 of outgoing mails regardless of the current language environment.
 See also the function `select-message-coding-system'.")
 
+(defun mail-insert-from-field ()
+  (let* ((login user-mail-address)
+	 (fullname (user-full-name))
+	 (quote-fullname nil))
+    (if (string-match "[^\0-\177]" fullname)
+	(setq fullname (rfc2047-encode-string fullname)
+	      quote-fullname t))
+    (cond ((eq mail-from-style 'angles)
+	   (insert "From: " fullname)
+	   (let ((fullname-start (+ (point-min) 6))
+		 (fullname-end (point-marker)))
+	     (goto-char fullname-start)
+	     ;; Look for a character that cannot appear unquoted
+	     ;; according to RFC 822.
+	     (if (or (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
+					fullname-end 1)
+		     quote-fullname)
+		 (progn
+		   ;; Quote fullname, escaping specials.
+		   (goto-char fullname-start)
+		   (insert "\"")
+		   (while (re-search-forward "[\"\\]"
+					     fullname-end 1)
+		     (replace-match "\\\\\\&" t))
+		   (insert "\""))))
+	   (insert " <" login ">\n"))
+	  ((eq mail-from-style 'parens)
+	   (insert "From: " login " (")
+	   (let ((fullname-start (point)))
+	     (if quote-fullname
+		 (insert "\""))
+	     (insert fullname)
+	     (if quote-fullname
+		 (insert "\""))
+	     (let ((fullname-end (point-marker)))
+	       (goto-char fullname-start)
+	       ;; RFC 822 says \ and nonmatching parentheses
+	       ;; must be escaped in comments.
+	       ;; Escape every instance of ()\ ...
+	       (while (re-search-forward "[()\\]" fullname-end 1)
+		 (replace-match "\\\\\\&" t))
+	       ;; ... then undo escaping of matching parentheses,
+	       ;; including matching nested parentheses.
+	       (goto-char fullname-start)
+	       (while (re-search-forward
+		       "\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)"
+		       fullname-end 1)
+		 (replace-match "\\1(\\3)" t)
+		 (goto-char fullname-start))))
+	   (insert ")\n"))
+	  ((null mail-from-style)
+	   (insert "From: " login "\n"))
+	  ((eq mail-from-style 'system-default)
+	   nil)
+	  (t (error "Invalid value for `mail-from-style'")))))
+
 (defun sendmail-send-it ()
   "Send the current mail buffer using the Sendmail package.
 This is a suitable value for `send-mail-function'.  It sends using the
@@ -980,60 +1044,7 @@
 	    ;; they put one in themselves.
 	    (goto-char (point-min))
 	    (if (not (re-search-forward "^From:" delimline t))
-		(let* ((login user-mail-address)
-		       (fullname (user-full-name))
-		       (quote-fullname nil))
-		  (if (string-match "[^\0-\177]" fullname)
-		      (setq fullname (rfc2047-encode-string fullname)
-			    quote-fullname t))
-		  (cond ((eq mail-from-style 'angles)
-			 (insert "From: " fullname)
-			 (let ((fullname-start (+ (point-min) 6))
-			       (fullname-end (point-marker)))
-			   (goto-char fullname-start)
-			   ;; Look for a character that cannot appear unquoted
-			   ;; according to RFC 822.
-			   (if (or (re-search-forward "[^- !#-'*+/-9=?A-Z^-~]"
-						      fullname-end 1)
-				   quote-fullname)
-			       (progn
-				 ;; Quote fullname, escaping specials.
-				 (goto-char fullname-start)
-				 (insert "\"")
-				 (while (re-search-forward "[\"\\]"
-							   fullname-end 1)
-				   (replace-match "\\\\\\&" t))
-				 (insert "\""))))
-			 (insert " <" login ">\n"))
-			((eq mail-from-style 'parens)
-			 (insert "From: " login " (")
-			 (let ((fullname-start (point)))
-			   (if quote-fullname
-			       (insert "\""))
-			   (insert fullname)
-			   (if quote-fullname
-			       (insert "\""))
-			   (let ((fullname-end (point-marker)))
-			     (goto-char fullname-start)
-			     ;; RFC 822 says \ and nonmatching parentheses
-			     ;; must be escaped in comments.
-			     ;; Escape every instance of ()\ ...
-			     (while (re-search-forward "[()\\]" fullname-end 1)
-			       (replace-match "\\\\\\&" t))
-			     ;; ... then undo escaping of matching parentheses,
-			     ;; including matching nested parentheses.
-			     (goto-char fullname-start)
-			     (while (re-search-forward
-				     "\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)"
-				     fullname-end 1)
-			       (replace-match "\\1(\\3)" t)
-			       (goto-char fullname-start))))
-			 (insert ")\n"))
-			((null mail-from-style)
-			 (insert "From: " login "\n"))
-			((eq mail-from-style 'system-default)
-			 nil)
-			(t (error "Invalid value for `mail-from-style'")))))
+		(mail-insert-from-field))
 	    ;; Possibly add a MIME header for the current coding system
 	    (let (charset)
 	      (goto-char (point-min))
--- a/lisp/menu-bar.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/menu-bar.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1099,7 +1099,7 @@
 	      :help "Move snake around avoiding collisions"))
 (define-key menu-bar-games-menu [mult]
   '(menu-item "Multiplication Puzzle"  mpuz
-	      :help "Excercise brain with multiplication"))
+	      :help "Exercise brain with multiplication"))
 (define-key menu-bar-games-menu [life]
   '(menu-item "Life"  life
 	      :help "Watch how John Conway's cellular automaton evolves"))
--- a/lisp/mh-e/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,65 @@
+2005-06-17  Lute Kamstra  <lute@gnu.org>
+
+	* mh-customize.el (mh-folder-body-face, mh-folder-cur-msg-face)
+	(mh-folder-cur-msg-number-face): New backward-compatibility
+	aliases for renamed faces.
+
+2005-06-17  Miles Bader  <miles@gnu.org>
+
+	* mh-customize.el (mh-folder-body, mh-folder-cur-msg)
+	(mh-folder-cur-msg-number, mh-folder-date, mh-folder-followup)
+	(mh-folder-msg-number, mh-folder-refiled, mh-folder-subject)
+	(mh-folder-tick, mh-folder-to, mh-index-folder)
+	(mh-letter-header-field, mh-show-cc, mh-show-date)
+	(mh-show-header, mh-show-pgg-good, mh-show-pgg-unknown)
+	(mh-show-pgg-bad, mh-show-signature, mh-show-to, mh-show-from)
+	(mh-show-xface, mh-speedbar-folder, mh-speedbar-selected-folder)
+	(mh-speedbar-folder-with-unseen-messages)
+	(mh-speedbar-selected-folder-with-unseen-messages)
+	(mh-folder-msg-number, mh-folder-subject, mh-folder-followup)
+	(mh-folder-subject): Remove "-face" suffix from face names.
+	(mh-folder-body, mh-folder-cur-msg, mh-folder-cur-msg-number)
+	(mh-folder-date-face, mh-folder-followup-face)
+	(mh-folder-msg-number-face, mh-folder-refiled-face)
+	(mh-folder-subject-face, mh-folder-tick-face, mh-folder-to-face)
+	(mh-index-folder-face, mh-letter-header-field-face)
+	(mh-show-cc-face, mh-show-date-face, mh-show-header-face)
+	(mh-show-pgg-good-face, mh-show-pgg-unknown-face)
+	(mh-show-pgg-bad-face, mh-show-signature-face, mh-show-to-face)
+	(mh-show-from-face, mh-show-xface-face, mh-speedbar-folder-face)
+	(mh-speedbar-selected-folder-face)
+	(mh-speedbar-folder-with-unseen-messages-face)
+	(mh-speedbar-selected-folder-with-unseen-messages-face): 
+	New backward-compatibility aliases for renamed faces.
+	(mh-folder-body-face, mh-folder-cur-msg-face)
+	(mh-folder-cur-msg-number-face, mh-folder-date-face)
+	(mh-folder-followup-face, mh-folder-msg-number-face)
+	(mh-folder-deleted-face, mh-folder-refiled-face)
+	(mh-folder-subject-face, mh-folder-address-face)
+	(mh-folder-scan-format-face, mh-folder-to-face)
+	(mh-index-folder-face, mh-show-cc-face, mh-show-date-face)
+	(mh-show-header-face, mh-show-pgg-good-face)
+	(mh-show-pgg-unknown-face, mh-show-pgg-bad-face)
+	(mh-show-to-face, mh-show-from-face, mh-show-subject-face)
+	(mh-speedbar-folder-with-unseen-messages)
+	(mh-speedbar-selected-folder-with-unseen-messages): 
+	Use renamed MH-E faces.
+
+	* mh-utils.el (mh-letter-font-lock-keywords)
+	(mh-face-display-function): Use renamed MH-E faces.
+	* mh-speed.el (mh-folder-speedbar-buttons)
+	(mh-speed-update-current-folder, mh-speed-normal-face)
+	(mh-speed-bold-face, mh-speed-add-buttons)
+	(mh-speed-invalidate-map): Likewise.
+	* mh-mime.el (mh-signature-highlight): Likewise.
+
+2005-06-16  Juanma Barranquero  <lekktu@gmail.com>
+
+	* mh-comp.el (mh-send-sub):
+	* mh-identity.el (mh-identity-field-handler):
+	* mh-mime.el (mh-secure-message):
+	Don't use `format' on `error' arguments.
+
 2005-06-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* mh-mime.el (mh-secure-message): Follow error conventions.
--- a/lisp/mh-e/mh-comp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-comp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -623,8 +623,8 @@
                                                )))
                       components)
                      (t
-                      (error (format "Can't find components file \"%s\""
-                                     components)))))
+                      (error "Can't find components file \"%s\""
+                             components))))
                   nil)))
       (mh-insert-fields "To:" to "Subject:" subject "Cc:" cc)
       (goto-char (point-max))
--- a/lisp/mh-e/mh-customize.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-customize.el	Fri Jun 24 01:59:52 2005 +0000
@@ -2144,9 +2144,9 @@
 
 ;;; Faces Used in Scan Listing (:group 'mh-folder-faces)
 
-(defvar mh-folder-body-face 'mh-folder-body-face
+(defvar mh-folder-body-face 'mh-folder-body
   "Face used to highlight body text in MH-Folder buffers.")
-(defface mh-folder-body-face
+(defface mh-folder-body
   '((((type tty) (class color)) (:foreground "green"))
     (((class grayscale) (background light)) (:foreground "DimGray" :italic t))
     (((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
@@ -2155,10 +2155,12 @@
     (t (:italic t)))
   "Face used to highlight body text in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-body-face 'face-alias 'mh-folder-body)
 
-(defvar mh-folder-cur-msg-face 'mh-folder-cur-msg-face
+(defvar mh-folder-cur-msg-face 'mh-folder-cur-msg
   "Face used for the current message line in MH-Folder buffers.")
-(defface mh-folder-cur-msg-face
+(defface mh-folder-cur-msg
   '((((type tty pc) (class color))
      (:background "LightGreen"))
     (((class color) (background light))
@@ -2170,10 +2172,12 @@
     (t (:underline t)))
   "Face used for the current message line in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-cur-msg-face 'face-alias 'mh-folder-cur-msg)
 
-(defvar mh-folder-cur-msg-number-face 'mh-folder-cur-msg-number-face
+(defvar mh-folder-cur-msg-number-face 'mh-folder-cur-msg-number
   "Face used to highlight the current message in MH-Folder buffers.")
-(defface mh-folder-cur-msg-number-face
+(defface mh-folder-cur-msg-number
   '((((type tty) (class color)) (:foreground "cyan" :weight bold))
     (((class grayscale) (background light)) (:foreground "LightGray" :bold t))
     (((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
@@ -2182,10 +2186,12 @@
     (t (:bold t)))
   "Face used to highlight the current message in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-cur-msg-number-face 'face-alias 'mh-folder-cur-msg-number)
 
-(defvar mh-folder-date-face 'mh-folder-date-face
+(defvar mh-folder-date-face 'mh-folder-date
   "Face used to highlight the date in MH-Folder buffers.")
-(defface mh-folder-date-face
+(defface mh-folder-date
   '((((class color) (background light))
      (:foreground "snow4"))
     (((class color) (background dark))
@@ -2194,10 +2200,12 @@
      (:bold t)))
   "Face used to highlight the date in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-date-face 'face-alias 'mh-folder-date)
 
-(defvar mh-folder-followup-face 'mh-folder-followup-face
+(defvar mh-folder-followup-face 'mh-folder-followup
   "Face used to highlight Re: subject text in MH-Folder buffers.")
-(defface mh-folder-followup-face
+(defface mh-folder-followup
   '((((class color) (background light))
      (:foreground "blue3"))
     (((class color) (background dark))
@@ -2206,10 +2214,12 @@
      (:bold t)))
   "Face used to highlight Re: subject text in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-followup-face 'face-alias 'mh-folder-followup)
 
-(defvar mh-folder-msg-number-face 'mh-folder-msg-number-face
+(defvar mh-folder-msg-number-face 'mh-folder-msg-number
   "Face used to highlight the message number in MH-Folder buffers.")
-(defface mh-folder-msg-number-face
+(defface mh-folder-msg-number
   '((((class color) (background light))
      (:foreground "snow4"))
     (((class color) (background dark))
@@ -2218,14 +2228,16 @@
      (:bold t)))
   "Face used to highlight the message number in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-msg-number-face 'face-alias 'mh-folder-msg-number)
 
-(defvar mh-folder-deleted-face 'mh-folder-deleted-face
+(defvar mh-folder-deleted-face 'mh-folder-deleted
   "Face used to highlight deleted messages in MH-Folder buffers.")
-(copy-face 'mh-folder-msg-number-face 'mh-folder-deleted-face)
+(copy-face 'mh-folder-msg-number 'mh-folder-deleted)
 
-(defvar mh-folder-refiled-face 'mh-folder-refiled-face
+(defvar mh-folder-refiled-face 'mh-folder-refiled
   "Face used to highlight refiled messages in MH-Folder buffers.")
-(defface mh-folder-refiled-face
+(defface mh-folder-refiled
   '((((type tty) (class color)) (:foreground "yellow" :weight light))
     (((class grayscale) (background light))
      (:foreground "Gray90" :bold t :italic t))
@@ -2236,12 +2248,14 @@
     (t (:bold t :italic t)))
   "Face used to highlight refiled messages in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-refiled-face 'face-alias 'mh-folder-refiled)
 
-(defvar mh-folder-subject-face 'mh-folder-subject-face
+(defvar mh-folder-subject-face 'mh-folder-subject
   "Face used to highlight subject text in MH-Folder buffers.")
 (if (boundp 'facemenu-unlisted-faces)
     (add-to-list 'facemenu-unlisted-faces "^mh-folder"))
-(defface mh-folder-subject-face
+(defface mh-folder-subject
   '((((class color) (background light))
      (:foreground "blue4"))
     (((class color) (background dark))
@@ -2250,25 +2264,29 @@
      (:bold t)))
   "Face used to highlight subject text in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-subject-face 'face-alias 'mh-folder-subject)
 
-(defface mh-folder-tick-face
+(defface mh-folder-tick
   '((((class color) (background dark)) (:background "#dddf7e"))
     (((class color) (background light)) (:background "#dddf7e"))
     (t (:underline t)))
   "Face used to show ticked messages."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-tick-face 'face-alias 'mh-folder-tick)
 
-(defvar mh-folder-address-face 'mh-folder-address-face
+(defvar mh-folder-address-face 'mh-folder-address
   "Face used to highlight the address in MH-Folder buffers.")
-(copy-face 'mh-folder-subject-face 'mh-folder-address-face)
+(copy-face 'mh-folder-subject 'mh-folder-address)
 
-(defvar mh-folder-scan-format-face 'mh-folder-scan-format-face
+(defvar mh-folder-scan-format-face 'mh-folder-scan-format
   "Face used to highlight `mh-scan-format-regexp' matches in MH-Folder buffers.")
-(copy-face 'mh-folder-followup-face 'mh-folder-scan-format-face)
+(copy-face 'mh-folder-followup 'mh-folder-scan-format)
 
-(defvar mh-folder-to-face 'mh-folder-to-face
+(defvar mh-folder-to-face 'mh-folder-to
   "Face used to highlight the To: string in MH-Folder buffers.")
-(defface mh-folder-to-face
+(defface mh-folder-to
   '((((type tty) (class color)) (:foreground "green"))
     (((class grayscale) (background light)) (:foreground "DimGray" :italic t))
     (((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
@@ -2277,14 +2295,16 @@
     (t (:italic t)))
   "Face used to highlight the To: string in MH-Folder buffers."
   :group 'mh-folder-faces)
+;; backward-compatibility alias
+(put 'mh-folder-to-face 'face-alias 'mh-folder-to)
 
 
 
 ;;; Faces Used in Searching (:group 'mh-index-faces)
 
-(defvar mh-index-folder-face 'mh-index-folder-face
+(defvar mh-index-folder-face 'mh-index-folder
   "Face used to highlight folders in MH-Index buffers.")
-(defface mh-index-folder-face
+(defface mh-index-folder
   '((((class color) (background light))
      (:foreground "dark green" :bold t))
     (((class color) (background dark))
@@ -2293,12 +2313,14 @@
      (:bold t)))
   "Face used to highlight folders in MH-Index buffers."
   :group 'mh-index-faces)
+;; backward-compatibility alias
+(put 'mh-index-folder-face 'face-alias 'mh-index-folder)
 
 
 
 ;;; Faces Used in Message Drafts (:group 'mh-letter-faces)
 
-(defface mh-letter-header-field-face
+(defface mh-letter-header-field
   '((((class color) (background light))
      (:background "gray90"))
     (((class color) (background dark))
@@ -2306,14 +2328,16 @@
     (t (:bold t)))
   "Face used to display header fields in draft buffers."
   :group 'mh-letter-faces)
+;; backward-compatibility alias
+(put 'mh-letter-header-field-face 'face-alias 'mh-letter-header-field)
 
 
 
 ;;; Faces Used in Message Display (:group 'mh-show-faces)
 
-(defvar mh-show-cc-face 'mh-show-cc-face
+(defvar mh-show-cc-face 'mh-show-cc
   "Face used to highlight cc: header fields.")
-(defface mh-show-cc-face
+(defface mh-show-cc
   '((((type tty) (class color)) (:foreground "yellow" :weight light))
     (((class grayscale) (background light))
      (:foreground "Gray90" :bold t :italic t))
@@ -2324,10 +2348,12 @@
     (t (:bold t :italic t)))
   "Face used to highlight cc: header fields."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-cc-face 'face-alias 'mh-show-cc)
 
-(defvar mh-show-date-face 'mh-show-date-face
+(defvar mh-show-date-face 'mh-show-date
   "Face used to highlight the Date: header field.")
-(defface mh-show-date-face
+(defface mh-show-date
   '((((type tty) (class color)) (:foreground "green"))
     (((class grayscale) (background light)) (:foreground "Gray90" :bold t))
     (((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
@@ -2336,10 +2362,12 @@
     (t (:bold t :underline t)))
   "Face used to highlight the Date: header field."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-date-face 'face-alias 'mh-show-date)
 
-(defvar mh-show-header-face 'mh-show-header-face
+(defvar mh-show-header-face 'mh-show-header
   "Face used to deemphasize unspecified header fields.")
-(defface mh-show-header-face
+(defface mh-show-header
   '((((type tty) (class color)) (:foreground "green"))
     (((class grayscale) (background light)) (:foreground "DimGray" :italic t))
     (((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
@@ -2348,40 +2376,50 @@
     (t (:italic t)))
   "Face used to deemphasize unspecified header fields."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-header-face 'face-alias 'mh-show-header)
 
-(defvar mh-show-pgg-good-face 'mh-show-pgg-good-face
+(defvar mh-show-pgg-good-face 'mh-show-pgg-good
   "Face used to highlight a good PGG signature.")
-(defface mh-show-pgg-good-face
+(defface mh-show-pgg-good
   '((t (:bold t :foreground "LimeGreen")))
   "Face used to highlight a good PGG signature."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-pgg-good-face 'face-alias 'mh-show-pgg-good)
 
-(defvar mh-show-pgg-unknown-face 'mh-show-pgg-unknown-face
+(defvar mh-show-pgg-unknown-face 'mh-show-pgg-unknown
   "Face used to highlight a PGG signature whose status is unknown.
 This face is also used for a signature when the signer is untrusted.")
-(defface mh-show-pgg-unknown-face
+(defface mh-show-pgg-unknown
   '((t (:bold t :foreground "DarkGoldenrod2")))
   "Face used to highlight a PGG signature whose status is unknown.
 This face is also used for a signature when the signer is untrusted."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-pgg-unknown-face 'face-alias 'mh-show-pgg-unknown)
 
-(defvar mh-show-pgg-bad-face 'mh-show-pgg-bad-face
+(defvar mh-show-pgg-bad-face 'mh-show-pgg-bad
   "Face used to highlight a bad PGG signature.")
-(defface mh-show-pgg-bad-face
+(defface mh-show-pgg-bad
   '((t (:bold t :foreground "DeepPink1")))
   "Face used to highlight a bad PGG signature."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-pgg-bad-face 'face-alias 'mh-show-pgg-bad)
 
-(defface mh-show-signature-face
+(defface mh-show-signature
   '((t (:italic t)))
   "Face used to highlight the message signature."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-signature-face 'face-alias 'mh-show-signature)
 
-(defvar mh-show-to-face 'mh-show-to-face
+(defvar mh-show-to-face 'mh-show-to
   "Face used to highlight the To: header field.")
 (if (boundp 'facemenu-unlisted-faces)
     (add-to-list 'facemenu-unlisted-faces "^mh-show"))
-(defface mh-show-to-face
+(defface mh-show-to
   '((((class grayscale) (background light))
      (:foreground "DimGray" :underline t))
     (((class grayscale) (background dark))
@@ -2391,10 +2429,12 @@
     (t (:underline t)))
   "Face used to highlight the To: header field."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-to-face 'face-alias 'mh-show-to)
 
-(defvar mh-show-from-face 'mh-show-from-face
+(defvar mh-show-from-face 'mh-show-from
   "Face used to highlight the From: header field.")
-(defface mh-show-from-face
+(defface mh-show-from
   '((((class color) (background light))
      (:foreground "red3"))
     (((class color) (background dark))
@@ -2403,30 +2443,36 @@
      (:bold t)))
   "Face used to highlight the From: header field."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-from-face 'face-alias 'mh-show-from)
 
-(defface mh-show-xface-face
+(defface mh-show-xface
   '((t (:foreground "black" :background "white")))
   "Face used to display the X-Face image.
 The background and foreground is used in the image."
   :group 'mh-show-faces)
+;; backward-compatibility alias
+(put 'mh-show-xface-face 'face-alias 'mh-show-xface)
 
-(defvar mh-show-subject-face 'mh-show-subject-face
+(defvar mh-show-subject-face 'mh-show-subject
   "Face used to highlight the Subject: header field.")
-(copy-face 'mh-folder-subject-face 'mh-show-subject-face)
+(copy-face 'mh-folder-subject 'mh-show-subject)
 
 
 
 ;;; Faces Used in Speedbar (:group 'mh-speed-faces)
 
-(defface mh-speedbar-folder-face
+(defface mh-speedbar-folder
   '((((class color) (background light))
      (:foreground "blue4"))
     (((class color) (background dark))
      (:foreground "light blue")))
   "Face used for folders in the speedbar buffer."
   :group 'mh-speed-faces)
+;; backward-compatibility alias
+(put 'mh-speedbar-folder-face 'face-alias 'mh-speedbar-folder)
 
-(defface mh-speedbar-selected-folder-face
+(defface mh-speedbar-selected-folder
   '((((class color) (background light))
      (:foreground "red1" :underline t))
     (((class color) (background dark))
@@ -2434,16 +2480,22 @@
     (t (:underline t)))
   "Face used for the current folder."
   :group 'mh-speed-faces)
+;; backward-compatibility alias
+(put 'mh-speedbar-selected-folder-face 'face-alias 'mh-speedbar-selected-folder)
 
-(defface mh-speedbar-folder-with-unseen-messages-face
-  '((t (:inherit mh-speedbar-folder-face :bold t)))
+(defface mh-speedbar-folder-with-unseen-messages
+  '((t (:inherit mh-speedbar-folder :bold t)))
   "Face used for folders in the speedbar buffer which have unread messages."
   :group 'mh-speed-faces)
+;; backward-compatibility alias
+(put 'mh-speedbar-folder-with-unseen-messages-face 'face-alias 'mh-speedbar-folder-with-unseen-messages)
 
-(defface mh-speedbar-selected-folder-with-unseen-messages-face
-  '((t (:inherit mh-speedbar-selected-folder-face :bold t)))
+(defface mh-speedbar-selected-folder-with-unseen-messages
+  '((t (:inherit mh-speedbar-selected-folder :bold t)))
   "Face used for the current folder when it has unread messages."
   :group 'mh-speed-faces)
+;; backward-compatibility alias
+(put 'mh-speedbar-selected-folder-with-unseen-messages-face 'face-alias 'mh-speedbar-selected-folder-with-unseen-messages)
 
 ;;; Local Variables:
 ;;; indent-tabs-mode: nil
--- a/lisp/mh-e/mh-identity.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-identity.el	Fri Jun 24 01:59:52 2005 +0000
@@ -126,7 +126,7 @@
 header field."
   (or (cdr (assoc (downcase field) mh-identity-handlers))
       (and (eq (aref field 0) ?:)
-           (error (format "Field %s - unknown mh-identity-handler" field)))
+           (error "Field %s - unknown mh-identity-handler" field))
       (cdr (assoc ":default" mh-identity-handlers))
       'mh-identity-handler-default))
 
--- a/lisp/mh-e/mh-mime.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-mime.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,7 +1,7 @@
 ;;; mh-mime.el --- MH-E support for composing MIME messages
 
 ;; Copyright (C) 1993, 1995,
-;; 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+;; 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -597,9 +597,9 @@
     (let ((valid-methods (list "pgpmime" "pgp" "smime"))
           (valid-modes (list "sign" "encrypt" "signencrypt" "none")))
       (if (not (member method valid-methods))
-          (error (format "Sorry. METHOD \"%s\" is invalid" method)))
+          (error "Sorry. METHOD \"%s\" is invalid" method))
       (if (not (member mode valid-modes))
-          (error (format "Sorry. MODE \"%s\" is invalid" mode)))
+          (error "Sorry. MODE \"%s\" is invalid" mode))
       (mml-unsecure-message)
       (if (not (string= mode "none"))
         (save-excursion
@@ -1059,11 +1059,11 @@
       (when (re-search-backward regexp nil t)
         (mh-do-in-gnu-emacs
           (let ((ov (make-overlay (point) (point-max))))
-            (overlay-put ov 'face 'mh-show-signature-face)
+            (overlay-put ov 'face 'mh-show-signature)
             (overlay-put ov 'evaporate t)))
         (mh-do-in-xemacs
           (set-extent-property (make-extent (point) (point-max))
-                               'face 'mh-show-signature-face))))))
+                               'face 'mh-show-signature))))))
 
 (mh-do-in-xemacs
  (defvar dots)
--- a/lisp/mh-e/mh-speed.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-speed.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-speed.el --- Speedbar interface for MH-E.
 
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -67,7 +67,7 @@
     (erase-buffer)
     (clrhash mh-speed-folder-map)
     (speedbar-make-tag-line 'bracket ?+ 'mh-speed-toggle nil " " 'ignore nil
-                            'mh-speedbar-folder-face 0)
+                            'mh-speedbar-folder 0)
     (forward-line -1)
     (setf (gethash nil mh-speed-folder-map)
           (set-marker (or (gethash nil mh-speed-folder-map) (make-marker))
@@ -149,12 +149,11 @@
       (set-buffer speedbar-buffer)
 
       ;; Remove highlight from previous match...
-      (mh-speed-highlight mh-speed-last-selected-folder
-                          'mh-speedbar-folder-face)
+      (mh-speed-highlight mh-speed-last-selected-folder 'mh-speedbar-folder)
 
       ;; If we found a match highlight it...
       (when (mh-speed-goto-folder newcf)
-        (mh-speed-highlight newcf 'mh-speedbar-selected-folder-face))
+        (mh-speed-highlight newcf 'mh-speedbar-selected-folder))
 
       (setq mh-speed-last-selected-folder newcf)
       (speedbar-position-cursor-on-line)
@@ -166,18 +165,18 @@
 
 (defun mh-speed-normal-face (face)
   "Return normal face for given FACE."
-  (cond ((eq face 'mh-speedbar-folder-with-unseen-messages-face)
-         'mh-speedbar-folder-face)
-        ((eq face 'mh-speedbar-selected-folder-with-unseen-messages-face)
-         'mh-speedbar-selected-folder-face)
+  (cond ((eq face 'mh-speedbar-folder-with-unseen-messages)
+         'mh-speedbar-folder)
+        ((eq face 'mh-speedbar-selected-folder-with-unseen-messages)
+         'mh-speedbar-selected-folder)
         (t face)))
 
 (defun mh-speed-bold-face (face)
   "Return bold face for given FACE."
-  (cond ((eq face 'mh-speedbar-folder-face)
-         'mh-speedbar-folder-with-unseen-messages-face)
-        ((eq face 'mh-speedbar-selected-folder-face)
-         'mh-speedbar-selected-folder-with-unseen-messages-face)
+  (cond ((eq face 'mh-speedbar-folder)
+         'mh-speedbar-folder-with-unseen-messages)
+        ((eq face 'mh-speedbar-selected-folder)
+         'mh-speedbar-selected-folder-with-unseen-messages)
         (t face)))
 
 (defun mh-speed-highlight (folder face)
@@ -272,8 +271,8 @@
                       ""))
             'mh-speed-view nil
             (if (and counts (> (car counts) 0))
-                'mh-speedbar-folder-with-unseen-messages-face
-              'mh-speedbar-folder-face)
+                'mh-speedbar-folder-with-unseen-messages
+              'mh-speedbar-folder)
             level)
            (save-excursion
              (forward-line -1)
@@ -496,8 +495,7 @@
               (add-text-properties
                (line-beginning-position) (1+ (line-beginning-position))
                `(mh-children-p ,(equal parent-change ?+)))))
-          (mh-speed-highlight mh-speed-last-selected-folder
-                              'mh-speedbar-folder-face)
+          (mh-speed-highlight mh-speed-last-selected-folder 'mh-speedbar-folder)
           (setq mh-speed-last-selected-folder nil)
           (setq mh-speed-refresh-flag t)))
       (when (equal folder "")
--- a/lisp/mh-e/mh-utils.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/mh-e/mh-utils.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,7 +1,7 @@
 ;;; mh-utils.el --- MH-E code needed for both sending and reading
 
 ;; Copyright (C) 1993, 1995, 1997,
-;; 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+;; 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
@@ -406,7 +406,7 @@
 
 (defvar mh-letter-font-lock-keywords
   `(,@mh-show-font-lock-keywords-with-cite
-    (mh-font-lock-field-data (1 'mh-letter-header-field-face prepend t))))
+    (mh-font-lock-field-data (1 'mh-letter-header-field prepend t))))
 
 (defun mh-show-font-lock-fontify-region (beg end loudly)
   "Limit font-lock in `mh-show-mode' to the header.
@@ -1218,8 +1218,8 @@
               (mh-funcall-if-exists
                insert-image (create-image
                              raw type t
-                             :foreground (face-foreground 'mh-show-xface-face)
-                             :background (face-background 'mh-show-xface-face))
+                             :foreground (face-foreground 'mh-show-xface)
+                             :background (face-background 'mh-show-xface))
                             " ")))
           ;; XEmacs
           (mh-do-in-xemacs
@@ -1237,7 +1237,7 @@
                (set-extent-begin-glyph
                 (make-extent (point) (point))
                 (make-glyph (vector 'xface ':data (concat "X-Face: " x-face))))
-               'mh-show-xface-face))
+               'mh-show-xface))
              ;; Otherwise try external support with x-face...
              ((and (eq type 'pbm)
                    (fboundp 'x-face-xmas-wl-display-x-face)
--- a/lisp/net/browse-url.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/browse-url.el	Fri Jun 24 01:59:52 2005 +0000
@@ -38,6 +38,7 @@
 
 ;; Function                           Browser     Earliest version
 ;; browse-url-mozilla                 Mozilla     Don't know
+;; browse-url-firefox                 Firefox     Don't know (tried with 1.0.1)
 ;; browse-url-galeon                  Galeon      Don't know
 ;; browse-url-epiphany                Epiphany    Don't know
 ;; browse-url-netscape                Netscape    1.1b1
@@ -248,6 +249,7 @@
 	  (function-item :tag "W3 in another Emacs via `gnudoit'"
 			 :value  browse-url-w3-gnudoit)
 	  (function-item :tag "Mozilla" :value  browse-url-mozilla)
+	  (function-item :tag "Firefox" :value browse-url-firefox)
 	  (function-item :tag "Galeon" :value  browse-url-galeon)
 	  (function-item :tag "Epiphany" :value  browse-url-epiphany)
 	  (function-item :tag "Netscape" :value  browse-url-netscape)
@@ -323,6 +325,25 @@
   :type '(repeat (string :tag "Argument"))
   :group 'browse-url)
 
+;;;###autoload
+(defcustom browse-url-firefox-program "firefox"
+  "*The name by which to invoke Firefox."
+  :type 'string
+  :group 'browse-url)
+
+(defcustom browse-url-firefox-arguments nil
+  "*A list of strings to pass to Firefox as arguments."
+  :type '(repeat (string :tag "Argument"))
+  :group 'browse-url)
+
+(defcustom browse-url-firefox-startup-arguments browse-url-firefox-arguments
+  "*A list of strings to pass to Firefox when it starts up.
+Defaults to the value of `browse-url-firefox-arguments' at the time
+`browse-url' is loaded."
+  :type '(repeat (string :tag "Argument"))
+  :group 'browse-url)
+
+;;;###autoload
 (defcustom browse-url-galeon-program "galeon"
   "*The name by which to invoke Galeon."
   :type 'string
@@ -373,6 +394,16 @@
   :type 'boolean
   :group 'browse-url)
 
+(defcustom browse-url-firefox-new-window-is-tab nil
+  "*Whether to open up new windows in a tab or a new window.
+If non-nil, then open the URL in a new tab rather than a new window if
+`browse-url-firefox' is asked to open it in a new window.
+
+This option is currently ignored on MS-Windows, since the necessary
+functionality is not available there."
+  :type 'boolean
+  :group 'browse-url)
+
 (defcustom browse-url-galeon-new-window-is-tab nil
   "*Whether to open up new windows in a tab or a new window.
 If non-nil, then open the URL in a new tab rather than a new window if
@@ -815,13 +846,14 @@
 When called non-interactively, optional second argument NEW-WINDOW is
 used instead of `browse-url-new-window-flag'.
 
-The order attempted is gnome-moz-remote, Mozilla, Galeon,
-Konqueror, Netscape, Mosaic, IXI Mosaic, Lynx in an xterm, MMM,
-and then W3."
+The order attempted is gnome-moz-remote, Mozilla, Firefox,
+Galeon, Konqueror, Netscape, Mosaic, IXI Mosaic, Lynx in an
+xterm, MMM, and then W3."
   (apply
     (cond
      ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
      ((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
+     ((executable-find browse-url-firefox-program) 'browse-url-firefox)
      ((executable-find browse-url-galeon-program) 'browse-url-galeon)
      ((executable-find browse-url-kde-program) 'browse-url-kde)
      ((executable-find browse-url-netscape-program) 'browse-url-netscape)
@@ -960,6 +992,71 @@
 	       (append browse-url-mozilla-startup-arguments (list url))))))
 
 ;;;###autoload
+(defun browse-url-firefox (url &optional new-window)
+  "Ask the Firefox WWW browser to load URL.
+Default to the URL around or before point.  The strings in
+variable `browse-url-firefox-arguments' are also passed to
+Firefox.
+
+When called interactively, if variable
+`browse-url-new-window-flag' is non-nil, load the document in a
+new Firefox window, otherwise use a random existing one.  A
+non-nil interactive prefix argument reverses the effect of
+`browse-url-new-window-flag'.
+
+If `browse-url-firefox-new-window-is-tab' is non-nil, then
+whenever a document would otherwise be loaded in a new window, it
+is loaded in a new tab in an existing window instead.
+
+When called non-interactively, optional second argument
+NEW-WINDOW is used instead of `browse-url-new-window-flag'.
+
+On MS-Windows systems the optional `new-window' parameter is
+ignored.  Firefox for Windows does not support the \"-remote\"
+command line parameter.  Therefore, the
+`browse-url-new-window-flag' and `browse-url-firefox-new-window-is-tab'
+are ignored as well.  Firefox on Windows will always open the requested
+URL in a new window."
+  (interactive (browse-url-interactive-arg "URL: "))
+  ;; URL encode any `confusing' characters in the URL.  This needs to
+  ;; include at least commas; presumably also close parens.
+  (while (string-match "[,)]" url)
+    (setq url (replace-match
+	       (format "%%%x" (string-to-char (match-string 0 url))) t t url)))
+  (let* ((process-environment (browse-url-process-environment))
+	 (process
+	  (apply 'start-process
+		 (concat "firefox " url) nil
+		 browse-url-firefox-program
+		 (append
+		  browse-url-firefox-arguments
+		  (if (or (featurep 'dos-w32)
+			  (string-match "win32" system-configuration))
+		      (list url)
+		    (list "-remote"
+			  (concat "openURL("
+				  url
+				  (if (browse-url-maybe-new-window
+				       new-window)
+				      (if browse-url-firefox-new-window-is-tab
+					  ",new-tab"
+					",new-window"))
+				  ")")))))))
+    (set-process-sentinel process
+			  `(lambda (process change)
+			     (browse-url-firefox-sentinel process ,url)))))
+
+(defun browse-url-firefox-sentinel (process url)
+  "Handle a change to the process communicating with Firefox."
+  (or (eq (process-exit-status process) 0)
+      (let* ((process-environment (browse-url-process-environment)))
+	;; Firefox is not running - start it
+	(message "Starting Firefox...")
+	(apply 'start-process (concat "firefox " url) nil
+	       browse-url-firefox-program
+	       (append browse-url-firefox-startup-arguments (list url))))))
+
+;;;###autoload
 (defun browse-url-galeon (url &optional new-window)
   "Ask the Galeon WWW browser to load URL.
 Default to the URL around or before point.  The strings in variable
@@ -1119,11 +1216,11 @@
 	  (save-buffer)
 	  (kill-buffer nil)
 	  ;; Send signal SIGUSR to Mosaic
-	  (message "Signalling Mosaic...")
+	  (message "Signaling Mosaic...")
 	  (signal-process pid 'SIGUSR1)
 	  ;; Or you could try:
 	  ;; (call-process "kill" nil 0 nil "-USR1" (int-to-string pid))
-	  (message "Signalling Mosaic...done")
+	  (message "Signaling Mosaic...done")
 	  )
       ;; Mosaic not running - start it
       (message "Starting %s..." browse-url-mosaic-program)
--- a/lisp/net/tramp-ftp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp-ftp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP and EFS -*- coding: iso-8859-1; -*-
 
-;; Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <Michael.Albinus@alcatel.de>
 ;; Keywords: comm, processes
--- a/lisp/net/tramp-smb.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp-smb.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding: iso-8859-1; -*-
 
-;; Copyright (C) 2002, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
--- a/lisp/net/tramp-util.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp-util.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- coding: iso-2022-7bit; -*-
 ;;; tramp-util.el --- Misc utility functions to use with Tramp
 
-;; Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: kai.grossjohann@gmx.net
 ;; Keywords: comm, extensions, processes
--- a/lisp/net/tramp-uu.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp-uu.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- coding: iso-2022-7bit; -*-
 ;;; tramp-uu.el --- uuencode in Lisp
 
-;; Copyright (C) 2002, 2005  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2004, 2005  Free Software Foundation, Inc.
 
 ;; Author: Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;; Keywords: comm, terminals
--- a/lisp/net/tramp-vc.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp-vc.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-vc.el --- Version control integration for TRAMP.el
 
-;; Copyright (C) 2000, 2001, 2002, 2005 by Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by Free Software Foundation, Inc.
 
 ;; Author: Daniel Pittman <daniel@danann.net>
 ;; Keywords: comm, processes
--- a/lisp/net/tramp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/tramp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit; -*-
 ;;; tramp.el --- Transparent Remote Access, Multiple Protocol
 
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: kai.grossjohann@gmx.net
 ;; Keywords: comm, processes
--- a/lisp/net/zone-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/net/zone-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -60,7 +60,7 @@
 	     (old-serial (concat old-date old-seq))
 	     (new-serial (concat cur-date new-seq)))
 	(if (string-lessp new-serial old-serial)
-	    (error (format "Serial numbers want to move backwards from %s to %s" old-serial new-serial))
+	    (error "Serial numbers want to move backwards from %s to %s" old-serial new-serial)
 	  (replace-match (concat cur-date new-seq old-flag) t t))))))
 
 ;;;###autoload
@@ -76,7 +76,7 @@
   "Zone-mode's syntax table.")
 
 (defun zone-mode-load-time-setup ()
-  "Initialise `zone-mode' stuff."
+  "Initialize `zone-mode' stuff."
   (setq zone-mode-syntax-table (make-syntax-table))
   (modify-syntax-entry ?\; "<" zone-mode-syntax-table)
   (modify-syntax-entry ?\n ">" zone-mode-syntax-table))
--- a/lisp/pcvs-defs.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/pcvs-defs.el	Fri Jun 24 01:59:52 2005 +0000
@@ -421,9 +421,11 @@
     ["Ignore"			cvs-mode-ignore		(cvs-enabledp 'ignore)]
     ["Add ChangeLog"		cvs-mode-add-change-log-entry-other-window t]
     "----"
+    ["Mark"                     cvs-mode-mark t]
     ["Mark all"			cvs-mode-mark-all-files	t]
     ["Mark by regexp..."        cvs-mode-mark-matching-files t]
     ["Mark by state..."         cvs-mode-mark-on-state t]
+    ["Unmark"                   cvs-mode-unmark	t]
     ["Unmark all"		cvs-mode-unmark-all-files t]
     ["Hide handled"		cvs-mode-remove-handled	t]
     "----"
--- a/lisp/progmodes/ada-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ada-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -31,9 +31,9 @@
 ;;; This mode is a major mode for editing Ada83 and Ada95 source code.
 ;;; This is a major rewrite of the file packaged with Emacs-20.  The
 ;;; ada-mode is composed of four lisp files, ada-mode.el, ada-xref.el,
-;;; ada-prj.el and ada-stmt.el. Only this file (ada-mode.el) is
+;;; ada-prj.el and ada-stmt.el.  Only this file (ada-mode.el) is
 ;;; completely independent from the GNU Ada compiler Gnat, distributed
-;;; by Ada Core Technologies. All the other files rely heavily on
+;;; by Ada Core Technologies.  All the other files rely heavily on
 ;;; features provided only by Gnat.
 ;;;
 ;;; Note: this mode will not work with Emacs 19. If you are on a VMS
@@ -136,7 +136,7 @@
 ;; this function is needed at compile time
 (eval-and-compile
   (defun ada-check-emacs-version (major minor &optional is-xemacs)
-    "Returns t if Emacs's version is greater or equal to MAJOR.MINOR.
+    "Return t if Emacs's version is greater or equal to MAJOR.MINOR.
 If IS-XEMACS is non-nil, check for XEmacs instead of Emacs."
     (let ((xemacs-running (or (string-match "Lucid"  emacs-version)
                               (string-match "XEmacs" emacs-version))))
@@ -186,8 +186,7 @@
   :type 'integer :group 'ada)
 
 (defcustom ada-continuation-indent ada-broken-indent
-  "*Number of columns to indent the continuation of broken lines in
-parenthesis.
+  "*Number of columns to indent the continuation of broken lines in parenthesis.
 
 An example is :
    Func (Param1,
@@ -212,10 +211,10 @@
 when you call `ada-create-case-exception'.
 
 These files should contain one word per line, that gives the casing
-to be used for that word in Ada files. If the line starts with the
+to be used for that word in Ada files.  If the line starts with the
 character *, then the exception will be used for substrings that either
 start at the beginning of a word or after a _ character, and end either
-at the end of the word or at a _ character. Each line can be terminated by
+at the end of the word or at a _ character.  Each line can be terminated by
 a comment."
   :type '(repeat (file))
   :group 'ada)
@@ -271,15 +270,14 @@
 
 (defcustom ada-indent-comment-as-code t
   "*Non-nil means indent comment lines as code.
-nil means do not auto-indent comments."
+A nil value means do not auto-indent comments."
   :type 'boolean :group 'ada)
 
 (defcustom ada-indent-handle-comment-special nil
-  "*Non-nil if comment lines should be handled specially inside
-parenthesis.
+  "*Non-nil if comment lines should be handled specially inside parenthesis.
 By default, if the line that contains the open parenthesis has some
 text following it, then the following lines will be indented in the
-same column as this text. This will not be true if the first line is
+same column as this text.  This will not be true if the first line is
 a comment and `ada-indent-handle-comment-special' is t.
 
 type A is
@@ -311,8 +309,8 @@
 
 (defcustom ada-indent-renames ada-broken-indent
   "*Indentation for renames relative to the matching function statement.
-If ada-indent-return is null or negative, the indentation is done relative to
-the open parenthesis (if there is no parenthesis, ada-broken-indent is used).
+If `ada-indent-return' is null or negative, the indentation is done relative to
+the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used).
 
 An example is:
    function A (B : Integer)
@@ -322,8 +320,8 @@
 
 (defcustom ada-indent-return 0
   "*Indentation for 'return' relative to the matching 'function' statement.
-If ada-indent-return is null or negative, the indentation is done relative to
-the open parenthesis (if there is no parenthesis, ada-broken-indent is used).
+If `ada-indent-return' is null or negative, the indentation is done relative to
+the open parenthesis (if there is no parenthesis, `ada-broken-indent' is used).
 
 An example is:
    function A (B : Integer)
@@ -342,7 +340,7 @@
 
 (defcustom ada-fill-comment-postfix " --"
   "*Text inserted at the end of each line when filling a comment paragraph.
-with `ada-fill-comment-paragraph-postfix'."
+Used by `ada-fill-comment-paragraph-postfix'."
   :type 'string :group 'ada)
 
 (defcustom ada-label-indent -4
@@ -377,7 +375,7 @@
 	  '("/usr/adainclude" "/usr/local/adainclude"
 	    "/opt/gnu/adainclude"))
   "*List of directories to search for Ada files.
-See the description for the `ff-search-directories' variable. This variable
+See the description for the `ff-search-directories' variable.  This variable
 is the initial value of this variable, and is copied and modified in
 `ada-search-directories-internal'."
   :type '(repeat (choice :tag "Directory"
@@ -389,7 +387,7 @@
   "Internal version of `ada-search-directories'.
 Its value is the concatenation of the search path as read in the project file
 and the standard runtime location, and the value of the user-defined
-ada-search-directories.")
+`ada-search-directories'.")
 
 (defcustom ada-stmt-end-indent 0
   "*Number of columns to indent the end of a statement on a separate line.
@@ -402,7 +400,7 @@
 (defcustom ada-tab-policy 'indent-auto
   "*Control the behavior of the TAB key.
 Must be one of :
-`indent-rigidly' : always adds ada-indent blanks at the beginning of the line.
+`indent-rigidly' : always adds `ada-indent' blanks at the beginning of the line.
 `indent-auto'    : use indentation functions in this file.
 `always-tab'     : do indent-relative."
   :type '(choice (const indent-auto)
@@ -438,7 +436,7 @@
   "*Name of the compiler to use.
 This will determine what features are made available through the ada-mode.
 The possible choices are :
-`gnat': Use Ada Core Technologies' Gnat compiler. Add some cross-referencing
+`gnat': Use Ada Core Technologies' Gnat compiler.  Add some cross-referencing
     features
 `generic': Use a generic compiler"
   :type '(choice (const gnat)
@@ -494,14 +492,14 @@
 (defvar ada-case-exception-substring '()
   "Alist of substrings (entities) that have special casing.
 The substrings are detected for word constituant when the word
-is not itself in ada-case-exception, and only for substrings that
+is not itself in `ada-case-exception', and only for substrings that
 either are at the beginning or end of the word, or start after '_'.")
 
 (defvar ada-lfd-binding nil
   "Variable to save key binding of LFD when casing is activated.")
 
 (defvar ada-other-file-alist nil
-  "Variable used by find-file to find the name of the other package.
+  "Variable used by `find-file' to find the name of the other package.
 See `ff-other-file-alist'.")
 
 (defvar ada-align-list
@@ -552,7 +550,7 @@
    "type\\|"
    "when"
    "\\)\\>\\)")
-  "see the variable `align-region-separate' for more information.")
+  "See the variable `align-region-separate' for more information.")
 
 ;;; ---- Below are the regexp used in this package for parsing
 
@@ -631,7 +629,7 @@
              '("end" "loop" "select" "begin" "case" "do"
                "if" "task" "package" "record" "protected") t)
             "\\>"))
-  "Regexp used in ada-goto-matching-start.")
+  "Regexp used in `ada-goto-matching-start'.")
 
 (defvar ada-matching-decl-start-re
   (eval-when-compile
@@ -639,7 +637,7 @@
             (regexp-opt
              '("is" "separate" "end" "declare" "if" "new" "begin" "generic" "when") t)
             "\\>"))
-  "Regexp used in ada-goto-matching-decl-start.")
+  "Regexp used in `ada-goto-matching-decl-start'.")
 
 (defvar ada-loop-start-re
   "\\<\\(for\\|while\\|loop\\)\\>"
@@ -662,7 +660,7 @@
   "Position of point just before displaying the menu.
 This is a list (point buffer).
 Since `ada-popup-menu' moves the point where the user clicked, the region
-is modified. Therefore no command from the menu knows what the user selected
+is modified.  Therefore no command from the menu knows what the user selected
 before displaying the contextual menu.
 To get the original region, restore the point to this position before
 calling `region-end' and `region-beginning'.
@@ -717,7 +715,7 @@
      "^[ \t]*protected[ \t]+\\(type[ \t]+\\)?\\(\\(body[ \t]+\\)?\\(\\sw\\|_\\)+\\)" 2)
    '("*Packages*" "^[ \t]*package[ \t]+\\(\\(body[ \t]+\\)?\\(\\sw\\|[_.]\\)+\\)" 1))
   "Imenu generic expression for Ada mode.
-See `imenu-generic-expression'. This variable will create several submenus for
+See `imenu-generic-expression'.  This variable will create several submenus for
 each type of entity that can be found in an Ada file.")
 
 
@@ -733,9 +731,9 @@
   )
 
 (defun ada-compile-goto-error (pos)
-  "Replaces `compile-goto-error' from compile.el.
-If POS is on a file and line location, go to this position. It adds to
-compile.el the capacity to go to a reference in an error message.
+  "Replace `compile-goto-error' from compile.el.
+If POS is on a file and line location, go to this position.  It adds
+to compile.el the capacity to go to a reference in an error message.
 For instance, on this line:
   foo.adb:61:11:  [...] in call to size declared at foo.ads:11
 both file locations can be clicked on and jumped to."
@@ -953,20 +951,20 @@
 ;;------------------------------------------------------------------
 
 (defsubst ada-in-comment-p (&optional parse-result)
-  "Returns t if inside a comment."
+  "Return t if inside a comment."
   (nth 4 (or parse-result
              (parse-partial-sexp
               (line-beginning-position) (point)))))
 
 (defsubst ada-in-string-p (&optional parse-result)
-  "Returns t if point is inside a string.
-If parse-result is non-nil, use is instead of calling parse-partial-sexp."
+  "Return t if point is inside a string.
+If parse-result is non-nil, use is instead of calling `parse-partial-sexp'."
   (nth 3 (or parse-result
              (parse-partial-sexp
               (line-beginning-position) (point)))))
 
 (defsubst ada-in-string-or-comment-p (&optional parse-result)
-  "Returns t if inside a comment or string."
+  "Return t if inside a comment or string."
   (setq parse-result (or parse-result
                          (parse-partial-sexp
                           (line-beginning-position) (point))))
@@ -994,8 +992,8 @@
   "Pops up a contextual menu, depending on where the user clicked.
 POSITION is the location the mouse was clicked on.
 Sets `ada-contextual-menu-last-point' to the current position before
-displaying the menu. When a function from the menu is called, the point is
-where the mouse button was clicked."
+displaying the menu.  When a function from the menu is called, the
+point is where the mouse button was clicked."
   (interactive "e")
 
   ;;  declare this as a local variable, so that the function called
@@ -1035,8 +1033,8 @@
   "Define SPEC and BODY as being valid extensions for Ada files.
 Going from body to spec with `ff-find-other-file' used these
 extensions.
-SPEC and BODY are two regular expressions that must match against the file
-name"
+SPEC and BODY are two regular expressions that must match against
+the file name."
   (let* ((reg (concat (regexp-quote body) "$"))
          (tmp (assoc reg ada-other-file-alist)))
     (if tmp
@@ -1099,7 +1097,7 @@
  Continue comment on next line                        '\\[indent-new-comment-line]'
 
 If you use imenu.el:
- Display index-menu of functions & procedures         '\\[imenu]'
+ Display index-menu of functions and procedures       '\\[imenu]'
 
 If you use find-file.el:
  Switch to other file (Body <-> Spec)                 '\\[ff-find-other-file]'
@@ -1408,7 +1406,7 @@
 
 ;;  transient-mark-mode and mark-active are not defined in XEmacs
 (defun ada-region-selected ()
-  "t if a region has been selected by the user and is still active."
+  "Return t if a region has been selected by the user and is still active."
   (or (and (featurep 'xemacs) (funcall (symbol-function 'region-active-p)))
       (and (not (featurep 'xemacs))
 	   (symbol-value 'transient-mark-mode)
@@ -1447,7 +1445,7 @@
   )
 
 (defun ada-create-case-exception (&optional word)
-  "Defines WORD as an exception for the casing system.
+  "Define WORD as an exception for the casing system.
 If WORD is not given, then the current word in the buffer is used instead.
 The new words is added to the first file in `ada-case-exception-file'.
 The standard casing rules will no longer apply to this word."
@@ -1487,10 +1485,10 @@
     ))
 
 (defun ada-create-case-exception-substring (&optional word)
-  "Defines the substring WORD as an exception for the casing system.
+  "Define the substring WORD as an exception for the casing system.
 If WORD is not given, then the current word in the buffer is used instead,
 or the selected region if any is active.
-The new words is added to the first file in `ada-case-exception-file'.
+The new word is added to the first file in `ada-case-exception-file'.
 When auto-casing a word, this substring will be special-cased, unless the
 word itself has a special casing."
   (interactive)
@@ -1642,7 +1640,7 @@
 	  (ada-adjust-case-substring))))))
 
 (defun ada-after-keyword-p ()
-  "Returns t if cursor is after a keyword that is not an attribute."
+  "Return t if cursor is after a keyword that is not an attribute."
   (save-excursion
     (forward-word -1)
     (and (not (and (char-before)
@@ -1651,7 +1649,7 @@
          (looking-at (concat ada-keywords "[^_]")))))
 
 (defun ada-adjust-case (&optional force-identifier)
-  "Adjust the case of the word before the just typed character.
+  "Adjust the case of the word before the character just typed.
 If FORCE-IDENTIFIER is non-nil then also adjust keyword as identifier."
   (if (not (bobp))
       (progn
@@ -1682,7 +1680,7 @@
 
 (defun ada-adjust-case-interactive (arg)
   "Adjust the case of the previous word, and process the character just typed.
-ARG is the prefix the user entered with \C-u."
+ARG is the prefix the user entered with \\[universal-argument]."
   (interactive "P")
 
   (if ada-auto-case
@@ -1729,7 +1727,7 @@
     ))
 
 (defun ada-activate-keys-for-case ()
-  "Modifies the key bindings for all the keys that should readjust the casing."
+  "Modify the key bindings for all the keys that should readjust the casing."
   (interactive)
   ;; Save original key-bindings to allow swapping ret/lfd
   ;; when casing is activated.
@@ -1763,7 +1761,7 @@
         (delete-char 1)))))
 
 (defun ada-no-auto-case (&optional arg)
-  "Does nothing.
+  "Do nothing.
 This function can be used for the auto-casing variables in the ada-mode, to
 adapt to unusal auto-casing schemes. Since it does nothing, you can for
 instance use it for `ada-case-identifier' if you don't want any special
@@ -1782,8 +1780,8 @@
     (modify-syntax-entry ?_ "w")))
 
 (defun ada-adjust-case-region (from to)
-  "Adjusts the case of all words in the region between FROM and TO.
-Attention: This function might take very long for big regions !"
+  "Adjust the case of all words in the region between FROM and TO.
+Attention: This function might take very long for big regions!"
   (interactive "*r")
   (let ((begin nil)
         (end nil)
@@ -1829,7 +1827,7 @@
 
 (defun ada-adjust-case-buffer ()
   "Adjusts the case of all words in the whole buffer.
-ATTENTION: This function might take very long for big buffers !"
+ATTENTION: This function might take very long for big buffers!"
   (interactive "*")
   (ada-adjust-case-region (point-min) (point-max)))
 
@@ -1851,7 +1849,7 @@
 ;;--------------------------------------------------------------
 
 (defun ada-format-paramlist ()
-  "Reformats the parameter list point is in."
+  "Reformat the parameter list point is in."
   (interactive)
   (let ((begin nil)
         (end nil)
@@ -1864,7 +1862,7 @@
 
           ;; check if really inside parameter list
           (or (ada-in-paramlist-p)
-              (error "not in parameter list"))
+              (error "Not in parameter list"))
 
           ;; find start of current parameter-list
           (ada-search-ignore-string-comment
@@ -1899,7 +1897,7 @@
 
 (defun ada-scan-paramlist (begin end)
   "Scan the parameter list found in between BEGIN and END.
-Returns the equivalent internal parameter list."
+Return the equivalent internal parameter list."
   (let ((paramlist (list))
         (param (list))
         (notend t)
@@ -1996,7 +1994,7 @@
     (reverse paramlist)))
 
 (defun ada-insert-paramlist (paramlist)
-  "Inserts a formatted PARAMLIST in the buffer."
+  "Insert a formatted PARAMLIST in the buffer."
   (let ((i (length paramlist))
         (parlen 0)
         (typlen 0)
@@ -2163,7 +2161,7 @@
     (message "indenting ... done")))
 
 (defun ada-indent-newline-indent ()
-  "Indents the current line, inserts a newline and then indents the new line."
+  "Indent the current line, insert a newline and then indent the new line."
   (interactive "*")
   (ada-indent-current)
   (newline)
@@ -2172,14 +2170,14 @@
 (defun ada-indent-newline-indent-conditional ()
   "Insert a newline and indent it.
 The original line is indented first if `ada-indent-after-return' is non-nil.
-This function is intended to be bound to the \C-m and \C-j keys."
+This function is intended to be bound to the C-m and C-j keys."
   (interactive "*")
   (if ada-indent-after-return (ada-indent-current))
   (newline)
   (ada-indent-current))
 
 (defun ada-justified-indent-current ()
-  "Indent the current line and explains how the calculation was done."
+  "Indent the current line and explain how the calculation was done."
   (interactive)
 
   (let ((cur-indent (ada-indent-current)))
@@ -2223,13 +2221,13 @@
   (kill-emacs 0))
 
 (defsubst ada-goto-previous-word ()
-  "Moves point to the beginning of the previous word of Ada code.
-Returns the new position of point or nil if not found."
+  "Move point to the beginning of the previous word of Ada code.
+Return the new position of point or nil if not found."
   (ada-goto-next-word t))
 
 (defun ada-indent-current ()
   "Indent current line as Ada code.
-Returns the calculation that was done, including the reference point and the
+Return the calculation that was done, including the reference point and the
 offset."
   (interactive)
   (let ((previous-syntax-table (syntax-table))
@@ -2804,7 +2802,7 @@
     ))
 
 (defun ada-get-indent-open-paren ()
-  "Calculates the indentation when point is behind an unclosed parenthesis."
+  "Calculate the indentation when point is behind an unclosed parenthesis."
   (list (ada-in-open-paren-p) 0))
 
 (defun ada-get-indent-nochange ()
@@ -2815,7 +2813,7 @@
     (list (point) 0)))
 
 (defun ada-get-indent-paramlist ()
-  "Calculates the indentation when point is inside a parameter list."
+  "Calculate the indentation when point is inside a parameter list."
   (save-excursion
     (ada-search-ignore-string-comment "[^ \t\n]" t nil t)
     (cond
@@ -2843,7 +2841,7 @@
       (list (point) 0)))))
 
 (defun ada-get-indent-end (orgpoint)
-  "Calculates the indentation when point is just before an end_statement.
+  "Calculate the indentation when point is just before an end statement.
 ORGPOINT is the limit position used in the calculation."
   (let ((defun-name nil)
         (indent nil))
@@ -2909,7 +2907,7 @@
             'ada-broken-indent))))
 
 (defun ada-get-indent-case (orgpoint)
-  "Calculates the indentation when point is just before a case statement.
+  "Calculate the indentation when point is just before a case statement.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-cons nil)
         (opos (point)))
@@ -2927,7 +2925,7 @@
       (save-excursion
         (goto-char (car match-cons))
         (unless (ada-search-ignore-string-comment "when" t opos)
-          (error "missing 'when' between 'case' and '=>'"))
+          (error "Missing 'when' between 'case' and '=>'"))
         (list (save-excursion (back-to-indentation) (point)) 'ada-indent)))
      ;;
      ;; case..is..when
@@ -2952,7 +2950,7 @@
             'ada-broken-indent)))))
 
 (defun ada-get-indent-when (orgpoint)
-  "Calculates the indentation when point is just before a when statement.
+  "Calculate the indentation when point is just before a when statement.
 ORGPOINT is the limit position used in the calculation."
   (let ((cur-indent (save-excursion (back-to-indentation) (point))))
     (if (ada-search-ignore-string-comment "[ \t\n]*=>" nil orgpoint)
@@ -2960,7 +2958,7 @@
       (list cur-indent 'ada-broken-indent))))
 
 (defun ada-get-indent-if (orgpoint)
-  "Calculates the indentation when point is just before an if statement.
+  "Calculate the indentation when point is just before an if statement.
 ORGPOINT is the limit position used in the calculation."
   (let ((cur-indent (save-excursion (back-to-indentation) (point)))
         (match-cons nil))
@@ -2990,7 +2988,7 @@
       (list cur-indent 'ada-broken-indent))))
 
 (defun ada-get-indent-block-start (orgpoint)
-  "Calculates the indentation when point is at the start of a block.
+  "Calculate the indentation when point is at the start of a block.
 ORGPOINT is the limit position used in the calculation."
   (let ((pos nil))
     (cond
@@ -3023,7 +3021,7 @@
       (list (save-excursion (back-to-indentation) (point)) 'ada-indent)))))
 
 (defun ada-get-indent-subprog (orgpoint)
-  "Calculates the indentation when point is just before a subprogram.
+  "Calculate the indentation when point is just before a subprogram.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-cons nil)
         (cur-indent (save-excursion (back-to-indentation) (point)))
@@ -3092,7 +3090,7 @@
       (list cur-indent 'ada-broken-indent)))))
 
 (defun ada-get-indent-noindent (orgpoint)
-  "Calculates the indentation when point is just before a 'noindent stmt'.
+  "Calculate the indentation when point is just before a 'noindent stmt'.
 ORGPOINT is the limit position used in the calculation."
   (let ((label 0))
     (save-excursion
@@ -3146,7 +3144,7 @@
                 'ada-broken-indent)))))))
 
 (defun ada-get-indent-label (orgpoint)
-  "Calculates the indentation when before a label or variable declaration.
+  "Calculate the indentation when before a label or variable declaration.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-cons nil)
         (cur-indent (save-excursion (back-to-indentation) (point))))
@@ -3178,7 +3176,7 @@
       (list cur-indent '(- ada-label-indent))))))
 
 (defun ada-get-indent-loop (orgpoint)
-  "Calculates the indentation when just before a loop or a for ... use.
+  "Calculate the indentation when just before a loop or a for ... use.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-cons nil)
         (pos (point))
@@ -3290,7 +3288,7 @@
               'ada-broken-indent))))))
 
 (defun ada-get-indent-type (orgpoint)
-  "Calculates the indentation when before a type statement.
+  "Calculate the indentation when before a type statement.
 ORGPOINT is the limit position used in the calculation."
   (let ((match-dat nil))
     (cond
@@ -3345,8 +3343,8 @@
 ;; -----------------------------------------------------------
 
 (defun ada-goto-stmt-start ()
-  "Moves point to the beginning of the statement that point is in or after.
-Returns the new position of point.
+  "Move point to the beginning of the statement that point is in or after.
+Return the new position of point.
 As a special case, if we are looking at a closing parenthesis, skip to the
 open parenthesis."
   (let ((match-dat nil)
@@ -3391,9 +3389,9 @@
 
 
 (defun ada-search-prev-end-stmt ()
-  "Moves point to previous end-statement.
-Returns a cons cell whose car is the beginning and whose cdr the end of the
-match."
+  "Move point to previous end statement.
+Return a cons cell whose car is the beginning and whose cdr
+is the end of the match."
   (let ((match-dat nil)
         (found nil))
 
@@ -3442,7 +3440,7 @@
 
 
 (defun ada-goto-next-non-ws (&optional limit)
-  "Skips white spaces, newlines and comments to next non-ws character.
+  "Skip white spaces, newlines and comments to next non-ws character.
 Stop the search at LIMIT.
 Do not call this function from within a string."
   (unless limit
@@ -3460,8 +3458,8 @@
 
 
 (defun ada-goto-stmt-end (&optional limit)
-  "Moves point to the end of the statement that point is in or before.
-Returns the new position of point or nil if not found.
+  "Move point to the end of the statement that point is in or before.
+Return the new position of point or nil if not found.
 Stop the search at LIMIT."
   (if (ada-search-ignore-string-comment ada-end-stmt-re nil limit)
       (point)
@@ -3469,9 +3467,9 @@
 
 
 (defun ada-goto-next-word (&optional backward)
-  "Moves point to the beginning of the next word of Ada code.
+  "Move point to the beginning of the next word of Ada code.
 If BACKWARD is non-nil, jump to the beginning of the previous word.
-Returns the new position of point or nil if not found."
+Return the new position of point or nil if not found."
   (let ((match-cons nil)
         (orgpoint (point))
         (old-syntax (char-to-string (char-syntax ?_))))
@@ -3499,16 +3497,16 @@
 
 
 (defun ada-check-matching-start (keyword)
-  "Signals an error if matching block start is not KEYWORD.
+  "Signal an error if matching block start is not KEYWORD.
 Moves point to the matching block start."
   (ada-goto-matching-start 0)
   (unless (looking-at (concat "\\<" keyword "\\>"))
-    (error "matching start is not '%s'" keyword)))
+    (error "Matching start is not '%s'" keyword)))
 
 
 (defun ada-check-defun-name (defun-name)
-  "Checks if the name of the matching defun really is DEFUN-NAME.
-Assumes point to be already positioned by 'ada-goto-matching-start'.
+  "Check if the name of the matching defun really is DEFUN-NAME.
+Assumes point to be already positioned by `ada-goto-matching-start'.
 Moves point to the beginning of the declaration."
 
   ;; named block without a `declare'
@@ -3547,12 +3545,12 @@
       ;; should be looking-at the correct name
       ;;
       (unless (looking-at (concat "\\<" defun-name "\\>"))
-        (error "matching defun has different name: %s"
+        (error "Matching defun has different name: %s"
                (buffer-substring (point)
                                  (progn (forward-sexp 1) (point))))))))
 
 (defun ada-goto-matching-decl-start (&optional noerror recursive)
-  "Moves point to the matching declaration start of the current 'begin'.
+  "Move point to the matching declaration start of the current 'begin'.
 If NOERROR is non-nil, it only returns nil if no match was found."
   (let ((nest-count 1)
 
@@ -3709,13 +3707,13 @@
            (looking-at "declare\\|generic")))
         t
       (if noerror nil
-        (error "no matching proc/func/task/declare/package/protected")))
+        (error "No matching proc/func/task/declare/package/protected")))
     ))
 
 (defun ada-goto-matching-start (&optional nest-level noerror gotothen)
-  "Moves point to the beginning of a block-start.
-Which block depends on the value of NEST-LEVEL, which defaults to zero. If
-NOERROR is non-nil, it only returns nil if no matching start was found.
+  "Move point to the beginning of a block-start.
+Which block depends on the value of NEST-LEVEL, which defaults to zero.
+If NOERROR is non-nil, it only returns nil if no matching start was found.
 If GOTOTHEN is non-nil, point moves to the 'then' following 'if'."
   (let ((nest-count (if nest-level nest-level 0))
         (found nil)
@@ -3852,16 +3850,16 @@
 	      (unless (ada-search-ignore-string-comment
 		       "accept" t nil nil
 		       'word-search-backward)
-		(error "missing 'accept' in front of 'do'"))))
+		(error "Missing 'accept' in front of 'do'"))))
 	    (point))
 
 	(if noerror
 	    nil
-	  (error "no matching start"))))))
+	  (error "No matching start"))))))
 
 
 (defun ada-goto-matching-end (&optional nest-level noerror)
-  "Moves point to the end of a block.
+  "Move point to the end of a block.
 Which block depends on the value of NEST-LEVEL, which defaults to zero.
 If NOERROR is non-nil, it only returns nil if found no matching start."
   (let ((nest-count (or nest-level 0))
@@ -3963,20 +3961,20 @@
         t
       (if noerror
           nil
-        (error "no matching end")))
+        (error "No matching end")))
     ))
 
 
 (defun ada-search-ignore-string-comment
   (search-re &optional backward limit paramlists search-func)
   "Regexp-search for SEARCH-RE, ignoring comments, strings.
-If PARAMLISTS is nil, ignore parameter lists. Returns a cons cell of
+If PARAMLISTS is nil, ignore parameter lists.  Returns a cons cell of
 begin and end of match data or nil, if not found.
 The search is done using SEARCH-FUNC, which should search backward if
-BACKWARD is non-nil, forward otherwise. SEARCH-FUNC can be optimized in case
-we are searching for a constant string.
+BACKWARD is non-nil, forward otherwise.  SEARCH-FUNC can be optimized
+in case we are searching for a constant string.
 The search stops at pos LIMIT.
-Point is moved at the beginning of the search-re."
+Point is moved at the beginning of the SEARCH-RE."
   (let (found
         begin
         end
@@ -4061,7 +4059,7 @@
 ;; -------------------------------------------------------
 
 (defun ada-in-decl-p ()
-  "Returns t if point is inside a declarative part.
+  "Return t if point is inside a declarative part.
 Assumes point to be at the end of a statement."
   (or (ada-in-paramlist-p)
       (save-excursion
@@ -4069,7 +4067,7 @@
 
 
 (defun ada-looking-at-semi-or ()
-  "Returns t if looking-at an 'or' following a semicolon."
+  "Return t if looking at an 'or' following a semicolon."
   (save-excursion
     (and (looking-at "\\<or\\>")
          (progn
@@ -4079,7 +4077,7 @@
 
 
 (defun ada-looking-at-semi-private ()
-  "Returns t if looking at the start of a private section in a package.
+  "Return t if looking at the start of a private section in a package.
 Returns nil if the private is part of the package name, as in
 'private package A is...' (this can only happen at top level)."
   (save-excursion
@@ -4101,7 +4099,7 @@
 
 
 (defun ada-in-paramlist-p ()
-  "Returns t if point is inside a parameter-list."
+  "Return t if point is inside a parameter-list."
   (save-excursion
     (and
      (ada-search-ignore-string-comment "(\\|)" t nil t)
@@ -4151,7 +4149,7 @@
   result))
 
 (defun ada-in-open-paren-p ()
-  "Returns the position of the first non-ws behind the last unclosed
+  "Return the position of the first non-ws behind the last unclosed
 parenthesis, or nil."
   (save-excursion
     (let ((parse (parse-partial-sexp
@@ -4186,26 +4184,26 @@
 (defun ada-tab ()
   "Do indenting or tabbing according to `ada-tab-policy'.
 In Transient Mark mode, if the mark is active, operate on the contents
-of the region.  Otherwise, operates only on the current line."
+of the region.  Otherwise, operate only on the current line."
   (interactive)
   (cond ((eq ada-tab-policy 'indent-rigidly) (ada-tab-hard))
         ((eq ada-tab-policy 'indent-auto)
 	 (if (ada-region-selected)
              (ada-indent-region (region-beginning) (region-end))
            (ada-indent-current)))
-        ((eq ada-tab-policy 'always-tab) (error "not implemented"))
+        ((eq ada-tab-policy 'always-tab) (error "Not implemented"))
         ))
 
 (defun ada-untab (arg)
   "Delete leading indenting according to `ada-tab-policy'."
   (interactive "P")
   (cond ((eq ada-tab-policy 'indent-rigidly) (ada-untab-hard))
-        ((eq ada-tab-policy 'indent-auto) (error "not implemented"))
-        ((eq ada-tab-policy 'always-tab) (error "not implemented"))
+        ((eq ada-tab-policy 'indent-auto) (error "Not implemented"))
+        ((eq ada-tab-policy 'always-tab) (error "Not implemented"))
         ))
 
 (defun ada-indent-current-function ()
-  "Ada mode version of the indent-line-function."
+  "Ada mode version of the `indent-line-function'."
   (interactive "*")
   (let ((starting-point (point-marker)))
     (beginning-of-line)
@@ -4225,7 +4223,7 @@
       (forward-char ada-indent)))
 
 (defun ada-untab-hard ()
-  "indent current line to previous tab stop."
+  "Indent current line to previous tab stop."
   (interactive)
   (let  ((bol (save-excursion (progn (beginning-of-line) (point))))
          (eol (save-excursion (progn (end-of-line) (point)))))
@@ -4327,7 +4325,7 @@
 ;; -------------------------------------------------------------
 
 (defun ada-move-to-start ()
-  "Moves point to the matching start of the current Ada structure."
+  "Move point to the matching start of the current Ada structure."
   (interactive)
   (let ((pos (point))
         (previous-syntax-table (syntax-table)))
@@ -4348,7 +4346,7 @@
                     (or (looking-at "[ \t]*\\<end\\>")
                         (backward-word 1))
                     (or (looking-at "[ \t]*\\<end\\>")
-                        (error "not on end ...;")))
+                        (error "Not on end ...;")))
                   (ada-goto-matching-start 1)
                   (setq pos (point))
 
@@ -4369,7 +4367,7 @@
       (set-syntax-table previous-syntax-table))))
 
 (defun ada-move-to-end ()
-  "Moves point to the matching end of the block around point.
+  "Move point to the matching end of the block around point.
 Moves to 'begin' if in a declarative part."
   (interactive)
   (let ((pos (point))
@@ -4447,7 +4445,7 @@
       (set-syntax-table previous-syntax-table))))
 
 (defun ada-next-procedure ()
-  "Moves point to next procedure."
+  "Move point to next procedure."
   (interactive)
   (end-of-line)
   (if (re-search-forward ada-procedure-start-regexp nil t)
@@ -4455,7 +4453,7 @@
     (error "No more functions/procedures/tasks")))
 
 (defun ada-previous-procedure ()
-  "Moves point to previous procedure."
+  "Move point to previous procedure."
   (interactive)
   (beginning-of-line)
   (if (re-search-backward ada-procedure-start-regexp nil t)
@@ -4463,7 +4461,7 @@
     (error "No more functions/procedures/tasks")))
 
 (defun ada-next-package ()
-  "Moves point to next package."
+  "Move point to next package."
   (interactive)
   (end-of-line)
   (if (re-search-forward ada-package-start-regexp nil t)
@@ -4471,7 +4469,7 @@
     (error "No more packages")))
 
 (defun ada-previous-package ()
-  "Moves point to previous package."
+  "Move point to previous package."
   (interactive)
   (beginning-of-line)
   (if (re-search-backward ada-package-start-regexp nil t)
@@ -4591,7 +4589,7 @@
 
 
 (defun ada-create-menu ()
-  "Create the ada menu as shown in the menu bar."
+  "Create the Ada menu as shown in the menu bar."
   (let ((m '("Ada"
 	     ("Help"
 	      ["Ada Mode"               (info "ada-mode") t]
@@ -4788,28 +4786,28 @@
     (ada-indent-region beg end)))
 
 (defun ada-fill-comment-paragraph-justify ()
-  "Fills current comment paragraph and justifies each line as well."
+  "Fill current comment paragraph and justify each line as well."
   (interactive)
   (ada-fill-comment-paragraph 'full))
 
 (defun ada-fill-comment-paragraph-postfix ()
-  "Fills current comment paragraph and justifies each line as well.
+  "Fill current comment paragraph and justify each line as well.
 Adds `ada-fill-comment-postfix' at the end of each line."
   (interactive)
   (ada-fill-comment-paragraph 'full t))
 
 (defun ada-fill-comment-paragraph (&optional justify postfix)
-  "Fills the current comment paragraph.
+  "Fill the current comment paragraph.
 If JUSTIFY is non-nil, each line is justified as well.
-If POSTFIX and JUSTIFY are  non-nil, `ada-fill-comment-postfix' is appended
-to each filled and justified line.
+If POSTFIX and JUSTIFY are non-nil, `ada-fill-comment-postfix' is appended
+to each line filled and justified.
 The paragraph is indented on the first line."
   (interactive "P")
 
   ;; check if inside comment or just in front a comment
   (if (and (not (ada-in-comment-p))
            (not (looking-at "[ \t]*--")))
-      (error "not inside comment"))
+      (error "Not inside comment"))
 
   (let* (indent from to
          (opos (point-marker))
@@ -4920,8 +4918,8 @@
 
 (defun ada-other-file-name ()
   "Return the name of the other file.
-The name returned is the body if current-buffer is the spec, or the spec
-otherwise."
+The name returned is the body if `current-buffer' is the spec,
+or the spec otherwise."
 
   (let ((is-spec nil)
 	(is-body nil)
@@ -4990,15 +4988,15 @@
 
 
 (defvar ada-last-which-function-line -1
-  "Last on which ada-which-function was called")
+  "Last on which `ada-which-function' was called.")
 (defvar ada-last-which-function-subprog 0
-  "Last subprogram name returned by ada-which-function")
+  "Last subprogram name returned by `ada-which-function'.")
 (make-variable-buffer-local 'ada-last-which-function-subprog)
 (make-variable-buffer-local 'ada-last-which-function-line)
 
 
 (defun ada-which-function ()
-  "Returns the name of the function whose body the point is in.
+  "Return the name of the function whose body the point is in.
 This function works even in the case of nested subprograms, whereas the
 standard Emacs function `which-function' does not.
 Since the search can be long, the results are cached."
@@ -5082,8 +5080,8 @@
           (goto-char (point-min))))))
 
 (defun ada-get-body-name (&optional spec-name)
-  "Returns the file name for the body of SPEC-NAME.
-If SPEC-NAME is nil, returns the body for the current package.
+  "Return the file name for the body of SPEC-NAME.
+If SPEC-NAME is nil, return the body for the current package.
 Returns nil if no body was found."
   (interactive)
 
@@ -5230,7 +5228,7 @@
 ;; ---------------------------------------------------------
 
 (defun ada-outline-level ()
-  "This is so that `current-column` DTRT in otherwise-hidden text"
+  "This is so that `current-column' DTRT in otherwise-hidden text."
   ;; patch from Dave Love <fx@gnu.org>
   (let (buffer-invisibility-spec)
     (save-excursion
@@ -5242,10 +5240,10 @@
 ;; ---------------------------------------------------------
 
 (defun ada-narrow-to-defun (&optional arg)
-  "make text outside current subprogram invisible.
+  "Make text outside current subprogram invisible.
 The subprogram visible is the one that contains or follow point.
 Optional ARG is ignored.
-Use `M-x widen' to go back to the full visibility for the buffer"
+Use `M-x widen' to go back to the full visibility for the buffer."
 
   (interactive)
   (save-excursion
@@ -5276,8 +5274,8 @@
 
 (defun ada-gen-treat-proc (match)
   "Make dummy body of a procedure/function specification.
-MATCH is a cons cell containing the start and end location of the last search
-for ada-procedure-start-regexp."
+MATCH is a cons cell containing the start and end locations of the last search
+for `ada-procedure-start-regexp'."
   (goto-char (car match))
   (let (func-found procname functype)
     (cond
@@ -5398,7 +5396,7 @@
           (setq body-file (ada-get-body-name))
           (if body-file
               (find-file body-file)
-            (error "No body found for the package. Create it first"))
+            (error "No body found for the package.  Create it first"))
 
           (save-restriction
             (widen)
--- a/lisp/progmodes/cc-align.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/cc-align.el	Fri Jun 24 01:59:52 2005 +0000
@@ -158,7 +158,7 @@
 Only continuation lines like this are touched, nil is returned on lines
 which are the start of an argument.
 
-Within a gcc asm block, \":\" is recognised as an argument separator,
+Within a gcc asm block, \":\" is recognized as an argument separator,
 but of course only between operand specifications, not in the expressions
 for the operands.
 
--- a/lisp/progmodes/cc-awk.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/cc-awk.el	Fri Jun 24 01:59:52 2005 +0000
@@ -69,7 +69,7 @@
     ;; / can delimit regexes or be a division operator.  By default we assume
     ;; that it is a division sign, and fix the regexp operator cases with
     ;; `font-lock-syntactic-keywords'.
-    (modify-syntax-entry ?/ "." st)     ; ACM 2002/4/27.  
+    (modify-syntax-entry ?/ "." st)     ; ACM 2002/4/27.
     (modify-syntax-entry ?* "." st)
     (modify-syntax-entry ?+ "." st)
     (modify-syntax-entry ?- "." st)
@@ -85,7 +85,7 @@
   "Syntax table in use in AWK Mode buffers.")
 
 ;; ACM, 2002/5/29:
-;; 
+;;
 ;; The next section of code is about determining whether or not an AWK
 ;; statement is complete or not.  We use this to indent the following line.
 ;; The determination is pretty straightforward in C, where a statement ends
@@ -199,7 +199,7 @@
   ;;  Kludge: If c-backward-syntactic-ws gets stuck at a BOL, it is likely
   ;;  that the previous line contains an unterminated string (without \).  In
   ;;  this case, assume that the previous line's c-awk-NL-prop is a ;.
-  ;; 
+  ;;
   ;;  POINT MUST BE AT THE START OF A LINE when calling this function.  This
   ;;  is to ensure that the various backward-comment functions will work
   ;;  properly.
@@ -237,13 +237,13 @@
   ;; Calculate and set the value of the c-awk-NL-prop on the immediately
   ;; preceding EOL.  This may also involve doing the same for several
   ;; preceding EOLs.
-  ;; 
+  ;;
   ;; NOTE that if the property was already set, we return it without
   ;; recalculation.  (This is by accident rather than design.)
-  ;; 
+  ;;
   ;; Return the property which got set (or was already set) on the previous
   ;; line.  Return nil if we hit BOB.
-  ;; 
+  ;;
   ;; See c-awk-after-if-for-while-condition-p for a description of DO-LIM.
   (save-excursion
     (save-match-data
@@ -298,7 +298,7 @@
   ;; if necessary. (As a special case, the property doesn't get set on an
   ;; empty line at EOB (there's no position to set the property on), but the
   ;; function returns the property value an EOL would have got.)
-  ;; 
+  ;;
   ;; See c-awk-after-if-for-while-condition-p for a description of DO-LIM.
   (save-excursion
     (let ((extra-nl nil))
@@ -339,7 +339,7 @@
   (and (bolp)
        (eq (c-awk-get-NL-prop-prev-line do-lim) ?\;)))
 
-(defun c-awk-backward-syntactic-ws (&optional lim) 
+(defun c-awk-backward-syntactic-ws (&optional lim)
 ;; Skip backwards over awk-syntactic whitespace.  This is whitespace
 ;; characters, comments, and NEWLINES WHICH AREN'T "VIRTUAL SEMICOLONS".  For
 ;; this function, a newline isn't a "virtual semicolon" if that line ends with
@@ -431,7 +431,7 @@
 ;; Go back to the start of the (apparent) current line (or the start of the
 ;; line containing POS), returning the buffer position of that point.  I.e.,
 ;; go back to the last line which doesn't have an escaped EOL before it.
-;; 
+;;
 ;; This is guaranteed to be "safe" for syntactic analysis, i.e. outwith any
 ;; comment, string or regexp.  IT MAY WELL BE that this function should not be
 ;; executed on a narrowed buffer.
@@ -470,7 +470,7 @@
 ;; Matches a newline, or the end of buffer.
 
 ;; "Space" regular expressions.
-(defconst c-awk-escaped-nl "\\\\[\n\r]") 
+(defconst c-awk-escaped-nl "\\\\[\n\r]")
 ;; Matches an escaped newline.
 (defconst c-awk-escaped-nls* (concat "\\(" c-awk-escaped-nl "\\)*"))
 ;; Matches a possibly empty sequence of escaped newlines.  Used in
@@ -546,7 +546,7 @@
 ;;   Matches the inside of an AWK regexp (i.e. without the enclosing /s)
 (defconst c-awk-regexp-without-end-re
   (concat "/" c-awk-regexp-innards-re))
-;; Matches an AWK regexp up to, but not including, any terminating /. 
+;; Matches an AWK regexp up to, but not including, any terminating /.
 
 ;; REGEXPS used for scanning an AWK buffer in order to decide IF A '/' IS A
 ;; REGEXP OPENER OR A DIVISION SIGN.  By "state" in the following is meant
@@ -714,7 +714,7 @@
                 (c-awk-syntax-tablify-string)
               (c-awk-syntax-tablify-/ anchor anchor-state-/div)))
 
-      ;; Skip any further "harmless" lines before the next tricky one. 
+      ;; Skip any further "harmless" lines before the next tricky one.
       (if (search-forward-regexp c-awk-harmless-lines+-here-re nil t)
           (setq anchor-state-/div nil)))
     nil))
@@ -803,7 +803,7 @@
 defun.  Returns t unless search stops due to beginning or end of buffer.
 
 By a \"defun\" is meant either a pattern-action pair or a function.  The start
-of a defun is recognised as code starting at column zero which is neither a
+of a defun is recognized as code starting at column zero which is neither a
 closing brace nor a comment nor a continuation of the previous line.  Unlike
 in some other modes, having an opening brace at column 0 is neither necessary
 nor helpful."
--- a/lisp/progmodes/cc-defs.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/cc-defs.el	Fri Jun 24 01:59:52 2005 +0000
@@ -417,7 +417,7 @@
   `(c-forward-sexp ,(if (numberp count) (- count) `(- ,count))))
 
 (defmacro c-safe-scan-lists (from count depth)
-  "Like `scan-lists' but returns nil instead of signalling errors.
+  "Like `scan-lists' but returns nil instead of signaling errors.
 
 This function does not do any hidden buffer changes."
   (if (featurep 'xemacs)
--- a/lisp/progmodes/cc-fonts.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/cc-fonts.el	Fri Jun 24 01:59:52 2005 +0000
@@ -193,6 +193,10 @@
 
 (unless (c-face-name-p c-invalid-face-name)
   (defconst c-invalid-face 'c-invalid-face) ; Necessary in Emacs 19.
+  ;; This face should be called `c-invalid' for consistency with the
+  ;; rest of emacs, but as it's only used in very old versions of Emacs,
+  ;; we leave it unchanged (the face-alias mechanism doesn't exist in
+  ;; those old versions).
   (defface c-invalid-face
     '((((class color) (background light)) (:foreground "red1"))
       (((class color)) (:foreground "hotpink"))
@@ -203,8 +207,8 @@
 ;; To make hard spaces visible an inverted version of
 ;; `c-invalid-face-name' is used.  Since font-lock in Emacs expands
 ;; all face names in `font-lock-keywords' as variables we need to have
-;; a variable for it that resolves to its own name.
-(defconst c-nonbreakable-space-face 'c-nonbreakable-space-face)
+;; a variable for it.
+(defconst c-nonbreakable-space-face 'c-nonbreakable-space)
 
 (cc-bytecomp-defun face-inverse-video-p) ; Only in Emacs.
 (cc-bytecomp-defun face-property-instance) ; Only in XEmacs.
@@ -511,9 +515,9 @@
       (eval . (list
 	       "\240"
 	       0 (progn
-		   (unless (c-face-name-p 'c-nonbreakable-space-face)
+		   (unless (c-face-name-p c-nonbreakable-space-face)
 		     (c-make-inverse-face c-invalid-face-name
-					  'c-nonbreakable-space-face))
+					  c-nonbreakable-space-face))
 		   'c-nonbreakable-space-face)))
       ))
 
--- a/lisp/progmodes/cperl-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/cperl-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -5209,7 +5209,7 @@
       (set (car setting) (cdr setting)))))
 
 (defun cperl-set-style-back ()
-  "Restore a style memorised by `cperl-set-style'."
+  "Restore a style memorized by `cperl-set-style'."
   (interactive)
   (or cperl-old-style (error "The style was not changed"))
   (let (setting)
--- a/lisp/progmodes/ebnf-abn.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-abn.el	Fri Jun 24 01:59:52 2005 +0000
@@ -485,7 +485,7 @@
 
 
 (defun ebnf-abn-lex ()
-  "Lexical analyser for ABNF.
+  "Lexical analyzer for ABNF.
 
 Return a lexical token.
 
--- a/lisp/progmodes/ebnf-bnf.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-bnf.el	Fri Jun 24 01:59:52 2005 +0000
@@ -109,7 +109,7 @@
 ;;    ;; 8-bit accentuated characters) except `"', as `"' is used to delimit a
 ;;    ;; terminal.  Also, accepts escaped characters, that is, a character
 ;;    ;; pair starting with `\' followed by a printable character, for
-;;    ;; example: \", \\. 
+;;    ;; example: \", \\.
 ;;
 ;;    special = "[^?\\000-\\010\\012-\\037\\177-\\237]*".
 ;;    ;; that is, a valid special accepts any printable character (including
@@ -429,7 +429,7 @@
 
 
 (defun ebnf-bnf-lex ()
-  "Lexical analyser for EBNF.
+  "Lexical analyzer for EBNF.
 
 Return a lexical token.
 
--- a/lisp/progmodes/ebnf-dtd.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-dtd.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1152,7 +1152,7 @@
 
 
 (defun ebnf-dtd-lex ()
-  "Lexical analyser for DTD.
+  "Lexical analyzer for DTD.
 
 Return a lexical token.
 
--- a/lisp/progmodes/ebnf-ebx.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-ebx.el	Fri Jun 24 01:59:52 2005 +0000
@@ -295,7 +295,7 @@
 	  (cons (car except)
 		(ebnf-make-except (cdr term) (cdr except))))
       term)))
-	  
+
 
 
 ;;; term ::= factor ('*' | '+' | '?')?
@@ -416,7 +416,7 @@
 
 
 (defun ebnf-ebx-lex ()
-  "Lexical analyser for EBNFX.
+  "Lexical analyzer for EBNFX.
 
 Return a lexical token.
 
@@ -503,7 +503,7 @@
       (error "Missing end of constraint `]'"))
   (forward-char)
   t)
-  
+
 
 
 (defun ebnf-ebx-skip-end-of-rule ()
--- a/lisp/progmodes/ebnf-iso.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-iso.el	Fri Jun 24 01:59:52 2005 +0000
@@ -389,7 +389,7 @@
 
 
 (defun ebnf-iso-lex ()
-  "Lexical analyser for ISO EBNF.
+  "Lexical analyzer for ISO EBNF.
 
 Return a lexical token.
 
--- a/lisp/progmodes/ebnf-yac.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ebnf-yac.el	Fri Jun 24 01:59:52 2005 +0000
@@ -312,7 +312,7 @@
 
 
 (defun ebnf-yac-lex ()
-  "Lexical analyser for Yacc/Bison.
+  "Lexical analyzer for Yacc/Bison.
 
 Return a lexical token.
 
--- a/lisp/progmodes/gdb-ui.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/gdb-ui.el	Fri Jun 24 01:59:52 2005 +0000
@@ -85,6 +85,7 @@
 (defvar gdb-find-file-unhook nil)
 (defvar gdb-active-process nil "GUD tooltips display variable values when t, \
 and #define directives otherwise.")
+(defvar gdb-error "Non-nil when GDB is reporting an error.")
 (defvar gdb-macro-info nil
   "Non-nil if GDB knows that the inferior includes preprocessor macro info.")
 
@@ -359,6 +360,7 @@
 	gdb-flush-pending-output nil
 	gdb-location-alist nil
 	gdb-find-file-unhook nil
+	gdb-error nil
 	gdb-macro-info nil)
   ;;
   (setq gdb-buffer-type 'gdba)
@@ -860,6 +862,8 @@
     ("watchpoint" gdb-stopping)
     ("frame-begin" gdb-frame-begin)
     ("stopped" gdb-stopped)
+    ("error-begin" gdb-error)
+    ("error" gdb-error)
     ) "An assoc mapping annotation tags to functions which process them.")
 
 (defun gdb-resync()
@@ -989,6 +993,9 @@
       (gdb-resync)
       (error "Unexpected stopped annotation")))))
 
+(defun gdb-error (ignored)
+  (setq gdb-error (not gdb-error)))
+
 (defun gdb-post-prompt (ignored)
   "An annotation handler for `post-prompt'.
 This begins the collection of output from the current command if that
@@ -1083,6 +1090,8 @@
       output)))
 
 (defun gdb-concat-output (so-far new)
+  (if gdb-error
+      (put-text-property 0 (length new) 'face font-lock-warning-face new))
   (let ((sink gdb-output-sink))
     (cond
      ((eq sink 'user) (concat so-far new))
--- a/lisp/progmodes/grep.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/grep.el	Fri Jun 24 01:59:52 2005 +0000
@@ -250,17 +250,20 @@
   ;; rms: I removed the code to match parens around the line number
   ;; because it causes confusion and so we will find out if anyone needs it.
   ;; It causes confusion with a file name that contains a number in parens.
-  '(("^\\(.+?\\)[: \t]+\
+  '(("^\\(.+?\\)\\([: \t]\\)+\
 \\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\
-\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?[: \t]" 1 (2 . 5) (4 . 6))
-    ("^\\(.+?\\)[:(]+\\([0-9]+\\)\\([:)]\\).*?\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(\033\\[K\\)?\\)"
-     1 2
+\\(?:-\\(?:\\([0-9]+\\)\\4\\)?\\.?\\([0-9]+\\)?\\)?\\2"
+     1 (3 . 6) (5 . 7))
+    ("^\\(\\(.+?\\):\\([0-9]+\\):\\).*?\
+\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(?:\033\\[K\\)?\\)"
+     2 3
      ;; Calculate column positions (beg . end) of first grep match on a line
      ((lambda ()
         (setq compilation-error-screen-columns nil)
-        (- (match-beginning 5) (match-end 3) 8))
+        (- (match-beginning 5) (match-end 1) 8))
       .
-      (lambda () (- (match-end 5) (match-end 3) 8))))
+      (lambda () (- (match-end 5) (match-end 1) 8)))
+     nil 1)
     ("^Binary file \\(.+\\) matches$" 1 nil nil 1))
   "Regexp used to match grep hits.  See `compilation-error-regexp-alist'.")
 
@@ -293,7 +296,7 @@
       (1 compilation-warning-face)
       (2 compilation-line-face))
      ;; Highlight grep matches and delete markers
-     ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(\033\\[K\\)?\\)"
+     ("\\(\033\\[01;41m\\)\\(.*?\\)\\(\033\\[00m\\(?:\033\\[K\\)?\\)"
       ;; Refontification does not work after the markers have been
       ;; deleted.  So we use the font-lock-face property here as Font
       ;; Lock does not clear that.
@@ -517,7 +520,10 @@
   (set (make-local-variable 'compilation-error-face)
        grep-hit-face)
   (set (make-local-variable 'compilation-error-regexp-alist)
-       grep-regexp-alist))
+       grep-regexp-alist)
+  ;; Set `font-lock-lines-before' to 0 to not refontify the previous
+  ;; line where grep markers may be already removed.
+  (set (make-local-variable 'font-lock-lines-before) 0))
 
 ;;;###autoload
 (defun grep-find (command-args)
--- a/lisp/progmodes/idlwave.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/idlwave.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1369,7 +1369,7 @@
 ;; Note that this is documented in the v18 manuals as being a string
 ;; of length one rather than a single character.
 ;; The code in this file accepts either format for compatibility.
-(defvar idlwave-comment-indent-char ?\ 
+(defvar idlwave-comment-indent-char ?\
   "Character to be inserted for IDL comment indentation.
 Normally a space.")
 
@@ -5493,8 +5493,8 @@
 	  (error "Nothing known about procedure %s"
 		 (idlwave-make-full-name class name)))
 	(setq list (idlwave-fix-keywords name 'pro class list super-classes))
-	(unless list (error (format "No keywords available for procedure %s"
-				    (idlwave-make-full-name class name))))
+	(unless list (error "No keywords available for procedure %s"
+                            (idlwave-make-full-name class name)))
 	(setq idlwave-completion-help-info
 	      (list 'keyword name type-selector class-selector entry super-classes))
 	(idlwave-complete-in-buffer
@@ -5531,8 +5531,8 @@
 			   (concat idlwave-current-obj_new-class
 				   "::Init (via OBJ_NEW)")
 			 (idlwave-make-full-name class name)))
-	(unless list (error (format "No keywords available for function %s"
-				    msg-name)))
+	(unless list (error "No keywords available for function %s"
+                            msg-name))
 	(setq idlwave-completion-help-info
 	      (list 'keyword name type-selector class-selector nil super-classes))
 	(idlwave-complete-in-buffer
--- a/lisp/progmodes/inf-lisp.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/inf-lisp.el	Fri Jun 24 01:59:52 2005 +0000
@@ -161,7 +161,7 @@
 
 ;;;###autoload
 (defcustom inferior-lisp-prompt "^[^> \n]*>+:? *"
-  "Regexp to recognise prompts in the Inferior Lisp mode.
+  "Regexp to recognize prompts in the Inferior Lisp mode.
 Defaults to \"^[^> \\n]*>+:? *\", which works pretty good for Lucid, kcl,
 and franz.  This variable is used to initialize `comint-prompt-regexp' in the
 Inferior Lisp buffer.
--- a/lisp/progmodes/modula2.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/modula2.el	Fri Jun 24 01:59:52 2005 +0000
@@ -309,7 +309,7 @@
   "Build skeleton FOR loop statement, prompting for the loop parameters."
   (interactive)
   (insert "FOR ")
-  (let ((name (read-string "Loop Initialiser: ")) limit by)
+  (let ((name (read-string "Loop Initializer: ")) limit by)
     (insert name " TO ")
     (setq limit (read-string "Limit: "))
     (insert limit)
--- a/lisp/progmodes/ps-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/ps-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1,11 +1,11 @@
 ;;; ps-mode.el --- PostScript mode for GNU Emacs
 
-;; Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2005 Free Software Foundation, Inc.
 
-;; Author:     Peter Kleiweg <kleiweg@let.rug.nl>
-;; Maintainer: Peter Kleiweg <kleiweg@let.rug.nl>
+;; Author:     Peter Kleiweg <p.c.j.kleiweg@rug.nl>
+;; Maintainer: Peter Kleiweg <p.c.j.kleiweg@rug.nl>
 ;; Created:    20 Aug 1997
-;; Version:    1.1g, 9 Nov 2001
+;; Version:    1.1h, 16 Jun 2005
 ;; Keywords:   PostScript, languages
 
 ;; This file is part of GNU Emacs.
@@ -30,8 +30,8 @@
 
 ;;; Code:
 
-(defconst ps-mode-version "1.1g, 9 Nov 2001")
-(defconst ps-mode-maintainer-address "Peter Kleiweg <kleiweg@let.rug.nl>")
+(defconst ps-mode-version "1.1h, 16 Jun 2005")
+(defconst ps-mode-maintainer-address "Peter Kleiweg <p.c.j.kleiweg@rug.nl>")
 
 (require 'easymenu)
 
--- a/lisp/progmodes/vhdl-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/progmodes/vhdl-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -2305,7 +2305,7 @@
 			  (progn
 			    (when file-opened (kill-buffer (current-buffer)))
 			    (set-buffer source-buffer)
-			    (error (format "ERROR:  File cannot be opened: \"%s\"" ,file-name)))
+			    (error "ERROR:  File cannot be opened: \"%s\"" ,file-name))
 			(vhdl-warning (format "File cannot be opened: \"%s\"" ,file-name) t)
 			nil))))
 	   (condition-case info
@@ -6027,8 +6027,8 @@
 stops due to beginning or end of buffer.
 Note that if point is between the \"libunit\" keyword and the
 corresponding \"begin\" keyword, then that libunit will not be
-recognised, and the search will continue backwards.  If point is
-at the \"begin\" keyword, then the defun will be recognised.  The
+recognized, and the search will continue backwards.  If point is
+at the \"begin\" keyword, then the defun will be recognized.  The
 returned point is at the first character of the \"libunit\" keyword."
   (let ((last-forward (point))
 	(last-backward
@@ -15358,7 +15358,7 @@
 		   (cons constant-name
 			 (if (match-string 1)
 			     (or (aget generic-alist (match-string 2) t)
-				 (error (format "ERROR:  Formal generic \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)))
+				 (error "ERROR:  Formal generic \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name))
 			   (cdar generic-alist))))
 	     (setq constant-alist (cons constant-entry constant-alist))
 	     (setq constant-name (downcase constant-name))
@@ -15378,7 +15378,7 @@
 	   (setq signal-entry (cons signal-name
 				    (if (match-string 1)
 					(or (aget port-alist (match-string 2) t)
-					    (error (format "ERROR:  Formal port \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)))
+					    (error "ERROR:  Formal port \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name))
 				      (cdar port-alist))))
 	   (setq signal-alist (cons signal-entry signal-alist))
 	   (setq signal-name (downcase signal-name))
--- a/lisp/ps-print.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/ps-print.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1549,9 +1549,10 @@
        (defvar mark-active nil)
        (defun ps-mark-active-p ()
 	 mark-active)
-       (defalias 'ps-face-foreground-name 'face-foreground)
-       (defalias 'ps-face-background-name 'face-background)
-       ))
+       (defun ps-face-foreground-name (face)
+	 (face-foreground face nil t))
+       (defun ps-face-background-name (face)
+	 (face-background face nil t))))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--- a/lisp/ses.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/ses.el	Fri Jun 24 01:59:52 2005 +0000
@@ -878,7 +878,7 @@
 lambda of one argument) on VALUE.  Result is the the printed cell as a
 string.  The variable `ses-call-printer-return' is set to t if the printer
 used parenthesis to request left-justification, or the error-signal if the
-printer signalled one (and \"%s\" is used as the default printer), else nil."
+printer signaled one (and \"%s\" is used as the default printer), else nil."
   (setq ses-call-printer-return nil)
   (unless value
     (setq value ""))
--- a/lisp/shell.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/shell.el	Fri Jun 24 01:59:52 2005 +0000
@@ -133,7 +133,7 @@
 (defcustom shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
   "Regexp to match prompts in the inferior shell.
 Defaults to \"^[^#$%>\\n]*[#$%>] *\", which works pretty well.
-This variable is used to initialise `comint-prompt-regexp' in the
+This variable is used to initialize `comint-prompt-regexp' in the
 shell buffer.
 
 If `comint-use-prompt-regexp' is nil, then this variable is only used
@@ -159,7 +159,7 @@
   :group 'shell)
 
 (defvar shell-delimiter-argument-list '(?\| ?& ?< ?> ?\( ?\) ?\;)
-  "List of characters to recognise as separate arguments.
+  "List of characters to recognize as separate arguments.
 This variable is used to initialize `comint-delimiter-argument-list' in the
 shell buffer.  The value may depend on the operating system or shell.
 
@@ -192,7 +192,7 @@
     shell-replace-by-expanded-directory
     comint-dynamic-complete-filename)
   "List of functions called to perform completion.
-This variable is used to initialise `comint-dynamic-complete-functions' in the
+This variable is used to initialize `comint-dynamic-complete-functions' in the
 shell buffer.
 
 This is a fine thing to set in your `.emacs' file.")
@@ -407,7 +407,7 @@
 `comint-completion-recexact' and `comint-completion-fignore' control the
 behavior of file name, command name and variable name completion.  Variable
 `shell-completion-execonly' controls the behavior of command name completion.
-Variable `shell-completion-fignore' is used to initialise the value of
+Variable `shell-completion-fignore' is used to initialize the value of
 `comint-completion-fignore'.
 
 Variables `comint-input-ring-file-name' and `comint-input-autoexpand' control
@@ -950,7 +950,7 @@
 	  (and comint-completion-fignore
 	       (mapconcat (function (lambda (x) (concat (regexp-quote x) "$")))
 			  comint-completion-fignore "\\|")))
-	 (dir "") (comps-in-dir ()) 
+	 (dir "") (comps-in-dir ())
 	 (file "") (abs-file-name "") (completions ()))
     ;; Go thru each dir in the search path, finding completions.
     (while path-dirs
--- a/lisp/simple.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/simple.el	Fri Jun 24 01:59:52 2005 +0000
@@ -148,7 +148,7 @@
 in question is treated as usable.
 
 The function EXTRA-TEST-EXCLUSIVE, if non-nil is called in each buffer
-that would normally be considered usable.  if it returns nil,
+that would normally be considered usable.  If it returns nil,
 that buffer is rejected."
   (and (buffer-name buffer)		;First make sure it's live.
        (not (and avoid-current (eq buffer (current-buffer))))
@@ -169,7 +169,7 @@
 If AVOID-CURRENT is non-nil, treat the current buffer
 as an absolute last resort only.
 
-The function EXTRA-TEST-INCLUSIVE, if non-nil, is called in each buffers
+The function EXTRA-TEST-INCLUSIVE, if non-nil, is called in each buffer
 that normally would not qualify.  If it returns t, the buffer
 in question is treated as usable.
 
@@ -327,7 +327,8 @@
 Other major modes are defined by comparison with this one."
   (interactive)
   (kill-all-local-variables)
-  (run-hooks 'after-change-major-mode-hook))
+  (unless delay-mode-hooks
+    (run-hooks 'after-change-major-mode-hook)))
 
 ;; Making and deleting lines.
 
@@ -1287,7 +1288,7 @@
 
 (defvar pending-undo-list nil
   "Within a run of consecutive undo commands, list remaining to be undone.
-t if we undid all the way to the end of it.")
+If t, we undid all the way to the end of it.")
 
 (defun undo (&optional arg)
   "Undo some previous changes.
@@ -1399,16 +1400,16 @@
   "Non-nil while performing an undo.
 Some change-hooks test this variable to do something different.")
 
-(defun undo-more (count)
+(defun undo-more (n)
   "Undo back N undo-boundaries beyond what was already undone recently.
 Call `undo-start' to get ready to undo recent changes,
 then call `undo-more' one or more times to undo them."
   (or (listp pending-undo-list)
-      (error (format "No further undo information%s"
-		     (if (and transient-mark-mode mark-active)
-			 " for region" ""))))
+      (error (concat "No further undo information"
+                     (and transient-mark-mode mark-active
+                          " for region"))))
   (let ((undo-in-progress t))
-    (setq pending-undo-list (primitive-undo count pending-undo-list))
+    (setq pending-undo-list (primitive-undo n pending-undo-list))
     (if (null pending-undo-list)
 	(setq pending-undo-list t))))
 
@@ -2763,7 +2764,7 @@
   "Kill current line.
 With prefix arg, kill that many lines starting from the current line.
 If arg is negative, kill backward.  Also kill the preceding newline.
-\(This is meant to make C-x z work well with negative arguments.\)
+\(This is meant to make \\[repeat] work well with negative arguments.\)
 If arg is zero, kill current line but exclude the trailing newline."
   (interactive "p")
   (if (and (> arg 0) (eobp) (save-excursion (forward-visible-line 0) (eobp)))
@@ -3432,18 +3433,28 @@
 		;; Now move a line.
 		(end-of-line)
 		;; If there's no invisibility here, move over the newline.
-		(if (and (not (integerp selective-display))
-			 (not (line-move-invisible-p (point))))
+		(let ((pos-before (point))
+		      line-done)
+		  (if (eobp)
+		      (if (not noerror)
+			  (signal 'end-of-buffer nil)
+			(setq done t)))
+		  (when (and (not done)
+			     (not (integerp selective-display))
+			     (not (line-move-invisible-p (point))))
 		    ;; We avoid vertical-motion when possible
 		    ;; because that has to fontify.
-		    (if (eobp)
-			(if (not noerror)
-			    (signal 'end-of-buffer nil)
-			  (setq done t))
-		      (forward-line 1))
+		    (forward-line 1)
+		    ;; If there are overlays in and around
+		    ;; the text we moved over, we need to be
+		    ;; sophisticated.
+		    (unless (overlays-in (max (1- pos-before) (point-min))
+					 (min (1+ (point)) (point-max)))
+		      (setq line-done t)))
 		  ;; Otherwise move a more sophisticated way.
 		  ;; (What's the logic behind this code?)
-		  (and (zerop (vertical-motion 1))
+		  (and (not done) (not line-done)
+		       (zerop (vertical-motion 1))
 		       (if (not noerror)
 			   (signal 'end-of-buffer nil)
 			 (setq done t))))
@@ -3453,18 +3464,24 @@
 	      ;; it just goes in the other direction.
 	      (while (and (< arg 0) (not done))
 		(beginning-of-line)
-		(if (or (bobp)
-			(and (not (integerp selective-display))
-			     (not (line-move-invisible-p (1- (point))))))
-		    (if (bobp)
-			(if (not noerror)
-			    (signal 'beginning-of-buffer nil)
-			  (setq done t))
-		      (forward-line -1))
-		  (if (zerop (vertical-motion -1))
+		(let ((pos-before (point))
+		      line-done)
+		  (if (bobp)
 		      (if (not noerror)
 			  (signal 'beginning-of-buffer nil)
-			(setq done t))))
+			(setq done t)))
+		  (when (and (not done)
+			     (not (integerp selective-display))
+			     (not (line-move-invisible-p (1- (point)))))
+		    (forward-line -1)
+		    (unless (overlays-in (max (1- (point)) (point-min))
+					 (min (1+ pos-before) (point-max)))
+		      (setq line-done t)))
+		  (and (not done) (not line-done)
+		       (zerop (vertical-motion -1))
+		       (if (not noerror)
+			   (signal 'beginning-of-buffer nil)
+			 (setq done t))))
 		(unless done
 		  (setq arg (1+ arg))
 		  (while (and ;; Don't move over previous invis lines
@@ -3924,9 +3941,7 @@
 
 This function is only called during auto-filling of a comment section.
 The function should take a single optional argument, which is a flag
-indicating whether it should use soft newlines.
-
-Setting this variable automatically makes it local to the current buffer.")
+indicating whether it should use soft newlines.")
 
 ;; This function is used as the auto-fill-function of a buffer
 ;; when Auto-Fill mode is enabled.
@@ -4505,10 +4520,11 @@
 (defvar set-variable-value-history nil
   "History of values entered with `set-variable'.")
 
-(defun set-variable (var val &optional make-local)
+(defun set-variable (variable value &optional make-local)
   "Set VARIABLE to VALUE.  VALUE is a Lisp object.
-When using this interactively, enter a Lisp object for VALUE.
-If you want VALUE to be a string, you must surround it with doublequotes.
+VARIABLE should be a user option variable name, a Lisp variable
+meant to be customized by users.  You should enter VALUE in Lisp syntax,
+so if you want VALUE to be a string, you must surround it with doublequotes.
 VALUE is used literally, not evaluated.
 
 If VARIABLE has a `variable-interactive' property, that is used as if
@@ -4521,9 +4537,9 @@
   (interactive
    (let* ((default-var (variable-at-point))
           (var (if (symbolp default-var)
-                   (read-variable (format "Set variable (default %s): " default-var)
-                                  default-var)
-                 (read-variable "Set variable: ")))
+			(read-variable (format "Set variable (default %s): " default-var)
+				       default-var)
+		      (read-variable "Set variable: ")))
 	  (minibuffer-help-form '(describe-variable var))
 	  (prop (get var 'variable-interactive))
 	  (prompt (format "Set %s%s to value: " var
@@ -4544,22 +4560,22 @@
 			       'set-variable-value-history)))))
      (list var val current-prefix-arg)))
 
-  (and (custom-variable-p var)
-       (not (get var 'custom-type))
-       (custom-load-symbol var))
-  (let ((type (get var 'custom-type)))
+  (and (custom-variable-p variable)
+       (not (get variable 'custom-type))
+       (custom-load-symbol variable))
+  (let ((type (get variable 'custom-type)))
     (when type
       ;; Match with custom type.
       (require 'cus-edit)
       (setq type (widget-convert type))
-      (unless (widget-apply type :match val)
+      (unless (widget-apply type :match value)
 	(error "Value `%S' does not match type %S of %S"
-	       val (car type) var))))
+	       value (car type) variable))))
 
   (if make-local
-      (make-local-variable var))
-
-  (set var val)
+      (make-local-variable variable))
+
+  (set variable value)
 
   ;; Force a thorough redisplay for the case that the variable
   ;; has an effect on the display, like `tab-width' has.
@@ -4842,7 +4858,7 @@
 	(if (minibufferp mainbuf)
 	    (if (and (symbolp minibuffer-completion-table)
 		     (get minibuffer-completion-table 'completion-base-size-function))
-		(setq completion-base-size 
+		(setq completion-base-size
 		      (funcall (get minibuffer-completion-table 'completion-base-size-function)))
 	      (setq completion-base-size 0))))
       ;; Put faces on first uncommon characters and common parts.
@@ -5115,7 +5131,7 @@
 (defun clone-indirect-buffer (newname display-flag &optional norecord)
   "Create an indirect buffer that is a twin copy of the current buffer.
 
-Give the indirect buffer name NEWNAME.  Interactively, read NEW-NAME
+Give the indirect buffer name NEWNAME.  Interactively, read NEWNAME
 from the minibuffer when invoked with a prefix arg.  If NEWNAME is nil
 or if not called with a prefix arg, NEWNAME defaults to the current
 buffer's name.  The name is modified by adding a `<N>' suffix to it
--- a/lisp/smerge-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/smerge-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -247,7 +247,7 @@
 
 (defun smerge-ensure-match (n)
   (unless (match-end n)
-    (error (format "No `%s'" (aref smerge-match-names n)))))
+    (error "No `%s'" (aref smerge-match-names n))))
 
 (defun smerge-auto-leave ()
   (when (and smerge-auto-leave
--- a/lisp/startup.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/startup.el	Fri Jun 24 01:59:52 2005 +0000
@@ -797,6 +797,14 @@
     ;; the startup message.
     (setq inhibit-startup-message nil)
 
+    ;; Warn for invalid user name.
+    (and init-file-user
+	 (not (file-directory-p (expand-file-name (concat "~" init-file-user))))
+	 (display-warning 'initialization
+			  (format "User %s has no home directory"
+				  init-file-user)
+			  :error))
+
     ;; Load that user's init file, or the default one, or none.
     (let (debug-on-error-from-init-file
 	  debug-on-error-should-be-set
--- a/lisp/subr.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/subr.el	Fri Jun 24 01:59:52 2005 +0000
@@ -44,12 +44,12 @@
 (defmacro noreturn (form)
   "Evaluates FORM, with the expectation that the evaluation will signal an error
 instead of returning to its caller.  If FORM does return, an error is
-signalled."
+signaled."
   `(prog1 ,form
      (error "Form marked with `noreturn' did return")))
 
 (defmacro 1value (form)
-  "Evaluates FORM, with the expectation that all the same value will be returned
+  "Evaluates FORM, with the expectation that the same value will be returned
 from all evaluations of FORM.  This is the global do-nothing
 version of `1value'.  There is also `testcover-1value' that
 complains if FORM ever does return differing values."
@@ -61,7 +61,7 @@
 self-quoting; the result of evaluating the lambda expression is the
 expression itself.  The lambda expression may then be treated as a
 function, i.e., stored as the function value of a symbol, passed to
-funcall or mapcar, etc.
+`funcall' or `mapcar', etc.
 
 ARGS should take the same form as an argument list for a `defun'.
 DOCSTRING is an optional documentation string.
@@ -347,7 +347,7 @@
 	  (setq loop (1+ loop))))))
 
 (defvar key-substitution-in-progress nil
- "Used internally by substitute-key-definition.")
+ "Used internally by `substitute-key-definition'.")
 
 (defun substitute-key-definition (olddef newdef keymap &optional oldmap prefix)
   "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
@@ -960,12 +960,11 @@
 
 (defun add-to-ordered-list (list-var element &optional order)
   "Add to the value of LIST-VAR the element ELEMENT if it isn't there yet.
-The test for presence of ELEMENT is done with `equal'.
+The test for presence of ELEMENT is done with `eq'.
 
 The resulting list is reordered so that the elements are in the
-order given by each element's numeric list order.
-Elements without a numeric list order are placed at the end of
-the list.
+order given by each element's numeric list order.  Elements
+without a numeric list order are placed at the end of the list.
 
 If the third optional argument ORDER is non-nil, set the
 element's list order to the given value.
@@ -979,16 +978,16 @@
       (put list-var 'list-order
            (setq ordering (make-hash-table :weakness 'key :test 'eq))))
     (when order
-      (puthash element order ordering))
-    (add-to-list list-var element)
+      (puthash element (and (numberp order) order) ordering))
+    (unless (memq element (symbol-value list-var))
+      (set list-var (cons element (symbol-value list-var))))
     (set list-var (sort (symbol-value list-var)
 			(lambda (a b)
 			  (let ((oa (gethash a ordering))
 				(ob (gethash b ordering)))
-			    (cond
-			     ((not oa) nil)
-			     ((not ob) t)
-			     (t (< oa ob)))))))))
+			    (if (and oa ob)
+				(< oa ob)
+			      oa)))))))
 
 
 ;;; Load history
@@ -2021,6 +2020,8 @@
 	'((save-match-data-internal (match-data)))
 	(list 'unwind-protect
 	      (cons 'progn body)
+	      ;; It is safe to free (evaporate) markers immediately here,
+	      ;; as Lisp programs should not copy from save-match-data-internal.
 	      '(set-match-data save-match-data-internal 'evaporate))))
 
 (defun match-string (num &optional string)
--- a/lisp/term.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/term.el	Fri Jun 24 01:59:52 2005 +0000
@@ -485,7 +485,7 @@
   :group 'term)
 
 (defvar term-prompt-regexp "^"
-  "Regexp to recognise prompts in the inferior process.
+  "Regexp to recognize prompts in the inferior process.
 Defaults to \"^\", the null string at BOL.
 
 Good choices:
@@ -499,7 +499,7 @@
 This is a good thing to set in mode hooks.")
 
 (defvar term-delimiter-argument-list ()
-  "List of characters to recognise as separate arguments in input.
+  "List of characters to recognize as separate arguments in input.
 Strings comprising a character in this list will separate the arguments
 surrounding them, and also be regarded as arguments in their own right (unlike
 whitespace).  See `term-arguments'.
@@ -570,8 +570,8 @@
   "Function that submits old text in term mode.
 This function is called when return is typed while the point is in old text.
 It returns the text to be submitted as process input.  The default is
-term-get-old-input-default, which grabs the current line, and strips off
-leading text matching term-prompt-regexp")
+`term-get-old-input-default', which grabs the current line, and strips off
+leading text matching `term-prompt-regexp'.")
 
 (defvar term-dynamic-complete-functions
   '(term-replace-by-expanded-history term-dynamic-complete-filename)
@@ -585,7 +585,7 @@
   (function (lambda (str) (not (string-match "\\`\\s *\\'" str))))
   "Predicate for filtering additions to input history.
 Only inputs answering true to this function are saved on the input
-history list.  Default is to save anything that isn't all whitespace")
+history list.  Default is to save anything that isn't all whitespace.")
 
 (defvar term-input-filter-functions '()
   "Functions to call before input is sent to the process.
@@ -595,9 +595,9 @@
 
 (defvar term-input-sender (function term-simple-send)
   "Function to actually send to PROCESS the STRING submitted by user.
-Usually this is just 'term-simple-send, but if your mode needs to
+Usually this is just `term-simple-send', but if your mode needs to
 massage the input string, this is your hook.  This is called from
-the user command term-send-input.  `term-simple-send' just sends
+the user command `term-send-input'.  `term-simple-send' just sends
 the string plus a newline.")
 
 (defcustom term-eol-on-send t
@@ -607,16 +607,16 @@
   :group 'term)
 
 (defcustom term-mode-hook '()
-  "Called upon entry into term-mode
+  "Called upon entry into term mode.
 This is run before the process is cranked up."
   :type 'hook
   :group 'term)
 
 (defcustom term-exec-hook '()
-  "Called each time a process is exec'd by term-exec.
+  "Called each time a process is exec'd by `term-exec'.
 This is called after the process is cranked up.  It is useful for things that
-must be done each time a process is executed in a term-mode buffer (e.g.,
-\(process-kill-without-query)).  In contrast, the term-mode-hook is only
+must be done each time a process is executed in a term mode buffer (e.g.,
+`process-kill-without-query').  In contrast, `term-mode-hook' is only
 executed once when the buffer is created."
   :type 'hook
   :group 'term)
@@ -625,7 +625,7 @@
 (defvar term-raw-map nil
   "Keyboard map for sending characters directly to the inferior process.")
 (defvar term-escape-char nil
-  "Escape character for char-sub-mode of term mode.
+  "Escape character for char sub-mode of term mode.
 Do not change it directly;  use `term-set-escape-char' instead.")
 (defvar term-raw-escape-map nil)
 
@@ -3949,9 +3949,9 @@
 
 (defun term-replace-by-expanded-filename ()
   "Dynamically expand and complete the filename at point.
-Replace the filename with an expanded, canonicalised and completed replacement.
+Replace the filename with an expanded, canonicalized and completed replacement.
 \"Expanded\" means environment variables (e.g., $HOME) and `~'s are replaced
-with the corresponding directories.  \"Canonicalised\" means `..'  and `.' are
+with the corresponding directories.  \"Canonicalized\" means `..'  and `.' are
 removed, and the filename is made absolute instead of relative.  For expansion
 see `expand-file-name' and `substitute-in-file-name'.  For completion see
 `term-dynamic-complete-filename'."
--- a/lisp/term/linux.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/term/linux.el	Fri Jun 24 01:59:52 2005 +0000
@@ -4,6 +4,9 @@
 (unless (terminal-coding-system)
   (set-terminal-coding-system 'iso-latin-1))
 
+;; It can't really display underlines.
+(tty-no-underline)
+
 ;; Make Latin-1 input characters work, too.
 ;; Meta will continue to work, because the kernel
 ;; turns that into Escape.
--- a/lisp/textmodes/sgml-mode.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/textmodes/sgml-mode.el	Fri Jun 24 01:59:52 2005 +0000
@@ -1384,7 +1384,7 @@
 	    (* sgml-basic-offset (length context)))))))
 
     (otherwise
-     (error "Unrecognised context %s" (car lcon)))
+     (error "Unrecognized context %s" (car lcon)))
 
     ))
 
@@ -1719,7 +1719,7 @@
     ("dir" . "Directory list (obsolete)")
     ("dl" . "Definition list")
     ("dt" . "Term to be definined")
-    ("em" . "Emphasised")
+    ("em" . "Emphasized")
     ("embed" . "Embedded data in foreign format")
     ("fig" . "Figure")
     ("figa" . "Figure anchor")
--- a/lisp/tooltip.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/tooltip.el	Fri Jun 24 01:59:52 2005 +0000
@@ -119,11 +119,6 @@
   :tag "Use echo area"
   :group 'tooltip)
 
-(make-obsolete-variable 'tooltip-use-echo-area
-"To display help tooltips in the echo area turn tooltip-mode off.
-To display GUD tooltips in the echo area turn gud-tooltip-mode on and set
-gud-tooltip-echo-area to t." "22.1")
-
 
 ;;; Variables that are not customizable.
 
@@ -201,12 +196,12 @@
     (setq tooltip-timeout-id nil)))
 
 (defun tooltip-start-delayed-tip ()
-  "Add a one-shot timeout to call function tooltip-timeout."
+  "Add a one-shot timeout to call function `tooltip-timeout'."
   (setq tooltip-timeout-id
 	(add-timeout (tooltip-delay) 'tooltip-timeout nil)))
 
 (defun tooltip-timeout (object)
-  "Function called when timer with id tooltip-timeout-id fires."
+  "Function called when timer with id `tooltip-timeout-id' fires."
   (run-hook-with-args-until-success 'tooltip-hook
 				    tooltip-last-mouse-motion-event))
 
@@ -301,8 +296,8 @@
 
 (defun tooltip-process-prompt-regexp (process)
   "Return regexp matching the prompt of PROCESS at the end of a string.
-The prompt is taken from the value of COMINT-PROMPT-REGEXP in the buffer
-of PROCESS."
+The prompt is taken from the value of `comint-prompt-regexp' in
+the buffer of PROCESS."
   (let ((prompt-regexp (save-excursion
 			 (set-buffer (process-buffer process))
 			 comint-prompt-regexp)))
@@ -349,7 +344,7 @@
 (defun tooltip-help-tips (event)
   "Hook function to display a help tooltip.
 This is installed on the hook `tooltip-hook', which is run when
-the timer with ID `tooltip-timeout-id' fires.
+the timer with id `tooltip-timeout-id' fires.
 Value is non-nil if this function handled the tip."
   (when (stringp tooltip-help-message)
     (tooltip-show tooltip-help-message tooltip-use-echo-area)
--- a/lisp/tree-widget.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/tree-widget.el	Fri Jun 24 01:59:52 2005 +0000
@@ -618,14 +618,7 @@
          (flags (widget-get tree :tree-widget--guide-flags))
          (indent (widget-get tree :indent))
          children buttons)
-    (and indent
-         (null flags)
-         (save-restriction
-           (widen)
-           (or (bolp)
-               (and (eq (char-before) ?<)
-                    (save-excursion
-                      (backward-char) (bolp)))))
+    (and indent (not (widget-get tree :parent))
          (insert-char ?\  indent))
     (if (widget-get tree :open)
 ;;;; Unfolded node.
--- a/lisp/url/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/url/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,12 @@
+2005-06-23  Richard M. Stallman  <rms@gnu.org>
+
+	* url-cookie.el (url-cookie-generate-header-lines): Fix autoload cookie.
+
+2005-06-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* url-gw.el (url-open-stream):
+	* url-vars.el (url-gateway-unplugged): Fix spellings.
+
 2005-06-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* url-history.el (url-completion-function): Follow error
--- a/lisp/url/url-cookie.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/url/url-cookie.el	Fri Jun 24 01:59:52 2005 +0000
@@ -262,7 +262,7 @@
 		(setq retval (cons cur retval))))))
     retval))
 
-;;;###autolaod
+;;;###autoload
 (defun url-cookie-generate-header-lines (host path secure)
   (let* ((cookies (url-cookie-retrieve host path secure))
 	(retval nil)
--- a/lisp/url/url-gw.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/url/url-gw.el	Fri Jun 24 01:59:52 2005 +0000
@@ -212,7 +212,7 @@
 (defun url-open-stream (name buffer host service)
   "Open a stream to HOST, possibly via a gateway.
 Args per `open-network-stream'.
-Will not make a connexion if `url-gateway-unplugged' is non-nil."
+Will not make a connection if `url-gateway-unplugged' is non-nil."
   (unless url-gateway-unplugged
     (let ((gw-method (if (and url-gateway-local-host-regexp
 			      (not (eq 'tls url-gateway-method))
--- a/lisp/url/url-vars.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/url/url-vars.el	Fri Jun 24 01:59:52 2005 +0000
@@ -388,7 +388,7 @@
 (defconst url-working-buffer " *url-work")
 
 (defvar url-gateway-unplugged nil
-  "Non-nil means don't open new network connexions.
+  "Non-nil means don't open new network connections.
 This should be set, e.g. by mail user agents rendering HTML to avoid
 `bugs' which call home.")
 
--- a/lisp/woman.el	Wed Jun 15 23:37:29 2005 +0000
+++ b/lisp/woman.el	Fri Jun 24 01:59:52 2005 +0000
@@ -828,7 +828,7 @@
   :group 'woman-formatting)
 
 (defcustom woman-ignore t
-  "*If non-nil then unrecognised requests etc. are ignored.  Default is t.
+  "*If non-nil then unrecognized requests etc. are ignored.  Default is t.
 This gives the standard ?roff behavior.  If nil then they are left in
 the buffer, which may aid debugging."
   :type 'boolean
@@ -2504,7 +2504,7 @@
       (setq c (memq (following-char) woman-if-conditions-true)))
      ;; Unrecognised letter so reject:
      ((looking-at "[A-Za-z]") (setq c nil)
-      (WoMan-warn "%s %s -- unrecognised condition name rejected!"
+      (WoMan-warn "%s %s -- unrecognized condition name rejected!"
 		  request (match-string 0)))
      ;; Accept strings if identical:
      ((save-restriction
--- a/lispintro/emacs-lisp-intro.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispintro/emacs-lisp-intro.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -7319,7 +7319,7 @@
 
 The part within quotation marks, @code{"*p\ncZap to char:@: "}, specifies
 three different things.  First, and most simply, the asterisk, @samp{*},
-causes an error to be signalled if the buffer is read-only.  This means that
+causes an error to be signaled if the buffer is read-only.  This means that
 if you try @code{zap-to-char} in a read-only buffer you will not be able to
 remove text, and you will receive a message that says ``Buffer is
 read-only''; your terminal may beep at you as well.
--- a/lispref/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,108 @@
+2005-06-23  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* lists.texi (Rings): `ring-elements' now returns the elements of
+	RING in order.
+
+2005-06-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* markers.texi (The Mark): Texinfo usage fix.
+
+2005-06-23  Kim F. Storm  <storm@cua.dk>
+
+	* searching.texi (Entire Match Data): Remove evaporate option for
+	match-data.  Do not mention evaporate option for set-match-data.
+
+2005-06-22  Glenn Morris  <gmorris@ast.cam.ac.uk>
+
+	* display.texi (Face Functions): Mention face aliases.
+
+2005-06-21  Richard M. Stallman  <rms@gnu.org>
+
+	* anti.texi (Antinews): Texinfo usage fix.
+
+2005-06-21  Karl Berry  <karl@gnu.org>
+
+	* elisp.texi: Use @copying.
+
+	* elisp.texi: Put @summarycontents and @contents before the Top
+	node, instead of the end of the file, so that the contents appear
+	in the right place in the dvi/pdf output.
+
+2005-06-21  Juri Linkov  <juri@jurta.org>
+
+	* display.texi (Defining Faces): Add `customized-face'.
+
+2005-06-20  Kim F. Storm  <storm@cua.dk>
+
+	* variables.texi (Setting Variables): Any type of element can be
+	given order in add-to-ordered-list.  Compare elements with eq.
+
+	* lists.texi (Rearrangement): Sort predicate may just return non-nil.
+
+2005-06-20  Karl Berry  <karl@gnu.org>
+
+	* syntax.texi (Syntax Flags): Make last column very slightly wider
+	to avoid "generic comment" breaking on two lines and causing an
+	underfull box.
+
+2005-06-19  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* lists.texi (Rings): Various minor clarifications and corrections.
+
+2005-06-18  Richard M. Stallman  <rms@gnu.org>
+
+	* functions.texi (Obsolete Functions): Simplify.
+
+	* variables.texi (Variable Aliases): Simplify.
+
+	* anti.texi, backups.texi, compile.texi, customization.texi:
+	* debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi:
+	* functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi:
+	* os.texi, processes.texi, searching.texi, strings.texi, text.texi:
+	* variables.texi: Fix formatting ugliness.
+
+	* elisp.texi: Add links to Rings and Byte Packing.
+	Update version and copyright years.
+
+	* minibuf.texi: Fix formatting ugliness.
+	(Completion Commands): Move keymap vars to the end
+	and vars completing-read binds to the top.
+
+2005-06-17  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* processes.texi: Fix typos.
+	(Bindat Spec): Correct Texinfo error.
+	(Byte Packing): Fix ungrammatical sentence.
+
+2005-06-17  Thien-Thi Nguyen  <ttn@gnu.org>
+
+	* lists.texi (Rings): New node.
+	(Lists): Add it to menu.
+
+	* processes.texi (Byte Packing): New node.
+	(Processes): Add it to menu.
+
+2005-06-17  Richard M. Stallman  <rms@gnu.org>
+
+	* syntax.texi (Parsing Expressions): Fix texinfo usage.
+
+	* help.texi (Documentation Basics): Explain the xref to
+	Documentation Tips.
+
+	* debugging.texi (Debugger Commands): Minor fix.
+
+2005-06-16  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* edebug.texi (Instrumenting): Eliminate duplicate link.
+	(Specification List): Replace references to "below", referring to
+	a later node, with one @ref to that node.
+
+	* os.texi (Timers): Timers should save and restore the match data
+	if they change it.
+
+	* debugging.texi (Debugger Commands): Mention that the Lisp
+	debugger can not step through primitive functions.
+
 2005-06-16  Juanma Barranquero  <lekktu@gmail.com>
 
 	* functions.texi (Obsolete Functions): Update argument names of
@@ -64,7 +169,7 @@
 
 2005-06-10  Luc Teirlinck  <teirllm@auburn.edu>
 
-	* syntax.texi (Parsing Exprssions): Fix Texinfo error.
+	* syntax.texi (Parsing Expressions): Fix Texinfo error.
 
 2005-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 
--- a/lispref/anti.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/anti.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -164,9 +164,10 @@
 @item
 Many programming shortcuts have been deleted, to provide you with the
 enjoyment of ``rolling your own''.  The macros @code{while-no-input},
-@code{with-local-quit}, @code{with-selected-window},
-@code{dynamic-completion-table}, and @code{lazy-completion-table} no
-longer exist.  Also, there are no built-in progress reporters.
+@code{with-local-quit}, and @code{with-selected-window}, along with
+@code{dynamic-completion-table} and @code{lazy-completion-table} no
+longer exist.  Also, there are no built-in progress reporters;
+with Emacs, you can take progress for granted.
 
 @item
 Variable aliases are no longer supported.  Aliases are for functions,
@@ -385,7 +386,7 @@
 @item
 There is a new variable, @code{recursive-load-depth-limit}, which
 specifies how many times files can recursively load themselves; it is
-50 by default, and nil means infinity.  Previously, Emacs signalled an
+50 by default, and @code{nil} means infinity.  Previously, Emacs signaled an
 error after just 3 recursive loads, which was boring.
 
 @item
--- a/lispref/backups.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/backups.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -153,7 +153,7 @@
 @tindex make-backup-file-name-function
 This variable's value is a function to use for making backups instead
 of the default @code{make-backup-file-name}.  A value of @code{nil}
-gives the default @code{make-backup-file-name} behaviour.
+gives the default @code{make-backup-file-name} behavior.
 @xref{Backup Names,, Naming Backup Files}.
 
 This could be buffer-local to do something special for specific
@@ -589,10 +589,10 @@
 saves all buffers for which auto-saving is enabled and that have been
 changed since the previous auto-save.
 
-Normally, if any buffers are auto-saved, a message that says
-@samp{Auto-saving...} is displayed in the echo area while auto-saving is
-going on.  However, if @var{no-message} is non-@code{nil}, the message
-is inhibited.
+If any buffers are auto-saved, @code{do-auto-save} normally displays a
+message saying @samp{Auto-saving...} in the echo area while
+auto-saving is going on.  However, if @var{no-message} is
+non-@code{nil}, the message is inhibited.
 
 If @var{current-only} is non-@code{nil}, only the current buffer
 is auto-saved.
--- a/lispref/compile.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/compile.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -426,7 +426,7 @@
 @section Compiler Errors
 @cindex compiler errors
 
-  Byte compilation writes errors and warnings into the buffer
+  Byte compilation outputs all errors and warnings into the buffer
 @samp{*Compile-Log*}.  The messages include file names and line
 numbers that identify the location of the problem.  The usual Emacs
 commands for operating on compiler diagnostics work properly on
--- a/lispref/control.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/control.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -733,7 +733,7 @@
 @subsubsection How to Signal an Error
 @cindex signaling errors
 
-   @dfn{Signalling} an error means beginning error processing.  Error
+   @dfn{Signaling} an error means beginning error processing.  Error
 processing normally aborts all or part of the running program and
 returns to a point that is set up to handle the error
 (@pxref{Processing of Errors}).  Here we describe how to signal an
--- a/lispref/customize.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/customize.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -658,7 +658,8 @@
 most general last.  Here's an example of proper usage:
 
 @example
-(choice (const :tag "Off" nil) symbol (sexp :tag "Other"))
+(choice (const :tag "Off" nil)
+        symbol (sexp :tag "Other"))
 @end example
 
 @noindent
--- a/lispref/debugging.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/debugging.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -350,7 +350,8 @@
 byte-compiled function.  If you would like to step through a
 byte-compiled function, replace it with an interpreted definition of
 the same function.  (To do this, visit the source for the function and
-type @kbd{C-M-x} on its definition.)
+type @kbd{C-M-x} on its definition.)  You cannot use the Lisp debugger
+to step through a primitive function.
 
   Here is a list of Debugger mode commands:
 
@@ -470,15 +471,15 @@
 buffer.
 
 @item debug
-@code{debug} as first argument indicates a call to @code{debug}
-because of entry to a function that was set to debug on entry.  The
-debugger displays @samp{Debugger entered--entering a function:}, just
-as in the @code{lambda} case.  It also marks the stack frame for that
-function so that it will invoke the debugger when exited.
+@code{debug} as first argument means @code{debug} was called because
+of entry to a function that was set to debug on entry.  The debugger
+displays the string @samp{Debugger entered--entering a function:},
+just as in the @code{lambda} case.  It also marks the stack frame for
+that function so that it will invoke the debugger when exited.
 
 @item t
 When the first argument is @code{t}, this indicates a call to
-@code{debug} due to evaluation of a list form when
+@code{debug} due to evaluation of a function call form when
 @code{debug-on-next-call} is non-@code{nil}.  The debugger displays
 @samp{Debugger entered--beginning evaluation of function call form:}
 as the top line in the buffer.
--- a/lispref/display.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/display.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -547,15 +547,15 @@
 reporting operation progress.  Here is a working example that does
 nothing useful:
 
-@example
+@smallexample
 (let ((progress-reporter
-       (make-progress-reporter "Collecting some mana for Emacs..."
+       (make-progress-reporter "Collecting mana for Emacs..."
                                0  500)))
   (dotimes (k 500)
     (sit-for 0.01)
     (progress-reporter-update progress-reporter k))
   (progress-reporter-done progress-reporter))
-@end example
+@end smallexample
 
 @defun make-progress-reporter message min-value max-value &optional current-value min-change min-time
 This function creates and returns a @dfn{progress reporter}---an
@@ -1296,8 +1296,8 @@
 @code{(background-color . @var{color-name})}.  These elements specify
 just the foreground color or just the background color.
 
-@code{(foreground-color . @var{color-name})} is equivalent to
-@code{(:foreground @var{color-name})}, and likewise for the background.
+@code{(foreground-color . @var{color-name})} has the same effect as
+@code{(:foreground @var{color-name})}; likewise for the background.
 @end itemize
 
 @item mouse-face
@@ -1907,8 +1907,9 @@
   Internally, @code{defface} uses the symbol property
 @code{face-defface-spec} to record the face attributes specified in
 @code{defface}, @code{saved-face} for the attributes saved by the user
-with the customization buffer, and @code{face-documentation} for the
-documentation string.
+with the customization buffer, @code{customized-face} for the
+attributes customized by the user for the current session, but not
+saved, and @code{face-documentation} for the documentation string.
 
 @defopt frame-background-mode
 This option, if non-@code{nil}, specifies the background type to use for
@@ -2522,6 +2523,17 @@
 differently from the default face.
 @end defun
 
+@cindex face alias
+A @dfn{face alias} provides an equivalent name for a face.  You can
+define a face alias by giving the alias symbol the @code{face-alias}
+property, with a value of the target face name.  The following example
+makes @var{modeline} an alias for the @var{mode-line} face.
+
+@example
+(put 'modeline 'face-alias 'mode-line)
+@end example
+
+
 @node Auto Faces
 @subsection Automatic Face Assignment
 @cindex automatic face assignment
@@ -2757,10 +2769,9 @@
 registry name is @samp{JISX0208.1983} for all characters belonging to
 the charset @code{japanese-jisx0208}.
 
-@example
+@smallexample
 (set-fontset-font nil 'japanese-jisx0208 '(nil . "JISX0208.1983"))
-@end example
-
+@end smallexample
 @end defun
 
 @defun char-displayable-p char
@@ -3137,7 +3148,7 @@
 Lisp objects as their @code{display} properties are handled
 separately.  Here's a function that illustrates this point:
 
-@example
+@smallexample
 (defun foo ()
   (goto-char (point-min))
   (dotimes (i 5)
@@ -3146,7 +3157,7 @@
       (forward-char 1)
       (put-text-property (point) (1+ (point)) 'display string)
       (forward-char 1))))
-@end example
+@end smallexample
 
 @noindent
 It gives each of the first ten characters in the buffer string
@@ -3158,7 +3169,7 @@
 characters appear as five A's.  This function would have the same
 results:
 
-@example
+@smallexample
 (defun foo ()
   (goto-char (point-min))
   (dotimes (i 5)
@@ -3166,7 +3177,7 @@
       (put-text-property (point) (2+ (point)) 'display string)
       (put-text-property (point) (1+ (point)) 'display string)
       (forward-char 2))))
-@end example
+@end smallexample
 
 @noindent
 This illustrates that what matters is the property value for
@@ -3262,18 +3273,20 @@
 
   The following expressions are supported:
 
-@example
+@smallexample
 @group
   @var{expr} ::= @var{num} | (@var{num}) | @var{unit} | @var{elem} | @var{pos} | @var{image} | @var{form}
   @var{num}  ::= @var{integer} | @var{float} | @var{symbol}
   @var{unit} ::= in | mm | cm | width | height
+@end group
+@group
   @var{elem} ::= left-fringe | right-fringe | left-margin | right-margin
         |  scroll-bar | text
   @var{pos}  ::= left | center | right
   @var{form} ::= (@var{num} . @var{expr}) | (@var{op} @var{expr} ...)
   @var{op}   ::= + | -
 @end group
-@end example
+@end smallexample
 
   The form @var{num} specifies a fraction of the default frame font
 height or width.  The form @code{(@var{num})} specifies an absolute
@@ -3331,7 +3344,7 @@
 Display @var{string} instead of the text that has this property.
 
 @item (image . @var{image-props})
-This display specification is an image descriptor (@pxref{Images}).
+This kind of display specification is an image descriptor (@pxref{Images}).
 When used as a display specification, it means to display the image
 instead of the text that has the display specification.
 
--- a/lispref/edebug.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/edebug.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -203,14 +203,13 @@
 @code{interactive} forms with an expression argument, anonymous lambda
 expressions, and other defining forms.  However, Edebug cannot determine
 on its own what a user-defined macro will do with the arguments of a
-macro call, so you must provide that information; see @ref{Edebug and
-Macros}, for details.
+macro call, so you must provide that information using Edebug
+specifications; see @ref{Edebug and Macros}, for details.
 
   When Edebug is about to instrument code for the first time in a
 session, it runs the hook @code{edebug-setup-hook}, then sets it to
 @code{nil}.  You can use this to load Edebug specifications
-(@pxref{Edebug and Macros}) associated with a package you are
-using, but only when you use Edebug.
+associated with a package you are using, but only when you use Edebug.
 
 @findex eval-expression @r{(Edebug)}
   To remove instrumentation from a definition, simply re-evaluate its
@@ -331,7 +330,7 @@
 Proceed to the stop point near where point is (@code{edebug-goto-here}).
 
 @item f
-Run the program forward over one expression
+Run the program for one expression
 (@code{edebug-forward-sexp}).
 
 @item o
@@ -463,9 +462,9 @@
 
 @item x @var{condition} @key{RET}
 Set a conditional breakpoint which stops the program only if
-@var{condition} evaluates to a non-@code{nil} value
-(@code{edebug-set-conditional-breakpoint}).  With a prefix argument, the
-breakpoint is temporary.
+evaluating @var{condition} produces a non-@code{nil} value
+(@code{edebug-set-conditional-breakpoint}).  With a prefix argument,
+the breakpoint is temporary.
 
 @item B
 Move point to the next breakpoint in the current definition
@@ -586,8 +585,8 @@
 
 @table @kbd
 @item v
-View the outside window configuration (@code{edebug-view-outside}).
-Type @kbd{C-x X w} to return to Edebug.
+Switch to viewing the outside window configuration
+(@code{edebug-view-outside}).  Type @kbd{C-x X w} to return to Edebug.
 
 @item p
 Temporarily display the outside current buffer with point at its
@@ -1036,11 +1035,12 @@
 The current match data.  @xref{Match Data}.
 
 @item
-@code{last-command}, @code{this-command}, @code{last-command-char},
-@code{last-input-char}, @code{last-input-event},
-@code{last-command-event}, @code{last-event-frame},
-@code{last-nonmenu-event}, and @code{track-mouse}.  Commands used within
-Edebug do not affect these variables outside of Edebug.
+The variables @code{last-command}, @code{this-command},
+@code{last-command-char}, @code{last-input-char},
+@code{last-input-event}, @code{last-command-event},
+@code{last-event-frame}, @code{last-nonmenu-event}, and
+@code{track-mouse}.  Commands used within Edebug do not affect these
+variables outside of Edebug.
 
 The key sequence returned by @code{this-command-keys} is changed by
 executing commands within Edebug and there is no way to reset
@@ -1100,13 +1100,13 @@
 definition.  Here is a simple example that shows the specification for
 the @code{for} example macro (@pxref{Argument Evaluation}).
 
-@example
+@smallexample
 (defmacro for (var from init to final do &rest body)
   "Execute a simple \"for\" loop.
 For example, (for i from 1 to 10 do (print i))."
   (declare (debug (symbolp "from" form "to" form "do" &rest form)))
   ...)
-@end example
+@end smallexample
 
   The Edebug specification says which parts of a call to the macro are
 forms to be evaluated.  For simple macros, the @var{specification}
@@ -1185,7 +1185,8 @@
 indirect specifications.
 
 Here's a table of the possible elements of a specification list, with
-their meanings:
+their meanings (see @ref{Specification Examples}, for the referenced
+examples):
 
 @table @code
 @item sexp
@@ -1221,7 +1222,7 @@
 To make just a few elements optional followed by non-optional elements,
 use @code{[&optional @var{specs}@dots{}]}.  To specify that several
 elements must all match or none, use @code{&optional
-[@var{specs}@dots{}]}.  See the @code{defun} example below.
+[@var{specs}@dots{}]}.  See the @code{defun} example.
 
 @item &rest
 @c @kindex &rest @r{(Edebug)}
@@ -1262,15 +1263,14 @@
 @item nil
 This is successful when there are no more arguments to match at the
 current argument list level; otherwise it fails.  See sublist
-specifications and the backquote example below.
+specifications and the backquote example.
 
 @item gate
 @cindex preventing backtracking
 No argument is matched but backtracking through the gate is disabled
 while matching the remainder of the specifications at this level.  This
 is primarily used to generate more specific syntax error messages.  See
-@ref{Backtracking}, for more details.  Also see the @code{let} example
-below.
+@ref{Backtracking}, for more details.  Also see the @code{let} example.
 
 @item @var{other-symbol}
 @cindex indirect specifications
@@ -1281,7 +1281,7 @@
 specification} should be either a list specification that is used in
 place of the symbol, or a function that is called to process the
 arguments.  The specification may be defined with @code{def-edebug-spec}
-just as for macros. See the @code{defun} example below.
+just as for macros. See the @code{defun} example.
 
 Otherwise, the symbol should be a predicate.  The predicate is called
 with the argument and the specification fails if the predicate returns
@@ -1302,7 +1302,7 @@
 
 @item (vector @var{elements}@dots{})
 The argument should be a vector whose elements must match the
-@var{elements} in the specification.  See the backquote example below.
+@var{elements} in the specification.  See the backquote example.
 
 @item (@var{elements}@dots{})
 Any other list is a @dfn{sublist specification} and the argument must be
@@ -1315,7 +1315,7 @@
 grouping or an indirect specification, e.g., @code{(spec .  [(more
 specs@dots{})])}) whose elements match the non-dotted list arguments.
 This is useful in recursive specifications such as in the backquote
-example below.  Also see the description of a @code{nil} specification
+example.  Also see the description of a @code{nil} specification
 above for terminating such recursion.
 
 Note that a sublist specification written as @code{(specs .  nil)}
@@ -1327,7 +1327,7 @@
 @c Need to document extensions with &symbol and :symbol
 
 Here is a list of additional specifications that may appear only after
-@code{&define}.  See the @code{defun} example below.
+@code{&define}.  See the @code{defun} example.
 
 @table @code
 @item name
@@ -1364,7 +1364,7 @@
 like @code{def-body}, except use this to match a single form rather than
 a list of forms.  As a special case, @code{def-form} also means that
 tracing information is not output when the form is executed.  See the
-@code{interactive} example below.
+@code{interactive} example.
 @end table
 
 @node Backtracking
--- a/lispref/elisp.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/elisp.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -6,7 +6,7 @@
 
 @c Version of the manual and of Emacs.
 @c Please remember to update the edition number in README as well.
-@set VERSION  2.9
+@set VERSION  2.7
 @set EMACSVER 22.0.50
 
 @dircategory Emacs
@@ -26,29 +26,27 @@
 @c We use the "type index" to index new functions and variables.
 @c @syncodeindex tp fn
 
-@ifnottex
-This Info file contains edition @value{VERSION} of the GNU Emacs Lisp
+@copying
+This is edition @value{VERSION} of the GNU Emacs Lisp
 Reference Manual, corresponding to Emacs version @value{EMACSVER}.
 
-Published by the Free Software Foundation
-59 Temple Place, Suite 330
-Boston, MA  02111-1307  USA
+Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
+              2000, 2002, 2003, 2004, 2005, Free Software Foundation, Inc.
 
-Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2005,@*
-              2000, 2002 Free Software Foundation, Inc.
-
+@quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
 any later version published by the Free Software Foundation; with the
-Invariant Sections being ``GNU General Public License'', with the Front-Cover texts being
-``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A copy
-of the license is included in the section entitled ``GNU Free
-Documentation License''.
+Invariant Sections being ``GNU General Public License'', with the
+Front-Cover texts being ``A GNU Manual'', and with the Back-Cover
+Texts as in (a) below.  A copy of the license is included in the
+section entitled ``GNU Free Documentation License''.
 
 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
 this GNU Manual, like GNU software.  Copies published by the Free
 Software Foundation raise funds for GNU development.''
-@end ifnottex
+@end quotation
+@end copying
 
 @titlepage
 @title GNU Emacs Lisp Reference Manual
@@ -59,36 +57,24 @@
 @author and the GNU Manual Group
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998,@*
-1999, 2000, 2002 Free Software Foundation, Inc.
+@insertcopying
 
-@sp 2
-Edition @value{VERSION} @*
-Revised for Emacs Version @value{EMACSVER},@*
-January 2002.@*
-@sp 2
+@sp 1
+Published by the Free Software Foundation @*
+51 Franklin St, Fifth Floor @*
+Boston, MA 02110-1301 @*
+USA @*
 ISBN 1-882114-73-6
 
-@sp 2
-Published by the Free Software Foundation @*
-59 Temple Place, Suite 330@*
-Boston, MA  02111-1307  USA
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``Copying'', with the Front-Cover texts being
-``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A copy
-of the license is included in the section entitled ``GNU Free
-Documentation License''.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
+@sp 1
 Cover art by Etienne Suvasa.
 @end titlepage
-@page
+
+
+@c Print the tables of contents
+@summarycontents
+@contents
+
 
 @ifnottex
 @node Top, Introduction, (dir), (dir)
@@ -288,6 +274,7 @@
 * Modifying Lists::         Storing new pieces into an existing list.
 * Sets And Lists::          A list can represent a finite mathematical set.
 * Association Lists::       A list can represent a finite relation or mapping.
+* Rings::                   Managing a fixed-size ring of objects.
 
 Modifying Existing List Structure
 
@@ -983,6 +970,7 @@
 * Datagrams::               UDP network connections.
 * Low-Level Network::       Lower-level but more general function
                               to create connections and servers.
+* Byte Packing::             Using bindat to pack and unpack binary data.
 
 Receiving Output from Processes
 
@@ -1148,11 +1136,6 @@
 
 @printindex tp
 
-@c Print the tables of contents
-@summarycontents
-@contents
-@c That's all
-
 @bye
 
 
--- a/lispref/errors.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/errors.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -63,7 +63,7 @@
 @xref{Function Indirection}.
 
 @item cyclic-variable-indirection
-@code{"Symbol's chain of variable indirections contains a loop"}@*
+@code{"Symbol's chain of variable indirections\@* contains a loop"}@*
 @xref{Variable Aliases}.
 
 @item end-of-buffer
--- a/lispref/files.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/files.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -98,9 +98,9 @@
 Aside from some technical details, the body of the @code{find-file}
 function is basically equivalent to:
 
-@example
+@smallexample
 (switch-to-buffer (find-file-noselect filename nil nil wildcards))
-@end example
+@end smallexample
 
 @noindent
 (See @code{switch-to-buffer} in @ref{Displaying Buffers}.)
@@ -2731,9 +2731,9 @@
 If @var{filename} is indeed remote, the return value is a string that
 identifies the remote system.
 
-This identifier string may include a host name, a user name, and
-characters designating the method used to access the remote system.
-For example, the remote identifier string for the filename
+This identifier string can include a host name and a user name, as
+well as characters designating the method used to access the remote
+system.  For example, the remote identifier string for the filename
 @code{/ssh:user@@host:/some/file} is @code{/ssh:user@@host:}.
 
 If @code{file-remote-p} returns the same identifier for two different
--- a/lispref/frames.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/frames.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1550,13 +1550,13 @@
 The @var{data-type} argument specifies the form of data conversion to
 use, to convert the raw data obtained from another X client into Lisp
 data.  Meaningful values include @code{TEXT}, @code{STRING},
-@code{UTF8_STRING},
-@code{TARGETS}, @code{LENGTH}, @code{DELETE}, @code{FILE_NAME},
-@code{CHARACTER_POSITION}, @code{LINE_NUMBER}, @code{COLUMN_NUMBER},
-@code{OWNER_OS}, @code{HOST_NAME}, @code{USER}, @code{CLASS},
-@code{NAME}, @code{ATOM}, and @code{INTEGER}.  (These are symbols with
-upper-case names in accord with X conventions.)  The default for
-@var{data-type} is @code{STRING}.
+@code{UTF8_STRING}, @code{TARGETS}, @code{LENGTH}, @code{DELETE},
+@code{FILE_NAME}, @code{CHARACTER_POSITION}, @code{NAME},
+@code{LINE_NUMBER}, @code{COLUMN_NUMBER}, @code{OWNER_OS},
+@code{HOST_NAME}, @code{USER}, @code{CLASS}, @code{ATOM}, and
+@code{INTEGER}.  (These are symbols with upper-case names in accord
+with X conventions.)  The default for @var{data-type} is
+@code{STRING}.
 @end defun
 
 @cindex cut buffer
@@ -1822,8 +1822,8 @@
 @end example
 
 @noindent
-in in your X resources file (usually named @file{~/.Xdefaults} or
-@file{~/.Xresources}).  Then:
+in in your X resources file (whose name is usually @file{~/.Xdefaults}
+or @file{~/.Xresources}).  Then:
 
 @example
 @group
@@ -1990,7 +1990,7 @@
 @tindex display-planes
 This function returns the number of planes the display supports.
 This is typically the number of bits per pixel.
-For a tty display, it is log to base two of the number of colours supported.
+For a tty display, it is log to base two of the number of colors supported.
 @end defun
 
 @defun display-visual-class &optional display
--- a/lispref/functions.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/functions.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -525,9 +525,9 @@
 @var{name}.  It returns the value @var{name}, but usually we ignore this
 value.
 
-As described previously (@pxref{Lambda Expressions}),
-@var{argument-list} is a list of argument names and may include the
-keywords @code{&optional} and @code{&rest}.  Also, the first two of the
+As described previously, @var{argument-list} is a list of argument
+names and may include the keywords @code{&optional} and @code{&rest}
+(@pxref{Lambda Expressions}).  Also, the first two of the
 @var{body-forms} may be a documentation string and an interactive
 declaration.
 
@@ -1174,20 +1174,13 @@
 same time using the macro @code{define-obsolete-function-alias}.
 
 @defmac define-obsolete-function-alias obsolete-name current-name &optional when docstring
-This macro marks the function @var{obsolete-name} obsolete and also defines
-it as an alias for the function @var{current-name}.  A typical call has the
-form:
+This macro marks the function @var{obsolete-name} obsolete and also
+defines it as an alias for the function @var{current-name}.  It is
+equivalent to the following:
 
 @example
-(define-obsolete-function-alias 'old-fun 'new-fun "22.1" "Doc.")
-@end example
-
-@noindent
-which is equivalent to the following two lines of code:
-
-@example
-(defalias 'old-fun 'new-fun "Doc.")
-(make-obsolete 'old-fun 'new-fun "22.1")
+(defalias @var{obsolete-name} @var{current-name} @var{docstring})
+(make-obsolete @var{obsolete-name} @var{current-name} @var{when})
 @end example
 @end defmac
 
--- a/lispref/help.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/help.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -47,13 +47,15 @@
 string follows the argument list.  In a variable definition, the
 documentation string follows the initial value of the variable.
 
-  When you write a documentation string, make the first line a complete
-sentence (or two complete sentences) since some commands, such as
-@code{apropos}, show only the first line of a multi-line documentation
-string.  Also, you should not indent the second line of a documentation
-string, if it has one, because that looks odd when you use @kbd{C-h f}
-(@code{describe-function}) or @kbd{C-h v} (@code{describe-variable}) to
-view the documentation string.  @xref{Documentation Tips}.
+  When you write a documentation string, make the first line a
+complete sentence (or two complete sentences) since some commands,
+such as @code{apropos}, show only the first line of a multi-line
+documentation string.  Also, you should not indent the second line of
+a documentation string, if it has one, because that looks odd when you
+use @kbd{C-h f} (@code{describe-function}) or @kbd{C-h v}
+(@code{describe-variable}) to view the documentation string.  There
+are many other conventions for doc strings; see @ref{Documentation
+Tips}.
 
   Documentation strings can contain several special substrings, which
 stand for key bindings to be looked up in the current keymaps when the
@@ -117,7 +119,7 @@
 property value isn't @code{nil}, isn't a string, and doesn't refer to
 text in a file, then it is evaluated to obtain a string.
 
-Finally, @code{documentation-property} passes the string through
+The last thing this function does is pass the string through
 @code{substitute-command-keys} to substitute actual key bindings,
 unless @var{verbatim} is non-@code{nil}.
 
--- a/lispref/keymaps.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/keymaps.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1335,10 +1335,10 @@
 instead of @code{kill-line} and @code{kill-word}.  It can establish
 this by making these two command-remapping bindings in its keymap:
 
-@example
+@smallexample
 (define-key my-mode-map [remap kill-line] 'my-kill-line)
 (define-key my-mode-map [remap kill-word] 'my-kill-word)
-@end example
+@end smallexample
 
 Whenever @code{my-mode-map} is an active keymap, if the user types
 @kbd{C-k}, Emacs will find the standard global binding of
@@ -1349,10 +1349,10 @@
 
 Remapping only works through a single level.  In other words,
 
-@example
+@smallexample
 (define-key my-mode-map [remap kill-line] 'my-kill-line)
 (define-key my-mode-map [remap my-kill-line] 'my-other-kill-line)
-@end example
+@end smallexample
 
 @noindent
 does not have the effect of remapping @code{kill-line} into
--- a/lispref/lists.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/lists.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -24,6 +24,7 @@
 * Modifying Lists::     Storing new pieces into an existing list.
 * Sets And Lists::      A list can represent a finite mathematical set.
 * Association Lists::   A list can represent a finite relation or mapping.
+* Rings::               Managing a fixed-size ring of objects.
 @end menu
 
 @node Cons Cells
@@ -714,7 +715,7 @@
 primitives @code{setcar} and @code{setcdr}.  We call these ``destructive''
 operations because they change existing list structure.
 
-@cindex CL note---@code{rplaca} vrs @code{setcar}
+@cindex CL note---@code{rplaca} vs @code{setcar}
 @quotation
 @findex rplaca
 @findex rplacd
@@ -1104,7 +1105,7 @@
 
 The argument @var{predicate} must be a function that accepts two
 arguments.  It is called with two elements of @var{list}.  To get an
-increasing order sort, the @var{predicate} should return @code{t} if the
+increasing order sort, the @var{predicate} should return non-@code{nil} if the
 first element is ``less than'' the second, or @code{nil} if not.
 
 The comparison function @var{predicate} must give reliable results for
@@ -1676,6 +1677,93 @@
 @sc{car}.
 @end defun
 
+@node Rings
+@section Managing a Fixed-Size Ring of Objects
+
+@cindex ring data structure
+  This section describes functions for operating on rings.  A
+@dfn{ring} is a fixed-size data structure that supports insertion,
+deletion, rotation, and modulo-indexed reference and traversal.
+
+@defun make-ring size
+This returns a new ring capable of holding @var{size} objects.
+@var{size} should be an integer.
+@end defun
+
+@defun ring-p object
+This returns @code{t} if @var{object} is a ring, @code{nil} otherwise.
+@end defun
+
+@defun ring-size ring
+This returns the maximum capacity of the @var{ring}.
+@end defun
+
+@defun ring-length ring
+This returns the number of objects that @var{ring} currently contains.
+The value will never exceed that returned by @code{ring-size}.
+@end defun
+
+@defun ring-elements ring
+This returns a list of the objects in @var{ring}, in order, newest first.
+@end defun
+
+@defun ring-copy ring
+This returns a new ring which is a copy of @var{ring}.
+The new ring contains the same (@code{eq}) objects as @var{ring}.
+@end defun
+
+@defun ring-empty-p ring
+This returns @code{t} if @var{ring} is empty, @code{nil} otherwise.
+@end defun
+
+  The newest element in the ring always has index 0.  Higher indices
+correspond to older elements.  Indices are computed modulo the ring
+length.  Index @minus{}1 corresponds to the oldest element, @minus{}2
+to the next-oldest, and so forth.
+
+@defun ring-ref ring index
+This returns the object in @var{ring} found at index @var{index}.
+@var{index} may be negative or greater than the ring length.  If
+@var{ring} is empty, @code{ring-ref} signals an error.
+@end defun
+
+@defun ring-insert ring object
+This inserts @var{object} into @var{ring}, making it the newest
+element, and returns @var{object}.
+
+If the ring is full, insertion removes the oldest element to
+make room for the new element.
+@end defun
+
+@defun ring-remove ring &optional index
+Remove an object from @var{ring}, and return that object.  The
+argument @var{index} specifies which item to remove; if it is
+@code{nil}, that means to remove the oldest item.  If @var{ring} is
+empty, @code{ring-remove} signals an error.
+@end defun
+
+@defun ring-insert-at-beginning ring object
+This inserts @var{object} into @var{ring}, treating it as the oldest
+element.  The return value is not significant.
+
+If the ring is full, this function removes the newest element to make
+room for the inserted element.
+@end defun
+
+@cindex fifo data structure
+  If you are careful not to exceed the ring size, you can
+use the ring as a first-in-first-out queue.  For example:
+
+@lisp
+(let ((fifo (make-ring 5)))
+  (mapc (lambda (obj) (ring-insert fifo obj))
+        '(0 one "two"))
+  (list (ring-remove fifo) t
+        (ring-remove fifo) t
+        (ring-remove fifo)))
+     @result{} (0 t one t "two")
+@end lisp
+
 @ignore
    arch-tag: 31fb8a4e-4aa8-4a74-a206-aa00451394d4
 @end ignore
--- a/lispref/markers.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/markers.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -557,9 +557,9 @@
 
 Lisp programs can set @code{transient-mark-mode} to @code{only} to
 enable Transient Mark mode for the following command only.  During
-that following command, the value of transient-mark-mode is
+that following command, the value of @code{transient-mark-mode} is
 @code{identity}.  If it is still @code{identity} at the end of the
-command, it changes to nil.
+command, it changes to @code{nil}.
 @end defopt
 
 @defopt mark-even-if-inactive
--- a/lispref/minibuf.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/minibuf.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -414,10 +414,9 @@
 inputs.  It's the Lisp programmer's job to specify the right history
 list for each use of the minibuffer.
 
-  The basic minibuffer input functions @code{read-from-minibuffer} and
-@code{completing-read} both accept an optional argument named @var{hist}
-which is how you specify the history list.  Here are the possible
-values:
+  You specify the history list with the optional @var{hist} argument
+to either @code{read-from-minibuffer} or @code{completing-read}.  Here
+are the possible values for it:
 
 @table @asis
 @item @var{variable}
@@ -587,10 +586,11 @@
 @node Basic Completion
 @subsection Basic Completion Functions
 
-  The functions @code{try-completion}, @code{all-completions} and
-@code{test-completion} have nothing in themselves to do with
-minibuffers.  We describe them in this chapter so as to keep them near
-the higher-level completion features that do use the minibuffer.
+  The completion functions @code{try-completion},
+@code{all-completions} and @code{test-completion} have nothing in
+themselves to do with minibuffers.  We describe them in this chapter
+so as to keep them near the higher-level completion features that do
+use the minibuffer.
 
 @defun try-completion string collection &optional predicate
 This function returns the longest common substring of all possible
@@ -788,12 +788,12 @@
 
 Here are two examples of use:
 
-@example
+@smallexample
 (defvar foo (lazy-completion-table foo make-my-alist 'global))
 
 (make-local-variable 'bar)
 (setq bar (lazy-completion-table foo make-my-alist 'local)
-@end example
+@end smallexample
 @end defmac
 
 @node Minibuffer Completion
@@ -879,12 +879,9 @@
 If the user then types @kbd{@key{DEL} @key{DEL} b @key{RET}},
 @code{completing-read} returns @code{barfoo}.
 
-The @code{completing-read} function binds three variables to pass
-information to the commands that actually do completion.  These
-variables are @code{minibuffer-completion-table},
-@code{minibuffer-completion-predicate} and
-@code{minibuffer-completion-confirm}.  For more information about them,
-see @ref{Completion Commands}.
+The @code{completing-read} function binds variables to pass
+information to the commands that actually do completion.
+They are described in the following section.
 @end defun
 
 @node Completion Commands
@@ -898,6 +895,84 @@
 emacs, The GNU Emacs Manual}, for a short description of Partial
 Completion mode.
 
+@defvar minibuffer-completion-table
+The value of this variable is the collection used for completion in
+the minibuffer.  This is the global variable that contains what
+@code{completing-read} passes to @code{try-completion}.  It is used by
+minibuffer completion commands such as @code{minibuffer-complete-word}.
+@end defvar
+
+@defvar minibuffer-completion-predicate
+This variable's value is the predicate that @code{completing-read}
+passes to @code{try-completion}.  The variable is also used by the other
+minibuffer completion functions.
+@end defvar
+
+@defvar minibuffer-completion-confirm
+When the value of this variable is non-@code{nil}, Emacs asks for
+confirmation of a completion before exiting the minibuffer.
+@code{completing-read} binds this variable, and the function
+@code{minibuffer-complete-and-exit} checks the value before exiting.
+@end defvar
+
+@deffn Command minibuffer-complete-word
+This function completes the minibuffer contents by at most a single
+word.  Even if the minibuffer contents have only one completion,
+@code{minibuffer-complete-word} does not add any characters beyond the
+first character that is not a word constituent.  @xref{Syntax Tables}.
+@end deffn
+
+@deffn Command minibuffer-complete
+This function completes the minibuffer contents as far as possible.
+@end deffn
+
+@deffn Command minibuffer-complete-and-exit
+This function completes the minibuffer contents, and exits if
+confirmation is not required, i.e., if
+@code{minibuffer-completion-confirm} is @code{nil}.  If confirmation
+@emph{is} required, it is given by repeating this command
+immediately---the command is programmed to work without confirmation
+when run twice in succession.
+@end deffn
+
+@deffn Command minibuffer-completion-help
+This function creates a list of the possible completions of the
+current minibuffer contents.  It works by calling @code{all-completions}
+using the value of the variable @code{minibuffer-completion-table} as
+the @var{collection} argument, and the value of
+@code{minibuffer-completion-predicate} as the @var{predicate} argument.
+The list of completions is displayed as text in a buffer named
+@samp{*Completions*}.
+@end deffn
+
+@defun display-completion-list completions
+This function displays @var{completions} to the stream in
+@code{standard-output}, usually a buffer.  (@xref{Read and Print}, for more
+information about streams.)  The argument @var{completions} is normally
+a list of completions just returned by @code{all-completions}, but it
+does not have to be.  Each element may be a symbol or a string, either
+of which is simply printed.  It can also be a list of two strings,
+which is printed as if the strings were concatenated.  The first of
+the two strings is the actual completion, the second string serves as
+annotation.
+
+This function is called by @code{minibuffer-completion-help}.  The
+most common way to use it is together with
+@code{with-output-to-temp-buffer}, like this:
+
+@example
+(with-output-to-temp-buffer "*Completions*"
+  (display-completion-list
+    (all-completions (buffer-string) my-alist)))
+@end example
+@end defun
+
+@defopt completion-auto-help
+If this variable is non-@code{nil}, the completion commands
+automatically display a list of possible completions whenever nothing
+can be completed because the next character is not uniquely determined.
+@end defopt
+
 @defvar minibuffer-local-completion-map
 @code{completing-read} uses this value as the local keymap when an
 exact match of one of the completions is not required.  By default, this
@@ -947,84 +1022,6 @@
 with other characters bound as in @code{minibuffer-local-map}.
 @end defvar
 
-@defvar minibuffer-completion-table
-The value of this variable is the collection used for completion in
-the minibuffer.  This is the global variable that contains what
-@code{completing-read} passes to @code{try-completion}.  It is used by
-minibuffer completion commands such as @code{minibuffer-complete-word}.
-@end defvar
-
-@defvar minibuffer-completion-predicate
-This variable's value is the predicate that @code{completing-read}
-passes to @code{try-completion}.  The variable is also used by the other
-minibuffer completion functions.
-@end defvar
-
-@deffn Command minibuffer-complete-word
-This function completes the minibuffer contents by at most a single
-word.  Even if the minibuffer contents have only one completion,
-@code{minibuffer-complete-word} does not add any characters beyond the
-first character that is not a word constituent.  @xref{Syntax Tables}.
-@end deffn
-
-@deffn Command minibuffer-complete
-This function completes the minibuffer contents as far as possible.
-@end deffn
-
-@deffn Command minibuffer-complete-and-exit
-This function completes the minibuffer contents, and exits if
-confirmation is not required, i.e., if
-@code{minibuffer-completion-confirm} is @code{nil}.  If confirmation
-@emph{is} required, it is given by repeating this command
-immediately---the command is programmed to work without confirmation
-when run twice in succession.
-@end deffn
-
-@defvar minibuffer-completion-confirm
-When the value of this variable is non-@code{nil}, Emacs asks for
-confirmation of a completion before exiting the minibuffer.  The
-function @code{minibuffer-complete-and-exit} checks the value of this
-variable before it exits.
-@end defvar
-
-@deffn Command minibuffer-completion-help
-This function creates a list of the possible completions of the
-current minibuffer contents.  It works by calling @code{all-completions}
-using the value of the variable @code{minibuffer-completion-table} as
-the @var{collection} argument, and the value of
-@code{minibuffer-completion-predicate} as the @var{predicate} argument.
-The list of completions is displayed as text in a buffer named
-@samp{*Completions*}.
-@end deffn
-
-@defun display-completion-list completions
-This function displays @var{completions} to the stream in
-@code{standard-output}, usually a buffer.  (@xref{Read and Print}, for more
-information about streams.)  The argument @var{completions} is normally
-a list of completions just returned by @code{all-completions}, but it
-does not have to be.  Each element may be a symbol or a string, either
-of which is simply printed.  It can also be a list of two strings,
-which is printed as if the strings were concatenated.  The first of
-the two strings is the actual completion, the second string serves as
-annotation.
-
-This function is called by @code{minibuffer-completion-help}.  The
-most common way to use it is together with
-@code{with-output-to-temp-buffer}, like this:
-
-@example
-(with-output-to-temp-buffer "*Completions*"
-  (display-completion-list
-    (all-completions (buffer-string) my-alist)))
-@end example
-@end defun
-
-@defopt completion-auto-help
-If this variable is non-@code{nil}, the completion commands
-automatically display a list of possible completions whenever nothing
-can be completed because the next character is not uniquely determined.
-@end defopt
-
 @node High-Level Completion
 @subsection High-Level Completion  Functions
 
--- a/lispref/modes.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/modes.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -395,7 +395,7 @@
 @item
 The mode should specify how Imenu should find the definitions or
 sections of a buffer, by setting up a buffer-local value for the
-variable @code{imenu-generic-expression}, for the pair of variables
+variable @code{imenu-generic-expression}, for the two variables
 @code{imenu-prev-index-position-function} and
 @code{imenu-extract-index-name-function}, or for the variable
 @code{imenu-create-index-function} (@pxref{Imenu}).
@@ -2290,8 +2290,8 @@
 It creates the submenu @var{menu-title} specified by @var{sub-alist}.
 
 The default value of @code{imenu-create-index-function} is
-@code{imenu-default-create-index-function}.  This function uses
-@code{imenu-prev-index-position-function} and
+@code{imenu-default-create-index-function}.  This function calls the
+value of @code{imenu-prev-index-position-function} and the value of
 @code{imenu-extract-index-name-function} to produce the index alist.
 However, if either of these two variables is @code{nil}, the default
 function uses @code{imenu-generic-expression} instead.
@@ -2456,7 +2456,7 @@
 @end example
 
 If you use @code{regexp-opt} to produce the regular expression
-@var{matcher}, then you can use @code{regexp-opt-depth} (@pxref{Regexp
+@var{matcher}, you can use @code{regexp-opt-depth} (@pxref{Regexp
 Functions}) to calculate the value for @var{subexp}.
 
 @item (@var{matcher} . @var{facespec})
@@ -2657,8 +2657,7 @@
 Some modes provide specialized support you can use in additional
 highlighting patterns.  See the variables
 @code{c-font-lock-extra-types}, @code{c++-font-lock-extra-types},
-@code{objc-font-lock-extra-types} and
-@code{java-font-lock-extra-types}, for example.
+and @code{java-font-lock-extra-types}, for example.
 
 @strong{Warning:} major mode functions must not call
 @code{font-lock-add-keywords} under any circumstances, either directly
--- a/lispref/nonascii.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/nonascii.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1067,11 +1067,11 @@
 @var{encoding-system} is the coding system for encoding (in case
 @var{operation} does encoding).
 
-The argument @var{operation} should be a symbol, one of
-@code{insert-file-contents}, @code{write-region}, @code{call-process},
-@code{call-process-region}, @code{start-process}, or
-@code{open-network-stream}.  These are the names of the Emacs I/O primitives
-that can do coding system conversion.
+The argument @var{operation} should be a symbol, any one of
+@code{insert-file-contents}, @code{write-region},
+@code{start-process}, @code{call-process}, @code{call-process-region},
+or @code{open-network-stream}.  These are the names of the Emacs I/O
+primitives that can do coding system conversion.
 
 The remaining arguments should be the same arguments that might be given
 to that I/O primitive.  Depending on the primitive, one of those
@@ -1081,9 +1081,9 @@
 target.  For @code{open-network-stream}, the target is the service name
 or port number.
 
-This function looks up the target in @code{file-coding-system-alist},
-@code{process-coding-system-alist}, or
-@code{network-coding-system-alist}, depending on @var{operation}.
+Depending on @var{operation}, this function looks up the target in
+@code{file-coding-system-alist}, @code{process-coding-system-alist},
+or @code{network-coding-system-alist}.
 @end defun
 
 @node Specifying Coding Systems
--- a/lispref/os.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/os.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -91,10 +91,10 @@
 @cindex @file{site-start.el}
 
 @item
-It loads your init file (usually @file{~/.emacs}), unless @samp{-q}
-(or @samp{--no-init-file}), @samp{-Q}, or @samp{--batch} was specified
-on the command line.  The @samp{-u} option can specify another user
-whose home directory should be used instead of @file{~}.
+It loads your init file (usually @file{~/.emacs}), unless the option
+@samp{-q} (or @samp{--no-init-file}), @samp{-Q}, or @samp{--batch} was
+specified on the command line.  The @samp{-u} option can specify
+another user whose home directory should be used instead of @file{~}.
 
 @item
 It loads the library @file{default} (if any), unless
@@ -606,9 +606,10 @@
 system, the user's @acronym{UID}, and so on.
 
 @defvar system-configuration
-This variable holds the GNU configuration name for the hardware/software
-configuration of your system, as a string.  The convenient way to test
-parts of this string is with @code{string-match}.
+This variable holds the standard GNU configuration name for the
+hardware/software configuration of your system, as a string.  The
+convenient way to test parts of this string is with
+@code{string-match}.
 @end defvar
 
 @defvar system-type
@@ -1375,6 +1376,9 @@
 changes from user commands' changes and prevent a single undo entry
 from growing to be quite large.
 
+  If a timer function calls functions that can change the match data,
+it should save and restore the match data.  @xref{Saving Match Data}.
+
 @deffn Command run-at-time time repeat function &rest args
 This sets up a timer that calls the function @var{function} with
 arguments @var{args} at time @var{time}.  If @var{repeat} is a number
--- a/lispref/processes.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/processes.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -52,6 +52,7 @@
 * Datagrams::                UDP network connections.
 * Low-Level Network::        Lower-level but more general function
                                to create connections and servers.
+* Byte Packing::             Using bindat to pack and unpack binary data.
 @end menu
 
 @node Subprocess Creation
@@ -168,7 +169,7 @@
 (shell-quote-argument "foo > bar")
      @result{} "foo\\ \\>\\ bar"
 
-;; @r{This example shows the behavior on MS-DOS and MS-Windows systems.}
+;; @r{This example shows the behavior on MS-DOS and MS-Windows.}
 (shell-quote-argument "foo > bar")
      @result{} "\"foo > bar\""
 @end example
@@ -766,9 +767,9 @@
 data appears on the ``standard input'' of the subprocess.
 
   Some operating systems have limited space for buffered input in a
-@acronym{PTY}.  On these systems, Emacs sends an @acronym{EOF} periodically amidst
-the other characters, to force them through.  For most programs,
-these @acronym{EOF}s do no harm.
+@acronym{PTY}.  On these systems, Emacs sends an @acronym{EOF}
+periodically amidst the other characters, to force them through.  For
+most programs, these @acronym{EOF}s do no harm.
 
   Subprocess input is normally encoded using a coding system before the
 subprocess receives it, much like text written into a file.  You can use
@@ -972,7 +973,7 @@
 @defvar process-adaptive-read-buffering
 On some systems, when Emacs reads the output from a subprocess, the
 output data is read in very small blocks, potentially resulting in
-very poor performance.  This behaviour can be remedied to some extent
+very poor performance.  This behavior can be remedied to some extent
 by setting the variable @var{process-adaptive-read-buffering} to a
 non-@code{nil} value (the default), as it will automatically delay reading
 from such processes, thus allowing them to produce more output before
@@ -1559,7 +1560,7 @@
 keyword/argument pairs, for example @code{:server t} to create a
 server process, or @code{:type 'datagram} to create a datagram
 connection.  @xref{Low-Level Network}, for details.  You can also use
-the @code{open-network-stream} function descibed below.
+the @code{open-network-stream} function described below.
 
   You can distinguish process objects representing network connections
 and servers from those representing subprocesses with the
@@ -1823,7 +1824,8 @@
 is to determine the coding systems from the data.
 
 @item :noquery @var{query-flag}
-Initialize the process query flag to @var{query-flag}.  @xref{Query Before Exit}.
+Initialize the process query flag to @var{query-flag}.
+@xref{Query Before Exit}.
 
 @item :filter @var{filter}
 Initialize the process filter to @var{filter}.
@@ -1938,7 +1940,8 @@
 
 @defun network-interface-info ifname
 This function returns information about the network interface named
-@var{ifname}.  The value is a list of the form @code{(@var{addr} @var{bcast} @var{netmask} @var{hwaddr} @var{flags})}.
+@var{ifname}.  The value is a list of the form
+@code{(@var{addr} @var{bcast} @var{netmask} @var{hwaddr} @var{flags})}.
 
 @table @var
 @item addr
@@ -2015,7 +2018,411 @@
 @code{make-network-process} and @code{set-network-process-option}.
 @end table
 
+@node Byte Packing
+@section Packing and Unpacking Byte Arrays
+
+  This section describes how to pack and unpack arrays of bytes,
+usually for binary network protocols.  These functions convert byte arrays
+to alists, and vice versa.  The byte array can be represented as a
+unibyte string or as a vector of integers, while the alist associates
+symbols either with fixed-size objects or with recursive sub-alists.
+
+@cindex serializing
+@cindex deserializing
+@cindex packing
+@cindex unpacking
+  Conversion from byte arrays to nested alists is also known as
+@dfn{deserializing} or @dfn{unpacking}, while going in the opposite
+direction is also known as @dfn{serializing} or @dfn{packing}.
+
+@menu
+* Bindat Spec::         Describing data layout.
+* Bindat Functions::    Doing the unpacking and packing.
+* Bindat Examples::     Samples of what bindat.el can do for you!
+@end menu
+
+@node Bindat Spec
+@subsection Describing Data Layout
+
+  To control unpacking and packing, you write a @dfn{data layout
+specification}, a special nested list describing named and typed
+@dfn{fields}.  This specification controls length of each field to be
+processed, and how to pack or unpack it.
+
+@cindex endianness
+@cindex big endian
+@cindex little endian
+@cindex network byte ordering
+  A field's @dfn{type} describes the size (in bytes) of the object
+that the field represents and, in the case of multibyte fields, how
+the bytes are ordered within the field.  The two possible orderings
+are ``big endian'' (also known as ``network byte ordering'') and
+``little endian''.  For instance, the number @code{#x23cd} (decimal
+9165) in big endian would be the two bytes @code{#x23} @code{#xcd};
+and in little endian, @code{#xcd} @code{#x23}.  Here are the possible
+type values:
+
+@table @code
+@item u8
+@itemx byte
+Unsigned byte, with length 1.
+
+@item u16
+@itemx word
+@itemx short
+Unsigned integer in network byte order, with length 2.
+
+@item u24
+Unsigned integer in network byte order, with length 3.
+
+@item u32
+@itemx dword
+@itemx long
+Unsigned integer in network byte order, with length 4.
+Note: These values may be limited by Emacs' integer implementation limits.
+
+@item u16r
+@itemx u24r
+@itemx u32r
+Unsigned integer in little endian order, with length 2, 3 and 4, respectively.
+
+@item str @var{len}
+String of length @var{len}.
+
+@item strz @var{len}
+Zero-terminated string of length @var{len}.
+
+@item vec @var{len}
+Vector of @var{len} bytes.
+
+@item ip
+Four-byte vector representing an Internet address.  For example:
+@code{[127 0 0 1]} for localhost.
+
+@item bits @var{len}
+List of set bits in @var{len} bytes.  The bytes are taken in big
+endian order and the bits are numbered starting with @code{8 *
+@var{len} @minus{} 1} and ending with zero.  For example: @code{bits
+2} unpacks @code{#x28} @code{#x1c} to @code{(2 3 4 11 13)} and
+@code{#x1c} @code{#x28} to @code{(3 5 10 11 12)}.
+
+@item (eval @var{form})
+@var{form} is a Lisp expression evaluated at the moment the field is
+unpacked or packed.  The result of the evaluation should be one of the
+above-listed type specifications.
+@end table
+
+A field specification generally has the form @code{([@var{name}]
+@var{handler})}.  The square braces indicate that @var{name} is
+optional.  (Don't use names that are symbols meaningful as type
+specifications (above) or handler specifications (below), since that
+would be ambiguous.)  @var{name} can be a symbol or the expression
+@code{(eval @var{form})}, in which case @var{form} should evaluate to
+a symbol.
+
+@var{handler} describes how to unpack or pack the field and can be one
+of the following:
+
+@table @code
+@item @var{type}
+Unpack/pack this field according to the type specification @var{type}.
+
+@item eval @var{form}
+Evaluate @var{form}, a Lisp expression, for side-effect only.  If the
+field name is specified, the value is bound to that field name.
+@var{form} can access and update these dynamically bound variables:
+
+@table @code
+@item raw-data
+The data as a byte array.
+
+@item pos
+Current position of the unpacking or packing operation.
+
+@item struct
+Alist.
+
+@item last
+Value of the last field processed.
+@end table
+
+@item fill @var{len}
+Skip @var{len} bytes.  In packing, this leaves them unchanged,
+which normally means they remain zero.  In unpacking, this means
+they are ignored.
+
+@item align @var{len}
+Skip to the next multiple of @var{len} bytes.
+
+@item struct @var{spec-name}
+Process @var{spec-name} as a sub-specification.  This describes a
+structure nested within another structure.
+
+@item union @var{form} (@var{tag} @var{spec})@dots{}
+@c ??? I don't see how one would actually  use this.
+@c ??? what kind of expression would be useful for @var{form}?
+Evaluate @var{form}, a Lisp expression, find the first @var{tag}
+that matches it, and process its associated data layout specification
+@var{spec}.  Matching can occur in one of three ways:
+
+@itemize
+@item
+If a @var{tag} has the form @code{(eval @var{expr})}, evaluate
+@var{expr} with the variable @code{tag} dynamically bound to the value
+of @var{form}.  A non-@code{nil} result indicates a match.
+
+@item
+@var{tag} matches if it is @code{equal} to the value of @var{form}.
+
+@item
+@var{tag} matches unconditionally if it is @code{t}.
+@end itemize
+
+@item repeat @var{count} @var{field-spec}@dots{}
+@var{count} may be an integer, or a list of one element naming a
+previous field.  For correct operation, each @var{field-spec} must
+include a name.
+@c ??? What does it MEAN?
+@end table
+
+@node Bindat Functions
+@subsection Functions to Unpack and Pack Bytes
+
+  In the following documentation, @var{spec} refers to a data layout
+specification, @code{raw-data} to a byte array, and @var{struct} to an
+alist representing unpacked field data.
+
+@defun bindat-unpack spec raw-data &optional pos
+This function unpacks data from the byte array @code{raw-data}
+according to @var{spec}.  Normally this starts unpacking at the
+beginning of the byte array, but if @var{pos} is non-@code{nil}, it
+specifies a zero-based starting position to use instead.
+
+The value is an alist or nested alist in which each element describes
+one unpacked field.
+@end defun
+
+@defun bindat-get-field struct &rest name
+This function selects a field's data from the nested alist
+@var{struct}.  Usually @var{struct} was returned by
+@code{bindat-unpack}.  If @var{name} corresponds to just one argument,
+that means to extract a top-level field value.  Multiple @var{name}
+arguments specify repeated lookup of sub-structures.  An integer name
+acts as an array index.
+
+For example, if @var{name} is @code{(a b 2 c)}, that means to find
+field @code{c} in the second element of subfield @code{b} of field
+@code{a}.  (This corresponds to @code{struct.a.b[2].c} in C.)
+@end defun
+
+@defun bindat-length spec struct
+@c ??? I don't understand this at all -- rms
+This function returns the length in bytes of @var{struct}, according
+to @var{spec}.
+@end defun
+
+@defun bindat-pack spec struct &optional raw-data pos
+This function returns a byte array packed according to @var{spec} from
+the data in the alist @var{struct}.  Normally it creates and fills a
+new byte array starting at the beginning.  However, if @var{raw-data}
+is non-@code{nil}, it specifies a pre-allocated string or vector to
+pack into.  If @var{pos} is non-@code{nil}, it specifies the starting
+offset for packing into @code{raw-data}.
+
+@c ??? Isn't this a bug?  Shouldn't it always be unibyte?
+Note: The result is a multibyte string; use @code{string-make-unibyte}
+on it to make it unibyte if necessary.
+@end defun
+
+@defun bindat-ip-to-string ip
+Convert the Internet address vector @var{ip} to a string in the usual
+dotted notation.
+
+@example
+(bindat-ip-to-string [127 0 0 1])
+     @result{} "127.0.0.1"
+@end example
+@end defun
+
+@node Bindat Examples
+@subsection Examples of Byte Unpacking and Packing
+
+  Here is a complete example of byte unpacking and packing:
+
+@lisp
+(defvar fcookie-index-spec
+  '((:version  u32)
+    (:count    u32)
+    (:longest  u32)
+    (:shortest u32)
+    (:flags    u32)
+    (:delim    u8)
+    (:ignored  fill 3)
+    (:offset   repeat (:count)
+               (:foo u32)))
+  "Description of a fortune cookie index file's contents.")
+
+(defun fcookie (cookies &optional index)
+  "Display a random fortune cookie from file COOKIES.
+Optional second arg INDEX specifies the associated index
+filename, which is by default constructed by appending
+\".dat\" to COOKIES.  Display cookie text in possibly
+new buffer \"*Fortune Cookie: BASENAME*\" where BASENAME
+is COOKIES without the directory part."
+  (interactive "fCookies file: ")
+  (let* ((info (with-temp-buffer
+                 (insert-file-contents-literally
+                  (or index (concat cookies ".dat")))
+                 (bindat-unpack fcookie-index-spec
+                                (buffer-string))))
+         (sel (random (bindat-get-field info :count)))
+         (beg (cdar (bindat-get-field info :offset sel)))
+         (end (or (cdar (bindat-get-field info
+                                          :offset (1+ sel)))
+                  (nth 7 (file-attributes cookies)))))
+    (switch-to-buffer
+     (get-buffer-create
+      (format "*Fortune Cookie: %s*"
+              (file-name-nondirectory cookies))))
+    (erase-buffer)
+    (insert-file-contents-literally
+     cookies nil beg (- end 3))))
+
+(defun fcookie-create-index (cookies &optional index delim)
+  "Scan file COOKIES, and write out its index file.
+Optional second arg INDEX specifies the index filename,
+which is by default constructed by appending \".dat\" to
+COOKIES.  Optional third arg DELIM specifies the unibyte
+character which, when found on a line of its own in
+COOKIES, indicates the border between entries."
+  (interactive "fCookies file: ")
+  (setq delim (or delim ?%))
+  (let ((delim-line (format "\n%c\n" delim))
+        (count 0)
+        (max 0)
+        min p q len offsets)
+    (unless (= 3 (string-bytes delim-line))
+      (error "Delimiter cannot be represented in one byte"))
+    (with-temp-buffer
+      (insert-file-contents-literally cookies)
+      (while (and (setq p (point))
+                  (search-forward delim-line (point-max) t)
+                  (setq len (- (point) 3 p)))
+        (setq count (1+ count)
+              max (max max len)
+              min (min (or min max) len)
+              offsets (cons (1- p) offsets))))
+    (with-temp-buffer
+      (set-buffer-multibyte nil)
+      (insert
+       (string-make-unibyte
+        (bindat-pack
+         fcookie-index-spec
+         `((:version . 2)
+           (:count . ,count)
+           (:longest . ,max)
+           (:shortest . ,min)
+           (:flags . 0)
+           (:delim . ,delim)
+           (:offset . ,(mapcar (lambda (o)
+                                 (list (cons :foo o)))
+                               (nreverse offsets)))))))
+      (let ((coding-system-for-write 'raw-text-unix))
+        (write-file (or index (concat cookies ".dat")))))))
+@end lisp
+
+Following is an example of defining and unpacking a complex structure.
+Consider the following C structures:
+
+@example
+struct header @{
+    unsigned long    dest_ip;
+    unsigned long    src_ip;
+    unsigned short   dest_port;
+    unsigned short   src_port;
+@};
+
+struct data @{
+    unsigned char    type;
+    unsigned char    opcode;
+    unsigned long    length;  /* In little endian order */
+    unsigned char    id[8];   /* null-terminated string  */
+    unsigned char    data[/* (length + 3) & ~3 */];
+@};
+
+struct packet @{
+    struct header    header;
+    unsigned char    items;
+    unsigned char    filler[3];
+    struct data      item[/* items */];
+
+@};
+@end example
+
+The corresponding data layout specification:
+
+@lisp
+(setq header-spec
+      '((dest-ip   ip)
+        (src-ip    ip)
+        (dest-port u16)
+        (src-port  u16)))
+
+(setq data-spec
+      '((type      u8)
+        (opcode    u8)
+        (length    u16r) ;; little endian order
+        (id        strz 8)
+        (data      vec (length))
+        (align     4)))
+
+(setq packet-spec
+      '((header    struct header-spec)
+        (items     u8)
+        (fill      3)
+        (item      repeat (items)
+                   (struct data-spec))))
+@end lisp
+
+A binary data representation:
+
+@lisp
+(setq binary-data
+      [ 192 168 1 100 192 168 1 101 01 28 21 32 2 0 0 0
+        2 3 5 0 ?A ?B ?C ?D ?E ?F 0 0 1 2 3 4 5 0 0 0
+        1 4 7 0 ?B ?C ?D ?E ?F ?G 0 0 6 7 8 9 10 11 12 0 ])
+@end lisp
+
+The corresponding decoded structure:
+
+@lisp
+(setq decoded (bindat-unpack packet-spec binary-data))
+     @result{}
+((header
+  (dest-ip   . [192 168 1 100])
+  (src-ip    . [192 168 1 101])
+  (dest-port . 284)
+  (src-port  . 5408))
+ (items . 2)
+ (item ((data . [1 2 3 4 5])
+        (id . "ABCDEF")
+        (length . 5)
+        (opcode . 3)
+        (type . 2))
+       ((data . [6 7 8 9 10 11 12])
+        (id . "BCDEFG")
+        (length . 7)
+        (opcode . 4)
+        (type . 1))))
+@end lisp
+
+Fetching data from this structure:
+
+@lisp
+(bindat-get-field decoded 'item 1 'id)
+     @result{} "BCDEFG"
+@end lisp
+
 @ignore
    arch-tag: ba9da253-e65f-4e7f-b727-08fba0a1df7a
 @end ignore
-
--- a/lispref/searching.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/searching.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -244,16 +244,15 @@
 The next alternative is for @samp{a*} to match only two @samp{a}s.  With
 this choice, the rest of the regexp matches successfully.@refill
 
-Nested repetition operators can be extremely slow or loop infinitely
-if they use repetition operators inside repetition operators.  For
-example, it could take hours for the regular expression
-@samp{\(x+y*\)*a} to try to match the sequence
-@samp{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz}, before it ultimately
-fails.  Emacs must try each way of grouping the 35 @samp{x}s before
-concluding that none of them can work.  Even worse, @samp{\(x*\)*} can
-match the null string in infinitely many ways, so it causes an
-infinite loop.  To avoid these problems, check nested repetitions
-carefully.
+Nested repetition operators take a long time, or even forever, if they
+lead to ambiguous matching.  For example, trying to match the regular
+expression @samp{\(x+y*\)*a} against the string
+@samp{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz} could take hours before it
+ultimately fails.  Emacs must try each way of grouping the 35
+@samp{x}s before concluding that none of them can work.  Even worse,
+@samp{\(x*\)*} can match the null string in infinitely many ways, so
+it causes an infinite loop.  To avoid these problems, check nested
+repetitions carefully.
 
 @item @samp{+}
 @cindex @samp{+} in regexp
@@ -347,9 +346,10 @@
 
 @item @samp{[^ @dots{} ]}
 @cindex @samp{^} in regexp
-@samp{[^} begins a @dfn{complemented character alternative}, which matches any
-character except the ones specified.  Thus, @samp{[^a-z0-9A-Z]} matches
-all characters @emph{except} letters and digits.
+@samp{[^} begins a @dfn{complemented character alternative}.  This
+matches any character except the ones specified.  Thus,
+@samp{[^a-z0-9A-Z]} matches all characters @emph{except} letters and
+digits.
 
 @samp{^} is not special in a character alternative unless it is the first
 character.  The character following the @samp{^} is treated as if it
@@ -1527,13 +1527,7 @@
 garbage collection.
 
 If @var{reseat} is non-@code{nil}, all markers on the @var{reuse} list
-are reseated to point to nowhere, and if the value is @code{evaporate},
-the markers are put back on the free list.
-
-@strong{Warning:} When @code{evaporate} is specified for @var{reseat},
-you must ensure that no other references to the markers on the
-@var{reuse} list exists; otherwise, Emacs may crash during the next
-garbage collection.
+are reseated to point to nowhere.
 
 As always, there must be no possibility of intervening searches between
 the call to a search function and the call to @code{match-data} that is
@@ -1560,13 +1554,7 @@
 an error; that sets the match data in a meaningless but harmless way.
 
 If @var{reseat} is non-@code{nil}, all markers on the @var{match-list} list
-are reseated to point to nowhere, and if the value is @code{evaporate},
-the markers are put back on the free list.
-
-@strong{Warning:} When @code{evaporate} is specified for @var{reseat},
-you must ensure that no other references to the markers on the
-@var{match-list} list exists; otherwise, Emacs may crash during the
-next garbage collection.
+are reseated to point to nowhere.
 
 @findex store-match-data
 @code{store-match-data} is a semi-obsolete alias for @code{set-match-data}.
--- a/lispref/strings.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/strings.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -298,7 +298,8 @@
 @var{separators}:
 
 @example
-(split-string "  two words " split-string-default-separators)
+(split-string "  two words "
+              split-string-default-separators)
      @result{} ("" "two" "words" "")
 @end example
 
@@ -353,8 +354,8 @@
 @end defun
 
 @defvar split-string-default-separators
-The default value of @var{separators} for @code{split-string}, initially
-@w{@samp{"[ \f\t\n\r\v]+"}}.
+The default value of @var{separators} for @code{split-string}.  Its
+usual value is @w{@samp{"[ \f\t\n\r\v]+"}}.
 @end defvar
 
 @node Modifying Strings
--- a/lispref/syntax.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/syntax.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -754,10 +754,11 @@
 @end defun
 
 @defvar syntax-begin-function
-If this is non-nil, it should be a function that moves to an earlier
-buffer position where the parser state is equivalent to @code{nil},
-i.e., a position outside of any comment, string, or parenthesis.
-@code{syntax-ppss} uses it to supplement its cache.
+If this is non-@code{nil}, it should be a function that moves to an
+earlier buffer position where the parser state is equivalent to
+@code{nil}---in other words, a position outside of any comment,
+string, or parenthesis.  @code{syntax-ppss} uses it to supplement its
+cache.
 @end defvar
 
 @defun scan-lists from count depth
@@ -882,7 +883,7 @@
   This table gives the value of @var{syntax-code} which corresponds
 to each syntactic type.
 
-@multitable @columnfractions .05 .3 .3 .3
+@multitable @columnfractions .05 .3 .3 .31
 @item
 @tab
 @i{Integer} @i{Class}
--- a/lispref/text.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/text.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1497,10 +1497,10 @@
 follow specified justification style (see @code{current-justification},
 below).  @code{nil} means to do full justification.
 
-If @var{eop} is non-@code{nil}, that means do left-justification if
-@code{current-justification} specifies full justification.  This is used
-for the last line of a paragraph; even if the paragraph as a whole is
-fully justified, the last line should not be.
+If @var{eop} is non-@code{nil}, that means do only left-justification
+if @code{current-justification} specifies full justification.  This is
+used for the last line of a paragraph; even if the paragraph as a
+whole is fully justified, the last line should not be.
 
 If @var{nosqueeze} is non-@code{nil}, that means do not change interior
 whitespace.
@@ -1727,12 +1727,11 @@
 starting after the left margin whitespace (if any) on a line; the
 characters it matches are that line's candidate for the fill prefix.
 
-The default value of this variable is
-@w{@samp{"[ \t]*\\([-|#;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}}.  This
-matches a number enclosed in parentheses or followed by a period,
-or certain punctuation characters, or any sequence of these
-intermingled with whitespace.  In particular, it matches a sequence of
-whitespace, possibly empty.
+@w{@samp{"[ \t]*\\([-|#;>*]+[ \t]*\\|(?[0-9]+[.)][ \t]*\\)*"}} is the
+default value.  This matches a number enclosed in parentheses or
+followed by a period, or certain punctuation characters, or any
+sequence of these intermingled with whitespace.  In particular, it
+matches a sequence of whitespace, possibly empty.
 @end defopt
 
 @defopt adaptive-fill-first-line-regexp
@@ -2969,7 +2968,8 @@
 just the foreground color or just the background color.
 
 @code{(foreground-color . @var{color-name})} is equivalent to
-@code{(:foreground @var{color-name})}, and likewise for the background.
+specifying @code{(:foreground @var{color-name})}, and likewise for the
+background.
 @end itemize
 
 You can use Font Lock Mode (@pxref{Font Lock Mode}), to dynamically
@@ -3529,7 +3529,7 @@
 graphical applications use @key{Mouse-1} for following links.  For
 compatibility, @key{Mouse-1} follows links in Emacs too, when you
 click on a link quickly without moving the mouse.  The user can
-customize this behaviour through the variable
+customize this behavior through the variable
 @code{mouse-1-click-follows-link}.
 
   To define text as a link at the Lisp level, you should bind the
@@ -3561,9 +3561,9 @@
 
 For example, here is how Info mode handles @key{Mouse-1}:
 
-@example
+@smallexample
 (define-key Info-mode-map [follow-link] 'mouse-face)
-@end example
+@end smallexample
 
 @item a function
 If the condition is a valid function, @var{func}, then a position
@@ -3574,11 +3574,11 @@
 For example, here is how pcvs enables @key{Mouse-1} to follow links on
 file names only:
 
-@example
+@smallexample
 (define-key map [follow-link]
   (lambda (pos)
-    (if (eq (get-char-property pos 'face) 'cvs-filename-face) t)))
-@end example
+    (eq (get-char-property pos 'face) 'cvs-filename-face)))
+@end smallexample
 
 @item anything else
 If the condition value is anything else, then the position is inside a
--- a/lispref/variables.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/lispref/variables.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -903,6 +903,55 @@
     (setq @var{var} (cons @var{value} @var{var})))
 @end example
 
+@defun add-to-ordered-list symbol element &optional order
+This function sets the variable @var{symbol} by inserting
+@var{element} into the old value, which must be a list, at the
+position specified by @var{order}.  If @var{element} is already a
+member of the list, its position in the list is adjusted according
+to @var{order}.  Membership is tested using @code{eq}.
+The valued returned is the resulting list, whether updated or not.
+
+The @var{order} is a number, and the elements on list are sorted in
+increasing numerical order.  Elements without a numeric list order are
+placed at the end of @var{symbol}.
+
+The argument @var{symbol} is not implicitly quoted;
+@code{add-to-ordered-list} is an ordinary function, like @code{set}
+and unlike @code{setq}.  Quote the argument yourself if that is what
+you want.
+
+The ordering information is stored in an alist on @var{symbol}'s
+@code{list-order} property.
+@end defun
+
+Here's a scenario showing how to use @code{add-to-ordered-list}:
+
+@example
+(setq foo '())
+     @result{} nil
+
+(add-to-ordered-list 'foo 'a 1)     ;; @r{Add @code{a}.}
+     @result{} (a)
+
+(add-to-ordered-list 'foo 'c 3)     ;; @r{Add @code{c}.}
+     @result{} (a c)
+
+(add-to-ordered-list 'foo 'b 2)     ;; @r{Add @code{b}.}
+     @result{} (a b c)
+
+(add-to-ordered-list 'foo 'b 4)     ;; @r{Move @code{b}.}
+     @result{} (a c b)
+
+(add-to-ordered-list 'foo 'd)       ;; @r{Append @code{d}.}
+     @result{} (a c b d)
+
+(add-to-ordered-list 'foo 'b 2)     ;; @r{Move @code{b}.}
+     @result{} (a b c d)
+
+foo                       ;; @r{@code{foo} was changed.}
+     @result{} (a b c d)
+@end example
+
 @node Variable Scoping
 @section Scoping Rules for Variable Bindings
 
@@ -1722,24 +1771,24 @@
 visiting a file could take over your Emacs.  To prevent this, Emacs
 takes care not to allow to set such file local variables.
 
-  For one thing, any variable whose name ends in @samp{-command},
-@samp{-frame-alist}, @samp{-function}, @samp{-functions},
-@samp{-hook}, @samp{-hooks}, @samp{-form}, @samp{-forms}, @samp{-map},
-@samp{-map-alist}, @samp{-mode-alist}, @samp{-program}, or
-@samp{-predicate} cannot be given a file local value.  In general,
-you should use such a name whenever it is appropriate for the
-variable's meaning.  The variables @samp{font-lock-keywords},
-@samp{font-lock-keywords-[0-9]}, and
-@samp{font-lock-syntactic-keywords} cannot be given file local values either.
-These rules can be overridden by giving the variable's
-name a non-@code{nil} @code{safe-local-variable} property.  If one
-gives it a @code{safe-local-variable} property of @code{t}, then one
-can give the variable any file local value.  One can also give any
-symbol, including the above, a @code{safe-local-variable} property
-that is a function taking exactly one argument.  In that case, giving
-a variable with that name a file local value is only allowed if the
-function returns non-@code{nil} when called with that value as
-argument.
+  For one thing, any variable whose name ends in any of
+@samp{-command}, @samp{-frame-alist}, @samp{-function},
+@samp{-functions}, @samp{-hook}, @samp{-hooks}, @samp{-form},
+@samp{-forms}, @samp{-map}, @samp{-map-alist}, @samp{-mode-alist},
+@samp{-program}, or @samp{-predicate} cannot be given a file local
+value.  In general, you should use such a name whenever it is
+appropriate for the variable's meaning.  The variables
+@samp{font-lock-keywords}, @samp{font-lock-keywords} followed by a
+digit, and @samp{font-lock-syntactic-keywords} cannot be given file
+local values either.  These rules can be overridden by giving the
+variable's name a non-@code{nil} @code{safe-local-variable} property.
+If one gives it a @code{safe-local-variable} property of @code{t},
+then one can give the variable any file local value.  One can also
+give any symbol, including the above, a @code{safe-local-variable}
+property that is a function taking exactly one argument.  In that
+case, giving a variable with that name a file local value is only
+allowed if the function returns non-@code{nil} when called with that
+value as argument.
 
   In addition, any variable whose name has a non-@code{nil}
 @code{risky-local-variable} property is also ignored.  So are all
@@ -1822,19 +1871,12 @@
 
 @defmac define-obsolete-variable-alias obsolete-name current-name &optional when docstring
 This macro marks the variable @var{obsolete-name} as obsolete and also
-makes it an alias for the variable @var{current-name}.  A typical call has
-the form:
+makes it an alias for the variable @var{current-name}.  It is
+equivalent to the following:
 
 @example
-(define-obsolete-variable-alias 'old-var 'new-var "22.1" "Doc.")
-@end example
-
-@noindent
-which is equivalent to the following two lines of code:
-
-@example
-(defvaralias 'oldvar 'newvar "Doc.")
-(make-obsolete-variable 'old-var 'new-var "22.1")
+(defvaralias @var{obsolete-name} @var{current-name} @var{docstring})
+(make-obsolete-variable @var{obsolete-name} @var{current-name} @var{when})
 @end example
 @end defmac
 
--- a/man/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,67 @@
+2005-06-23  Richard M. Stallman  <rms@gnu.org>
+
+	* anti.texi (Antinews): Renamed show-nonbreak-escape to
+	nobreak-char-display.
+
+	* emacs.texi (Top): Update detailed node listing.
+
+	* display.texi (Text Display): Renamed show-nonbreak-escape
+	to nobreak-char-display and no-break-space to nobreak-space.
+	(Standard Faces): Split up the list of standard faces
+	and put it in a separate node.  Add nobreak-space and
+	escape-glyph.
+
+	* speedbar.texi (Creating a display): Texinfo usage fixes.	
+
+	* tramp.texi (Customizing Completion, Auto-save and Backup): 
+	Texinfo usage fixes.
+
+2005-06-23  Lute Kamstra  <lute@gnu.org>
+
+	* mule.texi (Select Input Method): Fix typo.
+
+2005-06-23  Kenichi Handa  <handa@m17n.org>
+
+	* mule.texi (International): List all supported scripts.  Adjust
+	text for that leim is now included in the normal Emacs
+	distribution.
+	(Language Environments): List all language environments.
+	Intlfonts contains fonts for most supported scripts, not all..
+	(Select Input Method): Refer to C-u C-x = to see how to type to
+	input a specifc character.
+	(Recognize Coding): Fix typo, china-iso-8bit -> chinese-iso-8bit.
+
+2005-06-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* building.texi (Grep Searching):
+	* dired-x.texi (Miscellaneous Commands):
+	* ediff.texi (Miscellaneous):
+	* gnus.texi (MIME Commands, Fancy Mail Splitting, Agent Visuals)
+	(Agent Variables):
+	* info.texi (Help-Xref):
+	* message.texi (Message Headers):
+	* org.texi (Remember):
+	* reftex.texi (Options (Defining Label Environments)):
+	(Options (Index Support)):
+	(Options (Viewing Cross-References)):
+	(Options (Misc)):
+	(Changes):
+	* speedbar.texi (Creating a display):
+	* tramp.texi (Customizing Completion, Auto-save and Backup):
+	Texinfo usage fix.
+
+2005-06-22  Miles Bader  <miles@gnu.org>
+
+	* display.texi (Faces): Change `vertical-divider' to `vertical-border'.
+
+2005-06-20  Miles Bader  <miles@gnu.org>
+
+	* display.texi (Faces): Add `vertical-divider'.
+
+2005-06-17  Richard M. Stallman  <rms@gnu.org>
+
+	* text.texi (Adaptive Fill): Minor clarification.
+
 2005-06-13  Carsten Dominik  <dominik@science.uva.nl>
 
 	* org.texi: Version 3.11
@@ -175,7 +239,7 @@
 
 2005-05-16  Luc Teirlinck  <teirllm@auburn.edu>
 
-	* display.texi:  Various minor changes.
+	* display.texi: Various minor changes.
 	(Faces): Delete text that is repeated in the next section.
 
 2005-05-16  Nick Roberts  <nickrob@snap.net.nz>
@@ -929,8 +993,8 @@
 	* calendar.texi (General Calendar): Document binding of
 	scroll-other-window-down.
 	(Mayan Calendar): Fix earliest date.
-	(Time Intervals): Document timeclock-change.  Fix
-	timeclock-ask-before-exiting documentation.
+	(Time Intervals): Document timeclock-change.
+	Fix timeclock-ask-before-exiting documentation.
 
 2005-02-26  Kim F. Storm  <storm@cua.dk>
 
@@ -1051,14 +1115,14 @@
 
 2005-02-10  Jay Belanger  <belanger@truman.edu>
 
-	* calc.texi:  Change @LaTeX to La@TeX throughout.
+	* calc.texi: Change @LaTeX to La@TeX throughout.
 	Redefine @expr as @math for TeX output.
 	Redefine @texline as a no-op for TeX output.
 	Define @tfn, replace @t by @tfn throughout.
 
 2005-02-09  Jay Belanger  <belanger@truman.edu>
 
-	* calc.texi:  Add macro for LaTeX for info output.
+	* calc.texi: Add macro for LaTeX for info output.
 
 2005-02-08  Kim F. Storm  <storm@cua.dk>
 
@@ -1221,7 +1285,7 @@
 
 	* faq.texi: Update AUCTeX version info.
 
-2005-01-16  Xavier Maillard <zedek@gnu-rox.org> (tiny change)
+2005-01-16  Xavier Maillard  <zedek@gnu-rox.org>  (tiny change)
 
 	* gnus-faq.texi ([4.1]): Typo.
 
@@ -1632,7 +1696,7 @@
 
 2004-10-18  Jay Belanger  <belanger@truman.edu>
 
-	* calc.texi (Reporting Bugs):  Changed the address that bugs
+	* calc.texi (Reporting Bugs): Changed the address that bugs
 	should be sent to.
 
 2004-10-15  Reiner Steib  <Reiner.Steib@gmx.de>
@@ -1651,7 +1715,7 @@
 
 2004-10-12  Jay Belanger  <belanger@truman.edu>
 
-	* calc.texi (Help Commands):  Changed the descriptions of
+	* calc.texi (Help Commands): Changed the descriptions of
 	calc-describe-function and calc-describe-variable to match their
 	current behavior.
 
@@ -1692,7 +1756,7 @@
 
 2004-10-06  Karl Berry  <karl@gnu.org>
 
-	* info.texi (@kbd{1}--@kbd{9}): no space around --, for
+	* info.texi (@kbd{1}--@kbd{9}): No space around --, for
 	consistency with other uses of dashes.
 
 2004-10-06  Nick Roberts  <nickrob@snap.net.nz>
@@ -1706,7 +1770,7 @@
 
 2004-10-05  Karl Berry  <karl@gnu.org>
 
-	* info.texi: consistently use --- throughout, periods at end of
+	* info.texi: Consistently use --- throughout, periods at end of
 	menu descriptions, and a couple typos.
 
 2004-10-05  Luc Teirlinck  <teirllm@auburn.edu>
@@ -1722,7 +1786,7 @@
 	`selective-display-ellipses' no longer has an effect on Outline mode.
 	(TeX Misc): Add missing @cindex.
 	Replace xref for RefTeX with inforef.
-	(Requesting Formatted Text): the variable
+	(Requesting Formatted Text): The variable
 	`enriched-fill-after-visiting' no longer exists.
 	(Editing Format Info): Update names of menu items and commands.
 	(Format Faces): Mention special effect of specifying the default face.
@@ -1737,7 +1801,6 @@
 	(Forcing Enriched Mode): `format-decode-buffer' automatically
 	turns on Enriched mode if the buffer is in text/enriched format.
 
-
 2004-10-05  Emilio C. Lopes  <eclig@gmx.net>
 
 	* calendar.texi (From Other Calendar): Add calendar-goto-iso-week.
@@ -1750,7 +1813,7 @@
 2004-09-26  Jesper Harder  <harder@ifa.au.dk>
 
 	* sieve.texi (Manage Sieve API): nil -> @code{nil}.
-	* pgg.texi (User Commands, Backend methods): do.
+	* pgg.texi (User Commands, Backend methods): Do.
 	* gnus.texi: Markup fixes.
 	(Setting Process Marks): Fix `M P a' entry.
 	* emacs-mime: Fixes.
@@ -1843,23 +1906,22 @@
 
 2004-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 
-	* gnus.texi (IMAP): add comments about imaps synonym to imap in
-	netrc syntax
+	* gnus.texi (IMAP): Add comments about imaps synonym to imap in
+	netrc syntax.
 
 2004-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 
-	* gnus.texi (Spam ELisp Package Sequence of Events): some clarifications
-	(Spam ELisp Package Global Variables)
-	(Spam ELisp Package Global Variables): more clarifications
+	* gnus.texi (Spam ELisp Package Sequence of Events): Some clarifications.
+	(Spam ELisp Package Global Variables): More clarifications.
 
 2004-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 
 	* gnus.texi (Spam ELisp Package Filtering of Incoming Mail):
-	mention spam-split does not modify incoming mail
+	Mention spam-split does not modify incoming mail.
 
 2004-09-10  Teodor Zlatanov  <tzz@lifelogs.com>
 
-	* gnus.texi (Spam ELisp Package Sequence of Events): fix typo
+	* gnus.texi (Spam ELisp Package Sequence of Events): Fix typo.
 
 2004-09-10  Eli Zaretskii  <eliz@gnu.org>
 
@@ -2102,7 +2164,7 @@
 2004-08-30  Reiner Steib  <Reiner.Steib@gmx.de>
 
 	* emacs-mime.texi, gnus-faq.texi, gnus.texi, message.texi,
-	pgg.texi, sieve.texi: Use @copying and @insertcopying.
+	* pgg.texi, sieve.texi: Use @copying and @insertcopying.
 
 2004-08-22  Reiner Steib  <Reiner.Steib@gmx.de>
 
@@ -2172,15 +2234,15 @@
 
 2004-06-21  Karl Berry  <karl@gnu.org>
 
-	* info.texi (Top): mention that only Emacs has mouse support.
-	(Getting Started): mention this in a few other places.
+	* info.texi (Top): Mention that only Emacs has mouse support.
+	(Getting Started): Mention this in a few other places.
 
 2004-06-20  Jesper Harder  <harder@ifa.au.dk>
 
 	* msdog.texi (Text and Binary, MS-DOS Printing): Use m-dash.
-	* custom.texi (Customization): do.
-	* anti.texi (Antinews): do.
-	* abbrevs.texi (Defining Abbrevs): do.
+	* custom.texi (Customization): Do.
+	* anti.texi (Antinews): Do.
+	* abbrevs.texi (Defining Abbrevs): Do.
 
 	* programs.texi (Info Lookup): Fix keybinding for
 	info-lookup-symbol.
@@ -2480,7 +2542,7 @@
 
 2004-02-17  Karl Berry  <karl@gnu.org>
 
-	* info.texi (Help-Int): mention the new line number feature.
+	* info.texi (Help-Int): Mention the new line number feature.
 
 2004-02-15  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
@@ -2591,7 +2653,7 @@
 
 2003-10-26  Karl Berry  <karl@gnu.org>
 
-	* info.texi (Info Search): echo area, not echo are.  From Debian
+	* info.texi (Info Search): Echo area, not echo are.  From Debian
 	diff.
 
 2003-10-26  Per Abrahamsen  <abraham@dina.kvl.dk>
@@ -2628,7 +2690,7 @@
 
 2003-10-06  Luc Teirlinck  <teirllm@auburn.edu>
 
-	* texinfo.tex:  Replace `%' in arch tagline by @ignore.
+	* texinfo.tex: Replace `%' in arch tagline by @ignore.
 
 2003-09-30  Richard M. Stallman  <rms@gnu.org>
 
@@ -3562,7 +3624,7 @@
 
 1990-06-26  David Lawrence  (tale@geech)
 
-	* emacs.tex:  Note that completion-ignored-extensions is not used
+	* emacs.tex: Note that completion-ignored-extensions is not used
 	to filter out names when all completions are displayed in
 	*Completions*.
 
@@ -3591,7 +3653,7 @@
 	Also add an @finalout command to remove overfull hboxes from the
 	printed output.
 
-	* cl.texinfo:  Add @bye, \input line and @settitle to file.
+	* cl.texinfo: Add @bye, \input line and @settitle to file.
 	This file is clearly intended to be a chapter of some other work,
 	but the other work does not yet exist.
 
--- a/man/anti.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/anti.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -151,9 +151,8 @@
 and it can only hold a single function.
 
 @item
-Non-breaking spaces and hyphens are displayed just like normal
-characters.  The user option @code{show-nonbreak-escape} is therefore
-obsolete, and has been removed.
+Nobreak spaces and hyphens are displayed just like normal characters,
+and the user option @code{nobreak-char-display} has been removed.
 
 @item
 @kbd{C-w} in an incremental search always grabs an entire word
--- a/man/building.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/building.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -344,9 +344,9 @@
 
   Some grep programs accept a @samp{--color} option to output special
 markers around matches for the purpose of highlighting.  You can make
-use of this feature by setting @code{grep-highlight-matches} to t.
-When displaying a match in the source buffer, the exact match will be
-highlighted, instead of the entire source line.
+use of this feature by setting @code{grep-highlight-matches} to
+@code{t}.  When displaying a match in the source buffer, the exact
+match will be highlighted, instead of the entire source line.
 
 @findex grep-find
 @findex find-grep
@@ -764,7 +764,7 @@
 @code{gud-gdb-command-name} to @code{"gdb --fullname"} or edit the
 startup command in the minibuffer to say that.  You need to do use
 text command mode to run multiple debugging sessions within one Emacs
-session.  If you have customised @code{gud-gdb-command-name} in that
+session.  If you have customized @code{gud-gdb-command-name} in that
 way, then you can use @kbd{M-x gdba} to invoke GDB in graphical mode.
 
 @menu
--- a/man/calendar.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/calendar.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1590,7 +1590,7 @@
 have stopped working on the project and, by default, Emacs queries this.
 You can, however, set the value of the variable
 @code{timeclock-ask-before-exiting} to @code{nil} (via @kbd{M-x
-customize}) to avoid this behaviour; then, only an explicit @kbd{M-x
+customize}) to avoid this behavior; then, only an explicit @kbd{M-x
 timeclock-out} or @kbd{M-x timeclock-change} will tell Emacs that the
 current interval is over.
 
--- a/man/cc-mode.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/cc-mode.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -2363,7 +2363,7 @@
 none of the list elements return a non-@code{nil} value, then an offset
 of 0 (zero) is used@footnote{There is however a variable
 @code{c-strict-syntax-p} that, when set to non-@code{nil}, will cause an
-error to be signalled in that case.  It's now considered obsolete since
+error to be signaled in that case.  It's now considered obsolete since
 it doesn't work well with some of the alignment functions that now
 returns @code{nil} instead of zero to be more usable in lists.  You
 should therefore leave @code{c-strict-syntax-p} set to @code{nil}.}.
--- a/man/dired-x.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/dired-x.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1154,8 +1154,8 @@
 @cindex Reading mail.
 @kindex V
 @findex dired-vm
-Bound to @kbd{V} if @code{dired-bind-vm} is t.  Run VM on this file (assumed
-to be a UNIX mail folder).
+Bound to @kbd{V} if @code{dired-bind-vm} is @code{t}.  Run VM on this
+file (assumed to be a UNIX mail folder).
 
 @vindex dired-vm-read-only-folders
 If you give this command a prefix argument, it will visit the folder
@@ -1168,8 +1168,8 @@
 visited read-only.  This is the recommended value if you run VM 5.
 
 @vindex dired-bind-vm
-If the variable @code{dired-bind-vm} is t, @code{dired-vm} will be bound to
-@kbd{V}.  Otherwise, @code{dired-bind-rmail} will be bound.
+If the variable @code{dired-bind-vm} is @code{t}, @code{dired-vm} will be bound
+to @kbd{V}.  Otherwise, @code{dired-bind-rmail} will be bound.
 
 @item dired-rmail
 @cindex Reading mail.
--- a/man/display.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/display.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997, 2000, 2001, 2002
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997, 2000, 2001, 2002, 2005
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Display, Search, Registers, Top
@@ -12,6 +12,7 @@
 
 @menu
 * Faces::	           How to change the display style using faces.
+* Standard Faces::         Emacs' predefined faces.
 * Font Lock::              Minor mode for syntactic highlighting using faces.
 * Highlight Changes::      Using colors to show where you changed the buffer.
 * Highlight Interactively:: Tell Emacs what text to highlight.
@@ -44,6 +45,12 @@
 support colors.  Character terminals generally do not support changing
 the height and width or the font family.
 
+  The easiest way to use faces is to turn on Font Lock mode.
+@xref{Font Lock}, for more information about Font Lock mode and
+syntactic highlighting.  You can print out the buffer with the
+highlighting that appears on your screen using the command
+@code{ps-print-buffer-with-faces}.  @xref{PostScript}.
+
   Features which rely on text in multiple faces (such as Font Lock mode)
 will also work on non-windowed terminals that can display more than one
 face, whether by colors or underlining and emboldening.  This includes
@@ -90,31 +97,38 @@
 lines too long or too short.  We plan to address these issues in
 future Emacs versions.
 
+@node Standard Faces
+@section Standard Faces
+
 @findex list-faces-display
-  To see what faces are currently defined, and what they look like, type
-@kbd{M-x list-faces-display}.  It's possible for a given face to look
-different in different frames; this command shows the appearance in the
-frame in which you type it.  Here's a list of the standard defined
-faces:
+  To see what faces are currently defined, and what they look like,
+type @kbd{M-x list-faces-display}.  It's possible for a given face to
+look different in different frames; this command shows the appearance
+in the frame in which you type it.  Here are the standard faces
+for specifying text appearance:
 
 @table @code
 @item default
 This face is used for ordinary text that doesn't specify any other face.
-@item mode-line
-This face is used for the mode line of the currently selected window.
-By default, it's drawn with shadows for a ``raised'' effect on window
-systems, and drawn as the inverse of the default face on non-windowed
-terminals.  @xref{Display Custom}.
-@item mode-line-inactive
-Like @code{mode-line}, but used for mode lines of the windows other
-than the selected one (if @code{mode-line-in-non-selected-windows} is
-non-@code{nil}).  This face inherits from @code{mode-line}, so changes
-in that face affect mode lines in all windows.
-@item header-line
-Similar to @code{mode-line} for a window's header line.  Most modes
-don't use the header line, but the Info mode does.
-@item minibuffer-prompt
-This face is used for the prompt strings displayed in the minibuffer.
+@item bold
+This face uses a bold variant of the default font, if it has one.
+@item italic
+This face uses an italic variant of the default font, if it has one.
+@item bold-italic
+This face uses a bold italic variant of the default font, if it has one.
+@item underline
+This face underlines text.
+@item fixed-pitch
+The basic fixed-pitch face.
+@item variable-pitch
+The basic variable-pitch face.
+@end table
+
+  Here's an incomplete list of faces used to highlight parts of the
+text temporarily for specific purposes.  (Many other modes define
+their own faces for this purpose.)
+
+@table @code
 @item highlight
 This face is used for highlighting portions of text, in various modes.
 For example, mouse-sensitive text is highlighted using this face.
@@ -131,44 +145,16 @@
 @item secondary-selection
 This face is used for displaying a secondary X selection (@pxref{Secondary
 Selection}).
-@item bold
-This face uses a bold variant of the default font, if it has one.
-@item italic
-This face uses an italic variant of the default font, if it has one.
-@item bold-italic
-This face uses a bold italic variant of the default font, if it has one.
-@item underline
-This face underlines text.
-@item fixed-pitch
-The basic fixed-pitch face.
-@item fringe
-@cindex fringe
-The face for the fringes to the left and right of windows on graphic
-displays.  (The fringes are the narrow portions of the Emacs frame
-between the text area and the window's right and left borders.)
-@item scroll-bar
-This face determines the visual appearance of the scroll bar.
-@item border
-This face determines the color of the frame border.
-@item cursor
-This face determines the color of the cursor.
-@item mouse
-This face determines the color of the mouse pointer.
-@item tool-bar
-This is the basic tool-bar face.  No text appears in the tool bar, but the
-colors of this face affect the appearance of tool bar icons.
-@item tooltip
-This face is used for tooltips.
-@item menu
-This face determines the colors and font of Emacs's menus.  Setting the
-font of LessTif/Motif menus is currently not supported; attempts to set
-the font are ignored in this case.
 @item trailing-whitespace
 The face for highlighting trailing whitespace when
 @code{show-trailing-whitespace} is non-@code{nil}; see @ref{Useless
 Whitespace}.
-@item variable-pitch
-The basic variable-pitch face.
+@item nobreak-space
+The face for displaying the character ``nobreak space''.
+@item escape-glyph
+The face for highlighting the @samp{\} or @samp{^} that indicates
+a control character.  It's also used when @samp{\} indicates a
+nobreak space or nobreak (soft) hyphen.
 @item shadow
 The basic face for making the text less noticeable than the surrounding
 ordinary text.  Usually this is achieved by using shades of grey in
@@ -183,13 +169,55 @@
 for more information about Transient Mark mode and activation and
 deactivation of the mark.
 
-  One easy way to use faces is to turn on Font Lock mode.  @xref{Font
-Lock}, for more information about Font Lock mode and syntactic
-highlighting.
+  These faces control the appearance of parts of the Emacs frame.
+They exist as faces to provide a consistent way to customize the
+appearance of these parts of the frame.
 
-  You can print out the buffer with the highlighting that appears
-on your screen using the command @code{ps-print-buffer-with-faces}.
-@xref{PostScript}.
+@table @code
+@item mode-line
+This face is used for the mode line of the currently selected window.
+By default, it's drawn with shadows for a ``raised'' effect on window
+systems, and drawn as the inverse of the default face on non-windowed
+terminals.
+@item mode-line-inactive
+Like @code{mode-line}, but used for mode lines of the windows other
+than the selected one (if @code{mode-line-in-non-selected-windows} is
+non-@code{nil}).  This face inherits from @code{mode-line}, so changes
+in that face affect mode lines in all windows.
+@item header-line
+Similar to @code{mode-line} for a window's header line.  Most modes
+don't use the header line, but the Info mode does.
+@item vertical-border
+This face is used for the vertical divider between windows on
+character terminals.  By default this face inherits from the
+@code{mode-line-inactive} face.
+@item minibuffer-prompt
+This face is used for the prompt strings displayed in the minibuffer.
+@item fringe
+@cindex fringe
+The face for the fringes to the left and right of windows on graphic
+displays.  (The fringes are the narrow portions of the Emacs frame
+between the text area and the window's right and left borders.)
+@xref{Fringes}.
+@item scroll-bar
+This face determines the visual appearance of the scroll bar.
+@xref{Scroll Bars}.
+@item border
+This face determines the color of the frame border.
+@item cursor
+This face determines the color of the cursor.
+@item mouse
+This face determines the color of the mouse pointer.
+@item tool-bar
+This is the basic tool-bar face.  No text appears in the tool bar, but the
+colors of this face affect the appearance of tool bar icons.  @xref{Tool Bars}.
+@item tooltip
+This face is used for tooltips.  @xref{Tooltips}.
+@item menu
+This face determines the colors and font of Emacs's menus.  Setting the
+font of LessTif/Motif menus is currently not supported; attempts to set
+the font are ignored in this case.  @xref{Menu Bars}.
+@end table
 
 @node Font Lock
 @section Font Lock mode
@@ -917,16 +945,17 @@
 them), otherwise as escape sequences.  @xref{Single-Byte Character
 Support}.
 
-@vindex show-nonbreak-escape
-@cindex no-break space, display
-@cindex no-break hyphen, display
-  Some character sets define ``no-break'' versions of the space
-and hyphen characters, which are used where a line should not be
-broken.  Emacs displays these with an escape character in order to
-distinguish them from ordinary spaces and hyphens.  For example, a
-non-breaking space is displayed as @samp{\ }.  You can turn off this
-behavior by setting the variable @code{show-nonbreak-escape} to
-@code{nil}.
+@vindex nobreak-char-display
+@cindex nobreak space, display
+@cindex nobreak hyphen, display
+  Some character sets define ``no-break'' versions of the space and
+hyphen characters, which are used where a line should not be broken.
+Emacs normally displays these characters with special faces
+(respectively, @code{nobreak-space} and @code{escape-glyph}) to
+distinguish them from ordinary spaces and hyphens.  You can turn off
+this feature by setting the variable @code{nobreak-char-display} to
+@code{nil}.  If you set the variable to any other value, that means to
+prefix these characters with an escape character.
 
 @node Cursor Display
 @section Displaying the Cursor
--- a/man/ediff.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/ediff.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -2266,7 +2266,7 @@
 
 @item ediff-make-buffers-readonly-at-startup nil
 @vindex ediff-make-buffers-readonly-at-startup
-If t, all variant buffers are made read-only at Ediff startup.
+If @code{t}, all variant buffers are made read-only at Ediff startup.
 
 @item ediff-keep-variants
 @vindex @code{ediff-keep-variants}
--- a/man/emacs-mime.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/emacs-mime.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -56,7 +56,7 @@
 This manual documents the libraries used to compose and display
 @acronym{MIME} messages.
 
-This manual is directed at users who want to modify the behaviour of
+This manual is directed at users who want to modify the behavior of
 the @acronym{MIME} encoding/decoding process or want a more detailed
 picture of how the Emacs @acronym{MIME} library works, and people who want
 to write functions and commands that manipulate @acronym{MIME} elements.
@@ -795,7 +795,7 @@
 Mapping from @acronym{MIME} charset to encoding to use.  This variable is
 usually used except, e.g., when other requirements force a specific
 encoding (digitally signed messages require 7bit encodings).  The
-default is 
+default is
 
 @lisp
 ((iso-2022-jp . 7bit)
--- a/man/emacs.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/emacs.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -305,6 +305,7 @@
 Controlling the Display
 
 * Faces::	           How to change the display style using faces.
+* Standard Faces::         Emacs' predefined faces.
 * Font Lock::              Minor mode for syntactic highlighting using faces.
 * Highlight Changes::      Using colors to show where you changed the buffer.
 * Highlight Interactively:: Tell Emacs what text to highlight.
--- a/man/flymake.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/flymake.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -292,7 +292,7 @@
 @section Customizable variables
 @cindex Customizable variables
 
-This section summarises variables used for Flymake
+This section summarizes variables used for Flymake
 configuration.
 
 @table @code
@@ -378,7 +378,7 @@
 selected. If no match is found, @code{flymake-mode} is switched off.
 
 @item init-function
-@code{init-function} is required to initialise the syntax check,
+@code{init-function} is required to initialize the syntax check,
 usually by creating a temporary copy of the buffer contents. The
 function must return @code{(list cmd-name arg-list)}. If
 @code{init-function} returns null, syntax check is aborted, by
@@ -639,7 +639,7 @@
 and the way it can be obtained can vary greatly for different projects.
 Therefore, a customizable variable
 @code{flymake-get-project-include-dirs-function} is used to provide the
-way to implement the desired behaviour.
+way to implement the desired behavior.
 
 The default implementation, @code{flymake-get-project-include-dirs-imp},
 uses a @code{make} call. This requires a correct base directory, that is, a
@@ -658,7 +658,7 @@
 Flymake can be configured to use different tools for performing syntax
 checks. For example, it can use direct compiler call to syntax check a perl
 script or a call to @code{make} for a more complicated case of a
-@code{C/C++} source.  The general idea is that simple files, like perl
+@code{C/C++} source. The general idea is that simple files, like perl
 scripts and html pages, can be checked by directly invoking a
 corresponding tool. Files that are usually more complex and generally
 used as part of larger projects, might require non-trivial options to
--- a/man/gnus.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/gnus.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -832,21 +832,21 @@
 
 Filtering Spam Using The Spam ELisp Package
 
-* Spam ELisp Package Sequence of Events::  
-* Spam ELisp Package Filtering of Incoming Mail::  
-* Spam ELisp Package Global Variables::  
-* Spam ELisp Package Configuration Examples::  
-* Blacklists and Whitelists::   
-* BBDB Whitelists::             
-* Gmane Spam Reporting::        
-* Anti-spam Hashcash Payments::  
-* Blackholes::                  
-* Regular Expressions Header Matching::  
-* Bogofilter::                  
-* ifile spam filtering::        
-* spam-stat spam filtering::    
-* SpamOracle::                  
-* Extending the Spam ELisp package::  
+* Spam ELisp Package Sequence of Events::
+* Spam ELisp Package Filtering of Incoming Mail::
+* Spam ELisp Package Global Variables::
+* Spam ELisp Package Configuration Examples::
+* Blacklists and Whitelists::
+* BBDB Whitelists::
+* Gmane Spam Reporting::
+* Anti-spam Hashcash Payments::
+* Blackholes::
+* Regular Expressions Header Matching::
+* Bogofilter::
+* ifile spam filtering::
+* spam-stat spam filtering::
+* SpamOracle::
+* Extending the Spam ELisp package::
 
 Filtering Spam Using Statistics with spam-stat
 
@@ -1393,7 +1393,7 @@
 Most common Unix news readers use a shared startup file called
 @file{.newsrc}.  This file contains all the information about what
 groups are subscribed, and which articles in these groups have been
-read. 
+read.
 
 Things got a bit more complicated with @sc{gnus}.  In addition to
 keeping the @file{.newsrc} file updated, it also used a file called
@@ -3008,7 +3008,7 @@
 hear a beep when you enter a group, you could put something like
 @code{(dummy-variable (ding))} in the parameters of that group.
 @code{dummy-variable} will be set to the (meaningless) result of the
-@code{(ding)} form.  
+@code{(ding)} form.
 
 Alternatively, since the VARIABLE becomes local to the group, this
 pattern can be used to temporarily change a hook.  For example, if the
@@ -3984,7 +3984,7 @@
      8: comp.binaries.fractals
     13: comp.sources.unix
    452: alt.sex.emacs
-@end group   
+@end group
 @end example
 
 The @samp{Emacs} topic has the topic parameter @code{(score-file
@@ -9347,12 +9347,13 @@
 @code{mm-discouraged-alternatives} in @ref{Display Customization,
 Display Customization, , emacs-mime, Emacs-Mime Manual}.  Images or
 other material inside a "multipart/related" part might be overlooked
-when this variable is nil.
+when this variable is @code{nil}.
 
 @vindex gnus-mime-display-multipart-as-mixed
 @item gnus-mime-display-multipart-as-mixed
-Display "multipart" parts as "multipart/mixed".  If t, it overrides nil
-values of @code{gnus-mime-display-multipart-alternative-as-mixed} and
+Display "multipart" parts as "multipart/mixed".  If @code{t}, it
+overrides @code{nil} values of
+@code{gnus-mime-display-multipart-alternative-as-mixed} and
 @code{gnus-mime-display-multipart-related-as-mixed}.
 
 @vindex mm-file-name-rewrite-functions
@@ -13293,7 +13294,7 @@
 By default the splitting codes @acronym{MIME} decodes headers so you
 can match on non-@acronym{ASCII} strings.  The
 @code{nnmail-mail-splitting-charset} variable specifies the default
-charset for decoding.  The behaviour can be turned off completely by
+charset for decoding.  The behavior can be turned off completely by
 binding @code{nnmail-mail-splitting-decodes} to @code{nil}, which is
 useful if you want to match articles based on the raw header data.
 
@@ -14011,7 +14012,7 @@
 
 @table @code
 
-@item group 
+@item group
 If the split is a string, that will be taken as a group name.  Normal
 regexp match expansion will be done.  See below for examples.
 
@@ -14142,9 +14143,9 @@
 
 In this example, messages sent from @samp{joedavis@@foo.org} will
 normally not be filed in @samp{joemail}.  With
-@code{nnmail-split-fancy-match-partial-words} set to t, however, the
-match will happen.  In effect, the requirement of a word boundary is
-removed and instead the match becomes more like a grep.
+@code{nnmail-split-fancy-match-partial-words} set to @code{t},
+however, the match will happen.  In effect, the requirement of a word
+boundary is removed and instead the match becomes more like a grep.
 
 @findex nnmail-split-fancy-with-parent
 @code{nnmail-split-fancy-with-parent} is a function which allows you to
@@ -16297,7 +16298,7 @@
 A file containing credentials used to log in on servers.  The format is
 (almost) the same as the @code{ftp} @file{~/.netrc} file.  See the
 variable @code{nntp-authinfo-file} for exact syntax; also see
-@ref{NNTP}.  An example of an .authinfo line for an IMAP server, is: 
+@ref{NNTP}.  An example of an .authinfo line for an IMAP server, is:
 
 @example
 machine students.uio.no login larsi password geheimnis port imap
@@ -16497,7 +16498,7 @@
 Set to non-@code{nil} to download entire articles during splitting.
 This is generally not required, and will slow things down
 considerably.  You may need it if you want to use an advanced
-splitting function that analyses the body to split the article.
+splitting function that analyzes the body to split the article.
 
 @end table
 
@@ -16635,7 +16636,7 @@
 
 @acronym{IMAP} is a complex protocol, more so than @acronym{NNTP} or
 @acronym{POP3}.  Implementation bugs are not unlikely, and we do our
-best to fix them right away.  If you encounter odd behaviour, chances
+best to fix them right away.  If you encounter odd behavior, chances
 are that either the server or Gnus is buggy.
 
 If you are familiar with network protocols in general, you will
@@ -16650,7 +16651,7 @@
 @vindex imap-log
 Because the protocol dump, when enabled, generates lots of data, it is
 disabled by default.  You can enable it by setting @code{imap-log} as
-follows: 
+follows:
 
 @lisp
 (setq imap-log t)
@@ -18372,11 +18373,11 @@
 situation, you have two choices available.  First, you can completely
 disable the undownload faces by customizing
 @code{gnus-summary-highlight} to delete the three cons-cells that
-refer to the @code{gnus-summary-*-undownloaded-face} faces.  Second, if
-you prefer to take a more fine-grained approach, you may set the
-@code{agent-disable-undownloaded-faces} group parameter to t.  This
-parameter, like all other agent parameters, may be set on an Agent
-Category (@pxref{Agent Categories}), a Group Topic (@pxref{Topic
+refer to the @code{gnus-summary-*-undownloaded-face} faces.  Second,
+if you prefer to take a more fine-grained approach, you may set the
+@code{agent-disable-undownloaded-faces} group parameter to @code{t}.
+This parameter, like all other agent parameters, may be set on an
+Agent Category (@pxref{Agent Categories}), a Group Topic (@pxref{Topic
 Parameters}), or an individual group (@pxref{Group Parameters}).
 
 @node Agent as Cache
@@ -18588,7 +18589,7 @@
 If @code{gnus-agent-mark-unread-after-downloaded} is non-@code{nil},
 mark articles as unread after downloading.  This is usually a safe
 thing to do as the newly downloaded article has obviously not been
-read.  The default is t.
+read.  The default is @code{t}.
 
 @item gnus-agent-consider-all-articles
 @vindex gnus-agent-consider-all-articles
@@ -18726,7 +18727,7 @@
 @table @dfn
 @item If I read an article while plugged, do they get entered into the Agent?
 
-@strong{No}.  If you want this behaviour, add
+@strong{No}.  If you want this behavior, add
 @code{gnus-agent-fetch-selected-article} to
 @code{gnus-select-article-hook}.
 
@@ -21012,7 +21013,7 @@
 
 Gnus usually moves point to a pre-defined place on each line in most
 buffers.  By default, point move to the first colon character on the
-line.  You can customize this behaviour in three different ways.
+line.  You can customize this behavior in three different ways.
 
 You can move the colon character to somewhere else on the line.
 
@@ -22361,7 +22362,7 @@
 @samp{vmadmin.com}.  If you get 200 messages about @samp{VIAGRA}, you
 discard all messages with @samp{VIAGRA} in the message.  If you get
 lots of spam from Bulgaria, for example, you try to filter all mail
-from Bulgarian IPs.  
+from Bulgarian IPs.
 
 This, unfortunately, is a great way to discard legitimate e-mail.  The
 risks of blocking a whole country (Bulgaria, Norway, Nigeria, China,
@@ -22704,22 +22705,22 @@
 group.
 
 @menu
-* Spam ELisp Package Sequence of Events::  
-* Spam ELisp Package Filtering of Incoming Mail::  
-* Spam ELisp Package Global Variables::  
-* Spam ELisp Package Configuration Examples::  
-* Blacklists and Whitelists::   
-* BBDB Whitelists::             
-* Gmane Spam Reporting::        
-* Anti-spam Hashcash Payments::  
-* Blackholes::                  
-* Regular Expressions Header Matching::  
-* Bogofilter::                  
-* ifile spam filtering::        
-* spam-stat spam filtering::    
-* SpamOracle::                  
-* Extending the Spam ELisp package::  
-@end menu 
+* Spam ELisp Package Sequence of Events::
+* Spam ELisp Package Filtering of Incoming Mail::
+* Spam ELisp Package Global Variables::
+* Spam ELisp Package Configuration Examples::
+* Blacklists and Whitelists::
+* BBDB Whitelists::
+* Gmane Spam Reporting::
+* Anti-spam Hashcash Payments::
+* Blackholes::
+* Regular Expressions Header Matching::
+* Bogofilter::
+* ifile spam filtering::
+* spam-stat spam filtering::
+* SpamOracle::
+* Extending the Spam ELisp package::
+@end menu
 
 @node Spam ELisp Package Sequence of Events
 @subsubsection Spam ELisp Package Sequence of Events
@@ -23174,7 +23175,7 @@
  ;; @r{any ham goes to my @samp{nnimap+mail.lifelogs.com:mail} folder, but}
  ;; @r{also to my @samp{nnimap+mail.lifelogs.com:trainham} folder for training}
 
- (ham-process-destination "nnimap+mail.lifelogs.com:mail" 
+ (ham-process-destination "nnimap+mail.lifelogs.com:mail"
                           "nnimap+mail.lifelogs.com:trainham")
  ;; @r{in this group, only @samp{!} marks are ham}
  (ham-marks
@@ -23215,7 +23216,7 @@
     (spam-contents gnus-group-spam-classification-ham))
 @end lisp
 
-@itemize 
+@itemize
 
 @item @b{The Spam folder:}
 
@@ -23308,7 +23309,7 @@
 added to a group's @code{spam-process} parameter, the senders of
 spam-marked articles will be added to the blacklist.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-spam-exit-processor-blacklist}, it is recommended
@@ -23327,7 +23328,7 @@
 whitelist.  Note that this ham processor has no effect in @emph{spam}
 or @emph{unclassified} groups.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-ham-exit-processor-whitelist}, it is recommended
@@ -23393,7 +23394,7 @@
 BBDB.  Note that this ham processor has no effect in @emph{spam}
 or @emph{unclassified} groups.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-ham-exit-processor-BBDB}, it is recommended
@@ -23420,7 +23421,7 @@
 
 Gmane can be found at @uref{http://gmane.org}.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-spam-exit-processor-report-gmane}, it is recommended
@@ -23589,7 +23590,7 @@
 added to a group's @code{spam-process} parameter, spam-marked articles
 will be added to the Bogofilter spam database.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-spam-exit-processor-bogofilter}, it is recommended
@@ -23606,7 +23607,7 @@
 of non-spam messages.  Note that this ham processor has no effect in
 @emph{spam} or @emph{unclassified} groups.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-ham-exit-processor-bogofilter}, it is recommended
@@ -23693,7 +23694,7 @@
 added to a group's @code{spam-process} parameter, the spam-marked
 articles will be added to the spam-stat database of spam messages.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-spam-exit-processor-stat}, it is recommended
@@ -23710,7 +23711,7 @@
 of non-spam messages.  Note that this ham processor has no effect in
 @emph{spam} or @emph{unclassified} groups.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-ham-exit-processor-stat}, it is recommended
@@ -23802,7 +23803,7 @@
 to a group's @code{spam-process} parameter, spam-marked articles will be
 sent to SpamOracle as spam samples.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-spam-exit-processor-spamoracle}, it is recommended
@@ -23819,7 +23820,7 @@
 messages.  Note that this ham processor has no effect in @emph{spam} or
 @emph{unclassified} groups.
 
-@emph{WARNING} 
+@emph{WARNING}
 
 Instead of the obsolete
 @code{gnus-group-ham-exit-processor-spamoracle}, it is recommended
@@ -23914,7 +23915,7 @@
 provide them if Blackbox supports spam or ham processing.
 
 Also, ham and spam processors are being phased out as single
-variables.  Instead the form @code{'(spam spam-use-blackbox)} or 
+variables.  Instead the form @code{'(spam spam-use-blackbox)} or
 @code{'(ham spam-use-blackbox)} is favored.  For now, spam/ham
 processor variables are still around but they won't be for long.
 
@@ -26140,7 +26141,7 @@
 @kbd{J r} in the server buffer.  Gnus will not download articles into
 the Agent cache, unless you instruct it to do so, though, by using
 @kbd{J u} or @kbd{J s} from the Group buffer.  You revert to the old
-behaviour of having the Agent disabled with @code{(setq gnus-agent
+behavior of having the Agent disabled with @code{(setq gnus-agent
 nil)}.  Note that putting @code{(gnus-agentize)} in @file{~/.gnus.el}
 is not needed any more.
 
@@ -26280,7 +26281,7 @@
 system.  While the variable is called @code{canlock-password}, it is not
 security sensitive data.  Publishing your canlock string on the web
 will not allow anyone to be able to anything she could not already do.
-The behaviour can be changed by customizing @code{message-insert-canlock}.
+The behavior can be changed by customizing @code{message-insert-canlock}.
 
 @item
 Gnus supports server-side mail filtering using Sieve.
@@ -26380,7 +26381,7 @@
 @item
 The default for @code{message-forward-show-mml} changed to symbol @code{best}.
 
-The behaviour for the @code{best} value is to show @acronym{MML} (i.e.,
+The behavior for the @code{best} value is to show @acronym{MML} (i.e.,
 convert to @acronym{MIME}) when appropriate.  @acronym{MML} will not be
 used when forwarding signed or encrypted messages, as the conversion
 invalidate the digital signature.
@@ -26905,7 +26906,7 @@
 edebug.  Debugging Lisp code is documented in the Elisp manual
 (@pxref{Debugging, , Debugging Lisp Programs, elisp, The GNU Emacs
 Lisp Reference Manual}).  To get you started with edebug, consider if
-you discover some weird behaviour when pressing @kbd{c}, the first
+you discover some weird behavior when pressing @kbd{c}, the first
 step is to do @kbd{C-h k c} and click on the hyperlink (Emacs only) in
 the documentation buffer that leads you to the function definition,
 then press @kbd{M-x edebug-defun RET} with point inside that function,
--- a/man/info.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/info.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -820,11 +820,11 @@
 
   If you always like to have that information available without having
 to move your mouse over the cross reference, set
-@code{Info-hide-note-references} to a value other than t (@pxref{Emacs
-Info Variables}).  You might also want to do that if you have a lot of
-cross references to files on remote machines and have non-permanent or
-slow access, since otherwise you might not be able to distinguish
-between local and remote links.
+@code{Info-hide-note-references} to a value other than @code{t}
+(@pxref{Emacs Info Variables}).  You might also want to do that if you
+have a lot of cross references to files on remote machines and have
+non-permanent or slow access, since otherwise you might not be able to
+distinguish between local and remote links.
 
 @format
 >> Now type @kbd{n} to learn more commands.
--- a/man/message.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/message.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -8,7 +8,7 @@
 @copying
 This file documents Message, the Emacs message composition mode.
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 @quotation
@@ -419,7 +419,7 @@
 
 @vindex message-subscribed-address-file
 @item message-subscribed-address-file
-You might be one organised human freak and have a list of addresses of
+You might be one organized human freak and have a list of addresses of
 all subscribed mailing lists in a separate file!  Then you can just
 set this variable to the name of the file and life would be good.
 
@@ -739,7 +739,7 @@
 @vindex message-beginning-of-line
 If at beginning of header value, go to beginning of line, else go to
 beginning of header value.  (The header value comes after the header
-name and the colon.)  This behaviour can be disabled by toggling
+name and the colon.)  This behavior can be disabled by toggling
 the variable @code{message-beginning-of-line}.
 
 @end table
@@ -1372,7 +1372,7 @@
 lines.  If @code{nil}, leave the subject unchanged.  If it is the symbol
 @code{ask}, query the user what do do.  In this case, the subject is
 matched against @code{message-subject-trailing-was-ask-regexp}.  If
-@code{message-subject-trailing-was-query} is t, always strip the
+@code{message-subject-trailing-was-query} is @code{t}, always strip the
 trailing old subject.  In this case,
 @code{message-subject-trailing-was-regexp} is used.
 
--- a/man/mule.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/mule.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -35,11 +35,12 @@
 @cindex Dutch
 @cindex Spanish
   Emacs supports a wide variety of international character sets,
-including European variants of the Latin alphabet, as well as Chinese,
-Cyrillic, Devanagari (Hindi and Marathi), Ethiopic, Greek, Hebrew, IPA,
-Japanese, Korean, Lao, Thai, Tibetan, and Vietnamese scripts.  These features
-have been merged from the modified version of Emacs known as MULE (for
-``MULti-lingual Enhancement to GNU Emacs'')
+including European and Vietnamese variants of the Latin alphabet, as
+well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
+Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
+Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
+These features have been merged from the modified version of Emacs
+known as MULE (for ``MULti-lingual Enhancement to GNU Emacs'')
 
   Emacs also supports various encodings of these characters used by
 other internationalized software, such as word processors and mailers.
@@ -69,8 +70,7 @@
 You can insert non-@acronym{ASCII} characters or search for them.  To do that,
 you can specify an input method (@pxref{Select Input Method}) suitable
 for your language, or use the default input method set up when you set
-your language environment.  (Emacs input methods are part of the Leim
-package, which must be installed for you to be able to use them.)  If
+your language environment.  If
 your keyboard can produce non-@acronym{ASCII} characters, you can select an
 appropriate keyboard coding system (@pxref{Specify Coding}), and Emacs
 will accept those characters.  Latin-1 characters can also be input by
@@ -240,13 +240,19 @@
 @cindex Euro sign
 @cindex UTF-8
 @quotation
-Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ALT, Cyrillic-ISO,
-Cyrillic-KOI8, Czech, Devanagari, Dutch, English, Ethiopic, German,
-Greek, Hebrew, IPA, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3,
-Latin-4, Latin-5, Latin-8 (Celtic), Latin-9 (updated Latin-1, with the
-Euro sign), Polish, Romanian, Slovak, Slovenian, Spanish, Thai, Tibetan,
-Turkish, UTF-8 (for a setup which prefers Unicode characters and files
-encoded in UTF-8), and Vietnamese.
+Belarusian, Brazilian Portuguese, Bulgarian, Chinese-BIG5,
+Chinese-CNS, Chinese-EUC-TW, Chinese-GB, Croatian, Cyrillic-ALT,
+Cyrillic-ISO, Cyrillic-KOI8, Czech, Devanagari, Dutch, English,
+Ethiopic, French, Georgian, German, Greek, Hebrew, IPA, Italian,
+Japanese, Kannada, Korean, Lao, Latin-1, Latin-2, Latin-3,
+Latin-4, Latin-5, Latin-6, Latin-7, Latin-8 (Celtic),
+Latin-9 (updated Latin-1 with the Euro sign), Latvian,
+Lithuanian, Malayalam, Polish, Romanian, Russian, Slovak,
+Slovenian, Spanish, Swedish, Tajik, Tamil, Thai, Tibetan,
+Turkish, UTF-8 (for a setup which prefers Unicode characters and
+files encoded in UTF-8), Ukrainian, Vietnamese, Welsh, and
+Windows-1255 (for a setup which prefers Cyrillic characters and
+files encoded in Windows-1255).
 @end quotation
 
 @cindex fonts for various scripts
@@ -254,7 +260,7 @@
   To display the script(s) used by your language environment on a
 graphical display, you need to have a suitable font.  If some of the
 characters appear as empty boxes, you should install the GNU Intlfonts
-package, which includes fonts for all supported scripts.@footnote{If
+package, which includes fonts for most supported scripts.@footnote{If
 you run Emacs on X, you need to inform the X server about the location
 of the newly installed fonts with the following commands:
 
@@ -525,9 +531,11 @@
 the command @kbd{M-x quail-set-keyboard-layout}.
 
 @findex quail-show-key
-  You can use the command @kbd{M-x quail-show-key} to show what key
-(or key sequence) to type in order to input the character following
-point, using the selected keyboard layout.
+  You can use the command @kbd{M-x quail-show-key} to show what key (or
+key sequence) to type in order to input the character following point,
+using the selected keyboard layout.  The command @kbd{C-u C-x =} also
+shows that information in addition to the other information about the
+character.
 
 @findex list-input-methods
   To display a list of all the supported input methods, type @kbd{M-x
@@ -736,7 +744,7 @@
 @code{china-iso-8bit}, you can execute this Lisp expression:
 
 @smallexample
-(modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit)
+(modify-coding-system-alist 'file "\\.txt\\'" 'chinese-iso-8bit)
 @end smallexample
 
 @noindent
--- a/man/org.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/org.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -9,7 +9,7 @@
 
 @dircategory Emacs
 @direntry
-* Org Mode: (org).	Outline-based notes management and organizer 
+* Org Mode: (org).	Outline-based notes management and organizer
 @end direntry
 
 @c Version and Contact Info
@@ -264,7 +264,7 @@
 
 @noindent which will select Org-mode for this buffer no matter what
 the file's name is.  See also the variable
-@code{org-insert-mode-line-in-empty-file'}. 
+@code{org-insert-mode-line-in-empty-file'}.
 
 @node Feedback,  , Installation and Activation, Introduction
 @section Feedback
@@ -710,7 +710,7 @@
 @kindex C-c ?
 @item C-c ?
 Which table column is the cursor in?  Displays number >0 in echo
-area. 
+area.
 
 @cindex region, active
 @cindex active region
@@ -721,8 +721,8 @@
 the active region.  The result is displayed in the echo area and can
 be inserted with @kbd{C-y}.
 
-@kindex S-@key{RET}         
-@item S-@key{RET}         
+@kindex S-@key{RET}
+@item S-@key{RET}
 When current field is empty, copy from first non-empty field above.
 When not empty, copy current field down to next row and move cursor
 along with it.  Depending on the variable
@@ -954,7 +954,7 @@
 @item on headline @tab @key{RET} @tab as sublevel of the heading at cursor
 @item             @tab @key{left}  @tab as same level, before current heading
 @item             @tab @key{right} @tab as same level, after current heading
-@item not on headline @tab @key{RET} 
+@item not on headline @tab @key{RET}
       @tab at cursor position, level taken from context.
            Or use prefix arg to specify level manually.
 @end multitable
@@ -969,8 +969,8 @@
 text has a headline, i.e. a first line that starts with a @samp{*}.
 If not, a headline is constructed from the current date and some
 additional data.  If the variable @code{org-adapt-indentation} is
-non-nil, the entire text is also indented so that it starts in the
-same column as the headline (after the asterisks).
+non-@code{nil}, the entire text is also indented so that it starts in
+the same column as the headline (after the asterisks).
 
 @node TODO items, Timestamps, Hyperlinks, Top
 @chapter TODO items
@@ -1125,7 +1125,7 @@
 parses these lines only when Org-mode is activated after visiting a
 file.  @kbd{C-c C-c} with the cursor in a line starting with @samp{#-}
 is simply restarting Org-mode, making sure that these changes will be
-respected.}. 
+respected.}.
 
 If you want to use very many keywords, for example when working with a
 large group of people, you may split the names over several lines:
@@ -1578,7 +1578,7 @@
 @kindex mouse-3
 @kindex @key{SPC}
 @item mouse-3
-@itemx @key{SPC} 
+@itemx @key{SPC}
 Display the original location of the item in another window.
 
 @kindex l
@@ -1680,7 +1680,7 @@
 the future.  With prefix argument, change it by that many days.  For
 example, @kbd{3 6 5 S-@key{right}} will change it by a year.  The
 stamp is changed in the original org file, but the change is not
-directly reflected in the agenda buffer.  Use the 
+directly reflected in the agenda buffer.  Use the
 @kbd{r} key to update the buffer.
 
 @kindex S-@key{left}
@@ -1859,16 +1859,16 @@
 @cindex active region
 @cindex transient-mark-mode
 @table @kbd
-@kindex C-c C-x a    
+@kindex C-c C-x a
 @item C-c C-x a
 Export as ASCII file.  If there is an active region, only the region
 will be exported.  For an org file @file{myfile.org}, the ASCII file
 will be @file{myfile.txt}.  The file will be overwritten without
 warning.
-@kindex C-c C-x h    
+@kindex C-c C-x h
 @item C-c C-x h
 Export as HTML file @file{myfile.html}.
-@kindex C-c C-x C-h  
+@kindex C-c C-x C-h
 @item C-c C-x C-h
 Export as HTML file and open it with a browser.
 @kindex C-c C-x t
@@ -1914,7 +1914,7 @@
 @cindex fixed width
 @item
 Lines starting with @samp{:} are typeset in a fixed-width font, to
-allow quoting of computer code etc. 
+allow quoting of computer code etc.
 
 @cindex HTML tags
 @item
@@ -1936,7 +1936,7 @@
 The whole set of lines can be inserted into the buffer with @kbd{C-c
 C-x t}.  For individual lines, a good way to make sure the keyword is
 correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
-(@pxref{Completion}). 
+(@pxref{Completion}).
 
 @example
 #+TITLE:     the title to be shown (default is the buffer name)
@@ -2162,7 +2162,7 @@
 @end example
 Yes, these are unfortunately more difficult to remember.  If you want
 to have other replacement keys, look at the variable
-@code{org-disputed-keys}. 
+@code{org-disputed-keys}.
 
 @end table
 
@@ -2174,30 +2174,30 @@
 have found too hard to fix.
 
 @itemize @bullet
-@item 
+@item
 If you call @code{fill-paragraph} (bound to @kbd{M-q}) in a table, the
 filling is correctly disabled.  However, if some text directly
 (without an empty line in between) preceeds or follws a table, calling
 @code{fill-paragraph} in that text will also fill the table like
 normal text.  Also, @code{fill-region} does bypass the
 @code{fill-paragraph} code and will fill tables like normal text.
-@item 
+@item
 When the application called by @kbd{C-c C-o} to open a file link fails
 (for example because the application does not exits or refuses to open
 the file), it does so silently.  No error message is displayed.
-@item 
+@item
 Under XEmacs, if Org-mode entries are included into the diary, it is
 not possible to jump back from the diary to the org file.  Apparently,
 the text properties are lost when the fancy-diary-display is used.
 However, from Org-mode's timeline and agenda buffers (created with
 @kbd{C-c C-r} and @kbd{C-c a}), things do work correctly.
-@item 
+@item
 Linux should also have a default viewer application, using mailcap.
 Maybe we can use GNUS or VM mime code?  Or dired's guessing commands?
 Any hints (or even patches) are appreciated.
-@item 
+@item
 When you write @samp{x = a /b/ c}, b will be exported in italics.
-@item 
+@item
 The exporters work well, but could be made more efficient.
 @end itemize
 
--- a/man/reftex.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/reftex.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -153,7 +153,7 @@
 * Citation Info::                    View the corresponding database entry.
 * Chapterbib and Bibunits::          Multiple bibliographies in a Document.
 * Citations Outside LaTeX::          How to make citations in Emails etc.
-* BibTeX Database Subsets::          Extract parts of a big database. 
+* BibTeX Database Subsets::          Extract parts of a big database.
 
 Index Support
 
@@ -1668,7 +1668,7 @@
 * Citation Info::                    View the corresponding database entry.
 * Chapterbib and Bibunits::          Multiple bibliographies in a Document.
 * Citations Outside LaTeX::          How to make citations in Emails etc.
-* BibTeX Database Subsets::          Extract parts of a big database. 
+* BibTeX Database Subsets::          Extract parts of a big database.
 @end menu
 
 @node Creating Citations, Citation Styles, , Citations
@@ -1772,12 +1772,12 @@
 @item e
 Create a new BibTeX database file which contains all @i{marked} entries
 in the selection buffer.  If no entries are marked, all entries are
-selected. 
+selected.
 
 @item E
 Create a new BibTeX database file which contains all @i{unmarked}
 entries in the selection buffer.  If no entries are marked, all entries
-are selected. 
+are selected.
 
 @item @key{TAB}
 Enter a citation key with completion.  This may also be a key which does
@@ -3211,7 +3211,7 @@
 
 Before calling a @b{Ref@TeX{}} function, the style hook should always
 test for the availability of the function, so that the style file will
-also work for people who do not use @b{Ref@TeX{}}. 
+also work for people who do not use @b{Ref@TeX{}}.
 
 Additions made with style files in the way described below remain local
 to the current document.  For example, if one package uses AMSTeX, the
@@ -3492,7 +3492,7 @@
 
 @b{Ref@TeX{}} was written by @i{Carsten Dominik}
 @email{dominik@@science.uva.nl}, with contributions by @i{Stephen
-Eglen}.  @b{Ref@TeX{}} is currently maintained by 
+Eglen}.  @b{Ref@TeX{}} is currently maintained by
 
 @noindent
 Carsten Dominik <dominik@@science.uva.nl>
@@ -3712,7 +3712,7 @@
 Create a new BibTeX database file with all entries referenced in document.
 The command prompts for a filename and writes the collected entries to
 that file.  Only entries referenced in the current document with
-any @code{\cite}-like macros are used. 
+any @code{\cite}-like macros are used.
 The sequence in the new file is the same as it was in the old database.
 @end deffn
 
@@ -3817,7 +3817,7 @@
 ordinary TOC window), the automatic recentering is turned on.  When the
 frame gets destroyed, automatic recentering is turned off again.
 
-This feature can be turned on and off from the menu 
+This feature can be turned on and off from the menu
 (Ref->Options).
 @end defopt
 
@@ -3927,7 +3927,7 @@
 This may also be a function to do local parsing and identify point to be
 in a non-standard label environment.  The function must take an
 argument @var{bound} and limit backward searches to this value.  It
-should return either nil or a cons cell @code{(@var{function}
+should return either @code{nil} or a cons cell @code{(@var{function}
 . @var{position})} with the function symbol and the position where the
 special environment starts.  See the Info documentation for an
 example.
@@ -4084,7 +4084,7 @@
 default does parse around each label to detect the correct label type,
 but this process can be slow when a document contains thousands of
 labels.  If you use label prefixes consistently, you may speed up
-document parsing by setting this variable to a non-nil value.  RefTeX
+document parsing by setting this variable to a non-@code{nil} value.  RefTeX
 will then compare the label prefix with the prefixes found in
 `reftex-label-alist' and derive the correct label type in this way.
 Possible values for this option are:
@@ -4093,7 +4093,7 @@
 t       @r{This means to trust any label prefixes found.}
 regexp  @r{If a regexp, only prefixes matched by the regexp are trusted.}
 list    @r{List of accepted prefixes, as strings.  The colon is part of}
-        @r{the prefix, e.g. ("fn:" "eqn:" "item:").}   
+        @r{the prefix, e.g. ("fn:" "eqn:" "item:").}
 nil     @r{Never trust a label prefix.}
 @end example
 The only disadvantage of using this feature is that the label context
@@ -4649,7 +4649,7 @@
 
 @defopt reftex-index-verify-function
 A function which is called at each match during global indexing.
-If the function returns nil, the current match is skipped.
+If the function returns @code{nil}, the current match is skipped.
 @end defopt
 
 @defopt reftex-index-phrases-skip-indexed-matches
@@ -4769,10 +4769,10 @@
 
 @defopt reftex-revisit-to-echo
 Non-@code{nil} means, automatic citation display will revisit files if
-necessary.  When nil, citation display in echo area will only be active
-for cached echo strings (see @code{reftex-cache-cite-echo}), or for
-BibTeX database files which are already visited by a live associated
-buffers.
+necessary.  When @code{nil}, citation display in echo area will only
+be active for cached echo strings (see @code{reftex-cache-cite-echo}),
+or for BibTeX database files which are already visited by a live
+associated buffers.
 @end defopt
 
 @defopt reftex-cache-cite-echo
@@ -5113,7 +5113,7 @@
 
 @defopt reftex-revisit-to-follow
 Non-@code{nil} means, follow-mode will revisit files if necessary.
-When nil, follow-mode will be suspended for stuff in unvisited files.
+When @code{nil}, follow-mode will be suspended for stuff in unvisited files.
 @end defopt
 
 @defopt reftex-allow-detached-macro-args
@@ -5177,11 +5177,11 @@
 
 @noindent @b{Version 4.24}
 @itemize @bullet
-@item 
+@item
 Inserting citation commands now prompts for optional arguments
 when called with a prefix argument.  Related new options are
 @code{reftex-cite-prompt-optional-args} and
-@code{reftex-cite-cleanup-optional-args}. 
+@code{reftex-cite-cleanup-optional-args}.
 @item
 New option @code{reftex-trust-label-prefix}.  Configure this variable
 if you'd like RefTeX to base its classification of labels on prefixes.
@@ -5189,7 +5189,7 @@
 quality of the context used by RefTeX to describe a label.
 @item
 Fixed bug in @code{reftex-create-bibtex-file} when @code{reftex-comment-citations}
-is non-nil.
+is non-@code{nil}.
 @item
 Fixed bugs in indexing: Case-sensitive search, quotes before and/or
 after words.  Disabbled indexing in comment lines.
@@ -5197,7 +5197,7 @@
 
 @noindent @b{Version 4.22}
 @itemize @bullet
-@item 
+@item
 New command @code{reftex-create-bibtex-file} to create a new database
 with all entries referenced in the current document.
 @item
@@ -5207,7 +5207,7 @@
 
 @noindent @b{Version 4.21}
 @itemize @bullet
-@item 
+@item
 Renaming labels from the toc buffer with key @kbd{M-%}.
 @end itemize
 
@@ -5423,7 +5423,7 @@
 document, all labels and associated context.  New keys @kbd{i}, @kbd{l},
 and @kbd{c}.  New options @code{reftex-toc-include-labels},
 @code{reftex-toc-include-context},
-@code{reftex-toc-include-file-boundaries}. 
+@code{reftex-toc-include-file-boundaries}.
 @end itemize
 
 @noindent @b{Version 3.41}
@@ -5536,7 +5536,7 @@
 @kbd{M-x reftex-reset-mode} now also removes the file with parsing
 info.
 @item
-Default of @code{reftex-revisit-to-follow} changed to nil.
+Default of @code{reftex-revisit-to-follow} changed to @code{nil}.
 @end itemize
 
 @noindent @b{Version 3.24}
--- a/man/ses.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/ses.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -638,7 +638,7 @@
 @item nil prints the same as "", but allows previous cell to spill over.
 @item '*skip* replaces nil when the previous cell actually does spill over;
 nothing is printed for it.
-@item '*error* indicates that the formula signalled an error instead of
+@item '*error* indicates that the formula signaled an error instead of
 producing a value: the print cell is filled with hash marks (#).
 @end itemize
 
--- a/man/smtpmail.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/smtpmail.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -298,7 +298,7 @@
 If you connect to the internet via a dialup connection, or for some
 other reason don't have permanent internet connection, sending mail
 will fail when you are not connected.  The SMTP library implements
-queued delivery, and the following variable control its behaviour.
+queued delivery, and the following variable control its behavior.
 
 @table @code
 @item smtpmail-queue-mail
@@ -345,7 +345,7 @@
   The variable @code{smtpmail-sendto-domain} makes the SMTP library
 add @samp{@@} and the specified value to recipients specified in the
 message when they are sent using the @code{RCPT TO} command.  Some
-configurations of sendmail requires this behaviour.  Don't bother to
+configurations of sendmail requires this behavior.  Don't bother to
 set this unless you have get an error like:
 
 @example
--- a/man/speedbar.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/speedbar.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -1175,11 +1175,11 @@
 Create a tag line with @var{exp-button-type} for the small expansion
 button.  This is the button that expands or contracts a node (if
 applicable), and @var{exp-button-char} the character in it (@samp{+},
-@samp{-}, @samp{?},
-etc).  @var{exp-button-function} is the function to call if it's clicked
-on.  Button types are @code{'bracket}, @code{'angle}, @code{'curly},
-@code{'expandtag}, @code{'statictag}, or nil.  @var{exp-button-data} is
-extra data attached to the text forming the expansion button.
+@samp{-}, @samp{?}, etc).  @var{exp-button-function} is the function
+to call if it's clicked on.  Button types are @code{bracket},
+@code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and
+@code{nil}.  @var{exp-button-data} is extra data attached to the text
+forming the expansion button.
 
 Next, @var{tag-button} is the text of the tag.
 @var{tag-button-function} is the function to call if clicked on, and
@@ -1221,15 +1221,15 @@
 @defvar speedbar-generic-list-group-expand-button-type
 This is the button type used for groups of tags, whether expanded
 or added in via a hierarchy method.  Two good values are
-@code{'curly} and @code{'expandtag}.  Curly is the default button, and
-@code{'expandtag} is useful if the groups also has a position.
+@code{curly} and @code{expandtag}.  Curly is the default button, and
+@code{expandtag} is useful if the groups also has a position.
 @end defvar
 
 @defvar speedbar-generic-list-tag-button-type
 This is the button type used for a single tag.
-Two good values are @code{nil} and @code{'statictag}.
-@code{nil} is the default, and @code{'statictag} has the same width as
-@code{'expandtag}.
+Two good values are @code{nil} and @code{statictag}.
+@code{nil} is the default, and @code{statictag} has the same width as
+@code{expandtag}.
 @end defvar
 
 @end defun
--- a/man/text.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/text.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -745,8 +745,8 @@
 automatically by setting the variable @code{adaptive-fill-function} to a
 function.  This function is called with point after the left margin of a
 line, and it should return the appropriate fill prefix based on that
-line.  If it returns @code{nil}, that means it sees no fill prefix in
-that line.
+line.  If it returns @code{nil}, @code{adaptive-fill-regexp} gets
+a chance to find a prefix.
 
 @node Longlines
 @subsection Long Lines Mode
--- a/man/tramp.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/tramp.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -99,7 +99,7 @@
 should read in @ref{Installation} how to create them.
 @end ifinfo
 @ifhtml
-If you're using the other Emacs flavour, you should read the
+If you're using the other Emacs flavor, you should read the
 @uref{@value{emacsotherfilename}, @value{emacsothername}} pages.
 @end ifhtml
 @end ifset
@@ -1211,7 +1211,8 @@
 
 SSH2 parsing of directories @file{/etc/ssh2/hostkeys/*} and
 @file{~/ssh2/hostkeys/*}.  Hosts are coded in file names
-@file{hostkey_PORTNUMBER_HOST-NAME.pub}.  User names are always nil.
+@file{hostkey_@var{portnumber}_@var{host-name}.pub}.  User names
+are always @code{nil}.
 
 @item @code{tramp-parse-sknownhosts}
 @findex tramp-parse-shostkeys
@@ -1219,7 +1220,7 @@
 Another SSH2 style parsing of directories like
 @file{/etc/ssh2/knownhosts/*} and @file{~/ssh2/knownhosts/*}.  This
 case, hosts names are coded in file names
-@file{HOST-NAME.ALGORITHM.pub}.  User names are always nil.
+@file{@var{host-name}.@var{algorithm}.pub}.  User names are always @code{nil}.
 
 @item @code{tramp-parse-hosts}
 @findex tramp-parse-hosts
@@ -1522,7 +1523,7 @@
 @ifset xemacs
 @code{bkup-backup-directory-info}
 @end ifset
-is nil (the default), such problems do not occur.
+is @code{nil} (the default), such problems do not occur.
 
 Therefore, it is usefull to set special values for @value{tramp}
 files.  For example, the following statement effectively `turns off'
@@ -1610,7 +1611,7 @@
 workaround is to manually set the variable to a sane value.
 
 If auto-saved files should go into the same directory as the original
-files, @code{auto-save-file-name-transforms} should be set to nil.
+files, @code{auto-save-file-name-transforms} should be set to @code{nil}.
 
 Another possibility is to set the variable
 @code{tramp-auto-save-directory} to a proper value.
@@ -2125,7 +2126,8 @@
 @end example
 
 
-@item @value{tramp} doesn't transfer strings with more than 500 characters
+@item
+@value{tramp} doesn't transfer strings with more than 500 characters
 correctly
 
 On some few systems, the implementation of @code{process-send-string}
@@ -2133,7 +2135,6 @@
 customize the variable @code{tramp-chunksize} to 500.  For a
 description how to determine whether this is necessary see the
 documentation of @code{tramp-chunksize}.
-
 @end itemize
 
 
--- a/man/url.texi	Wed Jun 15 23:37:29 2005 +0000
+++ b/man/url.texi	Fri Jun 24 01:59:52 2005 +0000
@@ -850,22 +850,22 @@
 The library provides a general gateway layer through which all
 networking passes.  It can both control access to the network and
 provide access through gateways in firewalls.  This may make direct
-connexions in some cases and pass through some sort of gateway in
+connections in some cases and pass through some sort of gateway in
 others.@footnote{Proxies (which only operate over HTTP) are
 implemented using this.}  The library's basic function responsible for
-making connexions is @code{url-open-stream}.
+making connections is @code{url-open-stream}.
 
 @defun url-open-stream name buffer host service
 @cindex opening a stream
 @cindex stream, opening
 Open a stream to @var{host}, possibly via a gateway.  The other
 arguments are as for @code{open-network-stream}.  This will not make a
-connexion if @code{url-gateway-unplugged} is non-@code{nil}.
+connection if @code{url-gateway-unplugged} is non-@code{nil}.
 @end defun
 
 @defvar url-gateway-local-host-regexp
 This is a regular expression that matches local hosts that do not
-require the use of a gateway.  If @code{nil}, all connexions are made
+require the use of a gateway.  If @code{nil}, all connections are made
 through the gateway.
 @end defvar
 
@@ -987,26 +987,26 @@
 @end defopt
 
 @menu
-* Suppressing network connexions::
+* Suppressing network connections::
 @end menu
 @c * Broken hostname resolution::
 
-@node Suppressing network connexions
-@subsection Suppressing Network Connexions
+@node Suppressing network connections
+@subsection Suppressing Network Connections
 
-@cindex network connexions, suppressing
-@cindex suppressing network connexions
+@cindex network connections, suppressing
+@cindex suppressing network connections
 @cindex bugs, HTML
 @cindex HTML `bugs'
 In some circumstances it is desirable to suppress making network
-connexions.  A typical case is when rendering HTML in a mail user
+connections.  A typical case is when rendering HTML in a mail user
 agent, when external URLs should not be activated, particularly to
 avoid `bugs' which `call home' by fetch single-pixel images and the
 like.  To arrange this, bind the following variable for the duration
 of such processing.
 
 @defvar url-gateway-unplugged
-If this variable is non-@code{nil} new network connexions are never
+If this variable is non-@code{nil} new network connections are never
 opened by the URL library.
 @end defvar
 
@@ -1152,7 +1152,7 @@
 @end defopt
 @defopt url-gateway-method
 @c fixme: describe gatewaying
-A symbol specifying the type of gateway support to use fro connexions
+A symbol specifying the type of gateway support to use for connections
 from the local machine.  The supported methods are:
 
 @table @code
--- a/nt/INSTALL	Wed Jun 15 23:37:29 2005 +0000
+++ b/nt/INSTALL	Fri Jun 24 01:59:52 2005 +0000
@@ -18,12 +18,9 @@
 
      cvs update -kb
 
-  (WARNING: Do NOT use this suggestion if you have write access to the
-  Emacs CVS tree and intend to commit changes to CVS.  This is because -kb
-  is sticky: it will be used in all future CVS operations on the files you
-  check out like this.)  Alternatively, use programs that convert
-  end-of-line format, such as dos2unix and unix2dos available from
-  GnuWin32 or dtou and utod from the DJGPP project.
+  Alternatively, use programs that convert end-of-line format, such as
+  dos2unix and unix2dos available from GnuWin32 or dtou and utod from
+  the DJGPP project.
 
   In addition to this file, you should also read INSTALL.CVS in the
   parent directory, and make sure that you have a version of
@@ -63,7 +60,7 @@
 
   and at this URL:
 
-  http://ourcomments.org/Emacs/EmacsW32.html
+  http://ourcomments.org/Emacs/w32-build-emacs.html
 
   For reference, here is a list of which builds of GNU make are known
   to work or not, and whether they work in the presence and/or absence
--- a/src/ChangeLog	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/ChangeLog	Fri Jun 24 01:59:52 2005 +0000
@@ -1,3 +1,111 @@
+2005-06-23  Richard M. Stallman  <rms@gnu.org>
+
+	* xdisp.c (get_next_display_element): Finish reversing the tests of
+	Vnobreak_char_display.
+
+	* xdisp.c (Vnobreak_char_display): Renamed from Vshow_nonbreak_escape.
+	All uses changed.
+	(Qnobreak_space): Renamed from Qno_break_space.  All uses changed.
+	(syms_of_xdisp): Define nobreak-char-display and nobreak-space.
+
+	* fileio.c (Frename_file): Preserve owner and group, if possible,
+	when copying.
+
+2005-06-23  Juanma Barranquero  <lekktu@gmail.com>
+
+	* abbrev.c (Funexpand_abbrev):
+	* category.c (Fmake_category_set):
+	* dispnew.c (Fsleep_for, Fsit_for):
+	* editfns.c (Fsubst_char_in_region):
+	* eval.c (Fdefvar, Fdefconst, Feval, Ffuncall):
+	* frame.c (make_frame_without_minibuffer):
+	* lread.c (read_vector):
+	* macfns.c (check_x_frame):
+	* process.c (Fstop_process, Fcontinue_process):
+	* search.c (Freplace_match):
+	* syntax.c (Fstring_to_syntax):
+	* w32fns.c (check_x_frame, check_x_display_info):
+	* xfaces.c (x_supports_face_attributes_p):
+	* xselect.c (Fx_own_selection_internal): Follow error conventions.
+
+	* image.c (fn_png_init_io): Don't define it.
+	(init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io.
+	(png_read_from_file): New function, based on png_read_from_memory.
+	(png_load): Use it, instead of fn_png_init_io.
+
+2005-06-23  Kim F. Storm  <storm@cua.dk>
+
+	* search.c (Fmatch_data): Remove evaporate option.
+	(Fset_match_data): Do not mention evaporate option in doc string.
+	Add commentary explaining evaporate arg (for internal use only).
+	(unwind_set_match_data): Add comment on evaporate use.
+
+2005-06-22  Miles Bader  <miles@gnu.org>
+
+	* xfaces.c (Qvertical_border): Renamed from `Qvertical_divider'.
+	(realize_basic_faces, syms_of_xfaces): Update references to it.
+	* dispextern.h (enum face_id): Rename `VERTICAL_DIVIDER_FACE_ID'
+	to `VERTICAL_BORDER_FACE_ID'.
+	* dispnew.c (build_frame_matrix_from_leaf_window): Update references.
+
+2005-06-21  Juri Linkov  <juri@jurta.org>
+
+	* dispextern.h: Add extern Qframe_set_background_mode.
+
+	* xfaces.c: Rename obsolete function Qframe_update_face_colors to
+	Qframe_set_background_mode.
+
+	* frame.c (Fmodify_frame_parameters):
+	Call frame-set-background-mode after changing the background color
+	on non-window non-dos branch.
+
+2005-06-21  Juanma Barranquero  <lekktu@gmail.com>
+
+	* fns.c (Fchar_table_range):
+	* process.c (Fmake_network_process): Fix spellings.
+
+2005-06-20  Kim F. Storm  <storm@cua.dk>
+
+	* fns.c (Fsort): Doc fix.
+
+2005-06-20  Miles Bader  <miles@gnu.org>
+
+	* xfaces.c (Qvertical_divider): New variable.
+	(realize_basic_faces): Realize its face.
+	(syms_of_xfaces): Initialize it.
+
+	* dispextern.h (enum face_id): Add `VERTICAL_DIVIDER_FACE_ID'.
+
+	* dispnew.c (build_frame_matrix_from_leaf_window): Display vertical
+	window-separator on ttys using `vertical-divider' face by default.
+
+2005-06-17  Richard M. Stallman  <rms@gnu.org>
+
+	* xdisp.c (get_next_display_element): Reverse
+	test of Vshow_nonbreak_escape.
+
+	* term.c (produce_special_glyphs): Use spec_glyph_lookup_face.
+	(Ftty_no_underline): New function.
+	(syms_of_term): defsubr it.
+
+	* keyboard.c (read_char): Call restore_getcjmp after jump occurs.
+
+	* dispnew.c (spec_glyph_lookup_face): New function.
+	(build_frame_matrix_from_leaf_window): Use it.
+
+	* dispextern.h (spec_glyph_lookup_face): Add declaration.
+
+	* buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
+
+2005-06-12  Richard M. Stallman  <rms@gnu.org>
+
+	* keyboard.c (read_char): After catching a longjmp,
+	call restore_getcjmp.
+
+2005-06-17  Juanma Barranquero  <lekktu@gmail.com>
+
+	* xselect.c (lisp_data_to_selection_data): Fix spelling.
+
 2005-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* macterm.c (mac_compute_glyph_string_overhangs): Don't set
@@ -101,7 +209,6 @@
 
 	* xdisp.c (note_mode_line_or_margin_highlight): Call clear_mouse_face
 	when mouse_face is not given.
-	Remove unnecessary tabs.
 
 2005-06-09  Luc Teirlinck  <teirllm@auburn.edu>
 
@@ -2734,7 +2841,7 @@
 
 	* xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
 
-	* xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
+	* xfaces.c (clear_font_table) [MAC_OS]: Call mac_unload_font.
 
 2004-12-27  Richard M. Stallman  <rms@gnu.org>
 
@@ -2773,7 +2880,7 @@
 	(xmenu_show): In no toolkit version, if menu returns NO_SELECT call
 	Fsignal to quit.
 
-	* xfns.c (Fx_file_dialog): Motif/Lesstif version:  Pop down on C-g.
+	* xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
 
 	* gtkutil.c (xg_initialize): Install bindings for C-g so that
 	dialogs and menus pop down.
@@ -3559,7 +3666,7 @@
 2004-11-12  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* xmenu.c (x_menu_wait_for_event): New function.
-	(popup_get_selection, popup_widget_loop):  Call x_menu_wait_for_event
+	(popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
 	to handle timers.
 	(popup_widget_loop): Add argument do_timers.
 	(create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
@@ -3937,7 +4044,7 @@
 
 2004-10-28  Will  <will@glozer.net>
 
-	* macterm.c: allow user to assign key modifiers to the Mac Option
+	* macterm.c: Allow user to assign key modifiers to the Mac Option
 	key via a 'mac-option-modifier' variable.
 
 2004-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
@@ -4794,7 +4901,7 @@
 
 	* keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
 
-	* keyboard.c (syms_of_keyboard) <disable-point-adjustment>:  Doc fix.
+	* keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
 
 	* callint.c (Fcall_interactively): Doc fix.
 
@@ -8121,7 +8228,7 @@
 	* fileio.c (Fread_file_name): Check use_file_dialog also before
 	calling Fx_file_dialog.
 
-	* fns.c: use_file_dialog: New variable.
+	* fns.c (use_file_dialog): New variable.
 	(syms_of_fns): DEFVAR_BOOL use-file-dialog.
 
 2003-11-29  Kim F. Storm  <storm@cua.dk>
@@ -11567,7 +11674,7 @@
 	for USE_GTK.
 	(x_scroll_bar_handle_click): Use this function for toolkit scrollbars
 	also.
-	(handle_one_xevent): ButtonPress/Release:  If event is for a toolkit
+	(handle_one_xevent): ButtonPress/Release: If event is for a toolkit
 	scrollbar and control is pressed, call x_scroll_bar_handle_click.
 
 	* gtkutil.h (xg_get_scroll_id_for_window): Declare.
--- a/src/abbrev.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/abbrev.c	Fri Jun 24 01:59:52 2005 +0000
@@ -448,7 +448,7 @@
 
       val = SYMBOL_VALUE (Vlast_abbrev);
       if (!STRINGP (val))
-	error ("value of abbrev-symbol must be a string");
+	error ("Value of `abbrev-symbol' must be a string");
       zv_before = ZV;
       del_range_byte (PT_BYTE, PT_BYTE + SBYTES (val), 1);
       /* Don't inherit properties here; just copy from old contents.  */
--- a/src/buffer.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/buffer.c	Fri Jun 24 01:59:52 2005 +0000
@@ -5950,8 +5950,8 @@
   hollow	 display a hollow box cursor
   bar		 display a vertical bar cursor with default width
   (bar . WIDTH)	 display a vertical bar cursor with width WIDTH
-  hbar		 display a horizontal bar cursor with default width
-  (hbar . WIDTH) display a horizontal bar cursor with width WIDTH
+  hbar		 display a horizontal bar cursor with default height
+  (hbar . HEIGHT) display a horizontal bar cursor with height HEIGHT
   ANYTHING ELSE	 display a hollow box cursor.
 
 When the buffer is displayed in a nonselected window,
--- a/src/category.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/category.c	Fri Jun 24 01:59:52 2005 +0000
@@ -71,7 +71,7 @@
   val = MAKE_CATEGORY_SET;
 
   if (STRING_MULTIBYTE (categories))
-    error ("Multibyte string in make-category-set");
+    error ("Multibyte string in `make-category-set'");
 
   len = SCHARS (categories);
   while (--len >= 0)
--- a/src/dispextern.h	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/dispextern.h	Fri Jun 24 01:59:52 2005 +0000
@@ -366,7 +366,8 @@
 
 #define FACE_ID_BITS	21
 
-  /* Face of the glyph.  */
+  /* Face of the glyph.  This is a realized face ID,
+     an index in the face cache of the frame.  */
   unsigned face_id : FACE_ID_BITS;
 
   /* Type of font used to display the character glyph.  May be used to
@@ -1585,6 +1586,7 @@
   CURSOR_FACE_ID,
   MOUSE_FACE_ID,
   MENU_FACE_ID,
+  VERTICAL_BORDER_FACE_ID,
   BASIC_FACE_ID_SENTINEL
 };
 
@@ -2792,6 +2794,7 @@
 void free_all_realized_faces P_ ((Lisp_Object));
 void free_realized_face P_ ((struct frame *, struct face *));
 extern Lisp_Object Qforeground_color, Qbackground_color;
+extern Lisp_Object Qframe_set_background_mode;
 extern char unspecified_fg[], unspecified_bg[];
 extern Lisp_Object split_font_name_into_vector P_ ((Lisp_Object));
 extern Lisp_Object build_font_name_from_vector P_ ((Lisp_Object));
@@ -2912,6 +2915,7 @@
 void init_display P_ ((void));
 void syms_of_display P_ ((void));
 extern Lisp_Object Qredisplay_dont_pause;
+GLYPH spec_glyph_lookup_face P_ ((struct window *, GLYPH));
 
 /* Defined in term.c */
 
--- a/src/dispnew.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/dispnew.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2705,9 +2705,15 @@
       if (!WINDOW_RIGHTMOST_P (w))
 	{
 	  struct Lisp_Char_Table *dp = window_display_table (w);
-	  right_border_glyph = (dp && INTEGERP (DISP_BORDER_GLYPH (dp))
-				? XINT (DISP_BORDER_GLYPH (dp))
-				: '|');
+
+	  right_border_glyph
+	    = ((dp && INTEGERP (DISP_BORDER_GLYPH (dp)))
+	       ? spec_glyph_lookup_face (w, XINT (DISP_BORDER_GLYPH (dp)))
+	       : '|');
+
+	  if (FAST_GLYPH_FACE (right_border_glyph) <= 0)
+	    right_border_glyph
+	      = FAST_MAKE_GLYPH (right_border_glyph, VERTICAL_BORDER_FACE_ID);
 	}
     }
   else
@@ -2788,6 +2794,27 @@
     }
 }
 
+/* Given a user-specified glyph, possibly including a Lisp-level face
+   ID, return a glyph that has a realized face ID.
+   This is used for glyphs displayed specially and not part of the text;
+   for instance, vertical separators, truncation markers, etc.  */
+
+GLYPH
+spec_glyph_lookup_face (w, glyph)
+     struct window *w;
+     GLYPH glyph;
+{
+  int lface_id = FAST_GLYPH_FACE (glyph);
+  /* Convert the glyph's specified face to a realized (cache) face.  */
+  if (lface_id > 0)
+    {
+      int face_id = merge_faces (XFRAME (w->frame),
+				 Qt, lface_id, DEFAULT_FACE_ID);
+      glyph
+	= FAST_MAKE_GLYPH (FAST_GLYPH_CHAR (glyph), face_id);
+    }
+  return glyph;
+}
 
 /* Add spaces to a glyph row ROW in a window matrix.
 
@@ -6307,7 +6334,7 @@
 
 #ifndef EMACS_HAS_USECS
   if (sec == 0 && usec != 0)
-    error ("millisecond `sleep-for' not supported on %s", SYSTEM_TYPE);
+    error ("Millisecond `sleep-for' not supported on %s", SYSTEM_TYPE);
 #endif
 
   /* Assure that 0 <= usec < 1000000.  */
@@ -6407,7 +6434,7 @@
 
 #ifndef EMACS_HAS_USECS
   if (usec != 0 && sec == 0)
-    error ("millisecond `sit-for' not supported on %s", SYSTEM_TYPE);
+    error ("Millisecond `sit-for' not supported on %s", SYSTEM_TYPE);
 #endif
 
   return sit_for (sec, usec, 0, NILP (nodisp), NILP (nodisp));
--- a/src/editfns.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/editfns.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2681,7 +2681,7 @@
     {
       len = CHAR_STRING (XFASTINT (fromchar), fromstr);
       if (CHAR_STRING (XFASTINT (tochar), tostr) != len)
-	error ("Characters in subst-char-in-region have different byte-lengths");
+	error ("Characters in `subst-char-in-region' have different byte-lengths");
       if (!ASCII_BYTE_P (*tostr))
 	{
 	  /* If *TOSTR is in the range 0x80..0x9F and TOCHAR is not a
--- a/src/eval.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/eval.c	Fri Jun 24 01:59:52 2005 +0000
@@ -785,7 +785,7 @@
   sym = Fcar (args);
   tail = Fcdr (args);
   if (!NILP (Fcdr (Fcdr (tail))))
-    error ("too many arguments");
+    error ("Too many arguments");
 
   tem = Fdefault_boundp (sym);
   if (!NILP (tail))
@@ -845,7 +845,7 @@
 
   sym = Fcar (args);
   if (!NILP (Fcdr (Fcdr (Fcdr (args)))))
-    error ("too many arguments");
+    error ("Too many arguments");
 
   tem = Feval (Fcar (Fcdr (args)));
   if (!NILP (Vpurify_flag))
@@ -2037,7 +2037,7 @@
       if (max_lisp_eval_depth < 100)
 	max_lisp_eval_depth = 100;
       if (lisp_eval_depth > max_lisp_eval_depth)
-	error ("Lisp nesting exceeds max-lisp-eval-depth");
+	error ("Lisp nesting exceeds `max-lisp-eval-depth'");
     }
 
   original_fun = Fcar (form);
@@ -2733,7 +2733,7 @@
       if (max_lisp_eval_depth < 100)
 	max_lisp_eval_depth = 100;
       if (lisp_eval_depth > max_lisp_eval_depth)
-	error ("Lisp nesting exceeds max-lisp-eval-depth");
+	error ("Lisp nesting exceeds `max-lisp-eval-depth'");
     }
 
   backtrace.next = backtrace_list;
--- a/src/fileio.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/fileio.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2780,6 +2780,7 @@
     {
       if (errno == EXDEV)
 	{
+	  struct stat data;
 #ifdef S_IFLNK
           symlink_target = Ffile_symlink_p (file);
           if (! NILP (symlink_target))
@@ -2792,6 +2793,11 @@
                            so don't have copy-file prompt again.  */
                         NILP (ok_if_already_exists) ? Qnil : Qt,
 			Qt, Qnil);
+
+	  /* Preserve owner and group, if possible (if we are root).  */
+	  if (stat (SDATA (encoded_file), &data) >= 0)
+	    chown (SDATA (encoded_file), data.st_uid, data.st_gid);
+
 	  Fdelete_file (file);
 	}
       else
--- a/src/fns.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/fns.c	Fri Jun 24 01:59:52 2005 +0000
@@ -1811,7 +1811,7 @@
 DEFUN ("sort", Fsort, Ssort, 2, 2, 0,
        doc: /* Sort LIST, stably, comparing elements using PREDICATE.
 Returns the sorted list.  LIST is modified by side effects.
-PREDICATE is called with two elements of LIST, and should return t
+PREDICATE is called with two elements of LIST, and should return non-nil
 if the first element is "less" than the second.  */)
      (list, predicate)
      Lisp_Object list, predicate;
--- a/src/frame.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/frame.c	Fri Jun 24 01:59:52 2005 +0000
@@ -399,7 +399,7 @@
 #ifdef MULTI_KBOARD
   if (!NILP (mini_window)
       && XFRAME (XWINDOW (mini_window)->frame)->kboard != kb)
-    error ("frame and minibuffer must be on the same display");
+    error ("Frame and minibuffer must be on the same display");
 #endif
 
   /* Make a frame containing just a root window.  */
@@ -2313,6 +2313,12 @@
 	  prop = parms[i];
 	  val = values[i];
 	  store_frame_param (f, prop, val);
+
+	  /* Changing the background color might change the background
+	     mode, so that we have to load new defface specs.
+	     Call frame-set-background-mode to do that.  */
+	  if (EQ (prop, Qbackground_color))
+	    call1 (Qframe_set_background_mode, frame);
 	}
     }
 
@@ -3368,7 +3374,7 @@
 extern Display_Info *check_x_display_info P_ ((Lisp_Object));
 
 
-/* Get specified attribute from resource database RDB.  
+/* Get specified attribute from resource database RDB.
    See Fx_get_resource below for other parameters.  */
 
 static Lisp_Object
@@ -3505,7 +3511,7 @@
 
 Lisp_Object
 x_get_arg (dpyinfo, alist, param, attribute, class, type)
-     Display_Info *dpyinfo; 
+     Display_Info *dpyinfo;
      Lisp_Object alist, param;
      char *attribute;
      char *class;
--- a/src/image.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/image.c	Fri Jun 24 01:59:52 2005 +0000
@@ -5631,7 +5631,6 @@
 DEF_IMGLIB_FN (png_create_info_struct);
 DEF_IMGLIB_FN (png_destroy_read_struct);
 DEF_IMGLIB_FN (png_set_read_fn);
-DEF_IMGLIB_FN (png_init_io);
 DEF_IMGLIB_FN (png_set_sig_bytes);
 DEF_IMGLIB_FN (png_read_info);
 DEF_IMGLIB_FN (png_get_IHDR);
@@ -5663,7 +5662,6 @@
   LOAD_IMGLIB_FN (library, png_create_info_struct);
   LOAD_IMGLIB_FN (library, png_destroy_read_struct);
   LOAD_IMGLIB_FN (library, png_set_read_fn);
-  LOAD_IMGLIB_FN (library, png_init_io);
   LOAD_IMGLIB_FN (library, png_set_sig_bytes);
   LOAD_IMGLIB_FN (library, png_read_info);
   LOAD_IMGLIB_FN (library, png_get_IHDR);
@@ -5689,7 +5687,6 @@
 #define fn_png_create_info_struct	png_create_info_struct
 #define fn_png_destroy_read_struct	png_destroy_read_struct
 #define fn_png_set_read_fn		png_set_read_fn
-#define fn_png_init_io			png_init_io
 #define fn_png_set_sig_bytes		png_set_sig_bytes
 #define fn_png_read_info		png_read_info
 #define fn_png_get_IHDR			png_get_IHDR
@@ -5762,6 +5759,23 @@
 }
 
 
+/* Function set as reader function when reading PNG image from a file.
+   PNG_PTR is a pointer to the PNG control structure.  Copy LENGTH
+   bytes from the input to DATA.  */
+
+static void
+png_read_from_file (png_ptr, data, length)
+     png_structp png_ptr;
+     png_bytep data;
+     png_size_t length;
+{
+  FILE *fp = (FILE *) fn_png_get_io_ptr (png_ptr);
+
+  if (fread (data, 1, length, fp) < length)
+    fn_png_error (png_ptr, "Read error");
+}
+
+
 /* Load PNG image IMG for use on frame F.  Value is non-zero if
    successful.  */
 
@@ -5895,7 +5909,7 @@
   if (!NILP (specified_data))
     fn_png_set_read_fn (png_ptr, (void *) &tbr, png_read_from_memory);
   else
-    fn_png_init_io (png_ptr, fp);
+    fn_png_set_read_fn (png_ptr, (void *) fp, png_read_from_file);
 
   fn_png_set_sig_bytes (png_ptr, sizeof sig);
   fn_png_read_info (png_ptr, info_ptr);
--- a/src/keyboard.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/keyboard.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2616,6 +2616,9 @@
 
   if (_setjmp (local_getcjmp))
     {
+      /* We must have saved the outer value of getcjmp here,
+	 so restore it now.  */
+      restore_getcjmp (save_jump);
       XSETINT (c, quit_char);
       internal_last_event_frame = selected_frame;
       Vlast_event_frame = internal_last_event_frame;
--- a/src/lread.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/lread.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2965,7 +2965,7 @@
 	  if (i == COMPILED_BYTECODE)
 	    {
 	      if (!STRINGP (item))
-		error ("invalid byte code");
+		error ("Invalid byte code");
 
 	      /* Delay handling the bytecode slot until we know whether
 		 it is lazily-loaded (we can tell by whether the
@@ -2987,7 +2987,7 @@
 
 		  item = Fread (Fcons (bytestr, readcharfun));
 		  if (!CONSP (item))
-		    error ("invalid byte code");
+		    error ("Invalid byte code");
 
 		  otem = XCONS (item);
 		  bytestr = XCAR (item);
--- a/src/macfns.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/macfns.c	Fri Jun 24 01:59:52 2005 +0000
@@ -208,7 +208,7 @@
   CHECK_LIVE_FRAME (frame);
   f = XFRAME (frame);
   if (! FRAME_MAC_P (f))
-    error ("non-mac frame used");
+    error ("Non-Mac frame used");
   return f;
 }
 
@@ -4241,7 +4241,7 @@
     NavTypeListHandle fileTypes = NULL;
     NavUserAction userAction;
     CFStringRef message=NULL, saveName = NULL;
-    
+
     BLOCK_INPUT;
     /* No need for a callback function because we are modal */
     NavGetDefaultDialogCreationOptions(&options);
@@ -4265,8 +4265,8 @@
     if (!NILP (only_dir_p))
       status = NavCreateChooseFolderDialog(&options, mac_nav_event_callbackUPP,
 					   NULL, NULL, &dialogRef);
-    else if (NILP (mustmatch)) 
-      { 
+    else if (NILP (mustmatch))
+      {
 	/* This is a save dialog */
 	options.optionFlags |= kNavDontConfirmReplacement;
 	options.actionButtonLabel = CFSTR ("Ok");
@@ -4283,7 +4283,7 @@
 	    options.saveFileName = saveName;
 	    options.optionFlags |= kNavSelectDefaultLocation;
 	  }
-	  status = NavCreatePutFileDialog(&options, 
+	  status = NavCreatePutFileDialog(&options,
 					  'TEXT', kNavGenericSignature,
 					  mac_nav_event_callbackUPP, NULL,
 					  &dialogRef);
@@ -4295,7 +4295,7 @@
 					   mac_nav_event_callbackUPP, NULL,
 					   NULL, NULL, &dialogRef);
       }
-    
+
     /* Set the default location and continue*/
     if (status == noErr)
       {
@@ -4307,7 +4307,7 @@
 	FSSpec defLoc;
 	status = posix_pathname_to_fsspec (SDATA (ENCODE_FILE (dir)), &defLoc);
 #endif
-	if (status == noErr) 
+	if (status == noErr)
 	  {
 #ifdef MAC_OSX
 	    AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed);
@@ -4359,7 +4359,7 @@
 		int len = strlen(filename);
 		if (len && filename[len-1] != '/')
 		  filename[len++] = '/';
-		CFStringGetCString(reply.saveFileName, filename+len, 
+		CFStringGetCString(reply.saveFileName, filename+len,
 				   sizeof (filename) - len,
 #if MAC_OSX
 				   kCFStringEncodingUTF8
@@ -4387,11 +4387,11 @@
   }
 
   UNGCPRO;
-  
+
   /* Make "Cancel" equivalent to C-g.  */
   if (NILP (file))
     Fsignal (Qquit, Qnil);
-  
+
   return unbind_to (count, file);
 }
 
--- a/src/process.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/process.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2553,7 +2553,7 @@
 In Emacs, network connections are represented by process objects, so
 input and output work as for subprocesses and `delete-process' closes
 a network connection.  However, a network process has no process id,
-it cannot be signalled, and the status codes are different from normal
+it cannot be signaled, and the status codes are different from normal
 processes.
 
 Arguments are specified as keyword/argument pairs.  The following
@@ -5833,7 +5833,7 @@
     }
 #endif
 #ifndef SIGTSTP
-  error ("no SIGTSTP support");
+  error ("No SIGTSTP support");
 #else
   process_send_signal (process, SIGTSTP, current_group, 0);
 #endif
@@ -5867,7 +5867,7 @@
 #ifdef SIGCONT
     process_send_signal (process, SIGCONT, current_group, 0);
 #else
-    error ("no SIGCONT support");
+    error ("No SIGCONT support");
 #endif
   return process;
 }
--- a/src/search.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/search.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2261,7 +2261,7 @@
 				/* but some C compilers blew it */
 
   if (search_regs.num_regs <= 0)
-    error ("replace-match called before any match found");
+    error ("`replace-match' called before any match found");
 
   if (NILP (subexp))
     sub = 0;
@@ -2720,9 +2720,6 @@
 If optional third arg RESEAT is non-nil, any previous markers on the
 REUSE list will be modified to point to nowhere.
 
-If RESEAT is `evaporate', put markers back on the free list.
-Note: No other references to the markers must exist if you use this.
-
 Return value is undefined if the last search failed.  */)
   (integers, reuse, reseat)
      Lisp_Object integers, reuse, reseat;
@@ -2735,10 +2732,7 @@
     for (tail = reuse; CONSP (tail); tail = XCDR (tail))
       if (MARKERP (XCAR (tail)))
 	{
-	  if (EQ (reseat, Qevaporate))
-	    free_marker (XCAR (tail));
-	  else
-	    unchain_marker (XMARKER (XCAR (tail)));
+	  unchain_marker (XMARKER (XCAR (tail)));
 	  XSETCAR (tail, Qnil);
 	}
 
@@ -2813,14 +2807,17 @@
   return reuse;
 }
 
+/* Internal usage only:
+   If RESEAT is `evaporate', put the markers back on the free list
+   immediately.  No other references to the markers must exist in this case,
+   so it is used only internally on the unwind stack and save-match-data from
+   Lisp.  */
 
 DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0,
        doc: /* Set internal data on last search match from elements of LIST.
 LIST should have been created by calling `match-data' previously.
 
-If optional arg RESEAT is non-nil, make markers on LIST point nowhere.
-If RESEAT is `evaporate', put the markers back on the free list.
-Note: No other references to the markers must exist if you use this.  */)
+If optional arg RESEAT is non-nil, make markers on LIST point nowhere.  */)
     (list, reseat)
      register Lisp_Object list, reseat;
 {
@@ -2988,6 +2985,7 @@
 unwind_set_match_data (list)
      Lisp_Object list;
 {
+  /* It is safe to free (evaporate) the markers immediately.  */
   return Fset_match_data (list, Qevaporate);
 }
 
--- a/src/syntax.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/syntax.c	Fri Jun 24 01:59:52 2005 +0000
@@ -901,7 +901,7 @@
   p = SDATA (string);
   code = (enum syntaxcode) syntax_spec_code[*p++];
   if (((int) code & 0377) == 0377)
-    error ("invalid syntax description letter: %c", p[-1]);
+    error ("Invalid syntax description letter: %c", p[-1]);
 
   if (code == Sinherit)
     return Qnil;
--- a/src/term.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/term.c	Fri Jun 24 01:59:52 2005 +0000
@@ -1875,6 +1875,7 @@
      enum display_element_type what;
 {
   struct it temp_it;
+  GLYPH glyph;
 
   temp_it = *it;
   temp_it.dp = NULL;
@@ -1890,15 +1891,11 @@
 	  && INTEGERP (DISP_CONTINUE_GLYPH (it->dp))
 	  && GLYPH_CHAR_VALID_P (XINT (DISP_CONTINUE_GLYPH (it->dp))))
 	{
-	  temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_CONTINUE_GLYPH (it->dp)));
-	  temp_it.len = CHAR_BYTES (temp_it.c);
+	  glyph = XINT (DISP_CONTINUE_GLYPH (it->dp));
+	  glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
 	}
       else
-	temp_it.c = '\\';
-
-      produce_glyphs (&temp_it);
-      it->pixel_width = temp_it.pixel_width;
-      it->nglyphs = temp_it.pixel_width;
+	glyph = '\\';
     }
   else if (what == IT_TRUNCATION)
     {
@@ -1907,18 +1904,22 @@
 	  && INTEGERP (DISP_TRUNC_GLYPH (it->dp))
 	  && GLYPH_CHAR_VALID_P (XINT (DISP_TRUNC_GLYPH (it->dp))))
 	{
-	  temp_it.c = FAST_GLYPH_CHAR (XINT (DISP_TRUNC_GLYPH (it->dp)));
-	  temp_it.len = CHAR_BYTES (temp_it.c);
+	  glyph = XINT (DISP_TRUNC_GLYPH (it->dp));
+	  glyph = spec_glyph_lookup_face (XWINDOW (it->window), glyph);
 	}
       else
-	temp_it.c = '$';
-
-      produce_glyphs (&temp_it);
-      it->pixel_width = temp_it.pixel_width;
-      it->nglyphs = temp_it.pixel_width;
+	glyph = '$';
     }
   else
     abort ();
+
+  temp_it.c = FAST_GLYPH_CHAR (glyph);
+  temp_it.face_id = FAST_GLYPH_FACE (glyph);
+  temp_it.len = CHAR_BYTES (temp_it.c);
+
+  produce_glyphs (&temp_it);
+  it->pixel_width = temp_it.pixel_width;
+  it->nglyphs = temp_it.pixel_width;
 }
 
 
@@ -1937,7 +1938,8 @@
       ? (TN_no_color_video & (ATTR)) == 0	\
       : 1)
 
-/* Turn appearances of face FACE_ID on tty frame F on.  */
+/* Turn appearances of face FACE_ID on tty frame F on.
+   FACE_ID is a realized face ID number, in the face cache.  */
 
 static void
 turn_on_face (f, face_id)
@@ -2704,6 +2706,16 @@
   exit (1);
 }
 
+DEFUN ("tty-no-underline", Ftty_no_underline, Stty_no_underline, 0, 0, 0,
+       doc: /* Declare that this terminal does not handle underlining.
+This is used to override the terminfo data, for certain terminals that
+do not really do underlining, but say that they do.  */)
+  ()
+{
+  TS_enter_underline_mode = 0;
+  return Qnil;
+}
+
 void
 syms_of_term ()
 {
@@ -2723,6 +2735,7 @@
 
   defsubr (&Stty_display_color_p);
   defsubr (&Stty_display_color_cells);
+  defsubr (&Stty_no_underline);
 }
 
 /* arch-tag: 498e7449-6f2e-45e2-91dd-b7d4ca488193
--- a/src/w32fns.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/w32fns.c	Fri Jun 24 01:59:52 2005 +0000
@@ -330,7 +330,7 @@
   CHECK_LIVE_FRAME (frame);
   f = XFRAME (frame);
   if (! FRAME_W32_P (f))
-    error ("non-w32 frame used");
+    error ("Non-W32 frame used");
   return f;
 }
 
@@ -360,7 +360,7 @@
       CHECK_LIVE_FRAME (frame);
       f = XFRAME (frame);
       if (! FRAME_W32_P (f))
-	error ("non-w32 frame used");
+	error ("Non-W32 frame used");
       return FRAME_W32_DISPLAY_INFO (f);
     }
 }
@@ -7833,7 +7833,7 @@
   DWORD FlagsEx;
 } NEWOPENFILENAME;
 
-    
+
 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 5, 0,
        doc: /* Read file name, prompting with PROMPT in directory DIR.
 Use a file selection dialog.
@@ -7885,7 +7885,7 @@
     NEWOPENFILENAME new_file_details;
     BOOL file_opened = FALSE;
     OPENFILENAME * file_details = &new_file_details.real_details;
-  
+
     /* Prevent redisplay.  */
     specbind (Qinhibit_redisplay, Qt);
     BLOCK_INPUT;
--- a/src/window.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/window.c	Fri Jun 24 01:59:52 2005 +0000
@@ -4180,7 +4180,7 @@
 
 	     The number of children n equals the number of resizable
 	     children of this window + 1 because we know window itself
-	     is resizable (otherwise we would have signalled an error.  */
+	     is resizable (otherwise we would have signalled an error).  */
 
 	  struct window *w = XWINDOW (window);
 	  Lisp_Object s;
--- a/src/xdisp.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/xdisp.c	Fri Jun 24 01:59:52 2005 +0000
@@ -321,7 +321,7 @@
 
 /* Non-nil means escape non-break space and hyphens.  */
 
-Lisp_Object Vshow_nonbreak_escape;
+Lisp_Object Vnobreak_char_display;
 
 #ifdef HAVE_WINDOW_SYSTEM
 extern Lisp_Object Voverflow_newline_into_fringe;
@@ -353,7 +353,7 @@
 
 /* Name and number of the face used to highlight non-breaking spaces.  */
 
-Lisp_Object Qno_break_space;
+Lisp_Object Qnobreak_space;
 
 /* The symbol `image' which is the car of the lists used to represent
    images in Lisp.  */
@@ -5190,7 +5190,7 @@
 		       || (it->c != '\n' && it->c != '\t'))
 		    : (it->multibyte_p
 		       ? (!CHAR_PRINTABLE_P (it->c)
-			  || (!NILP (Vshow_nonbreak_escape)
+			  || (!NILP (Vnobreak_char_display)
 			      && (it->c == 0xA0 /* NO-BREAK SPACE */
 				  || it->c == 0xAD /* SOFT HYPHEN */)))
 		       : (it->c >= 127
@@ -5243,11 +5243,11 @@
 	      /* Handle non-break space in the mode where it only gets
 		 highlighting.  */
 
-	      if (! EQ (Vshow_nonbreak_escape, Qt)
+	      if (EQ (Vnobreak_char_display, Qt)
 		  && it->c == 0xA0)
 		{
 		  /* Merge the no-break-space face into the current face.  */
-		  face_id = merge_faces (it->f, Qno_break_space, 0,
+		  face_id = merge_faces (it->f, Qnobreak_space, 0,
 					 it->face_id);
 
 		  g = it->c = ' ';
@@ -5286,7 +5286,7 @@
 	      /* Handle soft hyphens in the mode where they only get
 		 highlighting.  */
 
-	      if (! EQ (Vshow_nonbreak_escape, Qt)
+	      if (EQ (Vnobreak_char_display, Qt)
 		  && it->c == 0xAD)
 		{
 		  g = it->c = '-';
@@ -22917,8 +22917,8 @@
   staticpro (&Qtrailing_whitespace);
   Qescape_glyph = intern ("escape-glyph");
   staticpro (&Qescape_glyph);
-  Qno_break_space = intern ("no-break-space");
-  staticpro (&Qno_break_space);
+  Qnobreak_space = intern ("nobreak-space");
+  staticpro (&Qnobreak_space);
   Qimage = intern ("image");
   staticpro (&Qimage);
   QCmap = intern (":map");
@@ -23024,13 +23024,14 @@
 The face used for trailing whitespace is `trailing-whitespace'.  */);
   Vshow_trailing_whitespace = Qnil;
 
-  DEFVAR_LISP ("show-nonbreak-escape", &Vshow_nonbreak_escape,
-    doc: /* *Control highlighting of non-break space and soft hyphen.
-t means highlight the character itself (for non-break space,
-use face `non-break-space'.
+  DEFVAR_LISP ("nobreak-char-display", &Vnobreak_char_display,
+    doc: /* *Control highlighting of nobreak space and soft hyphen.
+t means highlight the character itself (for nobreak space,
+use face `nobreak-space'.
 nil means no highlighting.
-other values mean display the escape glyph before the character.  */);
-  Vshow_nonbreak_escape = Qt;
+other values mean display the escape glyph followed by an ordinary
+space or ordinary hyphen.  */);
+  Vnobreak_char_display = Qt;
 
   DEFVAR_LISP ("void-text-area-pointer", &Vvoid_text_area_pointer,
     doc: /* *The pointer shape to show in void text areas.
--- a/src/xfaces.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/xfaces.c	Fri Jun 24 01:59:52 2005 +0000
@@ -320,15 +320,15 @@
 char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg";
 
 /* The name of the function to call when the background of the frame
-   has changed, frame_update_face_colors.  */
-
-Lisp_Object Qframe_update_face_colors;
+   has changed, frame_set_background_mode.  */
+
+Lisp_Object Qframe_set_background_mode;
 
 /* Names of basic faces.  */
 
 Lisp_Object Qdefault, Qtool_bar, Qregion, Qfringe;
 Lisp_Object Qheader_line, Qscroll_bar, Qcursor, Qborder, Qmouse, Qmenu;
-Lisp_Object Qmode_line_inactive;
+Lisp_Object Qmode_line_inactive, Qvertical_border;
 extern Lisp_Object Qmode_line;
 
 /* The symbol `face-alias'.  A symbols having that property is an
@@ -4596,10 +4596,10 @@
       Lisp_Object frame;
 
       /* Changing the background color might change the background
-	 mode, so that we have to load new defface specs.  Call
-	 frame-update-face-colors to do that.  */
+	 mode, so that we have to load new defface specs.
+	 Call frame-set-background-mode to do that.  */
       XSETFRAME (frame, f);
-      call1 (Qframe_update_face_colors, frame);
+      call1 (Qframe_set_background_mode, frame);
 
       face = Qdefault;
       lface = lface_from_face_name (f, face, 1);
@@ -6061,7 +6061,7 @@
       face = FACE_FROM_ID (f, face_id);
 
       if (! face)
-	error ("cannot make face");
+	error ("Cannot make face");
 
       /* If the font is the same, then not supported.  */
       if (face->font == def_face->font)
@@ -7075,6 +7075,7 @@
       realize_named_face (f, Qcursor, CURSOR_FACE_ID);
       realize_named_face (f, Qmouse, MOUSE_FACE_ID);
       realize_named_face (f, Qmenu, MENU_FACE_ID);
+      realize_named_face (f, Qvertical_border, VERTICAL_BORDER_FACE_ID);
 
       /* Reflect changes in the `menu' face in menu bars.  */
       if (FRAME_FACE_CACHE (f)->menu_face_changed_p)
@@ -8090,8 +8091,8 @@
   staticpro (&Qface_no_inherit);
   Qbitmap_spec_p = intern ("bitmap-spec-p");
   staticpro (&Qbitmap_spec_p);
-  Qframe_update_face_colors = intern ("frame-update-face-colors");
-  staticpro (&Qframe_update_face_colors);
+  Qframe_set_background_mode = intern ("frame-set-background-mode");
+  staticpro (&Qframe_set_background_mode);
 
   /* Lisp face attribute keywords.  */
   QCfamily = intern (":family");
@@ -8217,6 +8218,8 @@
   staticpro (&Qmouse);
   Qmode_line_inactive = intern ("mode-line-inactive");
   staticpro (&Qmode_line_inactive);
+  Qvertical_border = intern ("vertical-border");
+  staticpro (&Qvertical_border);
   Qtty_color_desc = intern ("tty-color-desc");
   staticpro (&Qtty_color_desc);
   Qtty_color_standard_values = intern ("tty-color-standard-values");
--- a/src/xselect.c	Wed Jun 15 23:37:29 2005 +0000
+++ b/src/xselect.c	Fri Jun 24 01:59:52 2005 +0000
@@ -2031,7 +2031,7 @@
 
           /* Use sizeof(long) even if it is more than 32 bits.  See comment
              in x_get_window_property and x_fill_property_data.  */
-          
+
           if (*format_ret == 32) data_size = sizeof(long);
 	  *data_ret = (unsigned char *) xmalloc (*size_ret * data_size);
 	  for (i = 0; i < *size_ret; i++)
@@ -2045,7 +2045,7 @@
     }
   else
     Fsignal (Qerror, /* Qselection_error */
-	     Fcons (build_string ("unrecognised selection data"),
+	     Fcons (build_string ("unrecognized selection data"),
 		    Fcons (obj, Qnil)));
 
   *type_ret = symbol_to_x_atom (dpyinfo, display, type);
@@ -2119,7 +2119,7 @@
 {
   check_x ();
   CHECK_SYMBOL (selection_name);
-  if (NILP (selection_value)) error ("selection-value may not be nil");
+  if (NILP (selection_value)) error ("SELECTION-VALUE may not be nil");
   x_own_selection (selection_name, selection_value);
   return selection_value;
 }
@@ -2832,7 +2832,7 @@
      when sending to the root window.  */
   event.xclient.window = to_root ? FRAME_OUTER_WINDOW (f) : wdest;
 
-  
+
   memset (event.xclient.data.b, 0, sizeof (event.xclient.data.b));
   x_fill_property_data (dpyinfo->display, values, event.xclient.data.b,
                         event.xclient.format);