changeset 82365:e5a68f18fcb9

Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-851
author Miles Bader <miles@gnu.org>
date Mon, 13 Aug 2007 13:41:28 +0000
parents 0c34fdde692c (current diff) c8072938bf22 (diff)
children 30d1e922e79c 5b644ae74c91 424b655804ca
files admin/FOR-RELEASE etc/ChangeLog etc/NEWS.22 etc/TODO lib-src/etags.c lisp/ChangeLog lisp/autorevert.el lisp/bindings.el lisp/calendar/calendar.el lisp/custom.el lisp/diff-mode.el lisp/diff.el lisp/dired-aux.el lisp/dired.el lisp/emacs-lisp/byte-opt.el lisp/emacs-lisp/checkdoc.el lisp/emacs-lisp/easymenu.el lisp/emacs-lisp/rx.el lisp/emulation/tpu-edt.el lisp/erc/ChangeLog lisp/files.el lisp/font-lock.el lisp/frame.el lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-ems.el lisp/gnus/nntp.el lisp/image.el lisp/international/quail.el lisp/isearch.el lisp/log-edit.el lisp/log-view.el lisp/mh-e/ChangeLog lisp/net/trampver.el lisp/pcvs.el lisp/progmodes/compile.el lisp/progmodes/flymake.el lisp/progmodes/fortran.el lisp/progmodes/gdb-ui.el lisp/progmodes/gud.el lisp/progmodes/hideshow.el lisp/progmodes/python.el lisp/progmodes/which-func.el lisp/simple.el lisp/subr.el lisp/t-mouse.el lisp/term.el lisp/textmodes/nroff-mode.el lisp/textmodes/sgml-mode.el lisp/url/ChangeLog lisp/url/url-auth.el lisp/vc-bzr.el lisp/vc-hooks.el lisp/vc-rcs.el lisp/vc.el lisp/wid-edit.el lisp/window.el lisp/xt-mouse.el lispref/ChangeLog man/ChangeLog man/gnus.texi src/ChangeLog src/casetab.c src/editfns.c src/eval.c src/fileio.c src/fontset.c src/keyboard.c src/keymap.c src/lisp.h src/lread.c src/m/alpha.h src/macterm.c src/macterm.h src/process.c src/process.h src/regex.c src/search.c src/termhooks.h src/w32term.c src/w32term.h src/window.c src/xterm.c src/xterm.h
diffstat 262 files changed, 1079 insertions(+), 638 deletions(-) [+]
line wrap: on
line diff
--- a/admin/FOR-RELEASE	Mon Aug 13 11:27:41 2007 +0000
+++ b/admin/FOR-RELEASE	Mon Aug 13 13:41:28 2007 +0000
@@ -48,22 +48,23 @@
 http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg01113.html
 
 ** davby@ida.liu.se, 6 July: Bug in pos-visible-in-window-p
-
 ** dak@gnu.org, 30 May: Redraw problem with overlapping frames
 
-** dksw@eircom.net, 3 Jul: Telnet mode (rsh/ssh)
-
 ** bojohan+news@dd.chalmers.se, 1 Aug: n_schumacher@web.de: modification hooks called only once in
 
-** sdl.web@gmail.com: problem with transparent PNG image display
+** ams@gnu.org, 9 July: eshell and external commands
+
+** timh@insightful.com, 25 June: undigestify-rmail-message in emacs 22.1 doesn't split a digest
+
+** andreas.roehler@online.de, 24 Jul: CVS build on Suse 10.0 failed
 
 ** Gtk+ tool bar looses focus when pressing next tool bar button in GUD.
 http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-08/msg00008.html
 
 * FIXES FOR EMACS 22.2
 
-Here we list small fixes that arrived too late for Emacs 22.1, but
-that should be installed on the release branch after 22.1 is released.
+Here we list small fixes that arrived too late for Emacs 22.2, but
+that should be installed on the release branch after 22.2 is released.
 
 ** Changes to six pbm icons in etc/images.
 Sync change from trunk 2007-05-19.
--- a/admin/nt/README-ftp-server	Mon Aug 13 11:27:41 2007 +0000
+++ b/admin/nt/README-ftp-server	Mon Aug 13 13:41:28 2007 +0000
@@ -1,7 +1,7 @@
 		      Precompiled Distributions of
 			   Emacs for Windows
 
-			      Version 22.1
+			      Version 22.2
 
 			     May 22, 2007
 		
@@ -26,9 +26,9 @@
 
   If you want to redistribute any of the precompiled distributions of
   Emacs, be careful to check the implications of the GPL.  For instance,
-  if you put the emacs-22.1-bin-i386.tar.gz file from this directory on
+  if you put the emacs-22.2-bin-i386.tar.gz file from this directory on
   an Internet site, you must arrange to distribute the source files of
-  the SAME version (i.e. ../emacs-22.1.tar.gz).
+  the SAME version (i.e. ../emacs-22.2.tar.gz).
 
   Making a link to our copy of the source is NOT sufficient, since we
   might upgrade to a new version while you are still distributing the
@@ -37,8 +37,8 @@
 
 * Files in this directory
 
-  + emacs-22.1-bin-i386.zip
-    Windows binaries of Emacs-22.1, with all lisp code and documentation
+  + emacs-22.2-bin-i386.zip
+    Windows binaries of Emacs-22.2, with all lisp code and documentation
     included.
 
     Download this file if you want a single installation package, and
@@ -49,8 +49,8 @@
     If you need the C source code at a later date, it will be safe to
     unpack the source distribution on top of this installation.
 
-  + emacs-22.1-barebin-i386.zip
-    Windows binaries of Emacs-22.1, without lisp code or documentation.
+  + emacs-22.2-barebin-i386.zip
+    Windows binaries of Emacs-22.2, without lisp code or documentation.
 
     Download this file if you already have the source distribution, or
     if you need to redump the emacs.exe executable.
@@ -60,12 +60,22 @@
     file, plus temacs.exe and dump.bat, which are required if you want to
     redump emacs without recompiling it.
 
+  + libxpm-src.zip
+    Source code for libXpm-X11R7.2-3.5.6 modified to compile on Windows.
+    This corresponds to the libXpm.dll in emacs-22.2-bin-i386.zip
+    and emacs-22.2-barebin-i386.zip.
+
+
+    The following are provided for users who require older versions.
+
+  + emacs-22.1-bin-i386.zip
+  + emacs-22-1-barebin-i386.zip
+    Windows binaries of Emacs 22.1, contents as above.
+
   + emacs-21.3-bin-i386.tar.gz
     Windows binaries of Emacs 21.3, with compiled lisp code and some
     documentation included.
 
-    This is provided for users who require the older version.
-
   + emacs-21.3-leim.tar.gz
     Compiled lisp input methods. This optional addition to Emacs-21.3
     is required if you want to enter languages that are not directly
@@ -73,7 +83,7 @@
 
 * Image support
 
-  Emacs 22.1 contains support for images, however for most image formats
+  Emacs 22.2 contains support for images, however for most image formats
   supporting libraries are required.  This distribution has been tested
   with the libraries that are distributed with GTK for Windows, and the
   libraries found at http://gnuwin32.sourceforge.net/. The following image
@@ -82,10 +92,10 @@
       PBM/PGM/PPM: Supported natively by Emacs. This format is used for
       the black and white versions of the toolbar icons.
 
-      XPM: requires a Windows port of the XPM library 3.4 or later,
-      which will be named xpm4.dll, libxpm-nox4.dll or
-      libxpm.dll. This format is used for the color versions of the
-      toolbar icons, and other images in Emacs.
+      XPM: a Windows port of the XPM library corresponding to the x.org
+      release of X11R7.2 is included with the binary distribution, but
+      can be replaced by other versions with the name xpm4.dll,
+      libxpm-nox4.dll or libxpm.dll.
 
       PNG: requires the PNG reference library 1.2 or later, which will
       be named libpng13d.dll, libpng13.dll, libpng12d.dll, libpng12.dll
@@ -217,7 +227,7 @@
   about the Windows port and related software packages. Note that as
   of writing, most of the information in that FAQ was for Emacs-21.3
   and earlier versions, so some information may not be relevant to
-  Emacs-22.1.
+  Emacs-22.2.
 
   In addition to the FAQ, there is a mailing list for discussing issues
   related to the Windows port of Emacs.  For information about the
--- a/etc/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,8 @@
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* TODO: `iff' item is dealt with.
+	* GNUS-NEWS, NEWS, NEWS.1-17, NEWS.19, NEWS.21: Replace `iff'.
+
 2007-08-01  Glenn Morris  <rgm@gnu.org>
 
 	* NEWS: Add fortran-line-length, plus some more sections.
--- a/etc/GNUS-NEWS	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/GNUS-NEWS	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
 
 Use `make.bat' if you want to install Gnus under MS Windows, the first
 argument to the batch-program should be the directory where `xemacs.exe'
-respectively `emacs.exe' is located, iff you want to install Gnus after
+respectively `emacs.exe' is located, if you want to install Gnus after
 compiling it, give `make.bat' `/copy' as the second parameter.
 
 `make.bat' has been rewritten from scratch, it now features automatic
@@ -308,7 +308,7 @@
 
 ** Gnus no longer generate the Sender: header automatically.
 
-Earlier it was generated iff the user configurable email address was
+Earlier it was generated when the user configurable email address was
 different from the Gnus guessed default user address.  As the guessing
 algorithm is rarely correct these days, and (more controversially) the
 only use of the Sender: header was to check if you are entitled to
--- a/etc/NEWS.1-17	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/NEWS.1-17	Mon Aug 13 13:41:28 2007 +0000
@@ -1208,7 +1208,7 @@
 
 * New function `auto-save-file-name-p'
 
-Should return non-`nil' iff given a string which is the name of an
+Should return non-`nil' if given a string which is the name of an
 auto-save file (sans directory name).  If you redefine
 `make-auto-save-file-name', you should redefine this accordingly.  By
 default, this function returns `t' for filenames beginning with
--- a/etc/NEWS.19	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/NEWS.19	Mon Aug 13 13:41:28 2007 +0000
@@ -5133,8 +5133,8 @@
 ** It is now simpler to tell Emacs to display accented characters under
 X windows.  M-x standard-display-european toggles the display of
 buffer text according to the ISO Latin-1 standard.  With a prefix
-argument, this command enables European character display iff the
-argument is positive.
+argument, this command enables European character display if and only
+if the argument is positive.
 
 ** The `-i' command-line argument tells Emacs to use a picture of the
 GNU gnu as its icon, instead of letting the window manager choose an
--- a/etc/NEWS.21	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/NEWS.21	Mon Aug 13 13:41:28 2007 +0000
@@ -2502,7 +2502,7 @@
 returned.
 
 Optional second arg MINIBUF t means count the minibuffer window even
-if not active.  MINIBUF nil or omitted means count the minibuffer iff
+if not active.  MINIBUF nil or omitted means count the minibuffer if
 it is active.  MINIBUF neither t nor nil means not to count the
 minibuffer even if it is active.
 
--- a/etc/NEWS.22	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/NEWS.22	Mon Aug 13 13:41:28 2007 +0000
@@ -55,6 +55,8 @@
 
 * New Modes and Packages in Emacs 22.2
 
+** bibtex-style-mode helps you write BibTeX's *.bst files.
+
 ** The new package css-mode.el provides a major mode for editing CSS files.
 
 ** The new package vera-mode.el provides a major mode for editing Vera files.
@@ -67,6 +69,8 @@
 
 *** VC has some support for Mercurial (hg).
 
+*** VC has some support for Bazaar (Bzr).
+
 *** VC has some support for Git.
 
 * Lisp Changes in Emacs 22.2.
@@ -77,6 +81,9 @@
 ** The new function `image-refresh' refreshes all images associated
 with a given image specification.
 
+** The new function `split-string-and-unquote' does (what?)
+
+** The new function `combine-and-quote-strings' does (what?)
 
 * Installation Changes in Emacs 22.1
 
@@ -3558,8 +3565,8 @@
 
 *** New functions `string-or-null-p' and `booleanp'.
 
-`string-or-null-p' returns non-nil iff OBJECT is a string or nil.
-`booleanp' returns non-nil iff OBJECT is t or nil.
+`string-or-null-p' returns non-nil if OBJECT is a string or nil.
+`booleanp' returns non-nil if OBJECT is t or nil.
 
 *** `makehash' is now obsolete.  Use `make-hash-table' instead.
 
--- a/etc/TODO	Mon Aug 13 11:27:41 2007 +0000
+++ b/etc/TODO	Mon Aug 13 13:41:28 2007 +0000
@@ -19,8 +19,6 @@
 
 ** Compute the list of active keymaps *after* reading the first event.
 
-** Avoid using "iff" in doc strings.
-
 ** mouse-autoselect-window should wait to select the window until
 the mouse is put to rest or after a delay or both, so that moving over
 a window doesn't select it.
--- a/lib-src/etags.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/lib-src/etags.c	Mon Aug 13 13:41:28 2007 +0000
@@ -2883,7 +2883,7 @@
  *	function or variable, or corresponds to a typedef, or
  * 	is a struct/union/enum tag, or #define, or an enum constant.
  *
- *	*IS_FUNC gets TRUE iff the token is a function or #define macro
+ *	*IS_FUNC gets TRUE if the token is a function or #define macro
  *	with args.  C_EXTP points to which language we are looking at.
  *
  * Globals
@@ -4803,7 +4803,7 @@
   int save_lineno, namelen, taglen;
   char c, *name;
 
