changeset 83307:21eea50897a7

Merged from miles@gnu.org--gnu-2005 (patch 69, 313-319) Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-313 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-314 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-315 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-316 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-317 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-318 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-319 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-69 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-347
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 20 May 2005 17:44:36 +0000
parents 8b66fddd72c5 (current diff) 7127ca908065 (diff)
children 63b7247f4be6
files ChangeLog admin/FOR-RELEASE configure configure.in etc/TODO lisp/ChangeLog lisp/emacs-lisp/bytecomp.el lisp/emacs-lisp/eldoc.el lisp/emulation/viper-util.el lisp/faces.el lisp/files.el lisp/font-lock.el lisp/forms.el lisp/frame.el lisp/help-fns.el lisp/mh-e/mh-loaddefs.el lisp/net/rlogin.el lisp/obsolete/rsz-mini.el lisp/progmodes/delphi.el lisp/progmodes/idlw-shell.el lisp/progmodes/tcl.el lisp/progmodes/vhdl-mode.el lisp/server.el lisp/startup.el lisp/subr.el lisp/term/x-win.el lisp/url/url-auth.el lisp/url/url-cookie.el lisp/url/url-dav.el lisp/url/url-http.el lisp/url/url-ns.el lisp/url/url-parse.el lisp/url/url-util.el lispref/ChangeLog man/ChangeLog man/kmacro.texi src/.gdbinit src/keyboard.c src/xdisp.c
diffstat 234 files changed, 2395 insertions(+), 1829 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,8 @@
+2005-05-11  J,Ai(Br,At(Bme Marant  <jmarant@marant.org>
+
+	* configure.in: Add --enable-locallisppath.
+	* configure: Regenerate.
+
 2005-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* configure.in: Don't check HAVE_CARBON if HAVE_X11 is set to yes.
--- a/admin/FOR-RELEASE	Mon May 16 15:49:27 2005 +0000
+++ b/admin/FOR-RELEASE	Fri May 20 17:44:36 2005 +0000
@@ -94,12 +94,18 @@
 DIRECTORY		STATUS		IN CHARGE
 ---------		------		---------
 leim			working		Kenichi Handa
-lisp/emulation		working		Thien-Thi Nguyen
+lisp/calc		done		Thien-Thi Nguyen
+lisp/calendar		working		Glenn Morris
+lisp/emulation		done		Thien-Thi Nguyen
+lisp/eshell		working		Thien-Thi Nguyen
 lisp/international	done		Kenichi Handa
 lisp/languages		done		Kenichi Handa
-lisp/net		working		Thien-Thi Nguyen
+lisp/mh-e		done		Thien-Thi Nguyen
+lisp/net		done		Thien-Thi Nguyen
 lisp/play		done		Thien-Thi Nguyen
 lisp/term		done		Thien-Thi Nguyen
+lisp/toolbar		done		Thien-Thi Nguyen
+lisp/url		working		Thien-Thi Nguyen
 
 ** Update AUTHORS.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/admin/notes/years	Fri May 20 17:44:36 2005 +0000
@@ -0,0 +1,45 @@
+How to Maintain Copyright Years for GNU Emacs
+
+
+Principle: Individual files need to have the year of the release
+           in the copyright notice if there is significant change.
+
+
+Practice:
+
+- individual files
+  - each must be examined, along w/ its history, by a human
+  - automated tools facilitate but can never replace this process
+
+- year of the release
+  - may be different from year of file introduction,
+    or year of last significant change
+  - sometimes the release year slips, leaving a file w/ prematurely
+    marked release year => need update (e.g., s/2004/2005/ for Emacs 22)
+  - intervening years (between releases) are not valid and may cause
+    embarrassment later in case of dispute => remove (however, see next)
+  - years for new files (merged, contributed) that have been separately
+    published are valid even if between releases => leave alone
+
+- significant change
+  - insignificant
+    - whitespace
+    - copyright notice
+    - version control tags
+    - simple var/func renaming
+    - in-file reorganization/reordering
+    - typos
+    - small bugfixes
+    - small docfixes
+    - filename renaming
+  - most everything else is significant
+    - change to interface
+    - change in functionality
+    - new file
+  - many small changes may be significant in aggregate
+
+- when in doubt, ask (and update these guidelines -- thanks!)
+
+- sometimes people make mistakes
+  - if they have not read these guidelines, point them here
+  - if the guidelines are not helpful, improve the guidelines
--- a/configure	Mon May 16 15:49:27 2005 +0000
+++ b/configure	Fri May 20 17:44:36 2005 +0000
@@ -859,6 +859,9 @@
   --enable-asserts        compile code with asserts enabled
   --enable-maintainer-mode enable make rules and dependencies not useful
                           (and sometimes confusing) to the casual installer
+  --enable-locallisppath=PATH
+                          directories Emacs should search for lisp files
+                          specific to this site
   --disable-largefile     omit support for large files
 
 Optional Packages:
@@ -985,7 +988,7 @@
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi
-    cd $ac_popdir
+    cd "$ac_popdir"
   done
 fi
 
@@ -1543,6 +1546,16 @@
 fi
 
 
+# Check whether --enable-locallisppath or --disable-locallisppath was given.
+if test "${enable_locallisppath+set}" = set; then
+  enableval="$enable_locallisppath"
+  if test "${enableval}" = "no"; then
+  locallisppath=
+elif test "${enableval}" != "yes"; then
+  locallisppath=${enableval}
+fi
+fi;
+
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessarily, since pwd can
 #### give you automounter prefixes, which can go away.  We do all this
@@ -3254,8 +3267,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3313,8 +3325,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3430,8 +3441,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3485,8 +3495,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3531,8 +3540,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -3576,8 +3584,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4210,8 +4217,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4487,8 +4493,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4517,8 +4522,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4588,8 +4592,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4641,8 +4644,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4713,8 +4715,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4766,8 +4767,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -4837,8 +4837,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5008,8 +5007,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5078,8 +5076,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5233,8 +5230,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5330,8 +5326,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5473,8 +5468,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5593,8 +5587,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5759,8 +5752,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5823,8 +5815,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5897,8 +5888,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -5984,8 +5974,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6058,8 +6047,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6129,8 +6117,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6189,8 +6176,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6259,8 +6245,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6321,8 +6306,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6388,8 +6372,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6535,8 +6518,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6600,8 +6582,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6666,8 +6647,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6713,8 +6693,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6788,8 +6767,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6854,8 +6832,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6899,8 +6876,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -6971,8 +6947,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7022,8 +6997,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7094,8 +7068,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7145,8 +7118,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7217,8 +7189,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7268,8 +7239,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7340,8 +7310,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7391,8 +7360,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7463,8 +7431,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7514,8 +7481,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7602,8 +7568,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7709,8 +7674,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7770,8 +7734,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -7895,6 +7858,7 @@
 echo "$as_me:$LINENO: checking for X" >&5
 echo $ECHO_N "checking for X... $ECHO_C" >&6
 
+ac_path_x_has_been_run=yes
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -7987,7 +7951,7 @@
 /usr/openwin/share/include'
 
 if test "$ac_x_includes" = no; then
-  # Guess where to find include files, by looking for Intrinsic.h.
+  # Guess where to find include files, by looking for a specified header file.
   # First, try using that file with no special directory specified.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -8061,8 +8025,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8122,8 +8085,12 @@
   # Update the cache value to reflect the command line values.
   ac_cv_have_x="have_x=yes \
 		ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
-  echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+  # It might be that x_includes is empty (headers are found in the
+  # standard search path. Then output the corresponding message
+  ac_out_x_includes=$x_includes
+  test "x$x_includes" = x && ac_out_x_includes="in standard search path"
+  echo "$as_me:$LINENO: result: libraries $x_libraries, headers $ac_out_x_includes" >&5
+echo "${ECHO_T}libraries $x_libraries, headers $ac_out_x_includes" >&6
 fi
 
 if test "$no_x" = yes; then
@@ -8248,8 +8215,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8435,8 +8401,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8531,8 +8496,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8591,8 +8555,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8676,8 +8639,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -8861,8 +8823,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9114,8 +9075,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9182,8 +9142,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9252,8 +9211,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9338,8 +9296,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9416,8 +9373,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9471,8 +9427,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9541,8 +9496,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9646,8 +9600,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9714,8 +9667,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -9785,8 +9737,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10026,8 +9977,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10136,8 +10086,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10240,8 +10189,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10319,8 +10267,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10474,8 +10421,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10549,8 +10495,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10622,8 +10567,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10705,8 +10649,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10785,8 +10728,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10857,8 +10799,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -10927,8 +10868,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11001,8 +10941,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11125,8 +11064,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11228,8 +11166,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11309,8 +11246,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11378,8 +11314,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11524,8 +11459,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11634,8 +11568,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11780,8 +11713,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11888,8 +11820,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12043,8 +11974,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12119,8 +12049,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12268,8 +12197,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12346,8 +12274,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12494,8 +12421,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12568,8 +12494,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12738,8 +12663,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12884,8 +12808,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12961,8 +12884,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13025,8 +12947,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13107,8 +13028,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13249,8 +13169,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13395,8 +13314,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13472,8 +13390,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13546,8 +13463,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13702,8 +13618,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13769,8 +13684,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14029,8 +13943,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14097,8 +14010,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14250,8 +14162,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14435,8 +14346,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14763,8 +14673,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14865,8 +14774,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14939,8 +14847,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15019,8 +14926,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15089,8 +14995,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15158,8 +15063,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15233,8 +15137,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15338,8 +15241,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15414,8 +15316,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15567,8 +15468,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15636,8 +15536,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15814,8 +15713,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15891,8 +15789,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16046,8 +15943,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16198,8 +16094,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16350,8 +16245,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16493,8 +16387,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16538,8 +16431,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16685,8 +16577,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16730,8 +16621,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16796,8 +16686,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16860,8 +16749,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16963,8 +16851,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17033,8 +16920,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17141,8 +17027,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17245,8 +17130,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17322,8 +17206,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17427,8 +17310,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17520,8 +17402,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17586,8 +17467,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17653,8 +17533,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17764,8 +17643,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17830,8 +17708,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17911,8 +17788,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17985,8 +17861,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18059,8 +17934,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18133,8 +18007,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18208,8 +18081,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18281,8 +18153,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18357,8 +18228,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18430,8 +18300,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18504,8 +18373,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18655,8 +18523,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18802,8 +18669,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18949,8 +18815,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19107,8 +18972,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19254,8 +19118,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19401,8 +19264,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19560,8 +19422,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19719,8 +19580,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19909,8 +19769,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19983,8 +19842,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20052,8 +19910,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20099,8 +19956,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20174,8 +20030,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20239,8 +20094,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20378,8 +20232,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20440,8 +20293,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20586,8 +20438,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20743,8 +20594,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20915,8 +20765,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20984,8 +20833,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21170,8 +21018,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21464,8 +21311,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21530,8 +21376,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21594,8 +21439,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21661,8 +21505,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21703,8 +21546,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -21771,8 +21613,7 @@
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -22886,11 +22727,6 @@
   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
   # Let's still pretend it is `configure' which instantiates (i.e., don't
   # use $as_me), people would be surprised to read:
   #    /* config.h.  Generated by config.status.  */
@@ -22929,6 +22765,12 @@
 	 fi;;
       esac
     done` || { (exit 1); exit 1; }
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
--- a/configure.in	Mon May 16 15:49:27 2005 +0000
+++ b/configure.in	Fri May 20 17:44:36 2005 +0000
@@ -142,6 +142,16 @@
 fi
 AC_SUBST(MAINT)
 
+AC_ARG_ENABLE(locallisppath,
+[  --enable-locallisppath=PATH
+                          directories Emacs should search for lisp files
+                          specific to this site],
+if test "${enableval}" = "no"; then
+  locallisppath=
+elif test "${enableval}" != "yes"; then
+  locallisppath=${enableval}
+fi)
+
 #### Make srcdir absolute, if it isn't already.  It's important to
 #### avoid running the path through pwd unnecessarily, since pwd can
 #### give you automounter prefixes, which can go away.  We do all this
--- a/etc/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/etc/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,12 @@
+2005-05-19  Nick Roberts  <nickrob@snap.net.nz>
+
+	* TODO: post-command-idle-hook has gone.
+
+2005-05-16  Juanma Barranquero  <lekktu@gmail.com>
+
+	* NEWS: Remove references to open-network-stream-nowait and
+	open-network-stream-server.
+
 2005-05-15  Richard M. Stallman  <rms@gnu.org>
 
 	* GNU: Correct/improve previous change.
@@ -97,9 +106,9 @@
         * TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru,
         * TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title
         line.
-        
+
 2005-04-01  Ognyan Kulev  <ogi@fmi.uni-sofia.bg>
-        
+
         * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in
         revision 1.59, "Emacs" is not transliterated to cyrillic anymore;
         Minor fixes.
@@ -1846,9 +1855,9 @@
 	* emacstool.c: setenv IN_EMACSTOOL=t, TERM=sun, TERMCAP=.
 
 	* emacsstool.1: update to document environment variables.
-        
+
 1989-02-21  Mosur Mohan (email@notavailable)
-        
+
 	* etags.c (PAS_funcs): New function.
 
 1989-02-21  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
@@ -1873,7 +1882,7 @@
 
 1989-01-19  Sam Kendall  (email@notavailable)
 
-	* etags.c: Greatly rewritten for C++ support and for multiple tags        
+	* etags.c: Greatly rewritten for C++ support and for multiple tags
         per line.
 
 1989-01-03  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
--- a/etc/NEWS	Mon May 16 15:49:27 2005 +0000
+++ b/etc/NEWS	Fri May 20 17:44:36 2005 +0000
@@ -819,7 +819,7 @@
 
 *** New standard font-lock face `font-lock-comment-delimiter-face'.
 
-*** Easy to overlook single character negation is now font-locked.
+*** Easy to overlook single character negation can now be font-locked.
 You can use the new variable `font-lock-negation-char-face' and the face of
 the same name to customize this.  Currently the cc-modes, sh-script-mode,
 cperl-mode and make-mode support this.
@@ -1482,7 +1482,7 @@
 cua-mode.  Customize the variable `cua-mode' to enable cua.
 
 In addition, cua provides unified rectangle support with visible
-rectangle highlighting: Use S-return to start a rectangle, extend it
+rectangle highlighting: Use C-return to start a rectangle, extend it
 using the movement commands (or mouse-3), and cut or copy it using C-x
 or C-c (using C-w and M-w also works).
 
@@ -2278,8 +2278,9 @@
 
 Use M-x gdb to start GDB-UI.
 
-*** GUD tooltips can be toggled independently of normal tooltips
-with the minor mode `gud-tooltip-mode'.
+*** The variable tooltip-gud-tips-p has been removed.  GUD tooltips can now be
+toggled independently of normal tooltips with the minor mode
+`gud-tooltip-mode'.
 
 +++
 *** In graphical mode, with a C program, GUD Tooltips have been extended to
@@ -3011,6 +3012,10 @@
 
 ** General Lisp changes:
 
+---
+*** The variables post-command-idle-hook and post-command-idle-delay have
+    been removed.  Use run-with-idle-timer instead.
+
 +++
 *** The function `eql' is now available without requiring the CL package.
 
@@ -3953,21 +3958,6 @@
 
 *** The old `open-network-stream' now uses `make-network-process'.
 
-*** New function `open-network-stream-nowait'.
-
-This function initiates a non-blocking connect and returns immediately
-without waiting for the connection to be established.  It takes the
-filter and sentinel functions as arguments; when the non-blocking
-connect completes, the sentinel is called with a status string
-matching "open" or "failed".
-
-*** New function `open-network-stream-server'.
-
-This function creates a network server process for a TCP service.
-When a client connects to the specified service, a new subprocess
-is created to handle the new connection, and the sentinel function
-is called for the new process.
-
 *** New functions `process-datagram-address', `set-process-datagram-address'.
 
 These functions are used with datagram-based network processes to get
--- a/etc/TODO	Mon May 16 15:49:27 2005 +0000
+++ b/etc/TODO	Fri May 20 17:44:36 2005 +0000
@@ -9,9 +9,6 @@
 
 * Small but important fixes needed in existing features:
 
-** Convert everything that uses post-command-idle-hook
-  to use idle timers instead.
-
 ** Fix the kill/yank treatment of invisible text.  At the moment,
   invisible text is placed in the kill-ring, so that the contents of
   the ring may not correspond to the text as displayed to the user. It
--- a/lisp/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,5 +1,371 @@
+2005-05-20  Juanma Barranquero  <lekktu@gmail.com>
+
+	* subr.el (send-string, send-region):
+	Remove obsolescence declaration.
+	(window-dot, set-window-dot, read-input, show-buffer)
+	(eval-current-buffer, string-to-int):
+	Add release number to obsolescence declarations.
+
+2005-05-19  Kim F. Storm  <storm@cua.dk>
+
+	* ido.el (ido-magic-forward-char): Enter ido-find-file at end of input.
+	(ido-magic-backward-char): Enter ido-switch-buffer at start of input.
+
+2005-05-20  Matt Hodges  <MPHodges@member.fsf.org>
+
+	* faces.el (list-faces-display): Make back button respect optional
+	regexp arg.
+
+2005-05-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* calculator.el (calculator-radix-grouping-mode)
+	(calculator-radix-grouping-digits, calculator-displayer)
+	(calculator-radix-grouping-separator, calculator-copy-displayer):
+	* dabbrev.el (dabbrev-search-these-buffers-only):
+	* diff-mode.el (diff-jump-to-old-file, diff-update-on-the-fly)
+	(diff-advance-after-apply-hunk, diff-mode-hook)
+	(diff-minor-mode-prefix):
+	* imenu.el (imenu-use-popup-menu):
+	* jit-lock.el (jit-lock-context-time):
+	* newcomment.el (comment-fill-column, comment-column)
+	(comment-style, comment-padding, comment-multi-line)
+	(comment-empty-lines, comment-auto-fill-only-comments):
+	* reveal.el (reveal-around-mark):
+	* uniquify.el (uniquify-buffer-name-style)
+	(uniquify-after-kill-buffer-p)
+	(uniquify-ask-about-buffer-names-p, uniquify-ignore-buffers-re)
+	(uniquify-min-dir-content, uniquify-separator)
+	(uniquify-trailing-separator-p, uniquify-strip-common-suffix):
+	* w32-vars.el (w32-fixed-font-alist):
+	* emacs-lisp/testcover.el (testcover-potentially-1value-functions):
+	* obsolete/rsz-mini.el (resize-minibuffer-frame-max-height):
+	* progmodes/antlr-mode.el (antlr-font-lock-maximum-decoration):
+	* progmodes/perl-mode.el (perl-indent-level)
+	(perl-continued-statement-offset, perl-continued-brace-offset)
+	(perl-brace-offset, perl-brace-imaginary-offset)
+	(perl-label-offset, perl-indent-continued-arguments)
+	(perl-tab-always-indent, perl-tab-to-comment, perl-nochange):
+	* progmodes/tcl.el (tcl-indent-level)
+	(tcl-continued-indent-level, tcl-auto-newline)
+	(tcl-tab-always-indent, tcl-electric-hash-style)
+	(tcl-help-directory-list, tcl-use-smart-word-finder)
+	(tcl-application, tcl-command-switches, tcl-prompt-regexp)
+	(inferior-tcl-source-command):
+	* textmodes/fill.el (enable-kinsoku):
+	* textmodes/reftex-vars.el (reftex-index-phrases-wrap-long-lines):
+	* textmodes/table.el (table-yank-handler):
+	Specify missing group (and type, if simple) in defcustom.
+
+2005-05-19  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* progmodes/compile.el (compilation-finish-function): Fix defvar.
+
+2005-05-19  Richard M. Stallman  <rms@gnu.org>
+
+	* progmodes/make-mode.el (makefile-mode): Use run-mode-hooks.
+
+	* subr.el (event-basic-type): Don't get an error.
+	(left-fringe-p): Function deleted.
+
+	* buff-menu.el (Buffer-menu-buffer-face): In group Buffer-menu.
+
+	* dired-aux.el (dired-copy-file-recursive): Handle symlinks
+	in recursive copy.
+
+	* frame.el (show-trailing-whitespace): In group `whitespace-faces'.
+
+	* emacs-lisp/byte-run.el (eval-when-compile): Doc fix.
+
+	* emacs-lisp/bytecomp.el (byte-compile-file-form-custom-declare-variable):
+	Call byte-compile-nogroup-warn if appropriate.
+
+	* progmodes/compile.el (compilation-finish-function): Mark obsolete.
+	(compilation-set-window): Don't call left-fringe-p; do it directly.
+
+2005-05-19  Jay Belanger  <belanger@truman.edu>
+
+	* calc/calc-graph.el (calc-graph-format-data): Make sure
+	var-PlotRejects is bound before trying to check its value.
+
+2005-05-19  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/reftex.el (reftex-isearch-minor-mode): Moved the
+	definition of this variable from reftex-global.el to reftex.el,
+	because it is needed in the menu.
+
+2005-05-19  Lute Kamstra  <lute@gnu.org>
+
+	* emacs-lisp/copyright.el (copyright-fix-years): Make sure all
+	years are fixed.  Don't insert a space after a dash.
+
+2005-05-19  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/crisp.el (crisp-home, crisp-end): Put CUA property.
+
+2005-05-19  Daniel Pfeiffer  <occitan@esperanto.org>
+
+	* font-lock.el (lisp-font-lock-keywords-2): Do \\) only in
+	strings, because (eq ... ?\\) is fairly frequent.
+
+	* progmodes/make-mode.el (makefile-add-this-line-targets):
+	Simplify and integrate into `makefile-pickup-targets'.
+	(makefile-add-this-line-macro): Simplify and integrate into
+	`makefile-pickup-macros.
+	(makefile-pickup-filenames-as-targets): Simplify.
+	(makefile-previous-dependency, makefile-match-dependency): Don't
+	stumble over `::'.
+
+2005-05-19  Nick Roberts  <nickrob@snap.net.nz>
+
+	* subr.el (post-command-idle-hook, post-command-idle-delay):
+	Remove obsoletion of post-command-idle-hook and
+	post-command-idle-delay.
+
+	* faces.el (list-faces-display): Provide button when describe-face
+	is called to take user back to  the list of faces.
+
+	* help-fns.el (describe-variable): Remove hyperlinks in a
+	variable's value as these are quite frequently inappropriate.
+
+	* follow.el (follow-submit-feedback, follow-mode): Remove
+	references to post-command-idle-hook.
+
+2005-05-18  Daniel Pfeiffer  <occitan@esperanto.org>
+
+	* progmodes/make-mode.el (makefile-previous-dependency)
+	(makefile-match-dependency): Check for := (and in bsd mode also
+	!=) to give a better result, even when font-lock is not on.
+
+2005-05-18  Jay Belanger  <belanger@truman.edu>
+
+	* calc/calc-help.el (calc-s-prefix-help): Add
+	`calc-copy-special-constant' to help string.
+
+2005-05-18  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* emacs-lisp/eldoc.el (eldoc-mode): Doc fix.
+
+2005-05-18  Jay Belanger  <belanger@truman.edu>
+
+	* calc/calc-poly.el (math-factor-poly-coefs): Make sure the terms
+	in linear factors are in proper order.
+
+2005-05-18  Carsten Dominik  <dominik@science.uva.nl>
+
+	* textmodes/reftex-vars.el (reftex-cite-format-builtin): Support
+	for jurabib.
+
+	* textmodes/reftex.el (featurep): Define aliases for overlay
+	commands, for XEmacs compatibility, and use these aliases in
+	overlay initializations.
+	(reftex-highlight): Use `reftex-move-overlay'.
+	(reftex-unhighlight): Use `reftex-delete-overlay'.
+	(reftex-uniq): Funktion removed.  Use `reftex-uniquify' instead.
+	(reftex-access-search-path): Use `reftex-uniquify' instead of
+	`reftex-uniq'
+
+	* textmodes/reftex-sel.el (reftex-select-unmark): Overlay
+	`before-string' property modification enables for Emacs as well.
+	(reftex-select-item): Use `reftex-delete-overlay'.
+	(reftex-select-mark): Use `reftex-make-overlay' and
+	`reftex-overlay-put'.
+	(reftex-select-unmark): Use `reftex-delete-overlay' and
+	`reftex-overlay-put'.
+
+2005-05-18  Lute Kamstra  <lute@gnu.org>
+
+	* emacs-lisp/lisp.el (check-parens): Fix docstring.
+
+2005-05-18  Juanma Barranquero  <lekktu@gmail.com>
+
+	* add-log.el (add-change-log-entry):
+	* array.el (array-make-template, array-reconfigure-rows)
+	(array-init-max-row, array-init-max-column)
+	(array-init-columns-per-line, array-init-field-width):
+	* replace.el (replace-match-maybe-edit, perform-replace):
+	* textmodes/spell.el (spell-region):
+	Replace `read-input' by `read-string'.
+
+	* forms.el (forms-mode):
+	* finder.el (finder-compile-keywords):
+	* shadowfile.el (shadow-read-files):
+	Replace `eval-current-buffer' by `eval-buffer'.
+
+	* terminal.el (te-pass-through):
+	* net/ange-ftp.el (ange-ftp-process-filter, ange-ftp-gwp-filter)
+	(ange-ftp-raw-send-cmd):
+	* net/telnet.el (telnet-interrupt-subjob, telnet-c-z)
+	(send-process-next-char, telnet-initial-filter, telnet):
+	Replace `send-string' by `process-send-string'.
+
+	* progmodes/prolog.el (inferior-prolog-mode): Doc fix.
+	(prolog-consult-region): Replace `send-string' by
+	`process-send-string'; replace `send-region' by
+	`process-send-region'.
+
+	* progmodes/delphi.el (delphi-log-msg):
+	Replace `set-window-dot' by `set-window-point'.
+
+	* subr.el (window-dot, set-window-dot, read-input, send-string)
+	(send-region, show-buffer, eval-current-buffer):
+	Make really obsolete, as the comment says.
+
+2005-05-17  Kim F. Storm  <storm@cua.dk>
+
+	* emulation/cua-base.el (cua-use-hyper-key): Doc fix.
+	(cua--init-keymaps): Bind C-return instead of S-return to set
+	rectangle mark.
+
+	* emulation/cua-rect.el (cua--init-rectangles): Bind C-return
+	instead of S-return to toggle/clear rectangle mark.
+
+2005-05-17  Daniel Pfeiffer  <occitan@esperanto.org>
+
+	* progmodes/make-mode.el (makefile-dependency-skip): New variable.
+	(makefile-macroassign-regex, makefile-make-font-lock-keywords):
+	Also fontify plain strings assigned to variables, mostly so that a
+	colon has a face and is thus not taken as a dependency separator.
+	(makefile-previous-dependency): Inline the new matcher, because it
+	is too complex to work in both directions.
+	(makefile-match-dependency): Eliminate `backward' arg (see above).
+	Completely reimplemented so as to not sometimes go into an endless
+	loop.  It should also be more efficient, because first it only
+	searches for `:', instead of applying the very complex regexp.
+	(makefile-mode): Cancel `font-lock-support-mode', because blocks
+	to be fontified in one piece can be too long for JIT.  Makefiles
+	are never *that* big.
+
+2005-05-17  Reiner Steib  <Reiner.Steib@gmx.de>
+
+	* dired.el (dired-mode): Simplify.
+
+2005-05-17  Lute Kamstra  <lute@gnu.org>
+
+	* emacs-lisp/easy-mmode.el (define-minor-mode): Don't generate a
+	defcustom for the mode hook variable.
+
+	* emacs-lisp/authors.el (authors): Do parse the ChangeLogs of the
+	Emacs Lisp Reference Manual.
+
+2005-05-17  Juanma Barranquero  <lekktu@gmail.com>
+
+	* emacs-lisp/cl.el (eql, floatp-safe, plusp, minusp, oddp)
+	(evenp, list*):
+	* emacs-lisp/cl-macs.el (macrolet, symbol-macrolet):
+	* emacs-lisp/cl-seq.el (subsetp, tree-equal): Doc fixes.
+
+	* net/tramp-smb.el (tramp-smb-open-connection):
+	Pass `tramp-chunksize' as fifth (required) argument.
+
+2005-05-16  Daniel Pfeiffer  <occitan@esperanto.org>
+
+	* font-lock.el (lisp-font-lock-keywords-1): Set
+	`font-lock-negation-char-face' for [^...] char group.
+	(lisp-font-lock-keywords-2): Highlight regexp's \\( \\| \\).
+
+	* progmodes/make-mode.el (makefile-dependency-regex): Turn it into
+	a var, and refine it to mask one more level of nested vars.
+	(makefile-rule-action-regex): Turn it into a var, and refine it so
+	it recognizes backslashed continuation lines as belonging to the
+	same command.
+	(makefile-macroassign-regex): Refine it so it recognizes
+	backslashed continuation lines as belonging to the same command.
+	(makefile-var-use-regex): Don't look at the next char, because it
+	might be the same one to be skipped by the initial [^$], leading
+	to an overlooked variable use.
+	(makefile-make-font-lock-keywords): Remove two parameters, which
+	are now variables that some of the modes set locally.  Handle
+	dependency and rule action matching through functions, because
+	regexps alone match too often.  Dependency matching now comes
+	last, so it can check, whether a colon already matched something
+	else.
+	(makefile-mode): Inform that font-lock improves makefile parsing
+	capabilities.
+	(makefile-match-dependency, makefile-match-action): New functions.
+
 2005-05-16  Juanma Barranquero  <lekktu@gmail.com>
 
+	* emacs-lisp/cl-extra.el (equalp): Doc fix.
+
+	* align.el (align-regexp):
+	* ansi-color.el (ansi-color-get-face):
+	* array.el (array-reconfigure-rows, array-init-max-row)
+	(array-init-max-column, array-init-columns-per-line)
+	(array-init-field-width):
+	* dired-aux.el (dired-trample-file-versions):
+	* dired-x.el (dired-mark-sexp):
+	* ediff-diff.el (ediff-extract-diffs, ediff-get-diff3-group):
+	* edmacro.el (edmacro-finish-edit, edmacro-parse-keys):
+	* emerge.el (emerge-extract-diffs, emerge-get-diff3-group):
+	* faces.el (face-read-integer):
+	* files.el (backup-extract-version, insert-directory):
+	* hexl.el (hexl-insert-decimal-char):
+	* server.el (server-process-filter):
+	* shell.el (shell-extract-num):
+	* startup.el (command-line-1):
+	* term.el (term-command-hook):
+	* time-stamp.el (time-stamp, time-stamp-string-preprocess)
+	(time-stamp-do-number):
+	* time.el (display-time-update):
+	* timezone.el (timezone-parse-date, timezone-zone-to-minute)
+	(timezone-fix-time):
+	* vms-patch.el (vms-suspend-resume-hook):
+	* calendar/appt.el (appt-convert-time):
+	* calendar/cal-bahai.el (mark-bahai-diary-entries):
+	* calendar/cal-hebrew.el (mark-hebrew-diary-entries):
+	* calendar/cal-islam.el (mark-islamic-diary-entries):
+	* calendar/calendar.el (calendar-cursor-to-date)
+	(calendar-star-date):
+	* calendar/diary-lib.el (diary-attrtype-convert)
+	(mark-diary-entries, diary-entry-time):
+	* calendar/solar.el (solar-get-number):
+	* emacs-lisp/lisp-mnt.el (lm-last-modified-date):
+	* emacs-lisp/re-builder.el (reb-display-subexp):
+	* emulation/edt.el (edt-set-scroll-margins):
+	* emulation/tpu-extras.el (tpu-set-scroll-margins):
+	* emulation/vip.el (vip-get-ex-token, vip-get-ex-buffer)
+	(vip-get-ex-count):
+	* emulation/viper-ex.el (viper-get-ex-token)
+	(viper-get-ex-buffer, viper-get-ex-count, ex-next):
+	* international/fontset.el (fontset-plain-name):
+	* mail/feedmail.el (feedmail-look-at-queue-directory):
+	* mail/mailalias.el (mail-get-names):
+	* mail/rmail.el (rmail-convert-to-babyl-format):
+	* mail/rmailsum.el (rmail-make-basic-summary-line)
+	(rmail-summary-next-same-subject, rmail-summary-rmail-update)
+	(rmail-summary-goto-msg):
+	* mail/smtpmail.el (smtpmail-read-response):
+	* net/ange-ftp.el (ange-ftp-guess-hash-mark-size)
+	(ange-ftp-vms-add-file-entry):
+	* play/gametree.el (gametree-looking-at-ply)
+	(gametree-current-branch-score):
+	* progmodes/ada-xref.el (ada-prj-find-prj-file)
+	(ada-xref-find-in-modified-ali, ada-find-in-src-path):
+	* progmodes/cperl-mode.el (condition-case):
+	* progmodes/ebrowse.el (ebrowse-set-tree-indentation)
+	(ebrowse-set-member-buffer-column-width)
+	(ebrowse-select-1st-to-9nth):
+	* progmodes/etags.el (etags-snarf-tag):
+	* progmodes/flymake.el (flymake-parse-line):
+	* progmodes/idlw-shell.el (idlwave-shell-parse-line)
+	(idlwave-shell-filter-bp, idlwave-shell-goto-next-error)
+	(idlwave-shell-menu-def):
+	* progmodes/ps-mode.el (ps-run-goto-error):
+	* progmodes/vhdl-mode.el (vhdl-read-offset, vhdl-load-cache)
+	(vhdl-speedbar-contract-level):
+	* term/mac-win.el (x-handle-numeric-switch):
+	* term/sun-mouse.el (sun-get-frame-data):
+	* term/w32-win.el (x-handle-numeric-switch):
+	* term/x-win.el (x-handle-numeric-switch):
+	* textmodes/ispell.el (ispell-parse-output):
+	* textmodes/nroff-mode.el (nroff-outline-level):
+	* textmodes/reftex-cite.el (reftex-bib-sort-year)
+	(reftex-bib-sort-year-reverse, reftex-format-citation):
+	* textmodes/reftex-parse.el (reftex-init-section-numbers)
+	(reftex-section-number):
+	* textmodes/texinfmt.el (texinfo-paragraphindent): Replace
+	`string-to-int' by `string-to-number'.
+
 	* international/latexenc.el: Add page marker to force the "Local
 	Variables:" string out of the last page.
 
@@ -1400,7 +1766,7 @@
 
 2005-04-15  Carsten Dominik  <dominik@science.uva.nl>
 
-	* textmodes/org.el:  (org-agenda-date-prompt): Rename from
+	* textmodes/org.el (org-agenda-date-prompt): Rename from
 	`org-agenda-date-today'.
 	(org-evaluate-time-range): Insert at point instead of directly
 	after time range.
@@ -1604,7 +1970,7 @@
 	to dnd-insert-text.
 	(x-dnd-protocol-alist, x-dnd-open-file-other-window)
 	(x-dnd-handle-one-url, x-dnd-get-local-file-uri)
-	(x-dnd-get-local-file-name,  x-dnd-open-local-file)
+	(x-dnd-get-local-file-name, x-dnd-open-local-file)
 	(x-dnd-open-file, x-dnd-insert-text): Move to dnd.el (without x-).
 
 	* dnd.el (dnd-protocol-alist): New file with generic DND functions.
@@ -2651,7 +3017,7 @@
 
 2005-03-24  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-embed.el (calc-embedded-mode-change):  Save all
+	* calc/calc-embed.el (calc-embedded-mode-change): Save all
 	relevant mode settings in calc-embedded-original-modes when modes
 	are permanently changed.
 
@@ -4351,7 +4717,7 @@
 	(calc-set-language): Set math-expr-special-function-mapping.
 
 	* calc/calc-prog.el (calc-edit-user-syntax, calc-fix-token-name)
-	(calc-write-parse-table-part):  Add LaTeX support.
+	(calc-write-parse-table-part): Add LaTeX support.
 
 	* calc/calc.el (calc-language): Adjust docstring.
 	(calc-set-mode-line): Add LaTeX support.
@@ -5326,7 +5692,7 @@
 
 2004-12-31  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-store.el (calcVar-digit, calcVar-oper):  Remove the need
+	* calc/calc-store.el (calcVar-digit, calcVar-oper): Remove the need
 	for "var-" at the beginning of the minibuffer.
 
 2004-12-31  Richard M. Stallman  <rms@gnu.org>
@@ -6176,7 +6542,7 @@
 	* calendar/holidays.el (holiday-easter-etc): Make arguments
 	optional for backwards compatibility.  Doc fix.
 	Remove un-necessary local vars mandatory, output-list.
-	(holiday-advent):  Make arguments optional for backwards
+	(holiday-advent): Make arguments optional for backwards
 	compatibility.  Doc fix.
 
 2004-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>
@@ -7285,7 +7651,7 @@
 	disp-trail by declared variable.
 
 	* calc/calc-sel.el (calc-edit-disp-trail): Declare it.
-	(calc-finish-selection-edit):  Replace variable disp-trail by
+	(calc-finish-selection-edit): Replace variable disp-trail by
 	declared variable.
 	(calc-selection-cache-entry): Move declaration to earlier in the file.
 	(calc-selection-cache-num, calc-selection-cache-comp)
@@ -7301,14 +7667,14 @@
 	(calc-sel-reselect): New variable.
 	(calc-auto-selection, calc-enter-selection, calc-edit-selection)
 	(calc-sel-evaluate, calc-sel-expand-formula, calc-sel-expand-formula)
-	(calc-sel-mult-both-sides, calc-sel-add-both-sides):  Replace variable
+	(calc-sel-mult-both-sides, calc-sel-add-both-sides): Replace variable
 	reselect with declared variable.
 
 	* calc/calc-rewr.el (math-regs, math-num-regs, math-prog-last)
 	(math-bound-vars, math-conds, math-copy-neg, math-rhs)
 	(math-pattern, math-remembering, math-aliased-vars, math-mt-many)
 	(math-import-list, math-rewrite-phase): Declare them.
-	(math-rewrite):  Use let* to declare variables.
+	(math-rewrite): Use let* to declare variables.
 	(calc-rewrite-selection): Make rules a local variable.
 	(calc-rewr-sel): New variable.
 	(calc-rewrite-selection, calc-locate-selection-marker)
@@ -7541,15 +7907,15 @@
 
 2004-11-15  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calcalg2.el (math-integrate-by-parts):  Remove unused
+	* calc/calcalg2.el (math-integrate-by-parts): Remove unused
 	variable var-thing.
 	(math-integ-depth, math-integ-level, math-integral-limit)
 	(math-enable-subst, math-any-substs, math-integ-msg)
 	(math-prev-parts-v, math-good-parts, math-max-integral-limit)
 	(math-int-threshold, math-int-factors, math-double-roots)
 	(math-solve-simplifying, var-IntegLimit, math-solve-sign)
-	(var-GenCount):  Declare these variables.
-	(calcFunc-integ):  Don't check if var-IntegLimit is bound.
+	(var-GenCount): Declare these variables.
+	(calcFunc-integ): Don't check if var-IntegLimit is bound.
 	(math-integral-cache, math-integral-cache-state):
 	Move declarations to earlier in the file.
 	(math-deriv-var, math-deriv-total, math-deriv-symb)
@@ -7557,7 +7923,7 @@
 	(math-so-far, math-integ-expr, math-expr-parts, calc-low)
 	(calc-high, math-solve-var, math-solve-full, math-solve-vars)
 	(math-try-solve-sign, math-solve-b, math-solve-system-vv)
-	(math-solve-res):  New variables
+	(math-solve-res): New variables
 	(math-derivative, calcFunc-deriv, calcFunc-tderiv)
 	(math-integral, math-replace-integral-parts)
 	(math-integrate-by-parts, calc-dump-integral-cache)
@@ -7661,18 +8027,18 @@
 
 2004-11-12  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-graph.el (calc-dumb-map):  Declare it.
-	(calc-graph-show-dumb):  Check if calc-dumb-map is non-nil rather
+	* calc/calc-graph.el (calc-dumb-map): Declare it.
+	(calc-graph-show-dumb): Check if calc-dumb-map is non-nil rather
 	than unbound.
-	(calc-graph-name):  Made `end' a local variable.
-	(calc-graph-lookup):  Made `varname' a local variable.
+	(calc-graph-name): Made `end' a local variable.
+	(calc-graph-lookup): Made `varname' a local variable.
 	(var-DUMMY, var-DUMMY2, var-PlotRejects, calc-gnuplot-trail-mark):
 	Declare them.
-	(calc-graph-format-data):  Don't check if var-PlotRejects is bound.
-	(calc-graph-plot, calc-graph-compute-3d):  Remove references to
+	(calc-graph-format-data): Don't check if var-PlotRejects is bound.
+	(calc-graph-plot, calc-graph-compute-3d): Remove references to
 	the unused variable y3vec.
-	(calc-graph-show-dumb):  Remove reference to unused variable found-pt.
-	(calc-graph-kill-hook, calc-graph-plot):  Remove reference to
+	(calc-graph-show-dumb): Remove reference to unused variable found-pt.
+	(calc-graph-kill-hook, calc-graph-plot): Remove reference to
 	calc-graph-prev-kill-hook.
 	(calc-graph-yvalue, calc-graph-yvec, calc-graph-numsteps)
 	(calc-graph-numsteps3, calc-graph-xvalue, calc-graph-xvec)
@@ -7685,7 +8051,7 @@
 	(calc-graph-y3step, calc-graph-y3step, calc-graph-zval)
 	(calc-graph-stepcount, calc-graph-is-splot)
 	(calc-graph-surprise-splot, calc-graph-blank)
-	(calc-graph-non-blank, calc-graph-curve-num):  New variables.
+	(calc-graph-non-blank, calc-graph-curve-num): New variables.
 	(calc-graph-plot, calc-graph-compute-2d, calc-graph-refine-2d)
 	(calc-graph-recompute-2d, calc-graph-compute-3d)
 	(calc-graph-format-data): Replace undeclared variables with the
@@ -7759,28 +8125,28 @@
 
 2004-11-11  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-comb.el (math-prime-factors-finished):  Declare it as
+	* calc/calc-comb.el (math-prime-factors-finished): Declare it as
 	a variable.
-	(calcFunc-dfac):  Replace unbound max by n.
-	(math-stirling-local-cache):  New variable.
+	(calcFunc-dfac): Replace unbound max by n.
+	(math-stirling-local-cache): New variable.
 	(math-stirling-number, math-stirling-1, math-stirling-2):
 	Replace the variable `cache' by the declared variable
 	math-stirling-local-cache.
-	(var-RandSeed):  Declare it as a variable.
-	(math-init-random-base, math-random-digit):  Don't check to see if
+	(var-RandSeed): Declare it as a variable.
+	(math-init-random-base, math-random-digit): Don't check to see if
 	var-RandSeed is bound.
 	(math-random-cache, math-gaussian-cache, calc-verbose-nextprime):
 	Declare them instead of just setting them.
-	(math-init-random-base):  Made i a local variable.
-	(math-random-digit):  Made math-random-last a local variable.
-	(math-prime-test-cache):  Move declaration to before it is used.
+	(math-init-random-base): Made i a local variable.
+	(math-random-digit): Made math-random-last a local variable.
+	(math-prime-test-cache): Move declaration to before it is used.
 	(math-prime-test-cache-k, math-prime-test-cache-q)
 	(math-prime-test-cache-nm1, math-prime-factors-finished):
 	Declare them as variables.
 
 2004-11-11  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-ext.el (math-defcache):  Use defvar for the new
+	* calc/calc-ext.el (math-defcache): Use defvar for the new
 	variables it creates.
 
 2004-11-11  Lars Hansen  <larsh@math.ku.dk>
@@ -7796,45 +8162,45 @@
 
 2004-11-10  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-aent.el (calc-do-quick-calc):  Use kill-new to append
+	* calc/calc-aent.el (calc-do-quick-calc): Use kill-new to append
 	string to kill-ring.
 
 	* calc/calc-aent.el (calc-alg-exp, math-toks)
 	(math-exp-pos,math-exp-old-pos, math-exp-token)
-	(math-exp-keep-spaces, math-exp-str):  New variables.
+	(math-exp-keep-spaces, math-exp-str): New variables.
 	(calc-do-alg-entry, calcAlg-equals, calcAlg-edit)
-	(calcAlg-enter):  Use declared variable calc-alg-exp.
-	(math-build-parse-table, math-find-user-token):  Use declared
+	(calcAlg-enter): Use declared variable calc-alg-exp.
+	(math-build-parse-table, math-find-user-token): Use declared
 	variable math-toks.
 	(math-read-exprs, math-read-token, calc-check-user-syntax)
 	(calc-match-user-syntax, match-factor-after, math-read-factor):
 	Use declared variables math-exp-pos math-exp-old-pos.
 	(math-read-exprs, math-read-token, math-read-expr-level)
 	(calc-check-user-syntax, calc-match-user-syntax)
-	(match-factor-after, math-read-factor):  Use declared variable
+	(match-factor-after, math-read-factor): Use declared variable
 	math-exp-token.
 	(math-read-exprs, math-read-expr-list, math-read-token)
-	(math-read-factor):  Use declared variable math-exp-keep-spaces.
-	(math-read-exprs, math-read-token):  Use declared variable
+	(math-read-factor): Use declared variable math-exp-keep-spaces.
+	(math-read-exprs, math-read-token): Use declared variable
 	math-exp-str.
-	(calc-match-user-syntax):  Make m a local variable.
-
-	* calc/calc-ext.el (math-read-expr):  Use declared variables
+	(calc-match-user-syntax): Make m a local variable.
+
+	* calc/calc-ext.el (math-read-expr): Use declared variables
 	math-exp-pos, math-exp-old-pos, math-exp-str, math-exp-token,
 	math-exp-keep-spaces.
 
-	* calc/calc-forms.el (math-read-angle-bracket):  Use declared
+	* calc/calc-forms.el (math-read-angle-bracket): Use declared
 	variables math-exp-pos, math-exp-str.
 
-	* calc/calc-lang.el (math-parse-tex-sum):  Use declared variable
+	* calc/calc-lang.el (math-parse-tex-sum): Use declared variable
 	math-exp-old-pos.
 	(math-parse-fortran-vector, math-parse-fortran-vector-end)
-	(math-parse-eqn-prime):  Use declared variable math-exp-token.
+	(math-parse-eqn-prime): Use declared variable math-exp-token.
 
 	* calc/calc-vec.el (math-read-brackets, math-check-for-commas):
 	Use declared variable math-exp-pos.
-	(math-check-for-commas):  Use declared variable math-exp-str.
-	(math-read-brackets):  Use declared variables math-exp-old-pos,
+	(math-check-for-commas): Use declared variable math-exp-str.
+	(math-read-brackets): Use declared variables math-exp-old-pos,
 	math-exp-keep-spaces.
 	(math-read-brackets, math-read-vector, math-read-matrix):
 	Use declared variable math-exp-token.
@@ -7872,42 +8238,42 @@
 
 2004-11-09  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-ext.el (calc-init-extensions):  Remove old code.
+	* calc/calc-ext.el (calc-init-extensions): Remove old code.
 
 	* calc/calc-ext.el (math-expr-data, math-mt-many, math-mt-func)
-	(calc-z-prefix-buf, calc-z-prefix-msgs):  New variables.
-	(calc-z-prefix-help, calc-user-function-list):  Use declared
+	(calc-z-prefix-buf, calc-z-prefix-msgs): New variables.
+	(calc-z-prefix-help, calc-user-function-list): Use declared
 	variables calc-z-prefix-buf, calc-z-prefix-msgs.
-	(math-map-tree, math-map-tree-rec):  Use declared variables
+	(math-map-tree, math-map-tree-rec): Use declared variables
 	math-mt-many, math-mt-func.
-	(math-read-expression, math-read-string):  Use declared variable
+	(math-read-expression, math-read-string): Use declared variable
 	math-expr-data.
 
-	* calc/calc-ext.el (math-normalize-nonstandard):  Use declared
+	* calc/calc-ext.el (math-normalize-nonstandard): Use declared
 	variable math-normalize-a.
 
-	* calc/calc.el (math-normalize-a):  New variable.
-	(math-normalize):  Use declared variable math-normalize-a.
-
-	* calc/calc-poly.el (math-expand-form):  Use declared variable
+	* calc/calc.el (math-normalize-a): New variable.
+	(math-normalize): Use declared variable math-normalize-a.
+
+	* calc/calc-poly.el (math-expand-form): Use declared variable
 	math-mt-many.
 
 	* calc/calc-rewr.el (math-rewrite, math-rewrite-phase):
 	Use declared variable math-mt-many.
-	(math-rewrite):  Use declared variable math-mt-func.
+	(math-rewrite): Use declared variable math-mt-func.
 
 	* calc/calc-vec.el (math-read-brackets, math-read-vector)
-	(math-read-matrix):  Use declared variable math-expr-data.
+	(math-read-matrix): Use declared variable math-expr-data.
 
 	* calc/calc-lang.el (math-parse-fortran-vector)
 	(math-parse-fortran-vector-end, math-parse-tex-sum)
 	(math-parse-eqn-matrix, math-parse-eqn-prime)
-	(math-read-math-subscr):  Use declared variable math-expr-data.
+	(math-read-math-subscr): Use declared variable math-expr-data.
 
 	* calc/calc-aent.el (math-read-exprs, math-read-expr-list)
 	(math-read-expr-level, math-read-token, calc-check-user-syntax)
 	(calc-match-user-syntax, math-read-if, math-factor-after)
-	(math-read-factor):  Use declared variable math-expr-data.
+	(math-read-factor): Use declared variable math-expr-data.
 
 2004-11-09  Glenn Morris  <gmorris@ast.cam.ac.uk>
 
@@ -7940,14 +8306,14 @@
 2004-11-09  Jay Belanger  <belanger@truman.edu>
 
 	* calc/calc.el (calc-mode-hook, calc-trail-mode-hook)
-	(calc-start-hook, calc-end-hook, calc-load-hook):  New variables.
+	(calc-start-hook, calc-end-hook, calc-load-hook): New variables.
 
 	* calc/calc.el (calc, calc-trail-display, calc-mode):
 	Remove obsolete sections.
 
-	* calc/calc.el (calc-x-paste-text):  Remove.
-
-	* calc/calc-ext.el (calc-init-extensions):  Bind calc-yank to
+	* calc/calc.el (calc-x-paste-text): Remove.
+
+	* calc/calc-ext.el (calc-init-extensions): Bind calc-yank to
 	mouse-2.
 
 2004-11-09  Nick Roberts  <nickrob@snap.net.nz>
@@ -7993,14 +8359,14 @@
 
 2004-11-08  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calcalg2.el (math-do-integral-methods):  Try linear then
+	* calc/calcalg2.el (math-do-integral-methods): Try linear then
 	non-linear substitutions.
 
 2004-11-08  Jay Belanger  <belanger@truman.edu>
 
 	* calc/calcalg2.el (math-linear-subst-tried): New variable.
-	(math-do-integral):  Set `math-linear-subst-tried' to nil.
-	(math-do-integral-methods):  Use `math-linear-subst-tried' to
+	(math-do-integral): Set `math-linear-subst-tried' to nil.
+	(math-do-integral-methods): Use `math-linear-subst-tried' to
 	determine what type of substitution to try.
 	(math-integ-try-linear-substituion):
 	Set `math-linear-subst-tried' to t.
@@ -8604,7 +8970,7 @@
 2004-10-26  Jay Belanger  <belanger@truman.edu>
 
 	* calc/calc.el (calc,full-calc, calc-quit, calc-keypad)
-	(full-calc-keypad, calc-trail-display):  Use an extra argument
+	(full-calc-keypad, calc-trail-display): Use an extra argument
 	instead of `interactive-p'.
 
 	* calc/calc-misc.el (calc-other-window): Use an extra argument
@@ -8649,7 +9015,7 @@
 
 2004-10-25  Jay Belanger  <belanger@truman.edu>
 
-	* calc/calc-incom.el (calc-digit-dots):  Inhibit read-only before
+	* calc/calc-incom.el (calc-digit-dots): Inhibit read-only before
 	erasing minibuffer.
 
 2004-10-25  Simon Josefsson  <jas@extundo.com>
@@ -9640,7 +10006,7 @@
 	(calc-invocation-macro, calc-show-banner): Give these values as
 	part of `calc-mode-var-list's initialization after the variables
 	are declared with defvar.
-	(calc-bug-address):  Change email address to send bug reports to.
+	(calc-bug-address): Change email address to send bug reports to.
 	Change the maintainer address at the top.
 	(calc-mode): Compare `calc-settings-file' to `user-init-file' rather
 	than "\\.emacs" to determine if it is the user-init-file.
@@ -15936,7 +16302,7 @@
 
 2004-02-10  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT,  FILE_NAME
+	* x-dnd.el (x-dnd-types-alist): Add COMPOUND_TEXT, FILE_NAME
 	handled by x-dnd-handle-file-name.
 	(x-dnd-known-types): Add COMPOUND_TEXT.
 	(x-dnd-init-frame): Call x-dnd-init-motif-for-frame.
--- a/lisp/add-log.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/add-log.el	Fri May 20 17:44:36 2005 +0000
@@ -492,13 +492,13 @@
 
     (if whoami
 	(progn
-	  (setq full-name (read-input "Full name: " full-name))
+	  (setq full-name (read-string "Full name: " full-name))
 	  ;; Note that some sites have room and phone number fields in
 	  ;; full name which look silly when inserted.  Rather than do
 	  ;; anything about that here, let user give prefix argument so that
 	  ;; s/he can edit the full name field in prompter if s/he wants.
 	  (setq mailing-address
-		(read-input "Mailing address: " mailing-address))))
+		(read-string "Mailing address: " mailing-address))))
 
     (unless (equal file-name buffer-file-name)
       (if (or other-window (window-dedicated-p (selected-window)))
--- a/lisp/align.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/align.el	Fri May 20 17:44:36 2005 +0000
@@ -938,10 +938,10 @@
     (if current-prefix-arg
 	(list (read-string "Complex align using regexp: "
 			   "\\(\\s-*\\)")
-	      (string-to-int
+	      (string-to-number
 	       (read-string
 		"Parenthesis group to modify (justify if negative): " "1"))
-	      (string-to-int
+	      (string-to-number
 	       (read-string "Amount of spacing (or column if negative): "
 			    (number-to-string align-default-spacing)))
 	      (y-or-n-p "Repeat throughout line? "))
--- a/lisp/ansi-color.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/ansi-color.el	Fri May 20 17:44:36 2005 +0000
@@ -619,7 +619,7 @@
     (while (string-match ansi-color-r escape-seq i)
       (setq i (match-end 0)
 	    val (ansi-color-get-face-1
-		 (string-to-int (match-string 0 escape-seq) 10)))
+		 (string-to-number (match-string 0 escape-seq) 10)))
       (cond ((not val))
 	    ((eq val 'default)
 	     (setq f (list val)))
--- a/lisp/array.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/array.el	Fri May 20 17:44:36 2005 +0000
@@ -607,7 +607,7 @@
   (let ((check t)
 	(len))
     (while check
-      (setq array-init-field (read-input "Initial field value: "))
+      (setq array-init-field (read-string "Initial field value: "))
       (setq len (length array-init-field))
       (if (/= len array-field-width)
 	  (if (y-or-n-p (format "Change field width to %d? " len))
@@ -647,8 +647,8 @@
 	       (<= new-columns-per-line array-max-column))
 	  (setq check nil)
 	(setq new-columns-per-line
-	      (string-to-int
-	       (read-input
+	      (string-to-number
+	       (read-string
 		(format "Columns per line (1 - %d): " array-max-column)))))))
   ;; Check on new-rows-numbered.  It has to be done this way
   ;;  because interactive does not have y-or-n-p.
@@ -927,22 +927,22 @@
 (defun array-init-max-row (&optional arg)
   "Initialize the value of `array-max-row'."
   (setq array-max-row
-	(or arg (string-to-int (read-input "Number of array rows: ")))))
+	(or arg (string-to-number (read-string "Number of array rows: ")))))
 
 (defun array-init-max-column (&optional arg)
   "Initialize the value of `array-max-column'."
   (setq array-max-column
-	(or arg (string-to-int (read-input "Number of array columns: ")))))
+	(or arg (string-to-number (read-string "Number of array columns: ")))))
 
 (defun array-init-columns-per-line (&optional arg)
   "Initialize the value of `array-columns-per-line'."
   (setq array-columns-per-line
-	(or arg (string-to-int (read-input "Array columns per line: ")))))
+	(or arg (string-to-number (read-string "Array columns per line: ")))))
 
 (defun array-init-field-width (&optional arg)
   "Initialize the value of `array-field-width'."
   (setq array-field-width
-	(or arg (string-to-int (read-input "Field width: ")))))
+	(or arg (string-to-number (read-string "Field width: ")))))
 
 (defun array-init-rows-numbered (&optional arg)
   "Initialize the value of `array-rows-numbered'."
--- a/lisp/buff-menu.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/buff-menu.el	Fri May 20 17:44:36 2005 +0000
@@ -77,6 +77,7 @@
 (defface Buffer-menu-buffer-face
   '((t (:weight bold)))
   "Face used to highlight buffer name."
+  :group 'Buffer-menu
   :group 'font-lock-highlighting-faces)
 
 (defcustom Buffer-menu-buffer+size-width 26
@@ -754,7 +755,7 @@
 					 (int-to-string (nth 3 buffer))
 					 `(buffer-name ,(nth 2 buffer)
 					   buffer ,(car buffer)
-					   face Buffer-menu-buffer-face
+					   font-lock-face Buffer-menu-buffer-face
 					   mouse-face highlight
 					   help-echo "mouse-2: select this buffer"))
 		"  "
--- a/lisp/calc/calc-comb.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-comb.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-comb.el --- combinatoric functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-cplx.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-cplx.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-cplx.el --- Complex number functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-ext.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-ext.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-ext.el --- various extension functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-fin.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-fin.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-fin.el --- financial functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-forms.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-forms.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-forms.el --- data format conversion functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004, 2005
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005
 ;; Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
--- a/lisp/calc/calc-funcs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-funcs.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-funcs.el --- well-known functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-graph.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-graph.el	Fri May 20 17:44:36 2005 +0000
@@ -864,6 +864,7 @@
 			  "e" (int-to-string (nth 2 calc-graph-zval))))))
 	  (insert "\n"))
       (and (not (equal calc-graph-zval '(skip)))
+           (boundp 'var-PlotRejects)
 	   (eq (car-safe var-PlotRejects) 'vec)
 	   (nconc var-PlotRejects
 		  (list (list 'vec
--- a/lisp/calc/calc-help.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-help.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-help.el --- help display functions for Calc,
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2004, 2005
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005
 ;;           Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
@@ -526,7 +526,7 @@
   (interactive)
   (calc-do-prefix-help
    '("Store, inTo, Xchg, Unstore; Recall, 0-9; : (:=); = (=>)"
-     "Let; Copy; Declare; Insert, Perm; Edit"
+     "Let; Copy, K=copy constant; Declare; Insert, Perm; Edit"
      "Negate, +, -, *, /, ^, &, |, [, ]; Map"
      "SHIFT + Decls, GenCount, TimeZone, Holidays; IntegLimit"
      "SHIFT + LineStyles, PointStyles, plotRejects; Units"
--- a/lisp/calc/calc-incom.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-incom.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-incom.el --- complex data type input functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-keypd.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-keypd.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-keypd.el --- mouse-capable keypad input for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-macs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-macs.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-macs.el --- important macros for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-map.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-map.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-map.el --- higher-order functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-misc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-misc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-misc.el --- miscellaenous functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-mode.el --- calculator modes for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-mtx.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-mtx.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-mtx.el --- matrix functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-poly.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-poly.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-poly.el --- polynomial functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
@@ -692,12 +692,13 @@
 
 	  ;; Check if linear in math-fet-x.
 	  ((not (cdr (cdr p)))
-	   (math-add (math-factor-protect
-		      (math-sort-terms
-		       (math-factor-expr (car p))))
-		     (math-mul math-fet-x (math-factor-protect
-				  (math-sort-terms
-				   (math-factor-expr (nth 1 p)))))))
+           (math-sort-terms
+            (math-add (math-factor-protect
+                       (math-sort-terms
+                        (math-factor-expr (car p))))
+                      (math-mul math-fet-x (math-factor-protect
+                                            (math-sort-terms
+                                             (math-factor-expr (nth 1 p))))))))
 
 	  ;; If symbolic coefficients, use FactorRules.
 	  ((let ((pp p))
--- a/lisp/calc/calc-rewr.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-rewr.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-rewr.el --- rewriting functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-rules.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-rules.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-rules.el --- rules for simplifying algebraic expressions in Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-stat.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-stat.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-stat.el --- statistical functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-store.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-store.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-store.el --- value storage functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-stuff.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-stuff.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-stuff.el --- miscellaneous functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-trail.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-trail.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-trail.el --- functions for manipulating the Calc "trail"
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-undo.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-undo.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-undo.el --- undo functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc-vec.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc-vec.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc-vec.el --- vector functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calc.el --- the GNU Emacs calculator
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2002, 2003, 2004, 2005 
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 
 ;;           Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
--- a/lisp/calc/calcalg3.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calcalg3.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calcalg3.el --- more algebraic functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calc/calcsel2.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calc/calcsel2.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; calcsel2.el --- selection functions for Calc
 
-;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: David Gillespie <daveg@synaptics.com>
 ;; Maintainer: Jay Belanger <belanger@truman.edu>
--- a/lisp/calculator.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calculator.el	Fri May 20 17:44:36 2005 +0000
@@ -105,15 +105,21 @@
   "*Use digit grouping in radix output mode.
 If this is set, chunks of `calculator-radix-grouping-digits' characters
 will be separated by `calculator-radix-grouping-separator' when in radix
-output mode is active (determined by `calculator-output-radix').")
+output mode is active (determined by `calculator-output-radix')."
+  :type  'boolean
+  :group 'calculator)
 
 (defcustom calculator-radix-grouping-digits 4
   "*The number of digits used for grouping display in radix modes.
-See `calculator-radix-grouping-mode'.")
+See `calculator-radix-grouping-mode'."
+  :type  'integer
+  :group 'calculator)
 
 (defcustom calculator-radix-grouping-separator "'"
   "*The separator used in radix grouping display.
-See `calculator-radix-grouping-mode'.")
+See `calculator-radix-grouping-mode'."
+  :type  'string
+  :group 'calculator)
 
 (defcustom calculator-remove-zeros t
   "*Non-nil value means delete all redundant zero decimal digits.
@@ -140,7 +146,8 @@
 
 An exception to the above is the case of the list (std C) where C is a
 character, in this case the `calculator-standard-displayer' function
-will be used with this character for a format string.")
+will be used with this character for a format string."
+  :group 'calculator)
 
 (defcustom calculator-displayers
   '(((std ?n) "Standard display, decimal point or scientific")
@@ -169,7 +176,9 @@
   "*If non-nil, this is any value that can be used for
 `calculator-displayer', to format a string before copying it with
 `calculator-copy'.  If nil, then `calculator-displayer's normal value is
-used.")
+used."
+  :type  'boolean
+  :group 'calculator)
 
 (defcustom calculator-2s-complement nil
   "*If non-nil, show negative numbers in 2s complement in radix modes.
--- a/lisp/calendar/appt.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/appt.el	Fri May 20 17:44:36 2005 +0000
@@ -633,11 +633,11 @@
         (min 0))
 
     (string-match "[:.]\\([0-9][0-9]\\)" time2conv)
-    (setq min (string-to-int
+    (setq min (string-to-number
                (match-string 1 time2conv)))
 
     (string-match "[0-9]?[0-9][:.]" time2conv)
-    (setq hr (string-to-int
+    (setq hr (string-to-number
               (match-string 0 time2conv)))
 
     ;; convert the time appointment time into 24 hour time
--- a/lisp/calendar/cal-bahai.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/cal-bahai.el	Fri May 20 17:44:36 2005 +0000
@@ -340,13 +340,13 @@
                       (buffer-substring
                        (match-beginning m-name-pos)
                        (match-end m-name-pos))))
-                 (mm (string-to-int
+                 (mm (string-to-number
                       (if m-pos
                           (buffer-substring
                            (match-beginning m-pos)
                            (match-end m-pos))
                         "")))
-                 (dd (string-to-int
+                 (dd (string-to-number
                       (if d-pos
                           (buffer-substring
                            (match-beginning d-pos)
@@ -365,14 +365,14 @@
                                     (calendar-bahai-from-absolute
                                      (calendar-absolute-from-gregorian
                                       (calendar-current-date)))))
-                                  (y (+ (string-to-int y-str)
+                                  (y (+ (string-to-number y-str)
                                         (* 100 (/ current-y 100)))))
                              (if (> (- y current-y) 50)
                                  (- y 100)
                                (if (> (- current-y y) 50)
                                    (+ y 100)
                                  y)))
-                         (string-to-int y-str)))))
+                         (string-to-number y-str)))))
             (if dd-name
                 (mark-calendar-days-named
                  (cdr (assoc-string (substring dd-name 0 3)
--- a/lisp/calendar/cal-hebrew.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/cal-hebrew.el	Fri May 20 17:44:36 2005 +0000
@@ -718,13 +718,13 @@
                       (buffer-substring
                        (match-beginning m-name-pos)
                        (match-end m-name-pos))))
-                 (mm (string-to-int
+                 (mm (string-to-number
                       (if m-pos
                           (buffer-substring
                            (match-beginning m-pos)
                            (match-end m-pos))
                         "")))
-                 (dd (string-to-int
+                 (dd (string-to-number
                       (if d-pos
                           (buffer-substring
                            (match-beginning d-pos)
@@ -743,14 +743,14 @@
                                     (calendar-hebrew-from-absolute
                                      (calendar-absolute-from-gregorian
                                       (calendar-current-date)))))
-                                  (y (+ (string-to-int y-str)
+                                  (y (+ (string-to-number y-str)
                                         (* 100 (/ current-y 100)))))
                              (if (> (- y current-y) 50)
                                  (- y 100)
                                (if (> (- current-y y) 50)
                                    (+ y 100)
                                  y)))
-                         (string-to-int y-str)))))
+                         (string-to-number y-str)))))
             (if dd-name
                 (mark-calendar-days-named
                  (cdr (assoc-string dd-name
--- a/lisp/calendar/cal-islam.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/cal-islam.el	Fri May 20 17:44:36 2005 +0000
@@ -337,13 +337,13 @@
                       (buffer-substring
                        (match-beginning m-name-pos)
                        (match-end m-name-pos))))
-                 (mm (string-to-int
+                 (mm (string-to-number
                       (if m-pos
                           (buffer-substring
                            (match-beginning m-pos)
                            (match-end m-pos))
                         "")))
-                 (dd (string-to-int
+                 (dd (string-to-number
                       (if d-pos
                           (buffer-substring
                            (match-beginning d-pos)
@@ -362,14 +362,14 @@
                                     (calendar-islamic-from-absolute
                                      (calendar-absolute-from-gregorian
                                       (calendar-current-date)))))
-                                  (y (+ (string-to-int y-str)
+                                  (y (+ (string-to-number y-str)
                                         (* 100 (/ current-y 100)))))
                              (if (> (- y current-y) 50)
                                  (- y 100)
                                (if (> (- current-y y) 50)
                                    (+ y 100)
                                  y)))
-                         (string-to-int y-str)))))
+                         (string-to-number y-str)))))
             (if dd-name
                 (mark-calendar-days-named
                  (cdr (assoc-string dd-name
--- a/lisp/calendar/calendar.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/calendar.el	Fri May 20 17:44:36 2005 +0000
@@ -2574,7 +2574,7 @@
           (if (not (looking-at " "))
                    (re-search-backward "[^0-9]"))
           (list month
-                (string-to-int (buffer-substring (1+ (point)) (+ 4 (point))))
+                (string-to-number (buffer-substring (1+ (point)) (+ 4 (point))))
                 year))
       (if (looking-at "\\*")
           (save-excursion
@@ -2964,7 +2964,7 @@
     (make-local-variable 'calendar-starred-day)
     (forward-char 1)
     (setq calendar-starred-day
-          (string-to-int
+          (string-to-number
            (buffer-substring (point) (- (point) 2))))
     (delete-char -2)
     (insert "**")
--- a/lisp/calendar/diary-lib.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/diary-lib.el	Fri May 20 17:44:36 2005 +0000
@@ -205,7 +205,7 @@
   (let (ret)
     (setq ret (cond ((eq type 'string) attrvalue)
 		    ((eq type 'symbol) (read attrvalue))
-		    ((eq type 'int) (string-to-int attrvalue))
+		    ((eq type 'int) (string-to-number attrvalue))
 		    ((eq type 'stringtnil)
 		     (cond ((string= "t" attrvalue) t)
 			   ((string= "nil" attrvalue) nil)
@@ -908,13 +908,13 @@
                           (buffer-substring-no-properties
                            (match-beginning m-name-pos)
                            (match-end m-name-pos))))
-                     (mm (string-to-int
+                     (mm (string-to-number
                           (if m-pos
                               (buffer-substring-no-properties
                                (match-beginning m-pos)
                                (match-end m-pos))
                             "")))
-                     (dd (string-to-int
+                     (dd (string-to-number
                           (if d-pos
                               (buffer-substring-no-properties
                                (match-beginning d-pos)
@@ -931,7 +931,7 @@
                                (let* ((current-y
                                        (extract-calendar-year
                                         (calendar-current-date)))
-                                      (y (+ (string-to-int y-str)
+                                      (y (+ (string-to-number y-str)
                                             (* 100
                                                (/ current-y 100)))))
                                  (if (> (- y current-y) 50)
@@ -939,7 +939,7 @@
                                    (if (> (- current-y y) 50)
                                        (+ y 100)
                                      y)))
-                             (string-to-int y-str))))
+                             (string-to-number y-str))))
                      (save-excursion
                        (setq entry (buffer-substring-no-properties
                                     (point) (line-end-position))
@@ -1149,22 +1149,22 @@
     (cond ((string-match        ; Military time
 	    "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]?\\([0-9][0-9]\\)\\(\\>\\|[^ap]\\)"
             s)
-	   (+ (* 100 (string-to-int
+	   (+ (* 100 (string-to-number
 		      (substring s (match-beginning 1) (match-end 1))))
-	      (string-to-int (substring s (match-beginning 2) (match-end 2)))))
+	      (string-to-number (substring s (match-beginning 2) (match-end 2)))))
 	  ((string-match        ; Hour only  XXam or XXpm
 	    "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)\\([ap]\\)m\\>" s)
-	   (+ (* 100 (% (string-to-int
+	   (+ (* 100 (% (string-to-number
 			   (substring s (match-beginning 1) (match-end 1)))
 			  12))
 	      (if (equal ?a (downcase (aref s (match-beginning 2))))
 		  0 1200)))
 	  ((string-match        ; Hour and minute  XX:XXam or XX:XXpm
 	    "\\`[ \t\n\\^M]*\\([0-9]?[0-9]\\)[:.]\\([0-9][0-9]\\)\\([ap]\\)m\\>" s)
-	   (+ (* 100 (% (string-to-int
+	   (+ (* 100 (% (string-to-number
 			   (substring s (match-beginning 1) (match-end 1)))
 			  12))
-	      (string-to-int (substring s (match-beginning 2) (match-end 2)))
+	      (string-to-number (substring s (match-beginning 2) (match-end 2)))
 	      (if (equal ?a (downcase (aref s (match-beginning 3))))
 		  0 1200)))
 	  (t diary-unknown-time)))) ; Unrecognizable
--- a/lisp/calendar/solar.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/calendar/solar.el	Fri May 20 17:44:36 2005 +0000
@@ -227,7 +227,7 @@
 Returns nil if nothing was entered."
   (let ((x (read-string prompt "")))
     (if (not (string-equal x ""))
-        (string-to-int x))))
+        (string-to-number x))))
 
 ;; The condition-case stuff is needed to catch bogus arithmetic
 ;; exceptions that occur on some machines (like Sparcs)
--- a/lisp/dabbrev.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/dabbrev.el	Fri May 20 17:44:36 2005 +0000
@@ -282,7 +282,8 @@
   "If non-nil, a list of buffers which dabbrev should search.
 If this variable is non-nil, dabbrev will only look in these buffers.
 It will not even look in the current buffer if it is not a member of
-this list.")
+this list."
+  :group 'dabbrev)
 
 ;;----------------------------------------------------------------
 ;; Internal variables
--- a/lisp/diff-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/diff-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -70,7 +70,8 @@
 (defcustom diff-jump-to-old-file nil
   "*Non-nil means `diff-goto-source' jumps to the old file.
 Else, it jumps to the new file."
-  :type '(boolean))
+  :type 'boolean
+  :group 'diff-mode)
 
 (defcustom diff-update-on-the-fly t
   "*Non-nil means hunk headers are kept up-to-date on-the-fly.
@@ -79,17 +80,20 @@
 either be done on the fly (but this sometimes interacts poorly with the
 undo mechanism) or whenever the file is written (can be slow
 when editing big diffs)."
-  :type '(boolean))
+  :type 'boolean
+  :group 'diff-mode)
 
 (defcustom diff-advance-after-apply-hunk t
   "*Non-nil means `diff-apply-hunk' will move to the next hunk after applying."
-  :type 'boolean)
+  :type 'boolean
+  :group 'diff-mode)
 
 
 (defcustom diff-mode-hook nil
   "Run after setting up the `diff-mode' major mode."
   :type 'hook
-  :options '(diff-delete-empty-files diff-make-unified))
+  :options '(diff-delete-empty-files diff-make-unified)
+  :group 'diff-mode)
 
 (defvar diff-outline-regexp
   "\\([*+][*+][*+] [^0-9]\\|@@ ...\\|\\*\\*\\* [0-9].\\|--- [0-9]..\\)")
@@ -159,7 +163,8 @@
 
 (defcustom diff-minor-mode-prefix "\C-c="
   "Prefix key for `diff-minor-mode' commands."
-  :type '(choice (string "\e") (string "C-c=") string))
+  :type '(choice (string "\e") (string "C-c=") string)
+  :group 'diff-mode)
 
 (easy-mmode-defmap diff-minor-mode-map
   `((,diff-minor-mode-prefix . ,diff-mode-shared-map))
--- a/lisp/dired-aux.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/dired-aux.el	Fri May 20 17:44:36 2005 +0000
@@ -428,7 +428,7 @@
 	 (setq base-version-list	; there was a base version to which
 	       (assoc (substring fn 0 start-vn)	; this looks like a
 		      dired-file-version-alist))	; subversion
-	 (not (memq (string-to-int (substring fn (+ 2 start-vn)))
+	 (not (memq (string-to-number (substring fn (+ 2 start-vn)))
 		    base-version-list))	; this one doesn't make the cut
 	 (progn (beginning-of-line)
 		(delete-char 1)
@@ -1135,23 +1135,29 @@
 
 (defun dired-copy-file-recursive (from to ok-flag &optional
 				       preserve-time top recursive)
-  (if (and recursive
-	   (eq t (car (file-attributes from))) ; A directory, no symbolic link.
-	   (or (eq recursive 'always)
-	       (yes-or-no-p (format "Recursive copies of %s " from))))
-      (let ((files (directory-files from nil dired-re-no-dot)))
-	(if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more.
-	(if (file-exists-p to)
-	    (or top (dired-handle-overwrite to))
-	  (make-directory to))
-	(while files
-	  (dired-copy-file-recursive
-	   (expand-file-name (car files) from)
-	   (expand-file-name (car files) to)
-	   ok-flag preserve-time nil recursive)
-	  (setq files (cdr files))))
-    (or top (dired-handle-overwrite to)) ; Just a file.
-    (copy-file from to ok-flag dired-copy-preserve-time)))
+  (let ((attrs (file-attributes from)))
+    (if (and recursive
+	     (eq t (car attrs))
+	     (or (eq recursive 'always)
+		 (yes-or-no-p (format "Recursive copies of %s " from))))
+	;; This is a directory.
+	(let ((files (directory-files from nil dired-re-no-dot)))
+	  (if (eq recursive 'top) (setq recursive 'always)) ; Don't ask any more.
+	  (if (file-exists-p to)
+	      (or top (dired-handle-overwrite to))
+	    (make-directory to))
+	  (while files
+	    (dired-copy-file-recursive
+	     (expand-file-name (car files) from)
+	     (expand-file-name (car files) to)
+	     ok-flag preserve-time nil recursive)
+	    (setq files (cdr files))))
+      ;; Not a directory.
+      (or top (dired-handle-overwrite to))
+      (if (stringp (car attrs))
+	  ;; It is a symlink
+	  (make-symbolic-link (car attrs) to ok-flag)
+	(copy-file from to ok-flag dired-copy-preserve-time)))))
 
 ;;;###autoload
 (defun dired-rename-file (file newname ok-if-already-exists)
--- a/lisp/dired-x.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/dired-x.el	Fri May 20 17:44:36 2005 +0000
@@ -1501,10 +1501,10 @@
               (if (looking-at dired-re-inode-size)
                   (progn
                     (goto-char (match-end 0))
-                    (setq inode (string-to-int (buffer-substring (match-beginning 1)
-                                                                 (match-end 1)))
-                          s (string-to-int (buffer-substring (match-beginning 2)
-                                                             (match-end 2)))))
+                    (setq inode (string-to-number (buffer-substring (match-beginning 1)
+                                                                    (match-end 1)))
+                          s (string-to-number (buffer-substring (match-beginning 2)
+                                                                (match-end 2)))))
                 (setq inode nil
                       s nil))
               (setq mode (buffer-substring (point) (+ mode-len (point))))
@@ -1516,10 +1516,10 @@
               (re-search-forward dired-move-to-filename-regexp)
               (goto-char (match-beginning 1))
               (forward-char -1)
-              (setq size (string-to-int (buffer-substring (save-excursion
-                                                            (backward-word 1)
-                                                            (setq pos (point)))
-                                                          (point))))
+              (setq size (string-to-number (buffer-substring (save-excursion
+                                                               (backward-word 1)
+                                                               (setq pos (point)))
+                                                             (point))))
               (goto-char pos)
               (backward-word 1)
               ;; if no gid is displayed, gid will be set to uid
--- a/lisp/dired.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/dired.el	Fri May 20 17:44:36 2005 +0000
@@ -1549,9 +1549,8 @@
   (setq dired-switches-alist nil)
   (dired-sort-other dired-actual-switches t)
   (when (featurep 'dnd)
-    (make-local-variable 'dnd-protocol-alist)
-    (setq dnd-protocol-alist
-	  (append dired-dnd-protocol-alist dnd-protocol-alist)))
+    (set (make-local-variable 'dnd-protocol-alist)
+	 (append dired-dnd-protocol-alist dnd-protocol-alist)))
   (run-mode-hooks 'dired-mode-hook))
 
 ;; Idiosyncratic dired commands that don't deal with marks.
--- a/lisp/ediff-diff.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/ediff-diff.el	Fri May 20 17:44:36 2005 +0000
@@ -393,20 +393,20 @@
     (ediff-with-current-buffer diff-buffer
       (goto-char (point-min))
       (while (re-search-forward ediff-match-diff-line nil t)
-       (let* ((a-begin (string-to-int (buffer-substring (match-beginning 1)
-							(match-end 1))))
+       (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1)
+                                                           (match-end 1))))
 	      (a-end  (let ((b (match-beginning 3))
 			    (e (match-end 3)))
 			(if b
-			    (string-to-int (buffer-substring b e))
+			    (string-to-number (buffer-substring b e))
 			  a-begin)))
 	      (diff-type (buffer-substring (match-beginning 4) (match-end 4)))
-	      (b-begin (string-to-int (buffer-substring (match-beginning 5)
-							(match-end 5))))
+	      (b-begin (string-to-number (buffer-substring (match-beginning 5)
+                                                           (match-end 5))))
 	      (b-end (let ((b (match-beginning 7))
 			   (e (match-end 7)))
 		       (if b
-			   (string-to-int (buffer-substring b e))
+			   (string-to-number (buffer-substring b e))
 			 b-begin)))
 	      a-begin-pt a-end-pt b-begin-pt b-end-pt
 	      c-begin c-end c-begin-pt c-end-pt)
@@ -934,16 +934,16 @@
 	;; it is a "c" group
 	(if (match-beginning 2)
 	    ;; it has two numbers
-	    (list (string-to-int
+	    (list (string-to-number
 		   (buffer-substring (match-beginning 1) (match-end 1)))
-		  (1+ (string-to-int
+		  (1+ (string-to-number
 		       (buffer-substring (match-beginning 3) (match-end 3)))))
 	  ;; it has one number
-	  (let ((x (string-to-int
+	  (let ((x (string-to-number
 		    (buffer-substring (match-beginning 1) (match-end 1)))))
 	    (list x (1+ x))))
       ;; it is an "a" group
-      (let ((x (1+ (string-to-int
+      (let ((x (1+ (string-to-number
 		    (buffer-substring (match-beginning 1) (match-end 1))))))
 	(list x x)))))
 
--- a/lisp/edmacro.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/edmacro.el	Fri May 20 17:44:36 2005 +0000
@@ -280,7 +280,7 @@
 		    (let ((str (buffer-substring (match-beginning 1)
 						 (match-end 1))))
 		      (unless (equal str "")
-			(setq mac-counter (string-to-int str))))
+			(setq mac-counter (string-to-number str))))
 		    t)
 		   ((looking-at "Format:[ \t]*\"\\([^\n]*\\)\"[ \t]*$")
 		    (when edmacro-store-hook
@@ -698,7 +698,7 @@
 	    (times 1))
 	(setq pos (match-end 0))
 	(when (string-match "\\([0-9]+\\)\\*." word)
-	  (setq times (string-to-int (substring word 0 (match-end 1))))
+	  (setq times (string-to-number (substring word 0 (match-end 1))))
 	  (setq word (substring word (1+ (match-end 1)))))
 	(cond ((string-match "^<<.+>>$" word)
 	       (setq key (vconcat (if (eq (key-binding [?\M-x])
--- a/lisp/emacs-lisp/authors.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/authors.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; authors.el --- utility for maintaining Emacs' AUTHORS file -*-coding: iso-2022-7bit;-*-
 
-;; Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc.
 
 ;; Author: Gerd Moellmann <gerd@gnu.org>
 ;; Maintainer: Kim F. Storm <storm@cua.dk>
@@ -597,8 +597,7 @@
     (unless (file-exists-p (expand-file-name "src/emacs.c" root))
       (error "Not the root directory of Emacs: %s" root))
     (dolist (log logs)
-      (when (and (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
-		 (not (string-match "/lispref/" log)))
+      (when (string-match "ChangeLog\\(.[0-9]+\\)?$" log)
 	(message "Scanning %s..." log)
 	(authors-scan-change-log log table)))
     (let ((els (authors-process-lines "find" root "-name" "*.el")))
--- a/lisp/emacs-lisp/byte-run.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/byte-run.el	Fri May 20 17:44:36 2005 +0000
@@ -175,8 +175,9 @@
 ;;; byte-compile-macro-environment.
 
 (defmacro eval-when-compile (&rest body)
-  "Like `progn', but evaluates the body at compile time.
-The result of the body appears to the compiler as a quoted constant."
+  "Like `progn', but evaluates the body at compile time if you're compiling.
+Thus, the result of the body appears to the compiler as a quoted constant.
+In interpreted code, this is entirely equivalent to `progn'."
   (declare (debug t) (indent 0))
   ;; Not necessary because we have it in b-c-initial-macro-environment
   ;; (list 'quote (eval (cons 'progn body)))
--- a/lisp/emacs-lisp/bytecomp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/bytecomp.el	Fri May 20 17:44:36 2005 +0000
@@ -2170,6 +2170,8 @@
 (put 'custom-declare-variable 'byte-hunk-handler
      'byte-compile-file-form-custom-declare-variable)
 (defun byte-compile-file-form-custom-declare-variable (form)
+  (when (memq 'callargs byte-compile-warnings)
+    (byte-compile-nogroup-warn form))
   (when (memq 'free-vars byte-compile-warnings)
     (push (nth 1 (nth 1 form)) byte-compile-bound-variables))
   (let ((tail (nthcdr 4 form)))
--- a/lisp/emacs-lisp/cl-extra.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/cl-extra.el	Fri May 20 17:44:36 2005 +0000
@@ -61,7 +61,7 @@
 ;;; Predicates.
 
 (defun equalp (x y)
-  "T if two Lisp objects have similar structures and contents.
+  "Return t if two Lisp objects have similar structures and contents.
 This is like `equal', except that it accepts numerically equal
 numbers of different types (float vs. integer), and also compares
 strings case-insensitively."
--- a/lisp/emacs-lisp/cl-macs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/cl-macs.el	Fri May 20 17:44:36 2005 +0000
@@ -1335,7 +1335,7 @@
 ;; The following ought to have a better definition for use with newer
 ;; byte compilers.
 (defmacro macrolet (bindings &rest body)
-  "Make temporary macro defns.
+  "Make temporary macro definitions.
 This is like `flet', but for macros instead of functions.
 
 \(fn ((NAME ARGLIST BODY...) ...) FORM...)"
@@ -1351,7 +1351,7 @@
 				  cl-macro-environment))))))
 
 (defmacro symbol-macrolet (bindings &rest body)
-  "Make symbol macro defns.
+  "Make symbol macro definitions.
 Within the body FORMs, references to the variable NAME will be replaced
 by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...).
 
--- a/lisp/emacs-lisp/cl-seq.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/cl-seq.el	Fri May 20 17:44:36 2005 +0000
@@ -800,7 +800,7 @@
 		  (apply 'nset-difference cl-list2 cl-list1 cl-keys)))))
 
 (defun subsetp (cl-list1 cl-list2 &rest cl-keys)
-  "True if LIST1 is a subset of LIST2.
+  "Return true if LIST1 is a subset of LIST2.
 I.e., if every element of LIST1 also appears in LIST2.
 Keywords supported:  :test :test-not :key"
   (cond ((null cl-list1) t) ((null cl-list2) nil)
@@ -888,7 +888,7 @@
 	(setq cl-tree (cdr cl-tree))))))
 
 (defun tree-equal (cl-x cl-y &rest cl-keys)
-  "T if trees X and Y have `eql' leaves.
+  "Return t if trees X and Y have `eql' leaves.
 Atoms are compared by `eql'; cons cells are compared recursively.
 Keywords supported:  :test :test-not :key"
   (cl-parsing-keywords (:test :test-not :key) ()
--- a/lisp/emacs-lisp/cl.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/cl.el	Fri May 20 17:44:36 2005 +0000
@@ -115,7 +115,7 @@
 ;;; Predicates.
 
 (defun eql (a b)    ; See compiler macro in cl-macs.el
-  "T if the two args are the same Lisp object.
+  "Return t if the two args are the same Lisp object.
 Floating-point numbers of equal value are `eql', but they may not be `eq'."
   (if (numberp a)
       (equal a b)
@@ -301,25 +301,25 @@
 ;;; Numbers.
 
 (defun floatp-safe (x)
-  "T if OBJECT is a floating point number.
+  "Return t if OBJECT is a floating point number.
 On Emacs versions that lack floating-point support, this function
 always returns nil."
   (and (numberp x) (not (integerp x))))
 
 (defun plusp (x)
-  "T if NUMBER is positive."
+  "Return t if NUMBER is positive."
   (> x 0))
 
 (defun minusp (x)
-  "T if NUMBER is negative."
+  "Return t if NUMBER is negative."
   (< x 0))
 
 (defun oddp (x)
-  "T if INTEGER is odd."
+  "Return t if INTEGER is odd."
   (eq (logand x 1) 1))
 
 (defun evenp (x)
-  "T if INTEGER is even."
+  "Return t if INTEGER is even."
   (eq (logand x 1) 0))
 
 (defvar *random-state* (vector 'cl-random-state-tag -1 30 (cl-random-time)))
@@ -503,7 +503,7 @@
 ;;    x))
 
 (defun list* (arg &rest rest)   ; See compiler macro in cl-macs.el
-  "Return a new list with specified args as elements, cons'd to last arg.
+  "Return a new list with specified args as elements, consed to last arg.
 Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
 `(cons A (cons B (cons C D)))'."
   (cond ((not rest) arg)
--- a/lisp/emacs-lisp/copyright.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/copyright.el	Fri May 20 17:44:36 2005 +0000
@@ -185,25 +185,24 @@
   (widen)
   (goto-char (point-min))
   (if (re-search-forward copyright-regexp (+ (point) copyright-limit) t)
-      (let ((s (match-beginning 2)) (e (make-marker))
+      (let ((s (match-beginning 2))
+	    (e (copy-marker (1+ (match-end 2))))
+	    (p (make-marker))
 	    last)
-	(set-marker e (1+ (match-end 2)))
 	(goto-char s)
-	;; Back up one character so that our search can match the first year.
-	(backward-char 1)
-	(while (and (< (point) (marker-position e))
-		    (re-search-forward "\\([^0-9]\\)\\([0-9]+\\)[^0-9]"
-				       (marker-position e) t))
-	  (let ((p (point))
-		(sep (match-string 1))
-		(year (string-to-number (match-string 2))))
-	    (goto-char (1+ (match-beginning 0)))
-	    (unless (= (char-syntax (string-to-char sep)) ?\s)
+	(while (re-search-forward "[0-9]+" e t)
+	  (set-marker p (point))
+	  (goto-char (match-beginning 0))
+	  (let ((sep (char-before))
+		(year (string-to-number (match-string 0))))
+	    (when (and sep
+		       (/= (char-syntax sep) ?\s)
+		       (/= sep ?-))
 	      (insert " "))
-	    (if (< year 100)
-		(insert (if (>= year 50) "19" "20")))
-	    (goto-char p)
-	    (setq last p)))
+	    (when (< year 100)
+	      (insert (if (>= year 50) "19" "20"))))
+	  (goto-char p)
+	  (setq last p))
 	(when last
 	  (goto-char last)
 	  ;; Don't mess up whitespace after the years.
@@ -211,12 +210,11 @@
 	  (save-restriction
 	    (narrow-to-region (point-min) (point))
 	    (let ((fill-prefix "     "))
-	      (fill-region s last)))
-	  )
+	      (fill-region s last))))
 	(set-marker e nil)
+	(set-marker p nil)
 	(copyright-update nil t))
-    (message "No copyright message")
-    (goto-char (point-min))))
+    (message "No copyright message")))
 
 ;;;###autoload
 (define-skeleton copyright
--- a/lisp/emacs-lisp/easy-mmode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/easy-mmode.el	Fri May 20 17:44:36 2005 +0000
@@ -36,7 +36,6 @@
 ;; For each mode, easy-mmode defines the following:
 ;; <mode>      : The minor mode predicate. A buffer-local variable.
 ;; <mode>-map  : The keymap possibly associated to <mode>.
-;; <mode>-hook : The hook run at the end of the toggle function.
 ;;       see `define-minor-mode' documentation
 ;;
 ;; eval
@@ -90,7 +89,7 @@
 (defmacro define-minor-mode (mode doc &optional init-value lighter keymap &rest body)
   "Define a new minor mode MODE.
 This function defines the associated control variable MODE, keymap MODE-map,
-toggle command MODE, and hook MODE-hook.
+and toggle command MODE.
 
 DOC is the documentation for the mode toggle command.
 Optional INIT-VALUE is the initial value of the mode's variable.
@@ -103,11 +102,11 @@
 used (see below).
 
 BODY contains code that will be executed each time the mode is (dis)activated.
-  It will be executed after any toggling but before running the hooks.
-  Before the actual body code, you can write
-  keyword arguments (alternating keywords and values).
-  These following keyword arguments are supported (other keywords
-  will be passed to `defcustom' if the minor mode is global):
+  It will be executed after any toggling but before running the hook variable
+  `mode-HOOK'.
+  Before the actual body code, you can write keyword arguments (alternating
+  keywords and values).  These following keyword arguments are supported (other
+  keywords will be passed to `defcustom' if the minor mode is global):
 :group GROUP	Custom group name to use in all generated `defcustom' forms.
 		Defaults to MODE without the possible trailing \"-mode\".
 		Don't use this default group name unless you have written a
@@ -241,12 +240,6 @@
        ;; up-to-here.
        :autoload-end
 
-       ;; The toggle's hook.
-       (defcustom ,hook nil
-	 ,(format "Hook run at the end of function `%s'." mode-name)
-	 ,@group
-	 :type 'hook)
-
        ;; Define the minor-mode keymap.
        ,(unless (symbolp keymap)	;nil is also a symbol.
 	  `(defvar ,keymap-sym
@@ -323,8 +316,8 @@
 	   (with-current-buffer buf
 	     (if ,global-mode (,turn-on) (when ,mode (,mode -1))))))
 
-       ;; Autoloading easy-mmode-define-global-mode
-       ;; autoloads everything up-to-here.
+       ;; Autoloading define-global-minor-mode autoloads everything
+       ;; up-to-here.
        :autoload-end
 
        ;; List of buffers left to process.
--- a/lisp/emacs-lisp/eldoc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/eldoc.el	Fri May 20 17:44:36 2005 +0000
@@ -141,9 +141,9 @@
   "Toggle ElDoc mode on or off.
 In ElDoc mode, the echo area displays information about a
 function or variable in the text where point is.  If point is
-on a documented variable, it displays that variable's doc string.
-Otherwise it displays the argument list of the function called
-in the expression point is on.
+on a documented variable, it displays the first line of that
+variable's doc string.  Otherwise it displays the argument list
+of the function called in the expression point is on.
 
 With prefix ARG, turn ElDoc mode on if and only if ARG is positive."
   :group 'eldoc :lighter eldoc-minor-mode-string
--- a/lisp/emacs-lisp/lisp-mnt.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/lisp-mnt.el	Fri May 20 17:44:36 2005 +0000
@@ -418,7 +418,7 @@
 	    (format "%s-%s-%s" yyyy mm dd)
 	  (format "%s %s %s"
 		  dd
-		  (nth (string-to-int mm)
+		  (nth (string-to-number mm)
 		       '("" "Jan" "Feb" "Mar" "Apr" "May" "Jun"
 			 "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"))
 		  yyyy))))))
--- a/lisp/emacs-lisp/lisp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/lisp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,7 @@
 ;;; lisp.el --- Lisp editing commands for Emacs
 
-;; Copyright (C) 1985, 86, 1994, 2000, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1994, 2000, 2004, 2005
+;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
 ;; Keywords: lisp, languages
@@ -487,9 +488,9 @@
 More accurately, check the narrowed part of the buffer for unbalanced
 expressions (\"sexps\") in general.  This is done according to the
 current syntax table and will find unbalanced brackets or quotes as
-appropriate.  (See Info node `(emacs)Lists and Sexps'.)  If imbalance
-is found, an error is signalled and point is left at the first
-unbalanced character."
+appropriate.  (See Info node `(emacs)Parentheses'.)  If imbalance is
+found, an error is signalled and point is left at the first unbalanced
+character."
   (interactive)
   (condition-case data
       ;; Buffer can't have more than (point-max) sexps.
--- a/lisp/emacs-lisp/re-builder.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/re-builder.el	Fri May 20 17:44:36 2005 +0000
@@ -557,7 +557,7 @@
   (interactive)
 
   (setq reb-subexp-displayed
-	(or subexp (string-to-int (format "%c" last-command-char))))
+	(or subexp (string-to-number (format "%c" last-command-char))))
   (reb-update-modestring)
   (reb-do-update reb-subexp-displayed))
 
--- a/lisp/emacs-lisp/testcover.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emacs-lisp/testcover.el	Fri May 20 17:44:36 2005 +0000
@@ -147,7 +147,8 @@
 (defcustom testcover-potentially-1value-functions
   '(add-hook and beep or remove-hook unless when)
   "Functions that are potentially 1-valued.  No brown splotch if actually
-1-valued, no error if actually multi-valued.")
+1-valued, no error if actually multi-valued."
+  :group 'testcover)
 
 (defface testcover-nohits-face
   '((t (:background "DeepPink2")))
--- a/lisp/emerge.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emerge.el	Fri May 20 17:44:36 2005 +0000
@@ -657,20 +657,20 @@
      diff-buffer
      (goto-char (point-min))
      (while (re-search-forward emerge-match-diff-line nil t)
-       (let* ((a-begin (string-to-int (buffer-substring (match-beginning 1)
-							(match-end 1))))
+       (let* ((a-begin (string-to-number (buffer-substring (match-beginning 1)
+                                                           (match-end 1))))
 	      (a-end  (let ((b (match-beginning 3))
 			    (e (match-end 3)))
 			(if b
-			    (string-to-int (buffer-substring b e))
+			    (string-to-number (buffer-substring b e))
 			  a-begin)))
 	      (diff-type (buffer-substring (match-beginning 4) (match-end 4)))
-	      (b-begin (string-to-int (buffer-substring (match-beginning 5)
-							(match-end 5))))
+	      (b-begin (string-to-number (buffer-substring (match-beginning 5)
+                                                           (match-end 5))))
 	      (b-end (let ((b (match-beginning 7))
 			   (e (match-end 7)))
 		       (if b
-			   (string-to-int (buffer-substring b e))
+			   (string-to-number (buffer-substring b e))
 			 b-begin))))
 	 ;; fix the beginning and end numbers, because diff is somewhat
 	 ;; strange about how it numbers lines
@@ -862,16 +862,16 @@
 	;; it is a "c" group
 	(if (match-beginning 2)
 	    ;; it has two numbers
-	    (list (string-to-int
+	    (list (string-to-number
 		   (buffer-substring (match-beginning 1) (match-end 1)))
-		  (1+ (string-to-int
+		  (1+ (string-to-number
 		       (buffer-substring (match-beginning 3) (match-end 3)))))
 	  ;; it has one number
-	  (let ((x (string-to-int
+	  (let ((x (string-to-number
 		    (buffer-substring (match-beginning 1) (match-end 1)))))
 	    (list x (1+ x))))
       ;; it is an "a" group
-      (let ((x (1+ (string-to-int
+      (let ((x (1+ (string-to-number
 		    (buffer-substring (match-beginning 1) (match-end 1))))))
 	(list x x)))))
 
--- a/lisp/emulation/crisp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/crisp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; crisp.el --- CRiSP/Brief Emacs emulator
 
-;; Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2005 Free Software Foundation, Inc.
 
 ;; Author: Gary D. Foster <Gary.Foster@Corp.Sun.COM>
 ;; Keywords: emulations brief crisp
@@ -386,10 +386,8 @@
 				       minor-mode-map-alist))))
 
 ;; Interaction with other packages.
-(eval-after-load 'cua
-  '(progn
-     (add-to-list 'cua--standard-movement-commands 'crisp-home)
-     (add-to-list 'cua--standard-movement-commands 'crisp-end)))
+(put 'crisp-home 'CUA 'move)
+(put 'crisp-end  'CUA 'move)
 
 (run-hooks 'crisp-load-hook)
 (provide 'crisp)
--- a/lisp/emulation/cua-base.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/cua-base.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; cua-base.el --- emulate CUA key bindings
 
-;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
@@ -159,13 +159,13 @@
 ;; left edge of a rectangle start in the middle of a TAB character.
 ;; Sounds strange? Try it!
 ;;
-;; To start a rectangle, use [S-return] and extend it using the normal
+;; To start a rectangle, use [C-return] and extend it using the normal
 ;; movement keys (up, down, left, right, home, end, C-home,
 ;; C-end). Once the rectangle has the desired size, you can cut or
 ;; copy it using C-x and C-c (or C-w and M-w), and you can
 ;; subsequently insert it - as a rectangle - using C-v (or C-y).  So
 ;; the only new command you need to know to work with cua-mode
-;; rectangles is S-return!
+;; rectangles is C-return!
 ;;
 ;; Normally, when you paste a rectangle using C-v (C-y), each line of
 ;; the rectangle is inserted into the existing lines in the buffer.
@@ -183,7 +183,7 @@
 ;; entire rectangle overlay (but not the contents) in the given
 ;; direction.
 ;;
-;; [S-return] cancels the rectangle
+;; [C-return] cancels the rectangle
 ;; [C-space] activates the region bounded by the rectangle
 
 ;; If you type a normal (self-inserting) character when the rectangle is
@@ -194,7 +194,7 @@
 ;; bottom of the rectangle.  So, for example, to comment out an entire
 ;; paragraph like this one, just place the cursor on the first character
 ;; of the first line, and enter the following:
-;;     S-return M-} ; ; <space>  S-return
+;;     C-return M-} ; ; <space>  C-return
 
 ;; cua-mode's rectangle support also includes all the normal rectangle
 ;; functions with easy access:
@@ -330,12 +330,12 @@
   :group 'cua)
 
 (defcustom cua-use-hyper-key nil
-  "*If non-nil, bind rectangle commands to H-? instead of M-?.
-If set to 'also, toggle region command is also on S-return.
+  "*If non-nil, bind rectangle commands to H-... instead of M-....
+If set to 'also, toggle region command is also on C-return.
 Must be set prior to enabling CUA."
-  :type '(choice (const :tag "Meta key and S-return" nil)
+  :type '(choice (const :tag "Meta key and C-return" nil)
 		 (const :tag "Hyper key only" only)
-		 (const :tag "Hyper key and S-return" also))
+		 (const :tag "Hyper key and C-return" also))
   :group 'cua)
 
 (defcustom cua-enable-region-auto-help nil
@@ -1235,7 +1235,7 @@
 
 (defun cua--init-keymaps ()
   (unless (eq cua-use-hyper-key 'only)
-    (define-key cua-global-keymap [(shift return)]	'cua-set-rectangle-mark))
+    (define-key cua-global-keymap [(control return)]	'cua-set-rectangle-mark))
   (when cua-use-hyper-key
     (cua--M/H-key cua-global-keymap 'space	'cua-set-rectangle-mark)
     (define-key cua-global-keymap [(hyper mouse-1)] 'cua-mouse-set-rectangle-mark))
--- a/lisp/emulation/cua-rect.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/cua-rect.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; cua-rect.el --- CUA unified rectangle support
 
-;; Copyright (C) 1997-2002, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: Kim F. Storm <storm@cua.dk>
 ;; Keywords: keyboard emulations convenience CUA
@@ -1403,8 +1403,8 @@
 
 (defun cua--init-rectangles ()
   (unless (eq cua-use-hyper-key 'only)
-    (define-key cua--rectangle-keymap [(shift return)] 'cua-clear-rectangle-mark)
-    (define-key cua--region-keymap    [(shift return)] 'cua-toggle-rectangle-mark))
+    (define-key cua--rectangle-keymap [(control return)] 'cua-clear-rectangle-mark)
+    (define-key cua--region-keymap    [(control return)] 'cua-toggle-rectangle-mark))
   (when cua-use-hyper-key
     (cua--rect-M/H-key 'space			       'cua-clear-rectangle-mark)
     (cua--M/H-key cua--region-keymap 'space	       'cua-toggle-rectangle-mark))
--- a/lisp/emulation/edt.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/edt.el	Fri May 20 17:44:36 2005 +0000
@@ -1256,16 +1256,16 @@
   ;; set top scroll margin
   (or (string= top "")
       (if (string= "%" (substring top -1))
-	  (setq edt-top-scroll-margin (string-to-int top))
+	  (setq edt-top-scroll-margin (string-to-number top))
 	(setq edt-top-scroll-margin
-	      (/ (1- (+ (* (string-to-int top) 100) (window-height)))
+	      (/ (1- (+ (* (string-to-number top) 100) (window-height)))
 		 (window-height)))))
   ;; set bottom scroll margin
   (or (string= bottom "")
       (if (string= "%" (substring bottom -1))
-	  (setq edt-bottom-scroll-margin (string-to-int bottom))
+	  (setq edt-bottom-scroll-margin (string-to-number bottom))
 	(setq edt-bottom-scroll-margin
-	      (/ (1- (+ (* (string-to-int bottom) 100) (window-height)))
+	      (/ (1- (+ (* (string-to-number bottom) 100) (window-height)))
 		 (window-height)))))
   ;; report scroll margin settings if running interactively
   (and (interactive-p)
--- a/lisp/emulation/pc-select.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/pc-select.el	Fri May 20 17:44:36 2005 +0000
@@ -2,7 +2,7 @@
 ;;;		     (or MAC GUI or MS-windoze (bah)) look-and-feel
 ;;;		     including key bindings.
 
-;; Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1996, 1997, 2000, 2001, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Staats <michael@thp.Uni-Duisburg.DE>
 ;; Keywords: convenience emulation
--- a/lisp/emulation/tpu-edt.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/tpu-edt.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tpu-edt.el --- Emacs emulating TPU emulating EDT
 
-;; Copyright (C) 1993, 1994, 1995, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1994, 1995, 2000, 2005 Free Software Foundation, Inc.
 
 ;; Author: Rob Riepel <riepel@networking.stanford.edu>
 ;; Maintainer: Rob Riepel <riepel@networking.stanford.edu>
--- a/lisp/emulation/tpu-extras.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/tpu-extras.el	Fri May 20 17:44:36 2005 +0000
@@ -440,16 +440,16 @@
   ;; set top scroll margin
   (or (string= top "")
       (if (string= "%" (substring top -1))
-	  (setq tpu-top-scroll-margin (string-to-int top))
+	  (setq tpu-top-scroll-margin (string-to-number top))
 	(setq tpu-top-scroll-margin
-	      (/ (1- (+ (* (string-to-int top) 100) (window-height)))
+	      (/ (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-int bottom))
+	  (setq tpu-bottom-scroll-margin (string-to-number bottom))
 	(setq tpu-bottom-scroll-margin
-	      (/ (1- (+ (* (string-to-int bottom) 100) (window-height)))
+	      (/ (1- (+ (* (string-to-number bottom) 100) (window-height)))
 		 (window-height)))))
   ;; report scroll margin settings if running interactively
   (and (interactive-p)
--- a/lisp/emulation/vip.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/vip.el	Fri May 20 17:44:36 2005 +0000
@@ -2177,7 +2177,7 @@
 		 (cond ((string= ex-token-type "plus") "add-number")
 		       ((string= ex-token-type "minus") "sub-number")
 		       (t "abs-number")))
-	   (setq ex-token (string-to-int (buffer-substring (point) (mark)))))
+	   (setq ex-token (string-to-number (buffer-substring (point) (mark)))))
 	  ((looking-at "\\$")
 	   (forward-char 1)
 	   (setq ex-token-type "end"))
@@ -2471,7 +2471,7 @@
 	(progn
 	  (set-mark (point))
 	  (re-search-forward "[0-9][0-9]*")
-	  (setq ex-count (string-to-int (buffer-substring (point) (mark))))
+	  (setq ex-count (string-to-number (buffer-substring (point) (mark))))
 	  (skip-chars-forward " \t")))
     (if (looking-at "[pl#]")
 	(progn
@@ -2496,7 +2496,7 @@
 	(progn
 	  (set-mark (point))
 	  (re-search-forward "[0-9][0-9]*")
-	  (setq ex-count (string-to-int (buffer-substring (point) (mark))))
+	  (setq ex-count (string-to-number (buffer-substring (point) (mark))))
 	  (skip-chars-forward " \t")))
     (if (looking-at "[pl#]")
 	(progn
--- a/lisp/emulation/viper-cmd.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper-cmd.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; viper-cmd.el --- Vi command support for Viper
 
-;; Copyright (C) 1997, 98, 99, 2000, 01, 02 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 98, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 
--- a/lisp/emulation/viper-ex.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper-ex.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; viper-ex.el --- functions implementing the Ex commands for Viper
 
-;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02, 04, 05 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 98, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 
@@ -434,7 +434,7 @@
 			 ((eq ex-token-type 'minus) 'sub-number)
 			 (t 'abs-number)))
 	     (setq ex-token
-		   (string-to-int (buffer-substring (point) (mark t)))))
+		   (string-to-number (buffer-substring (point) (mark t)))))
 	    ((looking-at "\\$")
 	     (forward-char 1)
 	     (setq ex-token-type 'end))
@@ -912,7 +912,7 @@
 	(progn
 	  (set-mark (point))
 	  (re-search-forward "[0-9][0-9]*")
-	  (setq ex-count (string-to-int (buffer-substring (point) (mark t))))
+	  (setq ex-count (string-to-number (buffer-substring (point) (mark t))))
 	  (skip-chars-forward " \t")))
     (if (looking-at "[pl#]")
 	(progn
@@ -938,7 +938,7 @@
 	(progn
 	  (set-mark (point))
 	  (re-search-forward "[0-9][0-9]*")
-	  (setq ex-count (string-to-int (buffer-substring (point) (mark t))))
+	  (setq ex-count (string-to-number (buffer-substring (point) (mark t))))
 	  (skip-chars-forward " \t")))
     (if (looking-at "[pl#]")
 	(progn
@@ -1490,7 +1490,7 @@
 		(progn
 		  (ex-edit t)
 		  (throw 'ex-edit nil))
-	      (setq count (string-to-int ex-file))
+	      (setq count (string-to-number ex-file))
 	      (if (= count 0) (setq count 1))
 	      (if (< count 0) (error "Usage: `next <count>' (count >= 0)"))))
 	(setq count 1))
--- a/lisp/emulation/viper-keym.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper-keym.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; viper-keym.el --- Viper keymaps
 
-;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 
--- a/lisp/emulation/viper-macs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper-macs.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; viper-macs.el --- functions implementing keyboard macros for Viper
 
-;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 
--- a/lisp/emulation/viper-util.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper-util.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; viper-util.el --- Utilities used by viper.el
 
-;; Copyright (C) 1994, 95, 96, 97, 99, 2000, 01, 02 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 
--- a/lisp/emulation/viper.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/emulation/viper.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;		 and a venomous VI PERil.
 ;;		 Viper Is also a Package for Emacs Rebels.
 
-;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 05 Free Software Foundation, Inc.
+;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
 ;; Keywords: emulations
--- a/lisp/faces.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/faces.el	Fri May 20 17:44:36 2005 +0000
@@ -1014,7 +1014,7 @@
 	  ((member new-value '("unspecified-fg" "unspecified-bg"))
 	   new-value)
 	  (t
-	   (string-to-int new-value)))))
+	   (string-to-number new-value)))))
 
 
 (defun read-face-attribute (face attribute &optional frame)
@@ -1184,6 +1184,7 @@
 	  (save-excursion
 	    (save-match-data
 	      (search-backward face-name)
+	      (setq help-xref-stack-item `(list-faces-display ,regexp))
 	      (help-xref-button 0 'help-customize-face face)))
 	  (let ((beg (point))
 		(line-beg (line-beginning-position)))
--- a/lisp/files.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/files.el	Fri May 20 17:44:36 2005 +0000
@@ -2988,7 +2988,7 @@
 the index in the name where the version number begins."
   (if (and (string-match "[0-9]+~$" fn backup-extract-version-start)
 	   (= (match-beginning 0) backup-extract-version-start))
-      (string-to-int (substring fn backup-extract-version-start -1))
+      (string-to-number (substring fn backup-extract-version-start -1))
       0))
 
 ;; I believe there is no need to alter this behavior for VMS;
@@ -4552,7 +4552,7 @@
 	      (if (string-match "ls (.*utils) \\([0-9.]*\\)$" version-out)
 		  (let* ((version (match-string 1 version-out))
 			 (split (split-string version "[.]"))
-			 (numbers (mapcar 'string-to-int split))
+			 (numbers (mapcar 'string-to-number split))
 			 (min '(5 2 1))
 			 comparison)
 		    (while (and (not comparison) (or numbers min))
--- a/lisp/finder.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/finder.el	Fri May 20 17:44:36 2005 +0000
@@ -182,7 +182,7 @@
 ;;; End:
 ;;; " (file-name-nondirectory generated-finder-keywords-file) " ends here\n")
       (kill-buffer "*finder-scratch*")
-      (eval-current-buffer) ;; So we get the new keyword list immediately
+      (eval-buffer) ;; So we get the new keyword list immediately
       (basic-save-buffer))))
 
 (defun finder-compile-keywords-make-dist ()
--- a/lisp/follow.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/follow.el	Fri May 20 17:44:36 2005 +0000
@@ -394,7 +394,6 @@
 	"Anders Lindgren <andersl@andersl.com>"
 	"follow.el"
 	'(post-command-hook
-	  post-command-idle-hook
 	  pre-command-hook
 	  window-size-change-functions
 	  window-scroll-functions
@@ -683,9 +682,6 @@
 	       (set 'scroll-on-clipped-lines nil))
 	   (force-mode-line-update)
 	   (add-hook 'post-command-hook 'follow-post-command-hook t)
-	   (if (boundp 'post-command-idle-hook)
-	       (add-hook 'post-command-idle-hook
-			 'follow-avoid-tail-recenter t))
 	   (run-hooks 'follow-mode-hook))
 
 	  ((and (not follow-mode) follow-mode-orig) ; Off
--- a/lisp/font-lock.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/font-lock.el	Fri May 20 17:44:36 2005 +0000
@@ -1967,109 +1967,112 @@
 
 (defconst lisp-font-lock-keywords-1
   (eval-when-compile
-    (list
-     ;;
-     ;; Definitions.
-     (list (concat "(\\(def\\("
-		   ;; Function declarations.
-		   "\\(advice\\|varalias\\|alias\\|generic\\|macro\\*?\\|method\\|"
-                   "setf\\|subst\\*?\\|un\\*?\\|"
-                   "ine-\\(condition\\|\\(?:derived\\|minor\\|generic\\)-mode\\|"
-                   "method-combination\\|setf-expander\\|skeleton\\|widget\\|"
-                   "function\\|\\(compiler\\|modify\\|symbol\\)-macro\\)\\)\\|"
-		   ;; Variable declarations.
-		   "\\(const\\(ant\\)?\\|custom\\|face\\|parameter\\|var\\)\\|"
-		   ;; Structure declarations.
-		   "\\(class\\|group\\|theme\\|package\\|struct\\|type\\)"
-		   "\\)\\)\\>"
-		   ;; Any whitespace and defined object.
-		   "[ \t'\(]*"
-		   "\\(setf[ \t]+\\sw+)\\|\\sw+\\)?")
-	   '(1 font-lock-keyword-face)
-	   '(9 (cond ((match-beginning 3) font-lock-function-name-face)
-		     ((match-beginning 6) font-lock-variable-name-face)
-		     (t font-lock-type-face))
-	       nil t))
-     ;;
-     ;; Emacs Lisp autoload cookies.
-     '("^;;;###\\(autoload\\)" 1 font-lock-warning-face prepend)
-     ))
+    `(;; Definitions.
+      (,(concat "(\\(def\\("
+		;; Function declarations.
+		"\\(advice\\|varalias\\|alias\\|generic\\|macro\\*?\\|method\\|"
+		"setf\\|subst\\*?\\|un\\*?\\|"
+		"ine-\\(condition\\|\\(?:derived\\|minor\\|generic\\)-mode\\|"
+		"method-combination\\|setf-expander\\|skeleton\\|widget\\|"
+		"function\\|\\(compiler\\|modify\\|symbol\\)-macro\\)\\)\\|"
+		;; Variable declarations.
+		"\\(const\\(ant\\)?\\|custom\\|face\\|parameter\\|var\\)\\|"
+		;; Structure declarations.
+		"\\(class\\|group\\|theme\\|package\\|struct\\|type\\)"
+		"\\)\\)\\>"
+		;; Any whitespace and defined object.
+		"[ \t'\(]*"
+		"\\(setf[ \t]+\\sw+)\\|\\sw+\\)?")
+       (1 font-lock-keyword-face)
+       (9 (cond ((match-beginning 3) font-lock-function-name-face)
+		((match-beginning 6) font-lock-variable-name-face)
+		(t font-lock-type-face))
+	  nil t))
+      ;; Emacs Lisp autoload cookies.
+      ("^;;;###\\(autoload\\)" 1 font-lock-warning-face prepend)
+      ;; Regexp negated char group.
+      ("\\[\\(\\^\\)" 1 font-lock-negation-char-face prepend)))
   "Subdued level highlighting for Lisp modes.")
 
 (defconst lisp-font-lock-keywords-2
   (append lisp-font-lock-keywords-1
    (eval-when-compile
-     (list
-      ;;
-      ;; Control structures.  Emacs Lisp forms.
-      (cons (concat
-	     "(" (regexp-opt
-		  '("cond" "if" "while" "let" "let*"
-		    "prog" "progn" "progv" "prog1" "prog2" "prog*"
-		    "inline" "lambda" "save-restriction" "save-excursion"
-		    "save-window-excursion" "save-selected-window"
-		    "save-match-data" "save-current-buffer" "unwind-protect"
-		    "condition-case" "track-mouse"
-		    "eval-after-load" "eval-and-compile" "eval-when-compile"
-		    "eval-when"
-		    "with-category-table"
-		    "with-current-buffer" "with-electric-help"
-		    "with-local-quit" "with-no-warnings"
-		    "with-output-to-string" "with-output-to-temp-buffer"
-		    "with-selected-window" "with-selected-frame" "with-syntax-table"
-		    "with-temp-buffer" "with-temp-file" "with-temp-message"
-		    "with-timeout" "with-timeout-handler") t)
-	     "\\>")
-	    1)
-      ;;
-      ;; Control structures.  Common Lisp forms.
-      (cons (concat
-	     "(" (regexp-opt
-		  '("when" "unless" "case" "ecase" "typecase" "etypecase"
-		    "ccase" "ctypecase" "handler-case" "handler-bind"
-		    "restart-bind" "restart-case" "in-package"
-		    "break" "ignore-errors"
-		    "loop" "do" "do*" "dotimes" "dolist" "the" "locally"
-		    "proclaim" "declaim" "declare" "symbol-macrolet"
-		    "lexical-let" "lexical-let*" "flet" "labels" "compiler-let"
-		    "destructuring-bind" "macrolet" "tagbody" "block" "go"
-		    "multiple-value-bind" "multiple-value-prog1"
-		    "return" "return-from"
-		    "with-accessors" "with-compilation-unit"
-		    "with-condition-restarts" "with-hash-table-iterator"
-		    "with-input-from-string" "with-open-file"
-		    "with-open-stream" "with-output-to-string"
-		    "with-package-iterator" "with-simple-restart"
-		    "with-slots" "with-standard-io-syntax") t)
-	     "\\>")
-	    1)
-      ;;
-      ;; Exit/Feature symbols as constants.
-      (list (concat "(\\(catch\\|throw\\|featurep\\|provide\\|require\\)\\>"
-		    "[ \t']*\\(\\sw+\\)?")
-	    '(1 font-lock-keyword-face)
-	    '(2 font-lock-constant-face nil t))
-      ;;
-      ;; Erroneous structures.
-      '("(\\(abort\\|assert\\|warn\\|check-type\\|cerror\\|error\\|signal\\)\\>" 1 font-lock-warning-face)
-      ;;
-      ;; Words inside \\[] tend to be for `substitute-command-keys'.
-      '("\\\\\\\\\\[\\(\\sw+\\)]" 1 font-lock-constant-face prepend)
-      ;;
-      ;; Words inside `' tend to be symbol names.
-      '("`\\(\\sw\\sw+\\)'" 1 font-lock-constant-face prepend)
-      ;;
-      ;; Constant values.
-      '("\\<:\\sw+\\>" 0 font-lock-builtin-face)
-      ;;
-      ;; ELisp and CLisp `&' keywords as types.
-      '("\\&\\sw+\\>" . font-lock-type-face)
-      ;;
+     `(;; Control structures.  Emacs Lisp forms.
+       (,(concat
+	  "(" (regexp-opt
+	       '("cond" "if" "while" "let" "let*"
+		 "prog" "progn" "progv" "prog1" "prog2" "prog*"
+		 "inline" "lambda" "save-restriction" "save-excursion"
+		 "save-window-excursion" "save-selected-window"
+		 "save-match-data" "save-current-buffer" "unwind-protect"
+		 "condition-case" "track-mouse"
+		 "eval-after-load" "eval-and-compile" "eval-when-compile"
+		 "eval-when"
+		 "with-category-table"
+		 "with-current-buffer" "with-electric-help"
+		 "with-local-quit" "with-no-warnings"
+		 "with-output-to-string" "with-output-to-temp-buffer"
+		 "with-selected-window" "with-selected-frame" "with-syntax-table"
+		 "with-temp-buffer" "with-temp-file" "with-temp-message"
+		 "with-timeout" "with-timeout-handler") t)
+	  "\\>")
+	  .  1)
+       ;; Control structures.  Common Lisp forms.
+       (,(concat
+	  "(" (regexp-opt
+	       '("when" "unless" "case" "ecase" "typecase" "etypecase"
+		 "ccase" "ctypecase" "handler-case" "handler-bind"
+		 "restart-bind" "restart-case" "in-package"
+		 "break" "ignore-errors"
+		 "loop" "do" "do*" "dotimes" "dolist" "the" "locally"
+		 "proclaim" "declaim" "declare" "symbol-macrolet"
+		 "lexical-let" "lexical-let*" "flet" "labels" "compiler-let"
+		 "destructuring-bind" "macrolet" "tagbody" "block" "go"
+		 "multiple-value-bind" "multiple-value-prog1"
+		 "return" "return-from"
+		 "with-accessors" "with-compilation-unit"
+		 "with-condition-restarts" "with-hash-table-iterator"
+		 "with-input-from-string" "with-open-file"
+		 "with-open-stream" "with-output-to-string"
+		 "with-package-iterator" "with-simple-restart"
+		 "with-slots" "with-standard-io-syntax") t)
+	  "\\>")
+	  . 1)
+       ;; Exit/Feature symbols as constants.
+       (,(concat "(\\(catch\\|throw\\|featurep\\|provide\\|require\\)\\>"
+		 "[ \t']*\\(\\sw+\\)?")
+	(1 font-lock-keyword-face)
+	(2 font-lock-constant-face nil t))
+       ;; Erroneous structures.
+       ("(\\(abort\\|assert\\|warn\\|check-type\\|cerror\\|error\\|signal\\)\\>" 1 font-lock-warning-face)
+       ;; Words inside \\[] tend to be for `substitute-command-keys'.
+       ("\\\\\\\\\\[\\(\\sw+\\)]" 1 font-lock-constant-face prepend)
+       ;; Words inside `' tend to be symbol names.
+       ("`\\(\\sw\\sw+\\)'" 1 font-lock-constant-face prepend)
+       ;; Constant values.
+       ("\\<:\\sw+\\>" 0 font-lock-builtin-face)
+       ;; ELisp and CLisp `&' keywords as types.
+       ("\\&\\sw+\\>" . font-lock-type-face)
+       ;; Make regexp grouping constructs bold, so they stand out, but only in strings.
+       ((lambda (bound)
+	  (if (re-search-forward "\\([\\][\\]\\)\\([(|)]\\)\\(\\?:\\)?" bound)
+	       (let ((face (get-text-property (1- (point)) 'face)))
+		 (if (listp face)
+		     (memq 'font-lock-string-face face)
+		   (eq 'font-lock-string-face face)))))
+	(1 font-lock-comment-face prepend) ; Should we introduce a lowlight face for this?
+					; Ideally that would retain the color, dimmed 50%.
+	(2 'bold prepend)
+	(3 font-lock-type-face prepend t))
+       ;; Underline innermost grouping, so that you can more easily see what belongs together.
+       ;; 2005-05-12: Font-lock can go into an unbreakable endless loop on this -- something's broken.
+       ;;("[\\][\\][(]\\(?:\\?:\\)?\\(\\(?:[^\\\"]+\\|[\\]\\(?:[^\\]\\|[\\][^(]\\)\\)+?\\)[\\][\\][)]"
+	 ;;1 'underline prepend)
 ;;;  This is too general -- rms.
 ;;;  A user complained that he has functions whose names start with `do'
 ;;;  and that they get the wrong color.
 ;;;      ;; CL `with-' and `do-' constructs
-;;;      '("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face)
+;;;      ("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face)
       )))
   "Gaudy level highlighting for Lisp modes.")
 
--- a/lisp/forms.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/forms.el	Fri May 20 17:44:36 2005 +0000
@@ -63,7 +63,7 @@
 ;; Automatic mode switching is supported if you specify
 ;; "-*- forms -*-" in the first line of the control file.
 ;;
-;; The control file is visited, evaluated using `eval-current-buffer',
+;; The control file is visited, evaluated using `eval-buffer',
 ;; and should set at least the following variables:
 ;;
 ;;	forms-file				[string]
@@ -519,7 +519,7 @@
 		(yes-or-no-p
 		 (concat "Evaluate lisp code in buffer "
 			 (buffer-name) " to display forms ")))
-	    (eval-current-buffer)
+	    (eval-buffer)
 	  (error "`enable-local-eval' inhibits buffer evaluation"))
 
 	;; Check if the mandatory variables make sense.
--- a/lisp/frame.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/frame.el	Fri May 20 17:44:36 2005 +0000
@@ -1278,7 +1278,7 @@
 This is done in the face `trailing-whitespace'."
   :tag "Highlight trailing whitespace."
   :type 'boolean
-  :group 'font-lock)
+  :group 'whitespace-faces)
 
 
 
--- a/lisp/generic-x.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/generic-x.el	Fri May 20 17:44:36 2005 +0000
@@ -492,7 +492,7 @@
 	"MD"	    "md"	 "Md"
 	"PATH"	    "path"	 "Path"
 	"PAUSE"	    "pause"	 "Pause"
-	"PROMPT"	    "prompt"	 "Prompt"
+	"PROMPT"    "prompt"	 "Prompt"
 	"RD"	    "rd"	 "Rd"
 	"REN"	    "ren"	 "Ren"
 	"SET"	    "set"	 "Set"
--- a/lisp/gnus/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,17 @@
+2005-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-art.el: Don't autoload mail-extract-address-components.
+
+	* gnus.el: Use eval-and-compile to autoload message-y-or-n-p.
+
+	* nndb.el: Don't declare the nndb back end two or more times; don't
+	autoload news-reply-mode, news-setup, cancel-timer and telnet.
+
+	* nntp.el: Autoload format-spec instead of format; use
+	eval-and-compile to evaluate autoload forms.
+
+	* spam-report.el (spam-report-process-queue): Use gnus-point-at-eol.
+
 2005-04-28  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus-art.el (article-date-ut): Support converting date in
@@ -345,9 +359,6 @@
 
 	* gnus-async.el: Ditto.
 
-	* dgnushack.el: No need to ignore `run-with-idle-timer', XEmacs
-	has this function now.
-
 2005-03-16  Lute Kamstra  <lute@gnu.org>
 
 	* message.el (message-make-date): Require parse-time.
--- a/lisp/gnus/gnus-art.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Fri May 20 17:44:36 2005 +0000
@@ -481,9 +481,6 @@
   :link '(custom-manual "(gnus)Article Date")
   :group 'gnus-article-washing)
 
-(eval-and-compile
-  (autoload 'mail-extract-address-components "mail-extr"))
-
 (defcustom gnus-save-all-headers t
   "*If non-nil, don't remove any headers before saving."
   :group 'gnus-article-saving
--- a/lisp/gnus/gnus.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/gnus.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,7 @@
 ;;; gnus.el --- a newsreader for GNU Emacs
 
 ;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997,
-;; 1998, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+;; 1998, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;	Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -34,7 +34,6 @@
 (require 'wid-edit)
 (require 'mm-util)
 (require 'nnheader)
-(autoload 'message-y-or-n-p "message" nil nil 'macro)
 
 (defgroup gnus nil
   "The coffee-brewing, all singing, all dancing, kitchen sink newsreader."
@@ -3925,6 +3924,9 @@
       (setq valids (cdr valids)))
     outs))
 
+(eval-and-compile
+  (autoload 'message-y-or-n-p "message" nil nil 'macro))
+
 (defun gnus-read-group (prompt &optional default)
   "Prompt the user for a group name.
 Disallow invalid group names."
--- a/lisp/gnus/nndb.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/nndb.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,7 @@
 ;;; nndb.el --- nndb access for Gnus
 
-;; Copyright (C) 1997, 1998, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 2000, 2003, 2004, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;         Kai Grossjohann <grossjohann@ls6.informatik.uni-dortmund.de>
@@ -50,7 +51,9 @@
 ;;-
 ;; Register nndb with known select methods.
 
-(gnus-declare-backend "nndb" 'mail 'respool 'address 'prompt-address)
+(require 'gnus-start)
+(unless (assoc "nndb" gnus-valid-select-methods)
+  (gnus-declare-backend "nndb" 'mail 'respool 'address 'prompt-address))
 
 ;;; Code:
 
@@ -59,14 +62,6 @@
 (require 'nntp)
 (eval-when-compile (require 'cl))
 
-(eval-and-compile
-  (autoload 'news-setup "rnewspost")
-  (autoload 'news-reply-mode "rnewspost")
-  (autoload 'cancel-timer "timer")
-  (autoload 'telnet "telnet" nil t)
-  (autoload 'telnet-send-input "telnet" nil t)
-  (autoload 'gnus-declare-backend "gnus-start"))
-
 ;; Declare nndb as derived from nntp
 
 (nnoo-declare nndb nntp)
--- a/lisp/gnus/nntp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/nntp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,8 @@
 ;;; nntp.el --- nntp access for Gnus
 
 ;; Copyright (C) 1987, 1988, 1989, 1990, 1992, 1993, 1994, 1995, 1996,
-;; 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+;; 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -1147,9 +1148,10 @@
 (defun nntp-open-network-stream (buffer)
   (open-network-stream "nntpd" buffer nntp-address nntp-port-number))
 
-(autoload 'format-spec "format")
-(autoload 'format-spec-make "format")
-(autoload 'open-tls-stream "tls")
+(eval-and-compile
+  (autoload 'format-spec "format-spec")
+  (autoload 'format-spec-make "format-spec")
+  (autoload 'open-tls-stream "tls"))
 
 (defun nntp-open-ssl-stream (buffer)
   (let* ((process-connection-type nil)
--- a/lisp/gnus/spam-report.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/gnus/spam-report.el	Fri May 20 17:44:36 2005 +0000
@@ -159,7 +159,7 @@
     (goto-char (point-min))
     (while (and (not (eobp))
 		(re-search-forward
-		 "http://\\([^/]+\\)\\(/.*\\) *$" (point-at-eol) t))
+		 "http://\\([^/]+\\)\\(/.*\\) *$" (gnus-point-at-eol) t))
       (funcall spam-report-url-ping-function (match-string 1) (match-string 2))
       (forward-line 1))
     (if (or (eq keep nil)
--- a/lisp/help-fns.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/help-fns.el	Fri May 20 17:44:36 2005 +0000
@@ -542,7 +542,9 @@
 		(terpri)
 		(let ((from (point)))
 		  (pp val)
-		  (help-xref-on-pp from (point))
+		  ;; Hyperlinks in variable's value are quite frequently
+		  ;; inappropriate e.g C-h v <RET> features <RET>
+		  ;; (help-xref-on-pp from (point))
 		  (if (< (point) (+ from 20))
 		      (delete-region (1- from) from)))))
 	    (terpri)
@@ -565,7 +567,8 @@
 		    ;; sensible size before prettyprinting.  -- fx
 		    (let ((from (point)))
 		      (pp val)
-		      (help-xref-on-pp from (point))
+		      ;; See previous comment for this function.
+		      ;; (help-xref-on-pp from (point))
 		      (if (< (point) (+ from 20))
 			(delete-region (1- from) from))))))
 	      (terpri))
--- a/lisp/hexl.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/hexl.el	Fri May 20 17:44:36 2005 +0000
@@ -874,7 +874,7 @@
 (defun hexl-insert-decimal-char (arg)
   "Insert a character given by its decimal code ARG times at point."
   (interactive "p")
-  (let ((num (string-to-int (read-string "Decimal Number: "))))
+  (let ((num (string-to-number (read-string "Decimal Number: "))))
     (if (< num 0)
 	(error "Decimal number out of range")
       (hexl-insert-multibyte-char num arg))))
--- a/lisp/ido.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/ido.el	Fri May 20 17:44:36 2005 +0000
@@ -2267,31 +2267,41 @@
 
 (defun ido-magic-forward-char ()
   "Move forward in user input or perform magic action.
-If no user input is present, perform magic actions:
-C-x C-f C-f  fallback to non-ido find-file.
-C-x C-d C-f  fallback to non-ido brief dired.
-C-x d C-f    fallback to non-ido dired."
+If no user input is present or at end of input, perform magic actions:
+C-x C-b ... C-f  switch to ido-find-file.
+C-x C-f ... C-f  fallback to non-ido find-file.
+C-x C-d ... C-f  fallback to non-ido brief dired.
+C-x d ... C-f    fallback to non-ido dired."
   (interactive)
   (cond
    ((not (eobp))
     (forward-char 1))
-   ((and (= (length ido-text) 0)
-	 (memq ido-cur-item '(file dir)))
-    (ido-fallback-command))))
+   ((memq ido-cur-item '(file dir))
+    (ido-fallback-command))
+   (ido-context-switch-command
+    (call-interactively ido-context-switch-command))
+   ((eq ido-cur-item 'buffer)
+    (ido-enter-find-file))))
 
 ;;; Magic C-b
 
 (defun ido-magic-backward-char ()
   "Move backward in user input or perform magic action.
-If no user input is present, perform magic actions:
+If no user input is present, or at start of input, perform magic actions:
+C-x C-f C-b  switch to ido-switch-buffer.
+C-x C-d C-b  switch to ido-switch-buffer.
+C-x d C-b    switch to ido-switch-buffer.
 C-x C-b C-b  fallback to non-ido switch-to-buffer."
   (interactive)
   (cond
-   ((> (length ido-text) 0)
-    (if (> (point) (minibuffer-prompt-end))
-	(forward-char -1)))
+   ((> (point) (minibuffer-prompt-end))
+    (forward-char -1))
    ((eq ido-cur-item 'buffer)
-    (ido-fallback-command))))
+    (ido-fallback-command))
+   (ido-context-switch-command
+    (call-interactively ido-context-switch-command))
+   (t
+    (ido-enter-switch-buffer))))
 
 ;;; Magic C-d
 
--- a/lisp/imenu.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/imenu.el	Fri May 20 17:44:36 2005 +0000
@@ -119,7 +119,8 @@
 If `on-mouse' use a popup menu when `imenu' was invoked with the mouse."
   :type '(choice (const :tag "On Mouse" on-mouse)
 		 (const :tag "Never" nil)
-		 (other :tag "Always" t)))
+		 (other :tag "Always" t))
+  :group 'imenu)
 
 (defcustom imenu-eager-completion-buffer
   (not (eq imenu-always-use-completion-buffer-p 'never))
--- a/lisp/international/fontset.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/international/fontset.el	Fri May 20 17:44:36 2005 +0000
@@ -492,7 +492,7 @@
 	      name)
 	  (if (not (string= "fontset" charset))
 	      fontset
-	    (if (> (string-to-int size) 0)
+	    (if (> (string-to-number size) 0)
 		(setq name (format "%s: %s-dot" nickname size))
 	      (setq name nickname))
 	    (cond ((string-match "^medium$" weight)
--- a/lisp/jit-lock.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/jit-lock.el	Fri May 20 17:44:36 2005 +0000
@@ -137,8 +137,9 @@
 
 (defcustom jit-lock-context-time 0.5
   "Idle time after which text is contextually refontified, if applicable."
-  :type '(number :tag "seconds"))
-  
+  :type '(number :tag "seconds")
+  :group 'jit-lock)
+
 (defcustom jit-lock-defer-time nil ;; 0.25
   "Idle time after which deferred fontification should take place.
 If nil, fontification is not deferred."
--- a/lisp/mail/feedmail.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mail/feedmail.el	Fri May 20 17:44:36 2005 +0000
@@ -1835,7 +1835,7 @@
 	      (setq blobbet (file-name-nondirectory blobby))
 	      (if (string-match "^[0-9][0-9][0-9]-" blobbet)
 		  (let ((water-mark))
-		    (setq water-mark (string-to-int (substring blobbet 0 3)))
+		    (setq water-mark (string-to-number (substring blobbet 0 3)))
 		    (if (> water-mark high-water) (setq high-water water-mark))))
 	      (setq q-cnt (1+ q-cnt)))
 	     (t (setq q-oth (1+ q-oth)))
--- a/lisp/mail/mailalias.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mail/mailalias.el	Fri May 20 17:44:36 2005 +0000
@@ -449,7 +449,7 @@
 	      (add-to-list 'mail-local-names
 			   (cons (match-string 1)
 				 (user-full-name
-				  (string-to-int (match-string 2))))))
+				  (string-to-number (match-string 2))))))
 	  (beginning-of-line 2))
 	(kill-buffer (current-buffer))))
   (if (or (eq mail-names t)
--- a/lisp/mail/rmail.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mail/rmail.el	Fri May 20 17:44:36 2005 +0000
@@ -1990,7 +1990,7 @@
 					      header-end t)
 			      (let ((beg (point))
 				    (eol (progn (end-of-line) (point))))
-				(string-to-int (buffer-substring beg eol)))))))
+				(string-to-number (buffer-substring beg eol)))))))
 		 (and size
 		      (if (and (natnump size)
 			       (<= (+ header-end size) (point-max))
--- a/lisp/mail/rmailsum.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mail/rmailsum.el	Fri May 20 17:44:36 2005 +0000
@@ -375,17 +375,17 @@
 	      (cond ((re-search-forward "\\([^0-9:]\\)\\([0-3]?[0-9]\\)\\([- \t_]+\\)\\([adfjmnos][aceopu][bcglnprtvy]\\)"
 		      (save-excursion (end-of-line) (point)) t)
 		     (format "%2d-%3s"
-			     (string-to-int (buffer-substring
-					     (match-beginning 2)
-					     (match-end 2)))
+			     (string-to-number (buffer-substring
+                                                (match-beginning 2)
+                                                (match-end 2)))
 			     (buffer-substring
 			      (match-beginning 4) (match-end 4))))
 		    ((re-search-forward "\\([^a-z]\\)\\([adfjmnos][acepou][bcglnprtvy]\\)\\([-a-z \t_]*\\)\\([0-9][0-9]?\\)"
 		      (save-excursion (end-of-line) (point)) t)
 		     (format "%2d-%3s"
-			     (string-to-int (buffer-substring
-					     (match-beginning 4)
-					     (match-end 4)))
+			     (string-to-number (buffer-substring
+                                                (match-beginning 4)
+                                                (match-end 4)))
 			     (buffer-substring
 			      (match-beginning 2) (match-end 2))))
 		    ((re-search-forward "\\(19\\|20\\)\\([0-9][0-9]\\)-\\([01][0-9]\\)-\\([0-3][0-9]\\)"
@@ -580,7 +580,7 @@
 	    ;; Advance thru summary.
 	    (forward-line (if forward 1 -1))
 	    ;; Get msg number of this line.
-	    (setq i (string-to-int
+	    (setq i (string-to-number
 		     (buffer-substring (point)
 				       (min (point-max) (+ 6 (point))))))
 	    ;; See if that msg has desired subject.
@@ -791,10 +791,10 @@
 	  (forward-line -1))
       (beginning-of-line)
       (skip-chars-forward " ")
-      (let ((msg-num (string-to-int (buffer-substring
-				     (point)
-				     (progn (skip-chars-forward "0-9")
-					    (point))))))
+      (let ((msg-num (string-to-number (buffer-substring
+                                        (point)
+                                        (progn (skip-chars-forward "0-9")
+                                               (point))))))
 	;; Always leave `unseen' removed
 	;; if we get out of isearch mode.
 	;; Don't let a subsequent isearch restore that `unseen'.
@@ -1061,7 +1061,7 @@
 	 (buf rmail-buffer)
 	 (cur (point))
 	 message-not-found
-	 (curmsg (string-to-int
+	 (curmsg (string-to-number
 		  (buffer-substring (point)
 				    (min (point-max) (+ 6 (point))))))
 	 (total (save-excursion (set-buffer buf) rmail-total-messages)))
--- a/lisp/mail/smtpmail.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mail/smtpmail.el	Fri May 20 17:44:36 2005 +0000
@@ -822,7 +822,7 @@
 		  nil
 		(setq response-continue nil)
 		(setq return-value
-		      (cons (string-to-int
+		      (cons (string-to-number
 			     (buffer-substring begin end))
 			    (nreverse response-strings)))))
 
--- a/lisp/mh-e/mh-acros.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-acros.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-acros.el --- Macros used in MH-E
 
-;; Copyright (C) 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-alias.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-alias.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,6 @@
 ;;; mh-alias.el --- MH-E mail alias completion and expansion
 ;;
-;; Copyright (C) 1994, 95, 96, 1997,
-;;  2001, 02, 03, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-comp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-comp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,6 @@
 ;;; mh-comp.el --- MH-E functions for composing messages
 
-;; Copyright (C) 1993, 95, 1997,
-;;  2000, 01, 02, 03, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 95, 1997, 2000, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-customize.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-customize.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-customize.el --- MH-E customization
 
-;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-e.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-e.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,7 @@
 ;;; mh-e.el --- GNU Emacs interface to the MH mail system
 
 ;; Copyright (C) 1985, 86, 87, 88, 90, 92, 93, 94, 95, 97, 1999,
-;;  2000, 01, 02, 03, 2004, 2005 Free Software Foundation, Inc.
+;;  2000, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-funcs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-funcs.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-funcs.el --- MH-E functions not everyone will use right away
 
-;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-gnus.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-gnus.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-gnus.el --- Make MH-E compatible with installed version of Gnus.
 
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-identity.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-identity.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-identity.el --- Multiple identify support for MH-E.
 
-;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-inc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-inc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-inc.el --- MH-E `inc' and separate mail spool handling
 ;;
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-index.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-index.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-index  --  MH-E interface to indexing programs
 
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-init.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-init.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-init.el --- MH-E initialization.
 
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Peter S. Galbraith <psg@debian.org>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-junk.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-junk.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-junk.el --- Interface to anti-spam measures
 
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>,
 ;;         Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-loaddefs.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-loaddefs.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-loaddefs.el --- automatically extracted autoloads
 ;;
-;;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;;; Copyright (C) 2005 Free Software Foundation, Inc.
 ;;; Author: Bill Wohler <wohler@newt.com>
 ;;; Keywords: mail
 ;;; Commentary:
--- a/lisp/mh-e/mh-mime.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-mime.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,6 @@
 ;;; mh-mime.el --- MH-E support for composing MIME messages
 
-;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004, 2005
-;;  Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-pick.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-pick.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-pick.el --- make a search pattern and search for a message in MH-E
 
-;; Copyright (C) 1993, 1995, 2001, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-print.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-print.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-print.el --- MH-E printing support
 
-;; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Jeffrey C Honig <jch@honig.net>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-seq.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-seq.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-seq.el --- MH-E sequences support
 
-;; Copyright (C) 1993, 1995, 2001, 02, 03, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 1995, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-speed.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-speed.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; mh-speed.el --- Speedbar interface for MH-E.
 
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2005 Free Software Foundation, Inc.
 
 ;; Author: Satyaki Das <satyaki@theforce.stanford.edu>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/mh-e/mh-utils.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/mh-e/mh-utils.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,6 @@
 ;;; mh-utils.el --- MH-E code needed for both sending and reading
 
-;; Copyright (C) 1993, 95, 1997,
-;;  2000, 01, 02, 03, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1993, 95, 1997, 2000, 01, 2005 Free Software Foundation, Inc.
 
 ;; Author: Bill Wohler <wohler@newt.com>
 ;; Maintainer: Bill Wohler <wohler@newt.com>
--- a/lisp/net/ange-ftp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/ange-ftp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; ange-ftp.el --- transparent FTP support for GNU Emacs
 
-;; Copyright (C) 1989,90,91,92,93,94,95,96,98, 2000, 2001
+;; Copyright (C) 1989,90,91,92,93,94,95,96,98, 2000, 2001, 2005
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Andy Norman (ange@hplb.hpl.hp.com)
@@ -1646,7 +1646,7 @@
 		    ;; if we gave an empty password to the USER command earlier
 		    ;; then we should send a null password now.
 		    (if (string-match "Password: *$" ange-ftp-process-string)
-			(send-string proc "\n"))))
+			(process-send-string proc "\n"))))
 	      (while (and ange-ftp-process-busy
 			  (string-match "\n" ange-ftp-process-string))
 		(let ((line (substring ange-ftp-process-string
@@ -1741,18 +1741,18 @@
     ;; Replace STR by the result of the comint processing.
     (setq str (buffer-substring comint-last-output-start (process-mark proc))))
   (cond ((string-match "login: *$" str)
-	 (send-string proc
-		      (concat
-		       (let ((ange-ftp-default-user t))
-			 (ange-ftp-get-user ange-ftp-gateway-host))
-		       "\n")))
+	 (process-send-string proc
+                              (concat
+                               (let ((ange-ftp-default-user t))
+                                 (ange-ftp-get-user ange-ftp-gateway-host))
+                               "\n")))
 	((string-match "Password: *$" str)
-	 (send-string proc
-		      (concat
-		       (ange-ftp-get-passwd ange-ftp-gateway-host
-					    (ange-ftp-get-user
-					     ange-ftp-gateway-host))
-		       "\n")))
+	 (process-send-string proc
+                              (concat
+                               (ange-ftp-get-passwd ange-ftp-gateway-host
+                                                    (ange-ftp-get-user
+                                                     ange-ftp-gateway-host))
+                               "\n")))
 	((string-match ange-ftp-gateway-fatal-msgs str)
 	 (delete-process proc)
 	 (setq ange-ftp-gwp-running nil))
@@ -1835,7 +1835,7 @@
 	      (insert (substring cmd 0 (match-end 0)) " Turtle Power!\n")
 	    (insert cmd)))
 	(move-marker comint-last-input-end (point))
-	(send-string proc cmd)
+	(process-send-string proc cmd)
 	(set-marker (process-mark proc) (point))
 	(if nowait
 	    nil
@@ -2109,7 +2109,7 @@
 	       (line (cdr status)))
 	  (save-match-data
 	    (if (string-match ange-ftp-hash-mark-msgs line)
-		(let ((size (string-to-int (match-string 1 line))))
+		(let ((size (string-to-number (match-string 1 line))))
 		  (setq ange-ftp-ascii-hash-mark-size size
 			ange-ftp-hash-mark-unit (ash size -4))
 
@@ -5082,7 +5082,7 @@
 		     (and (string-match regexp name)
 			  (setq version
 				(max version
-				     (string-to-int (match-string 1 name))))))
+				     (string-to-number (match-string 1 name))))))
 		   files)
 		  (setq version (1+ version))
 		  (puthash
--- a/lisp/net/browse-url.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/browse-url.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; browse-url.el --- pass a URL to a WWW browser
 
-;; Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001, 2004, 2005
+;; Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001, 2005
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Denis Howe <dbh@doc.ic.ac.uk>
--- a/lisp/net/eudc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/eudc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; eudc.el --- Emacs Unified Directory Client
 
-;; Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: Pavel Janík <Pavel@Janik.cz>
--- a/lisp/net/ldap.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/ldap.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; ldap.el --- client interface to LDAP for Emacs
 
-;; Copyright (C) 1998, 1999, 2000, 2002, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2002, 2005  Free Software Foundation, Inc.
 
 ;; Author: Oscar Figueiredo <oscar@cpe.fr>
 ;; Maintainer: FSF
--- a/lisp/net/net-utils.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/net-utils.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; net-utils.el --- network functions
 
-;; Copyright (C) 1998, 1999, 2000, 2001  Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2005  Free Software Foundation, Inc.
 
 ;; Author:  Peter Breton <pbreton@cs.umb.edu>
 ;; Created: Sun Mar 16 1997
--- a/lisp/net/quickurl.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/quickurl.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; quickurl.el --- insert an URL based on text at point in buffer
 
-;; Copyright (C) 1999,2000,2001 Free Software Foundation, Inc.
+;; Copyright (C) 1999,2000,2001,2005 Free Software Foundation, Inc.
 
 ;; Author: Dave Pearson <davep@davep.org>
 ;; Maintainer: Dave Pearson <davep@davep.org>
--- a/lisp/net/rlogin.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/rlogin.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; rlogin.el --- remote login interface
 
-;; Copyright (C) 1992, 93, 94, 95, 97, 1998, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 93, 94, 95, 97, 1998, 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman
 ;; Maintainer: Noah Friedman <friedman@splode.com>
--- a/lisp/net/snmp-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/snmp-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; snmp-mode.el --- SNMP & SNMPv2 MIB major mode
 
-;; Copyright (C) 1995, 1998, 2002  Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 2002, 2005  Free Software Foundation, Inc.
 
 ;; Author: Paul D. Smith <psmith@BayNetworks.com>
 ;; Keywords: data
--- a/lisp/net/telnet.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/telnet.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; telnet.el --- run a telnet session from within an Emacs buffer
 
-;; Copyright (C) 1985, 88, 1992, 94, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 1985, 88, 1992, 94, 2005  Free Software Foundation, Inc.
 
 ;; Author: William F. Schelter
 ;; Maintainer: FSF
@@ -91,19 +91,19 @@
 (defun telnet-interrupt-subjob ()
   "Interrupt the program running through telnet on the remote host."
   (interactive)
-  (send-string nil telnet-interrupt-string))
+  (process-send-string nil telnet-interrupt-string))
 
 (defun telnet-c-z ()
   (interactive)
-  (send-string nil "\C-z"))
+  (process-send-string nil "\C-z"))
 
 (defun send-process-next-char ()
   (interactive)
-  (send-string nil
-	       (char-to-string
-		(let ((inhibit-quit t))
-		  (prog1 (read-char)
-		    (setq quit-flag nil))))))
+  (process-send-string nil
+                       (char-to-string
+                        (let ((inhibit-quit t))
+                          (prog1 (read-char)
+                            (setq quit-flag nil))))))
 
 ; initialization on first load.
 (if telnet-mode-map
@@ -141,8 +141,8 @@
 	    ((string-match "passw" string)
 	     (telnet-filter proc string)
 	     (setq telnet-count 0)
-	     (send-string proc (concat (comint-read-noecho "Password: " t)
-				       telnet-new-line))
+	     (process-send-string proc (concat (comint-read-noecho "Password: " t)
+                                               telnet-new-line))
 	     (clear-this-command-keys))
 	    (t (telnet-check-software-type-initialize string)
 	       (telnet-filter proc string)
@@ -231,9 +231,9 @@
       ;; Don't send the `open' cmd till telnet is ready for it.
       (accept-process-output process)
       (erase-buffer)
-      (send-string process (concat "open " host
-				   (if port " " "") (or port "")
-				   "\n"))
+      (process-send-string process (concat "open " host
+                                           (if port " " "") (or port "")
+                                           "\n"))
       (telnet-mode)
       (setq comint-input-sender 'telnet-simple-send)
       (setq telnet-count telnet-initial-count))))
--- a/lisp/net/tls.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tls.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS
 
-;; Copyright (C) 1996-1999, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1996-1999, 2003, 2005 Free Software Foundation, Inc.
 
 ;; Author: Simon Josefsson <simon@josefsson.org>
 ;; Keywords: comm, tls, gnutls, ssl
--- a/lisp/net/tramp-ftp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp-ftp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-ftp.el --- Tramp convenience functions for Ange-FTP and EFS -*- coding: iso-8859-1; -*-
 
-;; Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <Michael.Albinus@alcatel.de>
 ;; Keywords: comm, processes
--- a/lisp/net/tramp-smb.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp-smb.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-smb.el --- Tramp access functions for SMB servers -*- coding: iso-8859-1; -*-
 
-;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, processes
@@ -954,7 +954,7 @@
       (when port   (setq args (append args (list "-p" port))))
 
       ; OK, let's go
-      (tramp-pre-connection nil tramp-smb-method user host)
+      (tramp-pre-connection nil tramp-smb-method user host tramp-chunksize)
       (tramp-message 7 "Opening connection for //%s@%s/%s..."
 		     user host (or share ""))
 
--- a/lisp/net/tramp-util.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp-util.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- coding: iso-2022-7bit; -*-
 ;;; tramp-util.el --- Misc utility functions to use with Tramp
 
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: kai.grossjohann@gmx.net
 ;; Keywords: comm, extensions, processes
--- a/lisp/net/tramp-uu.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp-uu.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- coding: iso-2022-7bit; -*-
 ;;; tramp-uu.el --- uuencode in Lisp
 
-;; Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2005  Free Software Foundation, Inc.
 
 ;; Author: Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
 ;; Keywords: comm, terminals
--- a/lisp/net/tramp-vc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp-vc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tramp-vc.el --- Version control integration for TRAMP.el
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 by Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2005 by Free Software Foundation, Inc.
 
 ;; Author: Daniel Pittman <daniel@danann.net>
 ;; Keywords: comm, processes
--- a/lisp/net/tramp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/tramp.el	Fri May 20 17:44:36 2005 +0000
@@ -1,7 +1,7 @@
 ;;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit; -*-
 ;;; tramp.el --- Transparent Remote Access, Multiple Protocol
 
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
 
 ;; Author: kai.grossjohann@gmx.net
 ;; Keywords: comm, processes
--- a/lisp/net/trampver.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/trampver.el	Fri May 20 17:44:36 2005 +0000
@@ -2,7 +2,7 @@
 ;;; trampver.el --- Transparent Remote Access, Multiple Protocol
 ;;; lisp/trampver.el.  Generated from trampver.el.in by configure.
 
-;; Copyright (C) 2003 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2005 Free Software Foundation, Inc.
 
 ;; Author: Kai.Grossjohann@CS.Uni-Dortmund.DE 
 ;; Keywords: comm, processes
--- a/lisp/net/webjump.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/webjump.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; webjump.el --- programmable Web hotlist
 
-;; Copyright (C) 1996, 1997, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
 
 ;; Author:    Neil W. Van Dyke <nwv@acm.org>
 ;; Created:   09-Aug-1996
--- a/lisp/net/zone-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/net/zone-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; zone-mode.el --- major mode for editing DNS zone files
 
-;; Copyright (C) 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 2005 Free Software Foundation, Inc.
 
 ;; Author: John Heidemann <johnh@isi.edu>
 ;; Keywords: DNS, languages
--- a/lisp/newcomment.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/newcomment.el	Fri May 20 17:44:36 2005 +0000
@@ -90,7 +90,8 @@
 
 (defcustom comment-fill-column nil
   "Column to use for `comment-indent'.  If nil, use `fill-column' instead."
-  :type '(choice (const nil) integer))
+  :type '(choice (const nil) integer)
+  :group 'comment)
 
 ;;;###autoload
 (defcustom comment-column 32
@@ -99,7 +100,8 @@
 can set the value for a particular mode using that mode's hook.
 Comments might be indented to a value smaller than this in order
 not to go beyond `comment-fill-column'."
-  :type 'integer)
+  :type 'integer
+  :group 'comment)
 (make-variable-buffer-local 'comment-column)
 
 ;;;###autoload
@@ -201,7 +203,8 @@
 See `comment-styles' for a list of available styles."
   :type (if (boundp 'comment-styles)
 	    `(choice ,@(mapcar (lambda (s) `(const ,(car s))) comment-styles))
-	  'symbol))
+	  'symbol)
+  :group 'comment)
 
 ;;;###autoload
 (defcustom comment-padding " "
@@ -211,7 +214,8 @@
 
 Extra spacing between the comment characters and the comment text
 makes the comment easier to read.  Default is 1.  nil means 0."
-  :type '(choice string integer (const nil)))
+  :type '(choice string integer (const nil))
+  :group 'comment)
 
 ;;;###autoload
 (defcustom comment-multi-line nil
@@ -222,7 +226,8 @@
 
 It also affects \\[indent-new-comment-line].  However, if you want this
 behavior for explicit filling, you might as well use \\[newline-and-indent]."
-  :type 'boolean)
+  :type 'boolean
+  :group 'comment)
 
 (defcustom comment-empty-lines nil
   "If nil, `comment-region' does not comment out empty lines.
@@ -231,7 +236,8 @@
 terminated by the end of line (i.e. `comment-end' is empty)."
   :type '(choice (const :tag "Never" nil)
 	  (const :tag "Always" t)
-	  (const :tag "EOl-terminated" 'eol)))
+	  (const :tag "EOl-terminated" 'eol))
+  :group 'comment)
 
 ;;;;
 ;;;; Helpers
@@ -1091,7 +1097,8 @@
 (defcustom comment-auto-fill-only-comments nil
   "Non-nil means to only auto-fill inside comments.
 This has no effect in modes that do not define a comment syntax."
-  :type 'boolean)
+  :type 'boolean
+  :group 'comment)
 
 (defun comment-valid-prefix-p (prefix compos)
   (or
--- a/lisp/obsolete/rsz-mini.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/obsolete/rsz-mini.el	Fri May 20 17:44:36 2005 +0000
@@ -63,7 +63,8 @@
 
 ;;;###autoload
 (defcustom resize-minibuffer-frame-max-height nil
-  "*This variable is obsolete.")
+  "*This variable is obsolete."
+  :group 'resize-minibuffer)
 
 ;;;###autoload
 (defcustom resize-minibuffer-frame-exactly t
--- a/lisp/play/gametree.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/play/gametree.el	Fri May 20 17:44:36 2005 +0000
@@ -204,12 +204,12 @@
                             gametree-half-ply-regexp "\\)"))
           (limit (save-excursion (beginning-of-line 1) (point))))
       (if (looking-at boundary)
-          (+ (* 2 (string-to-int (match-string 1)))
+          (+ (* 2 (string-to-number (match-string 1)))
              (if (string-match gametree-half-ply-regexp (match-string 2)) 1 0))
         (save-excursion
           (re-search-backward boundary limit)
           (skip-chars-backward "0123456789")
-          (1+ (* 2 (string-to-int
+          (1+ (* 2 (string-to-number
                     (buffer-substring (point) (match-end 1))))))))))
 
 (defun gametree-current-branch-ply ()
@@ -345,7 +345,7 @@
   "Return score of current variation according to its score tag.
 When no score tag is present, use the value of `gametree-default-score'."
   (if (looking-at gametree-score-regexp)
-      (string-to-int (match-string 3))
+      (string-to-number (match-string 3))
     gametree-default-score))
 
 (defun gametree-compute-reduced-score ()
--- a/lisp/progmodes/ada-xref.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/ada-xref.el	Fri May 20 17:44:36 2005 +0000
@@ -672,7 +672,7 @@
 		    (not (integerp choice))
 		    (< choice 1)
 		    (> choice (length prj-files)))
-	      (setq choice (string-to-int
+	      (setq choice (string-to-number
 			    (read-from-minibuffer "Enter No. of your choice: "))))
 	    (set 'selected (nth (1- choice) prj-files))))
 
@@ -1800,7 +1800,7 @@
 		      (< choice 1)
 		      (> choice len))
 		(setq choice
-		      (string-to-int
+		      (string-to-number
 		       (read-from-minibuffer "Enter No. of your choice: "))))
 	      )
 	    (set-buffer ali-buffer)
@@ -1988,7 +1988,7 @@
 		   (< choice 1)
 		   (> choice (length list)))
 	  (setq choice
-		(string-to-int
+		(string-to-number
 		 (read-from-minibuffer "Enter No. of your choice: "))))
 	)
       (set 'choice (1- choice))
--- a/lisp/progmodes/antlr-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/antlr-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -785,6 +785,7 @@
   \((java-mode \. 2) (c++-mode \. 0))
 Java actions are fontified with level 2 and C++ actions are not
 fontified at all."
+  :group 'antlr
   :type '(choice (const :tag "None" none)
 		 (const :tag "Inherit" inherit)
 		 (const :tag "Default" nil)
--- a/lisp/progmodes/compile.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/compile.el	Fri May 20 17:44:36 2005 +0000
@@ -119,6 +119,10 @@
 It is called with two arguments: the compilation buffer, and a string
 describing how the process finished.")
 
+(make-obsolete-variable 'compilation-finish-function
+  "Use `compilation-finish-functions', but it works a little differently."
+  "22.1")
+
 ;;;###autoload
 (defvar compilation-finish-functions nil
   "Functions to call when a compilation process finishes.
@@ -1592,7 +1596,8 @@
 			    (beginning-of-line
 			     (- 1 compilation-context-lines))
 			    (point)))
-    (if (left-fringe-p)
+    ;; If there is no left fringe.
+    (if (equal (car (window-fringes)) 0)
 	(set-window-start w (save-excursion
 			      (goto-char mk)
 			    (beginning-of-line 1)
--- a/lisp/progmodes/cperl-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/cperl-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -120,7 +120,7 @@
 	;; Probably will not work due to some save-excursion???
 	;; Or save-file-position?
 	;; (message "Did I get to line %s?" (elt (, elt) 1))
-	`(goto-line (string-to-int (elt ,elt 1))))
+	`(goto-line (string-to-number (elt ,elt 1))))
     ;;)
     (defmacro cperl-etags-goto-tag-location (elt)
       `(etags-goto-tag-location ,elt))))
--- a/lisp/progmodes/delphi.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/delphi.el	Fri May 20 17:44:36 2005 +0000
@@ -1530,7 +1530,7 @@
     (save-selected-window
       (switch-to-buffer-other-window to-buffer)
       (goto-char (point-max))
-      (set-window-dot (get-buffer-window to-buffer) (point))
+      (set-window-point (get-buffer-window to-buffer) (point))
       (insert the-msg))))
 
 ;; Debugging helpers:
--- a/lisp/progmodes/ebrowse.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/ebrowse.el	Fri May 20 17:44:36 2005 +0000
@@ -1448,10 +1448,10 @@
 (defun ebrowse-set-tree-indentation ()
   "Set the indentation width of the tree display."
   (interactive)
-  (let ((width (string-to-int (read-from-minibuffer
-			       (concat "Indentation ("
-				       (int-to-string ebrowse--indentation)
-				       "): ")))))
+  (let ((width (string-to-number (read-from-minibuffer
+                                  (concat "Indentation ("
+                                          (int-to-string ebrowse--indentation)
+                                          "): ")))))
     (when (plusp width)
       (setf ebrowse--indentation width)
       (ebrowse-redraw-tree))))
@@ -2329,7 +2329,7 @@
   "Set the column width of the member display.
 The new width is read from the minibuffer."
   (interactive)
-  (let ((width (string-to-int
+  (let ((width (string-to-number
 		(read-from-minibuffer
 		 (concat "Column width ("
 			 (int-to-string (if ebrowse--long-display-flag
@@ -4313,7 +4313,7 @@
   "Select the nth entry in the list by the keys 1..9."
   (interactive)
   (let* ((maxlin (count-lines (point-min) (point-max)))
-	 (n (min maxlin (+ 2 (string-to-int (this-command-keys))))))
+	 (n (min maxlin (+ 2 (string-to-number (this-command-keys))))))
     (goto-line n)
     (throw 'electric-buffer-menu-select (point))))
 
--- a/lisp/progmodes/etags.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/etags.el	Fri May 20 17:44:36 2005 +0000
@@ -1283,16 +1283,16 @@
 
 
       (if (looking-at "[0-9]")
-	  (setq line (string-to-int (buffer-substring
-				     (point)
-				     (progn (skip-chars-forward "0-9")
-					    (point))))))
+	  (setq line (string-to-number (buffer-substring
+                                        (point)
+                                        (progn (skip-chars-forward "0-9")
+                                               (point))))))
       (search-forward ",")
       (if (looking-at "[0-9]")
-	  (setq startpos (string-to-int (buffer-substring
-					 (point)
-					 (progn (skip-chars-forward "0-9")
-						(point)))))))
+	  (setq startpos (string-to-number (buffer-substring
+                                            (point)
+                                            (progn (skip-chars-forward "0-9")
+                                                   (point)))))))
     ;; Leave point on the next line of the tags file.
     (forward-line 1)
     (cons tag-text (cons line startpos))))
--- a/lisp/progmodes/flymake.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/flymake.el	Fri May 20 17:44:36 2005 +0000
@@ -1004,7 +1004,7 @@
 	       (line-idx (nth 2 (car patterns))))
 
 	  (setq raw-file-name (if file-idx (match-string file-idx line) nil))
-	  (setq line-no       (if line-idx (string-to-int (match-string line-idx line)) 0))
+	  (setq line-no       (if line-idx (string-to-number (match-string line-idx line)) 0))
 	  (setq err-text      (if (> (length (car patterns)) 4)
 				  (match-string (nth 4 (car patterns)) line)
 				(flymake-patch-err-text (substring line (match-end 0)))))
--- a/lisp/progmodes/idlw-shell.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/idlw-shell.el	Fri May 20 17:44:36 2005 +0000
@@ -45,7 +45,7 @@
 ;;
 ;; INSTALLATION:
 ;; =============
-;; 
+;;
 ;; Follow the instructions in the INSTALL file of the distribution.
 ;; In short, put this file on your load path and add the following
 ;; lines to your .emacs file:
@@ -58,9 +58,9 @@
 ;;
 ;;   The newest version of this file can be found on the maintainers
 ;;   web site.
-;; 
+;;
 ;;     http://idlwave.org
-;; 
+;;
 ;; DOCUMENTATION
 ;; =============
 ;;
@@ -77,7 +77,7 @@
 ;; it is a bug in XEmacs.
 ;; The Debug menu in source buffers *does* display the bindings correctly.
 ;;
-;; 
+;;
 ;; CUSTOMIZATION VARIABLES
 ;; =======================
 ;;
@@ -101,12 +101,12 @@
   (condition-case () (require 'custom) (error nil))
   (if (and (featurep 'custom)
 	   (fboundp 'custom-declare-variable)
-	   (fboundp 'defface))	   
+	   (fboundp 'defface))
       ;; We've got what we needed
       (setq idlwave-shell-have-new-custom t)
     ;; We have the old or no custom-library, hack around it!
     (defmacro defgroup (&rest args) nil)
-    (defmacro defcustom (var value doc &rest args) 
+    (defmacro defcustom (var value doc &rest args)
       `(defvar ,var ,value ,doc))))
 
 ;;; Customizations: idlwave-shell group
@@ -118,10 +118,10 @@
   :group 'idlwave)
 
 (defcustom idlwave-shell-prompt-pattern "^ ?IDL> "
-  "*Regexp to match IDL prompt at beginning of a line. 
-For example, \"^IDL> \" or \"^WAVE> \". 
+  "*Regexp to match IDL prompt at beginning of a line.
+For example, \"^IDL> \" or \"^WAVE> \".
 The \"^\" means beginning of line, and is required.
-This variable is used to initialize `comint-prompt-regexp' in the 
+This variable is used to initialize `comint-prompt-regexp' in the
 process buffer.
 
 This is a fine thing to set in your `.emacs' file."
@@ -210,7 +210,7 @@
   :type 'boolean)
 
 (defcustom idlwave-shell-automatic-electric-debug 'breakpoint
-  "Enter the electric-debug minor mode automatically.  
+  "Enter the electric-debug minor mode automatically.
 This occurs at a breakpoint or any other halt.  The mode is exited
 upon return to the main level.  Can be set to 'breakpoint to enter
 electric debug mode only when breakpoints are tripped."
@@ -295,7 +295,7 @@
 is non-nil."
   :group 'idlwave-shell-command-setup
   :type 'file)
-  
+
 (defcustom idlwave-shell-show-commands
   '(run misc breakpoint)
   "*A list of command types to show output from in the shell.
@@ -306,12 +306,12 @@
   :type '(choice
 	  (const everything)
 	  (set :tag "Checklist" :greedy t
-	       (const :tag "All .run and .compile commands"  	   run)  
+	       (const :tag "All .run and .compile commands"  	   run)
 	       (const :tag "All breakpoint commands"         	   breakpoint)
 	       (const :tag "All debug and stepping commands" 	   debug)
 	       (const :tag "Close, window, retall, etc. commands"  misc))))
 
-(defcustom idlwave-shell-examine-alist 
+(defcustom idlwave-shell-examine-alist
   '(("Print"          	. "print,___")
     ("Help"           	. "help,___")
     ("Structure Help"  	. "help,___,/STRUCTURE")
@@ -322,14 +322,14 @@
     ("Ptr Valid"      	. "print,ptr_valid(___)")
     ("Widget Valid"     . "print,widget_info(___,/VALID)")
     ("Widget Geometry"  . "help,widget_info(___,/GEOMETRY)"))
-  "Alist of special examine commands for popup selection.  
+  "Alist of special examine commands for popup selection.
 The keys are used in the selection popup created by
 `idlwave-shell-examine-select', and the corresponding value is sent as
 a command to the shell, with special sequence `___' replaced by the
 expression being examined."
   :group 'idlwave-shell-command-setup
   :type '(repeat
-	  (cons 
+	  (cons
 	   (string :tag "Label  ")
 	   (string :tag "Command"))))
 
@@ -340,7 +340,7 @@
   "*Non-nil mean, put output of examine commands in their own buffer."
   :group 'idlwave-shell-command-setup
   :type 'boolean)
-  
+
 (defcustom idlwave-shell-comint-settings
   '((comint-scroll-to-bottom-on-input . t)
     (comint-scroll-to-bottom-on-output . t)
@@ -403,7 +403,7 @@
   answer = GET_KBRD(1)
 
 Since the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION',
-you could actually check if you are running under Emacs before printing 
+you could actually check if you are running under Emacs before printing
 the magic strings.  Here is a procedure which uses this.
 
 Usage:
@@ -420,7 +420,7 @@
       if keyword_set(on) then         print,'<chars>' $
         else if keyword_set(off) then print,'</chars>' $
         else                          print,'<onechar>'
-  endif 
+  endif
 end"
   :group 'idlwave-shell-command-setup
   :type '(list
@@ -478,10 +478,10 @@
   :group 'idlwave-shell-highlighting-and-faces
   :type 'string)
 
-(defcustom idlwave-shell-electric-stop-line-face 
+(defcustom idlwave-shell-electric-stop-line-face
   (prog1
       (copy-face 'modeline 'idlwave-shell-electric-stop-line-face)
-    (set-face-background 'idlwave-shell-electric-stop-line-face 
+    (set-face-background 'idlwave-shell-electric-stop-line-face
 			 idlwave-shell-electric-stop-color)
     (condition-case nil
 	(set-face-foreground 'idlwave-shell-electric-stop-line-face nil)
@@ -527,7 +527,7 @@
   ;; Just copy the underline face to be on the safe side.
   (copy-face 'underline 'idlwave-shell-bp-face))
 
-(defcustom idlwave-shell-disabled-breakpoint-face 
+(defcustom idlwave-shell-disabled-breakpoint-face
   'idlwave-shell-disabled-bp-face
   "*The face for disabled breakpoint lines in the source code.
 Allows you to choose the font, color and other properties for
@@ -580,18 +580,18 @@
 
 TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or
 `idlwave-shell-temp-rinfo-save-file' is set (respectively)."
-  (cond 
+  (cond
    ((eq type 'rinfo)
-    (or idlwave-shell-temp-rinfo-save-file 
-	(setq idlwave-shell-temp-rinfo-save-file 
+    (or idlwave-shell-temp-rinfo-save-file
+	(setq idlwave-shell-temp-rinfo-save-file
 	      (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix))))
    ((eq type 'pro)
     (or idlwave-shell-temp-pro-file
-	(setq idlwave-shell-temp-pro-file 
+	(setq idlwave-shell-temp-pro-file
 	      (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix))))
-   (t (error "Wrong argument (idlwave-shell-temp-file): %s" 
+   (t (error "Wrong argument (idlwave-shell-temp-file): %s"
 	     (symbol-name type)))))
-    
+
 
 (defun idlwave-shell-make-temp-file (prefix)
   "Create a temporary file."
@@ -619,7 +619,7 @@
 
 
 (defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur"
-  "Command used by `idlwave-shell-resync-dirs' to query IDL for 
+  "Command used by `idlwave-shell-resync-dirs' to query IDL for
 the directory stack.")
 
 (defvar idlwave-shell-path-query "print,'PATH:<'+transpose(expand_path(!PATH,/ARRAY))+'>' & print,'SYSDIR:<'+!dir+'>'"
@@ -627,7 +627,7 @@
   "The command which gets !PATH and !DIR info from the shell.")
 
 (defvar idlwave-shell-mode-line-info nil
-  "Additional info displayed in the mode line")  
+  "Additional info displayed in the mode line")
 
 (defvar idlwave-shell-default-directory nil
   "The default directory in the idlwave-shell buffer, of outside use.")
@@ -678,7 +678,7 @@
 	    window-system)                ; Window systems always
     (progn
       (setq idlwave-shell-stop-line-overlay (make-overlay 1 1))
-      (overlay-put idlwave-shell-stop-line-overlay 
+      (overlay-put idlwave-shell-stop-line-overlay
 		   'face idlwave-shell-stop-line-face))))
 
  (t
@@ -686,7 +686,7 @@
   (if window-system
       (progn
 	(setq idlwave-shell-stop-line-overlay (make-overlay 1 1))
-	(overlay-put idlwave-shell-stop-line-overlay 
+	(overlay-put idlwave-shell-stop-line-overlay
 		     'face idlwave-shell-stop-line-face)))))
 
 ;; Now the expression and output overlays
@@ -747,7 +747,7 @@
 
 ;;; The following are the types of messages we attempt to catch to
 ;;; resync our idea of where IDL execution currently is.
-;;; 
+;;;
 
 (defvar idlwave-shell-halt-frame nil
   "The frame associated with halt/breakpoint messages.")
@@ -791,7 +791,7 @@
 
 (defconst idlwave-shell-electric-debug-help
   "   ==> IDLWAVE Electric Debug Mode Help <==
- 
+
  Break Point Setting and Clearing:
   b   	     Set breakpoint ([C-u b] for conditional, [C-n b] nth hit, etc.).
   d   	     Clear nearby breakpoint.
@@ -817,7 +817,7 @@
  Examining Expressions (with prefix for examining the region):
   p   	     Print expression near point or in region ([C-u p]).
   ?          Help on expression near point or in region ([C-u ?]).
-  x          Examine expression near point or in region ([C-u x]) with 
+  x          Examine expression near point or in region ([C-u x]) with
              letter completion of the examine type.
 
  Miscellaneous:
@@ -871,18 +871,18 @@
    `\\[idlwave-routine-info]' displays information about an IDL routine near point,
    just like in `idlwave-mode'.  The module used is the one at point or
    the one whose argument list is being edited.
-   To update IDLWAVE's knowledge about compiled or edited modules, use 
+   To update IDLWAVE's knowledge about compiled or edited modules, use
    \\[idlwave-update-routine-info].
    \\[idlwave-find-module] find the source of a module.
    \\[idlwave-resolve] tells IDL to compile an unresolved module.
    \\[idlwave-context-help] shows the online help on the item at
    point, if online help has been installed.
-  
+
 
 4. Debugging
    ---------
    A complete set of commands for compiling and debugging IDL programs
-   is available from the menu.  Also keybindings starting with a 
+   is available from the menu.  Also keybindings starting with a
    `C-c C-d' prefix are available for most commands in the *idl* buffer
    and also in source buffers.  The best place to learn about the
    keybindings is again the menu.
@@ -974,8 +974,8 @@
   (idlwave-shell-display-line nil)
   (setq idlwave-shell-calling-stack-index 0)
   (setq idlwave-shell-only-prompt-pattern
-	(concat "\\`[ \t\n]*" 
-		(substring idlwave-shell-prompt-pattern 1) 
+	(concat "\\`[ \t\n]*"
+		(substring idlwave-shell-prompt-pattern 1)
 		"[ \t\n]*\\'"))
 
   (when idlwave-shell-query-for-class
@@ -1010,14 +1010,14 @@
       (while (setq entry (pop list))
 	(set (make-local-variable (car entry)) (cdr entry)))))
 
-  
-  (unless (memq 'comint-carriage-motion 
+
+  (unless (memq 'comint-carriage-motion
 		(default-value 'comint-output-filter-functions))
     ;; Strip those pesky ctrl-m's.
     (add-hook 'comint-output-filter-functions
 	      (lambda (string)
 		(when (string-match "\r" string)
-		  (let ((pmark (process-mark (get-buffer-process 
+		  (let ((pmark (process-mark (get-buffer-process
 					      (current-buffer)))))
 		    (save-excursion
 		      ;; bare CR -> delete preceding line
@@ -1059,8 +1059,8 @@
   (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide)
   ;; Turn off IDL's ^d interpreting, and define a system
   ;; variable which knows the version of IDLWAVE
-  (idlwave-shell-send-command 
-   (format "defsysv,'!idlwave_version','%s',1" 
+  (idlwave-shell-send-command
+   (format "defsysv,'!idlwave_version','%s',1"
 	   idlwave-mode-version)
    nil 'hide)
   ;; Get the paths if they weren't read in from file
@@ -1081,7 +1081,7 @@
       (setq idlwave-system-directory sysdir)
       (put 'idlwave-system-directory 'from-shell t))
     ;; Preserve any existing flags
-    (setq idlwave-path-alist 
+    (setq idlwave-path-alist
 	  (mapcar (lambda (x)
 		    (let ((old-entry (assoc x old-path-alist)))
 		      (if old-entry
@@ -1089,7 +1089,7 @@
 			(list x))))
 		  dirs))
     (put 'idlwave-path-alist 'from-shell t)
-    (if idlwave-path-alist 
+    (if idlwave-path-alist
 	(if (and idlwave-auto-write-paths
 		 (not idlwave-library-path)
 		 (not no-write) )
@@ -1125,8 +1125,8 @@
 			 (frame (selected-frame)))
 		     (catch 'exit
 		       (while flist
-			 (if (not (eq (car flist) 
-				      idlwave-shell-idl-wframe)) 
+			 (if (not (eq (car flist)
+				      idlwave-shell-idl-wframe))
 			     (throw 'exit (car flist))
 			   (setq flist (cdr flist))))))
 		   (make-frame))
@@ -1144,9 +1144,9 @@
 	    ;; We do not have a source frame, so we use this one.
 	    (setq idlwave-shell-display-wframe (selected-frame)))
 	;; Return a new frame
-	(setq idlwave-shell-idl-wframe 
+	(setq idlwave-shell-idl-wframe
 	      (make-frame idlwave-shell-frame-parameters)))))
-  
+
 ;;;###autoload
 (defun idlwave-shell (&optional arg quick)
   "Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'.
@@ -1173,14 +1173,14 @@
 	  (delete-other-windows))
 	(and idlwave-shell-use-dedicated-frame
 	     (setq idlwave-shell-idl-wframe (selected-frame)))
-	(add-hook 'idlwave-shell-sentinel-hook 
+	(add-hook 'idlwave-shell-sentinel-hook
 		  'save-buffers-kill-emacs t))
 
     ;; A non-nil arg means, we want a dedicated frame.  This will last
     ;; for the current editing session.
     (if arg (setq idlwave-shell-use-dedicated-frame t))
     (if (equal arg '(16)) (setq idlwave-shell-use-dedicated-frame nil))
-    
+
     ;; Check if the process still exists.  If not, create it.
     (unless (comint-check-proc (idlwave-shell-buffer))
       (let* ((prg (or idlwave-shell-explicit-file-name "idl"))
@@ -1207,9 +1207,9 @@
       (if (eq (selected-frame) (window-frame window))
 	  (select-window window))))
   ;; Save the paths at the end
-  (add-hook 'idlwave-shell-sentinel-hook 
+  (add-hook 'idlwave-shell-sentinel-hook
 	    (lambda ()
-	      (if (and 
+	      (if (and
 		   idlwave-auto-write-paths
 		   idlwave-path-alist
 		   (not idlwave-library-path)
@@ -1240,7 +1240,7 @@
     (setq idlwave-shell-show-commands (list type))))
 
 
-(defun idlwave-shell-send-command (&optional cmd pcmd hide preempt 
+(defun idlwave-shell-send-command (&optional cmd pcmd hide preempt
 					     show-if-error)
   "Send a command to IDL process.
 
@@ -1261,18 +1261,18 @@
 `idlwave-shell-pending-commands'.  If PREEMPT is 'wait, wait for all
 output to complete and the next prompt to arrive before returning
 \(useful if you need an answer now\). IDL is considered ready if the
-prompt is present and if `idlwave-shell-ready' is non-nil.  
+prompt is present and if `idlwave-shell-ready' is non-nil.
 
 If SHOW-IF-ERROR is non-nil, show the output it it contains an error
 message, independent of what HIDE is set to."
 
 ;  (setq hide nil)  ;  FIXME: turn this on for debugging only
-;  (if (null cmd) 
+;  (if (null cmd)
 ;      (progn
-;	(message "SENDING Pending commands: %s" 
+;	(message "SENDING Pending commands: %s"
 ;		 (prin1-to-string idlwave-shell-pending-commands)))
 ;    (message "SENDING %s|||%s" cmd pcmd))
-  (if (and (symbolp idlwave-shell-show-commands) 
+  (if (and (symbolp idlwave-shell-show-commands)
 	   (eq idlwave-shell-show-commands 'everything))
       (setq hide nil))
   (let ((save-buffer (current-buffer))
@@ -1300,7 +1300,7 @@
 		    (append (list (list cmd pcmd hide show-if-error))
 			    idlwave-shell-pending-commands)
 		  ;; Put at end.
-		  (append idlwave-shell-pending-commands 
+		  (append idlwave-shell-pending-commands
 			  (list (list cmd pcmd hide show-if-error))))))
       ;; Check if IDL ready
       (let ((save-point (point-marker)))
@@ -1349,7 +1349,7 @@
     (if (or (not (setq buf (get-buffer (idlwave-shell-buffer))))
 	    (not (setq proc (get-buffer-process buf))))
 	(funcall errf "Shell is not running"))
-    (if (equal c ?\C-g)	
+    (if (equal c ?\C-g)
 	(funcall errf "Abort")
       (comint-send-string proc (char-to-string c)))))
 
@@ -1390,7 +1390,7 @@
     (if idlwave-shell-ready
 	(funcall errf "No IDL program seems to be waiting for input"))
 
-    ;; OK, start the loop 
+    ;; OK, start the loop
     (message "Character mode on:  Sending single chars (`C-g' to exit)")
     (message
      (catch 'exit
@@ -1470,14 +1470,14 @@
   (setq output (substring output (string-match "\n" output)))
   (while (string-match "\\(\n\\|\\`\\)%.*\\(\n  .*\\)*" output)
     (setq output (replace-match "" nil t output)))
-  (unless 
+  (unless
       (string-match idlwave-shell-only-prompt-pattern output)
     output))
 
 (defvar idlwave-shell-hidden-output-buffer " *idlwave-shell-hidden-output*"
   "Buffer containing hidden output from IDL commands.")
 (defvar idlwave-shell-current-state nil)
-  
+
 (defun idlwave-shell-filter (proc string)
   "Watch for IDL prompt and filter incoming text.
 When the IDL prompt is received executes `idlwave-shell-post-command-hook'
@@ -1509,20 +1509,20 @@
 		      (idlwave-shell-input-mode-magic
 		       (concat idlwave-shell-accumulation string)))
 		  (setq idlwave-shell-accumulation
-			(substring string 
-				   (progn (string-match "\\(.*[\n\r]+\\)*" 
+			(substring string
+				   (progn (string-match "\\(.*[\n\r]+\\)*"
 							string)
 					  (match-end 0)))))
               (setq idlwave-shell-accumulation
                     (concat idlwave-shell-accumulation string)))
-	    
-	    
+
+
 ;;; Test/Debug code
 ;	      (save-excursion (set-buffer
 ;			       (get-buffer-create "*idlwave-shell-output*"))
 ;			      (goto-char (point-max))
 ;			      (insert "\nSTRING===>\n" string "\n<====\n"))
-	    
+
 	    ;; Check for prompt in current accumulating output
 	    (if (setq idlwave-shell-ready
 		      (string-match idlwave-shell-prompt-pattern
@@ -1558,16 +1558,16 @@
 			(if (and idlwave-shell-show-if-error
 				 (eq idlwave-shell-current-state 'error))
 			    (idlwave-shell-comint-filter proc full-output)
-			  ;; If it's only *mostly* hidden, filter % lines, 
+			  ;; If it's only *mostly* hidden, filter % lines,
 			  ;; and show anything that remains
 			  (if (eq idlwave-shell-hide-output 'mostly)
 			      (let ((filtered
-				     (idlwave-shell-filter-hidden-output 
+				     (idlwave-shell-filter-hidden-output
 				      full-output)))
-				(if filtered 
-				    (idlwave-shell-comint-filter 
+				(if filtered
+				    (idlwave-shell-comint-filter
 				     proc filtered))))))
-		    
+
 		    ;; Call the post-command hook
                     (if (listp idlwave-shell-post-command-hook)
                         (progn
@@ -1612,7 +1612,7 @@
 	    (condition-case nil
 		(comint-write-input-ring)
 	      (error nil)))))
-	    
+
     (when (and (> (length (frame-list)) 1)
 	       (frame-live-p idlwave-shell-idl-wframe))
       (delete-frame idlwave-shell-idl-wframe)
@@ -1636,8 +1636,8 @@
 ;; in module and file names.  I am not sure if it will be necessary to
 ;; change this.  Currently it seems to work the way it is.
 (defvar idlwave-shell-syntax-error
-  "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)" 
-  "A regular expression to match an IDL syntax error.  
+  "^% Syntax error.\\s-*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)"
+  "A regular expression to match an IDL syntax error.
 The 1st pair matches the file name, the second pair matches the line
 number.")
 
@@ -1645,16 +1645,16 @@
   "^% .*\n\\s-*At:\\s-*\\(.*\\),\\s-*Line\\s-*\\(.*\\)"
   "A regular expression to match any IDL error.")
 
-(defvar idlwave-shell-halting-error 
+(defvar idlwave-shell-halting-error
   "^% .*\n\\([^%].*\n\\)*% Execution halted at:\\(\\s-*\\S-+\\s-*[0-9]+\\s-*.*\\)\n"
   "A regular expression to match errors which halt execution.")
 
-(defvar idlwave-shell-cant-continue-error 
+(defvar idlwave-shell-cant-continue-error
   "^% Can't continue from this point.\n"
   "A regular expression to match errors stepping errors.")
 
 (defvar idlwave-shell-file-line-message
-  (concat 
+  (concat
    "\\("                                 ; program name group (1)
    "\\$MAIN\\$\\|"                   	 ; main level routine
    "\\<[a-zA-Z][a-zA-Z0-9_$:]*"          ; start with a letter followed by [..]
@@ -1672,7 +1672,7 @@
    "\\)"                                 ; end line number group (5)
    )
   "*A regular expression to parse out the file name and line number.
-The 1st group should match the subroutine name.  
+The 1st group should match the subroutine name.
 The 3rd group is the line number.
 The 5th group is the file name.
 All parts may contain linebreaks surrounded by spaces.  This is important
@@ -1691,9 +1691,9 @@
     (cond
      ;; Make sure we have output
      ((not idlwave-shell-command-output))
-     
+
      ;; First Priority: Syntax and other errors
-     ((or 
+     ((or
        (string-match idlwave-shell-syntax-error
 		     idlwave-shell-command-output)
        (string-match idlwave-shell-other-error
@@ -1707,19 +1707,19 @@
 	(setq idlwave-shell-error-last (point)))
       (setq idlwave-shell-current-state 'error)
       (idlwave-shell-goto-next-error))
-   
+
      ;; Second Priority: Halting errors
      ((string-match idlwave-shell-halting-error
 		    idlwave-shell-command-output)
       ;; Grab the file and line state info.
       (setq idlwave-shell-calling-stack-index 0)
       (setq idlwave-shell-halt-frame
-	    (idlwave-shell-parse-line 
-	     (substring idlwave-shell-command-output 
+	    (idlwave-shell-parse-line
+	     (substring idlwave-shell-command-output
 			(match-beginning 2)))
 	    idlwave-shell-current-state 'error)
       (idlwave-shell-display-line (idlwave-shell-pc-frame)))
-     
+
      ;; Third Priority: Various types of innocuous HALT and
      ;; TRACEBACK messages.
      ((or (setq trace (string-match idlwave-shell-trace-message-re
@@ -1729,25 +1729,25 @@
       ;; Grab the file and line state info.
       (setq idlwave-shell-calling-stack-index 0)
       (setq idlwave-shell-halt-frame
-	    (idlwave-shell-parse-line 
+	    (idlwave-shell-parse-line
 	     (substring idlwave-shell-command-output (match-end 0))))
       (setq idlwave-shell-current-state 'halt)
       ;; Don't debug trace messages
       (idlwave-shell-display-line (idlwave-shell-pc-frame) nil
 				  (if trace 'no-debug)))
-     
-     ;; Fourth Priority: Breakpoints 
+
+     ;; Fourth Priority: Breakpoints
      ((string-match idlwave-shell-break-message
 		    idlwave-shell-command-output)
       (setq idlwave-shell-calling-stack-index 0)
-      (setq idlwave-shell-halt-frame 
-	    (idlwave-shell-parse-line 
+      (setq idlwave-shell-halt-frame
+	    (idlwave-shell-parse-line
 	     (substring idlwave-shell-command-output (match-end 0))))
       ;; We used to count hits on breakpoints
       ;; this is no longer supported since IDL breakpoints
       ;; have learned counting.
       ;; Do breakpoint command processing
-      (let ((bp (assoc 
+      (let ((bp (assoc
 		 (list
 		  (nth 0 idlwave-shell-halt-frame)
 		  (nth 1 idlwave-shell-halt-frame))
@@ -1760,9 +1760,9 @@
 	  ;; A breakpoint that we did not know about - perhaps it was
 	  ;; set by the user...  Let's update our list.
 	  (idlwave-shell-bp-query)))
-      (setq idlwave-shell-current-state 'breakpoint)      
+      (setq idlwave-shell-current-state 'breakpoint)
       (idlwave-shell-display-line (idlwave-shell-pc-frame)))
-     
+
      ;; Last Priority: Can't Step errors
      ((string-match idlwave-shell-cant-continue-error
 		    idlwave-shell-command-output)
@@ -1777,7 +1777,7 @@
 IDL5.  These line breaks can be right in the middle of procedure
 or file names.
 It is very difficult to come up with a robust solution.  This one seems
-to be pretty good though.  
+to be pretty good though.
 
 Here is in what ways it improves over the previous solution:
 
@@ -1802,7 +1802,7 @@
       (setq procedure (match-string 1 string)
 	    number (match-string 3 string)
 	    file (match-string 5 string))
-	
+
       ;; Repair the strings
       (setq procedure (idlwave-shell-repair-string procedure))
       (setq number (idlwave-shell-repair-string number))
@@ -1811,7 +1811,7 @@
       ;; If we have a file, return the frame list
       (if file
 	  (list (idlwave-shell-file-name file)
-		(string-to-int number)
+		(string-to-number number)
 		procedure)
 	;; No success finding a file
 	nil))))
@@ -1828,7 +1828,7 @@
 file name."
   (let ((file1 "") (file2 "") (start 0))
     ;; We scan no further than to the next "^%" line
-    (if (string-match "^%" file) 
+    (if (string-match "^%" file)
 	(setq file (substring file 0 (match-beginning 0))))
     ;; Take out the line breaks
     (while (string-match "[ \t]*\n[ \t]*" file start)
@@ -1883,7 +1883,7 @@
 The size is given by `idlwave-shell-graphics-window-size'."
   (interactive "P")
   (let ((n (if n (prefix-numeric-value n) 0)))
-    (idlwave-shell-send-command 
+    (idlwave-shell-send-command
      (apply 'format "window,%d,xs=%d,ys=%d"
 	    n idlwave-shell-graphics-window-size)
      nil (idlwave-shell-hide-p 'misc) nil t)))
@@ -1903,16 +1903,16 @@
 Also get rid of widget events in the queue."
   (interactive "P")
   (save-selected-window
-    ;;if (widget_info(/MANAGED))[0] gt 0 then for i=0,n_elements(widget_info(/MANAGED))-1 do widget_control,(widget_info(/MANAGED))[i],/clear_events & 
-    (idlwave-shell-send-command "retall" nil 
-				(if (idlwave-shell-hide-p 'misc) 'mostly) 
+    ;;if (widget_info(/MANAGED))[0] gt 0 then for i=0,n_elements(widget_info(/MANAGED))-1 do widget_control,(widget_info(/MANAGED))[i],/clear_events &
+    (idlwave-shell-send-command "retall" nil
+				(if (idlwave-shell-hide-p 'misc) 'mostly)
 				nil t)
     (idlwave-shell-display-line nil)))
 
 (defun idlwave-shell-closeall (&optional arg)
   "Close all open files."
   (interactive "P")
-  (idlwave-shell-send-command "close,/all" nil 
+  (idlwave-shell-send-command "close,/all" nil
 			      (idlwave-shell-hide-p 'misc) nil t))
 
 (defun idlwave-shell-quit (&optional arg)
@@ -1928,7 +1928,7 @@
 
 (defun idlwave-shell-reset (&optional hidden)
   "Reset IDL.  Return to main level and destroy the leftover variables.
-This issues the following commands:  
+This issues the following commands:
 RETALL
 WIDGET_CONTROL,/RESET
 CLOSE, /ALL
@@ -1978,14 +1978,14 @@
       ;; Set dummy values and kill the text
       (setq sep "@" sep-re "@ *" text "")
       (if idlwave-idlwave_routine_info-compiled
-	  (message 
-	   "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n" 
+	  (message
+	   "Routine Info warning: No match for BEGIN line in \n>>>\n%s\n<<<\n"
 	   idlwave-shell-command-output)))
     (if (string-match "^>>>END OF IDLWAVE ROUTINE INFO.*" text)
 	(setq text (substring text 0 (match-beginning 0)))
       (if idlwave-idlwave_routine_info-compiled
-	  (message 
-	   "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n" 
+	  (message
+	   "Routine Info warning: No match for END line in \n>>>\n%s\n<<<\n"
 	   idlwave-shell-command-output)))
     (if (string-match "\\S-" text)
 	;; Obviously, the pro worked.  Make a note that we have it now.
@@ -2003,59 +2003,59 @@
 	    key (nth 4 specs)
 	    keys (if (and (stringp key)
 			  (not (string-match "\\` *\\'" key)))
-		     (mapcar 'list 
+		     (mapcar 'list
 			     (delete "" (idlwave-split-string key " +")))))
       (setq name (idlwave-sintern-routine-or-method name class t)
 	    class (idlwave-sintern-class class t)
 	    file (if (equal file "") nil file)
-	    keys (mapcar (lambda (x) 
+	    keys (mapcar (lambda (x)
 			   (list (idlwave-sintern-keyword (car x) t))) keys))
-      
+
       ;; In the following ignore routines already defined in buffers,
       ;; assuming that if the buffer stuff differs, it is a "new"
       ;; version, not yet compiled, and should take precedence.
       ;; We could do the same for the library to avoid duplicates -
       ;; but I think frequently a user might have several versions of
-      ;; the same function in different programs, and in this case the 
+      ;; the same function in different programs, and in this case the
       ;; compiled one will be the best guess of all versions.
       ;; Therefore, we leave duplicates of library routines in.
       (cond ((string= name "$MAIN$"))    ; ignore this one
 	    ((and (string= type "PRO")
 		  ;; FIXME: is it OK to make the buffer routines dominate?
 		  (or t (null file)
-		      (not (idlwave-rinfo-assq name 'pro class 
+		      (not (idlwave-rinfo-assq name 'pro class
 					       idlwave-buffer-routines)))
 		  ;; FIXME: is it OK to make the library routines dominate?
-		  ;;(not (idlwave-rinfo-assq name 'pro class 
+		  ;;(not (idlwave-rinfo-assq name 'pro class
 		  ;;			   idlwave-library-routines))
 		  )
-	     (setq entry (list name 'pro class 
-			       (cons 'compiled 
-				     (if file
-					 (list
-					  (file-name-nondirectory file)
-					  (idlwave-sintern-dir 
-					   (file-name-directory file)))))
-			       cs (cons nil keys)))
-	     (if file 
-		 (push entry idlwave-compiled-routines)
-	       (push entry idlwave-unresolved-routines)))
-	    
-	    ((and (string= type "FUN")
-		  ;; FIXME: is it OK to make the buffer routines dominate?
-		  (or t (not file)
-		      (not (idlwave-rinfo-assq name 'fun class 
-					       idlwave-buffer-routines)))
-		  ;; FIXME: is it OK to make the library routines dominate?
-		  ;; (not (idlwave-rinfo-assq name 'fun class 
-		  ;;			   idlwave-library-routines))
-		  )
-	     (setq entry (list name 'fun class 
+	     (setq entry (list name 'pro class
 			       (cons 'compiled
 				     (if file
 					 (list
 					  (file-name-nondirectory file)
-					  (idlwave-sintern-dir 
+					  (idlwave-sintern-dir
+					   (file-name-directory file)))))
+			       cs (cons nil keys)))
+	     (if file
+		 (push entry idlwave-compiled-routines)
+	       (push entry idlwave-unresolved-routines)))
+
+	    ((and (string= type "FUN")
+		  ;; FIXME: is it OK to make the buffer routines dominate?
+		  (or t (not file)
+		      (not (idlwave-rinfo-assq name 'fun class
+					       idlwave-buffer-routines)))
+		  ;; FIXME: is it OK to make the library routines dominate?
+		  ;; (not (idlwave-rinfo-assq name 'fun class
+		  ;;			   idlwave-library-routines))
+		  )
+	     (setq entry (list name 'fun class
+			       (cons 'compiled
+				     (if file
+					 (list
+					  (file-name-nondirectory file)
+					  (idlwave-sintern-dir
 					   (file-name-directory file)))))
 			       cs (cons nil keys)))
 	     (if file
@@ -2072,7 +2072,7 @@
     (set-buffer (idlwave-shell-buffer))
     (if (string-match ",___cur[\n\r]\\(\\S-*\\) *[\n\r]"
 		      idlwave-shell-command-output)
-	(let ((dir (substring idlwave-shell-command-output 
+	(let ((dir (substring idlwave-shell-command-output
 			      (match-beginning 1) (match-end 1))))
 ;	  (message "Setting Emacs working dir to %s" dir)
 	  (setq idlwave-shell-default-directory dir)
@@ -2086,10 +2086,10 @@
 	expression)
     (save-excursion
       (goto-char apos)
-      (setq expression (buffer-substring 
+      (setq expression (buffer-substring
 			(catch 'exit
 			  (while t
-			    (if (not (re-search-backward 
+			    (if (not (re-search-backward
 				      "[^][.A-Za-z0-9_() ]" bos t))
 				(throw 'exit bos)) ;ran into bos
 			    (if (not (idlwave-is-pointer-dereference bol))
@@ -2117,7 +2117,7 @@
 			    idlwave-shell-command-output))
 	 (string-match (concat match "\\([A-Za-z_0-9]+\\)")
 		       idlwave-shell-command-output))
-	(setq idlwave-shell-get-object-class 
+	(setq idlwave-shell-get-object-class
 	      (match-string 1 idlwave-shell-command-output)))))
 
 (defvar idlwave-sint-sysvars nil)
@@ -2131,7 +2131,7 @@
   (interactive "P")
   (let (exec-cmd)
     (cond
-     ((and 
+     ((and
        (setq exec-cmd (idlwave-shell-executive-command))
        (cdr exec-cmd)
        (member (upcase (cdr exec-cmd))
@@ -2141,7 +2141,7 @@
       (idlwave-shell-complete-filename))
 
      ((car-safe exec-cmd)
-      (setq idlwave-completion-help-info 
+      (setq idlwave-completion-help-info
 	    '(idlwave-shell-complete-execcomm-help))
       (idlwave-complete-in-buffer 'execcomm 'execcomm
 				  idlwave-executive-commands-alist nil
@@ -2160,7 +2160,7 @@
 	     (let ((case-fold-search t))
 	       (not (looking-at ".*obj_new")))))
       (idlwave-shell-complete-filename))
-     
+
      (t
       ;; Default completion of modules and keywords
       (idlwave-complete arg)))))
@@ -2182,7 +2182,7 @@
 We assume that we are after a file name when completing one of the
 args of an executive .run, .rnew or .compile."
   ;; CWD might have changed, resync, to set default directory
-  (idlwave-shell-resync-dirs) 
+  (idlwave-shell-resync-dirs)
   (let ((comint-file-name-chars idlwave-shell-file-name-chars))
     (comint-dynamic-complete-as-filename)))
 
@@ -2223,7 +2223,7 @@
 
 (defun idlwave-shell-redisplay (&optional hide)
   "Tries to resync the display with where execution has stopped.
-Issues a \"help,/trace\" command followed by a call to 
+Issues a \"help,/trace\" command followed by a call to
 `idlwave-shell-display-line'.  Also updates the breakpoint
 overlays."
   (interactive)
@@ -2236,7 +2236,7 @@
   (idlwave-shell-bp-query))
 
 (defun idlwave-shell-display-level-in-calling-stack (&optional hide)
-  (idlwave-shell-send-command 
+  (idlwave-shell-send-command
    "help,/trace"
    `(progn
       ;; scanning for the state will reset the stack level - restore it
@@ -2267,14 +2267,14 @@
       (setq idlwave-shell-calling-stack-index nmin
 	    message (format "%d is the current calling stack level - can't go further down"
 			    (- nmin)))))
-    (setq idlwave-shell-calling-stack-routine 
+    (setq idlwave-shell-calling-stack-routine
 	  (nth 2 (nth idlwave-shell-calling-stack-index stack)))
 
     ;; only edebug if in that mode already
-    (idlwave-shell-display-line 
+    (idlwave-shell-display-line
      (nth idlwave-shell-calling-stack-index stack) nil
-     (unless idlwave-shell-electric-debug-mode 'no-debug)) 
-    (message (or message 
+     (unless idlwave-shell-electric-debug-mode 'no-debug))
+    (message (or message
 		 (format "In routine %s (stack level %d)"
 			 idlwave-shell-calling-stack-routine
 			 (- idlwave-shell-calling-stack-index))))))
@@ -2305,7 +2305,7 @@
 (defun idlwave-shell-pc-frame ()
   "Returns the frame for IDL execution."
   (and idlwave-shell-halt-frame
-       (list (nth 0 idlwave-shell-halt-frame) 
+       (list (nth 0 idlwave-shell-halt-frame)
 	     (nth 1 idlwave-shell-halt-frame)
 	     (nth 2 idlwave-shell-halt-frame))))
 
@@ -2323,7 +2323,7 @@
 debug mode."
   (if (not frame)
       ;; Remove stop-line overlay from old position
-      (progn 
+      (progn
         (setq overlay-arrow-string nil)
 	(setq idlwave-shell-mode-line-info nil)
 	(setq idlwave-shell-is-stopped nil)
@@ -2340,10 +2340,10 @@
 ;;;
 ;;; buffer : the buffer to display a line in.
 ;;; select-shell: current buffer is the shell.
-;;; 
+;;;
       (setq idlwave-shell-mode-line-info
 	    (if (nth 2 frame)
-		(format "[%d:%s]" 
+		(format "[%d:%s]"
 			(- idlwave-shell-calling-stack-index)
 			(nth 2 frame))))
       (let* ((buffer (idlwave-find-file-noselect (car frame) 'shell))
@@ -2367,7 +2367,7 @@
 	    (forward-line 0)
             (setq pos (point))
 	    (setq idlwave-shell-is-stopped t)
-	    
+
             (if idlwave-shell-stop-line-overlay
                 ;; Move overlay
 		(move-overlay idlwave-shell-stop-line-overlay
@@ -2389,12 +2389,12 @@
 	  ;; If we have the column of the error, move the cursor there.
           (if col (move-to-column col))
           (setq pos (point))
-	  
+
 	  ;; Enter electric debug mode, if not prohibited and not in
 	  ;; it already
-	  (when (and (or 
+	  (when (and (or
 		      (eq idlwave-shell-automatic-electric-debug t)
-		      (and 
+		      (and
 		       (eq idlwave-shell-automatic-electric-debug 'breakpoint)
 		       (not (eq idlwave-shell-current-state 'error))))
 		     (not no-debug)
@@ -2402,14 +2402,14 @@
 		     (not idlwave-shell-electric-debug-mode))
 	    (idlwave-shell-electric-debug-mode)
 	    (setq electric t)))
-	
+
 	;; Make sure pos is really displayed in the window.
 	(set-window-point window pos)
-	
-	;; If we came from the shell, go back there.  Otherwise select 
+
+	;; If we came from the shell, go back there.  Otherwise select
 	;; the window where the error is displayed.
         (if (or (and idlwave-shell-electric-zap-to-file electric)
-		(and (equal (buffer-name) (idlwave-shell-buffer)) 
+		(and (equal (buffer-name) (idlwave-shell-buffer))
 		     (not select-shell)))
             (select-window window))))))
 
@@ -2419,35 +2419,35 @@
   (interactive "p")
   (or (not arg) (< arg 1)
       (setq arg 1))
-  (idlwave-shell-send-command 
+  (idlwave-shell-send-command
    (concat ".s " (if (integerp arg) (int-to-string arg) arg))
    nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t))
 
 (defun idlwave-shell-stepover (arg)
   "Stepover one source line.
-If given prefix argument ARG, step ARG source lines. 
+If given prefix argument ARG, step ARG source lines.
 Uses IDL's stepover executive command which does not enter called functions."
   (interactive "p")
   (or (not arg) (< arg 1)
       (setq arg 1))
-  (idlwave-shell-send-command 
+  (idlwave-shell-send-command
    (concat ".so " (if (integerp arg) (int-to-string arg) arg))
    nil (if (idlwave-shell-hide-p 'debug) 'mostly) nil t))
 
 (defun idlwave-shell-break-here (&optional count cmd condition no-show)
-  "Set breakpoint at current line.  
+  "Set breakpoint at current line.
 
 If Count is nil then an ordinary breakpoint is set.  We treat a count
 of 1 as a temporary breakpoint using the ONCE keyword.  Counts greater
 than 1 use the IDL AFTER=count keyword to break only after reaching
 the statement count times.
 
-Optional argument CMD is a list or function to evaluate upon reaching 
+Optional argument CMD is a list or function to evaluate upon reaching
 the breakpoint."
-  
+
   (interactive "P")
   (when (listp count)
-    (if (equal (car count) 4) 
+    (if (equal (car count) 4)
 	(setq condition (read-string "Break Condition: ")))
     (setq count nil))
   (idlwave-shell-set-bp
@@ -2470,7 +2470,7 @@
       (progn
         (if (progn
               (beep)
-              (y-or-n-p 
+              (y-or-n-p
                (concat "Okay to recompile file "
                        (idlwave-shell-bp-get bp 'file) " ")))
             ;; Recompile
@@ -2478,7 +2478,7 @@
               ;; Clean up before retrying
               (idlwave-shell-command-failure)
               (idlwave-shell-send-command
-               (concat ".run " (idlwave-shell-bp-get bp 'file)) nil 
+               (concat ".run " (idlwave-shell-bp-get bp 'file)) nil
 	       (if (idlwave-shell-hide-p 'run) 'mostly) nil t)
               ;; Try setting breakpoint again
               (idlwave-shell-set-bp bp))
@@ -2502,9 +2502,9 @@
 (defun idlwave-shell-cont (&optional no-show)
   "Continue executing."
   (interactive)
-  (idlwave-shell-send-command ".c" (unless no-show 
+  (idlwave-shell-send-command ".c" (unless no-show
 				     '(idlwave-shell-redisplay 'hide))
-			      (if (idlwave-shell-hide-p 'debug) 'mostly) 
+			      (if (idlwave-shell-hide-p 'debug) 'mostly)
 			      nil t))
 
 (defun idlwave-shell-go ()
@@ -2585,7 +2585,7 @@
 	  ((eq force 'enable) (setq disabled t)))
     (when bp
       (setf (nth 3 (cdr (cdr bp))) (not disabled))
-      (idlwave-shell-send-command 
+      (idlwave-shell-send-command
        (concat "breakpoint,"
 	       (if disabled "/enable," "/disable,")
 	       (int-to-string (idlwave-shell-bp-get bp)))
@@ -2599,13 +2599,13 @@
     (while bpl
       (setq disabled (idlwave-shell-bp-get (car bpl) 'disabled))
       (when (idlwave-xor (not disabled) (eq enable 'enable))
-	(idlwave-shell-toggle-enable-current-bp 
+	(idlwave-shell-toggle-enable-current-bp
 	 (car bpl) (if (eq enable 'enable) 'enable 'disable) no-update)
 	(push (car bpl) modified))
       (setq bpl (cdr bpl)))
     (unless no-update (idlwave-shell-bp-query))
     modified))
-  
+
 (defun idlwave-shell-to-here ()
   "Set a breakpoint with count 1 then continue."
   (interactive)
@@ -2643,7 +2643,7 @@
 (defun idlwave-shell-set-bp-in-module (module)
   "Set breakpoint in module.  Assumes that `idlwave-shell-sources-alist'
 contains an entry for that module."
-  (let ((source-file (car-safe 
+  (let ((source-file (car-safe
 		      (cdr-safe
 		       (assoc (upcase module)
 			      idlwave-shell-sources-alist))))
@@ -2662,7 +2662,7 @@
 	(save-excursion
 	  (goto-char (point-min))
 	  (let ((case-fold-search t))
-	    (if (re-search-forward 
+	    (if (re-search-forward
 		 (concat "^[ \t]*\\(pro\\|function\\)[ \t]+"
 			 (downcase module)
 			 "[ \t\n,]") nil t)
@@ -2704,7 +2704,7 @@
   "Attempt to run until this procedure exits.
 Runs to the last statement and then steps 1 statement.  Use the .out command."
   (interactive)
-  (idlwave-shell-send-command ".o" nil 
+  (idlwave-shell-send-command ".o" nil
 			      (if (idlwave-shell-hide-p 'debug) 'mostly)
 			      nil t))
 
@@ -2751,7 +2751,7 @@
      (interactive "e")
      (let ((transient-mark-mode t)
 	   (zmacs-regions t)
-	   (tracker (if (featurep 'xemacs) 
+	   (tracker (if (featurep 'xemacs)
 			(if (fboundp 'default-mouse-track-event-is-with-button)
 			    'idlwave-xemacs-hack-mouse-track
 			  'mouse-track)
@@ -2769,7 +2769,7 @@
   (let ((oldfunc (symbol-function 'default-mouse-track-event-is-with-button)))
     (unwind-protect
 	(progn
-	  (fset 'default-mouse-track-event-is-with-button 
+	  (fset 'default-mouse-track-event-is-with-button
 		'idlwave-default-mouse-track-event-is-with-button)
 	  (mouse-track event))
       (fset 'default-mouse-track-event-is-with-button oldfunc))))
@@ -2801,7 +2801,7 @@
 (defvar idlwave-shell-examine-completion-list nil)
 
 (defun idlwave-shell-print (arg &optional help ev complete-help-type)
-  "Print current expression.  
+  "Print current expression.
 
 With HELP non-nil, show help on expression.  If HELP is a string,
 the expression will be put in place of ___, e.g.:
@@ -2834,11 +2834,11 @@
   (save-excursion
     (let* ((process (get-buffer-process (current-buffer)))
 	   (process-mark (if process (process-mark process)))
-	   (stack-label 
+	   (stack-label
 	    (if (and (integerp idlwave-shell-calling-stack-index)
 		     (> idlwave-shell-calling-stack-index 0))
-		(format "  [-%d:%s]" 
-			idlwave-shell-calling-stack-index 
+		(format "  [-%d:%s]"
+			idlwave-shell-calling-stack-index
 			idlwave-shell-calling-stack-routine)))
 	   expr beg end cmd examine-hook)
       (cond
@@ -2868,7 +2868,7 @@
 	   ;; an array
 	   (forward-sexp))
 	 (setq end (point)))))
-      
+
       ;; Get expression, but first move the begin mark if a
       ;; process-mark is inside the region, to keep the overlay from
       ;; wandering in the Shell.
@@ -2879,17 +2879,17 @@
 
       ;; Show the overlay(s) and attach any necessary hooks and filters
       (when (and beg end idlwave-shell-expression-overlay)
-	(move-overlay idlwave-shell-expression-overlay beg end 
+	(move-overlay idlwave-shell-expression-overlay beg end
 		      (current-buffer))
-	(add-hook 'pre-command-hook 
+	(add-hook 'pre-command-hook
 		  'idlwave-shell-delete-expression-overlay))
-      (setq examine-hook 
+      (setq examine-hook
 	    (if idlwave-shell-separate-examine-output
 		'idlwave-shell-examine-display
 	      'idlwave-shell-examine-highlight))
       (add-hook 'pre-command-hook
 		'idlwave-shell-delete-output-overlay)
-      
+
       ;; Remove empty or comment-only lines
       (while (string-match "\n[ \t]*\\(;.*\\)?\r*\n" expr)
 	(setq expr (replace-match "\n" t t expr)))
@@ -2899,41 +2899,41 @@
       ;; Remove final newline
       (if (string-match "\n[ \t\r]*\\'" expr)
 	  (setq expr (replace-match "" t t expr)))
-      
+
       (catch 'exit
 	;; Pop-up or complete on the examine selection list, if appropriate
 	(if (or
 	     complete-help-type
 	     (and ev idlwave-shell-examine-alist)
 	     (consp help))
-	    (let ((help-cons 
+	    (let ((help-cons
 		   (if (consp help) help
-		     (assoc 
+		     (assoc
 		      ;; A cons from either a pop-up or mini-buffer completion
 		      (if complete-help-type
 			  (idlwave-one-key-select 'idlwave-shell-examine-alist
 						  "Examine with: " 1.5)
 ;; 			  (idlwave-completing-read
-;; 			   "Examine with: " 
+;; 			   "Examine with: "
 ;; 			   idlwave-shell-examine-alist nil nil nil
 ;; 			   'idlwave-shell-examine-completion-list
 ;; 			   "Print")
-			(idlwave-popup-select 
-			 ev 
-			 (mapcar 'car idlwave-shell-examine-alist) 
+			(idlwave-popup-select
+			 ev
+			 (mapcar 'car idlwave-shell-examine-alist)
 			 "Examine with"))
 		      idlwave-shell-examine-alist))))
 	      (setq help (cdr help-cons))
 	      (if (null help) (throw 'exit nil))
 	      (if idlwave-shell-separate-examine-output
-		  (setq idlwave-shell-examine-label 
-			(concat 
+		  (setq idlwave-shell-examine-label
+			(concat
 			 (format "==>%s<==\n%s:" expr (car help-cons))
 			 stack-label "\n"))))
 	  ;; The regular help label (no popups, cons cells, etc.)
 	  (setq idlwave-shell-examine-label
 		(concat
-		 (format "==>%s<==\n%s:" expr 
+		 (format "==>%s<==\n%s:" expr
 			 (cond ((null help) "print")
 			       ((stringp help) help)
 			       (t (symbol-name help))))
@@ -2946,9 +2946,9 @@
 			idlwave-shell-calling-stack-index)))
 	(setq cmd (idlwave-shell-help-statement help expr))
 	;;(idlwave-shell-recenter-shell-window)
-	(idlwave-shell-send-command 
-	 cmd 
-	 examine-hook 
+	(idlwave-shell-send-command
+	 cmd
+	 examine-hook
 	 (if idlwave-shell-separate-examine-output 'hide))))))
 
 (defvar idlwave-shell-examine-window-alist nil
@@ -2975,9 +2975,9 @@
 	  (let* ((end (or
 		       (re-search-backward idlwave-shell-prompt-pattern nil t)
 		       (point-max)))
-		 (beg (progn 
+		 (beg (progn
 			(goto-char
-			 (or (progn (if (re-search-backward 
+			 (or (progn (if (re-search-backward
 					 idlwave-shell-prompt-pattern nil t)
 					(match-end 0)))
 			     (point-min)))
@@ -2994,21 +2994,21 @@
 	(setq buffer-read-only t)
 	(move-overlay idlwave-shell-output-overlay cur-beg cur-end
 		      (current-buffer))
-	
+
 	;; Look for the examine buffer in all windows.  If one is
 	;; found in a frame all by itself, use that, otherwise, switch
 	;; to or create an examine window in this frame, and resize if
 	;; it's a newly created window
 	(let* ((winlist (get-buffer-window-list "*Examine*" nil 'visible)))
-	  (setq win (idlwave-display-buffer 
-		     "*Examine*" 
+	  (setq win (idlwave-display-buffer
+		     "*Examine*"
 		     nil
 		     (let ((list winlist) thiswin)
 		       (catch 'exit
 			 (save-selected-window
 			   (while (setq thiswin (pop list))
 			     (select-window thiswin)
-			     (if (one-window-p) 
+			     (if (one-window-p)
 				 (throw 'exit (window-frame thiswin)))))))))
 	  (set-window-start win (point-min)) ; Ensure the point is visible.
 	  (save-selected-window
@@ -3029,7 +3029,7 @@
 		;; And add the new value.
 		(if (setq elt (assoc win idlwave-shell-examine-window-alist))
 		    (setcdr elt (window-height))
-		  (add-to-list 'idlwave-shell-examine-window-alist 
+		  (add-to-list 'idlwave-shell-examine-window-alist
 			       (cons win (window-height)))))))))
       ;; Recenter for maximum output, after widened
       (save-selected-window
@@ -3047,7 +3047,7 @@
 
 (defun idlwave-shell-examine-display-clear ()
   (interactive)
-  (save-excursion 
+  (save-excursion
     (let ((buf (get-buffer "*Examine*")))
       (when (bufferp buf)
 	(set-buffer buf)
@@ -3075,7 +3075,7 @@
     ;; break.  We will look for identifiers and exclude cases where we
     ;; know it is not a variable.  To distinguish array references from
     ;; function calls, we require that arrays use [] instead of ()
-    
+
     (while (string-match
 	    "\\(\\`\\|[^a-zA-Z0-9$_][ \t]*\\)\\([a-zA-Z][a-zA-Z0-9$_]*\\)\\([ \t]*[^a-zA-Z0-9$_]\\|\\'\\)" expr start)
       (setq var (match-string 2 expr)
@@ -3091,7 +3091,7 @@
        ((string-match "->[ \t]*\\'" pre))        ;; a method
        ((string-match "\\.\\'" pre))             ;; structure member
        ((and (string-match "\\([\"\']\\)[^\1]*$" pre)
-	     (string-match (concat "^[^" (match-string 1 pre) "]*" 
+	     (string-match (concat "^[^" (match-string 1 pre) "]*"
 				   (match-string 1 pre)) post)))
        (t ;; seems to be a variable - replace its name in the
 	  ;; expression with the fetch.
@@ -3109,13 +3109,13 @@
 size(___,/DIMENSIONS)"
   (cond
    ((null help) (concat "print, " expr))
-   ((stringp help) 
+   ((stringp help)
     (if (string-match "\\(^\\|[^_]\\)\\(___\\)\\([^_]\\|$\\)" help)
 	(concat (substring help 0 (match-beginning 2))
 		expr
 		(substring help (match-end 2)))))
    (t (concat "help, " expr))))
-   
+
 
 (defun idlwave-shell-examine-highlight ()
   "Highlight the most recent IDL output."
@@ -3123,7 +3123,7 @@
 	 (process (get-buffer-process buffer))
 	 (process-mark (if process (process-mark process)))
 	 output-begin output-end)
-    (save-excursion 
+    (save-excursion
       (set-buffer buffer)
       (goto-char process-mark)
       (beginning-of-line)
@@ -3131,12 +3131,12 @@
       (re-search-backward idlwave-shell-prompt-pattern nil t)
       (beginning-of-line 2)
       (setq output-begin (point)))
-	    
+
     ;; First make sure the shell window is visible
     (idlwave-display-buffer (idlwave-shell-buffer)
 			    nil (idlwave-shell-shell-frame))
     (if (and idlwave-shell-output-overlay process-mark)
-	(move-overlay idlwave-shell-output-overlay 
+	(move-overlay idlwave-shell-output-overlay
 		      output-begin output-end buffer))))
 
 (defun idlwave-shell-delete-output-overlay ()
@@ -3147,7 +3147,7 @@
 	    (delete-overlay idlwave-shell-output-overlay))
       (error nil))
     (remove-hook 'pre-command-hook 'idlwave-shell-delete-output-overlay)))
-  
+
 (defun idlwave-shell-delete-expression-overlay ()
   (unless (or (eq this-command 'idlwave-shell-mouse-nop)
 	      (eq this-command 'handle-switch-frame))
@@ -3176,7 +3176,7 @@
 count - number of times to execute breakpoint. When count reaches 0
   the breakpoint is cleared and removed from the alist.
 
-command - command to execute when breakpoint is reached, either a 
+command - command to execute when breakpoint is reached, either a
   lisp function to be called with `funcall' with no arguments or a
   list to be evaluated with `eval'.
 
@@ -3209,11 +3209,11 @@
           (insert "\nend\n"))
       (save-buffer 0)))
   (idlwave-shell-send-command (concat ".run " idlwave-shell-temp-pro-file)
-			      nil 
+			      nil
 			      (if (idlwave-shell-hide-p 'run) 'mostly)
 			      nil t)
   (if n
-      (idlwave-display-buffer (idlwave-shell-buffer) 
+      (idlwave-display-buffer (idlwave-shell-buffer)
 			      nil (idlwave-shell-shell-frame))))
 
 (defun idlwave-shell-evaluate-region (beg end &optional n)
@@ -3224,7 +3224,7 @@
   (interactive "r\nP")
   (idlwave-shell-send-command (buffer-substring beg end))
   (if n
-      (idlwave-display-buffer (idlwave-shell-buffer) 
+      (idlwave-display-buffer (idlwave-shell-buffer)
 			      nil (idlwave-shell-shell-frame))))
 
 (defun idlwave-shell-delete-temp-files ()
@@ -3279,7 +3279,7 @@
 			      'hide))
 
 (defun idlwave-shell-bp-get (bp &optional item)
-  "Get a value for a breakpoint.  
+  "Get a value for a breakpoint.
 BP has the form of elements in idlwave-shell-bp-alist.  Optional
 second arg ITEM is the particular value to retrieve.  ITEM can be
 'file, 'line, 'index, 'module, 'count, 'cmd, 'condition, 'disabled or
@@ -3314,8 +3314,8 @@
 	  ;; Searching the breakpoints
 	  ;; In IDL 5.5, the breakpoint reporting format changed.
 	  (bp-re54 "^[ \t]*\\([0-9]+\\)[ \t]+\\(\\S-+\\)?[ \t]+\\([0-9]+\\)[ \t]+\\(\\S-+\\)")
-	  (bp-re55 
-	   (concat 
+	  (bp-re55
+	   (concat
 	    "^\\s-*\\([0-9]+\\)"    ; 1 index
 	    "\\s-+\\([0-9]+\\)"     ; 2 line number
 	    "\\s-+\\(Uncompiled\\|" ; 3-6 either uncompiled or routine name
@@ -3330,27 +3330,27 @@
 	  bp-re indmap)
       (setq idlwave-shell-bp-alist (list nil))
       ;; Search for either header type, and set the correct regexp
-      (when (or 
+      (when (or
 	     (if (re-search-forward "^\\s-*Index.*\n\\s-*-" nil t)
-		 (setq bp-re bp-re54    ; versions <= 5.4 
+		 (setq bp-re bp-re54    ; versions <= 5.4
 		       indmap '(1 2 3 4))) ;index module line file
-	     (if (re-search-forward 
+	     (if (re-search-forward
 		  "^\\s-*Index\\s-*Line\\s-*Attributes\\s-*File" nil t)
 		 (setq bp-re bp-re55    ; versions >= 5.5
 		       indmap '(1 6 2 16)))) ; index module line file
 	;; There seems to be a breakpoint listing here, parse breakpoint lines.
 	(while (re-search-forward bp-re nil t)
-	  (setq index (string-to-int (match-string (nth 0 indmap)))
+	  (setq index (string-to-number (match-string (nth 0 indmap)))
 		module (match-string (nth 1 indmap))
-		line (string-to-int (match-string (nth 2 indmap)))
+		line (string-to-number (match-string (nth 2 indmap)))
 		file (idlwave-shell-file-name (match-string (nth 3 indmap))))
 	  (if (eq bp-re bp-re55)
-	      (setq count (if (match-string 10) 1 
+	      (setq count (if (match-string 10) 1
 			    (if (match-string 8)
-				(string-to-int (match-string 8))))
+				(string-to-number (match-string 8))))
 		    condition (match-string 13)
 		    disabled (not (null (match-string 15)))))
-		    
+
 	  ;; Add the breakpoint info to the list
 	  (nconc idlwave-shell-bp-alist
 		 (list (cons (list file line)
@@ -3360,7 +3360,7 @@
 			      count nil condition disabled))))))
       (setq idlwave-shell-bp-alist (cdr idlwave-shell-bp-alist))
       ;; Update breakpoint data
-      (if (eq bp-re bp-re54) 
+      (if (eq bp-re bp-re54)
 	  (mapcar 'idlwave-shell-update-bp old-bp-alist)
 	(mapcar 'idlwave-shell-update-bp-command-only old-bp-alist))))
   ;; Update the breakpoint overlays
@@ -3375,8 +3375,8 @@
   "Update BP data in breakpoint list.
 If BP frame is in `idlwave-shell-bp-alist' updates the breakpoint data."
   (let ((match (assoc (car bp) idlwave-shell-bp-alist)))
-    (if match 
-	(if command-only 
+    (if match
+	(if command-only
 	    (setf (nth 1 (cdr (cdr match))) (nth 1 (cdr (cdr match))))
 	  (setcdr (cdr match) (cdr (cdr bp)))))))
 
@@ -3401,7 +3401,7 @@
   (let*
       ((bp-file (idlwave-shell-bp-get bp 'file))
        (bp-module (idlwave-shell-bp-get bp 'module))
-       (internal-file-list 
+       (internal-file-list
 	(cdr (assoc bp-module idlwave-shell-sources-alist))))
     (if (and internal-file-list
 	     (equal bp-file (nth 0 internal-file-list)))
@@ -3409,14 +3409,14 @@
       bp-file)))
 
 (defun idlwave-shell-set-bp (bp &optional no-show)
-  "Try to set a breakpoint BP.  
+  "Try to set a breakpoint BP.
 The breakpoint will be placed at the beginning of the statement on the
 line specified by BP or at the next IDL statement if that line is not
 a statement.  Determines IDL's internal representation for the
 breakpoint, which may have occurred at a different line than
 specified.  If NO-SHOW is non-nil, don't do any updating."
   ;; Get and save the old breakpoints
-  (idlwave-shell-send-command 
+  (idlwave-shell-send-command
    idlwave-shell-bp-query
    `(progn
      (idlwave-shell-filter-bp (quote ,no-show))
@@ -3434,7 +3434,7 @@
 (defun idlwave-shell-set-bp2 (bp &optional no-show)
   "Use results of breakpoint and sources query to set bp.
 Use the count argument with IDLs breakpoint command.
-We treat a count of 1 as a temporary breakpoint. 
+We treat a count of 1 as a temporary breakpoint.
 Counts greater than 1 use the IDL AFTER=count keyword to break
 only after reaching the statement count times."
   (let*
@@ -3446,11 +3446,11 @@
               ((> arg 1)
                (format ",after=%d" arg))))
        (condition (idlwave-shell-bp-get bp 'condition))
-       (key (concat key 
+       (key (concat key
 		    (if condition (concat ",CONDITION=\"" condition "\""))))
        (line (idlwave-shell-bp-get bp 'line)))
     (idlwave-shell-send-command
-     (concat "breakpoint,'" 
+     (concat "breakpoint,'"
 	     (idlwave-shell-sources-bp bp) "',"
 	     (if (integerp line) (setq line (int-to-string line)))
 	     key)
@@ -3534,14 +3534,14 @@
 	  ov ov-list bp buf old-buffers win)
 
       ;; Delete the old overlays from their buffers
-      (if ov-alist 
+      (if ov-alist
 	  (while (setq ov-list (pop ov-alist))
 	    (while (setq ov (pop (cdr ov-list)))
 	      (add-to-list 'old-buffers (overlay-buffer ov))
 	      (delete-overlay ov))))
-      
+
       (setq ov-alist idlwave-shell-bp-overlays
-	    idlwave-shell-bp-overlays 
+	    idlwave-shell-bp-overlays
 	    (if idlwave-shell-bp-glyph
 		(mapcar 'list (mapcar 'car idlwave-shell-bp-glyph))
 	      (list (list 'bp))))
@@ -3565,7 +3565,7 @@
 			      (t 'bp-n)))
 			    (t 'bp))
 			 'bp))
-		 (help-list 
+		 (help-list
 		  (delq nil
 			(list
 			 (if count
@@ -3573,7 +3573,7 @@
 			 (if condition
 			     (concat "condition: " condition))
 			 (if disabled "disabled"))))
-		 (help-text (if help-list 
+		 (help-text (if help-list
 				(mapconcat 'identity help-list ",")))
 		 (full-type (if disabled
 				(intern (concat (symbol-name type)
@@ -3582,7 +3582,7 @@
 		 (ov-existing (assq full-type ov-alist))
 		 (ov (or (and (cdr ov-existing)
 			      (pop (cdr ov-existing)))
-			 (idlwave-shell-make-new-bp-overlay 
+			 (idlwave-shell-make-new-bp-overlay
 			  type disabled help-text)))
 		 match)
 	    (move-overlay ov beg end)
@@ -3592,7 +3592,7 @@
 		     (list (list full-type ov)))))
 	  ;; Take care of margins if using a glyph
 	  (when use-glyph
-	    (if old-buffers 
+	    (if old-buffers
 		(setq old-buffers (delq (current-buffer) old-buffers)))
 	    (if (fboundp 'set-specifier) ;; XEmacs
 		(set-specifier left-margin-width (cons (current-buffer) 2))
@@ -3610,7 +3610,7 @@
 
 
 (defun idlwave-shell-make-new-bp-overlay (&optional type disabled help)
-  "Make a new overlay for highlighting breakpoints.  
+  "Make a new overlay for highlighting breakpoints.
 
 This stuff is strongly dependant upon the version of Emacs.  If TYPE
 is passed, make an overlay of that type ('bp or 'bp-cond, currently
@@ -3620,17 +3620,17 @@
 	(use-glyph (and (memq idlwave-shell-mark-breakpoints '(t glyph))
 			idlwave-shell-bp-glyph))
 	(type (or type 'bp))
-	(face (if disabled 
+	(face (if disabled
 		  idlwave-shell-disabled-breakpoint-face
 		idlwave-shell-breakpoint-face)))
     (if (featurep 'xemacs)
 	;; This is XEmacs
 	(progn
-	  (cond 
+	  (cond
 	   ;; tty's cannot display glyphs
 	   ((eq (console-type) 'tty)
 	    (set-extent-property ov 'face face))
-	    
+
 	   ;; use the glyph
 	   (use-glyph
 	    (let ((glyph (cdr (assq type idlwave-shell-bp-glyph))))
@@ -3651,13 +3651,13 @@
 	(if use-glyph
 	    (let ((image-props (cdr (assq type idlwave-shell-bp-glyph)))
 		  string)
-	      
+
 	      (if disabled (setq image-props
-				 (append image-props 
+				 (append image-props
 					 (list :conversion 'disabled))))
-	      (setq string 
-		   (propertize "@" 
-			       'display 
+	      (setq string
+		   (propertize "@"
+			       'display
 			       (list (list 'margin 'left-margin)
 				     image-props)
 			       'mouse-face 'highlight
@@ -3685,14 +3685,14 @@
 Also with prefix arg, ask for the command.  You can also use the command
 `idlwave-shell-edit-default-command-line' to edit the line."
   (interactive "P")
-  (cond 
+  (cond
    ((equal arg '(16))
     (setq idlwave-shell-command-line-to-execute nil))
    ((equal arg '(4))
-    (setq idlwave-shell-command-line-to-execute 
+    (setq idlwave-shell-command-line-to-execute
 	  (read-string "IDL> " idlwave-shell-command-line-to-execute))))
   (idlwave-shell-reset 'hidden)
-  (idlwave-shell-send-command 
+  (idlwave-shell-send-command
    (or idlwave-shell-command-line-to-execute
        (with-current-buffer (idlwave-shell-buffer)
 	 (ring-ref comint-input-ring 0)))
@@ -3702,7 +3702,7 @@
   "Save file and run it in IDL.
 Runs `save-buffer' and sends a '.RUN' command for the associated file to IDL.
 When called from the shell buffer, re-run the file which was last handled by
-one of the save-and-.. commands."  
+one of the save-and-.. commands."
   (interactive)
   (idlwave-shell-save-and-action 'run))
 
@@ -3718,7 +3718,7 @@
   "Save file and batch it in IDL.
 Runs `save-buffer' and sends a '@file' command for the associated file to IDL.
 When called from the shell buffer, re-batch the file which was last handled by
-one of the save-and-.. commands."  
+one of the save-and-.. commands."
   (interactive)
   (idlwave-shell-save-and-action 'batch))
 
@@ -3758,7 +3758,7 @@
 	 'idlwave-shell-maybe-update-routine-info
 	 (if (idlwave-shell-hide-p 'run) 'mostly) nil t)
 	(idlwave-shell-bp-query))
-    (let ((msg (format "No such file %s" 
+    (let ((msg (format "No such file %s"
 		       idlwave-shell-last-save-and-action-file)))
       (setq idlwave-shell-last-save-and-action-file nil)
       (error msg))))
@@ -3791,7 +3791,7 @@
 
 (defun idlwave-shell-sources-filter ()
   "Get source files from `idlwave-shell-sources-query' output.
-Create `idlwave-shell-sources-alist' consisting of 
+Create `idlwave-shell-sources-alist' consisting of
 list elements of the form:
  (module name . (source-file-truename idlwave-internal-filename))."
   (save-excursion
@@ -3876,9 +3876,9 @@
                   (list
                    (save-match-data
                      (idlwave-shell-file-name
-                      (buffer-substring (match-beginning 1 ) 
+                      (buffer-substring (match-beginning 1 )
 					(match-end 1))))
-                   (string-to-int
+                   (string-to-number
                     (buffer-substring (match-beginning 2)
                                       (match-end 2)))))
             ;; Try to find the column of the error
@@ -3943,13 +3943,13 @@
 
 ;; The mouse bindings for PRINT and HELP
 (idlwave-shell-define-key-both
- (if (featurep 'xemacs) 
-     [(shift button2)] 
+ (if (featurep 'xemacs)
+     [(shift button2)]
    [(shift down-mouse-2)])
  'idlwave-shell-mouse-print)
 (idlwave-shell-define-key-both
- (if (featurep 'xemacs) 
-     [(control meta button2)] 
+ (if (featurep 'xemacs)
+     [(control meta button2)]
    [(control meta down-mouse-2)])
   'idlwave-shell-mouse-help)
 (idlwave-shell-define-key-both
@@ -3958,14 +3958,14 @@
    [(control shift down-mouse-2)])
  'idlwave-shell-examine-select)
 ;; Add this one from the idlwave-mode-map
-(define-key idlwave-shell-mode-map 
+(define-key idlwave-shell-mode-map
   (if (featurep 'xemacs)
       [(shift button3)]
     [(shift mouse-3)])
   'idlwave-mouse-context-help)
 
 ;; For Emacs, we need to turn off the button release events.
-(defun idlwave-shell-mouse-nop (event) 
+(defun idlwave-shell-mouse-nop (event)
   (interactive "e"))
 (unless (featurep 'xemacs)
   (idlwave-shell-define-key-both
@@ -3975,7 +3975,7 @@
   (idlwave-shell-define-key-both
    [(control meta mouse-2)] 'idlwave-shell-mouse-nop))
 
-  
+
 ;; The following set of bindings is used to bind the debugging keys.
 ;; If `idlwave-shell-activate-prefix-keybindings' is non-nil, the
 ;; first key in the list gets bound the C-c C-d prefix map.  If
@@ -3984,10 +3984,10 @@
 ;; `idlwave-mode-map' and `idlwave-shell-mode-map'.  The next list
 ;; item, if non-nil, means to bind this as a single key in the
 ;; electric-debug-mode-map.
-;; 
+;;
 ;; [C-c C-d]-binding   debug-modifier-key command bind-electric-debug buf-only
-;; Used keys:   abcdef hijklmnopqrstuvwxyz 
-;; Unused keys:       g             
+;; Used keys:   abcdef hijklmnopqrstuvwxyz
+;; Unused keys:       g
 (let* ((specs
 	'(([(control ?b)]   ?b   idlwave-shell-break-here t t)
 	  ([(control ?i)]   ?i   idlwave-shell-break-in t t)
@@ -4037,10 +4037,10 @@
 	  electric (nth 3 s)
 	  only-buffer (nth 4 s)
 	  cannotshift (and shift (char-valid-p c2) (eq c2 (upcase c2))))
-    
+
     ;; The regular prefix keymap.
     (when (and idlwave-shell-activate-prefix-keybindings k1)
-      (unless only-buffer 
+      (unless only-buffer
 	(define-key idlwave-shell-mode-prefix-map k1 cmd))
       (define-key idlwave-mode-prefix-map k1 cmd))
     ;; The debug modifier map
@@ -4054,24 +4054,24 @@
 	(unless only-buffer (define-key idlwave-shell-mode-map k2 cmd))))
     ;; The electric debug single-keystroke map
     (if (and electric (char-or-string-p c2))
-	(define-key idlwave-shell-electric-debug-mode-map (char-to-string c2) 
+	(define-key idlwave-shell-electric-debug-mode-map (char-to-string c2)
 	  cmd))))
 
 ;; A few extras in the electric debug map
 (define-key idlwave-shell-electric-debug-mode-map " " 'idlwave-shell-step)
 (define-key idlwave-shell-electric-debug-mode-map "+" 'idlwave-shell-stack-up)
 (define-key idlwave-shell-electric-debug-mode-map "=" 'idlwave-shell-stack-up)
-(define-key idlwave-shell-electric-debug-mode-map "-" 
+(define-key idlwave-shell-electric-debug-mode-map "-"
   'idlwave-shell-stack-down)
-(define-key idlwave-shell-electric-debug-mode-map "_" 
+(define-key idlwave-shell-electric-debug-mode-map "_"
   'idlwave-shell-stack-down)
 (define-key idlwave-shell-electric-debug-mode-map "q" 'idlwave-shell-retall)
-(define-key idlwave-shell-electric-debug-mode-map "t" 
+(define-key idlwave-shell-electric-debug-mode-map "t"
   '(lambda () (interactive) (idlwave-shell-send-command "help,/TRACE")))
 (define-key idlwave-shell-electric-debug-mode-map [(control ??)]
   'idlwave-shell-electric-debug-help)
-(define-key idlwave-shell-electric-debug-mode-map "x" 
-  '(lambda (arg) (interactive "P") 
+(define-key idlwave-shell-electric-debug-mode-map "x"
+  '(lambda (arg) (interactive "P")
      (idlwave-shell-print arg nil nil t)))
 
 
@@ -4092,12 +4092,12 @@
     (setq idlwave-shell-suppress-electric-debug nil))
   (idlwave-shell-electric-debug-mode))
 
-(defvar idlwave-shell-electric-debug-read-only) 
+(defvar idlwave-shell-electric-debug-read-only)
 (defvar idlwave-shell-electric-debug-buffers nil)
 
 (easy-mmode-define-minor-mode idlwave-shell-electric-debug-mode
   "Toggle Electric Debug mode.
-With no argument, this command toggles the mode. 
+With no argument, this command toggles the mode.
 Non-null prefix argument turns on the mode.
 Null prefix argument turns off the mode.
 
@@ -4107,7 +4107,7 @@
 " *Debugging*"
 idlwave-shell-electric-debug-mode-map)
 
-(add-hook 
+(add-hook
  'idlwave-shell-electric-debug-mode-on-hook
  (lambda ()
    (set (make-local-variable 'idlwave-shell-electric-debug-read-only)
@@ -4115,13 +4115,13 @@
    (setq buffer-read-only t)
    (add-to-list 'idlwave-shell-electric-debug-buffers (current-buffer))
    (if idlwave-shell-stop-line-overlay
-       (overlay-put idlwave-shell-stop-line-overlay 'face 
+       (overlay-put idlwave-shell-stop-line-overlay 'face
 		    idlwave-shell-electric-stop-line-face))
    (if (facep 'fringe)
        (set-face-foreground 'fringe idlwave-shell-electric-stop-color
 			    (selected-frame)))))
 
-(add-hook 
+(add-hook
  'idlwave-shell-electric-debug-mode-off-hook
  (lambda ()
    ;; Return to previous read-only state
@@ -4130,7 +4130,7 @@
    (setq idlwave-shell-electric-debug-buffers
 	 (delq (current-buffer) idlwave-shell-electric-debug-buffers))
    (if idlwave-shell-stop-line-overlay
-       (overlay-put idlwave-shell-stop-line-overlay 'face 
+       (overlay-put idlwave-shell-stop-line-overlay 'face
 		    idlwave-shell-stop-line-face)
      (if (facep 'fringe)
 	 (set-face-foreground 'fringe (face-foreground 'default))))))
@@ -4161,7 +4161,7 @@
 ;; Show the help text
 (defun idlwave-shell-electric-debug-help ()
   (interactive)
-  (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*" 
+  (with-output-to-temp-buffer "*IDLWAVE Electric Debug Help*"
     (princ idlwave-shell-electric-debug-help))
   (let* ((current-window (selected-window))
 	 (window (get-buffer-window "*IDLWAVE Electric Debug Help*"))
@@ -4176,7 +4176,7 @@
   `("Debug"
     ["Electric Debug Mode"
      idlwave-shell-electric-debug-mode
-     :style toggle :selected idlwave-shell-electric-debug-mode 
+     :style toggle :selected idlwave-shell-electric-debug-mode
      :included (eq major-mode 'idlwave-mode) :keys "C-c C-d C-v"]
     "--"
     ("Compile & Run"
@@ -4192,35 +4192,35 @@
      "--"
      ["Goto Next Error" idlwave-shell-goto-next-error t]
      "--"
-     ["Compile and Run Region" idlwave-shell-run-region 
+     ["Compile and Run Region" idlwave-shell-run-region
       (eq major-mode 'idlwave-mode)]
-     ["Evaluate Region" idlwave-shell-evaluate-region 
+     ["Evaluate Region" idlwave-shell-evaluate-region
       (eq major-mode 'idlwave-mode)]
      "--"
      ["Execute Default Cmd" idlwave-shell-execute-default-command-line t]
      ["Edit Default Cmd" idlwave-shell-edit-default-command-line t])
     ("Breakpoints"
-     ["Set Breakpoint" idlwave-shell-break-here 
+     ["Set Breakpoint" idlwave-shell-break-here
       :keys "C-c C-d C-c" :active (eq major-mode 'idlwave-mode)]
      ("Set Special Breakpoint"
       ["Set After Count Breakpoint"
        (progn
-	(let ((count (string-to-int (read-string "Break after count: "))))
+	(let ((count (string-to-number (read-string "Break after count: "))))
 	      (if (integerp count) (idlwave-shell-break-here count))))
        :active (eq major-mode 'idlwave-mode)]
       ["Set Condition Breakpoint"
        (idlwave-shell-break-here '(4))
        :active (eq major-mode 'idlwave-mode)])
-     ["Break in Module" idlwave-shell-break-in 
+     ["Break in Module" idlwave-shell-break-in
       :keys "C-c C-d C-i" :active (eq major-mode 'idlwave-mode)]
      ["Break in this Module" idlwave-shell-break-this-module
       :keys "C-c C-d C-j" :active (eq major-mode 'idlwave-mode)]
      ["Clear Breakpoint" idlwave-shell-clear-current-bp t]
      ["Clear All Breakpoints" idlwave-shell-clear-all-bp t]
      ["Disable/Enable Breakpoint" idlwave-shell-toggle-enable-current-bp t]
-     ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp 
+     ["Goto Previous Breakpoint" idlwave-shell-goto-previous-bp
       :keys "C-c C-d [" :active (eq major-mode 'idlwave-mode)]
-     ["Goto Next Breakpoint" idlwave-shell-goto-next-bp 
+     ["Goto Next Breakpoint" idlwave-shell-goto-next-bp
       :keys "C-c C-d ]" :active (eq major-mode 'idlwave-mode)]
      ["List All Breakpoints" idlwave-shell-list-all-bp t]
      ["Resync Breakpoints" idlwave-shell-bp-query t])
@@ -4252,38 +4252,38 @@
      ["Redisplay and Sync" idlwave-shell-redisplay t])
     ("Show Commands"
      ["Everything" (if (eq idlwave-shell-show-commands 'everything)
-		       (progn 
+		       (progn
 			 (setq idlwave-shell-show-commands
 			       (get 'idlwave-shell-show-commands 'last-val))
 			 (put 'idlwave-shell-show-commands 'last-val nil))
-		     (put 'idlwave-shell-show-commands 'last-val 
+		     (put 'idlwave-shell-show-commands 'last-val
 			  idlwave-shell-show-commands)
 		     (setq idlwave-shell-show-commands 'everything))
       :style toggle :selected (and (not (listp idlwave-shell-show-commands))
-				   (eq idlwave-shell-show-commands 
+				   (eq idlwave-shell-show-commands
 				       'everything))]
      "--"
      ["Compiling Commands" (idlwave-shell-add-or-remove-show 'run)
-      :style toggle 
-      :selected (not (idlwave-shell-hide-p 
+      :style toggle
+      :selected (not (idlwave-shell-hide-p
 		      'run
 		      (get 'idlwave-shell-show-commands 'last-val)))
       :active (not (eq idlwave-shell-show-commands 'everything))]
      ["Breakpoint Commands" (idlwave-shell-add-or-remove-show 'breakpoint)
-      :style toggle 
-      :selected (not (idlwave-shell-hide-p 
+      :style toggle
+      :selected (not (idlwave-shell-hide-p
 		      'breakpoint
 		      (get 'idlwave-shell-show-commands 'last-val)))
       :active (not (eq idlwave-shell-show-commands 'everything))]
      ["Debug Commands" (idlwave-shell-add-or-remove-show 'debug)
-      :style toggle 
-      :selected (not (idlwave-shell-hide-p 
+      :style toggle
+      :selected (not (idlwave-shell-hide-p
 		      'debug
 		      (get 'idlwave-shell-show-commands 'last-val)))
       :active (not (eq idlwave-shell-show-commands 'everything))]
      ["Miscellaneous Commands" (idlwave-shell-add-or-remove-show 'misc)
-      :style toggle 
-      :selected (not (idlwave-shell-hide-p 
+      :style toggle
+      :selected (not (idlwave-shell-hide-p
 		      'misc
 		      (get 'idlwave-shell-show-commands 'last-val)))
       :active (not (eq idlwave-shell-show-commands 'everything))])
@@ -4297,7 +4297,7 @@
       :style toggle :selected idlwave-shell-use-input-mode-magic])
     "--"
     ["Update Working Dir" idlwave-shell-resync-dirs t]
-    ["Save Path Info" 
+    ["Save Path Info"
      (idlwave-shell-send-command idlwave-shell-path-query
 				 'idlwave-shell-get-path-info
 				 'hide)
@@ -4309,7 +4309,7 @@
 
 (if (or (featurep 'easymenu) (load "easymenu" t))
     (progn
-      (easy-menu-define 
+      (easy-menu-define
        idlwave-mode-debug-menu idlwave-mode-map "IDL debugging menus"
        idlwave-shell-menu-def)
       (easy-menu-define
@@ -4329,7 +4329,7 @@
 (defvar idlwave-shell-bp-glyph nil
   "The glyphs to mark breakpoint lines in the source code.")
 
-(let ((image-alist 
+(let ((image-alist
        '((bp . "/* XPM */
 static char * file[] = {
 \"14 12 3 1\",
@@ -4462,7 +4462,7 @@
 \"    .XXXX.    \",
 \"     ....     \",
 \"              \"};"))) im-cons im)
-  
+
   (while (setq im-cons (pop image-alist))
     (setq im (cond ((and (featurep 'xemacs)
 			 (featurep 'xpm))
@@ -4475,7 +4475,7 @@
 		   ((and (not (featurep 'xemacs))
 			 (fboundp 'image-type-available-p)
 			 (image-type-available-p 'xpm))
-		    (list 'image :type 'xpm :data (cdr im-cons) 
+		    (list 'image :type 'xpm :data (cdr im-cons)
 			  :ascent 'center))
 		   (t nil)))
     (if im (push (cons (car im-cons) im) idlwave-shell-bp-glyph))))
@@ -4485,7 +4485,7 @@
 
 ;;; Load the toolbar when wanted by the user.
 
-(autoload 'idlwave-toolbar-toggle "idlw-toolbar" 
+(autoload 'idlwave-toolbar-toggle "idlw-toolbar"
   "Toggle the IDLWAVE toolbar")
 (autoload 'idlwave-toolbar-add-everywhere "idlw-toolbar"
   "Add IDLWAVE toolbar")
--- a/lisp/progmodes/make-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/make-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -257,26 +257,27 @@
 ;; Note that the first big subexpression is used by font lock.  Note
 ;; that if you change this regexp you might have to fix the imenu
 ;; index in makefile-imenu-generic-expression.
-(defconst makefile-dependency-regex
-  ;; Allow for one nested level $($(var:a=b):c=d)
-  ;; Scan non-$ constructs char by char, so we don't miss a $ while allowing $$.
-  ;; Since we must allow space between targets, I then don't know how to evite a command starting with :.
-  "^ *\\(\\(?:\\$[({]\\(?:\\$[({][^ \t\n#})]+?[})]\\|[^\n#]\\)+?[})]\\|[^\n#:=]\\)+?\\)[ \t]*:\\(?:[ \t]*$\\|[^=\n].*$\\)"
+(defvar makefile-dependency-regex
+  ;; Allow for two nested levels $(v1:$(v2:$(v3:a=b)=c)=d)
+  "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\(:\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)"
   "Regex used to find dependency lines in a makefile.")
 
-(defconst makefile-rule-action-regex
-  "^\t[ \t]*\\([-@]*\\)[ \t]*\\(.+\\)"
+(defvar makefile-dependency-skip "^:"
+  "Characters to skip to find a line that might be a dependency.")
+
+(defvar makefile-rule-action-regex
+  "^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)"
   "Regex used to highlight rule action lines in font lock mode.")
 
 ;; Note that the first and second subexpression is used by font lock.  Note
 ;; that if you change this regexp you might have to fix the imenu index in
 ;; makefile-imenu-generic-expression.
 (defconst makefile-macroassign-regex
-  "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*\\(?:!=[ \t]*\\(.*\\)\\|[*:+]?[:?]?=\\)"
+  "^ *\\([^ \n\t][^:#= \t\n]*\\)[ \t]*\\(?:!=[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)\\|[*:+]?[:?]?=[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)\\)"
   "Regex used to find macro assignment lines in a makefile.")
 
 (defconst makefile-var-use-regex
-  "[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%<?^+*][FD]?\\)[}):]"
+  "[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\|[@%<?^+*][FD]?\\)"
   "Regex used to find $(macro) uses in a makefile.")
 
 (defconst makefile-ignored-files-in-pickup-regex
@@ -323,20 +324,19 @@
     ".endif" ".for" ".if" ".ifdef" ".ifmake" ".ifndef" ".ifnmake" ".undef")
   "List of keywords understood by BSD make.")
 
-(defun makefile-make-font-lock-keywords (dependency action var keywords space
-						    &optional negation
-						    &rest font-lock-keywords)
+(defun makefile-make-font-lock-keywords (var keywords space
+					     &optional negation
+					     &rest font-lock-keywords)
   `(;; Do macro assignments.  These get the "variable-name" face.
     (,makefile-macroassign-regex
      (1 font-lock-variable-name-face)
      ;; This is for after !=
-     (2 'makefile-shell-face prepend t))
-
-    ;; Do dependencies.
-    (,dependency 1 'makefile-targets-face prepend)
+     (2 'makefile-shell-face prepend t)
+     ;; This is for after normal assignment
+     (3 'font-lock-string-face prepend t))
 
     ;; Rule actions.
-    (,action
+    (makefile-match-action
      (1 font-lock-type-face)
      (2 'makefile-shell-face prepend)
      ;; Only makepp has builtin commands.
@@ -353,15 +353,14 @@
      1 'makefile-targets-face prepend)
 
     ;; Fontify conditionals and includes.
-    ;; Note that plain `if' is an automake conditional, and not a bug.
     (,(concat "^\\(?: [ \t]*\\)?"
 	      (regexp-opt keywords t)
 	      "\\>[ \t]*\\([^: \t\n#]*\\)")
      (1 font-lock-keyword-face) (2 font-lock-variable-name-face))
 
-    ,(if negation
-	 `(,negation (1 font-lock-negation-char-face prepend)
-		     (2 font-lock-negation-char-face prepend t)))
+    ,@(if negation
+	  `((,negation (1 font-lock-negation-char-face prepend)
+		       (2 font-lock-negation-char-face prepend t))))
 
     ,@(if space
 	  '(;; Highlight lines that contain just whitespace.
@@ -376,28 +375,27 @@
 	    ;; They can make a tab fail to be effective.
 	    ("^\\( +\\)\t" 1 makefile-space-face)))
 
-    ,@font-lock-keywords))
+    ,@font-lock-keywords
+
+    ;; Do dependencies.
+    (makefile-match-dependency
+     (1 'makefile-targets-face prepend)
+     (3 'makefile-shell-face prepend t))))
 
 (defconst makefile-font-lock-keywords
   (makefile-make-font-lock-keywords
-   makefile-dependency-regex
-   makefile-rule-action-regex
    makefile-var-use-regex
    makefile-statements
    t))
 
 (defconst makefile-automake-font-lock-keywords
   (makefile-make-font-lock-keywords
-   makefile-dependency-regex
-   makefile-rule-action-regex
    makefile-var-use-regex
    makefile-automake-statements
    t))
 
 (defconst makefile-gmake-font-lock-keywords
   (makefile-make-font-lock-keywords
-   makefile-dependency-regex
-   makefile-rule-action-regex
    makefile-var-use-regex
    makefile-gmake-statements
    t
@@ -407,8 +405,8 @@
      1 'makefile-targets-face prepend)
 
    ;; $(function ...) ${function ...}
-   '("[^$]\\$[({]\\(\\S +\\s \\)"
-     1 font-lock-function-name-face)
+   '("[^$]\\$[({]\\([-a-zA-Z0-9_.]+\\s \\)"
+     1 font-lock-function-name-face prepend)
 
    ;; $(shell ...) ${shell ...}
    '("[^$]\\$\\([({]\\)shell[ \t]+"
@@ -417,24 +415,23 @@
 
 (defconst makefile-makepp-font-lock-keywords
   (makefile-make-font-lock-keywords
-   makefile-dependency-regex
-   ;; Don't care about initial tab, but I don't know how to font-lock correctly without.
-   "^\t[ \t]*\\(\\(?:[ \t]*noecho\\>\\|[ \t]*ignore[-_]error\\>\\|[ \t]*[-@]+\\)*\\)[ \t]*\\(\\(&\\S +\\)?.+\\)"
    makefile-var-use-regex
    makefile-makepp-statements
    nil
    "^\\(?: [ \t]*\\)?\\(?:and[ \t]+\\|else[ \t]+\\|or[ \t]+\\)?if\\(n\\)\\(?:def\\|eq\\|sys\\)\\>"
 
-   '("[^$]\\(\\$[({]\\(?:target\\|output\\)s?[})]\\)"
+   '("[^$]\\(\\$[({]\\(?:target\\|output\\)s?\\_>.*?[})]\\)"
      1 'makefile-targets-face prepend)
 
    ;; Colon modifier keywords.
-   '(":\\s *\\(build_c\\(?:ache\\|heck\\)\\|env\\(?:ironment\\)?\\|foreach\\|signature\\|scanner\\|quickscan\\|smartscan\\)\\>"
-     1 font-lock-keyword-face t)
+   '("\\(:\\s *\\)\\(build_c\\(?:ache\\|heck\\)\\|env\\(?:ironment\\)?\\|foreach\\|signature\\|scanner\\|quickscan\\|smartscan\\)\\>\\([^:\n]*\\)"
+     (1 font-lock-type-face t)
+     (2 font-lock-keyword-face t)
+     (3 font-lock-variable-name-face t))
 
    ;; $(function ...) $((function ...)) ${function ...} ${{function ...}}
-   '("[^$]\\$\\(((?\\|{{?\\)\\(\\S +\\s \\)"
-     2 font-lock-function-name-face)
+   '("[^$]\\$\\(?:((?\\|{{?\\)\\([-a-zA-Z0-9_.]+\\s \\)"
+     1 font-lock-function-name-face prepend)
 
    ;; $(shell ...) $((shell ...)) ${shell ...} ${{shell ...}}
    '("[^$]\\$\\(((?\\|{{?\\)shell\\(?:[-_]\\(?:global[-_]\\)?once\\)?[ \t]+"
@@ -466,11 +463,9 @@
    '("perl[-_]begin\\s *\\(?:\\s #.*\\)?\n\\(\\(?:.*\n\\)+?\\)\\s *perl[-_]end\\>"
      1 'makefile-makepp-perl-face t)))
 
-;; A lot more could be done for variables here:
 (defconst makefile-bsdmake-font-lock-keywords
   (makefile-make-font-lock-keywords
-   "^ *\\(\\(?:\\$[({]\\(?:\\$[({][^\n#})]+?[})]\\|[^\n#]\\)+?[})]\\|[^\n#:=]\\)+?\\)[ \t]*[:!]\\(?:[ \t]*$\\|[^=\n].*$\\)"
-   "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(.+\\)"
+   ;; A lot more could be done for variables here:
    makefile-var-use-regex
    makefile-bsdmake-statements
    t
@@ -489,9 +484,8 @@
     ("\\\\\n" 0 ".")))
 
 (defvar makefile-imenu-generic-expression
-  (list
-   (list "Dependencies" makefile-dependency-regex  1)
-   (list "Macro Assignment" makefile-macroassign-regex 1))
+  `(("Dependencies" ,makefile-dependency-regex 1)
+    ("Macro Assignment" ,makefile-macroassign-regex 1))
   "Imenu generic expression for Makefile mode.  See `imenu-generic-expression'.")
 
 ;;; ------------------------------------------------------------
@@ -695,6 +689,11 @@
 it is *.mk.  This function ends by invoking the function(s)
 `makefile-mode-hook'.
 
+It is strongly recommended to use `font-lock-mode', because that
+provides additional parsing information.  This is used for
+example to see that a rule action `echo foo: bar' is a not rule
+dependency, despite the colon.
+
 \\{makefile-mode-map}
 
 In the browser, use the following keys:
@@ -789,7 +788,8 @@
  	  nil nil
  	  ((?$ . "."))
  	  backward-paragraph
-	  (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords)))
+	  (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords)
+	  (font-lock-support-mode)))	; JIT breaks on long series of continuation lines.
 
   ;; Add-log.
   (make-local-variable 'add-log-current-defun-function)
@@ -831,7 +831,7 @@
 
   ;; Real TABs are important in makefiles
   (setq indent-tabs-mode t)
-  (run-hooks 'makefile-mode-hook))
+  (run-mode-hooks 'makefile-mode-hook))
 
 ;; These should do more than just differentiate font-lock.
 ;;;###autoload
@@ -849,14 +849,27 @@
 ;;;###autoload
 (define-derived-mode makefile-makepp-mode makefile-mode "Makeppfile"
   "An adapted `makefile-mode' that knows about makepp."
+   (set (make-local-variable 'makefile-rule-action-regex)
+	;; Don't care about initial tab, but I don't know how to font-lock correctly without.
+	"^\t[ \t]*\\(\\(?:\\(?:noecho\\|ignore[-_]error\\|[-@]+\\)[ \t]*\\)*\\)\\(\\(&\\S +\\)?\\(?:.+\\\\\n\\)*.+\\)")
+
   (setq font-lock-defaults
 	`(makefile-makepp-font-lock-keywords ,@(cdr font-lock-defaults))))
 
 ;;;###autoload
 (define-derived-mode makefile-bsdmake-mode makefile-mode "BSDmakefile"
   "An adapted `makefile-mode' that knows about BSD make."
+  (set (make-local-variable 'makefile-dependency-regex)
+       ;; Identical to default, except allows `!' instead of `:'.
+       "^ *\\(\\(?: *\\$\\(?:[({]\\(?:\\$\\(?:[({]\\(?:\\$\\(?:[^({]\\|.[^\n$#})]+?[})]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\|[^\n$#)}]\\)+?[})]\\|[^({]\\)\\| *[^ \n$#:=]+\\)+?\\)[ \t]*\\([:!]\\)\\(?:[ \t]*$\\|[^=\n]\\(?:[^#\n]*?;[ \t]*\\(.+\\)\\)?\\)")
+  (set (make-local-variable 'makefile-dependency-skip) "^:!")
+  (set (make-local-variable 'makefile-rule-action-regex)
+       "^\t[ \t]*\\([-+@]*\\)[ \t]*\\(\\(?:.+\\\\\n\\)*.+\\)")
   (setq font-lock-defaults
-	`(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults))))
+	`(makefile-bsdmake-font-lock-keywords ,@(cdr font-lock-defaults))
+	imenu-generic-expression
+	`(("Dependencies" ,makefile-dependency-regex 1)
+	  ,@(cdr imenu-generic-expression))))
 
 
 
@@ -867,18 +880,27 @@
   (interactive)
   (let ((here (point)))
     (end-of-line)
-    (if (re-search-forward makefile-dependency-regex (point-max) t)
+    (if (makefile-match-dependency nil)
 	(progn (beginning-of-line) t)	; indicate success
       (goto-char here) nil)))
 
 (defun makefile-previous-dependency ()
   "Move point to the beginning of the previous dependency line."
   (interactive)
-  (let ((here (point)))
+  (let ((pt (point)))
     (beginning-of-line)
-    (if (re-search-backward makefile-dependency-regex (point-min) t)
-	(progn (beginning-of-line) t)	; indicate success
-      (goto-char here) nil)))
+    ;; makefile-match-dependency done backwards:
+    (catch 'found
+      (while (progn (skip-chars-backward makefile-dependency-skip)
+		    (not (bobp)))
+	(or (prog1 (eq (char-after) ?=)
+	      (backward-char))
+	    (get-text-property (point) 'face)
+	    (beginning-of-line)
+	    (if (looking-at makefile-dependency-regex)
+		(throw 'found t))))
+      (goto-char pt)
+      nil)))
 
 
 
@@ -976,74 +998,56 @@
 (defun makefile-pickup-targets ()
   "Notice names of all target definitions in Makefile."
   (interactive)
-  (if (not makefile-need-target-pickup)
-      nil
-    (setq makefile-need-target-pickup nil)
-    (setq makefile-target-table nil)
-    (setq makefile-has-prereqs nil)
+  (when makefile-need-target-pickup
+    (setq makefile-need-target-pickup nil
+	  makefile-target-table nil
+	  makefile-has-prereqs nil)
     (save-excursion
       (goto-char (point-min))
-      (while (re-search-forward makefile-dependency-regex nil t)
-	(makefile-add-this-line-targets)))
-    (message "Read targets OK.")))
-
-(defun makefile-add-this-line-targets ()
-  (save-excursion
-    (beginning-of-line)
-    (let ((done-with-line nil)
-	  (line-number (1+ (count-lines (point-min) (point)))))
-      (while (not done-with-line)
-	(skip-chars-forward " \t")
-	(if (not (setq done-with-line (or (eolp)
-					  (char-equal (char-after (point)) ?:))))
-	    (progn
-	      (let* ((start-of-target-name (point))
-		     (target-name
-		      (progn
-			(skip-chars-forward "^ \t:#")
-			(buffer-substring start-of-target-name (point))))
+      (while (makefile-match-dependency nil)
+	(goto-char (match-beginning 1))
+	(while (let ((target-name
+		      (buffer-substring-no-properties (point)
+						      (progn
+							(skip-chars-forward "^ \t:#")
+							(point))))
 		     (has-prereqs
 		      (not (looking-at ":[ \t]*$"))))
-		(if (makefile-remember-target target-name has-prereqs)
-		    (message "Picked up target \"%s\" from line %d"
-			     target-name line-number)))))))))
+		 (if (makefile-remember-target target-name has-prereqs)
+		     (message "Picked up target \"%s\" from line %d"
+			      target-name (line-number-at-pos)))
+		 (skip-chars-forward " \t")
+		 (not (or (eolp) (eq (char-after) ?:)))))
+	(forward-line)))
+    (message "Read targets OK.")))
 
 (defun makefile-pickup-macros ()
   "Notice names of all macro definitions in Makefile."
   (interactive)
-  (if (not makefile-need-macro-pickup)
-      nil
-    (setq makefile-need-macro-pickup nil)
-    (setq makefile-macro-table nil)
+  (when makefile-need-macro-pickup
+    (setq makefile-need-macro-pickup nil
+	  makefile-macro-table nil)
     (save-excursion
       (goto-char (point-min))
       (while (re-search-forward makefile-macroassign-regex nil t)
-	(makefile-add-this-line-macro)
-	(forward-line 1)))
+	(goto-char (match-beginning 1))
+	(let ((macro-name (buffer-substring-no-properties (point)
+							  (progn
+							    (skip-chars-forward "^ \t:#=*")
+							    (point)))))
+	  (if (makefile-remember-macro macro-name)
+	      (message "Picked up macro \"%s\" from line %d"
+		       macro-name (line-number-at-pos))))
+	(forward-line)))
     (message "Read macros OK.")))
 
-(defun makefile-add-this-line-macro ()
-  (save-excursion
-    (beginning-of-line)
-    (skip-chars-forward " \t")
-    (unless (eolp)
-      (let* ((start-of-macro-name (point))
-	     (line-number (1+ (count-lines (point-min) (point))))
-	     (macro-name (progn
-			   (skip-chars-forward "^ \t:#=*")
-			   (buffer-substring start-of-macro-name (point)))))
-	(if (makefile-remember-macro macro-name)
-	    (message "Picked up macro \"%s\" from line %d"
-		     macro-name line-number))))))
-
 (defun makefile-pickup-everything (arg)
   "Notice names of all macros and targets in Makefile.
 Prefix arg means force pickups to be redone."
   (interactive "P")
   (if arg
-      (progn
-	(setq makefile-need-target-pickup t)
-	(setq makefile-need-macro-pickup t)))
+      (setq makefile-need-target-pickup t
+	    makefile-need-macro-pickup t))
   (makefile-pickup-macros)
   (makefile-pickup-targets)
   (if makefile-pickup-everything-picks-up-filenames-p
@@ -1054,17 +1058,12 @@
 Checks each filename against `makefile-ignored-files-in-pickup-regex'
 and adds all qualifying names to the list of known targets."
   (interactive)
-  (let* ((dir (file-name-directory (buffer-file-name)))
-	 (raw-filename-list (if dir
-				(file-name-all-completions "" dir)
-			      (file-name-all-completions "" ""))))
-    (mapcar (lambda (name)
-	       (if (and (not (file-directory-p name))
-			(not (string-match makefile-ignored-files-in-pickup-regex
-					   name)))
-		   (if (makefile-remember-target name)
-		       (message "Picked up file \"%s\" as target" name))))
-	    raw-filename-list)))
+  (mapc (lambda (name)
+	  (or (file-directory-p name)
+	      (string-match makefile-ignored-files-in-pickup-regex name)
+	      (if (makefile-remember-target name)
+		  (message "Picked up file \"%s\" as target" name))))
+	(file-name-all-completions "" (or (file-name-directory (buffer-file-name)) ""))))
 
 
 
@@ -1676,6 +1675,31 @@
 		  ((string= s "{{") "\\(.*?\\)[ \t]*}}")))
     (if s (looking-at s))))
 
+(defun makefile-match-dependency (bound)
+  "Search for `makefile-dependency-regex' up to BOUND.
+Checks that the colon has not already been fontified, else we
+matched in a rule action."
+  (catch 'found
+    (let ((pt (point)))
+      (while (progn (skip-chars-forward makefile-dependency-skip bound)
+		    (not (eobp)))
+	(forward-char)
+	(or (eq (char-after) ?=)
+	    (get-text-property (1- (point)) 'face)
+	    (when (save-excursion
+		    (beginning-of-line)
+		    (looking-at makefile-dependency-regex))
+	      (end-of-line)
+	      (throw 'found (point)))))
+      (goto-char pt))
+    nil))
+
+(defun makefile-match-action (bound)
+  (catch 'found
+    (while (re-search-forward makefile-rule-action-regex bound t)
+      (or (eq ?\\ (char-after (- (match-beginning 0) 2)))
+	  (throw 'found t)))))
+
 (defun makefile-do-macro-insertion (macro-name)
   "Insert a macro reference."
   (if (not (zerop (length macro-name)))
--- a/lisp/progmodes/perl-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/perl-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -376,33 +376,41 @@
 
 (defcustom perl-indent-level 4
   "*Indentation of Perl statements with respect to containing block."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-continued-statement-offset 4
   "*Extra indent for lines not starting new statements."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-continued-brace-offset -4
   "*Extra indent for substatements that start with open-braces.
 This is in addition to `perl-continued-statement-offset'."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-brace-offset 0
   "*Extra indentation for braces, compared with other text in same context."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-brace-imaginary-offset 0
   "*Imagined indentation of an open brace that actually follows a statement."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-label-offset -2
   "*Offset of Perl label lines relative to usual indentation."
-  :type 'integer)
+  :type 'integer
+  :group 'perl)
 (defcustom perl-indent-continued-arguments nil
   "*If non-nil offset of argument lines relative to usual indentation.
 If nil, continued arguments are aligned with the first argument."
-  :type '(choice integer (const nil)))
+  :type '(choice integer (const nil))
+  :group 'perl)
 
 (defcustom perl-tab-always-indent tab-always-indent
   "Non-nil means TAB in Perl mode always indents the current line.
 Otherwise it inserts a tab character if you type it past the first
 nonwhite character on the line."
-  :type 'boolean)
+  :type 'boolean
+  :group 'perl)
 
 ;; I changed the default to nil for consistency with general Emacs
 ;; conventions -- rms.
@@ -411,11 +419,13 @@
 For lines which don't need indenting, TAB either indents an
 existing comment, moves to end-of-line, or if at end-of-line already,
 create a new comment."
-  :type 'boolean)
+  :type 'boolean
+  :group 'perl)
 
 (defcustom perl-nochange ";?#\\|\f\\|\\s(\\|\\(\\w\\|\\s_\\)+:[^:]"
   "*Lines starting with this regular expression are not auto-indented."
-  :type 'regexp)
+  :type 'regexp
+  :group 'perl)
 
 ;; Outline support
 
--- a/lisp/progmodes/prolog.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/prolog.el	Fri May 20 17:44:36 2005 +0000
@@ -234,8 +234,8 @@
 if that value is non-nil.  Likewise with the value of `comint-mode-hook'.
 `prolog-mode-hook' is called after `comint-mode-hook'.
 
-You can send text to the inferior Prolog from other buffers
-using the commands `send-region', `send-string' and \\[prolog-consult-region].
+You can send text to the inferior Prolog from other buffers using the commands
+`process-send-region', `process-send-string' and \\[prolog-consult-region].
 
 Commands:
 Tab indents for Prolog; with argument, shifts rest
@@ -265,12 +265,12 @@
   (interactive "P\nr")
   (save-excursion
     (if compile
-	(send-string "prolog" prolog-compile-string)
-      (send-string "prolog" prolog-consult-string))
-    (send-region "prolog" beg end)
-    (send-string "prolog" "\n")		;May be unnecessary
+	(process-send-string "prolog" prolog-compile-string)
+      (process-send-string "prolog" prolog-consult-string))
+    (process-send-region "prolog" beg end)
+    (process-send-string "prolog" "\n")		;May be unnecessary
     (if prolog-eof-string
-	(send-string "prolog" prolog-eof-string)
+	(process-send-string "prolog" prolog-eof-string)
       (process-send-eof "prolog")))) ;Send eof to prolog process.
 
 (defun prolog-consult-region-and-go (compile beg end)
--- a/lisp/progmodes/ps-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/ps-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -1173,7 +1173,7 @@
 	(let (i)
 	  (setq
 	   i
-	   (string-to-int
+	   (string-to-number
 	    (buffer-substring (match-beginning 0) (match-end 0))))
 	  (goto-char p)
 	  (pop-to-buffer ps-run-parent)
--- a/lisp/progmodes/tcl.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/tcl.el	Fri May 20 17:44:36 2005 +0000
@@ -123,15 +123,18 @@
 
 (defcustom tcl-indent-level 4
   "*Indentation of Tcl statements with respect to containing block."
-  :type 'integer)
+  :type 'integer
+  :group 'tcl)
 
 (defcustom tcl-continued-indent-level 4
   "*Indentation of continuation line relative to first line of command."
-  :type 'integer)
+  :type 'integer
+  :group 'tcl)
 
 (defcustom tcl-auto-newline nil
   "*Non-nil means automatically newline before and after braces you insert."
-  :type 'boolean)
+  :type 'boolean
+  :group 'tcl)
 
 (defcustom tcl-tab-always-indent tab-always-indent
   "*Control effect of TAB key.
@@ -149,7 +152,8 @@
   6. Move backward to start of comment, indenting if necessary."
   :type '(choice (const :tag "Always" t)
 		 (const :tag "Beginning only" nil)
-		 (const :tag "Maybe move or make or delete comment" 'tcl)))
+		 (const :tag "Maybe move or make or delete comment" 'tcl))
+  :group 'tcl)
 
 
 (defcustom tcl-electric-hash-style nil ;; 'smart
@@ -160,23 +164,28 @@
 made depending on the number of hashes inserted; or nil, meaning that
 no quoting should be done.  Any other value for this variable is
 taken to mean `smart'.  The default is nil."
-  :type '(choice (const backslash) (const quote) (const smart) (const nil)))
+  :type '(choice (const backslash) (const quote) (const smart) (const nil))
+  :group 'tcl)
 
 (defcustom tcl-help-directory-list nil
   "*List of topmost directories containing TclX help files."
-  :type '(repeat directory))
+  :type '(repeat directory)
+  :group 'tcl)
 
 (defcustom tcl-use-smart-word-finder t
   "*If not nil, use smart way to find current word, for Tcl help feature."
-  :type 'boolean)
+  :type 'boolean
+  :group 'tcl)
 
 (defcustom tcl-application "wish"
   "*Name of Tcl program to run in inferior Tcl mode."
-  :type 'string)
+  :type 'string
+  :group 'tcl)
 
 (defcustom tcl-command-switches nil
   "*List of switches to supply to the `tcl-application' program."
-  :type '(repeat string))
+  :type '(repeat string)
+  :group 'tcl)
 
 (defcustom tcl-prompt-regexp "^\\(% \\|\\)"
   "*If not nil, a regexp that will match the prompt in the inferior process.
@@ -184,7 +193,8 @@
 
 The default is \"^\\(% \\|\\)\", which will match the default primary
 and secondary prompts for tclsh and wish."
-  :type 'regexp)
+  :type 'regexp
+  :group 'tcl)
 
 (defcustom inferior-tcl-source-command "source %s\n"
   "*Format-string for building a Tcl command to load a file.
@@ -192,7 +202,8 @@
 and should result in a Tcl expression that will command the
 inferior Tcl to load that file.  The filename will be appropriately
 quoted for Tcl."
-  :type 'string)
+  :type 'string
+  :group 'tcl)
 
 (defface tcl-escaped-newline '((t :inherit font-lock-string-face))
   "Face used for (non-escaped) backslash at end of a line in Tcl mode."
--- a/lisp/progmodes/vhdl-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/progmodes/vhdl-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -5082,7 +5082,7 @@
 			 ((string-equal "++" input) '++)
 			 ((string-equal "--" input) '--)
 			 ((string-match "^-?[0-9]+$" input)
-			  (string-to-int input))
+			  (string-to-number input))
 			 ((fboundp (setq interned (intern input)))
 			  interned)
 			 ((boundp interned) interned)
@@ -13701,10 +13701,10 @@
       (condition-case ()
 	  (progn (load-file file-dir-name)
 		 (string< (mapconcat
-			   (lambda (a) (format "%3d" (string-to-int a)))
+			   (lambda (a) (format "%3d" (string-to-number a)))
 			   (split-string "3.31.14" "\\.") "")
 			  (mapconcat
-			   (lambda (a) (format "%3d" (string-to-int a)))
+			   (lambda (a) (format "%3d" (string-to-number a)))
 			   (split-string vhdl-cache-version "\\.") "")))
 	(error (progn (vhdl-warning (format "ERROR:  Corrupted cache file: \"%s\"" file-dir-name))
 		      nil))))))
@@ -14075,7 +14075,7 @@
 		   (beginning-of-line) (looking-at "^\\([0-9]+\\):"))
 		 (re-search-backward
 		  (format "^[0-%d]:\\s-*[[{<]-"
-			  (max (1- (string-to-int (match-string 1))) 0)) nil t)))
+			  (max (1- (string-to-number (match-string 1))) 0)) nil t)))
     (goto-char (match-end 0))
     (speedbar-do-function-pointer)
     (speedbar-center-buffer-smartly)))
--- a/lisp/replace.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/replace.el	Fri May 20 17:44:36 2005 +0000
@@ -1288,14 +1288,14 @@
     (while (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\?\\)"
 			 newtext)
       (setq newtext
-	    (read-input "Edit replacement string: "
-			(prog1
-			    (cons
-			     (replace-match "" t t newtext 3)
-			     (1+ (match-beginning 3)))
-			  (setq match-data
-				(replace-match-data
-				 nil match-data match-data))))
+	    (read-string "Edit replacement string: "
+                         (prog1
+                             (cons
+                              (replace-match "" t t newtext 3)
+                              (1+ (match-beginning 3)))
+                           (setq match-data
+                                 (replace-match-data
+                                  nil match-data match-data))))
 	    noedit nil)))
   (set-match-data match-data)
   (replace-match newtext fixedcase literal)
@@ -1571,8 +1571,8 @@
 						nil real-match-data
 						real-match-data)
 			       next-replacement
-			       (read-input "Edit replacement string: "
-					   next-replacement)
+			       (read-string "Edit replacement string: "
+                                            next-replacement)
 			       noedit nil)
 			 (if replaced
 			     (set-match-data real-match-data)
--- a/lisp/reveal.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/reveal.el	Fri May 20 17:44:36 2005 +0000
@@ -54,7 +54,8 @@
 
 (defcustom reveal-around-mark t
   "Reveal text around the mark, if active."
-  :type 'boolean)
+  :type 'boolean
+  :group 'reveal)
 
 (defvar reveal-open-spots nil)
 (make-variable-buffer-local 'reveal-open-spots)
--- a/lisp/server.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/server.el	Fri May 20 17:44:36 2005 +0000
@@ -672,12 +672,12 @@
 		 ;; -position LINE:  Go to the given line in the next file.
 		 ((and (equal "-position" arg) (string-match "\\(\\+[0-9]+\\) " request))
 		  (setq request (substring request (match-end 0))
-			lineno (string-to-int (substring (match-string 1 request) 1))))
+			lineno (string-to-number (substring (match-string 1 request) 1))))
 
 		 ;; -position LINE:COLUMN:  Set point to the given position in the next file.
 		 ((and (equal "-position" arg) (string-match "\\+\\([0-9]+\\):\\([0-9]+\\) " request))
-		  (setq lineno (string-to-int (match-string 1 request))
-			columnno (string-to-int (match-string 2 request))
+		  (setq lineno (string-to-number (match-string 1 request))
+			columnno (string-to-number (match-string 2 request))
 			request (substring request (match-end 0))))
 
 		 ;; -file FILENAME:  Load the given file.
--- a/lisp/shadowfile.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/shadowfile.el	Fri May 20 17:44:36 2005 +0000
@@ -675,7 +675,7 @@
 	  (message "Data recovered from %s."
 		   (car (insert-file-contents (make-auto-save-file-name))))
 	  (sit-for 1))
-	(eval-current-buffer))
+	(eval-buffer))
       (when shadow-todo-file
 	(set-buffer (setq shadow-todo-buffer
 			  (find-file-noselect shadow-todo-file)))
@@ -686,7 +686,7 @@
 	  (message "Data recovered from %s."
 		   (car (insert-file-contents (make-auto-save-file-name))))
 	  (sit-for 1))
-	(eval-current-buffer nil))
+	(eval-buffer nil))
       (shadow-invalidate-hashtable))
     t))
 
--- a/lisp/shell.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/shell.el	Fri May 20 17:44:36 2005 +0000
@@ -759,7 +759,7 @@
 ;; If STR is of the form +n, for n>0, return n. Otherwise, nil.
 (defun shell-extract-num (str)
   (and (string-match "^\\+[1-9][0-9]*$" str)
-       (string-to-int str)))
+       (string-to-number str)))
 
 
 (defun shell-dirtrack-mode ()
--- a/lisp/startup.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/startup.el	Fri May 20 17:44:36 2005 +0000
@@ -1635,11 +1635,11 @@
                  (kill-emacs t))
 
                 ((string-match "^\\+[0-9]+\\'" argi)
-                 (setq line (string-to-int argi)))
+                 (setq line (string-to-number argi)))
 
                 ((string-match "^\\+\\([0-9]+\\):\\([0-9]+\\)\\'" argi)
-                 (setq line (string-to-int (match-string 1 argi))
-                       column (string-to-int (match-string 2 argi))))
+                 (setq line (string-to-number (match-string 1 argi))
+                       column (string-to-number (match-string 2 argi))))
 
                 ((setq tem (assoc argi command-line-x-option-alist))
                  ;; Ignore X-windows options and their args if not using X.
--- a/lisp/subr.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/subr.el	Fri May 20 17:44:36 2005 +0000
@@ -603,8 +603,13 @@
       (setq event (car event)))
   (if (symbolp event)
       (car (get event 'event-symbol-elements))
-    (let ((base (logand event (1- ?\A-\^@))))
-      (downcase (if (< base 32) (logior base 64) base)))))
+    (let* ((base (logand event (1- ?\A-\^@)))
+	   (uncontrolled (if (< base 32) (logior base 64) base)))
+      ;; There are some numbers that are invalid characters and
+      ;; cause `downcase' to get an error.
+      (condition-case ()
+	  (downcase uncontrolled)
+	(error uncontrolled)))))
 
 (defsubst mouse-movement-p (object)
   "Return non-nil if OBJECT is a mouse movement event."
@@ -753,16 +758,14 @@
 
 ;;;; Obsolescent names for functions.
 
-(defalias 'window-dot 'window-point)
-(defalias 'set-window-dot 'set-window-point)
-(defalias 'read-input 'read-string)
-(defalias 'send-string 'process-send-string)
-(defalias 'send-region 'process-send-region)
-(defalias 'show-buffer 'set-window-buffer)
-(defalias 'eval-current-buffer 'eval-buffer)
+(define-obsolete-function-alias 'window-dot 'window-point "22.1")
+(define-obsolete-function-alias 'set-window-dot 'set-window-point "22.1")
+(define-obsolete-function-alias 'read-input 'read-string "22.1")
+(define-obsolete-function-alias 'show-buffer 'set-window-buffer "22.1")
+(define-obsolete-function-alias 'eval-current-buffer 'eval-buffer "22.1")
+(define-obsolete-function-alias 'string-to-int 'string-to-number "22.1")
 
 (make-obsolete 'char-bytes "now always returns 1." "20.4")
-(make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15")
 
 (defun insert-string (&rest args)
   "Mocklisp-compatibility insert function.
@@ -771,6 +774,7 @@
   (dolist (el args)
     (insert (if (integerp el) (number-to-string el) el))))
 (make-obsolete 'insert-string 'insert "22.1")
+
 (defun makehash (&optional test) (make-hash-table :test (or test 'eql)))
 (make-obsolete 'makehash 'make-hash-table "22.1")
 
@@ -778,6 +782,7 @@
 (defun baud-rate ()
   "Return the value of the `baud-rate' variable."
   baud-rate)
+(make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15")
 
 
 ;;;; Obsolescence declarations for variables, and aliases.
@@ -787,10 +792,6 @@
 (make-obsolete-variable 'unread-command-char
   "use `unread-command-events' instead.  That variable is a list of events to reread, so it now uses nil to mean `no event', instead of -1."
   "before 19.15")
-(make-obsolete-variable 'post-command-idle-hook
-  "use timers instead, with `run-with-idle-timer'." "before 19.34")
-(make-obsolete-variable 'post-command-idle-delay
-  "use timers instead, with `run-with-idle-timer'." "before 19.34")
 
 ;; Lisp manual only updated in 22.1.
 (define-obsolete-variable-alias 'executing-macro 'executing-kbd-macro
@@ -805,6 +806,8 @@
 
 ;;;; Alternate names for functions - these are not being phased out.
 
+(defalias 'send-string 'process-send-string)
+(defalias 'send-region 'process-send-region)
 (defalias 'string= 'string-equal)
 (defalias 'string< 'string-lessp)
 (defalias 'move-marker 'set-marker)
@@ -822,9 +825,6 @@
 (defalias 'point-at-eol 'line-end-position)
 (defalias 'point-at-bol 'line-beginning-position)
 
-;;; Should this be an obsolete name?  If you decide it should, you get
-;;; to go through all the sources and change them.
-(define-obsolete-function-alias 'string-to-int 'string-to-number)
 
 ;;;; Hook manipulation functions.
 
@@ -2306,9 +2306,6 @@
   (and (consp object)
        (eq (car object) 'frame-configuration)))
 
-(defsubst left-fringe-p ()
-  (equal (car (window-fringes)) 0))
-
 (defun functionp (object)
   "Non-nil if OBJECT is any kind of function or a special form.
 Also non-nil if OBJECT is a symbol and its function definition is
--- a/lisp/term.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/term.el	Fri May 20 17:44:36 2005 +0000
@@ -3339,7 +3339,7 @@
 		(second-colon
 		 (string-match ":" string (1+ first-colon)))
 		(filename (substring string 1 first-colon))
-		(fileline (string-to-int
+		(fileline (string-to-number
 			   (substring string (1+ first-colon) second-colon))))
 	   (setq term-pending-frame (cons filename fileline))))
 	((= (aref string 0) ?/)
--- a/lisp/term/mac-win.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/term/mac-win.el	Fri May 20 17:44:36 2005 +0000
@@ -106,7 +106,7 @@
 	(let ((param (nth 3 aelt)))
 	  (setq default-frame-alist
 		(cons (cons param
-			    (string-to-int (car x-invocation-args)))
+			    (string-to-number (car x-invocation-args)))
 		      default-frame-alist)
 		x-invocation-args
 		(cdr x-invocation-args))))))
--- a/lisp/term/sun-mouse.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/term/sun-mouse.el	Fri May 20 17:44:36 2005 +0000
@@ -615,7 +615,7 @@
     (setq str (substring str (match-end 0)))
     (string-match ";[0-9]*" str)
     (setq x (substring str (1+ (match-beginning 0)) (match-end 0)))
-    (cons (string-to-int y) (string-to-int x))))
+    (cons (string-to-number y) (string-to-number x))))
 
 (defun sm::font-size ()
   "Returns font size in pixels: (cons Ysize Xsize)"
--- a/lisp/term/w32-win.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/term/w32-win.el	Fri May 20 17:44:36 2005 +0000
@@ -146,7 +146,7 @@
   "Handle SWITCH of the form \"-switch n\"."
   (let ((aelt (assoc switch command-line-x-option-alist)))
     (if aelt
-	(push (cons (nth 3 aelt) (string-to-int (pop x-invocation-args)))
+	(push (cons (nth 3 aelt) (string-to-number (pop x-invocation-args)))
 	      default-frame-alist))))
 
 ;; Handle options that apply to initial frame only
--- a/lisp/term/x-win.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/term/x-win.el	Fri May 20 17:44:36 2005 +0000
@@ -112,7 +112,7 @@
 	(let ((param (nth 3 aelt)))
 	  (setq default-frame-alist
 		(cons (cons param
-			    (string-to-int (car x-invocation-args)))
+			    (string-to-number (car x-invocation-args)))
 		      default-frame-alist)
 		x-invocation-args
 		(cdr x-invocation-args))))))
--- a/lisp/terminal.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/terminal.el	Fri May 20 17:44:36 2005 +0000
@@ -489,7 +489,7 @@
 	     (progn
 	       (and terminal-more-processing (null (cdr te-pending-output))
 		    (te-set-more-count nil))
-	       (send-string te-process (make-string 1 last-input-char))
+	       (process-send-string te-process (make-string 1 last-input-char))
 	       (te-process-output t))
 	   (message "Function key `%s' ignored"
 		    (single-key-description last-input-char))))))
--- a/lisp/textmodes/fill.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/fill.el	Fri May 20 17:44:36 2005 +0000
@@ -61,7 +61,8 @@
 Kinsoku processing is designed to prevent certain characters from being
 placed at the beginning or end of a line by filling.
 See the documentation of `kinsoku' for more information."
-  :type 'boolean)
+  :type 'boolean
+  :group 'fill)
 
 (defun set-fill-prefix ()
   "Set the fill prefix to the current line up to point.
--- a/lisp/textmodes/ispell.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/ispell.el	Fri May 20 17:44:36 2005 +0000
@@ -2296,9 +2296,9 @@
       (setq output (substring output (match-end 0))) ; skip over misspelling
       (if (eq type ?#)
 	  (setq count 0)		; no misses for type #
-	(setq count (string-to-int output) ; get number of misses.
+	(setq count (string-to-number output) ; get number of misses.
 	      output (substring output (1+ (string-match " " output 1)))))
-      (setq offset (string-to-int output))
+      (setq offset (string-to-number output))
       (if (eq type ?#)			; No miss or guess list.
 	  (setq output nil)
 	(setq output (substring output (1+ (string-match " " output 1)))))
--- a/lisp/textmodes/nroff-mode.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/nroff-mode.el	Fri May 20 17:44:36 2005 +0000
@@ -134,7 +134,7 @@
   (save-excursion
     (looking-at outline-regexp)
     (skip-chars-forward ".H ")
-    (string-to-int (buffer-substring (point) (+ 1 (point))))))
+    (string-to-number (buffer-substring (point) (+ 1 (point))))))
 
 ;;; Compute how much to indent a comment in nroff/troff source.
 ;;; By mit-erl!gildea April 86
--- a/lisp/textmodes/reftex-auc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-auc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,8 +1,9 @@
 ;;; reftex-auc.el --- RefTeX's interface to AUCTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-cite.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-cite.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
@@ -312,12 +312,12 @@
       (not (stringp (car al1))))))
 
 (defun reftex-bib-sort-year (e1 e2)
-  (< (string-to-int (or (cdr (assoc "year" e1)) "0"))
-     (string-to-int (or (cdr (assoc "year" e2)) "0"))))
+  (< (string-to-number (or (cdr (assoc "year" e1)) "0"))
+     (string-to-number (or (cdr (assoc "year" e2)) "0"))))
 
 (defun reftex-bib-sort-year-reverse (e1 e2)
-  (> (string-to-int (or (cdr (assoc "year" e1)) "0"))
-     (string-to-int (or (cdr (assoc "year" e2)) "0"))))
+  (> (string-to-number (or (cdr (assoc "year" e1)) "0"))
+     (string-to-number (or (cdr (assoc "year" e2)) "0"))))
 
 (defun reftex-get-crossref-alist (entry)
   ;; return the alist from a crossref entry
@@ -681,7 +681,7 @@
         ;; Should we cleanup empty optional arguments?
         ;; if the first is empty, it can be removed.  If the second is empty,
         ;; it has to go.  If there is only a single arg and empty, it can go
-	;; as well.
+        ;; as well.
         (when reftex-cite-cleanup-optional-args
           (cond 
            ((string-match "\\([a-zA-Z0-9]\\)\\[\\]{" string)
@@ -988,7 +988,7 @@
   (while (string-match
           "\\(\\`\\|[^%]\\)\\(\\(%\\([0-9]*\\)\\([a-zA-Z]\\)\\)[.,;: ]*\\)"
           format)
-    (let ((n (string-to-int (match-string 4 format)))
+    (let ((n (string-to-number (match-string 4 format)))
           (l (string-to-char (match-string 5 format)))
           rpl b e)
       (save-match-data
--- a/lisp/textmodes/reftex-dcr.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-dcr.el	Fri May 20 17:44:36 2005 +0000
@@ -1,8 +1,9 @@
 ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 ;;
 
 ;; This file is part of GNU Emacs.
--- a/lisp/textmodes/reftex-global.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-global.el	Fri May 20 17:44:36 2005 +0000
@@ -1,8 +1,9 @@
 ;;; reftex-global.el --- operations on entire documents with RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
@@ -416,10 +417,6 @@
 	(find-file  (car flist))))))
 
 ;;;###autoload
-(defvar reftex-isearch-minor-mode nil)
-(make-variable-buffer-local 'reftex-isearch-minor-mode)
-
-;;;###autoload
 (defun reftex-isearch-minor-mode (&optional arg)
   "When on, isearch searches the whole document, not only the current file.
 This minor mode allows isearch to search through all the files of
--- a/lisp/textmodes/reftex-index.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-index.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-parse.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-parse.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 ;;
 
 ;; This file is part of GNU Emacs.
@@ -999,7 +999,7 @@
         (if (string-match "\\`[A-Z]\\'" number-string)
             (aset reftex-section-numbers i
                   (- (string-to-char number-string) ?A -1))
-            (aset reftex-section-numbers i (string-to-int number-string)))
+            (aset reftex-section-numbers i (string-to-number number-string)))
         (pop numbers))
       (decf i)))
   (put 'reftex-section-numbers 'appendix appendix))
@@ -1045,7 +1045,7 @@
             (setq string 
                   (concat
                    (char-to-string
-                    (1- (+ ?A (string-to-int (match-string 0 string)))))
+                    (1- (+ ?A (string-to-number (match-string 0 string)))))
                    (substring string (match-end 0))))))
       (if star
           (concat (make-string (1- (length string)) ?\ ) "*")
--- a/lisp/textmodes/reftex-ref.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-ref.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
@@ -29,6 +29,7 @@
 (eval-when-compile (require 'cl))
 (provide 'reftex-ref)
 (require 'reftex)
+(require 'reftex-parse)
 ;;;
 
 (defun reftex-label-location (&optional bound)
@@ -200,13 +201,13 @@
               force-prompt)
 
           (while (not valid)
-            ;; iterate until we get a legal label
+            ;; iterate until we get a valid label
 
             (setq label (read-string
                          (if naked "Naked Label: " "Label: ")
                          default))
 
-            ;; Lets make sure that this is a legal label
+            ;; Lets make sure that this is a valid label
             (cond
 
              ((string-match (concat "\\`\\(" (regexp-quote prefix)
--- a/lisp/textmodes/reftex-sel.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-sel.el	Fri May 20 17:44:36 2005 +0000
@@ -1,8 +1,9 @@
 ;;; reftex-sel.el --- the selection modes for RefTeX
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
@@ -418,7 +419,7 @@
           (remove-hook 'post-command-hook 
                        'reftex-select-post-command-hook t))
         ;; Kill the mark overlays
-        (mapcar (lambda (c) (delete-overlay (nth 1 c)))
+        (mapcar (lambda (c) (reftex-delete-overlay (nth 1 c)))
                 reftex-select-marked)))))
 
     (set (make-local-variable 'reftex-last-line)
@@ -604,14 +605,14 @@
     (setq boe (or (previous-single-property-change (1+ (point)) :data)
                   (point-min))
           eoe (or (next-single-property-change (point) :data) (point-max)))
-    (setq ovl (make-overlay boe eoe))
+    (setq ovl (reftex-make-overlay boe eoe))
     (push (list data ovl separator) reftex-select-marked)
-    (overlay-put ovl 'face reftex-select-mark-face)
-    (overlay-put ovl 'before-string
-                 (if separator
-                     (format "*%c%d* " separator
-                             (length reftex-select-marked))
-                   (format "*%d*  " (length reftex-select-marked))))
+    (reftex-overlay-put ovl 'face reftex-select-mark-face)
+    (reftex-overlay-put ovl 'before-string
+                        (if separator
+                            (format "*%c%d* " separator
+                                    (length reftex-select-marked))
+                          (format "*%d*  " (length reftex-select-marked))))
     (message "Entry has mark no. %d" (length reftex-select-marked))))
 
 (defun reftex-select-mark-comma ()
@@ -637,19 +638,16 @@
          sep)
     (unless cell
       (error "No marked entry at point"))
-    (and ovl (delete-overlay ovl))
+    (and ovl (reftex-delete-overlay ovl))
     (setq reftex-select-marked (delq cell reftex-select-marked))
-    (if (featurep 'xemacs)
-        ;; before-string property is broken in Emacs
-        (progn
-          (setq cnt (1+ (length reftex-select-marked)))
-          (mapcar (lambda (c)
-                    (setq sep (nth 2 c))
-                    (overlay-put (nth 1 c) 'before-string
-                                 (if sep
-                                     (format "*%c%d* " sep (decf cnt))
-                                   (format "*%d*  " (decf cnt)))))
-                  reftex-select-marked)))
+    (setq cnt (1+ (length reftex-select-marked)))
+    (mapcar (lambda (c)
+              (setq sep (nth 2 c))
+              (reftex-overlay-put (nth 1 c) 'before-string
+                                  (if sep
+                                      (format "*%c%d* " sep (decf cnt))
+                                    (format "*%d*  " (decf cnt)))))
+            reftex-select-marked)
     (message "Entry no longer marked")))
 
 (defun reftex-select-help ()
--- a/lisp/textmodes/reftex-toc.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-toc.el	Fri May 20 17:44:36 2005 +0000
@@ -1,8 +1,9 @@
 ;;; reftex-toc.el --- RefTeX's table of contents mode
-;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
--- a/lisp/textmodes/reftex-vars.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex-vars.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 
 ;; This file is part of GNU Emacs.
 
@@ -155,6 +155,21 @@
       (?f    . "\\fullcite{%l}")
       (?F    . "\\fullocite{%l}")
       (?n    . "\\nocite{%l}")))
+    (jurabib "The Jurabib package"
+     ((?\C-m . "\\cite{%l}")
+      (?c    . "\\cite[][]{%l}")
+      (?t    . "\\citet{%l}")
+      (?p    . "\\citep{%l}")
+      (?e    . "\\citep[e.g.][]{%l}")
+      (?s    . "\\citep[see][]{%l}")
+      (?u    . "\\fullcite{%l}")
+      (?i    . "\\citetitle{%l}")
+      (?a    . "\\citeauthor{%l}")
+      (?e    . "\\citefield{}{%l}")
+      (?y    . "\\citeyear{%l}")
+      (?f    . "\\footcite{%l}")
+      (?F    . "\\footcite[][]{%l}")
+      (?l    . "\\footfullcite{%l}")))
     (bibentry "The Bibentry package"
       "\\bibentry{%l}")
     (harvard "The Harvard package"
@@ -639,7 +654,7 @@
   "Non-nil means, trust the label prefix when determining label type.
 It is customary to use special label prefixes to distinguish different label
 types.  The label prefixes have no syntactic meaning in LaTeX (unless
-special packages like fancyref) are being used.  RefTeX can and by
+special packages like fancyref are being used).  RefTeX can and by
 default does parse around each label to detect the correct label type,
 but this process can be slow when a document contains thousands of
 labels.  If you use label prefixes consistently, you may speed up
@@ -1373,7 +1388,9 @@
 so long that it does not fit onto the screen.  When this variable is
 non-nil, newlines will be added as necessary before and/or after the
 indexing command to keep lines short.  However, the matched text
-phrase and its index command will always end up on a single line.")
+phrase and its index command will always end up on a single line."
+  :group 'reftex-index-support
+  :type 'boolean)
 
 (defcustom reftex-index-phrases-sort-prefers-entry nil
   "*Non-nil means when sorting phrase lines, the explicit index entry is used.
@@ -1529,7 +1546,7 @@
 DEF-EXT:    The default extension for that file type, like \".tex\" or \".bib\".
 OTHER-EXT:  Any number of other valid extensions for this file type.
 
-When a files is searched and it does not have any of the valid extensions,
+When a files is searched and it does not have any of the legal extensions,
 we try the default extension first, and then the naked file name.
 
 If you are using AUCTeX, you also need to add new extensions to
--- a/lisp/textmodes/reftex.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/reftex.el	Fri May 20 17:44:36 2005 +0000
@@ -3,7 +3,7 @@
 ;;  Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.26
+;; Version: 4.28
 ;; Keywords: tex
 
 ;; This file is part of GNU Emacs.
@@ -301,7 +301,7 @@
 ;;; Define the formal stuff for a minor mode named RefTeX.
 ;;;
 
-(defconst reftex-version "RefTeX version 4.26"
+(defconst reftex-version "RefTeX version 4.28"
   "Version string for RefTeX.")
 
 (defvar reftex-mode nil
@@ -1501,7 +1501,7 @@
     (when (null (get pathvar 'status))
       ;; Get basic path
       (set pathvar
-           (reftex-uniq
+           (reftex-uniquify
             (reftex-parse-colon-path
              (mapconcat
               (lambda(x) 
@@ -1606,15 +1606,6 @@
         (push dir path1)))
     path1))
 
-(defun reftex-uniq (list)
-  (let (new)
-    (while list
-      (or (member (car list) new)
-          (push (car list) new))
-      (pop list))
-    (nreverse new)))
-
-
 ;;; =========================================================================
 ;;;
 ;;; Parser functions
@@ -2145,7 +2136,7 @@
     (nreverse rtn)))
 
 (defun reftex-uniquify (list)
-  ;; Return a list of all elements in LIST, but each only once
+  ;; Return a list of all elements in LIST, but each only once, keeping order
   (let (new elm)
     (while list
       (setq elm (pop list))
@@ -2342,31 +2333,40 @@
             (if (find-face face) (throw 'exit face))
           (if (facep face) (throw 'exit face)))))))
 
-;; Highlighting uses overlays.  For XEmacs, we need the emulation.
-(if (featurep 'xemacs) (require 'overlay))
+;; Highlighting uses overlays.  For XEmacs, we use extends.
+(if (featurep 'xemacs)
+    (progn
+      (defalias 'reftex-make-overlay 'make-extent)
+      (defalias 'reftex-overlay-put 'set-extent-property)
+      (defalias 'reftex-move-overlay 'set-extent-endpoints)
+      (defalias 'reftex-delete-overlay 'detach-extent))
+  (defalias 'reftex-make-overlay 'make-overlay)
+  (defalias 'reftex-overlay-put 'overlay-put)
+  (defalias 'reftex-move-overlay 'move-overlay)
+  (defalias 'reftex-delete-overlay 'delete-overlay))
 
 ;; We keep a vector with several different overlays to do our highlighting.
 (defvar reftex-highlight-overlays [nil nil nil])
 
 ;; Initialize the overlays
-(aset reftex-highlight-overlays 0 (make-overlay 1 1))
-(overlay-put (aref reftex-highlight-overlays 0) 
+(aset reftex-highlight-overlays 0 (reftex-make-overlay 1 1))
+(reftex-overlay-put (aref reftex-highlight-overlays 0) 
              'face 'highlight)
-(aset reftex-highlight-overlays 1 (make-overlay 1 1))
-(overlay-put (aref reftex-highlight-overlays 1)
+(aset reftex-highlight-overlays 1 (reftex-make-overlay 1 1))
+(reftex-overlay-put (aref reftex-highlight-overlays 1)
              'face reftex-cursor-selected-face)
-(aset reftex-highlight-overlays 2 (make-overlay 1 1))
-(overlay-put (aref reftex-highlight-overlays 2)
+(aset reftex-highlight-overlays 2 (reftex-make-overlay 1 1))
+(reftex-overlay-put (aref reftex-highlight-overlays 2)
              'face reftex-cursor-selected-face)
 
 ;; Two functions for activating and deactivation highlight overlays
 (defun reftex-highlight (index begin end &optional buffer)
   "Highlight a region with overlay INDEX."
-  (move-overlay (aref reftex-highlight-overlays index)
+  (reftex-move-overlay (aref reftex-highlight-overlays index)
                 begin end (or buffer (current-buffer))))
 (defun reftex-unhighlight (index)
   "Detach overlay INDEX."
-  (delete-overlay (aref reftex-highlight-overlays index)))
+  (reftex-delete-overlay (aref reftex-highlight-overlays index)))
 
 (defun reftex-highlight-shall-die ()
   ;; Function used in pre-command-hook to remove highlights.
@@ -2424,6 +2424,9 @@
 
 ;; Define a menu for the menu bar if Emacs is running under X
 
+(defvar reftex-isearch-minor-mode nil)
+(make-variable-buffer-local 'reftex-isearch-minor-mode)
+
 (require 'easymenu)
 
 (easy-menu-define reftex-mode-menu reftex-mode-map
--- a/lisp/textmodes/spell.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/spell.el	Fri May 20 17:44:36 2005 +0000
@@ -128,9 +128,9 @@
 	 (forward-char 1)
 	 (delete-region (point-min) (point))
 	 (setq newword
-	       (read-input (concat "`" word
-				   "' not recognized; edit a replacement: ")
-			   word))
+	       (read-string (concat "`" word
+                                    "' not recognized; edit a replacement: ")
+                            word))
 	 (flush-lines (concat "^" (regexp-quote word) "$")))
 	(if (not (equal word newword))
 	    (progn
--- a/lisp/textmodes/table.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/table.el	Fri May 20 17:44:36 2005 +0000
@@ -842,7 +842,8 @@
   :group 'table-hooks)
 
 (defcustom table-yank-handler '(nil nil t nil)
-  "*yank-handler for table.")
+  "*yank-handler for table."
+  :group 'table)
 
 (setplist 'table-disable-incompatibility-warning nil)
 
--- a/lisp/textmodes/texinfmt.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/textmodes/texinfmt.el	Fri May 20 17:44:36 2005 +0000
@@ -2807,7 +2807,7 @@
   (let ((arg  (texinfo-parse-arg-discard)))
     (if (string= "asis" arg)
         (setq texinfo-paragraph-indent "asis")
-      (setq texinfo-paragraph-indent (string-to-int arg)))))
+      (setq texinfo-paragraph-indent (string-to-number arg)))))
 
 (put 'refill 'texinfo-format 'texinfo-format-refill)
 (defun texinfo-format-refill ()
--- a/lisp/time-stamp.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/time-stamp.el	Fri May 20 17:44:36 2005 +0000
@@ -270,7 +270,7 @@
 	  (string-match "\\`\\(\\(-?[0-9]+\\)/\\)?\\([^%]+\\)?\\(\\(%[-.,:@+_ #^()0-9]*[A-Za-z%][^%]*\\)*%[-.,:@+_ #^()0-9]*[A-Za-z%]\\)?\\([^%]+\\)?\\'" time-stamp-pattern)
 	  (and (match-beginning 2)
 	       (setq line-limit
-		     (string-to-int (match-string 2 time-stamp-pattern))))
+		     (string-to-number (match-string 2 time-stamp-pattern))))
 	  (and (match-beginning 3)
 	       (setq ts-start (match-string 3 time-stamp-pattern)))
 	  (and (match-beginning 4)
@@ -558,9 +558,9 @@
 	 ((eq cur-char ?y)		;year
 	  (or alt-form (not (string-equal field-width ""))
 	      (time-stamp-conv-warn "%y" "%:y"))
-	  (string-to-int (format-time-string "%Y" time)))
+	  (string-to-number (format-time-string "%Y" time)))
 	 ((eq cur-char ?Y)		;4-digit year, new style
-	  (string-to-int (format-time-string "%Y" time)))
+	  (string-to-number (format-time-string "%Y" time)))
 	 ((eq cur-char ?z)		;time zone lower case
 	  (if change-case
 	      ""			;discourage %z variations
@@ -597,7 +597,7 @@
 	  (let* ((initial-length (length padded-result))
 		 (desired-length (if (string-equal field-width "")
 				     initial-length
-				   (string-to-int field-width))))
+				   (string-to-number field-width))))
 	    (if (> initial-length desired-length)
 		;; truncate strings on right, years on left
 		(if (stringp field-result)
@@ -621,7 +621,7 @@
 			       (format "%%:%c" format-char)))
     (if (and alt-form (not (string-equal field-width "")))
 	""				;discourage "%:2d" and the like
-      (string-to-int (format-time-string format-string time)))))
+      (string-to-number (format-time-string format-string time)))))
 
 (defvar time-stamp-conversion-warn t
   "Warn about soon-to-be-unsupported forms in `time-stamp-format'.
--- a/lisp/time.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/time.el	Fri May 20 17:44:36 2005 +0000
@@ -331,7 +331,7 @@
 			      ;; Record that mail file is accessible.
 			      (setq display-time-server-down-time nil)))))))
          (24-hours (substring time 11 13))
-         (hour (string-to-int 24-hours))
+         (hour (string-to-number 24-hours))
          (12-hours (int-to-string (1+ (% (+ hour 11) 12))))
          (am-pm (if (>= hour 12) "pm" "am"))
          (minutes (substring time 14 16))
--- a/lisp/timezone.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/timezone.el	Fri May 20 17:44:36 2005 +0000
@@ -205,7 +205,7 @@
       ;; Unix Epoch, so are 2000+.  Three-digit years are assumed to
       ;; be relative to 1900.
       (if (< (length year) 4)
-	  (let ((y (string-to-int year)))
+	  (let ((y (string-to-number year)))
 	    (if (< y 69)
 		(setq y (+ y 100)))
 	    (setq year (int-to-string (+ 1900 y)))))
@@ -271,7 +271,7 @@
 		  ;; +900
 		  timezone))
 	(if (stringp timezone)
-	    (setq timezone (string-to-int timezone)))
+	    (setq timezone (string-to-number timezone)))
 	;; Taking account of minute in timezone.
 	;; HHMM -> MM
 	(let* ((abszone (abs timezone))
@@ -314,7 +314,7 @@
 If LOCAL is nil, it is assumed to be GMT.
 If TIMEZONE is nil, use the local time zone."
   (let* ((date   (timezone-parse-date date))
-	 (year   (string-to-int (aref date 0)))
+	 (year   (string-to-number (aref date 0)))
 	 (year	 (cond ((< year 69)
 			(+ year 2000))
 		       ((< year 100)
@@ -322,12 +322,12 @@
 		       ((< year 1000)	; possible 3-digit years.
 			(+ year 1900))
 		       (t year)))
-	 (month  (string-to-int (aref date 1)))
-	 (day    (string-to-int (aref date 2)))
+	 (month  (string-to-number (aref date 1)))
+	 (day    (string-to-number (aref date 2)))
 	 (time   (timezone-parse-time (aref date 3)))
-	 (hour   (string-to-int (aref time 0)))
-	 (minute (string-to-int (aref time 1)))
-	 (second (string-to-int (aref time 2)))
+	 (hour   (string-to-number (aref time 0)))
+	 (minute (string-to-number (aref time 1)))
+	 (second (string-to-number (aref time 2)))
 	 (local  (or (aref date 4) local)) ;Use original if defined
 	 (timezone
 	  (or timezone
--- a/lisp/toolbar/tool-bar.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/toolbar/tool-bar.el	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 ;;; tool-bar.el --- setting up the tool bar
 ;;
-;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+;; Copyright (C) 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
 ;;
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: mouse frames
--- a/lisp/uniquify.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/uniquify.el	Fri May 20 17:44:36 2005 +0000
@@ -110,17 +110,20 @@
 		(const post-forward)
 		(const post-forward-angle-brackets)
 		(const :tag "standard Emacs behavior (nil)" nil))
-  :require 'uniquify)
+  :require 'uniquify
+  :group 'uniquify)
 
 (defcustom uniquify-after-kill-buffer-p t
   "If non-nil, rerationalize buffer names after a buffer has been killed."
-  :type 'boolean)
+  :type 'boolean
+  :group 'uniquify)
 
 (defcustom uniquify-ask-about-buffer-names-p nil
   "*If non-nil, permit user to choose names for buffers with same base file.
 If the user chooses to name a buffer, uniquification is preempted and no
 other buffer names are changed."
-  :type 'boolean)
+  :type 'boolean
+  :group 'uniquify)
 
 ;; The default value matches certain Gnus buffers.
 (defcustom uniquify-ignore-buffers-re nil
@@ -128,11 +131,13 @@
 For instance, set this to \"^draft-[0-9]+$\" to avoid having uniquify rename
 draft buffers even if `uniquify-after-kill-buffer-p' is non-nil and the
 visited file name isn't the same as that of the buffer."
-  :type '(choice (const :tag "Uniquify all buffers" nil) regexp))
+  :type '(choice (const :tag "Uniquify all buffers" nil) regexp)
+  :group 'uniquify)
 
 (defcustom uniquify-min-dir-content 0
   "*Minimum number of directory name components included in buffer name."
-  :type 'integer)
+  :type 'integer
+  :group 'uniquify)
 
 (defcustom uniquify-separator nil
   "*String separator for buffer name components.
@@ -140,14 +145,16 @@
 base file name from directory part in buffer names (default \"|\").
 When `uniquify-buffer-name-style' is `reverse', separates all
 file name components (default \"\\\")."
-  :type '(choice (const nil) string))
+  :type '(choice (const nil) string)
+  :group 'uniquify)
 
 (defcustom uniquify-trailing-separator-p nil
   "*If non-nil, add a file name separator to dired buffer names.
 If `uniquify-buffer-name-style' is `forward', add the separator at the end;
 if it is `reverse', add the separator at the beginning; otherwise, this
 variable is ignored."
-  :type 'boolean)
+  :type 'boolean
+  :group 'uniquify)
 
 (defcustom uniquify-strip-common-suffix
   ;; Using it when uniquify-min-dir-content>0 doesn't make much sense.
@@ -156,7 +163,8 @@
 E.g. if you open /a1/b/c/d and /a2/b/c/d, the buffer names will say
 \"d|a1\" and \"d|a2\" instead of \"d|a1/b/c\" and \"d|a2/b/c\".
 This can be handy when you have deep parallel hierarchies."
-  :type 'boolean)
+  :type 'boolean
+  :group 'uniquify)
 
 (defvar uniquify-list-buffers-directory-modes '(dired-mode cvs-mode)
   "List of modes for which uniquify should obey `list-buffers-directory'.
--- a/lisp/url/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,21 @@
+2005-05-19  Juanma Barranquero  <lekktu@gmail.com>
+
+	* url-cookie.el (url-cookie-multiple-line):
+	Specify group and type in defcustom.
+
+2005-05-06  Juanma Barranquero  <lekktu@gmail.com>
+
+	* url-auth.el (url-register-auth-scheme):
+	* url-cookie.el (url-cookie-expired-p):
+	* url-dav.el (url-dav-process-date-property)
+	(url-dav-process-boolean-property, url-dav-process-DAV:status):
+	* url-http.el (url-http-chunked-encoding-after-change-function)
+	(url-http-wait-for-headers-change-function):
+	* url-ns.el (isInNet):
+	* url-parse.el (url-generic-parse-url):
+	* url-util.el (url-get-normalized-date): Replace `string-to-int'
+	by `string-to-number'.
+
 2005-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* url.el (url-retrieve-synchronously): Work around the fact that
--- a/lisp/url/url-auth.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-auth.el	Fri May 20 17:44:36 2005 +0000
@@ -293,7 +293,7 @@
 	 (function (or function (intern (concat "url-" type "-auth"))))
 	 (rating (cond
 		  ((null rating) 2)
-		  ((stringp rating) (string-to-int rating))
+		  ((stringp rating) (string-to-number rating))
 		  (t rating)))
 	 (node (assoc type url-registered-auth-schemes)))
     (if (not (fboundp function))
--- a/lisp/url/url-cookie.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-cookie.el	Fri May 20 17:44:36 2005 +0000
@@ -87,7 +87,9 @@
   "*If nil, HTTP requests put all cookies for the server on one line.
 Some web servers, such as http://www.hotmail.com/, only accept cookies
 when they are on one line.  This is broken behaviour, but just try
-telling Microsoft that.")
+telling Microsoft that."
+  :type 'boolean
+  :group 'url-cookie)
 
 (defvar url-cookies-changed-since-last-save nil
   "Whether the cookies list has changed since the last save operation.")
@@ -208,13 +210,13 @@
 	 (cur-date (and exp (timezone-parse-date (current-time-string))))
 	 (exp-date (and exp (timezone-parse-date exp)))
 	 (cur-greg (and cur-date (timezone-absolute-from-gregorian
-				  (string-to-int (aref cur-date 1))
-				  (string-to-int (aref cur-date 2))
-				  (string-to-int (aref cur-date 0)))))
+				  (string-to-number (aref cur-date 1))
+				  (string-to-number (aref cur-date 2))
+				  (string-to-number (aref cur-date 0)))))
 	 (exp-greg (and exp (timezone-absolute-from-gregorian
-			     (string-to-int (aref exp-date 1))
-			     (string-to-int (aref exp-date 2))
-			     (string-to-int (aref exp-date 0)))))
+			     (string-to-number (aref exp-date 1))
+			     (string-to-number (aref exp-date 2))
+			     (string-to-number (aref exp-date 0)))))
 	 (diff-in-days (and exp (- cur-greg exp-greg)))
 	 )
     (cond
@@ -224,12 +226,12 @@
      (t					; Expires sometime today, check times
       (let* ((cur-time (timezone-parse-time (aref cur-date 3)))
 	     (exp-time (timezone-parse-time (aref exp-date 3)))
-	     (cur-norm (+ (* 360 (string-to-int (aref cur-time 2)))
-			  (*  60 (string-to-int (aref cur-time 1)))
-			  (*   1 (string-to-int (aref cur-time 0)))))
-	     (exp-norm (+ (* 360 (string-to-int (aref exp-time 2)))
-			  (*  60 (string-to-int (aref exp-time 1)))
-			  (*   1 (string-to-int (aref exp-time 0))))))
+	     (cur-norm (+ (* 360 (string-to-number (aref cur-time 2)))
+			  (*  60 (string-to-number (aref cur-time 1)))
+			  (*   1 (string-to-number (aref cur-time 0)))))
+	     (exp-norm (+ (* 360 (string-to-number (aref exp-time 2)))
+			  (*  60 (string-to-number (aref exp-time 1)))
+			  (*   1 (string-to-number (aref exp-time 0))))))
 	(> (- cur-norm exp-norm) 1))))))
 
 ;;;###autoload
--- a/lisp/url/url-dav.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-dav.el	Fri May 20 17:44:36 2005 +0000
@@ -121,17 +121,17 @@
 
     ;; Nobody else handles iso8601 correctly, lets do it ourselves.
     (when (string-match date-re date-string re-start)
-      (setq year (string-to-int (match-string 1 date-string))
-	    month (string-to-int (match-string 2 date-string))
-	    day (string-to-int (match-string 3 date-string))
+      (setq year (string-to-number (match-string 1 date-string))
+	    month (string-to-number (match-string 2 date-string))
+	    day (string-to-number (match-string 3 date-string))
 	    re-start (match-end 0))
       (when (string-match time-re date-string re-start)
-	(setq hour (string-to-int (match-string 1 date-string))
-	      minute (string-to-int (match-string 2 date-string))
-	      seconds (string-to-int (match-string 3 date-string))
-	      fractional-seconds (string-to-int (or
-						 (match-string 4 date-string)
-						 "0"))
+	(setq hour (string-to-number (match-string 1 date-string))
+	      minute (string-to-number (match-string 2 date-string))
+	      seconds (string-to-number (match-string 3 date-string))
+	      fractional-seconds (string-to-number (or
+                                                    (match-string 4 date-string)
+                                                    "0"))
 	      re-start (match-end 0))
 	(when (string-match tz-re date-string re-start)
 	  (setq tz (match-string 1 date-string)))
@@ -149,7 +149,7 @@
     time))
 
 (defun url-dav-process-boolean-property (node)
-  (/= 0 (string-to-int (url-dav-node-text node))))
+  (/= 0 (string-to-number (url-dav-node-text node))))
 
 (defun url-dav-process-uri-property (node)
   ;; Returns a parsed representation of the URL...
@@ -318,7 +318,7 @@
   ;; only care about the numeric status code.
   (let ((status (url-dav-node-text node)))
     (if (string-match "\\`[ \r\t\n]*HTTP/[0-9.]+ \\([0-9]+\\)" status)
-	(string-to-int (match-string 1 status))
+	(string-to-number (match-string 1 status))
       500)))
 
 (defun url-dav-process-DAV:propstat (node)
--- a/lisp/url/url-http.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-http.el	Fri May 20 17:44:36 2005 +0000
@@ -827,10 +827,10 @@
 						 'text-cursor
 					       'cursor)
 				       'invisible t))
-	    (setq url-http-chunked-length (string-to-int (buffer-substring
-							  (match-beginning 1)
-							  (match-end 1))
-							 16)
+	    (setq url-http-chunked-length (string-to-number (buffer-substring
+                                                             (match-beginning 1)
+                                                             (match-end 1))
+                                                            16)
 		  url-http-chunked-counter (1+ url-http-chunked-counter)
 		  url-http-chunked-start (set-marker
 					  (or url-http-chunked-start
@@ -904,7 +904,7 @@
 		    url-http-content-type (mail-fetch-field "content-type"))
 	      (if (mail-fetch-field "content-length")
 		  (setq url-http-content-length
-			(string-to-int (mail-fetch-field "content-length"))))
+			(string-to-number (mail-fetch-field "content-length"))))
 	      (widen)))
 	  (if url-http-transfer-encoding
 	      (setq url-http-transfer-encoding
--- a/lisp/url/url-ns.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-ns.el	Fri May 20 17:44:36 2005 +0000
@@ -51,9 +51,9 @@
     (if (or (/= (length netc) (length ipc))
 	    (/= (length ipc) (length maskc)))
 	nil
-      (setq netc (mapcar 'string-to-int netc)
-	    ipc (mapcar 'string-to-int ipc)
-	    maskc (mapcar 'string-to-int maskc))
+      (setq netc (mapcar 'string-to-number netc)
+	    ipc (mapcar 'string-to-number ipc)
+	    maskc (mapcar 'string-to-number maskc))
       (and
        (= (logand (nth 0 netc) (nth 0 maskc))
 	  (logand (nth 0 ipc)  (nth 0 maskc)))
--- a/lisp/url/url-parse.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-parse.el	Fri May 20 17:44:36 2005 +0000
@@ -167,7 +167,7 @@
 		  (setq pass (match-string 2 user)
 			user (match-string 1 user)))
 	      (if (string-match ":\\([0-9+]+\\)" host)
-		  (setq port (string-to-int (match-string 1 host))
+		  (setq port (string-to-number (match-string 1 host))
 			host (substring host 0 (match-beginning 0))))
 	      (if (string-match ":$" host)
 		  (setq host (substring host 0 (match-beginning 0))))
--- a/lisp/url/url-util.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/url/url-util.el	Fri May 20 17:44:36 2005 +0000
@@ -196,7 +196,7 @@
 	 (year nil)
 	 (month (car
 		 (rassoc
-		  (string-to-int (aref parsed 1)) url-monthabbrev-alist)))
+		  (string-to-number (aref parsed 1)) url-monthabbrev-alist)))
 	 )
     (setq day (or (car-safe (rassoc day url-weekday-alist))
 		  (substring raw 0 3))
--- a/lisp/vms-patch.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/vms-patch.el	Fri May 20 17:44:36 2005 +0000
@@ -93,7 +93,7 @@
     (if (not args)
 	(if file
 	    (progn (find-file file)
-		   (if line (goto-line (string-to-int line)))))
+		   (if line (goto-line (string-to-number line)))))
       (cd (file-name-directory file))
       (vms-command-line-again))))
 
--- a/lisp/w32-vars.el	Mon May 16 15:49:27 2005 +0000
+++ b/lisp/w32-vars.el	Fri May 20 17:44:36 2005 +0000
@@ -146,7 +146,8 @@
 		(const :tag "Seperator" (""))
 		(list :tag "Font Entry"
 		      (string :tag "Menu text")
-		      (string :tag "Font"))))))))
+		      (string :tag "Font")))))))
+    :group 'w32)
 
 (defcustom x-select-enable-clipboard t
   "*Non-nil means cutting and pasting uses the clipboard.
--- a/lispref/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/lispref/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,28 @@
+2005-05-19  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* keymaps.texi (Active Keymaps): Add anchor.
+
+	* modes.texi (Hooks): Delete confusing and unnecessary sentence.
+	(Major Mode Conventions): Refer to `Auto Major Mode' in more
+	appropriate place.
+	(Derived Modes): Small clarifications.
+	(Minor Mode Conventions, Keymaps and Minor Modes): Replace
+	references to nodes with references to anchors.
+	(Mode Line Data): Warn that `(:eval FORM)' should not load any files.
+	Clarify description of lists whose first element is an integer.
+	(Mode Line Variables): Add anchor.
+	(%-Constructs): Clarify description of integer after %.
+	(Emulating Mode Line): Describe nil value for FACE.
+
+2005-05-18  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* modes.texi (Derived Modes): Correct references to non-existing
+	variable standard-syntax-table.
+
+2005-05-17  Lute Kamstra  <lute@gnu.org>
+
+	* modes.texi (Defining Minor Modes): Mention the mode hook.
+
 2005-05-15  Kim F. Storm  <storm@cua.dk>
 
 	* processes.texi (Network): Remove open-network-stream-nowait.
--- a/lispref/keymaps.texi	Mon May 16 15:49:27 2005 +0000
+++ b/lispref/keymaps.texi	Fri May 20 17:44:36 2005 +0000
@@ -666,6 +666,7 @@
 
 @c Emacs 19 feature
 @defvar minor-mode-map-alist
+@anchor{Definition of minor-mode-map-alist}
 This variable is an alist describing keymaps that may or may not be
 active according to the values of certain variables.  Its elements look
 like this:
--- a/lispref/modes.texi	Mon May 16 15:49:27 2005 +0000
+++ b/lispref/modes.texi	Fri May 20 17:44:36 2005 +0000
@@ -88,8 +88,7 @@
 @end example
 
   At the appropriate time, Emacs uses the @code{run-hooks} function to
-run particular hooks.  This function calls the hook functions that have
-been added with @code{add-hook}.
+run particular hooks.
 
 @defun run-hooks &rest hookvars
 This function takes one or more normal hook variable names as
@@ -470,13 +469,13 @@
 @item
 If you want to make the new mode the default for files with certain
 recognizable names, add an element to @code{auto-mode-alist} to select
-the mode for those file names.  If you define the mode command to
-autoload, you should add this element in the same file that calls
-@code{autoload}.  If you use an autoload cookie for the mode command,
-you can also use an autoload cookie for the form that adds the element
-(@pxref{autoload cookie}).  If you do not autoload the mode command,
-it is sufficient to add the element in the file that contains the mode
-definition.  @xref{Auto Major Mode}.
+the mode for those file names (@pxref{Auto Major Mode}).  If you
+define the mode command to autoload, you should add this element in
+the same file that calls @code{autoload}.  If you use an autoload
+cookie for the mode command, you can also use an autoload cookie for
+the form that adds the element (@pxref{autoload cookie}).  If you do
+not autoload the mode command, it is sufficient to add the element in
+the file that contains the mode definition.
 
 @item
 In the comments that document the file, you should provide a sample
@@ -1001,7 +1000,7 @@
 @code{:syntax-table} keyword (see below).  @code{define-derived-mode}
 makes the parent mode's syntax-table the parent of
 @code{@var{variant}-syntax-table}, unless the latter is already set
-and already has a parent different from @code{standard-syntax-table}.
+and already has a parent different from the standard syntax table.
 
 @item
 The new mode has its own abbrev table, kept in the variable
@@ -1011,13 +1010,13 @@
 @item
 The new mode has its own mode hook, @code{@var{variant}-hook}.  It
 runs this hook, after running the hooks of its ancestor modes, with
-@code{run-mode-hooks} (@pxref{Mode Hooks}).
+@code{run-mode-hooks}, as the last thing it does. @xref{Mode Hooks}.
 @end itemize
 
 In addition, you can specify how to override other aspects of
 @var{parent} with @var{body}.  The command @var{variant}
 evaluates the forms in @var{body} after setting up all its usual
-overrides, just before running @code{@var{variant}-hook}.
+overrides, just before running the mode hooks.
 
 You can also specify @code{nil} for @var{parent}.  This gives the new
 mode no parent.  Then @code{define-derived-mode} behaves as described
@@ -1039,7 +1038,7 @@
 @item :syntax-table
 You can use this to explicitly specify a syntax table for the new
 mode.  If you specify a @code{nil} value, the new mode uses the same
-syntax table as @var{parent}, or @code{standard-syntax-table} if
+syntax table as @var{parent}, or the standard syntax table if
 @var{parent} is @code{nil}.  (Note that this does @emph{not} follow
 the convention used for non-keyword arguments that a @code{nil} value
 is equivalent with not specifying the argument.)
@@ -1262,8 +1261,9 @@
 
 @item
 Add an element to @code{minor-mode-alist} for each minor mode
-(@pxref{Mode Line Variables}), if you want to indicate the minor mode in
-the mode line.  This element should be a list of the following form:
+(@pxref{Definition of minor-mode-alist}), if you want to indicate the
+minor mode in the mode line.  This element should be a list of the
+following form:
 
 @smallexample
 (@var{mode-variable} @var{string})
@@ -1305,7 +1305,7 @@
 invoking the mode command.  Note in the variable's documentation string that
 setting the variable other than via Custom may not take effect.
 
-  Also mark the definition with an autoload cookie (@pxref{Autoload}),
+  Also mark the definition with an autoload cookie (@pxref{autoload cookie}),
 and specify a @code{:require} so that customizing the variable will load
 the library that defines the mode.  This will copy suitable definitions
 into @file{loaddefs.el} so that users can use @code{customize-option} to
@@ -1334,7 +1334,7 @@
 
   Each minor mode can have its own keymap, which is active when the mode
 is enabled.  To set up a keymap for a minor mode, add an element to the
-alist @code{minor-mode-map-alist}.  @xref{Active Keymaps}.
+alist @code{minor-mode-map-alist}.  @xref{Definition of minor-mode-map-alist}.
 
 @cindex @code{self-insert-command}, minor modes
   One use of minor mode keymaps is to modify the behavior of certain
@@ -1408,9 +1408,10 @@
 Any other keyword arguments are passed passed directly to the
 @code{defcustom} generated for the variable @var{mode}.
 
-The command named @var{mode} finishes by executing the @var{body} forms,
-if any, after it has performed the standard actions such as setting
-the variable named @var{mode}.
+The command named @var{mode} first performs the standard actions such
+as setting the variable named @var{mode} and then executes the
+@var{body} forms, if any.  It finishes by running the mode hook
+variable @code{@var{mode}-hook}.
 @end defmac
 
 @findex easy-mmode-define-minor-mode
@@ -1627,7 +1628,9 @@
 
 @item (:eval @var{form})
 A list whose first element is the symbol @code{:eval} says to evaluate
-@var{form}, and use the result as a string to display.
+@var{form}, and use the result as a string to display.  Make sure this
+evaluation cannot load any files, as doing so could cause infinite
+recursion.
 
 @item (:propertize @var{elt} @var{props}@dots{})
 A list whose first element is the symbol @code{:propertize} says to
@@ -1649,9 +1652,10 @@
 A list whose first element is an integer specifies truncation or
 padding of the results of @var{rest}.  The remaining elements
 @var{rest} are processed recursively as mode-line constructs and
-concatenated together.  Then the result is space filled (if
-@var{width} is positive) or truncated (to @minus{}@var{width} columns,
-if @var{width} is negative) on the right.
+concatenated together.  When @var{width} is positive, the result is
+space filled on the right if its width is less than @var{width}.  When
+@var{width} is negative, the result is truncated on the right to
+@minus{}@var{width} columns if its width exceeds @minus{}@var{width}.
 
 For example, the usual way to show what percentage of a buffer is above
 the top of the window is to use a list like this: @code{(-3 "%p")}.
@@ -1817,6 +1821,7 @@
 @end defvar
 
 @defvar minor-mode-alist
+@anchor{Definition of minor-mode-alist}
 This variable holds an association list whose elements specify how the
 mode line should indicate that a minor mode is active.  Each element of
 the @code{minor-mode-alist} should be a two-element list:
@@ -1888,7 +1893,8 @@
 
   The following table lists the recognized @code{%}-constructs and what
 they mean.  In any construct except @samp{%%}, you can add a decimal
-integer after the @samp{%} to specify how many characters to display.
+integer after the @samp{%} to specify a minimum field width.  If the
+width is less, the field is padded with spaces to the right.
 
 @table @code
 @item %b
@@ -1993,7 +1999,7 @@
 
   Certain text properties are meaningful in the
 mode line.  The @code{face} property affects the appearance of text; the
-@code{help-echo} property associate help strings with the text, and
+@code{help-echo} property associates help strings with the text, and
 @code{local-map} can make the text mouse-sensitive.
 
   There are four ways to specify text properties for text in the mode
@@ -2061,7 +2067,7 @@
 
   You can use the function @code{format-mode-line} to compute
 the text that would appear in a mode line or header line
-based on certain mode-line specification.
+based on a certain mode-line specification.
 
 @defun format-mode-line format &optional face window buffer
 This function formats a line of text according to @var{format} as if
@@ -2077,7 +2083,8 @@
 for which no @code{face} property is specified gets a default
 value which is usually @var{face}.  (If @var{face} is @code{t},
 that stands for either @code{mode-line} if @var{window} is selected,
-otherwise @code{mode-line-inactive}.)
+otherwise @code{mode-line-inactive}.  If @var{face} is @code{nil} or
+omitted, that stands for no face property.)
 
 However, if @var{face} is an integer, the value has no text properties.
 
--- a/man/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/man/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,34 @@
+2005-05-18  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* buffers.texi (Select Buffer): Document `C-u M-g M-g'.
+
+	* basic.texi (Moving Point): Mention default for `goto-line'.
+
+	* programs.texi (Lisp Doc): Eldoc mode shows only the first line
+	of a variable's docstring.
+
+2005-05-18  Lute Kamstra  <lute@gnu.org>
+
+	* maintaining.texi (Overview of Emerge): Add cross reference.
+	Remove duplication.
+
+	* emacs.texi (Top): Update to the current structure of the manual.
+	* misc.texi (Emacs Server): Add menu description.
+	* files.texi (Saving): Fix menu.
+	* custom.texi (Customization): Fix menu.
+	* mule.texi (International): Fix menu.
+	* kmacro.texi (Keyboard Macros): Fix menu.
+
+2005-05-16  Luc Teirlinck  <teirllm@auburn.edu>
+
+	* display.texi:  Various minor changes.
+	(Faces): Delete text that is repeated in the next section.
+
+2005-05-16  Nick Roberts  <nickrob@snap.net.nz>
+
+	* building.texi (Debugger Operation): Mention GUD tooltips are
+	disabled with GDB in text command mode.
+
 2005-05-16  Jay Belanger  <belanger@truman.edu>
 
 	* calc.texi (Storing Variables): Mention `calc-copy-special-constant'.
--- a/man/basic.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/basic.texi	Fri May 20 17:44:36 2005 +0000
@@ -240,8 +240,10 @@
 @item M-g M-g
 @itemx M-g g
 @itemx M-x goto-line
-Read a number @var{n} and move point to line number @var{n}.  Line 1
-is the beginning of the buffer.
+Read a number @var{n} and move point to the beginning of line number
+@var{n}.  Line 1 is the beginning of the buffer.  If point is on or
+just after a number, then that is the default for @var{n}, if you just
+press @key{RET} with an empty minibuffer.
 @item C-x C-n
 @findex set-goal-column
 @kindex C-x C-n
--- a/man/buffers.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/buffers.texi	Fri May 20 17:44:36 2005 +0000
@@ -77,6 +77,10 @@
 @item C-x 5 b @var{buffer} @key{RET}
 Similar, but select @var{buffer} in a separate frame
 (@code{switch-to-buffer-other-frame}).
+@item C-u M-g M-g
+@itemx C-u M-g g
+Read a number @var{n} and move to line @var{n} in the most recently
+selected buffer other than the current buffer.
 @end table
 
 @kindex C-x b
@@ -139,6 +143,19 @@
 can also be used to switch to an existing file-visiting buffer.
 @xref{Visiting}.
 
+  @kbd{C-u M-g M-g}, that is @code{goto-line} with a prefix argument
+of just @kbd{C-u}, reads a number @var{n} using the minibuffer,
+selects the most recently selected buffer other than the current
+buffer in another window, and then moves point to the beginning of
+line number @var{n} in that buffer.  This is mainly useful in a buffer
+that refers to line numbers in another buffer: if point is on or just
+after a number, @code{goto-line} uses that number as the default for
+@var{n}.  Note that prefix arguments other than just @kbd{C-u} behave
+differently.  @kbd{C-u 4 M-g M-g} goes to line 4 in the @emph{current}
+buffer, without reading a number from the minibuffer.  (Remember that
+@kbd{M-g M-g} without prefix argument reads a number @var{n} and then
+moves to line number @var{n} in the current buffer.)
+
   Emacs uses buffer names that start with a space for internal purposes.
 It treats these buffers specially in minor ways---for example, by
 default they do not record undo information.  It is best to avoid using
--- a/man/building.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/building.texi	Fri May 20 17:44:36 2005 +0000
@@ -515,6 +515,11 @@
 @code{gud-tooltip-echo-area} is non-@code{nil} then the variable's
 value is displayed in the echo area.
 
+With GDB in text command mode (@pxref{GDB Graphical Interface}),
+it is possible that use of GUD tooltips can cause a function to be
+called with harmful side-effects.  In this case, Emacs disables
+gud-tooltip-mode.
+
 @node Commands of GUD
 @subsection Commands of GUD
 
--- a/man/custom.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/custom.texi	Fri May 20 17:44:36 2005 +0000
@@ -27,19 +27,17 @@
 @menu
 * Minor Modes::		Each minor mode is one feature you can turn on
 			  independently of any others.
-* Easy Customization::
-                        Convenient way to browse and change user options.
+* Easy Customization::  Convenient way to browse and change user options.
 * Variables::		Many Emacs commands examine Emacs variables
 			  to decide what to do; by setting variables,
 			  you can control their functioning.
 * Key Bindings::	The keymaps say what command each key runs.
 			  By changing them, you can "redefine keys".
-* Keyboard Translations::
-                        If your keyboard passes an undesired code
-			   for a key, you can tell Emacs to
-			   substitute another code.
+* Keyboard Translations:: If your keyboard passes an undesired code
+			  for a key, you can tell Emacs to
+			  substitute another code.
 * Syntax::		The syntax table controls how words and
-			   expressions are parsed.
+			  expressions are parsed.
 * Init File::		How to write common customizations in the
 			  @file{.emacs} file.
 @end menu
--- a/man/display.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/display.texi	Fri May 20 17:44:36 2005 +0000
@@ -177,13 +177,9 @@
 for more information about Transient Mark mode and activation and
 deactivation of the mark.
 
-  One easy way to use faces is to turn on Font Lock mode.  This minor
-mode, which is always local to a particular buffer, arranges to
-choose faces according to the syntax of the text you are editing.  It
-can recognize comments and strings in most languages; in several
-languages, it can also recognize and properly highlight various other
-important constructs.  @xref{Font Lock}, for more information about
-Font Lock mode and syntactic highlighting.
+  One easy way to use faces is to turn on Font Lock mode.  @xref{Font
+Lock}, for more information about Font Lock mode and syntactic
+highlighting.
 
   You can print out the buffer with the highlighting that appears
 on your screen using the command @code{ps-print-buffer-with-faces}.
@@ -206,11 +202,12 @@
 
 @findex font-lock-mode
 @findex turn-on-font-lock
-  The command @kbd{M-x font-lock-mode} turns Font Lock mode on or off
-according to the argument, and toggles the mode when it has no argument.
-The function @code{turn-on-font-lock} unconditionally enables Font Lock
-mode.  This is useful in mode-hook functions.  For example, to enable
-Font Lock mode whenever you edit a C file, you can do this:
+  The command @kbd{M-x font-lock-mode} turns Font Lock mode on with
+positive argument, off with negative or zero argument, and toggles the
+mode when it has no argument.  The function @code{turn-on-font-lock}
+unconditionally enables Font Lock mode.  This is useful in mode-hook
+functions.  For example, to enable Font Lock mode whenever you edit a
+C file, you can do this:
 
 @example
 (add-hook 'c-mode-hook 'turn-on-font-lock)
@@ -219,9 +216,9 @@
 @findex global-font-lock-mode
 @vindex global-font-lock-mode
   To turn on Font Lock mode automatically in all modes which support
-it, customize the variable @code{global-font-lock-mode} or use the
-function @code{global-font-lock-mode} in your @file{.emacs} file, like
-this:
+it, customize the variable @code{global-font-lock-mode} using the
+Customize interface (@pxref{Easy Customization}) or use the function
+@code{global-font-lock-mode} in your @file{.emacs} file, like this:
 
 @example
 (global-font-lock-mode 1)
@@ -641,7 +638,7 @@
 meaning ``there's more text on this line which is scrolled
 horizontally out of view;'' clicking the mouse on one of the arrows
 scrolls the display horizontally in the direction of the arrow.   The
-fringes also indicate other things such as empty lines, or where a
+fringes can also indicate other things, such as empty lines, or where a
 program you are debugging is executing (@pxref{Debuggers}).
 
 @findex set-fringe-style
@@ -728,11 +725,12 @@
 of columns (you specify how many columns).  You can use this to get an
 overview of a part of a program.
 
-  To hide lines, type @kbd{C-x $} (@code{set-selective-display}) with a
-numeric argument @var{n}.  Then lines with at least @var{n} columns of
-indentation disappear from the screen.  The only indication of their
-presence is that three dots (@samp{@dots{}}) appear at the end of each
-visible line that is followed by one or more hidden ones.
+  To hide lines in the current buffer, type @kbd{C-x $}
+(@code{set-selective-display}) with a numeric argument @var{n}.  Then
+lines with at least @var{n} columns of indentation disappear from the
+screen.  The only indication of their presence is that three dots
+(@samp{@dots{}}) appear at the end of each visible line that is
+followed by one or more hidden ones.
 
   The commands @kbd{C-n} and @kbd{C-p} move across the hidden lines as
 if they were not there.
--- a/man/emacs.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/emacs.texi	Fri May 20 17:44:36 2005 +0000
@@ -12,7 +12,7 @@
 updated for Emacs version @value{EMACSVER}.
 
 Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, 1998,
-1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -129,13 +129,10 @@
 
 Indexes (nodes containing large menus)
 * Key Index::	        An item for each standard Emacs key sequence.
+* Option Index::        An item for every command-line option.
 * Command Index::       An item for each command name.
 * Variable Index::      An item for each documented variable.
 * Concept Index::       An item for each concept.
-@c This is last because @ifnottex leaves an empty line.
-@ifnottex
-* Option Index::        An item for every command-line option.
-@end ifnottex
 
 Important General Concepts
 * Screen::	        How to interpret what you see on the screen.
@@ -196,17 +193,14 @@
 * Emacs Server::        Using Emacs as an editing server for @code{mail}, etc.
 * Hardcopy::	        Printing buffers or regions.
 * PostScript::	        Printing buffers or regions as PostScript.
-* PostScript Variables::
-                        Customizing the PostScript printing commands.
+* PostScript Variables::Customizing the PostScript printing commands.
 * Sorting::	        Sorting lines, paragraphs or pages within Emacs.
 * Narrowing::	        Restricting display and editing to a portion
 		          of the buffer.
 * Two-Column::	        Splitting apart columns to edit them
 		          in side-by-side windows.
-* Editing Binary Files::
-                        Using Hexl mode to edit binary files.
-* Saving Emacs Sessions::
-                        Saving Emacs state from one session to the next.
+* Editing Binary Files::Using Hexl mode to edit binary files.
+* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
 * Recursive Edit::      A command can allow you to do editing
 			  "within the command".  This is called a
 			  "recursive editing level".
@@ -224,7 +218,6 @@
 * Contributing::        How to contribute improvements to Emacs.
 * Service::	        How to get help for your own Emacs needs.
 
-
 Detailed Node Listing
 ---------------------
 
@@ -245,12 +238,13 @@
 			  change something.
 * Erasing::	        Deleting and killing text.
 * Undo::	        Undoing recent changes in the text.
-* Files: Basic Files.   Visiting, creating, and saving files.
-* Help: Basic Help.     Asking what a character does.
+* Basic Files::         Visiting, creating, and saving files.
+* Basic Help::          Asking what a character does.
 * Blank Lines::	        Commands to make or delete blank lines.
 * Continuation Lines::  Lines too wide for the screen.
 * Position Info::       What page, line, row, or column is point on?
 * Arguments::	        Numeric arguments for repeating a command.
+* Repeating::           A short-cut for repeating the previous command.
 
 The Minibuffer
 
@@ -268,19 +262,23 @@
 * Apropos::		Asking what pertains to a given topic.
 * Library Keywords::	Finding Lisp libraries by keywords (topics).
 * Language Help::       Help relating to international language support.
+* Help Mode::           Special features of Help mode and Help buffers.
 * Misc Help::		Other help commands.
+* Help Files::          Commands to display pre-written help files.
+* Help Echo::           Help on active text and tooltips (`balloon help')
 
 The Mark and the Region
 
 * Setting Mark::	Commands to set the mark.
 * Transient Mark::	How to make Emacs highlight the region--
 			  when there is one.
+* Momentary Mark::      Enabling Transient Mark mode momentarily.
 * Using Region::	Summary of ways to operate on contents of the region.
 * Marking Objects::	Commands to put region around textual units.
 * Mark Ring::		Previous mark positions saved so you can go back there.
 * Global Mark Ring::	Previous mark positions in various buffers.
 
-Killing
+Killing and Moving Text
 
 * Deletion::		Commands for deleting small amounts of text and
 			  blank areas.
@@ -302,6 +300,7 @@
 * RegText::     	Saving text in registers.
 * RegRect::     	Saving rectangles in registers.
 * RegConfig::           Saving window configurations in registers.
+* RegNumbers::          Numbers in registers.
 * RegFiles::    	File names in registers.
 * Bookmarks::           Bookmarks are like registers, but persistent.
 
@@ -355,7 +354,8 @@
 * Keyboard Macro Query::     Making keyboard macros do different things each time.
 * Save Keyboard Macro::      Giving keyboard macros names; saving them in files.
 * Edit Keyboard Macro::      Editing keyboard macros.
-* Keyboard Macro Step-Edit::   Interactively executing and editing a keyboard macro.
+* Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
+                                macro.
 
 File Handling
 
@@ -382,8 +382,7 @@
 * Backup::              How Emacs saves the old version of your file.
 * Interlocking::        How Emacs protects against simultaneous editing
                           of one file by two users.
-* Shadowing: File Shadowing.
-                        Copying files to "shadows" automatically.
+* File Shadowing::      Copying files to "shadows" automatically.
 * Time Stamps::         Emacs can update time stamps on saved files.
 
 Version Control
@@ -392,7 +391,7 @@
 * VC Mode Line::        How the mode line shows version control status.
 * Basic VC Editing::    How to edit a file under version control.
 * Old Versions::        Examining and comparing old versions.
-* Secondary VC Commands::    The commands used a little less frequently.
+* Secondary VC Commands:: The commands used a little less frequently.
 * Branches::            Multiple lines of development.
 * Remote Repositories:: Efficient access to remote CVS servers.
 * Snapshots::           Sets of file versions treated as a unit.
@@ -408,6 +407,8 @@
 * Several Buffers::     How to go through the list of all buffers
 			  and operate variously on several of them.
 * Indirect Buffers::    An indirect buffer shares the text of another buffer.
+* Buffer Convenience::  Convenience and customization features for
+                          buffer handling.
 
 Multiple Windows
 
@@ -418,6 +419,7 @@
 * Force Same Window::   Forcing certain buffers to appear in the selected
                           window rather than in another window.
 * Change Window::       Deleting windows and changing their sizes.
+* Window Convenience::  Convenience functions for window handling.
 
 Frames and X Windows
 
@@ -451,6 +453,7 @@
 * Language Environments::   Setting things up for the language you use.
 * Input Methods::           Entering text characters not on your keyboard.
 * Select Input Method::     Specifying your choice of input methods.
+* Multibyte Conversion::    How single-byte characters convert to multibyte.
 * Coding Systems::          Character set conversion when you read and
                               write files, and so on.
 * Recognize Coding::        How Emacs figures out which conversion to use.
@@ -458,9 +461,10 @@
 * Fontsets::                Fontsets are collections of fonts
                               that cover the whole spectrum of characters.
 * Defining Fontsets::       Defining a new fontset.
-* Single-Byte Character Support::
-                            You can pick one European character set
-                            to use without multibyte characters.
+* Undisplayable Characters::When characters don't display.
+* Single-Byte Character Support:: You can pick one European character set
+                              to use without multibyte characters.
+* Charsets::                How Emacs groups its internal character codes.
 
 Major Modes
 
@@ -484,16 +488,20 @@
 * Text Mode::	        The major modes for editing text files.
 * Outline Mode::        Editing outlines.
 * TeX Mode::	        Editing input to the formatter TeX.
+* HTML Mode::           Editing HTML, SGML, and XML files.
 * Nroff Mode::	        Editing input to the formatter nroff.
 * Formatted Text::      Editing formatted text directly in WYSIWYG fashion.
+* Text Based Tables::   Editing text-based tables in WYSIWYG fashion.
 
 Filling Text
 
 * Auto Fill::	        Auto Fill mode breaks long lines automatically.
+* Refill::              Keeping paragraphs filled.
 * Fill Commands::       Commands to refill paragraphs and center lines.
 * Fill Prefix::	        Filling paragraphs that are indented
                           or in a comment, etc.
 * Adaptive Fill::       How Emacs can determine the fill prefix automatically.
+* Longlines::           Editing text with very long lines.
 
 Editing Programs
 
@@ -501,8 +509,8 @@
 * Defuns::              Commands to operate on major top-level parts
                           of a program.
 * Program Indent::      Adjusting indentation to show the nesting.
+* Parentheses::         Commands that operate on parentheses.
 * Comments::	        Inserting, killing, and aligning comments.
-* Parentheses::         Commands that operate on parentheses.
 * Documentation::       Getting documentation of functions you plan to call.
 * Hideshow::            Displaying blocks selectively.
 * Symbol Completion::   Completion on symbol names of your program or language.
@@ -559,12 +567,12 @@
 
 Fortran Mode
 
-* Motion: Fortran Motion.	 Moving point by statements or subprograms.
-* Indent: Fortran Indent.	 Indentation commands for Fortran.
-* Comments: Fortran Comments.	 Inserting and aligning comments.
-* Autofill: Fortran Autofill.	 Auto fill minor mode for Fortran.
-* Columns: Fortran Columns.	 Measuring columns for valid Fortran.
-* Abbrev: Fortran Abbrev.	 Built-in abbrevs for Fortran keywords.
+* Fortran Motion::	Moving point by statements or subprograms.
+* Fortran Indent::	Indentation commands for Fortran.
+* Fortran Comments::	Inserting and aligning comments.
+* Fortran Autofill::	Auto fill minor mode for Fortran.
+* Fortran Columns::	Measuring columns for valid Fortran.
+* Fortran Abbrev::	Built-in abbrevs for Fortran keywords.
 
 Compiling and Testing Programs
 
@@ -580,8 +588,8 @@
 			  with different facilities for running
 			  the Lisp programs.
 * Lisp Libraries::      Creating Lisp programs to run in Emacs.
+* Lisp Eval::		Executing a single Lisp expression in Emacs.
 * Lisp Interaction::    Executing Lisp in an Emacs buffer.
-* Lisp Eval::		Executing a single Lisp expression in Emacs.
 * External Lisp::	Communicating through Emacs with a separate Lisp.
 
 Running Debuggers Under Emacs
@@ -590,6 +598,9 @@
 * Debugger Operation::	Connection between the debugger and source buffers.
 * Commands of GUD::	Key bindings for common commands.
 * GUD Customization::	Defining your own commands for GUD.
+* GDB Graphical Interface::  An enhanced mode that uses GDB features to
+                          implement a graphical debugging environment through
+                          Emacs.
 
 Maintaining Programs
 
@@ -605,6 +616,7 @@
 
 * Tag Syntax::		Tag syntax for various types of code and text files.
 * Create Tags Table::	Creating a tags table with @code{etags}.
+* Etags Regexps::       Create arbitrary tags using regular expressions.
 * Select Tags Table::	How to visit a tags table.
 * Find Tag::		Commands to find the definition of a specific tag.
 * Tags Search::		Using a tags table for searching and replacing.
@@ -631,6 +643,7 @@
 * Editing Abbrevs::     Viewing or editing the entire list of defined abbrevs.
 * Saving Abbrevs::      Saving the entire list of abbrevs for another session.
 * Dynamic Abbrevs::     Abbreviations for words already in the buffer.
+* Dabbrev Customization:: What is a word, for dynamic abbrevs.  Case handling.
 
 Editing Pictures
 
@@ -664,11 +677,15 @@
 * Rmail Summary::       Summaries show brief info on many messages.
 * Rmail Sorting::       Sorting messages in Rmail.
 * Rmail Display::       How Rmail displays a message; customization.
+* Rmail Coding::        How Rmail handles decoding character sets.
 * Rmail Editing::       Editing message text and headers in Rmail.
 * Rmail Digest::        Extracting the messages from a digest message.
 * Out of Rmail::	Converting an Rmail file to mailbox format.
 * Rmail Rot13::         Reading messages encoded in the rot13 code.
 * Movemail::            More details of fetching new mail.
+* Remote Mailboxes::    Retrieving Mail from Remote Mailboxes.
+* Other Mailbox Formats:: Retrieving Mail from Local Mailboxes in
+                          Various Formats
 
 Dired, the Directory Editor
 
@@ -688,7 +705,6 @@
 * Hiding Subdirectories::    Making subdirectories visible or invisible.
 * Dired Updating::           Discarding lines for files of no interest.
 * Dired and Find::	     Using `find' to choose the files for Dired.
-* Dired and Find::           Using `find' to choose the files for Dired.
 * Wdired::                   Operating on files by editing the Dired buffer.
 * Misc Dired Features::      Various other features.
 
@@ -698,14 +714,16 @@
 * Scroll Calendar::     Bringing earlier or later months onto the screen.
 * Counting Days::       How many days are there between two dates?
 * General Calendar::    Exiting or recomputing the calendar.
-* LaTeX Calendar::        Print a calendar using LaTeX.
+* LaTeX Calendar::      Print a calendar using LaTeX.
 * Holidays::            Displaying dates of holidays.
 * Sunrise/Sunset::      Displaying local times of sunrise and sunset.
 * Lunar Phases::        Displaying phases of the moon.
 * Other Calendars::     Converting dates to other calendar systems.
 * Diary::               Displaying events from your diary.
 * Appointments::	Reminders when it's time to do something.
+* Importing Diary::     Converting diary events to/from other formats.
 * Daylight Savings::    How to specify when daylight savings time is active.
+* Time Intervals::      Keeping track of time intervals.
 
 Movement in the Calendar
 
@@ -741,27 +759,40 @@
 * Single Shell::	How to run one shell command and return.
 * Interactive Shell::	Permanent shell taking input via Emacs.
 * Shell Mode::		Special Emacs commands used with permanent shell.
+* Shell Prompts::       Two ways to recognize shell prompts.
 * Shell History::       Repeating previous commands in a shell buffer.
+* Directory Tracking::  Keeping track when the subshell changes directory.
 * Shell Options::       Options for customizing Shell mode.
+* Terminal emulator::   An Emacs window as a terminal emulator.
+* Term Mode::           Special Emacs commands used in Term mode.
+* Paging in Term::      Paging in the terminal emulator.
 * Remote Host::		Connecting to another computer.
 
+Using Emacs as a Server
+
+* Invoking emacsclient:: Emacs client startup options.
+
+Hyperlinking and Navigation Features
+
+* Browse-URL::          Following URLs.
+* Goto-address::        Activating URLs.
+* FFAP::                Finding files etc. at point.
+
 Customization
 
 * Minor Modes::		Each minor mode is one feature you can turn on
 			  independently of any others.
-* Easy Customization::
-                        Convenient way to browse and change user options.
+* Easy Customization::  Convenient way to browse and change user options.
 * Variables::		Many Emacs commands examine Emacs variables
 			  to decide what to do; by setting variables,
 			  you can control their functioning.
 * Key Bindings::	The keymaps say what command each key runs.
 			  By changing them, you can "redefine keys".
-* Keyboard Translations::
-                        If your keyboard passes an undesired code
-			   for a key, you can tell Emacs to
-			   substitute another code.
+* Keyboard Translations:: If your keyboard passes an undesired code
+			  for a key, you can tell Emacs to
+			  substitute another code.
 * Syntax::		The syntax table controls how words and
-			   expressions are parsed.
+			  expressions are parsed.
 * Init File::		How to write common customizations in the
 			  @file{.emacs} file.
 
@@ -783,6 +814,7 @@
 * Init Rebinding::      Rebinding keys with your init file, @file{.emacs}.
 * Function Keys::       Rebinding terminal function keys.
 * Named ASCII Chars::   Distinguishing @key{TAB} from @kbd{C-i}, and so on.
+* Non-ASCII Rebinding:: Rebinding non-@acronym{ASCII} characters such as Latin-1.
 * Mouse Buttons::       Rebinding mouse buttons in Emacs.
 * Disabling::           Disabling a command means confirmation is required
                           before it can be executed.  This is done to protect
@@ -803,18 +835,19 @@
 * Text Garbled::        Garbage in the text.
 * Unasked-for Search::  Spontaneous entry to incremental search.
 * Memory Full::         How to cope when you run out of memory.
+* After a Crash::       Recovering editing in an Emacs session that crashed.
 * Emergency Escape::    Emergency escape---
                           What to do if Emacs stops responding.
 * Total Frustration::   When you are at your wits' end.
 
 Reporting Bugs
 
-* Criteria:  Bug Criteria.	 Have you really found a bug?
-* Understanding Bug Reporting::	 How to report a bug effectively.
-* Checklist::			 Steps to follow for a good bug report.
-* Sending Patches::		 How to send a patch for GNU Emacs.
+* Bug Criteria::        Have you really found a bug?
+* Understanding Bug Reporting::	How to report a bug effectively.
+* Checklist::		Steps to follow for a good bug report.
+* Sending Patches::	How to send a patch for GNU Emacs.
 
-Command Line Options and Arguments
+Command Line Arguments for Emacs Invocation
 
 * Action Arguments::	Arguments to visit files, load libraries,
 			  and call functions.
@@ -831,18 +864,29 @@
 * Icons X::             Choosing what sort of icon to use, under X.
 * Misc X::              Other display options.
 
-X Resources
+Environment Variables
+
+* General Variables::	Environment variables that all versions of Emacs use.
+* Misc Variables::	Certain system specific variables.
+* MS-Windows Registry:: An alternative to the environment on MS-Windows.
+
+X Options and Resources
 
 * Resources::           Using X resources with Emacs (in general).
 * Table of Resources::  Table of specific X resources that affect Emacs.
 * Face Resources::      X resources for customizing faces.
 * Lucid Resources::     X resources for Lucid menus.
 * LessTif Resources::   X resources for LessTif and Motif menus.
+* GTK resources::       Resources for GTK widgets.
 
-Environment Variables
+Emacs and the Mac OS
 
-* General Variables::	Environment variables that all versions of Emacs use.
-* Misc Variables::	Certain system specific variables.
+* Mac Input::           Keyboard input on the Mac.
+* Mac International::   International character sets on the Mac.
+* Mac Environment Variables::  Setting environment variables for Emacs.
+* Mac Directories::     Volumes and directories on the Mac.
+* Mac Font Specs::      Specifying fonts on the Mac.
+* Mac Functions::       Mac-specific Lisp functions.
 
 MS-DOS and Windows 95/98/NT
 
@@ -852,6 +896,7 @@
 * MS-DOS File Names::   File-name conventions on MS-DOS.
 * Text and Binary::     Text files on MS-DOS use CRLF to separate lines.
 * MS-DOS Printing::     How to specify the printer on MS-DOS.
+* MS-DOS and MULE::     Support for internationalization on MS-DOS.
 * MS-DOS Processes::    Running subprocesses on MS-DOS.
 * Windows Processes::   Running subprocesses on Windows.
 * Windows System Menu:: Controlling what the ALT key does.
--- a/man/files.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/files.texi	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,97,99, 2000, 2001, 2004
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
+@c   2001, 2004, 2005 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Files, Buffers, Keyboard Macros, Top
 @chapter File Handling
@@ -505,8 +505,7 @@
 * Backup::              How Emacs saves the old version of your file.
 * Interlocking::        How Emacs protects against simultaneous editing
                           of one file by two users.
-* Shadowing: File Shadowing.
-                        Copying files to "shadows" automatically.
+* Shadowing: File Shadowing.  Copying files to "shadows" automatically.
 * Time Stamps::         Emacs can update time stamps on saved files.
 @end menu
 
--- a/man/kmacro.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/kmacro.texi	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985,86,87,93,94,95,97,2000,2001,2002,2003,2004
-@c  Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
+@c   2002, 2003, 2004, 2005  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Keyboard Macros, Files, Fixit, Top
 @chapter Keyboard Macros
@@ -38,7 +38,8 @@
 * Keyboard Macro Query::     Making keyboard macros do different things each time.
 * Save Keyboard Macro::      Giving keyboard macros names; saving them in files.
 * Edit Keyboard Macro::      Editing keyboard macros.
-* Keyboard Macro Step-Edit::   Interactively executing and editing a keyboard macro.
+* Keyboard Macro Step-Edit:: Interactively executing and editing a keyboard
+                               macro.
 @end menu
 
 @node Basic Keyboard Macro
--- a/man/maintaining.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/maintaining.texi	Fri May 20 17:44:36 2005 +0000
@@ -963,10 +963,9 @@
 
   After the comparison is done and the buffers are prepared, the
 interactive merging starts.  You control the merging by typing special
-@dfn{merge commands} in the merge buffer.  The merge buffer shows you a
-full merged text, not just differences.  For each run of differences
-between the input texts, you can choose which one of them to keep, or
-edit them both together.
+@dfn{merge commands} in the merge buffer (@pxref{Merge Commands}).
+For each run of differences between the input texts, you can choose
+which one of them to keep, or edit them both together.
 
   The merge buffer uses a special major mode, Emerge mode, with commands
 for making these choices.  But you can also edit the buffer with
--- a/man/misc.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/misc.texi	Fri May 20 17:44:36 2005 +0000
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2004
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
+@c   2004, 2005  Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @iftex
 @chapter Miscellaneous Commands
@@ -1314,7 +1314,7 @@
 automatically when you finish with them.
 
 @menu
-* Invoking emacsclient::
+* Invoking emacsclient:: Emacs client startup options.
 @end menu
 
 @node Invoking emacsclient,, Emacs Server, Emacs Server
--- a/man/mule.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/mule.texi	Fri May 20 17:44:36 2005 +0000
@@ -1,5 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+@c Copyright (C) 1997, 1999, 2000, 2001, 2005 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node International, Major Modes, Frames, Top
 @chapter International Character Set Support
@@ -97,9 +97,8 @@
                               that cover the whole spectrum of characters.
 * Defining Fontsets::       Defining a new fontset.
 * Undisplayable Characters:: When characters don't display.
-* Single-Byte Character Support::
-                            You can pick one European character set
-                            to use without multibyte characters.
+* Single-Byte Character Support:: You can pick one European character set
+                              to use without multibyte characters.
 * Charsets::                How Emacs groups its internal character codes.
 @end menu
 
--- a/man/programs.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/programs.texi	Fri May 20 17:44:36 2005 +0000
@@ -1235,9 +1235,10 @@
 function being called at point.  (In other words, it finds the
 function call that point is contained in, and displays the argument
 list of that function.)  If point is over a documented variable, it
-shows the variable's docstring.  Eldoc mode applies in Emacs Lisp and
-Lisp Interaction modes only.  Use the command @kbd{M-x eldoc-mode} to
-enable or disable this feature.
+shows the first line of the variable's docstring.  Eldoc mode applies
+in Emacs Lisp and Lisp Interaction modes, and perhaps a few others
+that provide special support for looking up doc strings.  Use the
+command @kbd{M-x eldoc-mode} to enable or disable this feature.
 
 @node Hideshow
 @section Hideshow minor mode
@@ -2022,7 +2023,7 @@
   Simply inserting a line number is enough to indent it according to
 these rules.  As each digit is inserted, the indentation is recomputed.
 To turn off this feature, set the variable
-@code{fortran-electric-line-number} to @code{nil}.  
+@code{fortran-electric-line-number} to @code{nil}.
 
 
 @node ForIndent Conv
--- a/man/reftex.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/reftex.texi	Fri May 20 17:44:36 2005 +0000
@@ -7,9 +7,9 @@
 @syncodeindex fn cp
 
 @c Version and Contact Info
-@set VERSION 4.24
-@set EDITION 4.24
-@set DATE March 2005
+@set VERSION 4.28
+@set EDITION 4.28
+@set DATE May 2005
 @set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site}
 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage}
 @set MAINTAINER Carsten Dominik
@@ -25,8 +25,7 @@
 This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
 @b{Ref@TeX{}} @value{VERSION}
 
-Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2005
-Free Software Foundation, Inc.
+Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -1817,22 +1816,25 @@
 @cindex Citation styles, @code{natbib}
 @cindex Citation styles, @code{harvard}
 @cindex Citation styles, @code{chicago}
+@cindex Citation styles, @code{jurabib}
 @cindex @code{natbib}, citation style
 @cindex @code{harvard}, citation style
 @cindex @code{chicago}, citation style
+@cindex @code{jurabib}, citation style
 
 @vindex reftex-cite-format
 The standard LaTeX macro @code{\cite} works well with numeric or simple
 key citations.  To deal with the more complex task of author-year
 citations as used in many natural sciences, a variety of packages has
 been developed which define derived forms of the @code{\cite} macro.
-@b{Ref@TeX{}} can be configured to produce these citation macros as well by
-setting the variable @code{reftex-cite-format}.  For the most commonly
-used packages (@code{natbib}, @code{harvard}, @code{chicago}) this may
-be done from the menu, under @code{Ref->Citation Styles}.  Since there
-are usually several macros to create the citations, executing
-@code{reftex-citation} (@kbd{C-c [}) starts by prompting for the correct
-macro.  For the Natbib style, this looks like this:
+@b{Ref@TeX{}} can be configured to produce these citation macros as well
+by setting the variable @code{reftex-cite-format}.  For the most
+commonly used packages (@code{natbib}, @code{harvard}, @code{chicago},
+@code{jurabib}) this may be done from the menu, under
+@code{Ref->Citation Styles}.  Since there are usually several macros to
+create the citations, executing @code{reftex-citation} (@kbd{C-c [})
+starts by prompting for the correct macro.  For the Natbib style, this
+looks like this:
 
 @example
 SELECT A CITATION FORMAT
@@ -3520,15 +3522,15 @@
 this manual.
 
 Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped
-developing it with their reports.  In particular thanks to @i{Fran
-Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen,
-Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank
-Harrell, Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter
-Kraft, David Kastrup, Adrian Lanz, Juri Linkov, Rory Molinari, Stefan
-Monnier, Laurent Mugnier, Dan Nicolaescu, Sudeep Kumar Palat, Daniel
-Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan
-Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler,
-Hans-Christoph Wirth, Eli Zaretskii}.
+developing it with their reports.  In particular thanks to @i{Ralf
+Angeli, Fran Burstall, Alastair Burt, Lars Clausen, Soren Dayton,
+Stephen Eglen, Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai
+Grossjohann, Frank Harrell, Till A. Heilmann, Peter Heslin, Stephan
+Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David Kastrup, Adrian Lanz,
+Juri Linkov, Rory Molinari, Stefan Monnier, Laurent Mugnier, Dan
+Nicolaescu, Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha,
+Richard Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan
+Williams, Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}.
 
 
 The @code{view-crossref} feature was inspired by @i{Peter Galbraith's}
@@ -5152,10 +5154,18 @@
 
 Here is a list of recent changes to @b{Ref@TeX{}}.
 
+@noindent @b{Version 4.28}
+@itemize @bullet
+@item Support for the Jurabib package.
+@item Improvements when selecting several items in a selection buffer.
+@end itemize
+
 @noindent @b{Version 4.26}
 @itemize @bullet
 @item
-Bug fixes only.
+Support for global incremental search.
+@item
+Some improvements for XEmacs compatibility.
 @end itemize
 
 @noindent @b{Version 4.25}
--- a/man/url.texi	Mon May 16 15:49:27 2005 +0000
+++ b/man/url.texi	Fri May 20 17:44:36 2005 +0000
@@ -93,7 +93,7 @@
 @var{scheme}s supported by this library are described below.
 @xref{Supported URL Types}.
 
-FTP NFS, HTTP, HTTPS, @code{rlogin}, @code{telnet}, tn3270,
+FTP, NFS, HTTP, HTTPS, @code{rlogin}, @code{telnet}, tn3270,
 IRC and gopher URLs all have the form
 
 @example
@@ -110,9 +110,8 @@
 specified, and it is possible using a non-standard port may have
 undesired consequences if a different service is listening on that
 port (e.g., an HTTP URL specifying the SMTP port can cause mail to be
-sent).@c , but @xref{Other Variables, url-bad-port-list}.
-The meaning of
-the @var{path} component depends on the service.
+sent). @c , but @xref{Other Variables, url-bad-port-list}.
+The meaning of the @var{path} component depends on the service.
 
 @menu
 * Configuration::
--- a/src/.gdbinit	Mon May 16 15:49:27 2005 +0000
+++ b/src/.gdbinit	Fri May 20 17:44:36 2005 +0000
@@ -112,21 +112,45 @@
   if ($it->start.pos.charpos != $it->start.pos.bytepos)
     printf "[%d]", $it->start.pos.bytepos
   end
-  printf " stop=%d ", $it->stop_charpos
-  output $it->what
+  printf " end=%d", $it->end_charpos
+  printf " stop=%d", $it->stop_charpos
+  printf " face=%d", $it->face_id
+  if ($it->multibyte_p)
+    printf " MB"
+  end
+  if ($it->header_line_p)
+    printf " HL"
+  end
+  if ($it->n_overlay_strings > 0)
+    printf " nov=%d"
+  end
+  if ($it->sp != 0)
+    printf " sp=%d", $it->sp
+  end
   if ($it->what == IT_CHARACTER)
     if ($it->len == 1 && $it->c >= ' ' && it->c < 255)
-      printf "['%c']", $it->c
+      printf "ch='%c'", $it->c
     else
-      printf "[%d,%d]", $it->c, $it->len
+      printf "ch=[%d,%d]", $it->c, $it->len
+    end
+  else
+    if ($it->what == IT_IMAGE)
+      printf "IMAGE=%d", $it->image_id
+    else
+      output $it->what
     end
   end
-  printf " next="
-  output $it->method
+  if ($it->method != GET_FROM_BUFFER)
+    printf " next="
+    output $it->method
+  end
   printf "\n"
+  if ($it->region_beg_charpos >= 0)
+    printf "reg=%d-%d ", $it->region_beg_charpos, $it->region_end_charpos
+  end
   printf "vpos=%d hpos=%d", $it->vpos, $it->hpos,
   printf " y=%d lvy=%d", $it->current_y, $it->last_visible_y
-  printf " x=%d lvx=%d", $it->current_x, $it->last_visible_x
+  printf " x=%d vx=%d-%d", $it->current_x, $it->first_visible_x, $it->last_visible_x
   printf " a+d=%d+%d=%d", $it->ascent, $it->descent, $it->ascent+$it->descent
   printf " max=%d+%d=%d", $it->max_ascent, $it->max_descent, $it->max_ascent+$it->max_descent
   printf "\n"
--- a/src/ChangeLog	Mon May 16 15:49:27 2005 +0000
+++ b/src/ChangeLog	Fri May 20 17:44:36 2005 +0000
@@ -1,3 +1,23 @@
+2005-05-19  Nick Roberts  <nickrob@snap.net.nz>
+
+	* keyboard.c (syms_of_keyboard): Remove lisp variables
+	post-command-idle-hook and post-command-idle-delay.
+	(command_loop_1): Don't try to execute post-command-idle-hook.
+
+2005-05-16  Kim F. Storm  <storm@cua.dk>
+
+	* xdisp.c (handle_display_prop): Handle empty replacement.
+	(handle_single_display_spec): Return -1 for empty replacement.
+
+	* keyboard.c (adjust_point_for_property): Skip empty overlay string.
+
+	* .gdbinit (pitx): Print more info about iterator.
+
+2005-05-16  Andreas Schwab  <schwab@suse.de>
+
+	* unexmacosx.c (unexec_realloc): Move declarations before
+	statements.
+
 2005-05-14  Richard M. Stallman  <rms@gnu.org>
 
 	* xdisp.c (message3): Call cancel_echoing.
@@ -18,7 +38,7 @@
 	(Finsert_file_contents): If we read 0 bytes from a special file,
 	unlock the visited file if we locked it.
 	(Fmake_symbolic_link, Frecent_auto_save_p): Doc fixes.
-	(Ffile_exists_p, Ffile_symlink_p): Doc fixes. 
+	(Ffile_exists_p, Ffile_symlink_p): Doc fixes.
 
 2005-05-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
--- a/src/keyboard.c	Mon May 16 15:49:27 2005 +0000
+++ b/src/keyboard.c	Fri May 20 17:44:36 2005 +0000
@@ -446,11 +446,6 @@
 Lisp_Object Qpre_command_hook, Vpre_command_hook;
 Lisp_Object Qpost_command_hook, Vpost_command_hook;
 Lisp_Object Qcommand_hook_internal, Vcommand_hook_internal;
-/* Hook run after a command if there's no more input soon.  */
-Lisp_Object Qpost_command_idle_hook, Vpost_command_idle_hook;
-
-/* Delay time in microseconds before running post-command-idle-hook.  */
-EMACS_INT post_command_idle_delay;
 
 /* List of deferred actions to be performed at a later time.
    The precise format isn't relevant here; we just check whether it is nil.  */
@@ -1432,16 +1427,6 @@
 
       if (!NILP (Vdeferred_action_list))
 	safe_run_hooks (Qdeferred_action_function);
-
-      if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks))
-	{
-	  if (NILP (Vunread_command_events)
-	      && NILP (Vunread_input_method_events)
-	      && NILP (Vunread_post_input_method_events)
-	      && NILP (Vexecuting_kbd_macro)
-	      && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1)))
-	    safe_run_hooks (Qpost_command_idle_hook);
-	}
     }
 
   Vmemory_full = Qnil;
@@ -1807,16 +1792,6 @@
       if (!NILP (Vdeferred_action_list))
 	safe_run_hooks (Qdeferred_action_function);
 
-      if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks))
-	{
-	  if (NILP (Vunread_command_events)
-	      && NILP (Vunread_input_method_events)
-	      && NILP (Vunread_post_input_method_events)
-	      && NILP (Vexecuting_kbd_macro)
-	      && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1)))
-	    safe_run_hooks (Qpost_command_idle_hook);
-	}
-
       /* If there is a prefix argument,
 	 1) We don't want Vlast_command to be ``universal-argument''
 	 (that would be dumb), so don't set Vlast_command,
@@ -1932,10 +1907,13 @@
 	      ? get_property_and_range (PT, Qdisplay, &val, &beg, &end, Qnil)
 	      : (beg = OVERLAY_POSITION (OVERLAY_START (overlay)),
 		 end = OVERLAY_POSITION (OVERLAY_END (overlay))))
-	  && beg < PT) /* && end > PT   <- It's always the case.  */
+	  && (beg < PT /* && end > PT   <- It's always the case.  */
+	      || (beg <= PT && STRINGP (val) && SCHARS (val) == 0)))
 	{
 	  xassert (end > PT);
-	  SET_PT (PT < last_pt ? beg : end);
+	  SET_PT (PT < last_pt
+		  ? (STRINGP (val) && SCHARS (val) == 0 ? beg - 1 : beg)
+		  : end);
 	  check_composition = check_invisible = 1;
 	}
       check_display = 0;
@@ -10987,9 +10965,6 @@
   Qpost_command_hook = intern ("post-command-hook");
   staticpro (&Qpost_command_hook);
 
-  Qpost_command_idle_hook = intern ("post-command-idle-hook");
-  staticpro (&Qpost_command_idle_hook);
-
   Qdeferred_action_function = intern ("deferred-action-function");
   staticpro (&Qdeferred_action_function);
 
@@ -11435,16 +11410,6 @@
 might happen repeatedly and make Emacs nonfunctional.  */);
   Vpost_command_hook = Qnil;
 
-  DEFVAR_LISP ("post-command-idle-hook", &Vpost_command_idle_hook,
-	       doc: /* Normal hook run after each command is executed, if idle.
-Errors running the hook are caught and ignored.  */);
-  Vpost_command_idle_hook = Qnil;
-
-  DEFVAR_INT ("post-command-idle-delay", &post_command_idle_delay,
-	      doc: /* Delay time before running `post-command-idle-hook'.
-This is measured in microseconds.  */);
-  post_command_idle_delay = 100000;
-
 #if 0
   DEFVAR_LISP ("echo-area-clear-hook", ...,
 	       doc: /* Normal hook run when clearing the echo area.  */);
--- a/src/unexmacosx.c	Mon May 16 15:49:27 2005 +0000
+++ b/src/unexmacosx.c	Fri May 20 17:44:36 2005 +0000
@@ -1,5 +1,5 @@
 /* Dump Emacs in Mach-O format for use on Mac OS X.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -1069,10 +1069,10 @@
 
       if (ptr_in_unexec_regions (old_ptr))
 	{
-	  p = (size_t *) malloc (new_size);
 	  size_t old_size = ((unexec_malloc_header_t *) old_ptr)[-1].u.size;
 	  size_t size = new_size > old_size ? old_size : new_size;
 
+	  p = (size_t *) malloc (new_size);
 	  if (size)
 	    memcpy (p, old_ptr, size);
 	}
--- a/src/xdisp.c	Mon May 16 15:49:27 2005 +0000
+++ b/src/xdisp.c	Fri May 20 17:44:36 2005 +0000
@@ -3458,7 +3458,10 @@
     }
   else
     {
-      if (handle_single_display_spec (it, prop, object, position, 0))
+      int ret = handle_single_display_spec (it, prop, object, position, 0);
+      if (ret < 0)  /* Replaced by "", i.e. nothing. */
+	return HANDLED_RECOMPUTE_PROPS;
+      if (ret)
 	display_replaced_p = 1;
     }
 
@@ -3502,7 +3505,8 @@
    property ends.
 
    Value is non-zero if something was found which replaces the display
-   of buffer or string text.  */
+   of buffer or string text.  Specifically, the value is -1 if that
+   "something" is "nothing". */
 
 static int
 handle_single_display_spec (it, spec, object, position,
@@ -3816,6 +3820,11 @@
 
       if (STRINGP (value))
 	{
+	  if (SCHARS (value) == 0)
+	    {
+	      pop_it (it);
+	      return -1;  /* Replaced by "", i.e. nothing.  */
+	    }
 	  it->string = value;
 	  it->multibyte_p = STRING_MULTIBYTE (it->string);
 	  it->current.overlay_string_index = -1;