-  bool				/* each of these flags is TRUE iff: */
+  bool				/* each of these flags is TRUE if: */
     incomment,			/* point is inside a comment */
     inquote,			/* point is inside '..' string */
     get_tagname,		/* point is after PROCEDURE/FUNCTION
--- a/lisp/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,161 @@
+2007-08-13  Nick Roberts  <nickrob@snap.net.nz>
+
+	* progmodes/gdb-ui.el (gdb-send): Handle CTRL-D more carefully.
+
+2007-08-12  Richard Stallman  <rms@gnu.org>
+
+	* pcvs.el (cvs-reread-cvsrc, cvs-checkout, cvs-mode-checkout)
+	(cvs-execute-single-file): Use new name split-string-and-unquote.
+	(cvs-header-msg): Use new name combine-and-quote-strings.
+
+	* emulation/vi.el (vi-next-line): Ignore return value of line-move.
+
+	* progmodes/gud.el (gud-common-init): Use new name
+	split-string-and-unquote.
+
+	* progmodes/flymake.el (flymake-err-line-patterns): Fix infloop
+	in javac regexp.
+
+	* pcvs-util.el (cvs-qtypedesc-strings): Use new names
+	combine-and-quote-strings and split-string-and-unquote.
+
+	* subr.el (combine-and-quote-strings): Renamed from strings->string.
+	(split-string-and-unquote): Renamed from string->strings.
+
+2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* log-view.el (log-view-font-lock-keywords): Use `eval' so as to adapt
+	to buffer-local settings.
+
+	* emacs-lisp/backquote.el (backquote-delay-process): New function.
+	(backquote-process): Add internal arg `level'.  Use the two to
+	correctly handle nested backquotes.
+
+2007-08-09  Riccardo Murri  <riccardo.murri@gmail.com>
+
+	* vc-bzr.el (vc-bzr-registered): Use \0 instead of literal NULs.
+	(vc-bzr-state-words): Add "kind changed" state word.
+	(vc-bzr-status): New function.  Return Bzr idea of file status,
+	which is different from VC's.
+	(vc-bzr-state): Use vc-bzr-status.
+	(vc-workfile-unchanged-p): Use vc-bzr-status.
+	(vc-bzr-revert): Use synchronous process; expect exitcode 0.
+	(vc-dired-state): Process "kind changed" state word.
+
+2007-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc-hooks.el (vc-default-find-file-not-found-hook): Do nothing.
+
+	* vc-rcs.el (vc-rcs-find-file-not-found-hook):
+	Move from vc-default-find-file-not-found-hook.
+
+2007-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* man.el: Remove spurious * in docstrings.
+	Merge defvars and toplevel setq-defaults.
+	(Man-highlight-references0): Limit=nil rather than point-max.
+	(Man-mode-map): Move initialization into the declaration.
+	(Man-strip-page-headers, Man-unindent): Use dolist & inhibit-read-only.
+	(Man-view-header-file): Use expand-file-name rather than concat.
+	(Man-notify-when-ready, Man-bgproc-sentinel): Use with-current-buffer.
+
+	* man.el (Man-next-section): Make sure we do not move backward.
+
+2007-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* files.el (auto-mode-alist): Use the purecopied text (duh!).
+
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* Replace `iff' in doc-strings and comments.
+
+2007-08-08  Martin Rudalics  <rudalics@gmx.at>
+
+	* dired.el (dired-pop-to-buffer):
+	* mouse-drag.el (mouse-drag-should-do-col-scrolling):
+	* calendar/calendar.el (generate-calendar-window):
+	* progmodes/compile.el (compilation-set-window-height):
+	* textmodes/two-column.el (2C-two-columns, 2C-merge):
+	Use window-full-width-p instead of comparing frame-width and
+	window-width.
+
+	* progmodes/compile.el (compilation-find-buffer): Remove extra
+	argument in call to compilation-buffer-internal-p.
+
+2007-08-07  Tom Tromey  <tromey@redhat.com>
+
+	* progmodes/tcl.el (tcl-indent-level, tcl-continued-indent-level):
+	Add safe-local-variable property.
+
+2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* image-mode.el (image-toggle-display): Use image-refresh.
+
+2007-08-07  Riccardo Murri  <riccardo.murri@gmail.com>
+
+	* vc-bzr.el: Remove comments about vc-bzr.el being a modified
+	unofficial version.
+	(vc-bzr-command): Remove redundant setting of process-connection-type.
+	(vc-bzr-admin-checkout-format-file): Add autoload.
+	(vc-bzr-root-dir): Remove in favor of vc-bzr-root.
+	(vc-bzr-root): Switch to implementation of vc-bzr-root-dir.
+	(vc-bzr-registered): Compare dirstate format tag with known good
+	value, abort parsing if match fails.  Warn user in docstring.
+	(vc-bzr-workfile-version): Case for different Bzr branch formats.
+	See bzrlib/branch.py in Bzr sources.
+	(vc-bzr-diff): First argument FILES may be a string rather than a list.
+	(vc-bzr-shell-command): Remove in favor of
+	vc-bzr-command-discarding-stderr.
+	(vc-bzr-command-discarding-stderr): New function.
+
+2007-08-06  Riccardo Murri  <riccardo.murri@gmail.com>
+
+	* vc-bzr.el (vc-bzr-registered): Gracefully handle missing "bzr"
+	program, and return nil
+	(vc-bzr-state): Gracefully handle missing "bzr" program, and return nil.
+	(vc-bzr-state): Look for path names relative to the repository
+	root after status keyword.
+	(vc-bzr-file-name-relative): New function.
+	(vc-bzr-admin-dirname): Reinstate, as other vc-bzr-admin-... paths
+	depend on it.
+	(vc-bzr-admin-dirname, ...-checkout-format-file)
+	(...-branch-format-file, ...-revhistory): Paths to some Bzr internal
+	files that we now parse directly for speed.
+	(vc-bzr-root-dir): Use `vc-bzr-admin-checkout-format-file' as witness.
+	(vc-bzr-registered): Only parse vc-bzr-admin-dirstate file if it exists.
+	(vc-bzr-state): "bzr status" successful only if exitcode is 0
+	(vc-bzr-root): Use `vc-bzr-shell-command'.  Stderr may contain
+	Bzr warnings, so we must discard it.
+	(vc-bzr-workfile-version): Speedup counting lines from
+	`vc-bzr-admin-revhistory' file, but fallback to spawning "bzr revno"
+	if that file doesn't exist.
+	(vc-bzr-responsible-p): Use `vc-bzr-root' instead of
+	`vc-bzr-root-dir' for speed.  Add `vc-bzr-admin-dirname'
+	(not ".bzr"!) to `vc-directory-exclusion-list'
+	(vc-bzr-shell-command): New function.
+
+2007-08-06  Tom Tromey  <tromey@redhat.com>
+
+	* diff-mode.el (diff-unified->context, diff-reverse-direction)
+	(diff-fixup-modifs): Typo in docstring.
+
+2007-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emulation/tpu-edt.el (tpu-current-line): Use posn-at-point and
+	count-screen-lines.
+	(tpu-edt-off): Disable relevant pieces of advice.
+
+	* emulation/tpu-extras.el (tpu-before-save-hook): Rename from
+	tpu-write-file-hook.  Activate it with add-hook on buffer-save-hook.
+	(newline, newline-and-indent, do-auto-fill): Use advice instead of
+	redefining the function.
+	(tpu-set-scroll-margins): Activate the pieces of advice.
+
+2007-08-06  Martin Rudalics  <rudalics@gmx.at>
+
+	* help.el (resize-temp-buffer-window): Use window-full-width-p
+	instead of comparing frame-width and window-width.
+
 2007-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
 
 	* pcvs-parse.el (cvs-parse-table): Handle additional instance of
--- a/lisp/abbrev.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/abbrev.el	Mon Aug 13 13:41:28 2007 +0000
@@ -39,9 +39,9 @@
 
 (defun abbrev-mode (&optional arg)
   "Toggle Abbrev mode in the current buffer.
-With argument ARG, turn abbrev mode on iff ARG is positive.
-In Abbrev mode, inserting an abbreviation causes it to expand
-and be replaced by its expansion."
+With optional argument ARG, turn abbrev mode on if ARG is
+positive, otherwise turn it off.  In Abbrev mode, inserting an
+abbreviation causes it to expand and be replaced by its expansion."
   (interactive "P")
   (setq abbrev-mode
 	(if (null arg) (not abbrev-mode)
--- a/lisp/allout.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/allout.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1658,8 +1658,9 @@
   "Toggle minor mode for controlling exposure and editing of text outlines.
 \\<allout-mode-map>
 
-Optional arg forces mode to re-initialize iff arg is positive num or
-symbol.  Allout outline mode always runs as a minor mode.
+Optional prefix argument TOGGLE forces the mode to re-initialize
+if it is positive, otherwise it turns the mode off.  Allout
+outline mode always runs as a minor mode.
 
 Allout outline mode provides extensive outline oriented formatting and
 manipulation.  It enables structural editing of outlines, as well as
--- a/lisp/autorevert.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/autorevert.el	Mon Aug 13 13:41:28 2007 +0000
@@ -315,7 +315,7 @@
 ;;;###autoload
 (define-minor-mode auto-revert-tail-mode
   "Toggle reverting tail of buffer when file on disk grows.
-With arg, turn Tail mode on iff arg is positive.
+With arg, turn Tail mode on if arg is positive, otherwise turn it off.
 
 When Tail mode is enabled, the tail of the file is constantly
 followed, as with the shell command `tail -f'.  This means that
--- a/lisp/bindings.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/bindings.el	Mon Aug 13 13:41:28 2007 +0000
@@ -493,7 +493,7 @@
 (defvar minor-mode-alist nil "\
 Alist saying how to show minor modes in the mode line.
 Each element looks like (VARIABLE STRING);
-STRING is included in the mode line iff VARIABLE's value is non-nil.
+STRING is included in the mode line if VARIABLE's value is non-nil.
 
 Actually, STRING need not be a string; any possible mode-line element
 is okay.  See `mode-line-format'.")
--- a/lisp/calendar/calendar.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/calendar/calendar.el	Mon Aug 13 13:41:28 2007 +0000
@@ -2080,7 +2080,7 @@
     ;; Don't do any window-related stuff if we weren't called from a
     ;; window displaying the calendar
     (when in-calendar-window
-      (if (or (one-window-p t) (/= (frame-width) (window-width)))
+      (if (or (one-window-p t) (not (window-full-width-p)))
           ;; Don't mess with the window size, but ensure that the first
           ;; line is fully visible
           (set-window-vscroll nil 0)
--- a/lisp/custom.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/custom.el	Mon Aug 13 13:41:28 2007 +0000
@@ -642,7 +642,7 @@
     (funcall variable (if value 1 0))))
 
 (defun custom-quote (sexp)
-  "Quote SEXP iff it is not self quoting."
+  "Quote SEXP if it is not self quoting."
   (if (or (memq sexp '(t nil))
 	  (keywordp sexp)
 	  (and (listp sexp)
@@ -665,14 +665,14 @@
 
 To actually save the value, call `custom-save-all'.
 
-Return non-nil iff the `saved-value' property actually changed."
+Return non-nil if the `saved-value' property actually changed."
   (custom-load-symbol symbol)
   (let* ((get (or (get symbol 'custom-get) 'default-value))
 	 (value (funcall get symbol))
 	 (saved (get symbol 'saved-value))
 	 (standard (get symbol 'standard-value))
 	 (comment (get symbol 'customized-variable-comment)))
-    ;; Save default value iff different from standard value.
+    ;; Save default value if different from standard value.
     (if (or (null standard)
 	    (not (equal value (condition-case nil
 				  (eval (car standard))
@@ -694,13 +694,13 @@
 `customized-value' property to a list whose car evaluates to the
 default value.  Otherwise, set it to nil.
 
-Return non-nil iff the `customized-value' property actually changed."
+Return non-nil if the `customized-value' property actually changed."
   (custom-load-symbol symbol)
   (let* ((get (or (get symbol 'custom-get) 'default-value))
 	 (value (funcall get symbol))
 	 (customized (get symbol 'customized-value))
 	 (old (or (get symbol 'saved-value) (get symbol 'standard-value))))
-    ;; Mark default value as set iff different from old value.
+    ;; Mark default value as set if different from old value.
     (if (not (and old
                   (equal value (condition-case nil
                                    (eval (car old))
--- a/lisp/diff-mode.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/diff-mode.el	Mon Aug 13 13:41:28 2007 +0000
@@ -724,7 +724,7 @@
 (defun diff-unified->context (start end)
   "Convert unified diffs to context diffs.
 START and END are either taken from the region (if a prefix arg is given) or
-else cover the whole bufer."
+else cover the whole buffer."
   (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
 		   (list (region-beginning) (region-end))
 		 (list (point-min) (point-max))))
@@ -907,7 +907,7 @@
 (defun diff-reverse-direction (start end)
   "Reverse the direction of the diffs.
 START and END are either taken from the region (if a prefix arg is given) or
-else cover the whole bufer."
+else cover the whole buffer."
   (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
 		   (list (region-beginning) (region-end))
 		 (list (point-min) (point-max))))
@@ -969,7 +969,7 @@
 (defun diff-fixup-modifs (start end)
   "Fixup the hunk headers (in case the buffer was modified).
 START and END are either taken from the region (if a prefix arg is given) or
-else cover the whole bufer."
+else cover the whole buffer."
   (interactive (if (or current-prefix-arg (and transient-mark-mode mark-active))
 		   (list (region-beginning) (region-end))
 		 (list (point-min) (point-max))))
--- a/lisp/diff.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/diff.el	Mon Aug 13 13:41:28 2007 +0000
@@ -62,7 +62,8 @@
 
 (defun diff-sentinel (code)
   "Code run when the diff process exits.
-CODE is the exit code of the process.  It should be 0 iff no diffs were found."
+CODE is the exit code of the process.  It should be 0 only if no diffs
+were found."
   (if diff-old-temp-file (delete-file diff-old-temp-file))
   (if diff-new-temp-file (delete-file diff-new-temp-file))
   (save-excursion
--- a/lisp/dired-aux.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/dired-aux.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1993,8 +1993,8 @@
 
 (defun dired-tree-lessp (dir1 dir2)
   ;; Lexicographic order on file name components, like `ls -lR':
-  ;; DIR1 < DIR2 iff DIR1 comes *before* DIR2 in an `ls -lR' listing,
-  ;;   i.e., iff DIR1 is a (grand)parent dir of DIR2,
+  ;; DIR1 < DIR2 if DIR1 comes *before* DIR2 in an `ls -lR' listing,
+  ;;   i.e., if DIR1 is a (grand)parent dir of DIR2,
   ;;   or DIR1 and DIR2 are in the same parentdir and their last
   ;;   components are string-lessp.
   ;; Thus ("/usr/" "/usr/bin") and ("/usr/a/" "/usr/b/") are tree-lessp.
--- a/lisp/dired.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/dired.el	Mon Aug 13 13:41:28 2007 +0000
@@ -2560,12 +2560,12 @@
       (cond ;; if split-height-threshold is enabled, use the largest window
             ((and (> (window-height (setq w2 (get-largest-window)))
 		     split-height-threshold)
-		  (= (frame-width) (window-width w2)))
+		  (window-full-width-p w2))
 	     (setq window w2))
 	    ;; if the least-recently-used window is big enough, use it
 	    ((and (> (window-height (setq w2 (get-lru-window)))
 		     (* 2 window-min-height))
-		  (= (frame-width) (window-width w2)))
+		  (window-full-width-p w2))
 	     (setq window w2)))
       (save-excursion
 	(set-buffer buf)
--- a/lisp/double.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/double.el	Mon Aug 13 13:41:28 2007 +0000
@@ -186,7 +186,8 @@
 ;;;###autoload
 (defun double-mode (arg)
   "Toggle Double mode.
-With prefix arg, turn Double mode on iff arg is positive.
+With prefix argument ARG, turn Double mode on if ARG is positive, otherwise
+turn it off.
 
 When Double mode is on, some keys will insert different strings
 when pressed twice.  See variable `double-map' for details."
--- a/lisp/ediff-diff.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/ediff-diff.el	Mon Aug 13 13:41:28 2007 +0000
@@ -867,7 +867,7 @@
 	     (ediff-make-fine-diffs n 'noforce)
 	   (ediff-make-fine-diffs n 'skip)))
 
-	;; highlight iff fine diffs already exist
+	;; highlight if fine diffs already exist
 	((eq ediff-auto-refine 'off)
 	 (ediff-make-fine-diffs n 'skip))))
 
@@ -1459,7 +1459,7 @@
 
 
 (defun ediff-same-contents (d1 d2 &optional filter-re)
-  "Returns t iff D1 and D2 have the same content.
+  "Return t if D1 and D2 have the same content.
 D1 and D2 can either be both directories or both regular files.
 Symlinks and the likes are not handled.
 If FILTER-RE is non-nil, recursive checking in directories
--- a/lisp/emacs-lisp/backquote.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/backquote.el	Mon Aug 13 13:41:28 2007 +0000
@@ -118,10 +118,28 @@
 ;; constant, 1 => to be unquoted, 2 => to be spliced in.
 ;; The top-level backquote macro just discards the tag.
 
-(defun backquote-process (s)
+(defun backquote-delay-process (s level)
+  "Process a (un|back|splice)quote inside a backquote.
+This simply recurses through the body."
+  (let ((exp (backquote-listify (list (backquote-process (nth 1 s) level)
+                                      (cons 0 (list 'quote (car s))))
+                                '(0))))
+    (if (eq (car-safe exp) 'quote)
+        (cons 0 (list 'quote s))
+      (cons 1 exp))))
+
+(defun backquote-process (s &optional level)
+  "Process the body of a backquote.
+S is the body.  Returns a cons cell whose cdr is piece of code which
+is the macro-expansion of S, and whose car is a small integer whose value
+can either indicate that the code is constant (0), or not (1), or returns
+a list which should be spliced into its environment (2).
+LEVEL is only used internally and indicates the nesting level:
+0 (the default) is for the toplevel nested inside a single backquote."
+  (unless level (setq level 0))
   (cond
    ((vectorp s)
-    (let ((n (backquote-process (append s ()))))
+    (let ((n (backquote-process (append s ()) level)))
       (if (= (car n) 0)
 	  (cons 0 s)
 	(cons 1 (cond
@@ -138,11 +156,15 @@
 		s
 	      (list 'quote s))))
    ((eq (car s) backquote-unquote-symbol)
-    (cons 1 (nth 1 s)))
+    (if (<= level 0)
+        (cons 1 (nth 1 s))
+      (backquote-delay-process s (1- level))))
    ((eq (car s) backquote-splice-symbol)
-    (cons 2 (nth 1 s)))
+    (if (<= level 0)
+        (cons 2 (nth 1 s))
+      (backquote-delay-process s (1- level))))
    ((eq (car s) backquote-backquote-symbol)
-    (backquote-process (cdr (backquote-process (nth 1 s)))))
+      (backquote-delay-process s (1+ level)))
    (t
     (let ((rest s)
 	  item firstlist list lists expression)
@@ -154,11 +176,13 @@
       ;; at the beginning, put them in FIRSTLIST,
       ;; as a list of tagged values (TAG . FORM).
       ;; If there are any at the end, they go in LIST, likewise.
-      (while (consp rest)
-	;; Turn . (, foo) into (,@ foo).
-	(if (eq (car rest) backquote-unquote-symbol)
-	    (setq rest (list (list backquote-splice-symbol (nth 1 rest)))))
-	(setq item (backquote-process (car rest)))
+      (while (and (consp rest)
+                  ;; Stop if the cdr is an expression inside a backquote or
+                  ;; unquote since this needs to go recursively through
+                  ;; backquote-process.
+                  (not (or (eq (car rest) backquote-unquote-symbol)
+                           (eq (car rest) backquote-backquote-symbol))))
+	(setq item (backquote-process (car rest) level))
 	(cond
 	 ((= (car item) 2)
 	  ;; Put the nonspliced items before the first spliced item
@@ -168,8 +192,8 @@
 		    list nil))
 	  ;; Otherwise, put any preceding nonspliced items into LISTS.
 	  (if list
-	      (setq lists (cons (backquote-listify list '(0 . nil)) lists)))
-	  (setq lists (cons (cdr item) lists))
+	      (push (backquote-listify list '(0 . nil)) lists))
+	  (push (cdr item) lists)
 	  (setq list nil))
 	 (t
 	  (setq list (cons item list))))
@@ -177,8 +201,8 @@
       ;; Handle nonsplicing final elements, and the tail of the list
       ;; (which remains in REST).
       (if (or rest list)
-	  (setq lists (cons (backquote-listify list (backquote-process rest))
-			    lists)))
+	  (push (backquote-listify list (backquote-process rest level))
+                lists))
       ;; Turn LISTS into a form that produces the combined list.
       (setq expression
 	    (if (or (cdr lists)
@@ -221,5 +245,5 @@
 	tail))
      (t (cons 'list heads)))))
 
-;;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a
+;; arch-tag: 1a26206a-6b5e-4c56-8e24-2eef0f7e0e7a
 ;;; backquote.el ends here
--- a/lisp/emacs-lisp/byte-opt.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/byte-opt.el	Mon Aug 13 13:41:28 2007 +0000
@@ -564,7 +564,7 @@
 	       (cons fn args)))))))
 
 (defun byte-optimize-all-constp (list)
-  "Non-nil iff all elements of LIST satisfy `byte-compile-constp'."
+  "Non-nil if all elements of LIST satisfy `byte-compile-constp'."
   (let ((constant t))
     (while (and list constant)
       (unless (byte-compile-constp (car list))
--- a/lisp/emacs-lisp/checkdoc.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/checkdoc.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1243,7 +1243,8 @@
 ;;;###autoload
 (define-minor-mode checkdoc-minor-mode
   "Toggle Checkdoc minor mode, a mode for checking Lisp doc strings.
-With prefix ARG, turn Checkdoc minor mode on iff ARG is positive.
+With prefix ARG, turn Checkdoc minor mode on if ARG is positive, otherwise
+turn it off.
 
 In Checkdoc minor mode, the usual bindings for `eval-defun' which is
 bound to \\<checkdoc-minor-mode-map>\\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include
--- a/lisp/emacs-lisp/easymenu.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/easymenu.el	Mon Aug 13 13:41:28 2007 +0000
@@ -546,7 +546,7 @@
     (easy-menu-define-key map (easy-menu-intern (car item)) (cdr item) before)))
 
 (defun easy-menu-item-present-p (map path name)
-  "In submenu of MAP with path PATH, return non-nil iff item NAME is present.
+  "In submenu of MAP with path PATH, return non-nil if item NAME is present.
 MAP and PATH are defined as in `easy-menu-add-item'.
 NAME should be a string, the name of the element to be looked for."
   (easy-menu-return-item (easy-menu-get-map map path) name))
--- a/lisp/emacs-lisp/rx.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/rx.el	Mon Aug 13 13:41:28 2007 +0000
@@ -554,7 +554,7 @@
 
 This function may return false negatives, but it will not
 return false positives.  It is nevertheless useful in
-situations where an efficiency shortcut can be taken iff a
+situations where an efficiency shortcut can be taken only if a
 regexp is atomic.  The function can be improved to detect
 more cases of atomic regexps.  Presently, this function
 detects the following categories of atomic regexp;
--- a/lisp/emacs-lisp/unsafep.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emacs-lisp/unsafep.el	Mon Aug 13 13:41:28 2007 +0000
@@ -212,7 +212,7 @@
 
 
 (defun unsafep-function (fun)
-  "Return nil iff FUN is a safe function.
+  "Return nil if FUN is a safe function.
 \(either a safe lambda or a symbol that names a safe function).  Otherwise
 result is a reason code."
   (cond
--- a/lisp/emulation/tpu-edt.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emulation/tpu-edt.el	Mon Aug 13 13:41:28 2007 +0000
@@ -792,10 +792,13 @@
 	 (use-local-map tpu-buffer-local-map)))
   (local-set-key key func))
 
-(defun tpu-current-line nil
+(defun tpu-current-line ()
   "Return the vertical position of point in the selected window.
 Top line is 0.  Counts each text line only once, even if it wraps."
-  (+ (count-lines (window-start) (point)) (if (= (current-column) 0) 1 0) -1))
+  (or
+   (cdr (nth 6 (posn-at-point)))
+   (if (eq (window-start) (point)) 0
+     (1- (count-screen-lines (window-start) (point) 'count-final-newline)))))
 
 
 ;;;
@@ -2422,6 +2425,7 @@
         (if (eq tpu-global-map parent)
             (set-keymap-parent map (keymap-parent parent))
           (setq map parent)))))
+  (ad-disable-regexp "\\`tpu-")
   (setq tpu-edt-mode nil))
 
 (provide 'tpu-edt)
--- a/lisp/emulation/tpu-extras.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emulation/tpu-extras.el	Mon Aug 13 13:41:28 2007 +0000
@@ -141,13 +141,11 @@
 
 (add-hook 'picture-mode-hook 'tpu-set-cursor-free)
 
-(defun tpu-write-file-hook nil
+(defun tpu-before-save-hook ()
   "Eliminate whitespace at ends of lines, if the cursor is free."
   (if (and (buffer-modified-p) tpu-cursor-free) (tpu-trim-line-ends)))
 
-(or (memq 'tpu-write-file-hook write-file-functions)
-    (setq write-file-functions
-	  (cons 'tpu-write-file-hook write-file-functions)))
+(add-hook 'before-save-hook 'tpu-before-save-hook)
 
 
 ;;;  Utility routines for implementing scroll margins
@@ -246,7 +244,7 @@
 	   (end-of-line (- 1 num))))
     (tpu-top-check beg num)))
 
-(defun tpu-current-end-of-line nil
+(defun tpu-current-end-of-line ()
   "Move point to end of current line."
   (interactive)
   (let ((beg (point)))
@@ -392,41 +390,24 @@
 
 
 
-;;;  Replace the newline, newline-and-indent, and do-auto-fill functions
-
-(or (fboundp 'tpu-old-newline)
-    (fset 'tpu-old-newline (symbol-function 'newline)))
-(or (fboundp 'tpu-old-do-auto-fill)
-    (fset 'tpu-old-do-auto-fill (symbol-function 'do-auto-fill)))
-(or (fboundp 'tpu-old-newline-and-indent)
-    (fset 'tpu-old-newline-and-indent (symbol-function 'newline-and-indent)))
-
-(defun newline (&optional num)
-  "Insert a newline.  With arg, insert that many newlines.
-In Auto Fill mode, can break the preceding line if no numeric arg.
-This is the TPU-edt version that respects the bottom scroll margin."
-  (interactive "p")
-  (let ((beg (tpu-current-line)))
-    (or num (setq num 1))
-    (tpu-old-newline num)
+;; Advise the newline, newline-and-indent, and do-auto-fill functions.
+(defadvice newline (around tpu-respect-bottom-scroll-margin activate disable)
+  "Respect `tpu-bottom-scroll-margin'."
+  (let ((beg (tpu-current-line))
+        (num (prefix-numeric-value (ad-get-arg 0))))
+    ad-do-it
     (tpu-bottom-check beg num)))
 
-(defun newline-and-indent nil
-  "Insert a newline, then indent according to major mode.
-Indentation is done using the current indent-line-function.
-In programming language modes, this is the same as TAB.
-In some text modes, where TAB inserts a tab, this indents
-to the specified left-margin column.  This is the TPU-edt
-version that respects the bottom scroll margin."
-  (interactive)
+(defadvice newline-and-indent (around tpu-respect-bottom-scroll-margin)
+  "Respect `tpu-bottom-scroll-margin'."
   (let ((beg (tpu-current-line)))
-    (tpu-old-newline-and-indent)
+    ad-do-it
     (tpu-bottom-check beg 1)))
 
-(defun do-auto-fill nil
-  "TPU-edt version that respects the bottom scroll margin."
+(defadvice do-auto-fill (around tpu-respect-bottom-scroll-margin)
+  "Respect `tpu-bottom-scroll-margin'."
   (let ((beg (tpu-current-line)))
-    (tpu-old-do-auto-fill)
+    ad-do-it
     (tpu-bottom-check beg 1)))
 
 
@@ -440,18 +421,21 @@
 \nsEnter bottom scroll margin (N lines or N%% or RETURN for current value): ")
   ;; set top scroll margin
   (or (string= top "")
-      (if (string= "%" (substring top -1))
-	  (setq tpu-top-scroll-margin (string-to-number top))
-	(setq tpu-top-scroll-margin
+      (setq tpu-top-scroll-margin
+            (if (string= "%" (substring top -1))
+                (string-to-number top)
 	      (/ (1- (+ (* (string-to-number top) 100) (window-height)))
 		 (window-height)))))
   ;; set bottom scroll margin
   (or (string= bottom "")
-      (if (string= "%" (substring bottom -1))
-	  (setq tpu-bottom-scroll-margin (string-to-number bottom))
-	(setq tpu-bottom-scroll-margin
+      (setq tpu-bottom-scroll-margin
+            (if (string= "%" (substring bottom -1))
+                (string-to-number bottom)
 	      (/ (1- (+ (* (string-to-number bottom) 100) (window-height)))
 		 (window-height)))))
+  (dolist (f '(newline newline-and-indent do-auto-fill))
+    (ad-enable-advice f 'around 'tpu-respect-bottom-scroll-margin)
+    (ad-activate f))
   ;; report scroll margin settings if running interactively
   (and (interactive-p)
        (message "Scroll margins set.  Top = %s%%, Bottom = %s%%"
@@ -461,7 +445,7 @@
 ;;;  Functions to set cursor bound or free
 
 ;;;###autoload
-(defun tpu-set-cursor-free nil
+(defun tpu-set-cursor-free ()
   "Allow the cursor to move freely about the screen."
   (interactive)
   (setq tpu-cursor-free t)
@@ -471,7 +455,7 @@
   (message "The cursor will now move freely about the screen."))
 
 ;;;###autoload
-(defun tpu-set-cursor-bound nil
+(defun tpu-set-cursor-bound ()
   "Constrain the cursor to the flow of the text."
   (interactive)
   (tpu-trim-line-ends)
@@ -481,5 +465,5 @@
 			     GOLD-map)
   (message "The cursor is now bound to the flow of your text."))
 
-;;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a
+;; arch-tag: 89676fa4-33ec-48cb-9135-6f3bf230ab1a
 ;;; tpu-extras.el ends here
--- a/lisp/emulation/vi.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/emulation/vi.el	Mon Aug 13 13:41:28 2007 +0000
@@ -788,7 +788,7 @@
   "Go down count lines, try to keep at the same column."
   (interactive "p")
   (setq this-command 'next-line)	; this is a needed trick
-  (if (= (point) (or (line-move count) (point)))
+  (if (= (point) (progn (line-move count) (point)))
       (ding)				; no moving, already at end of buffer
     (setq last-command 'next-line)))
 
--- a/lisp/erc/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/erc/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,7 @@
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* erc-log.el, erc.el: Replace `iff' in doc-strings and comments.
+
 2007-07-30  Michael Olson  <mwolson@gnu.org>
 
 	* erc-nicklist.el: Remove from the Emacs source tree.  This file
--- a/lisp/erc/erc-log.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/erc/erc-log.el	Mon Aug 13 13:41:28 2007 +0000
@@ -261,7 +261,7 @@
 
 (defun erc-log-all-but-server-buffers (buffer)
   "Returns t if logging should be enabled in BUFFER.
-Returns nil iff `erc-server-buffer-p' returns t."
+Returns nil if `erc-server-buffer-p' returns t."
   (save-excursion
     (save-window-excursion
       (set-buffer buffer)
--- a/lisp/erc/erc.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/erc/erc.el	Mon Aug 13 13:41:28 2007 +0000
@@ -3958,7 +3958,7 @@
 (defun erc-echo-notice-in-target-buffer (s parsed buffer sender)
   "Echos a private notice in BUFFER, if BUFFER is non-nil.  This
 function is designed to be added to either `erc-echo-notice-hook'
-or `erc-echo-notice-always-hook', and returns non-nil iff BUFFER
+or `erc-echo-notice-always-hook', and returns non-nil if BUFFER
 is non-nil."
   (if buffer
       (progn (erc-display-message parsed nil buffer s) t)
@@ -3982,7 +3982,7 @@
   "Echos a private notice in the active buffer if the active
 buffer is not the server buffer.  This function is designed to be
 added to either `erc-echo-notice-hook' or
-`erc-echo-notice-always-hook', and returns non-nil iff the active
+`erc-echo-notice-always-hook', and returns non-nil if the active
 buffer is not the server buffer."
   (if (not (eq (erc-server-buffer) (erc-active-buffer)))
       (progn (erc-display-message parsed nil 'active s) t)
@@ -3999,7 +3999,7 @@
   "Echos a private notice in all of the buffers for which SENDER
 is a member.  This function is designed to be added to either
 `erc-echo-notice-hook' or `erc-echo-notice-always-hook', and
-returns non-nil iff there is at least one buffer for which the
+returns non-nil if there is at least one buffer for which the
 sender is a member.
 
 See also: `erc-echo-notice-in-first-user-buffer',
@@ -4013,7 +4013,7 @@
   "Echos a private notice in BUFFER and in all of the buffers for
 which SENDER is a member.  This function is designed to be added
 to either `erc-echo-notice-hook' or
-`erc-echo-notice-always-hook', and returns non-nil iff there is
+`erc-echo-notice-always-hook', and returns non-nil if there is
 at least one buffer for which the sender is a member or the
 default target.
 
@@ -4029,7 +4029,7 @@
   "Echos a private notice in one of the buffers for which SENDER
 is a member.  This function is designed to be added to either
 `erc-echo-notice-hook' or `erc-echo-notice-always-hook', and
-returns non-nil iff there is at least one buffer for which the
+returns non-nil if there is at least one buffer for which the
 sender is a member.
 
 See also: `erc-echo-notice-in-user-buffers',
@@ -4938,7 +4938,7 @@
 (defun erc-send-input (input)
   "Treat INPUT as typed in by the user. It is assumed that the input
 and the prompt is already deleted.
-This returns non-nil only iff we actually send anything."
+This returns non-nil only if we actually send anything."
   ;; Handle different kinds of inputs
   (cond
    ;; Ignore empty input
--- a/lisp/files.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/files.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1937,7 +1937,7 @@
   ;; c++-mode, java-mode and more) are added through autoload
   ;; directives in that file.  That way is discouraged since it
   ;; spreads out the definition of the initial value.
-  (mapc
+  (mapcar
    (lambda (elt)
      (cons (purecopy (car elt)) (cdr elt)))
    `(;; do this first, so that .html.pl is Polish html, not Perl
@@ -3993,8 +3993,9 @@
 
 (defun toggle-read-only (&optional arg)
   "Change whether this buffer is visiting its file read-only.
-With arg, set read-only iff arg is positive.
-If visiting file read-only and `view-read-only' is non-nil, enter view mode."
+With prefix argument ARG, make the buffer read-only if ARG is
+positive, otherwise make it writable.  If visiting file read-only
+and `view-read-only' is non-nil, enter view mode."
   (interactive "P")
   (if (and arg
            (if (> (prefix-numeric-value arg) 0) buffer-read-only
@@ -4637,7 +4638,7 @@
 
 (defun wildcard-to-regexp (wildcard)
   "Given a shell file name pattern WILDCARD, return an equivalent regexp.
-The generated regexp will match a filename iff the filename
+The generated regexp will match a filename only if the filename
 matches that wildcard according to shell rules.  Only wildcards known
 by `sh' are supported."
   (let* ((i (string-match "[[.*+\\^$?]" wildcard))
--- a/lisp/font-lock.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/font-lock.el	Mon Aug 13 13:41:28 2007 +0000
@@ -355,7 +355,7 @@
 
 where MATCHER can be either the regexp to search for, or the function name to
 call to make the search (called with one argument, the limit of the search;
-it should return non-nil, move point, and set `match-data' appropriately iff
+it should return non-nil, move point, and set `match-data' appropriately if
 it succeeds; like `re-search-forward' would).
 MATCHER regexps can be generated via the function `regexp-opt'.
 
@@ -1068,7 +1068,7 @@
 not fall in the middle of one.
 Each function is called with no argument; it is expected to adjust the
 dynamically bound variables `font-lock-beg' and `font-lock-end'; and return
-non-nil iff it did make such an adjustment.
+non-nil if it did make such an adjustment.
 These functions are run in turn repeatedly until they all return nil.
 Put first the functions more likely to cause a change and cheaper to compute.")
 ;; Mark it as a special hook which doesn't use any global setting
@@ -1746,7 +1746,7 @@
   "Set fontification defaults appropriately for this mode.
 Sets various variables using `font-lock-defaults' (or, if nil, using
 `font-lock-defaults-alist') and `font-lock-maximum-decoration'."
-  ;; Set fontification defaults iff not previously set for correct major mode.
+  ;; Set fontification defaults if not previously set for correct major mode.
   (unless (and font-lock-set-defaults
 	       (eq font-lock-mode-major-mode major-mode))
     (setq font-lock-mode-major-mode major-mode)
--- a/lisp/frame.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/frame.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1332,9 +1332,9 @@
 
 (define-minor-mode blink-cursor-mode
   "Toggle blinking cursor mode.
-With a numeric argument, turn blinking cursor mode on iff ARG is positive.
-When blinking cursor mode is enabled, the cursor of the selected
-window blinks.
+With a numeric argument, turn blinking cursor mode on if ARG is positive,
+otherwise turn it off.  When blinking cursor mode is enabled, the
+cursor of the selected window blinks.
 
 Note that this command is effective only when Emacs
 displays through a window system, because then Emacs does its own
--- a/lisp/gnus/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,23 @@
+2007-08-10  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* nntp.el (nntp-xref-number-is-evil): New server variable.
+	(nntp-find-group-and-number): If it is non-nil, don't trust article
+	numbers in the Xref header.
+
+2007-08-06  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-ems.el (gnus-x-splash): Bind inhibit-read-only to t.
+
+2007-08-04  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* gnus-art.el (article-hide-headers): Bind inhibit-read-only to t.
+
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* gmm-utils.el, gnus-async.el, gnus-msg.el, gnus-score.el
+	* gnus-util.el, imap.el, mailcap.el, nnimap.el: Replace `iff' in
+	doc-strings and comments.
+
 2007-07-25  Glenn Morris  <rgm@gnu.org>
 
 	* Relicense all FSF files to GPLv3 or later.
--- a/lisp/gnus/gmm-utils.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gmm-utils.el	Mon Aug 13 13:41:28 2007 +0000
@@ -79,7 +79,7 @@
 
 ;;;###autoload
 (defun gmm-widget-p (symbol)
-  "Non-nil iff SYMBOL is a widget."
+  "Non-nil if SYMBOL is a widget."
   (get symbol 'widget-type))
 
 ;; Copy of the `nnmail-lazy' code from `nnmail.el':
--- a/lisp/gnus/gnus-art.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-art.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1743,7 +1743,7 @@
   (interactive)
   ;; This function might be inhibited.
   (unless gnus-inhibit-hiding
-    (let ((inhibit-read-only nil)
+    (let ((inhibit-read-only t)
 	  (case-fold-search t)
 	  (max (1+ (length gnus-sorted-header-list)))
 	  (inhibit-point-motion-hooks t)
--- a/lisp/gnus/gnus-async.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-async.el	Mon Aug 13 13:41:28 2007 +0000
@@ -320,7 +320,7 @@
 	  (pop alist))))))
 
 (defun gnus-async-prefetched-article-entry (group article)
-  "Return the entry for ARTICLE in GROUP iff it has been prefetched."
+  "Return the entry for ARTICLE in GROUP if it has been prefetched."
   (let ((entry (save-excursion
 		 (gnus-async-set-buffer)
 		 (assq (intern (format "%s-%d" group article)
--- a/lisp/gnus/gnus-ems.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-ems.el	Mon Aug 13 13:41:28 2007 +0000
@@ -179,7 +179,7 @@
 						    (interactive-p))
 						"*gnus-x-splash*"
 					      gnus-group-buffer)))
-  (let ((inhibit-read-only nil)
+  (let ((inhibit-read-only t)
 	(file (nnheader-find-etc-directory "images/gnus/x-splash" t))
 	pixmap fcw fch width height fringes sbars left yoffset top ls)
     (erase-buffer)
--- a/lisp/gnus/gnus-msg.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-msg.el	Mon Aug 13 13:41:28 2007 +0000
@@ -260,15 +260,15 @@
 This is done because new users often reply by mistake when reading
 news.
 This can also be a function receiving the group name as the only
-parameter which should return non-nil iff a confirmation is needed, or
-a regexp, in which case a confirmation is asked for iff the group name
+parameter, which should return non-nil if a confirmation is needed; or
+a regexp, in which case a confirmation is asked for if the group name
 matches the regexp."
   :version "22.1"
   :group 'gnus-message
   :type '(choice (const :tag "No" nil)
 		 (const :tag "Yes" t)
-		 (regexp :tag "Iff group matches regexp")
-		 (function :tag "Iff function evaluates to non-nil")))
+		 (regexp :tag "If group matches regexp")
+		 (function :tag "If function evaluates to non-nil")))
 
 (defcustom gnus-confirm-treat-mail-like-news
   nil
--- a/lisp/gnus/gnus-score.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-score.el	Mon Aug 13 13:41:28 2007 +0000
@@ -381,7 +381,7 @@
 		 (const :tag "ask" nil)))
 
 (defcustom gnus-score-default-fold nil
-  "Use case folding for new score file entries iff not nil."
+  "Non-nil means use case folding for new score file entries."
   :group 'gnus-score-default
   :type 'boolean)
 
--- a/lisp/gnus/gnus-util.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/gnus-util.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1108,7 +1108,7 @@
     `(setq ,alist (delq (,fun ,key ,alist) ,alist))))
 
 (defun gnus-globalify-regexp (re)
-  "Return a regexp that matches a whole line, iff RE matches a part of it."
+  "Return a regexp that matches a whole line, if RE matches a part of it."
   (concat (unless (string-match "^\\^" re) "^.*")
 	  re
 	  (unless (string-match "\\$$" re) ".*$")))
--- a/lisp/gnus/imap.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/imap.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1581,7 +1581,7 @@
 	(imap-mailbox-get-1 'search imap-current-mailbox)))))
 
 (defun imap-message-flag-permanent-p (flag &optional mailbox buffer)
-  "Return t iff FLAG can be permanently (between IMAP sessions) saved on articles, in MAILBOX on server in BUFFER."
+  "Return t if FLAG can be permanently (between IMAP sessions) saved on articles, in MAILBOX on server in BUFFER."
   (with-current-buffer (or buffer (current-buffer))
     (or (member "\\*" (imap-mailbox-get 'permanentflags mailbox))
 	(member flag (imap-mailbox-get 'permanentflags mailbox)))))
--- a/lisp/gnus/mailcap.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/mailcap.el	Mon Aug 13 13:41:28 2007 +0000
@@ -538,7 +538,7 @@
       results)))
 
 (defun mailcap-mailcap-entry-passes-test (info)
-  "Return non-nil iff mailcap entry INFO passes its test clause.
+  "Return non-nil if mailcap entry INFO passes its test clause.
 Also return non-nil if no test clause is present."
   (let ((test (assq 'test info))	; The test clause
 	status)
@@ -631,7 +631,7 @@
 (defvar mailcap-viewer-test-cache nil)
 
 (defun mailcap-viewer-passes-test (viewer-info type-info)
-  "Return non-nil iff viewer specified by VIEWER-INFO passes its test clause.
+  "Return non-nil if viewer specified by VIEWER-INFO passes its test clause.
 Also return non-nil if it has no test clause.  TYPE-INFO is an argument
 to supply to the test."
   (let* ((test-info (assq 'test viewer-info))
@@ -704,7 +704,7 @@
 ;;;
 
 (defun mailcap-viewer-lessp (x y)
-  "Return t iff viewer X is more desirable than viewer Y."
+  "Return t if viewer X is more desirable than viewer Y."
   (let ((x-wild (string-match "[*?]" (or (cdr-safe (assq 'type x)) "")))
 	(y-wild (string-match "[*?]" (or (cdr-safe (assq 'type y)) "")))
 	(x-lisp (not (stringp (or (cdr-safe (assq 'viewer x)) ""))))
--- a/lisp/gnus/nnimap.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/nnimap.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1645,7 +1645,7 @@
       result)))
 
 (defun nnimap-mark-permanent-p (mark &optional group)
-  "Return t iff MARK can be permanently (between IMAP sessions) saved on articles, in GROUP."
+  "Return t if MARK can be permanently (between IMAP sessions) saved on articles, in GROUP."
   (imap-message-flag-permanent-p (nnimap-mark-to-flag mark)))
 
 (when nnimap-debug
--- a/lisp/gnus/nntp.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/gnus/nntp.el	Mon Aug 13 13:41:28 2007 +0000
@@ -183,6 +183,14 @@
 If the gap between two consecutive articles is bigger than this
 variable, split the XOVER request into two requests.")
 
+(defvoo nntp-xref-number-is-evil nil
+  "*If non-nil, Gnus never trusts article numbers in the Xref header.
+Some news servers, e.g., ones running Diablo, run multiple engines
+having the same articles but article numbers are not kept synchronized
+between them.  If you connect to such a server, set this to a non-nil
+value, and Gnus never uses article numbers (that appear in the Xref
+header and vary by which engine is chosen) to refer to articles.")
+
 (defvoo nntp-prepare-server-hook nil
   "*Hook run before a server is opened.
 If can be used to set up a server remotely, for instance.  Say you
@@ -1632,7 +1640,8 @@
 		    (match-string 1 xref))
 		   (t "")))
 	  (cond
-	   ((and (setq xref (mail-fetch-field "xref"))
+	   ((and (not nntp-xref-number-is-evil)
+		 (setq xref (mail-fetch-field "xref"))
 		 (string-match
 		  (if group
 		      (concat "\\(" (regexp-quote group) "\\):\\([0-9]+\\)")
--- a/lisp/help.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/help.el	Mon Aug 13 13:41:28 2007 +0000
@@ -958,14 +958,14 @@
     (remove-hook 'temp-buffer-show-hook 'resize-temp-buffer-window)))
 
 (defun resize-temp-buffer-window ()
-  "Resize the current window to fit its contents.
+  "Resize the selected window to fit its contents.
 Will not make it higher than `temp-buffer-max-height' nor smaller than
 `window-min-height'.  Do nothing if it is the only window on its frame, if it
 is not as wide as the frame or if some of the window's contents are scrolled
 out of view."
   (unless (or (one-window-p 'nomini)
               (not (pos-visible-in-window-p (point-min)))
-              (/=  (frame-width) (window-width)))
+              (not (window-full-width-p)))
     (fit-window-to-buffer
      (selected-window)
      (if (functionp temp-buffer-max-height)
--- a/lisp/hilit-chg.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/hilit-chg.el	Mon Aug 13 13:41:28 2007 +0000
@@ -131,7 +131,7 @@
 ;;   an example, if the value is `buffer-file-name' then all buffers
 ;;   who are visiting files are suitable, but others (like dired
 ;;   buffers) are not;
-;; * a list -- then the buffer is suitable iff its mode is in the
+;; * a list -- then the buffer is suitable if its mode is in the
 ;;   list, except if the first element is `not', in which case the test
 ;;   is reversed (i.e. it is a list of unsuitable modes).
 ;; * Otherwise, the buffer is suitable if its name does not begin with
--- a/lisp/ibuf-ext.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/ibuf-ext.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1331,7 +1331,7 @@
 With no prefix arg, use the filename sans its directory of each marked file.
 With a zero prefix arg, use the complete filename of each marked file.
 With \\[universal-argument], use the filename of each marked file relative
-to `ibuffer-default-directory' iff non-nil, otherwise `default-directory'.
+to `ibuffer-default-directory' if non-nil, otherwise `default-directory'.
 
 You can then feed the file name(s) to other commands with \\[yank]."
   (interactive "p")
--- a/lisp/ibuffer.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/ibuffer.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1835,7 +1835,7 @@
 
 (defun ibuffer-map-lines (function &optional nomodify group)
   "Call FUNCTION for each buffer.
-Don't set the ibuffer modification flag iff NOMODIFY is non-nil.
+Set the ibuffer modification flag unless NOMODIFY is non-nil.
 
 If optional argument GROUP is non-nil, then only call FUNCTION on
 buffers in filtering group GROUP.
@@ -2267,7 +2267,7 @@
 
 (defun ibuffer-quit ()
   "Quit this `ibuffer' session.
-Try to restore the previous window configuration iff
+Try to restore the previous window configuration if
 `ibuffer-restore-window-config-on-quit' is non-nil."
   (interactive)
   (if ibuffer-restore-window-config-on-quit
--- a/lisp/icomplete.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/icomplete.el	Mon Aug 13 13:41:28 2007 +0000
@@ -99,7 +99,7 @@
 (defcustom icomplete-minibuffer-setup-hook nil
   "*Icomplete-specific customization of minibuffer setup.
 
-This hook is run during minibuffer setup iff icomplete will be active.
+This hook is run during minibuffer setup if icomplete is active.
 It is intended for use in customizing icomplete for interoperation
 with other features and packages.  For instance:
 
@@ -168,7 +168,8 @@
 ;;;###autoload
 (define-minor-mode icomplete-mode
   "Toggle incremental minibuffer completion for this Emacs session.
-With a numeric argument, turn Icomplete mode on iff ARG is positive."
+With a numeric argument, turn Icomplete mode on if ARG is positive,
+otherwise turn it off."
   :global t :group 'icomplete
   (if icomplete-mode
       ;; The following is not really necessary after first time -
--- a/lisp/ido.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/ido.el	Mon Aug 13 13:41:28 2007 +0000
@@ -898,7 +898,7 @@
 (defcustom ido-minibuffer-setup-hook nil
   "*Ido-specific customization of minibuffer setup.
 
-This hook is run during minibuffer setup iff `ido' will be active.
+This hook is run during minibuffer setup if `ido' is active.
 It is intended for use in customizing ido for interoperation
 with other packages.  For instance:
 
--- a/lisp/image.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/image.el	Mon Aug 13 13:41:28 2007 +0000
@@ -327,7 +327,7 @@
 
 ;;;###autoload
 (defun image-type-auto-detected-p ()
-  "Return t iff the current buffer contains an auto-detectable image.
+  "Return t if the current buffer contains an auto-detectable image.
 This function is intended to be used from `magic-fallback-mode-alist'.
 
 The buffer is considered to contain an auto-detectable image if
--- a/lisp/imenu.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/imenu.el	Mon Aug 13 13:41:28 2007 +0000
@@ -727,7 +727,7 @@
 appear in the menu.  See the info section on Regexps for more
 information.  REGEXP may also be a function, called without
 arguments.  It is expected to search backwards.  It shall return
-true and set `match-data' iff it finds another element.
+true and set `match-data' if it finds another element.
 
 INDEX points to the substring in REGEXP that contains the
 name (of the function, variable or type) that is to appear in the
--- a/lisp/info-look.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/info-look.el	Mon Aug 13 13:41:28 2007 +0000
@@ -144,7 +144,7 @@
   (apply 'info-lookup-add-help* nil arg))
 
 (defun info-lookup-maybe-add-help (&rest arg)
-  "Add a help specification iff none is defined.
+  "Add a help specification if none is defined.
 See the documentation of the function `info-lookup-add-help'
 for more details."
   (apply 'info-lookup-add-help* t arg))
--- a/lisp/international/ja-dic-cnv.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/international/ja-dic-cnv.el	Mon Aug 13 13:41:28 2007 +0000
@@ -215,8 +215,8 @@
 ;; Return t if substring of STR (between FROM and TO) can be broken up
 ;; to chunks all of which can be derived from another entry in SKK
 ;; dictionary.  SKKBUF is the buffer where the original SKK dictionary
-;; is visited, KANA is the current entry for STR.  FIRST is t iff this
-;; is called at top level.
+;; is visited, KANA is the current entry for STR.  FIRST is t only if
+;; this is called at top level.
 
 (defun skkdic-breakup-string (skkbuf kana str from to &optional first)
   (let ((len (- to from)))
--- a/lisp/international/latin1-disp.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/international/latin1-disp.el	Mon Aug 13 13:41:28 2007 +0000
@@ -777,9 +777,9 @@
   "Set up Latin-1/ASCII display for Unicode characters.
 This uses the transliterations of the Lynx browser.
 
-With argument ARG, turn such display on iff ARG is positive, otherwise
+With argument ARG, turn such display on if ARG is positive, otherwise
 turn it off and display Unicode characters literally.  The display
-is't changed if the display can render Unicode characters."
+isn't changed if the display can render Unicode characters."
   (interactive "p")
   (if (> arg 0)
       (unless (char-displayable-p
--- a/lisp/international/mule-cmds.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/international/mule-cmds.el	Mon Aug 13 13:41:28 2007 +0000
@@ -445,11 +445,11 @@
 		    (let ((base (coding-system-base x)))
 		      ;; We calculate the priority number 0..255 by
 		      ;; using the 8 bits PMMLCEII as this:
-		      ;; P: 1 iff most preferred.
-		      ;; MM: greater than 0 iff mime-charset.
-		      ;; L: 1 iff one of the current lang. env.'s codings.
-		      ;; C: 1 iff one of codings listed in the category list.
-		      ;; E: 1 iff not XXX-with-esc
+		      ;; P: 1 if most preferred.
+		      ;; MM: greater than 0 if mime-charset.
+		      ;; L: 1 if one of the current lang. env.'s codings.
+		      ;; C: 1 if one of codings listed in the category list.
+		      ;; E: 1 if not XXX-with-esc
 		      ;; II: if iso-2022 based, 0..3, else 1.
 		      (logior
 		       (lsh (if (eq base most-preferred) 1 0) 7)
--- a/lisp/international/quail.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/international/quail.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1942,7 +1942,7 @@
       (overlay-put quail-overlay 'face 'highlight))))
 
 (defun quail-require-guidance-buf ()
-  "Return t iff the current Quail package requires showing guidance buffer."
+  "Return t if the current Quail package requires showing guidance buffer."
   (and input-method-verbose-flag
        (if (eq input-method-verbose-flag 'default)
 	   (not (and (eq (selected-window) (minibuffer-window))
--- a/lisp/isearch.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/isearch.el	Mon Aug 13 13:41:28 2007 +0000
@@ -825,7 +825,7 @@
     (run-hooks 'isearch-mode-end-hook))
 
   ;; If there was movement, mark the starting position.
-  ;; Maybe should test difference between and set mark iff > threshold.
+  ;; Maybe should test difference between and set mark only if > threshold.
   (if (/= (point) isearch-opoint)
       (or (and transient-mark-mode mark-active)
 	  (progn
@@ -2329,7 +2329,7 @@
 ;;  - the direction of the current search is expected to be given by
 ;;    `isearch-forward';
 ;;  - the variable `isearch-error' is expected to be true
-;;    iff `isearch-string' is an invalid regexp.
+;;    only if `isearch-string' is an invalid regexp.
 
 (defvar isearch-lazy-highlight-overlays nil)
 (defvar isearch-lazy-highlight-wrapped nil)
--- a/lisp/iswitchb.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/iswitchb.el	Mon Aug 13 13:41:28 2007 +0000
@@ -396,7 +396,7 @@
 (defcustom iswitchb-minibuffer-setup-hook nil
   "Iswitchb-specific customization of minibuffer setup.
 
-This hook is run during minibuffer setup iff `iswitchb' will be active.
+This hook is run during minibuffer setup if `iswitchb' is active.
 For instance:
 \(add-hook 'iswitchb-minibuffer-setup-hook
 	  '\(lambda () (set (make-local-variable 'max-mini-window-height) 3)))
@@ -1440,7 +1440,7 @@
     (iswitchb-to-end summaries)))
 
 (defun iswitchb-case ()
-  "Return non-nil iff we should ignore case when matching.
+  "Return non-nil if we should ignore case when matching.
 See the variable `iswitchb-case' for details."
   (if iswitchb-case
       (if (featurep 'xemacs)
@@ -1450,7 +1450,7 @@
 ;;;###autoload
 (define-minor-mode iswitchb-mode
   "Toggle Iswitchb global minor mode.
-With arg, turn Iswitchb mode on if and only iff ARG is positive.
+With arg, turn Iswitchb mode on if ARG is positive, otherwise turn it off.
 This mode enables switching between buffers using substrings.  See
 `iswitchb' for details."
   nil nil iswitchb-global-map :global t :group 'iswitchb
--- a/lisp/log-edit.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/log-edit.el	Mon Aug 13 13:41:28 2007 +0000
@@ -568,7 +568,7 @@
 (defvar user-mail-address)
 (defun log-edit-changelog-ours-p ()
   "See if ChangeLog entry at point is for the current user, today.
-Return non-nil iff it is."
+Return non-nil if it is."
   ;; Code adapted from add-change-log-entry.
   (let ((name (or (and (boundp 'add-log-full-name) add-log-full-name)
 		  (and (fboundp 'user-full-name) (user-full-name))
--- a/lisp/log-view.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/log-view.el	Mon Aug 13 13:41:28 2007 +0000
@@ -174,6 +174,7 @@
               (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
               (0 log-view-file-face append)))
     (eval . `(,log-view-message-re . log-view-message-face))))
+
 (defconst log-view-font-lock-defaults
   '(log-view-font-lock-keywords t nil nil nil))
 
--- a/lisp/mail/mspools.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mail/mspools.el	Mon Aug 13 13:41:28 2007 +0000
@@ -398,7 +398,7 @@
     ))
 
 (defun mspools-size-folder (spool)
-  "Return (SPOOL . SIZE ) iff SIZE of spool file is non-zero."
+  "Return (SPOOL . SIZE ), if SIZE of spool file is non-zero."
   ;; 7th file attribute is the size of the file in bytes.
   (let ((file (concat mspools-folder-directory spool))
 	size)
--- a/lisp/mail/rmail.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mail/rmail.el	Mon Aug 13 13:41:28 2007 +0000
@@ -3992,13 +3992,13 @@
 	    (mail-position-on-field (if resending "Resent-To" "To") t))))))
 
 (defun rmail-summary-exists ()
-  "Non-nil iff in an RMAIL buffer and an associated summary buffer exists.
+  "Non-nil if in an RMAIL buffer and an associated summary buffer exists.
 In fact, the non-nil value returned is the summary buffer itself."
   (and rmail-summary-buffer (buffer-name rmail-summary-buffer)
        rmail-summary-buffer))
 
 (defun rmail-summary-displayed ()
-  "t iff in RMAIL buffer and an associated summary buffer is displayed."
+  "t if in RMAIL buffer and an associated summary buffer is displayed."
   (and rmail-summary-buffer (get-buffer-window rmail-summary-buffer)))
 
 (defcustom rmail-redisplay-summary nil
--- a/lisp/man.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/man.el	Mon Aug 13 13:41:28 2007 +0000
@@ -37,7 +37,7 @@
 
 ;; ========== Credits and History ==========
 ;; In mid 1991, several people posted some interesting improvements to
-;; man.el from the standard emacs 18.57 distribution.  I liked many of
+;; man.el from the standard Emacs 18.57 distribution.  I liked many of
 ;; these, but wanted everything in one single package, so I decided
 ;; to incorporate them into a single manual browsing mode.  While
 ;; much of the code here has been rewritten, and some features added,
@@ -64,7 +64,7 @@
 ;; ========== Features ==========
 ;; + Runs "man" in the background and pipes the results through a
 ;;   series of sed and awk scripts so that all retrieving and cleaning
-;;   is done in the background. The cleaning commands are configurable.
+;;   is done in the background.  The cleaning commands are configurable.
 ;; + Syntax is the same as Un*x man
 ;; + Functionality is the same as Un*x man, including "man -k" and
 ;;   "man <section>", etc.
@@ -109,8 +109,6 @@
 
 
 (defvar Man-notify)
-(defvar Man-current-page)
-(defvar Man-page-list)
 (defcustom Man-filter-list nil
   "*Manpage cleaning filter command phrases.
 This variable contains a list of the following form:
@@ -127,13 +125,8 @@
 			       (string :tag "Phrase String"))))
   :group 'man)
 
-(defvar Man-original-frame)
-(defvar Man-arguments)
-(defvar Man-sections-alist)
-(defvar Man-refpages-alist)
 (defvar Man-uses-untabify-flag t
   "Non-nil means use `untabify' instead of `Man-untabify-command'.")
-(defvar Man-page-mode-string)
 (defvar Man-sed-script nil
   "Script for sed to nuke backspaces and ANSI codes from manpages.")
 
@@ -141,28 +134,28 @@
 ;; user variables
 
 (defcustom Man-fontify-manpage-flag t
-  "*Non-nil means make up the manpage with fonts."
+  "Non-nil means make up the manpage with fonts."
   :type 'boolean
   :group 'man)
 
 (defcustom Man-overstrike-face 'bold
-  "*Face to use when fontifying overstrike."
+  "Face to use when fontifying overstrike."
   :type 'face
   :group 'man)
 
 (defcustom Man-underline-face 'underline
-  "*Face to use when fontifying underlining."
+  "Face to use when fontifying underlining."
   :type 'face
   :group 'man)
 
 (defcustom Man-reverse-face 'highlight
-  "*Face to use when fontifying reverse video."
+  "Face to use when fontifying reverse video."
   :type 'face
   :group 'man)
 
 ;; Use the value of the obsolete user option Man-notify, if set.
 (defcustom Man-notify-method (if (boundp 'Man-notify) Man-notify 'friendly)
-  "*Selects the behavior when manpage is ready.
+  "Selects the behavior when manpage is ready.
 This variable may have one of the following values, where (sf) means
 that the frames are switched, so the manpage is displayed in the frame
 where the man command was called from:
@@ -183,7 +176,7 @@
   :group 'man)
 
 (defcustom Man-width nil
-  "*Number of columns for which manual pages should be formatted.
+  "Number of columns for which manual pages should be formatted.
 If nil, the width of the window selected at the moment of man
 invocation is used.  If non-nil, the width of the frame selected
 at the moment of man invocation is used.  The value also can be a
@@ -194,12 +187,12 @@
   :group 'man)
 
 (defcustom Man-frame-parameters nil
-  "*Frame parameter list for creating a new frame for a manual page."
+  "Frame parameter list for creating a new frame for a manual page."
   :type 'sexp
   :group 'man)
 
 (defcustom Man-downcase-section-letters-flag t
-  "*Non-nil means letters in sections are converted to lower case.
+  "Non-nil means letters in sections are converted to lower case.
 Some Un*x man commands can't handle uppercase letters in sections, for
 example \"man 2V chmod\", but they are often displayed in the manpage
 with the upper case letter.  When this variable is t, the section
@@ -209,7 +202,7 @@
   :group 'man)
 
 (defcustom Man-circular-pages-flag t
-  "*Non-nil means the manpage list is treated as circular for traversal."
+  "Non-nil means the manpage list is treated as circular for traversal."
   :type 'boolean
   :group 'man)
 
@@ -220,7 +213,7 @@
    ;; '("3X" . "3")                        ; Xlib man pages
    '("3X11" . "3")
    '("1-UCB" . ""))
-  "*Association list of bogus sections to real section numbers.
+  "Association list of bogus sections to real section numbers.
 Some manpages (e.g. the Sun C++ 2.1 manpages) have section numbers in
 their references which Un*x `man' does not recognize.  This
 association list is used to translate those sections, when found, to
@@ -250,9 +243,6 @@
 (defvar Man-awk-command "awk"
   "Command used for processing awk scripts.")
 
-(defvar Man-mode-map nil
-  "Keymap for Man mode.")
-
 (defvar Man-mode-hook nil
   "Hook run when Man mode is enabled.")
 
@@ -349,20 +339,22 @@
 ;; end user variables
 
 ;; other variables and keymap initializations
-(make-variable-buffer-local 'Man-sections-alist)
-(make-variable-buffer-local 'Man-refpages-alist)
-(make-variable-buffer-local 'Man-page-list)
-(make-variable-buffer-local 'Man-current-page)
-(make-variable-buffer-local 'Man-page-mode-string)
+(defvar Man-original-frame)
 (make-variable-buffer-local 'Man-original-frame)
+(defvar Man-arguments)
 (make-variable-buffer-local 'Man-arguments)
 (put 'Man-arguments 'permanent-local t)
 
-(setq-default Man-sections-alist nil)
-(setq-default Man-refpages-alist nil)
-(setq-default Man-page-list nil)
-(setq-default Man-current-page 0)
-(setq-default Man-page-mode-string "1 of 1")
+(defvar Man-sections-alist nil)
+(make-variable-buffer-local 'Man-sections-alist)
+(defvar Man-refpages-alist nil)
+(make-variable-buffer-local 'Man-refpages-alist)
+(defvar Man-page-list nil)
+(make-variable-buffer-local 'Man-page-list)
+(defvar Man-current-page 0)
+(make-variable-buffer-local 'Man-current-page)
+(defvar Man-page-mode-string "1 of 1")
+(make-variable-buffer-local 'Man-page-mode-string)
 
 (defconst Man-sysv-sed-script "\
 /\b/ {	s/_\b//g
@@ -398,30 +390,32 @@
     table)
   "Syntax table used in Man mode buffers.")
 
-(unless Man-mode-map
-  (setq Man-mode-map (make-sparse-keymap))
-  (suppress-keymap Man-mode-map)
-  (set-keymap-parent Man-mode-map button-buffer-map)
+(defvar Man-mode-map
+  (let ((map (make-sparse-keymap)))
+    (suppress-keymap map)
+    (set-keymap-parent map button-buffer-map)
 
-  (define-key Man-mode-map " "    'scroll-up)
-  (define-key Man-mode-map "\177" 'scroll-down)
-  (define-key Man-mode-map "n"    'Man-next-section)
-  (define-key Man-mode-map "p"    'Man-previous-section)
-  (define-key Man-mode-map "\en"  'Man-next-manpage)
-  (define-key Man-mode-map "\ep"  'Man-previous-manpage)
-  (define-key Man-mode-map ">"    'end-of-buffer)
-  (define-key Man-mode-map "<"    'beginning-of-buffer)
-  (define-key Man-mode-map "."    'beginning-of-buffer)
-  (define-key Man-mode-map "r"    'Man-follow-manual-reference)
-  (define-key Man-mode-map "g"    'Man-goto-section)
-  (define-key Man-mode-map "s"    'Man-goto-see-also-section)
-  (define-key Man-mode-map "k"    'Man-kill)
-  (define-key Man-mode-map "q"    'Man-quit)
-  (define-key Man-mode-map "m"    'man)
-  ;; Not all the man references get buttons currently. The text in the
-  ;; manual page can contain references to other man pages
-  (define-key Man-mode-map "\r"   'man-follow)
-  (define-key Man-mode-map "?"    'describe-mode))
+    (define-key map " "    'scroll-up)
+    (define-key map "\177" 'scroll-down)
+    (define-key map "n"    'Man-next-section)
+    (define-key map "p"    'Man-previous-section)
+    (define-key map "\en"  'Man-next-manpage)
+    (define-key map "\ep"  'Man-previous-manpage)
+    (define-key map ">"    'end-of-buffer)
+    (define-key map "<"    'beginning-of-buffer)
+    (define-key map "."    'beginning-of-buffer)
+    (define-key map "r"    'Man-follow-manual-reference)
+    (define-key map "g"    'Man-goto-section)
+    (define-key map "s"    'Man-goto-see-also-section)
+    (define-key map "k"    'Man-kill)
+    (define-key map "q"    'Man-quit)
+    (define-key map "m"    'man)
+    ;; Not all the man references get buttons currently.  The text in the
+    ;; manual page can contain references to other man pages
+    (define-key map "\r"   'man-follow)
+    (define-key map "?"    'describe-mode)
+    map)
+  "Keymap for Man mode.")
 
 ;; buttons
 (define-button-type 'Man-abstract-xref-man-page
@@ -730,8 +724,7 @@
       (require 'env)
       (message "Invoking %s %s in the background" manual-program man-args)
       (setq buffer (generate-new-buffer bufname))
-      (save-excursion
-	(set-buffer buffer)
+      (with-current-buffer buffer
 	(setq buffer-undo-list t)
 	(setq Man-original-frame (selected-frame))
 	(setq Man-arguments man-args))
@@ -802,8 +795,7 @@
 (defun Man-notify-when-ready (man-buffer)
   "Notify the user when MAN-BUFFER is ready.
 See the variable `Man-notify-method' for the different notification behaviors."
-  (let ((saved-frame (save-excursion
-		       (set-buffer man-buffer)
+  (let ((saved-frame (with-current-buffer man-buffer
 		       Man-original-frame)))
     (cond
      ((eq Man-notify-method 'newframe)
@@ -975,7 +967,7 @@
 		       (Man-next-section 1)
 		       (point)))
 		 (goto-char (point-min))
-		 (point-max))))
+		 nil)))
       (while (re-search-forward regexp end t)
 	(make-text-button
 	 (match-beginning button-pos)
@@ -1031,8 +1023,7 @@
 	(or (stringp process)
 	    (set-process-buffer process nil))
 
-      (save-excursion
-	(set-buffer Man-buffer)
+      (with-current-buffer Man-buffer
 	(let ((case-fold-search nil))
 	  (goto-char (point-min))
 	  (cond ((or (looking-at "No \\(manual \\)*entry for")
@@ -1223,13 +1214,10 @@
 
 (defun Man-strip-page-headers ()
   "Strip all the page headers but the first from the manpage."
-  (let ((buffer-read-only nil)
+  (let ((inhibit-read-only t)
 	(case-fold-search nil)
-	(page-list Man-page-list)
-	(page ())
 	(header ""))
-    (while page-list
-      (setq page (car page-list))
+    (dolist (page Man-page-list)
       (and (nth 2 page)
 	   (goto-char (car page))
 	   (re-search-forward Man-first-heading-regexp nil t)
@@ -1243,17 +1231,14 @@
 	   ;; line.
 	   ;; (setq header (concat "\n" header)))
 	   (while (search-forward header (nth 1 page) t)
-	     (replace-match "")))
-      (setq page-list (cdr page-list)))))
+	     (replace-match ""))))))
 
 (defun Man-unindent ()
   "Delete the leading spaces that indent the manpage."
-  (let ((buffer-read-only nil)
-	(case-fold-search nil)
-	(page-list Man-page-list))
-    (while page-list
-      (let ((page (car page-list))
-	    (indent "")
+  (let ((inhibit-read-only t)
+	(case-fold-search nil))
+    (dolist (page Man-page-list)
+      (let ((indent "")
 	    (nindent 0))
 	(narrow-to-region (car page) (car (cdr page)))
 	(if Man-uses-untabify-flag
@@ -1281,7 +1266,6 @@
 	      (or (eolp)
 		  (delete-char nindent))
 	      (forward-line 1)))
-	(setq page-list (cdr page-list))
 	))))
 
 
@@ -1291,14 +1275,18 @@
 (defun Man-next-section (n)
   "Move point to Nth next section (default 1)."
   (interactive "p")
-  (let ((case-fold-search nil))
+  (let ((case-fold-search nil)
+        (start (point)))
     (if (looking-at Man-heading-regexp)
 	(forward-line 1))
     (if (re-search-forward Man-heading-regexp (point-max) t n)
 	(beginning-of-line)
       (goto-char (point-max))
       ;; The last line doesn't belong to any section.
-      (forward-line -1))))
+      (forward-line -1))
+    ;; But don't move back from the starting point (can happen if `start'
+    ;; is somewhere on the last line).
+    (if (< (point) start) (goto-char start))))
 
 (defun Man-previous-section (n)
   "Move point to Nth previous section (default 1)."
@@ -1462,7 +1450,7 @@
   (let ((path Man-header-file-path)
         complete-path)
     (while path
-      (setq complete-path (concat (car path) "/" file)
+      (setq complete-path (expand-file-name file (car path))
             path (cdr path))
       (if (file-readable-p complete-path)
           (progn (view-file complete-path)
--- a/lisp/mh-e/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mh-e/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,8 @@
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* mh-folder.el, mh-letter.el, mh-show.el: Replace `iff' in
+	doc-strings and comments.
+
 2007-07-25  Glenn Morris  <rgm@gnu.org>
 
 	* Relicense all FSF files to GPLv3 or later.
--- a/lisp/mh-e/mh-folder.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mh-e/mh-folder.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1495,7 +1495,7 @@
 
 (defun mh-update-unseen ()
   "Synchronize the unseen sequence with MH.
-Return non-nil iff the MH folder was set.
+Return non-nil if the MH folder was set.
 The hook `mh-unseen-updated-hook' is called after the unseen sequence
 is updated."
   (if mh-seen-list
--- a/lisp/mh-e/mh-letter.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mh-e/mh-letter.el	Mon Aug 13 13:41:28 2007 +0000
@@ -844,7 +844,7 @@
 (defun mh-position-on-field (field &optional ignored)
   "Move to the end of the FIELD in the header.
 Move to end of entire header if FIELD not found.
-Returns non-nil iff FIELD was found.
+Returns non-nil if FIELD was found.
 The optional second arg is for pre-version 4 compatibility and is
 IGNORED."
   (cond ((mh-goto-header-field field)
--- a/lisp/mh-e/mh-show.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mh-e/mh-show.el	Mon Aug 13 13:41:28 2007 +0000
@@ -161,7 +161,7 @@
 (defun mh-showing-mode (&optional arg)
   "Change whether messages should be displayed.
 
-With ARG, display messages iff ARG is positive."
+With ARG, display messages if ARG is positive, otherwise don't display them."
   (setq mh-showing-mode
         (if (null arg)
             (not mh-showing-mode)
--- a/lisp/mouse-drag.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/mouse-drag.el	Mon Aug 13 13:41:28 2007 +0000
@@ -158,7 +158,7 @@
 Basically, we check for existing horizontal scrolling."
   (or truncate-lines
       (> (window-hscroll (selected-window)) 0)
-      (< (window-width) (frame-width))
+      (not (window-full-width-p))
       (and
        mouse-drag-electric-col-scrolling
        (save-excursion  ;; on a long line?
--- a/lisp/net/trampver.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/net/trampver.el	Mon Aug 13 13:41:28 2007 +0000
@@ -4,7 +4,7 @@
 
 ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
-;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
+;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, processes
 
 ;; This file is part of GNU Emacs.
--- a/lisp/obsolete/fast-lock.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/obsolete/fast-lock.el	Mon Aug 13 13:41:28 2007 +0000
@@ -523,7 +523,7 @@
 		;; Just a directory.
 		directory)
 	       (t
-		;; A directory iff the file name matches the regexp.
+		;; A directory if the file name matches the regexp.
 		(let ((bufile (expand-file-name buffer-file-truename))
 		      (case-fold-search nil))
 		  (when (save-match-data (string-match (car directory) bufile))
--- a/lisp/pcvs-util.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/pcvs-util.el	Mon Aug 13 13:41:28 2007 +0000
@@ -211,7 +211,8 @@
 (defconst cvs-qtypedesc-string1 (cvs-qtypedesc-create 'identity 'identity t))
 (defconst cvs-qtypedesc-string (cvs-qtypedesc-create 'identity 'identity))
 (defconst cvs-qtypedesc-strings
-  (cvs-qtypedesc-create 'string->strings 'strings->string nil))
+  (cvs-qtypedesc-create 'split-string-and-unquote
+			'combine-and-quote-strings nil))
 
 (defun cvs-query-read (default prompt qtypedesc &optional hist-sym)
   (let* ((qtypedesc (or qtypedesc cvs-qtypedesc-strings))
--- a/lisp/pcvs.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/pcvs.el	Mon Aug 13 13:41:28 2007 +0000
@@ -182,7 +182,7 @@
 	  (when (re-search-forward
 		 (concat "^" cmd "\\(\\s-+\\(.*\\)\\)?$") nil t)
 	    (let* ((sym (intern (concat "cvs-" cmd "-flags")))
-		   (val (string->strings (or (match-string 2) ""))))
+		   (val (split-string-and-unquote (or (match-string 2) ""))))
 	      (cvs-flags-set sym 0 val))))
 	;; ensure that cvs doesn't have -q or -Q
 	(cvs-flags-set 'cvs-cvs-flags 0
@@ -612,7 +612,7 @@
 			  (t arg)))
 		       args)))
     (concat cvs-program " "
-	    (strings->string
+	    (combine-and-quote-strings
 	     (append (cvs-flags-query 'cvs-cvs-flags nil 'noquery)
 		     (if cvs-cvsroot (list "-d" cvs-cvsroot))
 		     args
@@ -941,7 +941,8 @@
    (let ((root (cvs-get-cvsroot)))
      (if (or (null root) current-prefix-arg)
 	 (setq root (read-string "CVS Root: ")))
-     (list (string->strings (read-string "Module(s): " (cvs-get-module)))
+     (list (split-string-and-unquote
+	    (read-string "Module(s): " (cvs-get-module)))
 	   (read-directory-name "CVS Checkout Directory: "
 				nil default-directory nil)
 	   (cvs-add-branch-prefix
@@ -964,7 +965,7 @@
 			 (if branch (format " (branch: %s)" branch)
 			   ""))))
      (list (read-directory-name prompt nil default-directory nil))))
-  (let ((modules (string->strings (cvs-get-module)))
+  (let ((modules (split-string-and-unquote (cvs-get-module)))
 	(flags (cvs-add-branch-prefix
 		(cvs-flags-query 'cvs-checkout-flags "cvs checkout flags")))
 	(cvs-cvsroot (cvs-get-cvsroot)))
@@ -2253,7 +2254,7 @@
       (let* ((args (append constant-args arg-list)))
 
 	(insert (format "=== %s %s\n\n"
-			program (strings->string args)))
+			program (split-string-and-unquote args)))
 
 	;; FIXME: return the exit status?
 	(apply 'call-process program nil t t args)
--- a/lisp/progmodes/antlr-mode.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/antlr-mode.el	Mon Aug 13 13:41:28 2007 +0000
@@ -568,7 +568,7 @@
 general value, or `antlr-read-boolean' with ARGs = \(PROMPT TABLE) which
 reads a boolean value or a member of TABLE.  PROMPT is the prompt when
 asking for a new value.  If non-nil, TABLE is a table for completion or
-a function evaluating to such a table.  The return value is quoted iff
+a function evaluating to such a table.  The return value is quoted if
 AS-STRING is non-nil and is either t or a symbol which is a member of
 `antlr-options-style'.")
 
@@ -2203,8 +2203,8 @@
 part \(CLASS-SPEC ...) in the result of `antlr-directory-dependencies'.
 
 The result looks like \(OPTION WITH-UNKNOWN GLIB ...).  OPTION is the
-complete \"-glib\" option.  WITH-UNKNOWN has value t iff there is none
-or more than one grammar file for at least one super grammar.
+complete \"-glib\" option.  WITH-UNKNOWN is t if there is none or more
+than one grammar file for at least one super grammar.
 
 Each GLIB looks like \(GRAMMAR-FILE \. EVOCAB).  GRAMMAR-FILE is a file
 in which a super-grammar is defined.  EVOCAB is the value of the export
--- a/lisp/progmodes/cc-awk.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/cc-awk.el	Mon Aug 13 13:41:28 2007 +0000
@@ -478,7 +478,7 @@
 
 (defun c-awk-get-NL-prop-prev-line (&optional do-lim)
   ;; Get the c-awk-NL-prop text-property from the previous line, calculating
-  ;; it if necessary.  Return nil iff we're already at BOB.
+  ;; it if necessary.  Return nil if we're at BOB.
   ;; See c-awk-after-if-for-while-condition-p for a description of DO-LIM.
   ;;
   ;; This function might do hidden buffer changes.
--- a/lisp/progmodes/cc-engine.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/cc-engine.el	Mon Aug 13 13:41:28 2007 +0000
@@ -5116,7 +5116,7 @@
   ;;     Foo::Foo (int b) : Base (b) {}
   ;; car ^                ^ point
   ;;
-  ;;   The cdr of the return value is non-nil iff a
+  ;;   The cdr of the return value is non-nil if a
   ;;   `c-typedef-decl-kwds' specifier is found in the declaration,
   ;;   i.e. the declared identifier(s) are types.
   ;;
--- a/lisp/progmodes/cc-vars.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/cc-vars.el	Mon Aug 13 13:41:28 2007 +0000
@@ -186,7 +186,7 @@
 		    (bq-process type)))))))))
 
 (defun c-valid-offset (offset)
-  "Return non-nil iff OFFSET is a valid offset for a syntactic symbol.
+  "Return non-nil if OFFSET is a valid offset for a syntactic symbol.
 See `c-offsets-alist'."
   (or (eq offset '+)
       (eq offset '-)
--- a/lisp/progmodes/compile.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/compile.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1163,7 +1163,7 @@
   "Set the height of WINDOW according to `compilation-window-height'."
   (let ((height (buffer-local-value 'compilation-window-height (window-buffer window))))
     (and height
-	 (= (window-width window) (frame-width (window-frame window)))
+	 (window-full-width-p window)
 	 ;; If window is alone in its frame, aside from a minibuffer,
 	 ;; don't change its height.
 	 (not (eq window (frame-root-window (window-frame window))))
@@ -1623,12 +1623,10 @@
 
 (defun compilation-find-buffer (&optional avoid-current)
   "Return a compilation buffer.
-If AVOID-CURRENT is nil, and
-the current buffer is a compilation buffer, return it.
-If AVOID-CURRENT is non-nil, return the current buffer
-only as a last resort."
-  (if (and (compilation-buffer-internal-p (current-buffer))
-	   (not avoid-current))
+If AVOID-CURRENT is nil, and the current buffer is a compilation buffer,
+return it.  If AVOID-CURRENT is non-nil, return the current buffer only
+as a last resort."
+  (if (and (compilation-buffer-internal-p) (not avoid-current))
       (current-buffer)
     (next-error-find-buffer avoid-current 'compilation-buffer-internal-p)))
 
--- a/lisp/progmodes/cperl-mode.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/cperl-mode.el	Mon Aug 13 13:41:28 2007 +0000
@@ -3558,7 +3558,7 @@
 	  (modify-syntax-entry starter (if (eq starter ?\\) "\\" ".") st)
 	  (if ender (modify-syntax-entry ender "." st))))
     ;; i: have 2 args, after end of the first arg
-    ;; i2: start of the second arg, if any (before delim iff `ender').
+    ;; i2: start of the second arg, if any (before delim if `ender').
     ;; ender: the last arg bounded by parens-like chars, the second one of them
     ;; starter: the starting delimiter of the first arg
     ;; go-forward: has 2 args, and the second part is empty
@@ -8090,7 +8090,7 @@
 (defun cperl-beautify-regexp-piece (b e embed level)
   ;; b is before the starting delimiter, e before the ending
   ;; e should be a marker, may be changed, but remains "correct".
-  ;; EMBED is nil iff we process the whole REx.
+  ;; EMBED is nil if we process the whole REx.
   ;; The REx is guaranteed to have //x
   ;; LEVEL shows how many levels deep to go
   ;; position at enter and at leave is not defined
--- a/lisp/progmodes/cpp.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/cpp.el	Mon Aug 13 13:41:28 2007 +0000
@@ -623,7 +623,8 @@
 
 (defun cpp-edit-toggle-known (arg)
   "Toggle writable status for known conditionals.
-With optional argument ARG, make them writable iff ARG is positive."
+With optional argument ARG, make them writable if ARG is positive,
+otherwise make them unwritable."
   (interactive "@P")
   (if (or (and (null arg) cpp-known-writable)
 	  (<= (prefix-numeric-value arg) 0))
@@ -633,7 +634,8 @@
 
 (defun cpp-edit-toggle-unknown (arg)
   "Toggle writable status for unknown conditionals.
-With optional argument ARG, make them writable iff ARG is positive."
+With optional argument ARG, make them writable if ARG is positive,
+otherwise make them unwritable."
   (interactive "@P")
   (if (or (and (null arg) cpp-unknown-writable)
 	  (<= (prefix-numeric-value arg) 0))
--- a/lisp/progmodes/etags.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/etags.el	Mon Aug 13 13:41:28 2007 +0000
@@ -256,10 +256,10 @@
 (defvar tags-included-tables-function nil
   "Function to do the work of `tags-included-tables' (which see).")
 (defvar verify-tags-table-function nil
-  "Function to return t iff current buffer contains valid tags file.")
+  "Function to return t if current buffer contains valid tags file.")
 
 ;; Initialize the tags table in the current buffer.
-;; Returns non-nil iff it is a valid tags table.  On
+;; Returns non-nil if it is a valid tags table.  On
 ;; non-nil return, the tags table state variable are
 ;; made buffer-local and initialized to nil.
 (defun initialize-new-tags-table ()
@@ -417,7 +417,7 @@
 (defun tags-verify-table (file)
   "Read FILE into a buffer and verify that it is a valid tags table.
 Sets the current buffer to one visiting FILE (if it exists).
-Returns non-nil iff it is a valid table."
+Returns non-nil if it is a valid table."
   (if (get-file-buffer file)
       ;; The file is already in a buffer.  Check for the visited file
       ;; having changed since we last used it.
@@ -1219,8 +1219,8 @@
 	       (verify-tags-table-function . etags-verify-tags-table)
 	       ))))
 
-;; Return non-nil iff the current buffer is a valid etags TAGS file.
 (defun etags-verify-tags-table ()
+  "Return non-nil if the current buffer is a valid etags TAGS file."
   ;; Use eq instead of = in case char-after returns nil.
   (eq (char-after (point-min)) ?\f))
 
--- a/lisp/progmodes/flymake.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/flymake.el	Mon Aug 13 13:41:28 2007 +0000
@@ -918,7 +918,7 @@
      ("\\(.*\\) at \\([^ \n]+\\) line \\([0-9]+\\)[,.\n]" 2 3 nil 1)
      ;; LaTeX warnings (fileless) ("\\(LaTeX \\(Warning\\|Error\\): .*\\) on input line \\([0-9]+\\)" 20 3 nil 1)
      ;; ant/javac
-     (" *\\(\\[javac\\]\\)? *\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)"
+     (" *\\(\\[javac\\] *\\)?\\(\\([a-zA-Z]:\\)?[^:(\t\n]+\\)\:\\([0-9]+\\)\:[ \t\n]*\\(.+\\)"
       2 4 nil 5))
    ;; compilation-error-regexp-alist)
    (flymake-reformat-err-line-patterns-from-compile-el compilation-error-regexp-alist-alist))
--- a/lisp/progmodes/fortran.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/fortran.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1831,7 +1831,7 @@
 ;; From: ralf@up3aud1.gwdg.de (Ralf Fassel)
 ;; Test if TAB format continuation lines work.
 (defun fortran-is-in-string-p (where)
-  "Return non-nil iff WHERE (a buffer position) is inside a Fortran string."
+  "Return non-nil if WHERE (a buffer position) is inside a Fortran string."
   (save-excursion
     (goto-char where)
     (cond
--- a/lisp/progmodes/gdb-ui.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/gdb-ui.el	Mon Aug 13 13:41:28 2007 +0000
@@ -347,7 +347,8 @@
 
 (defun gdb-many-windows (arg)
   "Toggle the number of windows in the basic arrangement.
-With arg, display additional buffers iff arg is positive."
+With prefix argument ARG, display additional buffers if ARG is positive,
+otherwise use a single window."
   (interactive "P")
   (setq gdb-many-windows
 	(if (null arg)
@@ -363,7 +364,8 @@
 
 (defun gdb-use-separate-io-buffer (arg)
   "Toggle separate IO for debugged program.
-With arg, use separate IO iff arg is positive."
+With prefix argument ARG, use separate IO if ARG is positive,
+otherwise do not."
   (interactive "P")
   (setq gdb-use-separate-io-buffer
 	(if (null arg)
@@ -664,7 +666,8 @@
 
 (defun gdb-speedbar-auto-raise (arg)
   "Toggle automatic raising of the speedbar for watch expressions.
-With arg, automatically raise speedbar iff arg is positive."
+With prefix argument ARG, automatically raise speedbar if ARG is
+positive, otherwise don't automatically raise it."
   (interactive "P")
   (setq gdb-speedbar-auto-raise
 	(if (null arg)
@@ -1381,7 +1384,8 @@
 
 (defun gdb-find-source-frame (arg)
   "Toggle trying to find a source frame further up stack.
-With arg, look for a source frame further up stack iff arg is positive."
+With prefix argument ARG, look for a source frame further up
+stack if ARG is positive, otherwise don't look further up."
   (interactive "P")
   (setq gdb-find-source-frame
 	(if (null arg)
--- a/lisp/progmodes/gud.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/gud.el	Mon Aug 13 13:41:28 2007 +0000
@@ -2467,7 +2467,7 @@
 ;; for local variables in the debugger buffer.
 (defun gud-common-init (command-line massage-args marker-filter
 				     &optional find-file)
-  (let* ((words (string->strings command-line))
+  (let* ((words (split-string-and-unquote command-line))
 	 (program (car words))
 	 (dir default-directory)
 	 ;; Extract the file name from WORDS
@@ -3361,7 +3361,7 @@
 
 (defun gud-tooltip-dereference (&optional arg)
   "Toggle whether tooltips should show `* expr' or `expr'.
-With arg, dereference expr iff arg is positive."
+With arg, dereference expr if ARG is positive, otherwise do not derereference."
  (interactive "P")
   (setq gud-tooltip-dereference
 	(if (null arg)
--- a/lisp/progmodes/hideshow.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/hideshow.el	Mon Aug 13 13:41:28 2007 +0000
@@ -262,7 +262,7 @@
   t       -- open both code and comment blocks
   nil     -- open neither code nor comment blocks
 
-This has effect iff `search-invisible' is set to `open'."
+This has effect only if `search-invisible' is set to `open'."
   :type '(choice (const :tag "open only code blocks" code)
                  (const :tag "open only comment blocks" comment)
                  (const :tag "open both code and comment blocks" t)
@@ -515,7 +515,7 @@
   (goto-char (if repos-end end beg)))
 
 (defun hs-hide-block-at-point (&optional end comment-reg)
-  "Hide block iff on block beginning.
+  "Hide block if on block beginning.
 Optional arg END means reposition at end.
 Optional arg COMMENT-REG is a list of the form (BEGIN END) and
 specifies the limits of the comment, or nil if the block is not
@@ -678,7 +678,7 @@
   (goto-char maxp))
 
 (defmacro hs-life-goes-on (&rest body)
-  "Evaluate BODY forms iff variable `hs-minor-mode' is non-nil.
+  "Evaluate BODY forms if variable `hs-minor-mode' is non-nil.
 In the dynamic context of this macro, `inhibit-point-motion-hooks'
 and `case-fold-search' are both t."
   `(when hs-minor-mode
--- a/lisp/progmodes/octave-mod.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/octave-mod.el	Mon Aug 13 13:41:28 2007 +0000
@@ -567,24 +567,24 @@
   (describe-function major-mode))
 
 (defsubst octave-in-comment-p ()
-  "Returns t if point is inside an Octave comment, nil otherwise."
+  "Return t if point is inside an Octave comment."
   (interactive)
   (save-excursion
     (nth 4 (parse-partial-sexp (line-beginning-position) (point)))))
 
 (defsubst octave-in-string-p ()
-  "Returns t if point is inside an Octave string, nil otherwise."
+  "Return t if point is inside an Octave string."
   (interactive)
   (save-excursion
     (nth 3 (parse-partial-sexp (line-beginning-position) (point)))))
 
 (defsubst octave-not-in-string-or-comment-p ()
-  "Returns t iff point is not inside an Octave string or comment."
+  "Return t if point is not inside an Octave string or comment."
   (let ((pps (parse-partial-sexp (line-beginning-position) (point))))
     (not (or (nth 3 pps) (nth 4 pps)))))
 
 (defun octave-in-block-p ()
-  "Returns t if point is inside an Octave block, nil otherwise.
+  "Return t if point is inside an Octave block.
 The block is taken to start at the first letter of the begin keyword and
 to end after the end keyword."
   (let ((pos (point)))
@@ -599,7 +599,7 @@
       (< pos (point)))))
 
 (defun octave-in-defun-p ()
-  "Returns t iff point is inside an Octave function declaration.
+  "Return t if point is inside an Octave function declaration.
 The function is taken to start at the `f' of `function' and to end after
 the end keyword."
   (let ((pos (point)))
--- a/lisp/progmodes/python.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/python.el	Mon Aug 13 13:41:28 2007 +0000
@@ -348,7 +348,7 @@
 		    (error nil))))))))
 
 (defun python-comment-line-p ()
-  "Return non-nil iff current line has only a comment."
+  "Return non-nil if current line has only a comment."
   (save-excursion
     (end-of-line)
     (when (eq 'comment (syntax-ppss-context (syntax-ppss)))
@@ -356,7 +356,7 @@
       (looking-at (rx (or (syntax comment-start) line-end))))))
 
 (defun python-blank-line-p ()
-  "Return non-nil iff current line is blank."
+  "Return non-nil if current line is blank."
   (save-excursion
     (beginning-of-line)
     (looking-at "\\s-*$")))
@@ -850,7 +850,7 @@
   "Skip out of any nested brackets.
 Skip forward if FORWARD is non-nil, else backward.
 If SYNTAX is non-nil it is the state returned by `syntax-ppss' at point.
-Return non-nil iff skipping was done."
+Return non-nil if skipping was done."
   (let ((depth (syntax-ppss-depth (or syntax (syntax-ppss))))
 	(forward (if forward -1 1)))
     (unless (zerop depth)
@@ -1199,7 +1199,7 @@
     (define-key map "\C-c\C-l" 'python-load-file)
     (define-key map "\C-c\C-v" 'python-check)
     ;; Note that we _can_ still use these commands which send to the
-    ;; Python process even at the prompt iff we have a normal prompt,
+    ;; Python process even at the prompt provided we have a normal prompt,
     ;; i.e. '>>> ' and not '... '.  See the comment before
     ;; python-send-region.  Fixme: uncomment these if we address that.
 
--- a/lisp/progmodes/tcl.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/tcl.el	Mon Aug 13 13:41:28 2007 +0000
@@ -126,11 +126,13 @@
   "*Indentation of Tcl statements with respect to containing block."
   :type 'integer
   :group 'tcl)
+(put 'tcl-indent-level 'safe-local-variable 'integerp)
 
 (defcustom tcl-continued-indent-level 4
   "*Indentation of continuation line relative to first line of command."
   :type 'integer
   :group 'tcl)
+(put 'tcl-continued-indent-level 'safe-local-variable 'integerp)
 
 (defcustom tcl-auto-newline nil
   "*Non-nil means automatically newline before and after braces you insert."
--- a/lisp/progmodes/which-func.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/which-func.el	Mon Aug 13 13:41:28 2007 +0000
@@ -232,7 +232,7 @@
 When Which Function mode is enabled, the current function name is
 continuously displayed in the mode line, in certain major modes.
 
-With prefix ARG, turn Which Function mode on iff arg is positive,
+With prefix ARG, turn Which Function mode on if arg is positive,
 and off otherwise."
   :global t :group 'which-func
   (if which-function-mode
--- a/lisp/progmodes/xscheme.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/progmodes/xscheme.el	Mon Aug 13 13:41:28 2007 +0000
@@ -868,7 +868,7 @@
     (sleep-for 1)))
 
 (defun xscheme-process-running-p ()
-  "True iff there is a Scheme process whose status is `run'."
+  "True if there is a Scheme process whose status is `run'."
   (let ((process (get-process xscheme-process-name)))
     (and process
 	 (eq (process-status process) 'run))))
@@ -882,7 +882,7 @@
     (and buffer (get-buffer-window buffer))))
 
 (defun xscheme-process-buffer-current-p ()
-  "True iff the current buffer is the Scheme process buffer."
+  "True if the current buffer is the Scheme process buffer."
   (eq (xscheme-process-buffer) (current-buffer)))
 
 ;;;; Process Filter Operations
--- a/lisp/select.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/select.el	Mon Aug 13 13:41:28 2007 +0000
@@ -178,7 +178,7 @@
 If it is valid, set the register `r0' to 1, else set it to 0.")
 
 (defun string-utf-8-p (string)
-  "Return non-nil iff STRING is a unibyte string of valid UTF-8 sequence."
+  "Return non-nil if STRING is a unibyte string of valid UTF-8 sequence."
   (if (or (not (stringp string))
 	  (multibyte-string-p string))
       (error "Not a unibyte string: %s" string))
--- a/lisp/shadowfile.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/shadowfile.el	Mon Aug 13 13:41:28 2007 +0000
@@ -285,7 +285,7 @@
       ans)))
 
 (defun shadow-site-match (site1 site2)
-  "Non-nil iff SITE1 is or includes SITE2.
+  "Non-nil if SITE1 is or includes SITE2.
 Each may be a host or cluster name; if they are clusters, regexp of SITE1 will
 be matched against the primary of SITE2."
   (or (string-equal site1 site2) ; quick check
--- a/lisp/simple.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/simple.el	Mon Aug 13 13:41:28 2007 +0000
@@ -4535,8 +4535,9 @@
 
 (defun toggle-truncate-lines (&optional arg)
   "Toggle whether to fold or truncate long lines for the current buffer.
-With arg, truncate long lines iff arg is positive.
-Note that in side-by-side windows, truncation is always enabled."
+With prefix argument ARG, truncate long lines if ARG is positive,
+otherwise don't truncate them.  Note that in side-by-side
+windows, truncation is always enabled."
   (interactive "P")
   (setq truncate-lines
 	(if (null arg)
@@ -4559,11 +4560,11 @@
 
 (defun overwrite-mode (arg)
   "Toggle overwrite mode.
-With arg, turn overwrite mode on iff arg is positive.
-In overwrite mode, printing characters typed in replace existing text
-on a one-for-one basis, rather than pushing it to the right.  At the
-end of a line, such characters extend the line.  Before a tab,
-such characters insert until the tab is filled in.
+With prefix argument ARG, turn overwrite mode on if ARG is positive,
+otherwise turn it off.  In overwrite mode, printing characters typed
+in replace existing text on a one-for-one basis, rather than pushing
+it to the right.  At the end of a line, such characters extend the line.
+Before a tab, such characters insert until the tab is filled in.
 \\[quoted-insert] still inserts characters in overwrite mode; this
 is supposed to make it easier to insert characters when necessary."
   (interactive "P")
@@ -4575,14 +4576,13 @@
 
 (defun binary-overwrite-mode (arg)
   "Toggle binary overwrite mode.
-With arg, turn binary overwrite mode on iff arg is positive.
-In binary overwrite mode, printing characters typed in replace
-existing text.  Newlines are not treated specially, so typing at the
-end of a line joins the line to the next, with the typed character
-between them.  Typing before a tab character simply replaces the tab
-with the character typed.
-\\[quoted-insert] replaces the text at the cursor, just as ordinary
-typing characters do.
+With prefix argument ARG, turn binary overwrite mode on if ARG is
+positive, otherwise turn it off.  In binary overwrite mode, printing
+characters typed in replace existing text.  Newlines are not treated
+specially, so typing at the end of a line joins the line to the next,
+with the typed character between them.  Typing before a tab character
+simply replaces the tab with the character typed.  \\[quoted-insert]
+replaces the text at the cursor, just as ordinary typing characters do.
 
 Note that binary overwrite mode is not its own minor mode; it is a
 specialization of overwrite mode, entered by setting the
@@ -4597,9 +4597,9 @@
 
 (define-minor-mode line-number-mode
   "Toggle Line Number mode.
-With arg, turn Line Number mode on iff arg is positive.
-When Line Number mode is enabled, the line number appears
-in the mode line.
+With arg, turn Line Number mode on if arg is positive, otherwise
+turn it off.  When Line Number mode is enabled, the line number
+appears in the mode line.
 
 Line numbers do not appear for very large buffers and buffers
 with very long lines; see variables `line-number-display-limit'
@@ -4608,16 +4608,16 @@
 
 (define-minor-mode column-number-mode
   "Toggle Column Number mode.
-With arg, turn Column Number mode on iff arg is positive.
-When Column Number mode is enabled, the column number appears
-in the mode line."
+With arg, turn Column Number mode on if arg is positive,
+otherwise turn it off.  When Column Number mode is enabled, the
+column number appears in the mode line."
   :global t :group 'mode-line)
 
 (define-minor-mode size-indication-mode
   "Toggle Size Indication mode.
-With arg, turn Size Indication mode on iff arg is positive.  When
-Size Indication mode is enabled, the size of the accessible part
-of the buffer appears in the mode line."
+With arg, turn Size Indication mode on if arg is positive,
+otherwise turn it off.  When Size Indication mode is enabled, the
+size of the accessible part of the buffer appears in the mode line."
   :global t :group 'mode-line)
 
 (defgroup paren-blinking nil
@@ -5152,7 +5152,7 @@
 These functions are called in order with four arguments:
 CHOICE - the string to insert in the buffer,
 BUFFER - the buffer in which the choice should be inserted,
-MINI-P - non-nil iff BUFFER is a minibuffer, and
+MINI-P - non-nil if BUFFER is a minibuffer, and
 BASE-SIZE - the number of characters in BUFFER before
 the string being completed.
 
@@ -5760,7 +5760,8 @@
 
 (define-minor-mode visible-mode
   "Toggle Visible mode.
-With argument ARG turn Visible mode on iff ARG is positive.
+With argument ARG turn Visible mode on if ARG is positive, otherwise
+turn it off.
 
 Enabling Visible mode makes all invisible text temporarily visible.
 Disabling Visible mode turns off that effect.  Visible mode
--- a/lisp/skeleton.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/skeleton.el	Mon Aug 13 13:41:28 2007 +0000
@@ -209,8 +209,8 @@
 		interesting point set by _
 	>	indent line (or interregion if > _) according to major mode
 	@	add position to `skeleton-positions'
-	&	do next ELEMENT iff previous moved point
-	|	do next ELEMENT iff previous didn't move point
+	&	do next ELEMENT if previous moved point
+	|	do next ELEMENT if previous didn't move point
 	-num	delete num preceding characters (see `skeleton-untabify')
 	resume:	skipped, continue here if quit is signaled
 	nil	skipped
--- a/lisp/strokes.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/strokes.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1370,7 +1370,7 @@
     (goto-char (point-min))))
 
 (defun strokes-alphabetic-lessp (stroke1 stroke2)
-  "T iff command name for STROKE1 is less than STROKE2's in lexicographic order."
+  "T if command name for STROKE1 is less than STROKE2's in lexicographic order."
   (let ((command-name-1 (symbol-name (cdr stroke1)))
 	(command-name-2 (symbol-name (cdr stroke2))))
     (string-lessp command-name-1 command-name-2)))
@@ -1520,7 +1520,7 @@
       (eq char ?*)))
 
 ;;(defsubst strokes-xor (a b)  ### Should I make this an inline function? ###
-;;  "T iff one and only one of A and B is non-nil; otherwise, returns nil.
+;;  "T if one and only one of A and B is non-nil; otherwise, returns nil.
 ;;NOTE: Don't use this as a numeric xor since it treats all non-nil
 ;;      values as t including `0' (zero)."
 ;;  (eq (null a) (not (null b))))
--- a/lisp/subr.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/subr.el	Mon Aug 13 13:41:28 2007 +0000
@@ -2836,11 +2836,10 @@
 		    list)))
     (nreverse list)))
 
-;; (string->strings (strings->string X)) == X
-(defun strings->string (strings &optional separator)
+(defun combine-and-quote-strings (strings &optional separator)
   "Concatenate the STRINGS, adding the SEPARATOR (default \" \").
 This tries to quote the strings to avoid ambiguity such that
-  (string->strings (strings->string strs)) == strs
+  (split-string-and-unquote (combine-and-quote-strings strs)) == strs
 Only some SEPARATORs will work properly."
   (let ((sep (or separator " ")))
     (mapconcat
@@ -2850,20 +2849,20 @@
 	 str))
      strings sep)))
 
-;; (string->strings (strings->string X)) == X
-(defun string->strings (string &optional separator)
+(defun split-string-and-unquote (string &optional separator)
   "Split the STRING into a list of strings.
-It understands elisp style quoting within STRING such that
-  (string->strings (strings->string strs)) == strs
+It understands Emacs Lisp quoting within STRING, such that
+  (split-string-and-unquote (combine-and-quote-strings strs)) == strs
 The SEPARATOR regexp defaults to \"\\s-+\"."
   (let ((sep (or separator "\\s-+"))
 	(i (string-match "[\"]" string)))
-    (if (null i) (split-string string sep t)	; no quoting:  easy
+    (if (null i)
+	(split-string string sep t)	; no quoting:  easy
       (append (unless (eq i 0) (split-string (substring string 0 i) sep t))
 	      (let ((rfs (read-from-string string i)))
 		(cons (car rfs)
-		      (string->strings (substring string (cdr rfs))
-					   sep)))))))
+		      (split-string-and-unquote (substring string (cdr rfs))
+						sep)))))))
 
 
 ;;;; Replacement in strings.
--- a/lisp/t-mouse.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/t-mouse.el	Mon Aug 13 13:41:28 2007 +0000
@@ -42,7 +42,8 @@
 ;;;###autoload
 (define-minor-mode t-mouse-mode
   "Toggle t-mouse mode to use the mouse in Linux consoles.
-With prefix arg, turn t-mouse mode on iff arg is positive.
+With prefix arg, turn t-mouse mode on if arg is positive, otherwise turn it
+off.
 
 This allows the use of the mouse when operating on a Linux console, in the
 same way as you can use the mouse under X11.
--- a/lisp/term.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/term.el	Mon Aug 13 13:41:28 2007 +0000
@@ -469,7 +469,7 @@
 (defvar term-scroll-with-delete nil) ;; term-scroll-with-delete is t if
 ;;		forward scrolling should be implemented by delete to
 ;;		top-most line(s); and nil if scrolling should be implemented
-;;		by moving term-home-marker.  It is set to t iff there is a
+;;		by moving term-home-marker.  It is set to t if there is a
 ;;		(non-default) scroll-region OR the alternate buffer is used.
 (defvar term-pending-delete-marker) ;; New user input in line mode needs to
 ;;		be deleted, because it gets echoed by the inferior.
--- a/lisp/term/sun-mouse.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/term/sun-mouse.el	Mon Aug 13 13:41:28 2007 +0000
@@ -230,7 +230,7 @@
 
 
 (defun minibuffer-window-p (window)
-  "True iff this WINDOW is minibuffer."
+  "True if this WINDOW is minibuffer."
   (= (frame-height)
      (nth 3 (window-edges window))	; The bottom edge.
      ))
--- a/lisp/term/tvi970.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/term/tvi970.el	Mon Aug 13 13:41:28 2007 +0000
@@ -106,8 +106,8 @@
 
 ;;; Should keypad numbers send ordinary digits or distinct escape sequences?
 (defvar tvi970-keypad-numeric nil
-  "The terminal should be in numeric keypad mode iff this variable is non-nil.
-Do not set this variable!  Call the function ``tvi970-set-keypad-mode''.")
+  "Non-nil means the terminal should be in numeric keypad mode.
+Do not set this variable!  Call the function `tvi970-set-keypad-mode'.")
 
 (defun tvi970-set-keypad-mode (&optional arg)
   "Set the current mode of the TVI 970 numeric keypad.
--- a/lisp/textmodes/artist.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/artist.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1768,7 +1768,7 @@
 ;; Macro that won't funcall the function if it is nil.
 ;;
 (defmacro artist-funcall (fn &rest args)
-  "Call function FN with ARGS iff FN is not nil."
+  "Call function FN with ARGS, if FN is not nil."
   (list 'if fn (cons 'funcall (cons fn args))))
 
 (defun artist-uniq (l)
--- a/lisp/textmodes/flyspell.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/flyspell.el	Mon Aug 13 13:41:28 2007 +0000
@@ -457,7 +457,8 @@
 This spawns a single Ispell process and checks each word.
 The default flyspell behavior is to highlight incorrect words.
 With no argument, this command toggles Flyspell mode.
-With a prefix argument ARG, turn Flyspell minor mode on iff ARG is positive.
+With a prefix argument ARG, turn Flyspell minor mode on if ARG is positive,
+otherwise turn it off.
 
 Bindings:
 \\[ispell-word]: correct words (using Ispell).
@@ -1621,7 +1622,7 @@
 ;;*    flyspell-overlay-p ...                                           */
 ;;*---------------------------------------------------------------------*/
 (defun flyspell-overlay-p (o)
-  "A predicate that return true iff O is an overlay used by flyspell."
+  "Return true if O is an overlay used by flyspell."
   (and (overlayp o) (overlay-get o 'flyspell-overlay)))
 
 ;;*---------------------------------------------------------------------*/
--- a/lisp/textmodes/ispell.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/ispell.el	Mon Aug 13 13:41:28 2007 +0000
@@ -3324,7 +3324,8 @@
 ;;;###autoload
 (defun ispell-minor-mode (&optional arg)
   "Toggle Ispell minor mode.
-With prefix arg, turn Ispell minor mode on iff arg is positive.
+With prefix argument ARG, turn Ispell minor mode on if ARG is positive,
+otherwise turn it off.
 
 In Ispell minor mode, pressing SPC or RET
 warns you if the previous word is incorrectly spelled.
--- a/lisp/textmodes/nroff-mode.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/nroff-mode.el	Mon Aug 13 13:41:28 2007 +0000
@@ -263,7 +263,7 @@
 `nroff-electric-newline' forces Emacs to check for an nroff request at the
 beginning of the line, and insert the matching closing request if necessary.
 This command toggles that mode (off->on, on->off), with an argument,
-turns it on iff arg is positive, otherwise off."
+turns it on if arg is positive, otherwise off."
   :lighter " Electric"
   (or (derived-mode-p 'nroff-mode) (error "Must be in nroff mode")))
 
--- a/lisp/textmodes/refill.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/refill.el	Mon Aug 13 13:41:28 2007 +0000
@@ -217,7 +217,7 @@
 ;;;###autoload
 (define-minor-mode refill-mode
   "Toggle Refill minor mode.
-With prefix arg, turn Refill mode on iff arg is positive.
+With prefix arg, turn Refill mode on if arg is positive, otherwise turn it off.
 
 When Refill mode is on, the current paragraph will be formatted when
 changes are made within it.  Self-inserting characters only cause
--- a/lisp/textmodes/reftex-global.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/reftex-global.el	Mon Aug 13 13:41:28 2007 +0000
@@ -431,7 +431,7 @@
 
 With no argument, this command toggles
 `reftex-isearch-minor-mode'.  With a prefix argument ARG, turn
-`reftex-isearch-minor-mode' on iff ARG is positive."
+`reftex-isearch-minor-mode' on if ARG is positive, otherwise turn it off."
   (interactive "P")
   (let ((old-reftex-isearch-minor-mode reftex-isearch-minor-mode))
     (setq reftex-isearch-minor-mode 
--- a/lisp/textmodes/sgml-mode.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/sgml-mode.el	Mon Aug 13 13:41:28 2007 +0000
@@ -826,7 +826,7 @@
 (defun sgml-skip-tag-forward (arg)
   "Skip to end of tag or matching closing tag if present.
 With prefix argument ARG, repeat this ARG times.
-Return t iff after a closing tag."
+Return t if after a closing tag."
   (interactive "p")
   ;; FIXME: Use sgml-get-context or something similar.
   ;; It currently might jump to an unrelated </P> if the <P>
--- a/lisp/textmodes/two-column.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/textmodes/two-column.el	Mon Aug 13 13:41:28 2007 +0000
@@ -347,8 +347,8 @@
 first and the associated buffer to its right."
   (interactive "P")
   ;; first go to full width, so that we can certainly split into two windows
-  (if (< (window-width) (frame-width))
-      (enlarge-window 99999 t))
+  (unless (window-full-width-p)
+    (enlarge-window 99999 t))
   (split-window-horizontally
    (max window-min-width (min 2C-window-width
 			      (- (frame-width) window-min-width))))
@@ -533,8 +533,8 @@
 	  (insert 2C-separator string))
 	(next-line 1)			; add one if necessary
 	(set-buffer b2))))
-  (if (< (window-width) (frame-width))
-      (enlarge-window 99999 t)))
+  (unless (window-full-width-p)
+    (enlarge-window 99999 t)))
 
 ;;;;; utility functions ;;;;;
 
@@ -561,8 +561,10 @@
   (newline arg))
 
 (defun 2C-toggle-autoscroll (arg)
-  "Toggle autoscrolling, or set it iff prefix ARG is non-nil and positive.
-When autoscrolling is turned on, this also realigns the two buffers."
+  "Toggle autoscrolling.
+With prefix argument ARG, turn on autoscrolling if ARG is
+positive, otherwise turn it off.  When autoscrolling is turned
+on, this also realigns the two buffers."
   (interactive "P")
   ;(sit-for 0)
   (setq 2C-autoscroll-start (window-start))
--- a/lisp/url/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,8 @@
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* url-auth.el, url-cache.el, url-dav.el, url-file.el, vc-dav.el:
+	Replace `iff' in doc-strings and comments.
+
 2007-07-25  Glenn Morris  <rgm@gnu.org>
 
 	* Relicense all FSF files to GPLv3 or later.
--- a/lisp/url/url-auth.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/url-auth.el	Mon Aug 13 13:41:28 2007 +0000
@@ -312,7 +312,7 @@
 		  url-registered-auth-schemes)))))
 
 (defun url-auth-registered (scheme)
-  ;; Return non-nil iff SCHEME is registered as an auth type
+  "Return non-nil if SCHEME is registered as an auth type."
   (assoc scheme url-registered-auth-schemes))
 
 (provide 'url-auth)
--- a/lisp/url/url-cache.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/url-cache.el	Mon Aug 13 13:41:28 2007 +0000
@@ -186,7 +186,7 @@
 
 ;;;###autoload
 (defun url-cache-expired (url mod)
-  "Return t iff a cached file has expired."
+  "Return t if a cached file has expired."
   (let* ((urlobj (if (vectorp url) url (url-generic-parse-url url)))
 	 (type (url-type urlobj)))
     (cond
--- a/lisp/url/url-dav.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/url-dav.el	Mon Aug 13 13:41:28 2007 +0000
@@ -562,7 +562,7 @@
 
 (defun url-dav-unlock-resource (url lock-token)
   "Release the lock on URL represented by LOCK-TOKEN.
-Returns t iff the lock was successfully released."
+Returns t if the lock was successfully released."
   (declare (special url-http-response-status))
   (let* ((url-request-extra-headers (list (cons "Lock-Token"
 						(concat "<" lock-token ">"))))
@@ -654,13 +654,13 @@
          (or (plist-get properties 'DAV:getcontentlength) 0)
 
          ;; file modes as a string like `ls -l'
-         ;; 
+         ;;
          ;; Should be able to build this up from the
          ;; DAV:supportedlock attribute pretty easily.  Getting
          ;; the group info could be impossible though.
          (url-dav-file-attributes-mode-string properties)
 
-         ;; t iff file's gid would change if it were deleted &
+         ;; t if file's gid would change if it were deleted &
          ;; recreated.  No way for us to know that thru DAV.
          nil
 
--- a/lisp/url/url-file.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/url-file.el	Mon Aug 13 13:41:28 2007 +0000
@@ -52,7 +52,7 @@
     found))
 
 (defun url-file-host-is-local-p (host)
-  "Return t iff HOST references our local machine."
+  "Return t if HOST references our local machine."
   (let ((case-fold-search t))
     (or
      (null host)
--- a/lisp/url/vc-dav.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/url/vc-dav.el	Mon Aug 13 13:41:28 2007 +0000
@@ -31,7 +31,7 @@
 
 ;;; Required functions for a vc backend
 (defun vc-dav-registered (url)
-  "Return t iff URL is registered with a DAV aware server."
+  "Return t if URL is registered with a DAV aware server."
   (url-dav-vc-registered url))
 
 (defun vc-dav-state (url)
--- a/lisp/userlock.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/userlock.el	Mon Aug 13 13:41:28 2007 +0000
@@ -134,7 +134,7 @@
 		 (setq answer nil))
 		((eq answer 'revert)
 		 (revert-buffer nil (not (buffer-modified-p)))
-					; ask confirmation iff buffer modified
+					; ask confirmation if buffer modified
 		 (signal 'file-supersession
 			 (list "File reverted" fn)))
 		((eq answer 'yield)
--- a/lisp/vc-bzr.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/vc-bzr.el	Mon Aug 13 13:41:28 2007 +0000
@@ -2,15 +2,10 @@
 
 ;; Copyright (C) 2006, 2007  Free Software Foundation, Inc.
 
-;; NOTE: THIS IS A MODIFIED VERSION OF Dave Love's vc-bzr.el,
-;; which you can find at: http://www.loveshack.ukfsn.org/emacs/vc-bzr.el
-;; I could not get in touch with Dave Love by email, so
-;; I am releasing my changes separately. -- Riccardo
-
 ;; Author: Dave Love <fx@gnu.org>, Riccardo Murri <riccardo.murri@gmail.com>
 ;; Keywords: tools
 ;; Created: Sept 2006
-;; Version: 2007-05-24
+;; Version: 2007-08-03
 ;; URL: http://launchpad.net/vc-bzr
 
 ;; This file is free software; you can redistribute it and/or modify
@@ -31,9 +26,6 @@
 
 ;;; Commentary:
 
-;; NOTE: THIS IS A MODIFIED VERSION OF Dave Love's vc-bzr.el,
-;; which you can find at: http://www.loveshack.ukfsn.org/emacs/vc-bzr.el
-
 ;; See <URL:http://bazaar-vcs.org/> concerning bzr.
 
 ;; Load this library to register bzr support in VC.  It covers basic VC 
@@ -96,34 +88,73 @@
   (let ((process-environment
          (list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9)
                 "LC_ALL=C"              ; Force English output
-                process-environment))
-        ;; bzr may attempt some kind of user interaction if its stdin/stdout
-        ;; is connected to a PTY; therefore, ask Emacs to use a pipe to
-        ;; communicate with it.
-        ;; This is redundant because vc-do-command does it already.  --Stef
-        (process-connection-type nil))
+                process-environment)))
     (apply 'vc-do-command buffer okstatus vc-bzr-program
            file-or-list bzr-command (append vc-bzr-program-args args))))
 
 
 ;;;###autoload
-(defconst vc-bzr-admin-dirname ".bzr")    ; FIXME: "_bzr" on w32?
+(defconst vc-bzr-admin-dirname ".bzr"    ; FIXME: "_bzr" on w32?
+  "Name of the directory containing Bzr repository status files.")
+;;;###autoload
+(defconst vc-bzr-admin-checkout-format-file
+  (concat vc-bzr-admin-dirname "/checkout/format"))
+(defconst vc-bzr-admin-dirstate
+  (concat vc-bzr-admin-dirname "/checkout/dirstate"))
+(defconst vc-bzr-admin-branch-format-file
+  (concat vc-bzr-admin-dirname "/branch/format"))
+(defconst vc-bzr-admin-revhistory
+  (concat vc-bzr-admin-dirname "/branch/revision-history"))
 
 ;;;###autoload (defun vc-bzr-registered (file)
-;;;###autoload   (if (vc-find-root file vc-bzr-admin-dirname)
+;;;###autoload   (if (vc-find-root file vc-bzr-admin-checkout-format-file)
 ;;;###autoload       (progn
 ;;;###autoload         (load "vc-bzr")
 ;;;###autoload         (vc-bzr-registered file))))
 
-(defun vc-bzr-root-dir (file)
-  "Return the root directory in the hierarchy above FILE.
-Return nil if there isn't one."
-  (vc-find-root file vc-bzr-admin-dirname))
+(defun vc-bzr-root (file)
+  "Return the root directory of the bzr repository containing FILE."
+  ;; Cache technique copied from vc-arch.el.
+  (or (vc-file-getprop file 'bzr-root)
+      (vc-file-setprop
+       file 'bzr-root
+       (vc-find-root file vc-bzr-admin-checkout-format-file))))
 
 (defun vc-bzr-registered (file)
-  "Return non-nil if FILE is registered with bzr."
-  (if (vc-bzr-root-dir file) ; Short cut.
-      (vc-bzr-state file)))                    ; Expensive.
+  "Return non-nil if FILE is registered with bzr.
+
+For speed, this function tries first to parse Bzr internal file
+`checkout/dirstate', but it may fail if Bzr internal file format
+has changed.  As a safeguard, the `checkout/dirstate' file is
+only parsed if it contains the string `#bazaar dirstate flat
+format 3' in the first line.
+
+If the `checkout/dirstate' file cannot be parsed, fall back to
+running `vc-bzr-state'."
+  (condition-case nil
+      (lexical-let ((root (vc-bzr-root file)))
+    (and root ; Short cut.
+         ;; This looks at internal files.  May break if they change
+         ;; their format.
+             (lexical-let
+                 ((dirstate-file (expand-file-name vc-bzr-admin-dirstate root)))
+               (if (file-exists-p dirstate-file)
+         (with-temp-buffer
+                     (insert-file-contents dirstate-file)
+           (goto-char (point-min))
+                     (when (looking-at "#bazaar dirstate flat format 3")
+           (let* ((relfile (file-relative-name file root))
+                  (reldir (file-name-directory relfile)))
+             (re-search-forward
+                        (concat "^\0"
+                      (if reldir (regexp-quote (directory-file-name reldir)))
+                                "\0"
+                      (regexp-quote (file-name-nondirectory relfile))
+                                "\0")
+                        nil t))))
+                 t))
+             (vc-bzr-state file)))  ; Expensive.
+    (file-error nil))) ; vc-bzr-program not found
 
 (defun vc-bzr-buffer-nonblank-p (&optional buffer)
   "Return non-nil if BUFFER contains any non-blank characters."
@@ -134,15 +165,34 @@
         (re-search-forward "[^ \t\n]" (point-max) t))))
 
 (defconst vc-bzr-state-words
-  "added\\|ignored\\|modified\\|removed\\|renamed\\|unknown"
+  "added\\|ignored\\|kind changed\\|modified\\|removed\\|renamed\\|unknown"
   "Regexp matching file status words as reported in `bzr' output.")
 
+(defun vc-bzr-file-name-relative (filename)
+  "Return file name FILENAME stripped of the initial Bzr repository path."
+  (lexical-let*
+      ((filename* (expand-file-name filename))
+       (rootdir (vc-bzr-root (file-name-directory filename*))))
+    (and rootdir 
+         (file-relative-name filename* rootdir))))
+
 ;; FIXME:  Also get this in a non-registered sub-directory.
-(defun vc-bzr-state (file)
+;; It already works for me. -- Riccardo
+(defun vc-bzr-status (file)
+  "Return FILE status according to Bzr.
+Return value is a cons (STATUS . WARNING), where WARNING is a
+string or nil, and STATUS is one of the symbols: 'added,
+'ignored, 'kindchange, 'modified, 'removed, 'renamed, 'unknown,
+which directly correspond to `bzr status' output, or 'unchanged
+for files whose copy in the working tree is identical to the one
+in the branch repository, or nil for files that are not
+registered with Bzr.
+
+If any error occurred in running `bzr status', then return nil."
+  (condition-case nil
   (with-temp-buffer
-    (cd (file-name-directory file))
-    (let ((ret (vc-bzr-command "status" t 255 file))
-          (state 'up-to-date))
+        (let ((ret (vc-bzr-command "status" t 0 file))
+              (status 'unchanged))
       ;; the only secure status indication in `bzr status' output
       ;; is a couple of lines following the pattern::
       ;;   | <status>:
@@ -153,45 +203,93 @@
       (goto-char (point-min))
       (when
           (re-search-forward
+               ;; bzr prints paths relative to the repository root
            (concat "^\\(" vc-bzr-state-words "\\):[ \t\n]+"
-                   (file-name-nondirectory file) "[ \t\n]*$")
+                       (regexp-quote (vc-bzr-file-name-relative file)) 
+                       (if (file-directory-p file) "/?" "")
+                       "[ \t\n]*$")
            (point-max) t)
         (let ((start (match-beginning 0))
               (end (match-end 0)))
           (goto-char start)
-          (setq state
+              (setq status
                 (cond
                  ((not (equal ret 0)) nil)
-                 ((looking-at "added\\|renamed\\|modified\\|removed") 'edited)
-                 ((looking-at "unknown\\|ignored") nil)))
+                     ((looking-at "added") 'added)
+                     ((looking-at "kind changed") 'kindchange)
+                     ((looking-at "renamed") 'renamed)
+                     ((looking-at "modified") 'modified)
+                     ((looking-at "removed") 'removed)
+                     ((looking-at "ignored") 'ignored)
+                     ((looking-at "unknown") 'unknown)))
           ;; erase the status text that matched
           (delete-region start end)))
-      (when (vc-bzr-buffer-nonblank-p)
-        ;; "bzr" will output some warnings and informational messages
-        ;; to the user to stderr; due to Emacs' `vc-do-command' (and,
-        ;; it seems, `start-process' itself), we cannot catch stderr
+          (if status
+              (cons status
+            ;; "bzr" will output warnings and informational messages to
+            ;; stderr; due to Emacs' `vc-do-command' (and, it seems,
+            ;; `start-process' itself) limitations, we cannot catch stderr
         ;; and stdout into different buffers.  So, if there's anything
         ;; left in the buffer after removing the above status
         ;; keywords, let us just presume that any other message from
         ;; "bzr" is a user warning, and display it.
-        (message "Warnings in `bzr' output: %s"
-               (buffer-substring (point-min) (point-max))))
-      (when state
-        (vc-file-setprop file 'vc-workfile-version
-                         (vc-bzr-workfile-version file))
-        (vc-file-setprop file 'vc-state state))
-      state)))
+                    (if (vc-bzr-buffer-nonblank-p)
+                        (buffer-substring (point-min) (point-max)))))))
+    (file-error nil))) ; vc-bzr-program not found
+
+(defun vc-bzr-state (file)
+  (lexical-let ((result (vc-bzr-status file)))
+    (when (consp result)
+      (if (cdr result)
+          (message "Warnings in `bzr' output: %s" (cdr result)))
+      (cdr (assq (car result)
+                 '((added . edited)
+                   (kindchange . edited)
+                   (renamed . edited)
+                   (modified . edited)
+                   (removed . edited)
+                   (ignored . nil)
+                   (unknown . nil)
+                   (unchanged . up-to-date)))))))
 
 (defun vc-bzr-workfile-unchanged-p (file)
-  (eq 'up-to-date (vc-bzr-state file)))
+  (eq 'unchanged (car (vc-bzr-status file))))
 
 (defun vc-bzr-workfile-version (file)
-  ;; Looks like this could be obtained via counting lines in
-  ;; .bzr/branch/revision-history.
+  (lexical-let*
+      ((rootdir (vc-bzr-root file))
+       (branch-format-file (concat rootdir "/" vc-bzr-admin-branch-format-file))
+       (revhistory-file (concat rootdir "/" vc-bzr-admin-revhistory))
+       (lastrev-file (concat rootdir "/" "branch/last-revision")))
+    ;; Count lines in .bzr/branch/revision-history to avoid forking a
+    ;; bzr process.  This looks at internal files.  May break if they
+    ;; change their format.
+    (if (file-exists-p branch-format-file)
   (with-temp-buffer
-    (vc-bzr-command "revno" t 0 file)
-    (goto-char (point-min))
-    (buffer-substring (point) (line-end-position))))
+          (insert-file-contents branch-format-file) 
+          (goto-char (point-min))
+          (cond
+           ((or
+             (looking-at "Bazaar-NG branch, format 0.0.4")
+             (looking-at "Bazaar-NG branch format 5"))
+            ;; count lines in .bzr/branch/revision-history
+          (insert-file-contents revhistory-file) 
+            (number-to-string (count-lines (line-end-position) (point-max))))
+           ((looking-at "Bazaar Branch Format 6 (bzr 0.15)")
+            ;; revno is the first number in .bzr/branch/last-revision
+            (insert-file-contents lastrev-file) 
+            (goto-char (line-end-position))
+            (if (re-search-forward "[0-9]+" nil t)
+                (buffer-substring (match-beginning 0) (match-end 0))))))
+      ;; fallback to calling "bzr revno"
+      (lexical-let*
+          ((result (vc-bzr-command-discarding-stderr
+                    vc-bzr-program "revno" file))
+           (exitcode (car result))
+           (output (cdr result)))
+        (cond
+         ((eq exitcode 0) (substring output 0 -1))
+         (t nil))))))
 
 (defun vc-bzr-checkout-model (file)
   'implicit)
@@ -209,7 +307,7 @@
 
 ;; Could run `bzr status' in the directory and see if it succeeds, but
 ;; that's relatively expensive.
-(defalias 'vc-bzr-responsible-p 'vc-bzr-root-dir
+(defalias 'vc-bzr-responsible-p 'vc-bzr-root
   "Return non-nil if FILE is (potentially) controlled by bzr.
 The criterion is that there is a `.bzr' directory in the same
 or a superior directory.")
@@ -250,7 +348,7 @@
 
 (defun vc-bzr-revert (file &optional contents-done)
   (unless contents-done
-    (with-temp-buffer (vc-bzr-command "revert" t 'async file))))
+    (with-temp-buffer (vc-bzr-command "revert" t 0 file))))
 
 (defvar log-view-message-re)
 (defvar log-view-file-re)
@@ -294,13 +392,11 @@
         (beginning-of-line 0)
       (goto-char (point-min)))))
 
-;; Fixem: vc-bzr-wash-log
-
 (autoload 'vc-diff-switches-list "vc" nil nil t)
 
 (defun vc-bzr-diff (files &optional rev1 rev2 buffer)
   "VC bzr backend for diff."
-  (let ((working (vc-workfile-version (car files))))
+  (let ((working (vc-workfile-version (if (consp files) (car files) files))))
     (if (and (equal rev1 working) (not rev2))
         (setq rev1 nil))
     (if (and (not rev1) rev2)
@@ -317,9 +413,8 @@
 
 (defalias 'vc-bzr-diff-tree 'vc-bzr-diff)
 
-;; Fixme: implement vc-bzr-dir-state, vc-bzr-dired-state-info
 
-;; Fixme: vc-{next,previous}-version need fixing in vc.el to deal with
+;; FIXME: vc-{next,previous}-version need fixing in vc.el to deal with
 ;; straight integer versions.
 
 (defun vc-bzr-delete-file (file)
@@ -399,17 +494,16 @@
     (if next-time
         (- (vc-annotate-convert-time (current-time)) next-time))))
 
-;; FIXME: `bzr root' will return the real path to the repository root,
-;; that is, it can differ from the buffer's current directory name
-;; if there are any symbolic links.
-(defun vc-bzr-root (dir)
-  "Return the root directory of the bzr repository containing DIR."
-  ;; Cache technique copied from vc-arch.el.
-  (or (vc-file-getprop dir 'bzr-root)
-      (vc-file-setprop
-       dir 'bzr-root
-       (substring 
-	(shell-command-to-string (concat vc-bzr-program " root " dir)) 0 -1))))
+(defun vc-bzr-command-discarding-stderr (command &rest args)
+  "Execute shell command COMMAND (with ARGS); return its output and exitcode.
+Return value is a cons (EXITCODE . OUTPUT), where EXITCODE is
+the (numerical) exit code of the process, and OUTPUT is a string
+containing whatever the process sent to its standard output
+stream.  Standard error output is discarded."
+  (with-temp-buffer
+    (cons
+     (apply #'call-process command nil (list (current-buffer) nil) nil args)
+     (buffer-substring (point-min) (point-max)))))
 
 ;; TODO: it would be nice to mark the conflicted files in  VC Dired,
 ;; and implement a command to run ediff and `bzr resolve' once the 
@@ -453,6 +547,9 @@
          ((looking-at "^added") 
           (setq current-vc-state 'edited)
           (setq current-bzr-state 'added))
+         ((looking-at "^kind changed") 
+          (setq current-vc-state 'edited)
+          (setq current-bzr-state 'kindchange))
          ((looking-at "^modified") 
           (setq current-vc-state 'edited)
           (setq current-bzr-state 'modified))
@@ -499,7 +596,7 @@
 (add-to-list 'vc-handled-backends 'Bzr)
 
 (eval-after-load "vc"
-  '(add-to-list 'vc-directory-exclusion-list ".bzr" t))
+  '(add-to-list 'vc-directory-exclusion-list vc-bzr-admin-dirname t))
 
 (defconst vc-bzr-unload-hook
   (lambda ()
--- a/lisp/vc-hooks.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/vc-hooks.el	Mon Aug 13 13:41:28 2007 +0000
@@ -876,13 +876,9 @@
     (if backend (vc-call-backend backend 'find-file-not-found-hook))))
 
 (defun vc-default-find-file-not-found-hook (backend)
-  (if (yes-or-no-p
-       (format "File %s was lost; check out from version control? "
-	       (file-name-nondirectory buffer-file-name)))
-      (save-excursion
-	(require 'vc)
-	(setq default-directory (file-name-directory buffer-file-name))
-	(not (vc-error-occurred (vc-checkout buffer-file-name))))))
+  ;; This used to do what vc-rcs-find-file-not-found-hook does, but it only
+  ;; really makes sense for RCS.  For other backends, better not do anything.
+  nil)
 
 (add-hook 'find-file-not-found-functions 'vc-file-not-found-hook)
 
--- a/lisp/vc-rcs.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/vc-rcs.el	Mon Aug 13 13:41:28 2007 +0000
@@ -234,6 +234,14 @@
     ;; The workfile is unchanged if rcsdiff found no differences.
     (zerop status)))
 
+(defun vc-rcs-find-file-not-found-hook ()
+  (if (yes-or-no-p
+       (format "File %s was lost; check out from version control? "
+	       (file-name-nondirectory buffer-file-name)))
+      (save-excursion
+	(require 'vc)
+	(let ((default-directory (file-name-directory buffer-file-name)))
+          (not (vc-error-occurred (vc-checkout buffer-file-name)))))))
 
 ;;;
 ;;; State-changing functions
--- a/lisp/vc.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/vc.el	Mon Aug 13 13:41:28 2007 +0000
@@ -1145,7 +1145,7 @@
 	;; ;; We may want to reparse the compilation buffer after revert
 	;; (reparse (and (boundp 'compilation-error-list) ;compile loaded
 	;; 	      ;; Construct a list; each elt is nil or a buffer
-	;; 	      ;; iff that buffer is a compilation output buffer
+	;; 	      ;; if that buffer is a compilation output buffer
 	;; 	      ;; that contains markers into the current buffer.
 	;; 	      (save-current-buffer
 	;; 		(mapcar (lambda (buffer)
--- a/lisp/view.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/view.el	Mon Aug 13 13:41:28 2007 +0000
@@ -375,7 +375,8 @@
   ;; bindings instead of using the \\[] construction.  The reason for this
   ;; is that most commands have more than one key binding.
   "Toggle View mode, a minor mode for viewing text but not editing it.
-With ARG, turn View mode on iff ARG is positive.
+With prefix argument ARG, turn View mode on if ARG is positive, otherwise
+turn it off.
 
 Emacs commands that do not change the buffer contents are available as usual.
 Kill commands insert text in kill buffers but do not delete.  Other commands
--- a/lisp/whitespace.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/whitespace.el	Mon Aug 13 13:41:28 2007 +0000
@@ -763,7 +763,7 @@
 ;;;###autoload
 (define-minor-mode whitespace-global-mode
   "Toggle using Whitespace mode in new buffers.
-With ARG, turn the mode on iff ARG is positive.
+With ARG, turn the mode on if ARG is positive, otherwise turn it off.
 
 When this mode is active, `whitespace-buffer' is added to
 `find-file-hook' and `kill-buffer-hook'."
--- a/lisp/wid-edit.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/wid-edit.el	Mon Aug 13 13:41:28 2007 +0000
@@ -483,7 +483,7 @@
 
 ;;;###autoload
 (defun widgetp (widget)
-  "Return non-nil iff WIDGET is a widget."
+  "Return non-nil if WIDGET is a widget."
   (if (symbolp widget)
       (get widget 'widget-type)
     (and (consp widget)
@@ -500,7 +500,7 @@
       value)))
 
 (defun widget-member (widget property)
-  "Non-nil iff there is a definition in WIDGET for PROPERTY."
+  "Non-nil if there is a definition in WIDGET for PROPERTY."
   (cond ((plist-member (cdr widget) property)
 	 t)
 	((car widget)
@@ -1606,7 +1606,7 @@
       (widget-princ-to-string (widget-get widget :value))))
 
 (defun widget-default-active (widget)
-  "Return t iff this widget active (user modifiable)."
+  "Return t if this widget is active (user modifiable)."
   (or (widget-get widget :always-active)
       (and (not (widget-get widget :inactive))
 	   (let ((parent (widget-get widget :parent)))
--- a/lisp/window.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/window.el	Mon Aug 13 13:41:28 2007 +0000
@@ -120,7 +120,7 @@
 PROC is called with a window as argument.
 
 Optional second arg MINIBUF t means count the minibuffer window even
-if not active.  MINIBUF nil or omitted means count the minibuffer iff
+if not active.  MINIBUF nil or omitted means count the minibuffer only if
 it is active.  MINIBUF neither t nor nil means not to count the
 minibuffer even if it is active.
 
@@ -165,7 +165,7 @@
 returned.
 
 Optional second arg MINIBUF t means count the minibuffer window even
-if not active.  MINIBUF nil or omitted means count the minibuffer iff
+if not active.  MINIBUF nil or omitted means count the minibuffer only if
 it is active.  MINIBUF neither t nor nil means not to count the
 minibuffer even if it is active.
 
@@ -927,7 +927,7 @@
 (defun mouse-autoselect-window-select ()
   "Select window with delayed window autoselection.
 If the mouse position has stabilized in a non-selected window, select
-that window.  The minibuffer window is selected iff the minibuffer is
+that window.  The minibuffer window is selected only if the minibuffer is
 active.  This function is run by `mouse-autoselect-window-timer'."
   (condition-case nil
       (let* ((mouse-position (mouse-position))
@@ -952,14 +952,14 @@
 			;; If `mouse-autoselect-window' is positive, select
 			;; window if the window is the same as before.
 			(eq window mouse-autoselect-window-window))
-		   ;; Otherwise select window iff the mouse is at the same
+		   ;; Otherwise select window if the mouse is at the same
 		   ;; position as before.  Observe that the first test after
 		   ;; starting autoselection usually fails since the value of
 		   ;; `mouse-autoselect-window-position' recorded there is the
 		   ;; position where the mouse has entered the new window and
 		   ;; not necessarily where the mouse has stopped moving.
 		   (equal mouse-position mouse-autoselect-window-position))
-	       ;; The minibuffer is a candidate window iff it's active.
+	       ;; The minibuffer is a candidate window if it's active.
 	       (or (not (window-minibuffer-p window))
 		   (eq window (active-minibuffer-window))))
 	  ;; Mouse position has stabilized in non-selected window: Cancel
--- a/lisp/winner.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/winner.el	Mon Aug 13 13:41:28 2007 +0000
@@ -5,7 +5,6 @@
 
 ;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
 ;; Created: 27 Feb 1997
-;; Time-stamp: <2006-02-06 15:13:57 ttn>
 ;; Keywords: convenience frames
 
 ;; This file is part of GNU Emacs.
@@ -286,7 +285,7 @@
 
 (defun winner-get-point (buf win)
   ;; Consult (and possibly extend) `winner-point-alist'.
-  ;; Returns nil iff buf no longer exists.
+  ;; Returns nil if buf no longer exists.
   (when (buffer-name buf)
     (let ((entry (assq buf winner-point-alist)))
       (cond
@@ -306,7 +305,7 @@
 
 ;; Make sure point does not end up in the minibuffer and delete
 ;; windows displaying dead or boring buffers
-;; (c.f. `winner-boring-buffers').  Return nil iff all the windows
+;; (c.f. `winner-boring-buffers').  Return nil if all the windows
 ;; should be deleted.  Preserve correct points and marks.
 (defun winner-set (conf)
   ;; For the format of `conf', see `winner-conf'.
--- a/lisp/xt-mouse.el	Mon Aug 13 11:27:41 2007 +0000
+++ b/lisp/xt-mouse.el	Mon Aug 13 13:41:28 2007 +0000
@@ -190,7 +190,8 @@
 ;;;###autoload
 (define-minor-mode xterm-mouse-mode
   "Toggle XTerm mouse mode.
-With prefix arg, turn XTerm mouse mode on iff arg is positive.
+With prefix arg, turn XTerm mouse mode on if arg is positive, otherwise turn
+it off.
 
 Turn it on to use Emacs mouse commands, and off to use xterm mouse commands.
 This works in terminal emulators compatible with xterm.  It only
--- a/lispref/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/lispref/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,21 @@
+2007-08-08  Martin Rudalics  <rudalics@gmx.at>
+
+	* modes.texi (Example Major Modes): Fix typo.
+
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* intro.texi (nil and t): Do not use `iff' in documentation.
+
+	* tips.texi (Documentation Tips): Recommend against `iff'.
+
+2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
+
+	* display.texi (Image Cache): Document image-refresh.
+
+2007-08-06  Martin Rudalics  <rudalics@gmx.at>
+
+	* windows.texi (Size of Window): Document window-full-width-p.
+
 2007-07-25  Glenn Morris  <rgm@gnu.org>
 
 	* gpl.texi (GPL): Replace license with GPLv3.
--- a/lispref/intro.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/lispref/intro.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -213,7 +213,7 @@
 Variables}.
 
 @defun booleanp object
-Return non-nil iff @var{object} is one of the two canonical boolean
+Return non-nil if @var{object} is one of the two canonical boolean
 values: @code{t} or @code{nil}.
 @end defun
 
--- a/lispref/modes.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/lispref/modes.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -1078,7 +1078,7 @@
 
   In Lisp and most programming languages, we want the paragraph
 commands to treat only blank lines as paragraph separators.  And the
-modes should undestand the Lisp conventions for comments.  The rest of
+modes should understand the Lisp conventions for comments.  The rest of
 @code{lisp-mode-variables} sets this up:
 
 @smallexample
--- a/lispref/tips.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/lispref/tips.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -845,6 +845,12 @@
 ``Display text in boldface.''
 
 @item
+Avoid using ``iff'' (a mathematics term meaning ``if and only if''),
+since many people are unfamiliar with it and mistake it for a typo.  In
+most cases, the meaning is clear with just ``if''.  Otherwise, try to
+find an alternate phrasing that conveys the meaning.
+
+@item
 When a command is meaningful only in a certain mode or situation,
 do mention that in the documentation string.  For example,
 the documentation of @code{dired-find-file} is:
--- a/lispref/windows.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/lispref/windows.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -1887,6 +1887,12 @@
 @end example
 @end defun
 
+@defun window-full-width-p &optional window
+This function returns non-@code{nil} if @var{window} is as wide as
+the frame that contains it; otherwise @code{nil}.
+If @var{window} is @code{nil}, the function uses the selected window.
+@end defun
+
 @defun window-edges &optional window
 This function returns a list of the edge coordinates of @var{window}.
 If @var{window} is @code{nil}, the selected window is used.
--- a/mac/inc/m-mac.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/mac/inc/m-mac.h	Mon Aug 13 13:41:28 2007 +0000
@@ -25,7 +25,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/man/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/man/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -1,3 +1,12 @@
+2007-08-10  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus.texi (NNTP): Mention nntp-xref-number-is-evil.
+
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* glossary.texi (Glossary): Deprecate `iff'.
+	* gnus.texi, sieve.texi: Replace `iff'.
+
 2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 
 	* files.texi (File Conveniences): Document point motion keys in Image
--- a/man/glossary.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/man/glossary.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -603,7 +603,8 @@
 
 @item Iff
 ``Iff'' means ``if and only if.''  This terminology comes from
-mathematics.
+mathematics.  Try to avoid using this term in documentation, since
+many are unfamiliar with it and mistake it for a typo.
 
 @item Inbox
 An inbox is a file in which mail is delivered by the operating system.
--- a/man/gnus.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/man/gnus.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -12945,6 +12945,34 @@
 that fetching will probably be slower.  If this variable is @code{nil},
 @code{nntp} will never split requests.  The default is 5.
 
+@item nntp-xref-number-is-evil
+@vindex nntp-xref-number-is-evil
+When Gnus refers to an article having the @code{Message-ID} that a user
+specifies or having the @code{Message-ID} of the parent article of the
+current one (@pxref{Finding the Parent}), Gnus sends a @code{HEAD}
+command to the @acronym{NNTP} server to know where it is, and the server
+returns the data containing the pairs of a group and an article number
+in the @code{Xref} header.  Gnus normally uses the article number to
+refer to the article if the data shows that that article is in the
+current group, while it uses the @code{Message-ID} otherwise.  However,
+some news servers, e.g., ones running Diablo, run multiple engines
+having the same articles but article numbers are not kept synchronized
+between them.  In that case, the article number that appears in the
+@code{Xref} header varies by which engine is chosen, so you cannot refer
+to the parent article that is in the current group, for instance.  If
+you connect to such a server, set this variable to a non-@code{nil}
+value, and Gnus never uses article numbers.  For example:
+
+@lisp
+(setq gnus-select-method
+      '(nntp "newszilla"
+             (nntp-address "newszilla.example.com")
+             (nntp-xref-number-is-evil t)
+             @dots{}))
+@end lisp
+
+The default value of this server variable is @code{nil}.
+
 @item nntp-prepare-server-hook
 @vindex nntp-prepare-server-hook
 A hook run before attempting to connect to an @acronym{NNTP} server.
@@ -18595,23 +18623,23 @@
 
 @table @code
 @item short
-True iff the article is shorter than @code{gnus-agent-short-article}
+True if the article is shorter than @code{gnus-agent-short-article}
 lines; default 100.
 
 @item long
-True iff the article is longer than @code{gnus-agent-long-article}
+True if the article is longer than @code{gnus-agent-long-article}
 lines; default 200.
 
 @item low
-True iff the article has a download score less than
+True if the article has a download score less than
 @code{gnus-agent-low-score}; default 0.
 
 @item high
-True iff the article has a download score greater than
+True if the article has a download score greater than
 @code{gnus-agent-high-score}; default 0.
 
 @item spam
-True iff the Gnus Agent guesses that the article is spam.  The
+True if the Gnus Agent guesses that the article is spam.  The
 heuristics may change over time, but at present it just computes a
 checksum and sees whether articles match.
 
@@ -26651,7 +26679,7 @@
 
 Use @file{make.bat} if you want to install Gnus under MS Windows, the
 first argument to the batch-program should be the directory where
-@file{xemacs.exe} respectively @file{emacs.exe} is located, iff you want
+@file{xemacs.exe} respectively @file{emacs.exe} is located, if you want
 to install Gnus after compiling it, give @file{make.bat} @code{/copy} as
 the second parameter.
 
@@ -27008,7 +27036,7 @@
 @item
 Gnus no longer generate the Sender: header automatically.
 
-Earlier it was generated iff the user configurable email address was
+Earlier it was generated when the user configurable email address was
 different from the Gnus guessed default user address.  As the guessing
 algorithm is rarely correct these days, and (more controversially) the
 only use of the Sender: header was to check if you are entitled to
--- a/man/sieve.texi	Mon Aug 13 11:27:41 2007 +0000
+++ b/man/sieve.texi	Mon Aug 13 13:41:28 2007 +0000
@@ -307,7 +307,7 @@
 
 @item sieve-manage-capability
 @findex sieve-manage-capability
-Return a list of capabilities the server support.
+Return a list of capabilities the server supports.
 
 @item sieve-manage-listscripts
 @findex sieve-manage-listscripts
@@ -315,7 +315,7 @@
 
 @item sieve-manage-havespace
 @findex sieve-manage-havespace
-Returns non-@code{nil} iff server have roam for a script of given
+Return non-@code{nil} if the server has room for a script of given
 size.
 
 @item sieve-manage-getscript
--- a/src/ChangeLog	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/ChangeLog	Mon Aug 13 13:41:28 2007 +0000
@@ -23,6 +23,12 @@
 	* macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 	Don't use invisible frame as parent window for repositioning.
 
+2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* print.c (new_backquote_output): Rename from old_backquote_output.
+	(print): Inverse its logic (according to its name) so as to match the
+	behavior of new_backquote_flag in lread.c.
+
 2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* gmalloc.c (posix_memalign): New function.
@@ -41,6 +47,10 @@
 	(mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
 	for window repositioning.
 
+2007-08-08  Glenn Morris  <rgm@gnu.org>
+
+	* Replace `iff' in doc-strings and comments.
+
 2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 
 	* xdisp.c (move_it_by_lines): Remove incorrect optimization.
--- a/src/buffer.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/buffer.h	Mon Aug 13 13:41:28 2007 +0000
@@ -561,7 +561,7 @@
   Lisp_Object filename;
   /* Dir for expanding relative file names.  */
   Lisp_Object directory;
-  /* True iff this buffer has been backed up (if you write to the
+  /* True if this buffer has been backed up (if you write to the
      visited file and it hasn't been backed up, then a backup will
      be made).  */
   /* This isn't really used by the C code, so could be deleted.  */
--- a/src/callproc.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/callproc.c	Mon Aug 13 13:41:28 2007 +0000
@@ -117,7 +117,7 @@
 Lisp_Object Qbuffer_file_type;
 #endif /* DOS_NT */
 
-/* True iff we are about to fork off a synchronous process or if we
+/* True if we are about to fork off a synchronous process or if we
    are waiting for it.  */
 int synch_process_alive;
 
--- a/src/casetab.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/casetab.c	Mon Aug 13 13:41:28 2007 +0000
@@ -40,7 +40,7 @@
 static void shuffle ();
 
 DEFUN ("case-table-p", Fcase_table_p, Scase_table_p, 1, 1, 0,
-       doc: /* Return t iff OBJECT is a case table.
+       doc: /* Return t if OBJECT is a case table.
 See `set-case-table' for more information on these data structures.  */)
      (object)
      Lisp_Object object;
--- a/src/category.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/category.c	Mon Aug 13 13:41:28 2007 +0000
@@ -559,7 +559,7 @@
 	       doc: /* List of pair (cons) of categories to determine word boundary.
 
 Emacs treats a sequence of word constituent characters as a single
-word (i.e. finds no word boundary between them) iff they belongs to
+word (i.e. finds no word boundary between them) only if they belong to
 the same charset.  But, exceptions are allowed in the following cases.
 
 \(1) The case that characters are in different charsets is controlled
--- a/src/ccl.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/ccl.c	Mon Aug 13 13:41:28 2007 +0000
@@ -659,13 +659,13 @@
 
 #define CCL_LookupIntConstTbl 0x13 /* Lookup multibyte character by
 				      integer key.  Afterwards R7 set
-				      to 1 iff lookup succeeded.
+				      to 1 if lookup succeeded.
 				      1:ExtendedCOMMNDRrrRRRXXXXXXXX
 				      2:ARGUMENT(Hash table ID) */
 
 #define CCL_LookupCharConstTbl 0x14 /* Lookup integer by multibyte
 				       character key.  Afterwards R7 set
-				       to 1 iff lookup succeeded.
+				       to 1 if lookup succeeded.
 				       1:ExtendedCOMMNDRrrRRRrrrXXXXX
 				       2:ARGUMENT(Hash table ID) */
 
--- a/src/charset.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/charset.c	Mon Aug 13 13:41:28 2007 +0000
@@ -337,7 +337,7 @@
   return 0;
 }
 
-/* Return 1 iff character C has valid printable glyph.
+/* Return 1 if character C has valid printable glyph.
    Use the macro CHAR_PRINTABLE_P instead.  */
 int
 char_printable_p (c)
@@ -1102,8 +1102,8 @@
   return CHARSET_SYMBOL (charset);
 }
 
-/* If GENERICP is nonzero, return nonzero iff C is a valid normal or
-   generic character.  If GENERICP is zero, return nonzero iff C is a
+/* If GENERICP is nonzero, return nonzero if C is a valid normal or
+   generic character.  If GENERICP is zero, return nonzero if C is a
    valid normal character.  Do not call this function directly,
    instead use macro CHAR_VALID_P.  */
 int
--- a/src/charset.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/charset.h	Mon Aug 13 13:41:28 2007 +0000
@@ -413,8 +413,8 @@
 	    | ((c1) <= 0 ? 0 : (((c1) & 0x7F) << 7))))))
 
 
-/* If GENERICP is nonzero, return nonzero iff C is a valid normal or
-   generic character.  If GENERICP is zero, return nonzero iff C is a
+/* If GENERICP is nonzero, return nonzero if C is a valid normal or
+   generic character.  If GENERICP is zero, return nonzero if C is a
    valid normal character.  */
 #define CHAR_VALID_P(c, genericp)	\
   ((c) >= 0				\
@@ -450,7 +450,7 @@
 #define VALID_LEADING_CODE_P(code)	\
   (! NILP (CHARSET_TABLE_ENTRY (code)))
 
-/* Return 1 iff the byte sequence at unibyte string STR (LENGTH bytes)
+/* Return 1 if the byte sequence at unibyte string STR (LENGTH bytes)
    is valid as a multibyte form.  If valid, by a side effect, BYTES is
    set to the byte length of the multibyte form.  */
 
@@ -471,7 +471,7 @@
 		     && VALID_LEADING_CODE_P (str[1]))))))))
 
 
-/* Return 1 iff the byte sequence at multibyte string STR is valid as
+/* Return 1 if the byte sequence at multibyte string STR is valid as
    a unibyte form.  By a side effect, BYTES is set to the byte length
    of one character at STR.  */
 
@@ -499,7 +499,7 @@
 	 c1 = CHAR_FIELD3 (c),						    \
 	 c2 = -1)))
 
-/* Return 1 iff character C has valid printable glyph.  */
+/* Return 1 if character C has valid printable glyph.  */
 #define CHAR_PRINTABLE_P(c) (ASCII_BYTE_P (c) || char_printable_p (c))
 
 /* The charset of the character at STR is stored in CHARSET, and the
--- a/src/coding.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/coding.h	Mon Aug 13 13:41:28 2007 +0000
@@ -263,7 +263,7 @@
 				     eol-type is not consistent
 				     through the file.  */
 
-/* 1 iff composing.  */
+/* 1 if composing.  */
 #define COMPOSING_P(coding) ((int) coding->composing > (int) COMPOSITION_NO)
 
 #define COMPOSITION_DATA_SIZE 4080
@@ -372,7 +372,7 @@
   /* The current status of composition handling.  */
   int composing;
 
-  /* 1 iff the next character is a composition rule.  */
+  /* 1 if the next character is a composition rule.  */
   int composition_rule_follows;
 
   /* Information of compositions are stored here on decoding and set
--- a/src/composite.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/composite.h	Mon Aug 13 13:41:28 2007 +0000
@@ -56,7 +56,7 @@
 /* Temporary variable used only in the following macros.  */
 extern Lisp_Object composition_temp;
 
-/* Return 1 iff the composition is already registered.  */
+/* Return 1 if the composition is already registered.  */
 #define COMPOSITION_REGISTERD_P(prop) INTEGERP (XCAR (prop))
 
 /* Return ID number of the already registered composition.  */
@@ -91,7 +91,7 @@
 	  ? COMPOSITION_WITH_ALTCHARS					\
 	  : COMPOSITION_WITH_RULE_ALTCHARS))))
 
-/* Return 1 iff the composition is valid.  It is valid if length of
+/* Return 1 if the composition is valid.  It is valid if length of
    the composition equals to (END - START).  */
 #define COMPOSITION_VALID_P(start, end, prop)			\
   (CONSP (prop)							\
--- a/src/dired.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/dired.c	Mon Aug 13 13:41:28 2007 +0000
@@ -916,7 +916,7 @@
  7. Size in bytes.
   This is a floating point number if the size is too large for an integer.
  8. File modes, as a string of ten letters or dashes as in ls -l.
- 9. t iff file's gid would change if file were deleted and recreated.
+ 9. t if file's gid would change if file were deleted and recreated.
 10. inode number.  If inode number is larger than the Emacs integer,
   this is a cons cell containing two integers: first the high part,
   then the low 16 bits.
--- a/src/editfns.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/editfns.c	Mon Aug 13 13:41:28 2007 +0000
@@ -3514,7 +3514,7 @@
 	   precision	::= '.' [0-9]*
 
 	   If a field-width is specified, it specifies to which width
-	   the output should be padded with blanks, iff the output
+	   the output should be padded with blanks, if the output
 	   string is shorter than field-width.
 
 	   If precision is specified, it specifies the number of
--- a/src/eval.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/eval.c	Mon Aug 13 13:41:28 2007 +0000
@@ -1783,7 +1783,7 @@
 }
 
 
-/* Return nonzero iff LIST is a non-nil atom or
+/* Return nonzero if LIST is a non-nil atom or
    a list containing one of CONDITIONS.  */
 
 static int
--- a/src/fileio.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/fileio.c	Mon Aug 13 13:41:28 2007 +0000
@@ -5256,7 +5256,7 @@
  * if we do writes that don't end with a carriage return. Furthermore
  * it cannot handle writes of more then 16K. The modified
  * version of "sys_write" in SYSDEP.C (see comment there) copes with
- * this EXCEPT for the last record (iff it doesn't end with a carriage
+ * this EXCEPT for the last record (if it doesn't end with a carriage
  * return). This implies that if your buffer doesn't end with a carriage
  * return, you get one free... tough. However it also means that if
  * we make two calls to sys_write (a la the following code) you can
--- a/src/fontset.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/fontset.c	Mon Aug 13 13:41:28 2007 +0000
@@ -500,7 +500,7 @@
 }
 
 
-/* Return 1 iff FACE is suitable for displaying character C.
+/* Return 1 if FACE is suitable for displaying character C.
    Otherwise return 0.  Called from the macro FACE_SUITABLE_FOR_CHAR_P
    when C is not a single byte character..  */
 
--- a/src/fontset.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/fontset.h	Mon Aug 13 13:41:28 2007 +0000
@@ -66,7 +66,7 @@
   /* Average width of glyphs in the font.  */
   int average_width;
 
-  /* 1 iff `vertical-centering-font-regexp' matches this font name.
+  /* 1 if `vertical-centering-font-regexp' matches this font name.
      In this case, we render characters at vartical center positions
      of lines.  */
   int vertical_centering;
--- a/src/getloadavg.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/getloadavg.c	Mon Aug 13 13:41:28 2007 +0000
@@ -484,7 +484,7 @@
 #if !defined(HAVE_LIBKSTAT) && defined(LOAD_AVE_TYPE)
 /* File descriptor open to /dev/kmem or VMS load ave driver.  */
 static int channel;
-/* Nonzero iff channel is valid.  */
+/* Nonzero if channel is valid.  */
 static int getloadavg_initialized;
 /* Offset in kmem to seek to read load average, or 0 means invalid.  */
 static long offset;
--- a/src/indent.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/indent.c	Mon Aug 13 13:41:28 2007 +0000
@@ -116,7 +116,7 @@
     return 0;
 }
 
-/* Return true iff the display table DISPTAB specifies the same widths
+/* Return true if the display table DISPTAB specifies the same widths
    for characters as WIDTHTAB.  We use this to decide when to
    invalidate the buffer's width_run_cache.  */
 
--- a/src/indent.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/indent.h	Mon Aug 13 13:41:28 2007 +0000
@@ -61,7 +61,7 @@
 
 /* Functions for dealing with the column cache.  */
 
-/* Return true iff the display table DISPTAB specifies the same widths
+/* Return true if the display table DISPTAB specifies the same widths
    for characters as WIDTHTAB.  We use this to decide when to
    invalidate the buffer's column_cache.  */
 int disptab_matches_widthtab P_ ((struct Lisp_Char_Table *disptab,
--- a/src/intervals.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/intervals.c	Mon Aug 13 13:41:28 2007 +0000
@@ -2200,7 +2200,7 @@
 
   temp_set_point_both (buffer, charpos, bytepos);
 
-  /* We run point-left and point-entered hooks here, iff the
+  /* We run point-left and point-entered hooks here, if the
      two intervals are not equivalent.  These hooks take
      (old_point, new_point) as arguments.  */
   if (NILP (Vinhibit_point_motion_hooks)
--- a/src/keyboard.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/keyboard.c	Mon Aug 13 13:41:28 2007 +0000
@@ -500,7 +500,7 @@
 /* The above pair of variables forms a "queue empty" flag.  When we
    enqueue a non-hook event, we increment kbd_store_ptr.  When we
    dequeue a non-hook event, we increment kbd_fetch_ptr.  We say that
-   there is input available iff the two pointers are not equal.
+   there is input available if the two pointers are not equal.
 
    Why not just have a flag set and cleared by the enqueuing and
    dequeuing functions?  Such a flag could be screwed up by interrupts
@@ -3590,7 +3590,7 @@
    kbd_buffer_store_event places events in kbd_buffer, and
    kbd_buffer_get_event retrieves them.  */
 
-/* Return true iff there are any events in the queue that read-char
+/* Return true if there are any events in the queue that read-char
    would return.  If this returns false, a read-char would block.  */
 static int
 readable_events (flags)
--- a/src/keyboard.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/keyboard.h	Mon Aug 13 13:41:28 2007 +0000
@@ -240,7 +240,7 @@
 
 /* Macros for dealing with lispy events.  */
 
-/* True iff EVENT has data fields describing it (i.e. a mouse click).  */
+/* True if EVENT has data fields describing it (i.e. a mouse click).  */
 #define EVENT_HAS_PARAMETERS(event) (CONSP (event))
 
 /* Extract the head from an event.
--- a/src/keymap.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/keymap.c	Mon Aug 13 13:41:28 2007 +0000
@@ -4074,7 +4074,7 @@
   DEFVAR_LISP ("minor-mode-map-alist", &Vminor_mode_map_alist,
 	       doc: /* Alist of keymaps to use for minor modes.
 Each element looks like (VARIABLE . KEYMAP); KEYMAP is used to read
-key sequences and look up bindings iff VARIABLE's value is non-nil.
+key sequences and look up bindings if VARIABLE's value is non-nil.
 If two active keymaps bind the same key, the keymap appearing earlier
 in the list takes precedence.  */);
   Vminor_mode_map_alist = Qnil;
--- a/src/lisp.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/lisp.h	Mon Aug 13 13:41:28 2007 +0000
@@ -1444,7 +1444,7 @@
 #define GLYPH_CHAR(f, g) (FAST_GLYPH_CHAR (g))
 #define GLYPH_FACE(f, g) (FAST_GLYPH_FACE (g))
 
-/* Return 1 iff GLYPH contains valid character code.  */
+/* Return 1 if GLYPH contains valid character code.  */
 #define GLYPH_CHAR_VALID_P(glyph) CHAR_VALID_P (FAST_GLYPH_CHAR (glyph), 1)
 
 /* The ID of the mode line highlighting face.  */
@@ -1591,7 +1591,7 @@
    "dead", which is what we want; this is an argument-checking macro, and
    the user should never get access to interior windows.
 
-   A window of any sort, leaf or interior, is dead iff the buffer,
+   A window of any sort, leaf or interior, is dead if the buffer,
    vchild, and hchild members are all nil.  */
 
 #define CHECK_LIVE_WINDOW(x) \
--- a/src/lread.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/lread.c	Mon Aug 13 13:41:28 2007 +0000
@@ -93,7 +93,7 @@
 extern Lisp_Object Qevent_symbol_element_mask;
 extern Lisp_Object Qfile_exists_p;
 
-/* non-zero iff inside `load' */
+/* non-zero if inside `load' */
 int load_in_progress;
 
 /* Directory in which the sources were found.  */
@@ -1126,7 +1126,7 @@
    On success, returns a file descriptor.  On failure, returns -1.
 
    SUFFIXES is a list of strings containing possible suffixes.
-   The empty suffix is automatically added iff the list is empty.
+   The empty suffix is automatically added if the list is empty.
 
    PREDICATE non-nil means don't open the files,
    just look for one that satisfies the predicate.  In this case,
@@ -4077,7 +4077,7 @@
   Vload_file_rep_suffixes = Fcons (empty_unibyte_string, Qnil);
 
   DEFVAR_BOOL ("load-in-progress", &load_in_progress,
-	       doc: /* Non-nil iff inside of `load'.  */);
+	       doc: /* Non-nil if inside of `load'.  */);
 
   DEFVAR_LISP ("after-load-alist", &Vafter_load_alist,
 	       doc: /* An alist of expressions to be evalled when particular files are loaded.
--- a/src/m/7300.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/7300.h	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
 /* # define SHORTNAMES */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/acorn.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/acorn.h	Mon Aug 13 13:41:28 2007 +0000
@@ -21,7 +21,7 @@
 
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/alliant-2800.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/alliant-2800.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/alliant.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/alliant.h	Mon Aug 13 13:41:28 2007 +0000
@@ -26,7 +26,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/alpha.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/alpha.h	Mon Aug 13 13:41:28 2007 +0000
@@ -35,7 +35,7 @@
 				   on OSF 4/5  -- fx.  */
 #endif
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/altos.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/altos.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/amdahl.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/amdahl.h	Mon Aug 13 13:41:28 2007 +0000
@@ -31,7 +31,7 @@
 compiler is so brain damaged that it is not even worth trying to use it.
 */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/amdx86-64.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/amdx86-64.h	Mon Aug 13 13:41:28 2007 +0000
@@ -26,7 +26,7 @@
 #define BITS_PER_LONG           64
 #define BITS_PER_EMACS_INT      64
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/apollo.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/apollo.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/arm.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/arm.h	Mon Aug 13 13:41:28 2007 +0000
@@ -21,7 +21,7 @@
 
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/att3b.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/att3b.h	Mon Aug 13 13:41:28 2007 +0000
@@ -26,7 +26,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/aviion.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/aviion.h	Mon Aug 13 13:41:28 2007 +0000
@@ -20,7 +20,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/celerity.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/celerity.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/clipper.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/clipper.h	Mon Aug 13 13:41:28 2007 +0000
@@ -20,7 +20,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/cnvrgnt.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/cnvrgnt.h	Mon Aug 13 13:41:28 2007 +0000
@@ -20,7 +20,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/convex.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/convex.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/cydra5.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/cydra5.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/delta88k.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/delta88k.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/dpx2.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/dpx2.h	Mon Aug 13 13:41:28 2007 +0000
@@ -32,7 +32,7 @@
 /* #define ncl_el	/* DPX/2 210,220 etc */
 /* #define ncl_mr 1	/* DPX/2 320,340 (and 360,380 ?) */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/dual.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/dual.h	Mon Aug 13 13:41:28 2007 +0000
@@ -35,7 +35,7 @@
 NOTE-END */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/elxsi.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/elxsi.h	Mon Aug 13 13:41:28 2007 +0000
@@ -27,7 +27,7 @@
 /* This file was modified by Matt Crawford <matt@tank.uchicago.edu>
    to work under Elxsi's 12.0 release of BSD unix. */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/gould.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/gould.h	Mon Aug 13 13:41:28 2007 +0000
@@ -49,7 +49,7 @@
   A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h.
 NOTE-END */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/hp800.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/hp800.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="hpux"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/hp9000s300.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/hp9000s300.h	Mon Aug 13 13:41:28 2007 +0000
@@ -59,7 +59,7 @@
 
 /* #define HPUX_5 */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/i860.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/i860.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/ia64.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ia64.h	Mon Aug 13 13:41:28 2007 +0000
@@ -23,7 +23,7 @@
 #define BITS_PER_LONG		64
 #define BITS_PER_EMACS_INT	64
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/ibm370aix.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibm370aix.h	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
 #undef INTEL386
 #undef aix386
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/ibmps2-aix.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibmps2-aix.h	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
   work with certain new X window managers, and may be suboptimal.
 NOTE-END */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/ibmrs6000.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibmrs6000.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="aix3-1"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #ifdef USG5_4
--- a/src/m/ibmrt-aix.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibmrt-aix.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/ibmrt.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibmrt.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/ibms390.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibms390.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/ibms390x.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ibms390x.h	Mon Aug 13 13:41:28 2007 +0000
@@ -36,7 +36,7 @@
 #define BITS_PER_LONG 64
 #define BITS_PER_EMACS_INT 64
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/intel386.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/intel386.h	Mon Aug 13 13:41:28 2007 +0000
@@ -50,7 +50,7 @@
   Minor changes merged in 19.1.
 NOTE-END */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/iris4d.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/iris4d.h	Mon Aug 13 13:41:28 2007 +0000
@@ -20,7 +20,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/irist.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/irist.h	Mon Aug 13 13:41:28 2007 +0000
@@ -58,7 +58,7 @@
   (copy-file), it would say that it is non-critical...
 #endif /* 0 */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/isi-ov.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/isi-ov.h	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
 
 #define ISI68K
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/m68k.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/m68k.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
  the size of various data types.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/macppc.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/macppc.h	Mon Aug 13 13:41:28 2007 +0000
@@ -19,7 +19,7 @@
 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA.  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/masscomp.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/masscomp.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="rtu"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/mega68.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/mega68.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/mg1.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/mg1.h	Mon Aug 13 13:41:28 2007 +0000
@@ -34,7 +34,7 @@
 your work; we'd like to distribute this information.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/mips-siemens.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/mips-siemens.h	Mon Aug 13 13:41:28 2007 +0000
@@ -36,7 +36,7 @@
 With this the file mips-siemens.h is obsolete.
 NOTE-END  */
 
-/* Define BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define BIG_ENDIAN
--- a/src/m/mips.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/mips.h	Mon Aug 13 13:41:28 2007 +0000
@@ -29,7 +29,7 @@
 Note that the proper m file for the Decstation is pmax.h.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #if ! (defined (__MIPSEL__) || defined (MIPSEL) || defined (_MIPSEL))
--- a/src/m/news.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/news.h	Mon Aug 13 13:41:28 2007 +0000
@@ -34,7 +34,7 @@
 #define m68000
 #endif
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/next.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/next.h	Mon Aug 13 13:41:28 2007 +0000
@@ -26,7 +26,7 @@
 #define NeXT
 #endif
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 /* Let the compiler tell us.  */
--- a/src/m/ns16000.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ns16000.h	Mon Aug 13 13:41:28 2007 +0000
@@ -30,7 +30,7 @@
 Use `-machine=ns16000' for both.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/ns32000.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ns32000.h	Mon Aug 13 13:41:28 2007 +0000
@@ -25,7 +25,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/nu.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/nu.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/orion.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/orion.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/orion105.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/orion105.h	Mon Aug 13 13:41:28 2007 +0000
@@ -25,7 +25,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/pfa50.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/pfa50.h	Mon Aug 13 13:41:28 2007 +0000
@@ -20,7 +20,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/plexus.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/plexus.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/powermac.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/powermac.h	Mon Aug 13 13:41:28 2007 +0000
@@ -23,7 +23,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="darwin"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/powerpcle.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/powerpcle.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    USUAL-OPSYS="Solaris2.5.1 Windows/NT AIX 4.1.2"
 */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/pyramid.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/pyramid.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/sequent.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sequent.h	Mon Aug 13 13:41:28 2007 +0000
@@ -31,7 +31,7 @@
 /* NOTE: this file works for DYNIX release 2.0
 	  (not tested on 1.3) on NS32000's */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/sh3el.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sh3el.h	Mon Aug 13 13:41:28 2007 +0000
@@ -23,7 +23,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/sparc.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sparc.h	Mon Aug 13 13:41:28 2007 +0000
@@ -28,7 +28,7 @@
 -opsystem=bsd4-2 for earlier versions.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/sps7.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sps7.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/sr2k.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sr2k.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="hpux"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/stride.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/stride.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/sun1.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sun1.h	Mon Aug 13 13:41:28 2007 +0000
@@ -40,7 +40,7 @@
   problems caused by bugs in the "export" version of SunOS 4.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/sun2.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/sun2.h	Mon Aug 13 13:41:28 2007 +0000
@@ -42,7 +42,7 @@
   problems caused by bugs in the "export" version of SunOS 4.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tad68k.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tad68k.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tahoe.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tahoe.h	Mon Aug 13 13:41:28 2007 +0000
@@ -29,7 +29,7 @@
 Berkeley you are running.
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/targon31.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/targon31.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tek4300.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tek4300.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="bsd4-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tekxd88.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tekxd88.h	Mon Aug 13 13:41:28 2007 +0000
@@ -22,7 +22,7 @@
 Boston, MA 02110-1301, USA.  */
 
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/template.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/template.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tower32.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tower32.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/tower32v3.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/tower32v3.h	Mon Aug 13 13:41:28 2007 +0000
@@ -25,7 +25,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/ustation.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/ustation.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-3"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/vax.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/vax.h	Mon Aug 13 13:41:28 2007 +0000
@@ -52,7 +52,7 @@
 
 NOTE-END  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #undef WORDS_BIG_ENDIAN
--- a/src/m/wicat.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/wicat.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/m/windowsnt.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/windowsnt.h	Mon Aug 13 13:41:28 2007 +0000
@@ -24,7 +24,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="<name of system .h file here, without the s- or .h>"  */
 
-/* Define BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 /* #define BIG_ENDIAN */
--- a/src/m/xps100.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/m/xps100.h	Mon Aug 13 13:41:28 2007 +0000
@@ -26,7 +26,7 @@
    operating system this machine is likely to run.
    USUAL-OPSYS="usg5-2"  */
 
-/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
    is the most significant byte.  */
 
 #define WORDS_BIG_ENDIAN
--- a/src/macterm.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/macterm.c	Mon Aug 13 13:41:28 2007 +0000
@@ -12143,7 +12143,7 @@
 			  /* Window will be selected only when it is
 			     not selected now and last mouse movement
 			     event was not in it.  Minibuffer window
-			     will be selected iff it is active.  */
+			     will be selected only when it is active.  */
 			  if (WINDOWP (window)
 			      && !EQ (window, last_window)
 			      && !EQ (window, selected_window))
--- a/src/macterm.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/macterm.h	Mon Aug 13 13:41:28 2007 +0000
@@ -150,7 +150,7 @@
   char *mac_id_name;
 
   /* The number of fonts actually stored in the font table.
-     font_table[n] is used and valid iff 0 <= n < n_fonts.  0 <=
+     font_table[n] is used and valid if 0 <= n < n_fonts.  0 <=
      n_fonts <= font_table_size and font_table[i].name != 0.  */
   int n_fonts;
 
--- a/src/msdos.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/msdos.c	Mon Aug 13 13:41:28 2007 +0000
@@ -3231,7 +3231,7 @@
            `dos_get_modifiers', they might have already released the
            Alt key, and Emacs gets just `x', which is BAD.
            However, for keys with the `Map' property set, the ASCII
-           code returns zero iff Alt is pressed.  So, when we DON'T
+           code returns zero only if Alt is pressed.  So, when we DON'T
            have to support international_keyboard, we don't have to
            distinguish between the left and  right Alt keys, and we
            can set the META modifier for any keys with the `Map'
--- a/src/print.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/print.c	Mon Aug 13 13:41:28 2007 +0000
@@ -93,8 +93,8 @@
 /* Avoid actual stack overflow in print.  */
 int print_depth;
 
-/* Nonzero if inside outputting backquote in old style.  */
-int old_backquote_output;
+/* Level of nesting inside outputting backquote in new style.  */
+int new_backquote_output;
 
 /* Detect most circularities to print finite output.  */
 #define PRINT_CIRCLE 200
@@ -1291,7 +1291,7 @@
      register Lisp_Object printcharfun;
      int escapeflag;
 {
-  old_backquote_output = 0;
+  new_backquote_output = 0;
 
   /* Reset print_number_index and Vprint_number_table only when
      the variable Vprint_continuous_numbering is nil.  Otherwise,
@@ -1756,14 +1756,24 @@
 	  print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
 	}
       else if (print_quoted && CONSP (XCDR (obj)) && NILP (XCDR (XCDR (obj)))
-	       && ! old_backquote_output
+	       && ((EQ (XCAR (obj), Qbackquote))))
+	{
+	  print_object (XCAR (obj), printcharfun, 0);
+	  new_backquote_output++;
+	  print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
+	  new_backquote_output--;
+	}
+      else if (print_quoted && CONSP (XCDR (obj)) && NILP (XCDR (XCDR (obj)))
+	       && new_backquote_output
 	       && ((EQ (XCAR (obj), Qbackquote)
 		    || EQ (XCAR (obj), Qcomma)
 		    || EQ (XCAR (obj), Qcomma_at)
 		    || EQ (XCAR (obj), Qcomma_dot))))
 	{
 	  print_object (XCAR (obj), printcharfun, 0);
+	  new_backquote_output--;
 	  print_object (XCAR (XCDR (obj)), printcharfun, escapeflag);
+	  new_backquote_output++;
 	}
       else
 	{
@@ -1783,9 +1793,7 @@
 	      print_object (Qbackquote, printcharfun, 0);
 	      PRINTCHAR (' ');
 
-	      ++old_backquote_output;
 	      print_object (XCAR (XCDR (tem)), printcharfun, 0);
-	      --old_backquote_output;
 	      PRINTCHAR (')');
 
 	      obj = XCDR (obj);
--- a/src/process.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/process.c	Mon Aug 13 13:41:28 2007 +0000
@@ -2780,7 +2780,7 @@
 
 :filter-multibyte BOOL -- If BOOL is non-nil, strings given to the
 process filter are multibyte, otherwise they are unibyte.
-If this keyword is not specified, the strings are multibyte iff
+If this keyword is not specified, the strings are multibyte if
 `default-enable-multibyte-characters' is non-nil.
 
 :sentinel SENTINEL -- Install SENTINEL as the process sentinel.
@@ -3917,7 +3917,7 @@
 If optional fourth arg JUST-THIS-ONE is non-nil, only accept output
 from PROCESS, suspending reading output from other processes.
 If JUST-THIS-ONE is an integer, don't run any timers either.
-Return non-nil iff we received any output before the timeout expired.  */)
+Return non-nil if we received any output before the timeout expired.  */)
      (process, seconds, millisec, just_this_one)
      register Lisp_Object process, seconds, millisec, just_this_one;
 {
@@ -4249,16 +4249,16 @@
      (and gobble terminal input into the buffer if any arrives).
 
    If WAIT_PROC is specified, wait until something arrives from that
-     process.  The return value is true iff we read some input from
+     process.  The return value is true if we read some input from
      that process.
 
    If JUST_WAIT_PROC is non-nil, handle only output from WAIT_PROC
      (suspending output from other processes).  A negative value
      means don't run any timers either.
 
-   If WAIT_PROC is specified, then the function returns true iff we
+   If WAIT_PROC is specified, then the function returns true if we
      received input from that process before the timeout elapsed.
-   Otherwise, return true iff we received input from any process.  */
+   Otherwise, return true if we received input from any process.  */
 
 int
 wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
@@ -7356,7 +7356,7 @@
    do_display != 0 means redisplay should be done to show subprocess
    output that arrives.
 
-   Return true iff we received input from any process.  */
+   Return true if we received input from any process.  */
 
 int
 wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
--- a/src/process.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/process.h	Mon Aug 13 13:41:28 2007 +0000
@@ -138,7 +138,7 @@
 /* Alist of elements (NAME . PROCESS).  */
 extern Lisp_Object Vprocess_alist;
 
-/* True iff we are about to fork off a synchronous process or if we
+/* True if we are about to fork off a synchronous process or if we
    are waiting for it.  */
 extern int synch_process_alive;
 
--- a/src/regex.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/regex.c	Mon Aug 13 13:41:28 2007 +0000
@@ -2048,7 +2048,7 @@
   else return 0;
 }
 
-/* True iff CH is in the char class CC.  */
+/* True if CH is in the char class CC.  */
 boolean
 re_iswctype (ch, cc)
      int ch;
--- a/src/search.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/search.c	Mon Aug 13 13:41:28 2007 +0000
@@ -1662,7 +1662,7 @@
    have nontrivial translation are the same aside from the last byte.
    This makes it possible to translate just the last byte of a
    character, and do so after just a simple test of the context.
-   CHARSET_BASE is nonzero iff there is such a non-ASCII character.
+   CHARSET_BASE is nonzero if there is such a non-ASCII character.
 
    If that criterion is not satisfied, do not call this function.  */
 
--- a/src/systime.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/systime.h	Mon Aug 13 13:41:28 2007 +0000
@@ -67,7 +67,7 @@
    EMACS_SECS (TIME) is an rvalue for the seconds component of TIME.
    EMACS_SET_SECS (TIME, SECONDS) sets that to SECONDS.
 
-   EMACS_HAS_USECS is defined iff EMACS_TIME has a usecs component.
+   EMACS_HAS_USECS is defined if EMACS_TIME has a usecs component.
    EMACS_USECS (TIME) is an rvalue for the microseconds component of TIME.
    	This returns zero if EMACS_TIME doesn't have a microseconds component.
    EMACS_SET_USECS (TIME, MICROSECONDS) sets that to MICROSECONDS.
@@ -83,7 +83,7 @@
 
    EMACS_SUB_TIME (DEST, SRC1, SRC2) subtracts SRC2 from SRC1 and
 	stores the result in DEST.  SRC should not be negative.
-   EMACS_TIME_NEG_P (TIME) is true iff TIME is negative.
+   EMACS_TIME_NEG_P (TIME) is true if TIME is negative.
 
 */
 
--- a/src/systty.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/systty.h	Mon Aug 13 13:41:28 2007 +0000
@@ -297,7 +297,7 @@
    written before making the change.
    Return 0 if all went well, and -1 if anything failed.
 
-   EMACS_TTY_TABS_OK (struct emacs_tty *P) is false iff the kernel
+   EMACS_TTY_TABS_OK (struct emacs_tty *P) is false if the kernel
    expands tabs to spaces upon output; in that case, there is no
    advantage to using tabs over spaces.  */
 
--- a/src/termhooks.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/termhooks.h	Mon Aug 13 13:41:28 2007 +0000
@@ -201,7 +201,7 @@
 /* Input queue declarations and hooks.  */
 
 /* Expedient hack: only provide the below definitions to files that
-   are prepared to handle lispy things.  CONSP is defined iff lisp.h
+   are prepared to handle lispy things.  CONSP is defined if lisp.h
    has been included before this file.  */
 #ifdef CONSP
 
--- a/src/textprop.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/textprop.c	Mon Aug 13 13:41:28 2007 +0000
@@ -1633,8 +1633,8 @@
      The flag `modified' records if changes have been made.
      When object is a buffer, we must call modify_region before changes are
      made and signal_after_change when we are done.
-     We call modify_region before calling remove_properties iff modified == 0,
-     and we call signal_after_change before returning iff modified != 0. */
+     We call modify_region before calling remove_properties if modified == 0,
+     and we call signal_after_change before returning if modified != 0. */
   for (;;)
     {
       if (i == 0)
--- a/src/w32term.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/w32term.c	Mon Aug 13 13:41:28 2007 +0000
@@ -4401,7 +4401,7 @@
 		  /* Window will be selected only when it is not
 		     selected now and last mouse movement event was
 		     not in it.  Minibuffer window will be selected
-		     iff it is active.  */
+		     only when it is active.  */
 		  if (WINDOWP(window)
 		      && !EQ (window, last_window)
 		      && !EQ (window, selected_window))
--- a/src/w32term.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/w32term.h	Mon Aug 13 13:41:28 2007 +0000
@@ -198,7 +198,7 @@
   char *w32_id_name;
 
   /* The number of fonts actually stored in w32_font_table.
-     font_table[n] is used and valid iff 0 <= n < n_fonts. 0 <=
+     font_table[n] is used and valid if 0 <= n < n_fonts. 0 <=
      n_fonts <= font_table_size. and font_table[i].name != 0. */
   int n_fonts;
 
--- a/src/window.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/window.c	Mon Aug 13 13:41:28 2007 +0000
@@ -557,6 +557,15 @@
   return make_number (window_box_text_cols (decode_any_window (window)));
 }
 
+DEFUN ("window-full-width-p", Fwindow_full_width_p, Swindow_full_width_p, 0, 1, 0,
+       doc: /* Return t if WINDOW is as wide as its frame.
+WINDOW defaults to the selected window.  */)
+     (window)
+     Lisp_Object window;
+{
+  return WINDOW_FULL_WIDTH_P (decode_any_window (window)) ? Qt : Qnil;
+}
+
 DEFUN ("window-hscroll", Fwindow_hscroll, Swindow_hscroll, 0, 1, 0,
        doc: /* Return the number of columns by which WINDOW is scrolled from left margin.
 WINDOW defaults to the selected window.  */)
@@ -7515,6 +7524,7 @@
   defsubr (&Swindow_buffer);
   defsubr (&Swindow_height);
   defsubr (&Swindow_width);
+  defsubr (&Swindow_full_width_p);
   defsubr (&Swindow_hscroll);
   defsubr (&Sset_window_hscroll);
   defsubr (&Swindow_redisplay_end_trigger);
--- a/src/window.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/window.h	Mon Aug 13 13:41:28 2007 +0000
@@ -777,6 +777,7 @@
 EXFUN (Fwindow_dedicated_p, 1);
 extern int window_height P_ ((Lisp_Object));
 extern int window_width P_ ((Lisp_Object));
+EXFUN (Fwindow_full_width_p, 1);
 extern void set_window_height P_ ((Lisp_Object, int, int));
 extern void set_window_width P_ ((Lisp_Object, int, int));
 extern void change_window_heights P_ ((Lisp_Object, int));
@@ -818,7 +819,7 @@
 
 extern int minibuf_level;
 
-/* true iff we should redraw the mode lines on the next redisplay.  */
+/* true if we should redraw the mode lines on the next redisplay.  */
 
 extern int update_mode_lines;
 
--- a/src/xterm.c	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/xterm.c	Mon Aug 13 13:41:28 2007 +0000
@@ -6700,7 +6700,7 @@
 
                 /* Window will be selected only when it is not selected now and
                    last mouse movement event was not in it.  Minibuffer window
-                   will be selected iff it is active.  */
+                   will be selected only when it is active.  */
                 if (WINDOWP (window)
                     && !EQ (window, last_window)
                     && !EQ (window, selected_window))
--- a/src/xterm.h	Mon Aug 13 11:27:41 2007 +0000
+++ b/src/xterm.h	Mon Aug 13 13:41:28 2007 +0000
@@ -253,7 +253,7 @@
   char *x_id_name;
 
   /* The number of fonts actually stored in x_font_table.
-     font_table[n] is used and valid iff 0 <= n < n_fonts.  0 <=
+     font_table[n] is used and valid if 0 <= n < n_fonts.  0 <=
      n_fonts <= font_table_size and font_table[i].name != 0.  */
   int n_fonts;