Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 ilisp (5.12.0+cvs.2004.12.26-24) unstable; urgency=high
 .
   * Team upload.
   * Patch ilisp-mak.el to bytecompile ilfsf25.el (Closes: #850072).
     Thanks Oleksandr Gavenko for reporting the problem, and Adam Di Carlo
     for the patch.
   * Pass `-f` to calls to `ln` in emacsen-install script.
     This ensures the script is idempotent (Closes: #861868).
     Thanks Adam Di Carlo for the patch.
Author: Sean Whitton <spwhitton@spwhitton.name>
Bug-Debian: https://bugs.debian.org/850072
Bug-Debian: https://bugs.debian.org/861868

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2017-05-06

--- ilisp-5.12.0+cvs.2004.12.26.orig/ACKNOWLEDGMENTS
+++ ilisp-5.12.0+cvs.2004.12.26/ACKNOWLEDGMENTS
@@ -12,7 +12,7 @@ Tim Bradshaw,
 David Braunegg,
 Thomas M. Breuel,
 Craig Brozefsky (Debian packaging),
-Gary Byers (for the OpenMCL code), 
+Gary Byers (for the OpenMCL code),
 Rick Campbell,
 Hans Chalupsky,
 Bill Clementson,
--- ilisp-5.12.0+cvs.2004.12.26.orig/COPYING
+++ ilisp-5.12.0+cvs.2004.12.26/COPYING
@@ -40,7 +40,7 @@ in and of itself and as an example of li
 ANY WARRANTY. The author(s) do not accept responsibility to anyone for
 the consequences of using it or for whether it serves any particular
 purpose or works at all. No warranty is made about the software or its
-performance. 
+performance.
 
 Use and copying of this software and the preparation of derivative
 works based on this software are permitted, so long as the following
@@ -52,17 +52,17 @@ conditions are met:
 	   describing the changes, who made the changes, and the date
 	   of those changes.
 	o  Any work distributed or published that in whole or in part
-	   contains or is a derivative of this software or any part 
-	   thereof is subject to the terms of this agreement. The 
+	   contains or is a derivative of this software or any part
+	   thereof is subject to the terms of this agreement. The
 	   aggregation of another unrelated program with this software
 	   or its derivative on a volume of storage or distribution
 	   medium does not bring the other program under the scope
 	   of these terms.
 	o  Permission is granted to manufacturers and distributors of
 	   lisp compilers and interpreters to include this software
-	   with their distribution. 
+	   with their distribution.
 
-This software is made available AS IS, and is distributed without 
+This software is made available AS IS, and is distributed without
 warranty of any kind, either expressed or implied.
 
 In no event will the author(s) or their institutions be liable to you
@@ -70,7 +70,7 @@ for damages, including lost profits, los
 incidental or consequential damages arising out of or in connection
 with the use or inability to use (including but not limited to loss of
 data or data being rendered inaccurate or losses sustained by third
-parties or a failure of the program to operate as documented) the 
+parties or a failure of the program to operate as documented) the
 program, even if you have been advised of the possibility of such
 damanges, or for any claim by any other party, whether in an action of
 contract, negligence, or other tortious action.
--- ilisp-5.12.0+cvs.2004.12.26.orig/ChangeLog
+++ ilisp-5.12.0+cvs.2004.12.26/ChangeLog
@@ -1,4 +1,13 @@
-2004-08-02  Kevin Rosenberg <kevin@rosenberg.net>
+2011-04-26  Barak A. Pearlmutter  <barak@cs.nuim.ie>
+
+	* Makefile: tiny tweaks to increase robustness
+
+2009-11-10  Barak A. Pearlmutter  <barak@cs.nuim.ie>
+
+	* Patch from Pawel Ostrowski for eval-region-lisp end order
+	invariance, sourceforge artifact 864231
+
+2004-08-02  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* guile-ilisp.scm: Apply patch from Daniel Skarda to
 	export symbols from the root package.
@@ -13,10 +22,10 @@
 	Users that want to use ILISP for Lisp but not for Scheme
 	can now use (setq lisp-source-modes '(lisp-mode)) to prevent
 	ILISP from changing the Scheme mode bindings.
-	
+
 	* ilisp-key.el (ilisp-bindings): Don't setup mode bindings if mode
-	isn't in `lisp-source-modes.'  
-	Patch by Mike Sperber <sperber@informatik.uni-tuebingen.de> 
+	isn't in `lisp-source-modes.'
+	Patch by Mike Sperber <sperber@informatik.uni-tuebingen.de>
 
 2003-12-20  Bob Rogers  <rogers@rgrjr.dyndns.org>
 
@@ -25,7 +34,7 @@
 	This fixes a M-. bug reported by 2003-12-18 by Lynn Quam (and
 	probably other bugs as well).
 
-2003-12-13  Bob Rogers (aka "rgr") <rogers@rgrjr.dyndns.org>
+2003-12-13  Bob Rogers (aka "rgr")  <rogers@rgrjr.dyndns.org>
 
 	* Makefile:  Flush "loadfile" target, which created ilisp-all.elc
 	from the other binaries, plus related support & documentation.
@@ -62,18 +71,18 @@
 	handle Guile 1.6.
 
 2003-09-14  Kevin Rosenberg  <kevin@rosenberg.net>
-	
+
 	* completer.el: Require ilcompat. Necessary when
 	loading completer.el, but have not yet loaded
 	ilisp. Suggested by Aaron Ucko.
-	
+
 2003-09-03  Bill Clementson  <bill_clementson@yahoo.com>
 
 	* ilisp-key.el, extra/hyperspec.el: Added hyperspec lookup
-	of format control characters. Sent in by Nikodemus Siivola 
+	of format control characters. Sent in by Nikodemus Siivola
 	and based on code written by Frode Fjeld.
 
-2003-08-04  Bob Rogers (aka "rgr") <rogers@rgrjr.dyndns.org>
+2003-08-04  Bob Rogers (aka "rgr")  <rogers@rgrjr.dyndns.org>
 
 	* ilisp-utl.el (lisp-slashify): Bind print-escape-* variables.
 
@@ -114,52 +123,52 @@
 	* ild.el, ilisp-key.el, ilisp.texi: Updated FSF keybindings to use
 	3 control key sequences.
 
-2003-05-18  Kevin Rosenberg <kevin@rosenberg.net>
+2003-05-18  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* allegro.lisp: Change reader conditional with
 	Larry Hunter's fix.
-	
+
 2003-05-16  Bill Clementson  <bill_clementson@yahoo.com>
 
 	* ilisp.texi: Updated documentation to reflect changes to FSF
 	keybindings.
 
-2003-05-14  Kevin Rosenberg <kevin@rosenberg.net>
+2003-05-14  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* cmulisp.lisp: Fixes for CMUCL 18e+ from Raymond Toy.
-	
+
 2003-05-11  Bill Clementson  <bill_clementson@yahoo.com>
 
 	* ilisp-src.el: Applied patch sent by Eduardo Muoz that fixes
-	problem of point moving to beginning of the buffer when function 
+	problem of point moving to beginning of the buffer when function
 	lisp-locate-definition-in-file is trying to find a definition
-	in the current buffer. 
+	in the current buffer.
 
 2003-05-09  Bill Clementson  <bill_clementson@yahoo.com>
 
 	* cl-chs-init.lisp: Applied patch sent by Eduardo Muoz that
-	fixes problem of CLISP "barfing" when #P".lisp" (a pathname) 
-	is member of system::*source-file-types* (a list of strings). 
+	fixes problem of CLISP "barfing" when #P".lisp" (a pathname)
+	is member of system::*source-file-types* (a list of strings).
 
 2003-05-09  Bill Clementson  <bill_clementson@yahoo.com>
 
 	* ild.el, ilisp-key.el: Complete revision of the FSF key bindings.
 
-	* ilisp-hi.el: Added functions eval-last-sexp-lisp and 
+	* ilisp-hi.el: Added functions eval-last-sexp-lisp and
 	eval-last-sexp-and-go-lisp.
 
-	* ilisp-cl-easy-menu.el: Added functions eval-last-sexp-lisp 
+	* ilisp-cl-easy-menu.el: Added functions eval-last-sexp-lisp
 	and eval-last-sexp-and-go-lisp to the menu and removed the
 	non-existent function lisp-indent-for-comment.
 
-	* ilisp-src.el: Applied patch sent by Eduardo Muoz that  
+	* ilisp-src.el: Applied patch sent by Eduardo Muoz that
 	allows "unenhanced" Lisps to use the M-. functionality.
-	
+
 	* icompile.bat: Added additional parameter to make it optional
-	to produce the monolithic ilisp-all.elc file (this file loads a 
+	to produce the monolithic ilisp-all.elc file (this file loads a
 	bit faster but you lose visibility to the ilisp functions in
 	elisp).
-	
+
 2003-04-11  Bob Rogers  <rogers@rgrjr.dyndns.org>
 
 	* cmulisp.lisp (ilisp-callers): Interface to new CMUCL 18e
@@ -173,7 +182,7 @@
 	and eli M-. Lisp definition finders.  No binding yet; see the
 	source.
 
-2003-04-01  Bob Rogers (aka "rgr") <rogers@rgrjr.dyndns.org>
+2003-04-01  Bob Rogers (aka "rgr")  <rogers@rgrjr.dyndns.org>
 
 	* ilisp-src.el, find-src.lisp, others: Improved M-. functionality
 	using a new lisp->emacs protocol for returning information about
@@ -185,7 +194,7 @@
 	unambiguous. SBCL 0.7.13 and later introduce the `return' command
 	(patch contributed by Daniel Barlow <dan@telent.net>).
 
-2003-03-03  Kevin Rosenberg <kevin@rosenberg.net>
+2003-03-03  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* ilisp-sbcl.el: Add support for aclrepl prompt
 
@@ -217,14 +226,14 @@
 	via a prefix argument (fix suggested by Pascal_Bourguignon
 	<pjb@informatimago.com>).
 
-2002-12-21  Kevin Rosenberg <kevin@rosenberg.net>
+2002-12-21  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* COPYING: Based on results of ILISP Developer Questionnaire
 	of Nov 20, 2002, the clause:
 		o  No fees or compensation are charged for use, copies, or
 	   access to this software. You may charge a nominal
 	   distribution fee for the physical act of transferring a
-	   copy, but you may not charge for the program itself. 
+	   copy, but you may not charge for the program itself.
 	was removed from the license.
 
 2002-12-12  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
@@ -256,16 +265,16 @@
 	removed reference to `HyperSpec' variable in Makefile, clarified
 	expected value of variable `LN'.
 
-2002-12-03  Kevin Rosenberg <kevin@rosenberg.net>
+2002-12-03  Kevin Rosenberg  <kevin@rosenberg.net>
 
 	* ilisp-snd.el, comint-ipc.el: conditionalize
 	sit-for when called with 2 or 3 parameters to be
 	compatible with xemacs and fsf emacs.
-	
+
 2002-11-11  Martin Atzmueller  <martin@atzmueller.net>
 
-	* cl-ilisp.lisp: apply patch by Bob Rogers, i.e. on	
-        Ilisp-devel: 'ilisp::special-form-p undefined in "modern"
+	* cl-ilisp.lisp: apply patch by Bob Rogers, i.e. on
+	Ilisp-devel: 'ilisp::special-form-p undefined in "modern"
 	Allegro', on Fri, 20 Sep 2002, reader conditionalization is
 	lowercase, now. (This makes reader conditionalization uniform in
 	the file, which is a good thing, too ;-)
@@ -278,8 +287,8 @@
 
 2002-11-10  Martin Atzmueller  <martin@atzmueller.net>
 
-	* ilisp-snd.el (ilisp-send): Incorporated patch by 
-        Eduardo Munoz fixing Bugs 525424 and 565365 from the SF
+	* ilisp-snd.el (ilisp-send): Incorporated patch by
+	Eduardo Munoz fixing Bugs 525424 and 565365 from the SF
 	bugtracking system.
 	(from "Ilisp-help Fw: Solution to bugs 525424 &
 	565365" on Thu, 15 Aug 2002").
@@ -294,15 +303,15 @@
 	procedure-with-setter whose getter is a closure, get the arglist
 	from there.
 
-2002-10-24 Kevin Rosenberg <kevin@rosenberg.net>
+2002-10-24  Kevin Rosenberg  <kevin@rosenberg.net>
 	* ilcompat.el, *.el:
 	Change calls from buffer-substring to buffer-substring-no-properties to
-	fix problem with fsf emacs 21.2 which copies font information with the 
+	fix problem with fsf emacs 21.2 which copies font information with the
 	buffer-substring command. Added buffer-substring-no-properties function
 	to ilcompat.el for platforms that don't have it implmented.
 
-2002-09-25  Will Deakin <anisotropy9@hotmail.com>
-	Stuff to fix the package stuff I broke when trying to 
+2002-09-25  Will Deakin  <anisotropy9@hotmail.com>
+	Stuff to fix the package stuff I broke when trying to
 	* ilisp-snd.el: `refactored' ilisp-check-package-advanced with call
 	to new functin ilisp-get-package-advanced.
 	Removed extraneous fallback stuff.
@@ -310,14 +319,14 @@
 		       ilisp-in-package uses a %S and not \"%s\".
 	(This caused some confusion with setting package names.)
 
-2002-09-11  Bob Rogers (aka "rgr") <rogers@rgrjr.dyndns.org>
+2002-09-11  Bob Rogers (aka "rgr")  <rogers@rgrjr.dyndns.org>
 
 	* ilisp-out.el (ilisp-bury-output): Handle multiple stacked output
 	frames, numeric arg now buries all.
 
-2002-09-05  Bob Rogers <rogers@rgrjr.dyndns.org>
+2002-09-05  Bob Rogers  <rogers@rgrjr.dyndns.org>
 
-	* cl-ilisp.lisp (ilisp-compile), 
+	* cl-ilisp.lisp (ilisp-compile),
 	cmulisp.lisp (fun-defined-from-pathname): Teach CMUCL not to
 	forget the source file of interactively compiled definitions.
 
@@ -327,10 +336,10 @@
 	instead of reading the file associated with the full pathname.
 	NO-NAME is now obsolete, so is lisp-buffer-file (in lisp-def.el),
 	and lisp-find-file is now much smaller.
-	
+
 	* ilisp-hi.el (ilisp-arglist-message-lisp-space):  Don't lose on
 	#:foo.
-	
+
 2002-09-03  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
 	* ilisp-def.el (ilisp-*process-connection-type*): New variable.
@@ -340,11 +349,11 @@
 	* ilisp-cmp.el (complete-lisp): Bail out early if
 	LISP-PREVIOUS-SYMBOL returns nil.
 
-2002-08-20  Will Deakin <anisotropy9@hotmail.com>
+2002-08-20  Will Deakin  <anisotropy9@hotmail.com>
 
 	* cl-ilisp.lisp, HISTORY and docs/ilisp-refcard.tex: Picky change
 	  to capitalisation on XEmacs;
-	
+
 	* ilisp-chs.el: Clean up to comment above -ansi;
 
 2002-07-01  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
@@ -621,7 +630,7 @@
 2002-01-25  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
 	Added OpenMCL support contributed by Gary Byers <gb@clozure.com>.
-	
+
 	* openmcl.lisp, ilisp-openmcl.el: New files.
 	* Makefile, cl-ilisp.lisp, ilisp-dia.el, ilisp-mak.el, ilisp.el,
 	docs/ilisp.texi: Add OpenMCL support.
@@ -664,7 +673,7 @@
 	ending with a comment but no newline are handled properly.
 
 	* guile-ilisp.scm (info-message): Use the 'arglist procedure
-	property when available (Guile 1.5.4 and later). 
+	property when available (Guile 1.5.4 and later).
 
 2002-01-07  Martin Atzmueller  <martin@atzmueller.net>
 
@@ -691,7 +700,7 @@
 	* ilisp-kcl.el (ecl): ecl tweaks; after manual compilation of the
 	ILISP *.lisp files, ecl(s)-0.5 works better.
 
-2001-12-28  Craig Brozefsky <craig@red-bean.com>
+2001-12-28  Craig Brozefsky  <craig@red-bean.com>
 
 	* ilisp-mak.el: install files which were previously commented out
 	of the installation process, and minor emacs21 compat change.
@@ -708,7 +717,7 @@
 	Also installs info files appropriately.
 
 	* ACKNOWLEDGMENTS: added myself to end of list.
-	
+
 2001-12-10  Paolo Amoroso  <amoroso@mclink.it>
 
 	* extra/hyperspec-naggum.el (eval-when): replaced assignment to
@@ -762,14 +771,14 @@
 
 2001-10-25  Paolo Amoroso  <amoroso@mclink.it>
 
-        * completer.el:
-        (minibuffer-prompt-end): New function for compatibility, defined
-        only if not defined already.
-        (completer-region): Backward movement is now limited by the end
-        of the minibuffer prompt.
-        (completer-match-exit): Ditto.
-        (completer-minibuffer-string): Now excludes minibuffer prompt using
-        minibuffer-prompt-end.
+	* completer.el:
+	(minibuffer-prompt-end): New function for compatibility, defined
+	only if not defined already.
+	(completer-region): Backward movement is now limited by the end
+	of the minibuffer prompt.
+	(completer-match-exit): Ditto.
+	(completer-minibuffer-string): Now excludes minibuffer prompt using
+	minibuffer-prompt-end.
 	Patch for making ILISP work with GNU Emacs 21 contributed by Hannu
 	Koivisto <azure@iki.fi>.
 
@@ -835,14 +844,14 @@
 
 2001-09-05  Paolo Amoroso  <amoroso@mclink.it>
 
-        * INSTALLATION: added coverage of CLtL2 lookup.
+	* INSTALLATION: added coverage of CLtL2 lookup.
 
-        * ilisp.emacs: added sample CLtL2 configuration instructions.
+	* ilisp.emacs: added sample CLtL2 configuration instructions.
 
-        * docs/ilisp.doc: updated version info.
-        (Acknowledgments): added Utz-Uwe Haus.
-        (Configuration and compilation, Documentation functions): added
-        coverage of CLtL2 lookup.
+	* docs/ilisp.doc: updated version info.
+	(Acknowledgments): added Utz-Uwe Haus.
+	(Configuration and compilation, Documentation functions): added
+	coverage of CLtL2 lookup.
 
 2001-08-27  Paolo Amoroso  <amoroso@mclink.it>
 
@@ -931,7 +940,7 @@
 2001-05-22  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
 	* Makefile: Include ChangeLog and ACKNOWLEDGMENTS in the
-	distribution. 
+	distribution.
 
 	* guile-ilisp.scm: Define module (guile-ilisp) before using it in
 	module (guile-user); this is needed for Guile 1.5.
@@ -940,7 +949,7 @@
 
 	* Makefile: Put *.scm files into the distribution.
 
-2001-05-13  Marco Antoniotti <marcoxa@cs.nyu.edu>
+2001-05-13  Marco Antoniotti  <marcoxa@cs.nyu.edu>
 
 	Version 5.11 released.
 
@@ -949,7 +958,7 @@
 	* guile-ilisp.scm (ilisp-get-package):  If the full module name is
 	available (as is in Guile >= 1.4), use it instead of parsing the
 	sequence of define-module forms.  This also works around an eval
-	memoizing bug in Guile 1.5.  
+	memoizing bug in Guile 1.5.
 
 	* guile-ilisp.scm:  Write all results using `write' and return no
 	value.  (When the (ice-9 history) module is in use, all return
@@ -958,8 +967,8 @@
 2001-04-19  Martin Atzmueller  <martin@atzmueller.net>
 
 	* cl-ilisp.lisp: include patch - 2001 Apr 06 on ilisp-devel
-        (patch contributed by Craig Brozefsky <craig@red-bean.com>):
-        take care of new :CMU18 feature in the (debian) cmucl 18c version.
+	(patch contributed by Craig Brozefsky <craig@red-bean.com>):
+	take care of new :CMU18 feature in the (debian) cmucl 18c version.
 
 	* ilisp-sbcl.el (sblisp): comint-fix-error expression becomes
 	":abort" instead of former ":pop".
@@ -969,15 +978,15 @@
 
 2001-04-10  Paolo Amoroso  <amoroso@mclink.it>
 
-        * ilisp-def.el (ilisp-*version*): set version marker to 5.11.
+	* ilisp-def.el (ilisp-*version*): set version marker to 5.11.
 
 2001-04-05  Paolo Amoroso  <amoroso@mclink.it>
 
-        * docs/ilisp.texi (FTP and Web directions): added URL of ILISP's
-        filelist at SourceForge and new index entry. Minor reformatting.
+	* docs/ilisp.texi (FTP and Web directions): added URL of ILISP's
+	filelist at SourceForge and new index entry. Minor reformatting.
 
-        * GETTING-ILISP: added URL of ILISP's filelist at
-        SourceForge. Minor reformatting.
+	* GETTING-ILISP: added URL of ILISP's filelist at
+	SourceForge. Minor reformatting.
 
 2001-04-04  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -995,13 +1004,13 @@
 
 2001-04-02  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
-	* ilisp-sch.el (mzscheme): Provide symbol completion for MzScheme. 
+	* ilisp-sch.el (mzscheme): Provide symbol completion for MzScheme.
 
 	* mzscheme-ilisp.scm: New file, MzScheme support.
-	
+
 	* ilisp-hi.el (ilisp-arglist-message-lisp-space): Fixed last
 	change: always insert the space, even if no electric behaviour is
-	available. 
+	available.
 
 2001-03-29  Martin Atzmueller  <martin@atzmueller.net>
 
@@ -1075,10 +1084,10 @@
 	  Old version of arglist (in comments) removed.
 	  Old version of source-file (in comments) removed.
 
-        * cmulisp.lisp (patch contributed by Hannu Koivisto):
-          (arglist) CMU17 read-time conditional stuff replaced with
-          a more dynamic feature testing code.  Also few cosmetic fixes.
-          Old version of arglist (in comments) removed.
+	* cmulisp.lisp (patch contributed by Hannu Koivisto):
+	  (arglist) CMU17 read-time conditional stuff replaced with
+	  a more dynamic feature testing code.	Also few cosmetic fixes.
+	  Old version of arglist (in comments) removed.
 	  Old version of source-file (in comments) removed.
 
 2001-03-12  Paolo Amoroso  <amoroso@mclink.it>
@@ -1087,9 +1096,9 @@
 	INSTALLATION file, which was accidentally added to the log
 	message during the previous commit. Sorry :-(
 
-        * INSTALLATION (Harlequin/Xanalys LispWorks): added info on the
-        LWW 4.1.20 patch bundle (info contributed by Carl Shapiro
-        <cshapiro@panix.com>).
+	* INSTALLATION (Harlequin/Xanalys LispWorks): added info on the
+	LWW 4.1.20 patch bundle (info contributed by Carl Shapiro
+	<cshapiro@panix.com>).
 
 2001-03-02  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -1238,7 +1247,7 @@
 	* ilisp-def.el (ilisp-print-info-message-command) New definition
 	    for an ilisp-local variable that was in use already.
 	    (patches contributed by Hannu Koivisto  <azure@iki.fi>).
-	
+
 	* ilcompat.el:
 	  - Now requires cl.
 	  - Now provides ilcompat instead of compat.
@@ -1263,9 +1272,9 @@
 
 2001-01-16  Martin Atzmueller  <martin@atzmueller.net>
 
-        * ilisp-out.el: ILISP Output and ILISP Arglist Output frames are
-          no longer created at load time because they may not be used at
-          all and they are created on-demand anyway (patch contributed by
+	* ilisp-out.el: ILISP Output and ILISP Arglist Output frames are
+	  no longer created at load time because they may not be used at
+	  all and they are created on-demand anyway (patch contributed by
 	  Hannu Koivisto  <azure@iki.fi>).
 
 2001-01-09  Martin Atzmueller  <martin@atzmueller.net>
@@ -1280,16 +1289,16 @@
 	* ilisp-sbcl.el (sblisp): cleaned up a comment.
 
 	* sblisp.lisp ("POP" debug command): reworked this,
-	since the SBCL debugger	code has changed a bit.
+	since the SBCL debugger code has changed a bit.
 
 	* sblisp.lisp (fun-defined-from-pathname): comment cleanup.
 
 2001-01-05  Paolo Amoroso  <amoroso@mclink.it>
 
-        * docs/ilisp.texi (Acknowledgements): added Craig Brozefsky.
-        Updated date info.
+	* docs/ilisp.texi (Acknowledgements): added Craig Brozefsky.
+	Updated date info.
 
-        * Welcome: added Craig Brozefsky to the list of maintainers.
+	* Welcome: added Craig Brozefsky to the list of maintainers.
 
 2000-12-26  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -1304,8 +1313,8 @@
 2000-12-26  Paolo Amoroso  <amoroso@mclink.it>
 
 	* INSTALLATION (TIPS): created section and added tip on input
-        focus with Enlightment/Gnome (suggested by Marco Antoniotti
-        <marcoxa@cons.org>).
+	focus with Enlightment/Gnome (suggested by Marco Antoniotti
+	<marcoxa@cons.org>).
 
 2000-12-21  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -1331,12 +1340,12 @@
 	* ilisp-sch.el (scheme), ilisp-src.el
 	(ilisp-locate-scheme-definition, ilisp-locate-scheme-calls): New
 	Scheme source locators. The standard locators would fail on
-	"(define (thunk) ....)"  and report "(define (procedure ...) ...)" 
+	"(define (thunk) ....)"  and report "(define (procedure ...) ...)"
 	as a procedure call.
 
-	* ilisp-sch.el (guile), guile-ilisp.scm (ilisp-source-file): 
+	* ilisp-sch.el (guile), guile-ilisp.scm (ilisp-source-file):
 	Get the source file of a definition from the interpreter.
-	
+
 	* guile-ilisp.scm (ilisp-trace, ilisp-untrace): I broke these in
 	the last change, fixed.
 
@@ -1354,8 +1363,8 @@
 2000-11-30  Paolo Amoroso  <amoroso@mclink.it>
 
 	* Welcome: added info about the SourceForge site and mailing
-        lists. Added Matthias Koeppe to the list of
-        maintainers. Reformatted.
+	lists. Added Matthias Koeppe to the list of
+	maintainers. Reformatted.
 
 2000-11-30  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -1367,10 +1376,10 @@
 	compliant mode. Those are bound to `reposition-window' and
 	`isearch-backward-regexp', respectively, at least in GNU Emacs 20.
 
-	* ilisp-def.el (ilisp-eval-command, ilisp-defvar-command): 
-	Format strings now take an extra parameter, source LINE. 
+	* ilisp-def.el (ilisp-eval-command, ilisp-defvar-command):
+	Format strings now take an extra parameter, source LINE.
 	* ilisp-hi.el (lisp-send-region): Send source line to inferior
-	lisp. 
+	lisp.
 
 2000-11-29  Matthias Koeppe  <mkoeppe@mail.math.uni-magdeburg.de>
 
@@ -1434,20 +1443,20 @@
 	  removed because unsupported by SBCL.
 	  (patches contributed by William Harold Newman
 	  <william.newman@airmail.net>).
-	
+
 2000-10-08  Martin Atzmueller  <martin@atzmueller.net>
 
 	* ilisp-hnd.el (ilisp-handler): fix call to ilisp-output-buffer.
 
 2000-10-07  Martin Atzmueller  <martin@atzmueller.net>
-	
+
 	* ilisp-sbcl.el (sblisp): new ilisp-error-regexp.
-	
+
 	* ilisp-snd.el (ilisp-check-package-advanced): Due to the
 	'in-package behavior (see below) check for errors, and fix them.
 	If the package is not found, the fallback-package will be used.
-	Display status after a search for package. 
-	
+	Display status after a search for package.
+
 	* ilisp-cl.el (common-lisp): ignoring errors in
 	ilisp-package-command _does_ not help any ANSI-CL! It is basically
 	redundant. This is because of the complicated behavior of
@@ -1456,7 +1465,7 @@
 	and the error will be thrown, nevertheless of any 'ignore-error
 	handler! Modified 'ignore-error -form, because there were some
 	strange things happening testing it in CLISP and SBCL.
-		
+
 2000-10-03  Paolo Amoroso  <amoroso@mclink.it>
 
 	* ilisp-snd.el (lisp-buffer-package-internal): Doesn't try to find
@@ -1469,62 +1478,62 @@
 2000-10-01  Paolo Amoroso  <amoroso@mclink.it>
 
 	* ilisp-cl.el:
-          o (common-lisp):
-            o ilisp-package-command now ignores errors.
-            o Default value for new ilisp-no-package-in-core-regexp
+	  o (common-lisp):
+	    o ilisp-package-command now ignores errors.
+	    o Default value for new ilisp-no-package-in-core-regexp
 	      variable.
-            o Ditto for ilisp-fallback-package.
+	    o Ditto for ilisp-fallback-package.
 	  (patches contributed by Hannu Koivisto <azure@iki.fi>)
 
 	* ilisp-def.el:
-          o (ilisp-no-package-in-core-regexp): New local variable.
-          o (ilisp-fallback-package): Ditto.
+	  o (ilisp-no-package-in-core-regexp): New local variable.
+	  o (ilisp-fallback-package): Ditto.
 	  (patches contributed by Hannu Koivisto <azure@iki.fi>)
 
 	* ilisp-snd.el:
-          o (ilisp-check-package-advanced): If specified for the current
-            dialect, ilisp-no-package-in-core-regexp is used to check if
-            ilisp-package-command perhaps failed in a way which indicates
-            that the package is not in core.  If this is the case,
+	  o (ilisp-check-package-advanced): If specified for the current
+	    dialect, ilisp-no-package-in-core-regexp is used to check if
+	    ilisp-package-command perhaps failed in a way which indicates
+	    that the package is not in core.  If this is the case,
 	    fallback package is returned alongside a new second return
 	    value that indicates if the package was not found in core.
-          o (lisp-buffer-package-internal): The new second return value of
-            ilisp-check-package-advanced is now considered and it's
-            possibly propagated to the should-not-cache-p second return
-            value of this function.
-          o (ilisp-buffer-package-internal):
-            o Dummy argument removed.
-            o Now returns both a package and a flag suggesting whether
-              it's ok to cache the package or not.
-            o Doesn't break with unfinished (in-package <nothing-here>)
-              forms; in such a case the second return value indicates
-              that the returned package should not be cached.
-            o Cosmetic if -> when fix.
-          o (lisp-buffer-package):
-            o Removed (message "") with no known useful purpose.
-            o Merged the cond clause of lisp-dont-cache-package being true
-              and the default clause.
-            o Now considers the flag returned by
+	  o (lisp-buffer-package-internal): The new second return value of
+	    ilisp-check-package-advanced is now considered and it's
+	    possibly propagated to the should-not-cache-p second return
+	    value of this function.
+	  o (ilisp-buffer-package-internal):
+	    o Dummy argument removed.
+	    o Now returns both a package and a flag suggesting whether
+	      it's ok to cache the package or not.
+	    o Doesn't break with unfinished (in-package <nothing-here>)
+	      forms; in such a case the second return value indicates
+	      that the returned package should not be cached.
+	    o Cosmetic if -> when fix.
+	  o (lisp-buffer-package):
+	    o Removed (message "") with no known useful purpose.
+	    o Merged the cond clause of lisp-dont-cache-package being true
+	      and the default clause.
+	    o Now considers the flag returned by
 	      lisp-buffer-package-internal as its second value.
 	  (patches contributed by Hannu Koivisto <azure@iki.fi>)
 
 	* ilisp-hi.el:
-          o (ilisp-arglist-message-lisp-space): Now proceeds even if the
+	  o (ilisp-arglist-message-lisp-space): Now proceeds even if the
 	    initial lisp-buffer-packge call doesn't cache the buffer
 	    package to buffer-package.
-          o (default-directory-lisp): default-direcotory ->
+	  o (default-directory-lisp): default-direcotory ->
 	    default-directory
-          o (load-file-lisp):
-            o if -> when and if+not -> unless cosmetic fixes.
-            o For <whatever>.system files, no compilation or loading of
-              possibly existing <whatever>.<binary extension> is
+	  o (load-file-lisp):
+	    o if -> when and if+not -> unless cosmetic fixes.
+	    o For <whatever>.system files, no compilation or loading of
+	      possibly existing <whatever>.<binary extension> is
 	      attempted.
 	  (patches contributed by Hannu Koivisto <azure@iki.fi>)
 
 2000-09-13  Atzmueller  <martin@atzmueller.net>
 
 	* sblisp.lisp (ilisp-compile): special case is not necessary
-	anymore. removed	
+	anymore. removed
 
 	* cl-ilisp.lisp (ilisp-compile): cleanup.
 
@@ -1550,9 +1559,9 @@
 	* ilisp-snd.el (lisp-string-to-symbol): symbol-completion in
 	source buffers was broken due to 'ilisp-package-seperator-regex as
 	a local variable. fixed.
-	
+
 	* Makefile (compile): add '--force' option when linking 'hyperspec.el'.
-	
+
 	* ilisp-out.el: (ilisp-make-output-frame)
 	incorporated patch by Will Deakin as of August 03.
 
@@ -1562,7 +1571,7 @@
 	case #\".
 
 	* ilisp-sbcl: (sblisp-program) invoke sbcl with --noinform, to
-	prevent printing of startup-message.	
+	prevent printing of startup-message.
 
 2000-08-18  Paolo Amoroso  <amoroso@mclink.it>
 
@@ -1634,7 +1643,7 @@
 2000-07-24  Paolo Amoroso  <amoroso@mclink.it>
 
 	* Makefile (DocFiles): added `docs/ilisp-refcard.tex'.
-	
+
 	* docs/ilisp.texi (Configuration and compilation): updated for the
 	  reference card.
 
@@ -1642,9 +1651,9 @@
 	  typos.
 
 	* docs/Makefile: added support for ilisp-refcard.tex compilation.
-	
+
 	* docs/ilisp-refcard.tex: initial revision.
-	
+
 	* docs/ilisp-refcard.tgz: removed for keeping only
 	  ilisp-refcard.tex.
 
@@ -1652,21 +1661,21 @@
 
 	* docs/ilisp.texi (Files of ILISP): clarified entry for *.lisp and
 	  added *.scm entry. Updated version info of the document.
-	
+
 	* Makefile (clean): added TAGS among the files to remove.
 
 	* ilisp-snd.el (lisp-string-to-symbol): test
 	  `ilisp-package-separator-regexp' (patch contributed by Matthias
 	  Koeppe <mkoeppe@mail.math.uni-magdeburg.de>).
-	
+
 	* ilisp-sch.el (guile): improved error handling for Guile (patch
 	  contributed by Matthias Koeppe
 	  <mkoeppe@mail.math.uni-magdeburg.de>).
-	
+
 	* ilisp-def.el (ilisp-package-separator-regexp): turned into a
 	  local variable (patch contributed by Matthias Koeppe
 	  <mkoeppe@mail.math.uni-magdeburg.de>).
-	
+
 	* ilisp-cl.el (common-lisp): added
 	  `ilisp-package-separator-regexp' (patch contributed by Matthias
 	  Koeppe <mkoeppe@mail.math.uni-magdeburg.de>).
@@ -1700,7 +1709,7 @@
 
 	* .ILISP.prcs-aux, ILISP.prj: removed PRCS auxiliary files no
 	  longer needed with CVS.
-	
+
 2000-06-30  Paolo Amoroso  <amoroso@mclink.it>
 
 	* ilisp-sch.el (guile): fixed malformed
@@ -1732,7 +1741,7 @@
 	  because of a bug. After making each dialect set it to the
 	  appropriate value, the declaration can be changed to
 	  `deflocal'.
-	
+
 2000-06-27  Paolo Amoroso  <amoroso@mclink.it>
 
 	* guile-ilisp.scm: support functions for Guile, which also work
@@ -1747,8 +1756,8 @@
 	* sblisp.lisp (source-file): fixed a typo.
 
 	* ilisp-out.el (ilisp-bury-output): incorporated patch by Tim Moore
-          in #'ilisp-bury-output: if the output-window was *active* it
-          could not be deleted.
+	  in #'ilisp-bury-output: if the output-window was *active* it
+	  could not be deleted.
 
 	* ilisp-cmp.el (ilisp-complete): if the package of a symbol to
 	  be completed was not known an error was _not_ propagated in the
@@ -1805,7 +1814,7 @@
 	numbers in file names--e.g. 5.9.4--with generic
 	ones--i.e. x.y.z). Renamed variable names to the ILISP-*VARNAME*
 	convention.
-	
+
 2000-04-19  Marco Antoniotti  <marcoxa@parades.rm.cnr.it>
 
 	* docs/ilisp.texi (Acknowledgements): Added Karl Fogel.
@@ -1843,18 +1852,18 @@
 	* ilisp-def.el: (ilisp-prefix): Set to C-c if above new defcustom
 	is non-nil, else set to C-z if above is nil or unbound.
 	(ilisp-use-fsf-compliant-keybindings): New defcustom.
-	(ilisp-use-fsf-compliant-keybindings): 
+	(ilisp-use-fsf-compliant-keybindings):
 
 	* ilisp-key.el: (ilisp-safe-define-key): New func, binds a key to
 	a command in keymap, using new optional arg FSF-KEY if
 	`ilisp-use-fsf-compliant-keybindings' is non-nil.
-	
+
 	(ilisp-define-ilisp-key-for-map): Replaces `ilisp-defkey'.  Use
 	ilisp-safe-define-key, passing new optional argument to it.
 	Changed name partly because this function does something new now,
 	and partly to avoid confusion with `defkey-ilisp', which has an
 	entirely different purpose.  All callers changed.
-	
+
 	(lisp-bindings): Use above new functions where appropriate.
 	Pass `no-fsf-key' where no worthwhile binding is possible under
 	the FSF-approved keyspace.
--- ilisp-5.12.0+cvs.2004.12.26.orig/HISTORY
+++ ilisp-5.12.0+cvs.2004.12.26/HISTORY
@@ -59,7 +59,7 @@ Many.
 
 -- Changed vars in ilisp-out:
    changed all sink's to ilisp-output-sink's
-   ilisp-*icon-file*   
+   ilisp-*icon-file*
    ilisp-*last-ilisp-output-sink*
 
 -- doc/ilisp.texi: replaced found vars of above with their replacements.
@@ -332,8 +332,8 @@ Mon, 11 Jul 94 10:48:24 EDT  Version 5.6
 
 -- The popper facility has been completely replaced by a much less
    intrusive facility which has most of the original functionality.
-   All ilisp output is funneled through the function which is the value 
-   of the variable ilisp-display-output-function.  Several sample display 
+   All ilisp output is funneled through the function which is the value
+   of the variable ilisp-display-output-function.  Several sample display
    functions are provided.  Do c-H m in an ilisp buffer for more info.
 
 -- The common lisp arglist printer has been prettified somewhat.
@@ -387,7 +387,7 @@ in your .emacs, and make them autoload "
 -- Put the run-hooks calls at the end of ilisp.el where they should
    be.
 
-	"Fixes" in version 5.2 of ILISP.  
+	"Fixes" in version 5.2 of ILISP.
 
 Cause more problems with autoloads and fixes a missing definition in the
 Makefile-ilisp in 5.1
@@ -414,7 +414,7 @@ most recent IN-PACKAGE on each eval/comp
 --Added 'message feature for lisp-no-popper, allows output from ILISP
 to be sent to the message window (instead of via the popper or the
 inferior lisp buffer) if it is one line long.  Useful for small
-arg-lists, etc. Now the default.  
+arg-lists, etc. Now the default.
 
 --Made the popper be off by default.  To have the popper on, set
 popper-pop-buffers and popper-buffers-to-skip to t in a
@@ -615,7 +615,7 @@ now takes the binary and source paths ex
 was removed from dialect file names.  ilisp-definition-regexp has gone
 away.  ilisp-prompt, ilisp-fix-error and ilisp-continue have gone away
 in favor of the actual comint- variables.  ilisp-expand-symlinks has
-gone away. 
+gone away.
 
 DETAILS: Finally fixed up how many newlines are inserted.  Made it so
 that the source file stuff would use a resident buffer with the same
@@ -671,7 +671,7 @@ handling for clisp.  popper v2.00, compl
 completion, package handling, compilation and initialization.
 Changed default binding prefix.  Added trace/untrace and
 evaluation of defvars.
-  
+
 ======================================================================
  8/22/90 Version 2.0 released. Fixed bugs and changed initialization.
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/INSTALLATION
+++ ilisp-5.12.0+cvs.2004.12.26/INSTALLATION
@@ -230,11 +230,11 @@ o Xanalys LispWorks (formerly Harlequin
 
           (in-package "CL-USER")
           (load-all-patches)
-          (compile (defun my-restart () 
+          (compile (defun my-restart ()
                      #+Unix
                      (capi:ensure-motif-libraries)
                      (mp:initialize-multiprocessing)))
-          (save-image "lw-ilisp-capi" :restart-function 'my-restart 
+          (save-image "lw-ilisp-capi" :restart-function 'my-restart
                                       :environment nil
                                       #+Win32 :console #+Win32 t)
           (quit)
--- ilisp-5.12.0+cvs.2004.12.26.orig/Makefile
+++ ilisp-5.12.0+cvs.2004.12.26/Makefile
@@ -7,8 +7,6 @@
 # information.
 # Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 # of present and past contributors.
-#
-# $Id: Makefile,v 1.23 2003/12/13 23:43:44 rgrjr Exp $
 
 # Note: this makefile assumes GNU make
 
@@ -26,9 +24,6 @@ EMACS = emacs
 # change this to an ordinary copy command
 LN = ln -s
 
-# The SHELL variable is used only for making the distribution.
-SHELL = /bin/csh
-
 # The 'rm' command used (we redefine it mostly because it may be
 # aliased
 RM = /bin/rm -f
@@ -80,13 +75,12 @@ compile:
 tags:
 	etags *.el
 
-docs: FORCE
-	cd docs; $(MAKE)
+docs:
+	$(MAKE) -C docs
 
-clean: 
-	-$(RM) *.elc *~ extra/*.elc extra/*~ TAGS \
-	$(FaslFiles)
-	(cd docs; $(MAKE) clean)
+clean:
+	-$(RM) *.elc *~ extra/*.elc extra/*~ TAGS $(FaslFiles)
+	$(MAKE) -C docs clean
 
 loadfile:
 	@echo 'The "loadfile" target is no longer supported.'
@@ -95,8 +89,6 @@ loadfile:
 compress:
 	gzip *.el $(OtherFiles)
 
-FORCE:
-
 #==============================================================================
 # The following targets are used only to create a distribution file.
 
@@ -106,10 +98,11 @@ tarring:
 	@echo "ILISP dist: preparing tar file."
 	@echo "            source directory: " $(Ilisp_src_dir)
 	@echo "            tar directory:    " $(Ilisp_tar_dir)
-	(cd $(Ilisp_src_dir)/..;                                        \
-         if ( $(notdir $(Ilisp_src_dir)) != $(Ilisp_tar_dir) )          \
-            ln -s $(notdir $(Ilisp_src_dir)) $(Ilisp_tar_dir) ;         \
-         tar cvf $(Ilisp_tar_dir).tar                                   \
+	cd $(Ilisp_src_dir)/.. &&                                       \
+        if [ $(notdir $(Ilisp_src_dir)) != $(Ilisp_tar_dir) ]; then     \
+            ln -s $(notdir $(Ilisp_src_dir)) $(Ilisp_tar_dir);          \
+	fi &&                                                           \
+        tar -cvf $(Ilisp_tar_dir).tar                                   \
             $(patsubst %,$(Ilisp_tar_dir)/%,$(OtherFiles))              \
             $(Ilisp_tar_dir)/*.el                                       \
             $(Ilisp_tar_dir)/*.lisp                                     \
@@ -118,15 +111,16 @@ tarring:
             $(Ilisp_tar_dir)/extra/README                               \
             $(Ilisp_tar_dir)/extra/hyperspec.el                         \
 	    $(Ilisp_tar_dir)/extra/cltl2.el				\
-            $(Ilisp_tar_dir)/pictures/ilisp-icon.*                      \
-        )
+            $(Ilisp_tar_dir)/pictures/ilisp-icon.*
 
 dist_compressing:
-	(cd $(Ilisp_src_dir)/.. ; gzip $(Ilisp_tar_dir).tar)
+	cd $(Ilisp_src_dir)/.. && gzip $(Ilisp_tar_dir).tar
 
 uuencoding: ../$(Ilisp_tar_dir).tar.gz
-	(cd $(Ilisp_src_dir)/.. ;                                           \
-         uuencode $(Ilisp_tar_dir).tar.gz $(Ilisp_tar_dir).tar.gz > il.uue)
+	cd $(Ilisp_src_dir)/.. &&                                      \
+         uuencode $(Ilisp_tar_dir).tar.gz $(Ilisp_tar_dir).tar.gz > il.uue
 
+PHONY: compile tags docs clean loadfile compress
+PHONY: dist tarring dist_compressing uuencoding
 
 # end of file -- Makefile --
--- ilisp-5.12.0+cvs.2004.12.26.orig/allegro.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/allegro.lisp
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: allegro.lisp,v 1.7 2003/05/19 18:15:41 kevinrosenberg Exp $
 
 ;;; Allegro initializations
 ;;; Author: Chris McConnell, ccm@cs.cmu.edu
--- ilisp-5.12.0+cvs.2004.12.26.orig/bridge.el
+++ ilisp-5.12.0+cvs.2004.12.26/bridge.el
@@ -1,7 +1,7 @@
 ;;; -*-Emacs-Lisp-*-
 ;;;%Header
 ;;; Bridge process filter, V1.0
-;;; Copyright (C) 1991 Chris McConnell, ccm@cs.cmu.edu  
+;;; Copyright (C) 1991 Chris McConnell, ccm@cs.cmu.edu
 ;;;
 ;;; Send mail to ilisp@cons.org if you have problems.
 ;;;
@@ -50,7 +50,7 @@
 ;;; ;;; Set up load path to include bridge
 ;;; (setq load-path (cons "/bridge-directory/" load-path))
 ;;; (autoload 'install-bridge "bridge" "Install a process bridge." t)
-;;; (setq bridge-hook 
+;;; (setq bridge-hook
 ;;;       '(lambda ()
 ;;;         ;; Example options
 ;;;         (setq bridge-source-insert nil) ;Don't insert in source buffer
@@ -105,7 +105,7 @@ value.")
 (defvar bridge-old-filter nil
   "Old filter for a bridged process buffer.")
 
-(defvar bridge-string nil 
+(defvar bridge-string nil
   "The current output in the process bridge.")
 
 (defvar bridge-in-progress nil
@@ -138,7 +138,7 @@ to help handler-writers in their debuggi
 	  (goto-char mark)
 	  (insert output)
 	  (set-marker mark (point)))
-	(if window 
+	(if window
 	    (progn
 	      (if at-end (goto-char mark))
 	      (if (not (pos-visible-in-window-p (point) window))
@@ -179,9 +179,9 @@ handler executed without error."
        (message "bridge-handler \"%s\" failed %s (see bridge-last-failure)"
 		handler err)
        (setq bridge-last-failure
-	     (` ((funcall '(, handler) '(, proc) (, string))
-		 "Caused: "
-		 (, err))))))
+	     `((funcall ',handler ',proc ,string)
+	       "Caused: "
+	       ,err))))
     (not failed)))
 
 ;;;%Handlers
@@ -213,7 +213,7 @@ will be inserted at the end of the buffe
 		  (unwind-protect
 		       (progn
 			 (set-buffer dest)
-			 (if to 
+			 (if to
 			     (bridge-insert input)
 			     (goto-char (point-max))
 			     (insert input)))
@@ -259,7 +259,7 @@ encountered before the bridge-end-regexp
      ;;1    setq b-end (or end-pattern end)
      ;;4    process string
      ;;5    remove handler if end found
-     
+
      ;;  no bridge in progress
      ;;0    setq b-start if see start-pattern
      ;;1    setq b-end if bstart to (or end-pattern end)
@@ -352,7 +352,7 @@ encountered before the bridge-end-regexp
 			    bridge-in-progress nil)
 		      ))
 		))
-     
+
 	     ;; continue looping, in case there's more string
 	     (setq start end)
 	     ))
@@ -388,11 +388,11 @@ encountered before the bridge-end-regexp
 		(progn
 		  (setq bridge-old-filter (process-filter process))
 		  (set-process-filter process 'bridge-filter)))
-	    (error "%s does not have a process" 
+	    (error "%s does not have a process"
 		   (buffer-name (current-buffer)))))
       (run-hooks 'bridge-hook)
       (message "Process bridge is installed")))
-	      
+
 ;;;
 (defun reset-bridge ()
   "Must be called from the process's buffer.  Removes any active bridge."
@@ -430,7 +430,7 @@ bridge-end to bridge-filter.  With prefi
 	(p1 (if current-prefix-arg (max start end)
 		(if (re-search-forward bridge-end-regexp nil t)
 		    (point) (error "Didn't see bridge-end-regexp")))))
-    
+
     (bridge-filter (get-buffer-process (current-buffer))
 		   (buffer-substring-no-properties p0 p1))
     ))
--- ilisp-5.12.0+cvs.2004.12.26.orig/cl-chs-init.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/cl-chs-init.lisp
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: cl-chs-init.lisp,v 1.4 2003/05/09 23:29:59 bill_clementson Exp $
 
 ;;; Old history logs.
 ;;;
@@ -23,7 +21,7 @@
 ;;; 1999-06-15: M. Atzmueller
 ;;; removed command to load inspect1.fas
 ;;; load any INSPECTOR yourself if there is no other inspect!
-;;; 
+;;;
 ;;; 1999-05-31: M. Atzmueller
 ;;; ilisp-arglist => #+clisp arglist (...) modified definition
 ;;; another option might be sys::arglist ...
@@ -36,7 +34,7 @@
   "Inspect SEXP in PACKAGE."
   (when (not (ignore-errors (functionp #'inspect)))
     (cerror
-     "~% Try loading it yourself, or proceed without inspecting ... :-( !" 
+     "~% Try loading it yourself, or proceed without inspecting ... :-( !"
      "~% There seems to be no INSPECTOR present!"))
 
   (ilisp-errors
--- ilisp-5.12.0+cvs.2004.12.26.orig/cl-ilisp.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/cl-ilisp.lisp
@@ -9,8 +9,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: cl-ilisp.lisp,v 1.22 2004/08/11 19:12:46 kevinrosenberg Exp $
 
 
 ;;; Old history log.
@@ -108,7 +106,7 @@
       (if eval-p
         `,(eval tmp-symbol)
         `',tmp-symbol))))
-                   
+
 (defmacro the-function-if-defined (((if-function if-package)
                                     (&optional else-function else-package)
                                     &key function-binding-p)
@@ -124,11 +122,11 @@
                     (find-symbol (symbol-name else-function)
                                  (find-package else-package)))))))
     (when (or fun-if fun-else)
-      (if function-binding-p        
+      (if function-binding-p
         `(let ((the-function (symbol-function ',(or fun-if fun-else))))
           ,@body)
         `(,(or fun-if fun-else) ,@body)))))
-      
+
 
 ;;; Martin Atzmueller 2000-01-15
 ;;; ilisp-message was mostly set up because Clisp expects an
@@ -207,7 +205,7 @@ messages, i.e. \"ILISP: ... \" in an uni
      #+allegro (setq tpl::*this-command-number*
 		     (max 0 (- tpl::*this-command-number* 2)))
      (ilisp-handler-case
-      ,form	
+      ,form
       (error (error)
              (ilisp-message nil "~A" error)))))
 
@@ -237,7 +235,7 @@ messages, i.e. \"ILISP: ... \" in an uni
 		new/)
 	  nil
 	(values-list new/))))
-  
+
 ;;; ilisp-symbol-name --
 ;;;
 ;;; ':capitalize' case added under suggestion by Rich Mallory.
@@ -474,7 +472,7 @@ This will only work on Microsoft NT, not
 	 (funcall generic-p symbol))))
 
 
-  
+
 (defun ilisp-function-short-description (symbol)
   (cond ((macro-function symbol)
 	 " (Macro)")
@@ -501,10 +499,10 @@ This will only work on Microsoft NT, not
 
            #+:ecl
             (si::help symbol)
-            
+
 	   #+lucid
 	   (lucid::arglist symbol)
-	   
+
 	   #+lispworks
 	   (system::function-lambda-list symbol)
 
@@ -513,13 +511,13 @@ This will only work on Microsoft NT, not
 
 	   #+cmu
 	   (arglist symbol (symbol-package symbol))
-	   
+
 	   #+:sbcl
 	   (arglist symbol (symbol-package symbol))
 
 	   #+:openmcl
 	   (arglist symbol (symbol-package symbol))
-	   
+
 	   #-(or allegro lucid kcl ibcl ecl gcl lispworks clisp cmu :sbcl :openmcl)
 	   (documentation symbol 'function)))))
 
@@ -593,7 +591,7 @@ If TYPE is \(qualifiers* (class ...)), t
 
 ;;;
 (defun ilisp-macroexpand (expression package)
-  "Macroexpand EXPRESSION as long as the top level function is still a macro." 
+  "Macroexpand EXPRESSION as long as the top level function is still a macro."
   (ilisp-errors
    (let ((*print-length* nil)
 	 (*print-level* nil)
@@ -633,13 +631,13 @@ If TYPE is \(qualifiers* (class ...)), t
 (defun ilisp-compile-file-extension ()
   (pathname-type (compile-file-pathname "ilisp-foo")))
 
-   
+
 ;;;
 (defun ilisp-compile-file (file extension)
   "Compile FILE putting the result in FILE+EXTENSION."
   (ilisp-errors
    (compile-file file
-		 :output-file 
+		 :output-file
 		 (merge-pathnames (make-pathname :type extension) file))))
 
 ;;;
@@ -735,7 +733,7 @@ original string."
 				name
 				(ilisp-casify pattern name lower-p upper-p)))
 		      results))))
-	  ;; Check SYMBOL against PATTERN using WORDS 
+	  ;; Check SYMBOL against PATTERN using WORDS
 	  (check-symbol2 (symbol pattern words)
 	    (let ((name (symbol-name symbol)))
 	      (when (and (or (not function-p) (fboundp symbol))
--- ilisp-5.12.0+cvs.2004.12.26.orig/cmulisp.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/cmulisp.lisp
@@ -9,8 +9,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: cmulisp.lisp,v 1.15 2003/05/14 20:00:58 kevinrosenberg Exp $
 
 
 (in-package :ilisp)
@@ -69,7 +67,7 @@
 			 ((cdr first)
 			  (find-return-to (cdr first) (1- num)))))))
 	(let* ((level (debug::read-if-available 1))
-	       (first-return-to (find-return-to 
+	       (first-return-to (find-return-to
 				 debug::*debug-restarts* (1- level))))
 	  (if (null first-return-to)
 	      (format *debug-io* "pop: ~d is too far" level)
@@ -134,7 +132,7 @@
 		   (generic-function-pretty-arglist func))
 		  (eval:interpreted-function
 		   (massage-arglist (eval::interpreted-function-arglist func)))
-		
+
 		  (t (print 99 *trace-output*) "No arglist available.")))
 	       (t "No arglist available."))
 	     "Unknown function - no arglist available." ; For the time
--- ilisp-5.12.0+cvs.2004.12.26.orig/comint-ipc.el
+++ ilisp-5.12.0+cvs.2004.12.26/comint-ipc.el
@@ -32,13 +32,13 @@
 
 ;;; This file contains extensions to multiplex the single channel of
 ;;; an inferior process between multiple purposes.  It provides both
-;;; synchronous and asynchronous sends with error handling.  
+;;; synchronous and asynchronous sends with error handling.
 
 ;;; USAGE: Load this file and call comint-setup-ipc in a comint
 ;;; buffer.  This is not a standalone application.  For an example of
 ;;; it being used see ilisp.el.
 
-;;; CUSTOMIZATION: See the parameters and hooks below.  
+;;; CUSTOMIZATION: See the parameters and hooks below.
 
 ;;; INTERFACE.  See the function documentation and code for more information.
 ;;;
@@ -53,7 +53,7 @@
   "If T, then record all process input and output in a buffer.
 The name of the buffer is the process name.")
 
-(defvar comint-send-newline t 
+(defvar comint-send-newline t
   "If T then add a newline to string in comint-default-send.")
 
 (defvar comint-always-scroll nil
@@ -74,7 +74,7 @@ The name of the buffer is the process na
 (defvar comint-output-buffer " *Output*"
   "Name of the output buffer.")
 
-(defvar comint-error-buffer " *Error Output*" 
+(defvar comint-error-buffer " *Error Output*"
   "Name of the error output buffer.")
 
 (defvar comint-show-status t
@@ -104,14 +104,14 @@ funcall comint-update-status to set the
 just return T if last line is a prompt.")
 
 ;;;
-(defvar comint-abort-hook nil 
+(defvar comint-abort-hook nil
   "List of hooks to run after sends are aborted.")
 
 ;;;%Globals
-(defvar comint-send-queue nil 
+(defvar comint-send-queue nil
   "List of currently pending IPC send requests.  The first element in
 the queue is where output to the process will be stored.
-A send record is a list of: 
+A send record is a list of:
 
 string -- The string sent to the process.
 
@@ -143,7 +143,7 @@ line -- The start of the last line in th
 result -- Cons of the output and the prompt after the send.")
 
 (defvar comint-end-queue nil "Pointer to the end of comint-send-queue.")
-(defvar comint-queue-emptied t 
+(defvar comint-queue-emptied t
   "Set to T each time send queue empties.")
 
 (defvar comint-output nil
@@ -153,7 +153,7 @@ is put in the send stream.")
   "Set to T if the last send was an error.")
 
 (defvar comint-status " :run" "The current comint status.")
-(defvar comint-original-buffer nil 
+(defvar comint-original-buffer nil
   "The original buffer when there was output to a comint buffer.")
 
 (defvar comint-last-send nil "Last send that was put in queue.")
@@ -178,8 +178,7 @@ is put in the send stream.")
 (defun comint-log (process string &optional output)
   "Log to PROCESS, STRING marking as optional OUTPUT."
   (if comint-log
-      (save-excursion
-	(set-buffer (get-buffer-create (process-name process)))
+      (with-current-buffer (get-buffer-create (process-name process))
 	(goto-char (point-max))
 	(if output
 	    (progn
@@ -241,7 +240,7 @@ an error, the prompt will be a list."
     (or (car (cdr status))		;Message
 	(and (stringp (car send)) (car send)) ;String
 	(and (car status) (symbol-name (car status))))))
-  
+
 ;;;
 (defun comint-interrupted ()
   "Return T if there is an interrupted send."
@@ -252,7 +251,7 @@ an error, the prompt will be a list."
 	  (setq done t)
 	  (setq send (cdr send))))
     done))
-      
+
 
 ;;;%Default hooks
 (defun comint-process-sentinel (process status)
@@ -266,7 +265,7 @@ an error, the prompt will be a list."
 ;;;
 (defun comint-interrupt-start (output)
   "Return the start of comint-interrupt-regexp in OUTPUT."
-  (if (and comint-interrupt-regexp 
+  (if (and comint-interrupt-regexp
 	   (string-match comint-interrupt-regexp output))
       (match-beginning 0)))
 
@@ -276,7 +275,7 @@ an error, the prompt will be a list."
   (setq comint-status (format " :%s" status))
   (if comint-show-status
       (progn
-	(save-excursion (set-buffer (other-buffer)))
+	(with-current-buffer (other-buffer))
 	(sit-for 0))))
 
 ;;;
@@ -312,7 +311,7 @@ error.  OLD will be nil for the first pr
 	  (goto-char mark)
 	  (insert output)
 	  (set-marker mark (point)))
-	(if window 
+	(if window
 	    (progn
 	      (if (or at-end comint-always-scroll) (goto-char mark))
 	      (if (not (pos-visible-in-window-p (point) window))
@@ -346,7 +345,7 @@ returned."
 	  char)
       (while (progn (message prompt)
 		    (not (memq (setq char (downcase (read-char))) keys)))
-	(if (= char ? ) 
+	(if (= char ? )
 	    (ilisp-scroll-output)
 	    (setq quit-flag nil)
 	    (beep)))
@@ -386,7 +385,7 @@ output prompt) and should determine what
 appropriate and return T if errors should be fixed and NIL otherwise.
 
 If the prompt is an error, then comint-fix-error will be sent to fix
-the error. 
+the error.
 
 When there is a prompt in the output stream, the next send will be
 dispatched unless the wait flag for the send is a string.  If it is a
@@ -438,7 +437,7 @@ comint-send or comint-default-send, or r
 		   (if split
 		       (let ((interrupted (car running)))
 			 ;; Store output to previous send
-			 (rplaca (comint-send-variables interrupted) 
+			 (rplaca (comint-send-variables interrupted)
 				 (substring (car result) 0 split))
 			 (rplaca result (substring (car result) (car line)))
 			 (rplaca line 0)
@@ -450,7 +449,7 @@ comint-send or comint-default-send, or r
 		   (if is-prompt
 		       (let* ((output
 			       (if (or no-insert sync)
-				   (funcall comint-output-filter 
+				   (funcall comint-output-filter
 					    (substring (car result)
 						       0 (car line)))))
 			      (handler (car handler))
@@ -459,7 +458,7 @@ comint-send or comint-default-send, or r
 			 (rplaca result output)
 			 (rplacd result (if error (list last) last))
 			 (setq comint-output (car result)
-			       comint-errorp 
+			       comint-errorp
 			       (or error
 				   (and comint-error-regexp
 					comint-output
@@ -492,7 +491,7 @@ comint-send or comint-default-send, or r
 						  message output last))))
 
 			   (if (and error handler no-insert comint-fix-error)
-			       (setq comint-send-queue 
+			       (setq comint-send-queue
 				     (cons (list comint-fix-error t nil 'fix
 						 "Fixing error" nil
 						 nil nil 0 (cons nil nil))
@@ -507,8 +506,8 @@ comint-send or comint-default-send, or r
 					 (cdr (cdr (cdr (cdr (car comint-end-queue)))))
 					 "Done")
 				       (if (not no-insert)
-					   (comint-insert 
-					    (concat 
+					   (comint-insert
+					    (concat
 					     (substring old-result 0 match)
 					     (substring old-result
 							(match-end 0)))))
@@ -543,7 +542,7 @@ current send if done."
 	     (setq comint-queue-emptied t)
 	     ;; Set old prompt to prompt
 	     (if prompt
-		 (rplaca (cdr (comint-send-variables send)) 
+		 (rplaca (cdr (comint-send-variables send))
 			 (if (consp prompt) (car prompt) prompt)))
 	     (rplaca send nil)
 	     (if init
@@ -552,8 +551,8 @@ current send if done."
 		   ;; Continue if interrupted.  There is no way to
 		   ;; sense if the interrupted command actually
 		   ;; started, so it is possible that a command will
-		   ;; get lost.  
-		   (progn (funcall comint-update-status 
+		   ;; get lost.
+		   (progn (funcall comint-update-status
 				   (car (cdr (cdr (cdr send)))))
 			  (comint-sender process comint-continue)
 			  (comint-process-filter process (car running))
@@ -586,7 +585,7 @@ current send if done."
 			  message comment-end "\n")))
 	     (if (and string (not (stringp string)))
 		 ;; Elisp code
-		 (progn 
+		 (progn
 		   (rplacd (comint-send-results (car comint-send-queue))
 			   (if (consp prompt) (car prompt) prompt))
 		   (funcall string)
@@ -612,7 +611,7 @@ current send if done."
 		       ;; is a problem only if the original did start
 		       ;; and had side effects.
 		       (rplaca running nil)
-		       (setq comint-send-queue 
+		       (setq comint-send-queue
 			     (cons (list comint-fix-error t nil 'fix
 					 "Fixing error" nil
 					 nil nil 0 (cons nil nil))
@@ -620,7 +619,7 @@ current send if done."
 		       (comint-dispatch-send process)))
 		 (if (not top-level)
 		     ;; New send, set old prompt to the prompt of previous
-		     (rplaca (cdr (comint-send-variables send)) 
+		     (rplaca (cdr (comint-send-variables send))
 			     (if (consp prompt) (car prompt) prompt)))
 		 (if string
 		     (progn
@@ -672,7 +671,7 @@ force comint-send-queue to be initialize
   (make-local-variable 'comint-status)
   (make-local-variable 'comint-aborting)
   (if (or force (not comint-send-queue))
-      (setq comint-send-queue 
+      (setq comint-send-queue
 	    (list (list nil nil nil 'run "Top Level"
 			nil t nil 0 (cons nil nil)))
 	    comint-end-queue comint-send-queue))
@@ -682,11 +681,11 @@ force comint-send-queue to be initialize
   (setq mode-line-process 'comint-status))
 
 ;;;%%Input
-(defun comint-send (process string 
-			    &optional 
+(defun comint-send (process string
+			    &optional
 			    no-insert
 			    wait
-			    status 
+			    status
 			    message
 			    handler
 			    after)
@@ -720,14 +719,14 @@ comint-fix-error is the string used to f
 comint-continue is the string used to continue after an interrupt.
 
 comint-interrupt-regexp is the default regexp to use in finding the
-start of the interrupt text.  
+start of the interrupt text.
 
-comint-error-regexp will set comint-errorp if found in the process output.  
+comint-error-regexp will set comint-errorp if found in the process output.
 
 FUNCTIONS:  Each of the functions in these variables is called with
 the buffer set to the appropriate process buffer and
 comint-original-buffer bound to the buffer current when the process
-filter was called.  
+filter was called.
 
 comint-update-status is a function \(status) that is called each time
 the process status changes.
@@ -742,14 +741,13 @@ It should return the output string.
 
 comint-interrupt-start is a function \(output) that returns the start
 of the interrupt text in output using comint-interrupt-regexp to find it."
-  (save-excursion
-    (set-buffer (process-buffer process))
+  (with-current-buffer (process-buffer process)
     (let* ((inhibit-quit t)
-	   (send (list string 
+	   (send (list string
 		       no-insert
 		       wait
 		       (or status 'run)
-		       message 
+		       message
 		       (if (eq handler t) nil (or handler comint-handler))
 		       ;; running, old-prompt, line
 		       nil nil 0
@@ -768,7 +766,7 @@ of the interrupt text in output using co
 	    (comint-dispatch-send process))
 	  (if (or (and wait (not after) (not prompt)) top-level)
 	      (comint-interrupt process send)
-	      (let ((looking t) 
+	      (let ((looking t)
 		    (next comint-send-queue))
 		(if after
 		    (while (and looking next)
@@ -792,12 +790,12 @@ of the interrupt text in output using co
 	     (setq ok pointer))
 	(if (not ok)
 	    (if (eq send (car comint-send-queue))
-		(let ((interrupt 
+		(let ((interrupt
 		       ;; string no-insert wait status message handler
 		       (list nil t nil 'interrupt "Interrupt" nil
 			     ;; running old-prompt line (output . prompt)
 			     send (car (cdr (comint-send-variables send)))
-			     nil (cons nil nil)))) 
+			     nil (cons nil nil))))
 		  (setq comint-send-queue
 			(cons interrupt (cdr comint-send-queue)))
 		  (comint-interrupt-subjob))
@@ -806,14 +804,13 @@ of the interrupt text in output using co
 ;;;
 (defun comint-send-code (process code)
   "Execute after the previous send in PROCESS queue CODE. You do not
-want to execute synchronous sends in the code or it will lock up. " 
+want to execute synchronous sends in the code or it will lock up. "
   (comint-send process code nil nil nil nil nil t))
 
 ;;;
 (defun comint-default-send (process string)
-  "Send to PROCESS top-level, STRING."  
-  (save-excursion
-    (set-buffer (process-buffer process))
+  "Send to PROCESS top-level, STRING."
+  (with-current-buffer (process-buffer process)
     (let* ((top (car comint-end-queue))
 	   (old (car top)))
       (rplaca (cdr (cdr (cdr (cdr (car comint-end-queue))))) string)
@@ -833,13 +830,13 @@ want to execute synchronous sends in the
 each prompt received until START-REGEXP shows up in the stream.  Then
 END will be sent and all output will be discarded until END-REGEXP
 shows up in the output stream."
-  (comint-send 
+  (comint-send
    process
    start
-   nil start-regexp 'sync "Start sync" 
+   nil start-regexp 'sync "Start sync"
    (function (lambda (error-p wait message output prompt)
      (if (not (string-match wait output))
-	 (comint-sender 
+	 (comint-sender
 	  (get-buffer-process (current-buffer))
 	  (car (car comint-send-queue))))
      nil)))
@@ -854,9 +851,8 @@ shows up in the output stream."
   "Abort all of the pending sends for optional PROCESS and show their
 messages in *Aborted Commands*."
   (interactive)
-  (save-excursion
-    (setq process (or process (get-buffer-process (current-buffer))))
-    (set-buffer (process-buffer process))
+  (setq process (or process (get-buffer-process (current-buffer))))
+  (with-current-buffer (process-buffer process)
     (setq comint-aborting t)
     (if (not (eq comint-send-queue comint-end-queue))
 	(let* ((inhibit-quit t)
@@ -864,10 +860,10 @@ messages in *Aborted Commands*."
 	       (vars (comint-send-variables send))
 	       (pointer comint-send-queue)
 	       (new nil)
-	       (interrupt (and (car vars) 
+	       (interrupt (and (car vars)
 			       (not (cdr (comint-send-results send))))))
 	  (if interrupt
-	      (progn			;Sent, but no prompt 
+	      (progn			;Sent, but no prompt
 		(if (consp (car vars))
 		    (progn (setq new (list send))
 			   (rplaca (cdr (cdr (cdr (cdr (cdr send)))))
@@ -879,20 +875,18 @@ messages in *Aborted Commands*."
 				 send (car (cdr (comint-send-variables send)))
 				 nil (cons nil nil))))
 		    (comint-interrupt-subjob)))) ;Already interrupting
-	  (save-excursion
-	    (set-buffer (get-buffer-create "*Aborted Commands*"))
+	  (with-current-buffer (get-buffer-create "*Aborted Commands*")
 	    (delete-region (point-min) (point-max)))
 	  (while (not (eq pointer comint-end-queue))
 	    (let ((send (car pointer)))
 	      (if (car (cdr (cdr (cdr (cdr send))))) ;Message
-		  (save-excursion
-		    (set-buffer "*Aborted Commands*")
+		  (with-current-buffer "*Aborted Commands*"
 		    (insert (comint-send-description send))
 		    (insert "\n\n")))
 	      (if (and comint-fix-error
 		       (stringp (car (comint-send-variables send))))
-		  ;; Interrupted 
-		  (setq new (cons 
+		  ;; Interrupted
+		  (setq new (cons
 			     (list comint-fix-error t nil 'fix
 				   "Fixing error" nil
 				   nil nil 0 (cons nil nil))
@@ -900,9 +894,9 @@ messages in *Aborted Commands*."
 	      (setq pointer (cdr pointer))))
 	  (bury-buffer "*Aborted Commands*")
 	  (rplaca (car comint-end-queue) nil)
-	  (setq comint-send-queue 
+	  (setq comint-send-queue
 		(reverse (cons (car comint-end-queue) new))
-		comint-end-queue 
+		comint-end-queue
 		(let ((pointer comint-send-queue))
 		  (while (cdr pointer)
 		    (setq pointer (cdr pointer)))
@@ -917,8 +911,7 @@ messages in *Aborted Commands*."
   (if showp
       (with-output-to-temp-buffer comint-output-buffer
 	(let ((send comint-send-queue))
-	  (save-excursion
-	    (set-buffer comint-output-buffer)
+	  (with-current-buffer comint-output-buffer
 	    (insert "Pending commands:\n")
 	    (while send
 	      (let ((message (car (cdr (cdr (cdr (cdr (car send))))))))
@@ -935,8 +928,7 @@ messages in *Aborted Commands*."
   "Put TEXT in optional BUFFER and show it in a small temporary window."
   (setq buffer (or buffer comint-output-buffer))
   (with-output-to-temp-buffer buffer
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (insert text)
       (set-buffer-modified-p nil)))
   text)
--- ilisp-5.12.0+cvs.2004.12.26.orig/comint-v18.el
+++ ilisp-5.12.0+cvs.2004.12.26/comint-v18.el
@@ -11,15 +11,15 @@
 ;;; This file defines a general command-interpreter-in-a-buffer package
 ;;; (comint mode). The idea is that you can build specific process-in-a-buffer
 ;;; modes on top of comint mode -- e.g., lisp, shell, scheme, T, soar, ....
-;;; This way, all these specific packages share a common base functionality, 
+;;; This way, all these specific packages share a common base functionality,
 ;;; and a common set of bindings, which makes them easier to use (and
 ;;; saves code, implementation time, etc., etc.).
-;;; 
+;;;
 ;;; Several packages are already defined using comint mode:
 ;;; - The file cmushell.el defines cmushell and cmulisp mode.
 ;;; Cmushell and cmulisp mode are similar to, and intended to replace,
-;;; their counterparts in the standard gnu emacs release (in shell.el). 
-;;; These replacements are more featureful, robust, and uniform than the 
+;;; their counterparts in the standard gnu emacs release (in shell.el).
+;;; These replacements are more featureful, robust, and uniform than the
 ;;; released versions. The key bindings in lisp mode are also more compatible
 ;;; with the bindings of Hemlock and Zwei (the Lisp Machine emacs).
 ;;;
@@ -29,7 +29,7 @@
 
 ;;; For documentation on the functionality provided by comint mode, and
 ;;; the hooks available for customising it, see the comments below.
-;;; For further information on the standard derived modes (shell, 
+;;; For further information on the standard derived modes (shell,
 ;;; inferior-lisp, inferior-scheme, ...), see the relevant source files.
 
 ;;; Please send me bug reports, bug fixes, and extensions, so that I can
@@ -91,7 +91,7 @@
 ;;;     input-ring              - ring             mechanism
 ;;;     input-ring-index        - marker           ...
 ;;;     comint-last-input-match - string           ...
-;;;     comint-get-old-input    - function     Hooks for specific 
+;;;     comint-get-old-input    - function     Hooks for specific
 ;;;     comint-input-sentinel   - function         process-in-a-buffer
 ;;;     comint-input-filter     - function         modes.
 (defvar comint-prompt-regexp "^"
@@ -152,9 +152,9 @@ appropriate functions, and the variable
 the appropriate regular expression.
 
 An input history is maintained of size input-ring-size, and
-can be accessed with the commands comint-next-input [\\[comint-next-input]] and 
+can be accessed with the commands comint-next-input [\\[comint-next-input]] and
 comint-previous-input [\\[comint-previous-input]]. Commands not keybound by
-default are send-invisible, comint-dynamic-complete, and 
+default are send-invisible, comint-dynamic-complete, and
 comint-list-dynamic-completions.
 \\{comint-mode-map}
 If you accidentally suspend your process, use \\[comint-continue-subjob]
@@ -181,7 +181,7 @@ Entry to this mode runs the hooks on com
     (setq input-ring-index 0)
     (make-variable-buffer-local 'comint-get-old-input)
     (make-variable-buffer-local 'comint-input-sentinel)
-    (make-variable-buffer-local 'comint-input-filter)  
+    (make-variable-buffer-local 'comint-input-filter)
     (run-hooks 'comint-mode-hook)
     ;Do this after the hook so the user can mung INPUT-RING-SIZE w/his hook.
     ;The test is so we don't lose history if we run comint-mode twice in
@@ -272,13 +272,13 @@ buffer."
       (goto-char (point-max))
       (set-marker (process-mark proc) (point)))
     buffer))
-      
+
 
 
 ;;; Ring Code
 ;;;============================================================================
-;;; This code defines a ring data structure. A ring is a 
-;;;     (hd-index tl-index . vector) 
+;;; This code defines a ring data structure. A ring is a
+;;;     (hd-index tl-index . vector)
 ;;; list. You can insert to, remove from, and rotate a ring. When the ring
 ;;; fills up, insertions cause the oldest elts to be quietly dropped.
 ;;;
@@ -288,7 +288,7 @@ buffer."
 ;;; These functions are used by the input history mechanism, but they can
 ;;; be used for other purposes as well.
 
-(defun ring-p (x) 
+(defun ring-p (x)
   "T if X is a ring; NIL otherwise."
   (and (consp x) (integerp (car x))
        (consp (cdr x)) (integerp (car (cdr x)))
@@ -317,7 +317,7 @@ buffer."
 
 (defun ring-insert (ring item)
   "Insert a new item onto the ring. If the ring is full, dump the oldest
-item to make room."       
+item to make room."
   (let* ((vec (cdr (cdr ring)))  (len (length vec))
 	 (new-hd (ring-minus1 (car ring) len)))
       (setcar ring new-hd)
@@ -358,7 +358,7 @@ item to make room."
 	    (set-car (cdr ring) tl)))))
 
 (defun comint-mod (n m)
-  "Returns N mod M. M is positive. Answer is guaranteed to be non-negative, 
+  "Returns N mod M. M is positive. Answer is guaranteed to be non-negative,
 and less than m."
   (let ((n (% n m)))
     (if (>= n 0) n
@@ -370,7 +370,7 @@ and less than m."
     (if (= numelts 0) (error "indexed empty ring")
 	(let* ((hd (car ring))  (tl (car (cdr ring)))  (vec (cdr (cdr ring)))
 	       (index (comint-mod index numelts))
-	       (vec-index (comint-mod (+ index hd) 
+	       (vec-index (comint-mod (+ index hd)
 				      (length vec))))
 	  (aref vec vec-index)))))
 
@@ -394,7 +394,7 @@ and less than m."
 	   (cond ((eq last-command 'comint-previous-input)
 		  (delete-region (mark) (point))
 		  (set-mark (point)))
-		 (t                          
+		 (t
 		  (setq input-ring-index
 			(if (> arg 0) -1
 			    (if (< arg 0) 1 0)))
@@ -404,7 +404,7 @@ and less than m."
 	   (insert (ring-ref input-ring input-ring-index))
 	   (setq this-command 'comint-previous-input))
 	  (t (ding)))))
-	 
+
 (defun comint-next-input (arg)
   "Cycle forwards through input history."
   (interactive "*p")
@@ -412,11 +412,11 @@ and less than m."
 
 (defvar comint-last-input-match ""
   "Last string searched for by comint input history search, for defaulting.
-Buffer local variable.") 
+Buffer local variable.")
 
 (defun comint-previous-input-matching (str)
   "Searches backwards through input history for substring match"
-  (interactive (let ((s (read-from-minibuffer 
+  (interactive (let ((s (read-from-minibuffer
 			 (format "Command substring (default %s): "
 				 comint-last-input-match))))
 		 (list (if (string= s "") comint-last-input-match s))))
@@ -431,7 +431,7 @@ Buffer local variable.")
 	  (t (error "Not found.")))))
 
 ;;; These next three commands are alternatives to the input history commands --
-;;; comint-next-input, comint-previous-input and 
+;;; comint-next-input, comint-previous-input and
 ;;; comint-previous-input-matching. They search through the process buffer
 ;;; text looking for occurrences of the prompt. RMS likes them better;
 ;;; I don't. Bound to M-P, M-N, and C-c R (uppercase P, N, and R) for
@@ -466,7 +466,7 @@ Search starts from beginning of current
 (defun comint-msearch-input-matching (str)
   "Search backwards for occurrence of prompt followed by STRING.
 STRING is prompted for, and is NOT a regular expression."
-  (interactive (let ((s (read-from-minibuffer 
+  (interactive (let ((s (read-from-minibuffer
 			 (format "Command (default %s): "
 				 comint-last-input-match))))
 		 (list (if (string= s "") comint-last-input-match s))))
@@ -482,7 +482,7 @@ STRING is prompted for, and is NOT a reg
     (if p (goto-char p)
 	(error "No match"))))
 
-(defun comint-send-input () 
+(defun comint-send-input ()
   "Send input to process.  After the process output mark, sends all text
 from the process mark to point as input to the process.  Before the
 process output mark, calls value of variable comint-get-old-input to retrieve
@@ -497,12 +497,12 @@ according to the command interpreter run
 If the interpreter is the csh,
     comint-get-old-input is the default: take the current line, discard any
         initial string matching regexp comint-prompt-regexp.
-    comint-input-sentinel monitors input for \"cd\", \"pushd\", and \"popd\" 
+    comint-input-sentinel monitors input for \"cd\", \"pushd\", and \"popd\"
         commands. When it sees one, it cd's the buffer.
     comint-input-filter is the default: returns T if the input isn't all white
 	space.
 
-If the comint is Lucid Common Lisp, 
+If the comint is Lucid Common Lisp,
     comint-get-old-input snarfs the sexp ending at point.
     comint-input-sentinel does nothing.
     comint-input-filter returns NIL if the input matches input-filter-regexp,
@@ -540,7 +540,7 @@ any initial text matching comint-prompt-
       (buffer-substring beg (point)))))
 
 (defun comint-skip-prompt ()
-  "Skip past the text matching regexp comint-prompt-regexp. 
+  "Skip past the text matching regexp comint-prompt-regexp.
 If this takes us past the end of the current line, don't skip at all."
   (let ((eol (save-excursion (end-of-line) (point))))
     (if (and (looking-at comint-prompt-regexp)
@@ -551,7 +551,7 @@ If this takes us past the end of the cur
 (defun comint-after-pmark-p ()
   "Is point after the process output marker?"
   ;; Since output could come into the buffer after we looked at the point
-  ;; but before we looked at the process marker's value, we explicitly 
+  ;; but before we looked at the process marker's value, we explicitly
   ;; serialise. This is just because I don't know whether or not emacs
   ;; services input during execution of lisp commands.
   (let ((proc-pos (marker-position
@@ -560,13 +560,13 @@ If this takes us past the end of the cur
 
 (defun comint-bol (arg)
   "Goes to the beginning of line, then skips past the prompt, if any.
-If a prefix argument is given (\\[universal-argument]), then no prompt skip 
+If a prefix argument is given (\\[universal-argument]), then no prompt skip
 -- go straight to column 0.
 
 The prompt skip is done by skipping text matching the regular expression
 comint-prompt-regexp, a buffer local variable.
 
-If you don't like this command, reset c-a to beginning-of-line 
+If you don't like this command, reset c-a to beginning-of-line
 in your hook, comint-mode-hook."
   (interactive "P")
   (beginning-of-line)
@@ -594,7 +594,7 @@ may be a security bug for some applicati
 
 (defun send-invisible (str)
   "Read a string without echoing, and send it to the process running
-in the current buffer. A new-line is additionally sent. String is not 
+in the current buffer. A new-line is additionally sent. String is not
 saved on comint input history list.
 Security bug: your string can still be temporarily recovered with
 \\[view-lossage]."
@@ -614,7 +614,7 @@ Security bug: your string can still be t
   (interactive)
   (let ((pmark (process-mark (get-buffer-process (current-buffer)))))
     (kill-region comint-last-input-end pmark)
-    (goto-char pmark)    
+    (goto-char pmark)
     (insert "*** output flushed ***\n")
     (set-marker pmark (point))))
 
@@ -709,28 +709,28 @@ Useful if you accidentally suspend the t
 ;;; (COMINT-SOURCE-DEFAULT previous-dir/file source-modes)
 ;;;============================================================================
 ;;; This function computes the defaults for the load-file and compile-file
-;;; commands for tea, soar, cmulisp, and cmuscheme modes. 
-;;; 
-;;; - PREVIOUS-DIR/FILE is a pair (directory . filename) from the last 
+;;; commands for tea, soar, cmulisp, and cmuscheme modes.
+;;;
+;;; - PREVIOUS-DIR/FILE is a pair (directory . filename) from the last
 ;;; source-file processing command. NIL if there hasn't been one yet.
 ;;; - SOURCE-MODES is a list used to determine what buffers contain source
 ;;; files: if the major mode of the buffer is in SOURCE-MODES, it's source.
 ;;; Typically, (lisp-mode) or (scheme-mode).
-;;; 
+;;;
 ;;; If the command is given in a file buffer whose major modes is in
 ;;; SOURCE-MODES, then the the filename is the default file, and the
 ;;; file's directory is the default directory.
-;;; 
+;;;
 ;;; If the buffer isn't a source file buffer (e.g., it's the process buffer),
 ;;; then the default directory & file are what was used in the last source-file
 ;;; processing command (i.e., PREVIOUS-DIR/FILE).  If this is the first time
 ;;; the command has been run (PREVIOUS-DIR/FILE is nil), the default directory
 ;;; is the cwd, with no default file. (\"no default file\" = nil)
-;;; 
+;;;
 ;;; SOURCE-REGEXP is typically going to be something like (tea-mode)
 ;;; for T programs, (lisp-mode) for Lisp programs, (soar-mode lisp-mode)
 ;;; for Soar programs, etc.
-;;; 
+;;;
 ;;; The function returns a pair: (default-directory . default-file).
 
 (defun comint-source-default (previous-dir/file source-modes)
@@ -769,15 +769,15 @@ Useful if you accidentally suspend the t
 ;;; commands that process source files (like loading or compiling a file).
 ;;; It prompts for the filename, provides a default, if there is one,
 ;;; and returns the result filename.
-;;; 
+;;;
 ;;; See COMINT-SOURCE-DEFAULT for more on determining defaults.
-;;; 
+;;;
 ;;; PROMPT is the prompt string. PREV-DIR/FILE is the (directory . file) pair
 ;;; from the last source processing command.  SOURCE-MODES is a list of major
 ;;; modes used to determine what file buffers contain source files.  (These
 ;;; two arguments are used for determining defaults). If MUSTMATCH-P is true,
 ;;; then the filename reader will only accept a file that exists.
-;;; 
+;;;
 ;;; A typical use:
 ;;; (interactive (comint-get-source "Compile file: " prev-lisp-dir/file
 ;;;                                 "\\.lisp\\'" t))
@@ -817,7 +817,7 @@ Useful if you accidentally suspend the t
 ;;; (setq cmushell-load-hook
 ;;;       '((lambda () (define-key lisp-mode-map "\M-\t"
 ;;;				   'comint-replace-by-expanded-filename))))
-;;;          
+;;;
 
 
 (defun comint-match-partial-pathname ()
@@ -826,7 +826,7 @@ Useful if you accidentally suspend the t
       (save-excursion
 	(re-search-backward "[^~/A-Za-z0-9---_.$#,]+")
 	(re-search-forward "[~/A-Za-z0-9---_.$#,]+")
-	(substitute-in-file-name 
+	(substitute-in-file-name
 	  (buffer-substring (match-beginning 0) (match-end 0))))))
 
 (defun comint-replace-by-expanded-filename ()
@@ -882,8 +882,8 @@ Useful if you accidentally suspend the t
 ; (global-set-key "\M-?" 'comint-dynamic-list-completions)
 ; (define-key shell-mode-map "\M-\t" 'comint-dynamic-complete)
 
-;;; Log the user, so I know who's using the package during the beta test 
-;;; period. This just inserts the user's name and current time into a 
+;;; Log the user, so I know who's using the package during the beta test
+;;; period. This just inserts the user's name and current time into a
 ;;; central file.
 (defun comint-log-user ()
   (interactive)
@@ -905,13 +905,13 @@ Useful if you accidentally suspend the t
 
 ;;; Converting process modes to use comint mode
 ;;; ===========================================================================
-;;; Several gnu packages (tex-mode, background, dbx, gdb, kermit, prolog, 
+;;; Several gnu packages (tex-mode, background, dbx, gdb, kermit, prolog,
 ;;; telnet are some) use the shell package as clients. Most of them would
-;;; be better off using the comint package, but they predate it. 
+;;; be better off using the comint package, but they predate it.
 ;;;
 ;;; Altering these packages to use comint mode should greatly
 ;;; improve their functionality, and is fairly easy.
-;;; 
+;;;
 ;;; Renaming variables
 ;;; Most of the work is renaming variables and functions. These are the common
 ;;; ones:
@@ -938,9 +938,9 @@ Useful if you accidentally suspend the t
 ;;; LAST-INPUT-START is no longer necessary because inputs are stored on the
 ;;; input history ring. SHELL-SET-DIRECTORY is gone, its functionality taken
 ;;; over by SHELL-DIRECTORY-TRACKER, the shell mode's comint-input-sentinel.
-;;; Comint mode does not provide functionality equivalent to 
+;;; Comint mode does not provide functionality equivalent to
 ;;; shell-set-directory-error-hook; it is gone.
-;;; 
+;;;
 ;;; If you are implementing some process-in-a-buffer mode, called foo-mode, do
 ;;; *not* create the comint-mode local variables in your foo-mode function.
 ;;; This is not modular.  Instead, call comint-mode, and let *it* create the
@@ -952,7 +952,7 @@ Useful if you accidentally suspend the t
 ;;; foo-mode-hook, and you're done. Don't run the comint-mode hook yourself;
 ;;; comint-mode will take care of it. The following example, from cmushell.el,
 ;;; is typical:
-;;; 
+;;;
 ;;; (defun shell-mode ()
 ;;;   (interactive)
 ;;;   (comint-mode)
@@ -983,5 +983,5 @@ Useful if you accidentally suspend the t
 (defvar comint-load-hook nil
   "This hook is run when comint is loaded in.
 This is a good place to put keybindings.")
-	
+
 (run-hooks 'comint-load-hook)
--- ilisp-5.12.0+cvs.2004.12.26.orig/completer.el
+++ ilisp-5.12.0+cvs.2004.12.26/completer.el
@@ -14,7 +14,7 @@
 ;;; Keywords: minibuffer, completion
 
 ;;; Thanks to Bjorn Victor for suggestions, testing, and patches for
-;;; file completion. 
+;;; file completion.
 
 ;;; This file should be part of GNU Emacs and XEmacs.
 
@@ -38,12 +38,12 @@
 ;;; completion rules are:
 ;;;
 ;;; 1) If what has been typed matches any possibility, do normal
-;;; completion. 
+;;; completion.
 ;;;
 ;;; 2) Otherwise, generate a regular expression such that
 ;;; completer-words delimit words and generate all possible matches.
 ;;; The variable completer-any-delimiter can be set to a character
-;;; that matches any delimiter.  If it were " ", then "by  d" would be 
+;;; that matches any delimiter.  If it were " ", then "by  d" would be
 ;;; byte-recompile-directory.  If completer-use-words is T, a match is
 ;;; unique if it is the only one with the same number of words.  If
 ;;; completer-use-words is NIL, a match is unique if it is the only
@@ -82,7 +82,7 @@
 (require 'cl)
 
 ;; Necessary when loading completer.el, but have not yet loaded ilisp
-(require 'ilcompat) 
+(require 'ilcompat)
 
 
 ;;;%Globals
@@ -102,7 +102,7 @@ otherwise just the final component will
   "*If T, then prefer completions with the same number of words as the
 pattern.")
 
-(defvar completer-words "---. <" 
+(defvar completer-words "---. <"
   "*Delimiters used in partial completions.  It should be a set of
 characters suitable for inclusion in a [] regular expression.")
 
@@ -179,7 +179,7 @@ Return (point-min) if current buffer is
 	(inhibit-quit t))
     (sit-for 2)
     (delete-region point end)
-    (if (and quit-flag 
+    (if (and quit-flag
 	     ;; (not (eq 'lucid-19 ilisp-emacs-version-id))
 	     ;; (not (string-match "Lucid" emacs-version))
 	     (not (memq +ilisp-emacs-version-id+
@@ -226,15 +226,15 @@ Any delimiter in STRING that is the same
 	     (end (match-end 0))
 	     (delimiter (substring string begin end))
 	     (anyp (eq (elt string begin) any)))
-	(setq regexp 
-	      (format "%s%s[^%s]*%s" 
+	(setq regexp
+	      (format "%s%s[^%s]*%s"
 		      regexp
 		      (regexp-quote (substring string pos begin))
 		      (if anyp delimiters delimiter)
 		      (if anyp delimiter-reg (regexp-quote delimiter)))
 	      pos end)))
     (if (<= pos limit)
-	(setq regexp (concat regexp 
+	(setq regexp (concat regexp
 			     (regexp-quote (substring string pos limit)))))))
 
 ;;;
@@ -274,7 +274,7 @@ DELIMITERS and the wildcard ANY are used
       (setq regexp (concat "[" delimiters "]"))
       (while choices
 	(setq choice (car choices)
-	      word pattern 
+	      word pattern
 	      from 0)
 	(while (and word from
 		    (let* (begin end)
@@ -285,10 +285,10 @@ DELIMITERS and the wildcard ANY are used
 				end (+ begin wordlen)))
 		      (and (<= end (length choice))
 			   (or (zerop wordlen)
-			       (string-equal 
+			       (string-equal
 				(car pat)
 				(substring choice begin end))))))
-	  (setq from (string-match regexp choice 
+	  (setq from (string-match regexp choice
 				   (if (and (zerop from) (zerop wordlen))
 				       from
 				       (1+ from)))
@@ -322,7 +322,7 @@ the best match."
 		      (if (< length match-len)
 			  (setq match current
 				match-len length))))
-		(if (and use-words 
+		(if (and use-words
 			 (= (completer-words regexp current words) words))
 		    (setq match current
 			  match-len length
@@ -343,7 +343,7 @@ The search is for the current buffer ass
                         (point))
 	(save-excursion (skip-chars-forward delimiters)
                         (point))))
-	 
+
 ;;;
 (defun completer-last-component (string)
   "Return the start of the last filename component in STRING."
@@ -399,7 +399,7 @@ DELIMITERS or ANY wildcards and DIR if a
   "Check to see if PATH is in path cache with PRED, WORDS, ANY and MODE."
   (let* ((last nil)
 	 (ptr completer-path-cache)
-	 (size 0) 
+	 (size 0)
 	 (result nil))
     (if completer-use-cache
 	(while ptr
@@ -417,16 +417,16 @@ DELIMITERS or ANY wildcards and DIR if a
 	      (setq size (1+ size)
 		    ptr (cdr ptr))))))
     (or result
-	(let* ((choices 
+	(let* ((choices
 		(completer path 'read-file-name-internal pred words any
 			   mode t)))
 	  (if (and (or (car (cdr (cdr (cdr choices))))
 		       (string= path (car choices)))
 		   (memq (elt (car choices) (1- (length (car choices))))
 			 completer-path-delimiter-list))
-	      (progn 
+	      (progn
 		(if (>= size completer-cache-size) (rplacd last nil))
-		(setq completer-path-cache 
+		(setq completer-path-cache
 		      (cons (cons path choices) completer-path-cache))))
 	  choices))))
 
@@ -492,7 +492,7 @@ matches will always be returned."
 	      choices
 	      ;; Ends with a /, so check files in directory
 	      (if (and (memq mode '(nil help)) (= position len))
-		  (completer-match-record 
+		  (completer-match-record
 		   ""
 		   ;; This assumes that .. and . come at the end
 		   (let* ((choices
@@ -515,7 +515,7 @@ matches will always be returned."
 		    (if (and end
 			     (string-match completer-file-skip component))
 			;; Assume component is complete
-			(list (concat new component) 
+			(list (concat new component)
 			      (concat new component)
 			      nil t)
 		      (completer-cache
@@ -535,10 +535,10 @@ matches will always be returned."
 			       (string-match
 				(concat completer-path-separator-regexp "$")
 				lcs))))
- 
+
 		    (list nil
 			  (if slash (substring lcs 0 slash) lcs)
-			  (if (and (cdr matches) 
+			  (if (and (cdr matches)
 				   (or (eq mode 'help) (not exact-p)))
 			      matches)
 			  nil))
@@ -575,7 +575,7 @@ matches will always be returned."
 	      (setq choicep (cdr choicep))))
 	  (if (and isext noext)
 	      (setq choices
-		    (completer-match-record 
+		    (completer-match-record
 		     (if end (substring string end) "")
 		     choiceb words any
 		     (file-name-directory (car (cdr choices)))
@@ -601,7 +601,7 @@ flag 'COMPLETER-COMPLETE-FILENAMES' is T
 expanded.  Optional ANY is a delimiter that can match any delimiter in
 WORDS.  Optional MODE is nil for complete, 'help for help and 'exit
 for exit."
-  (if (and (stringp completer-string) 
+  (if (and (stringp completer-string)
 	   (string= string completer-string)
 	   (eq table completer-table)
 	   (eq pred completer-pred)
@@ -610,7 +610,7 @@ for exit."
 	       (not (memq table '(read-file-name-internal
 				  read-directory-name-internal)))))
       completer-result
-      (setq 
+      (setq
        completer-string ""
        completer-table table
        completer-pred pred
@@ -635,7 +635,7 @@ for exit."
 	     (if (and file-p (string-match "^\\$" string))
 		 ;; Handle environment variables
 		 (let ((match
-			(getenv (substring string 1 
+			(getenv (substring string 1
 					   ;; (string-match "/" string)))) ; old
 					   (string-match
 					    completer-path-separator-regexp
@@ -646,17 +646,17 @@ for exit."
 		     (setq match
 			   (concat match
 				   completer-path-separator-string)))
- 
+
 		   (list match match (list match) match))
 		 (let* ((choices
-			 (all-completions 
+			 (all-completions
 			  (concat dir (substring string 0 has-words))
 			  table pred))
 			(regexp (completer-regexp string words any)))
 		   (if choices
-		       (completer-match-record 
-			string 
-			(completer-deleter regexp choices t) 
+		       (completer-match-record
+			string
+			(completer-deleter regexp choices t)
 			words any dir mode)
 		       (list nil nil nil nil))))))
        completer-string string)
@@ -674,7 +674,7 @@ and should return a string."
 
   (if choices
       (with-output-to-temp-buffer "*Completions*"
-	(if (cdr choices) 
+	(if (cdr choices)
 	    (funcall completion-display-completion-list-function
 	     (sort
 	      (if display
@@ -689,8 +689,7 @@ and should return a string."
 			  (string-lessp (or (car-safe x) x)
 					(or (car-safe y) y)))))))
 	(if match
-	    (save-excursion
-	      (set-buffer "*Completions*")
+	    (with-current-buffer "*Completions*"
 	      (goto-char (point-min))
 	      (let ((buffer-read-only nil))
 		(insert "Guess = " match (if (cdr choices) ", " "") "\n")))))
@@ -698,7 +697,7 @@ and should return a string."
       (completer-message (or message " (No completions)") end)))
 
 ;;;%%Goto
-(defun completer-goto (match lcs choices unique delimiters words 
+(defun completer-goto (match lcs choices unique delimiters words
 			     &optional mode display)
   "Go to the part of the string that disambiguates CHOICES.
 MATCH is the best match, LCS is the longest common substring of all
@@ -731,13 +730,13 @@ return a string."
 	      (goto-char end)
 	      (completer-display-choices choices match nil end display))
 	    (if (string= string match)
-		(if (not file-p) 
+		(if (not file-p)
 		    (progn (goto-char end)
 			   (completer-message " (Sole completion)" end)))
 		(completer-insert match delimiters)))
 	;;Not unique
 	(if lcs
-	    (let* ((regexp 
+	    (let* ((regexp
 		    ;; (concat "[" words (if file-p "/") "]")
 		    (concat "["
 			    words
@@ -750,7 +749,7 @@ return a string."
 	      (goto-char start)
 	      (unless no-insert
 		(insert lcs)
-		(setq completer-last-pattern 
+		(setq completer-last-pattern
 		      (list string delimiters (current-buffer) start)
 		      start (point)
 		      end (+ end (length lcs))))
@@ -779,14 +778,14 @@ return a string."
 		(goto-char end)))
 	    (when message
 	      (beep)
-	      (completer-message (if no-insert 
+	      (completer-message (if no-insert
 				     " (No completions)"
 				   " (No match)")
 				 end))))))
 
 ;;;%Exported buffer interface
 ;;;%%Complete and go
-(defun completer-complete-goto (delimiters words table pred 
+(defun completer-complete-goto (delimiters words table pred
 					   &optional no-insert display)
   "Complete the string bound by DELIMITERS using WORDS to bound words
 for partial matches in TABLE with PRED and then insert the longest
@@ -794,7 +793,7 @@ common substring unless optional NO-INSE
 ambiguity.  If optional DISPLAY, it will be called on each match when
 possible completions are shown and should return a string."
   (let* ((region (completer-region delimiters)))
-    (apply 'completer-goto 
+    (apply 'completer-goto
 	   (append (completer (buffer-substring (car region) (cdr region))
 			      table pred words completer-any-delimiter
 			      no-insert)
@@ -807,10 +806,10 @@ Then save it so that it can be restored
   (let* ((region (completer-region delimiters))
 	 (start (car region))
 	 (end (cdr region)))
-    (if (and undo (or (not (= start undo)) 
+    (if (and undo (or (not (= start undo))
 		      (not (eq (current-buffer) buffer))))
 	(error "No previous pattern")
-	(setq completer-last-pattern (list (buffer-substring start end) 
+	(setq completer-last-pattern (list (buffer-substring start end)
 					   delimiters
 					   (current-buffer)
 					   start))
@@ -922,7 +921,7 @@ by  d   *byte-recompile-directory if com
   "Turn partial completion on or off."
   (interactive)
   (setq completer-disable (not completer-disable))
-  (message (if completer-disable 
+  (message (if completer-disable
 	       "Partial completion OFF"
 	       "Partial completion ON")))
 
@@ -931,7 +930,7 @@ by  d   *byte-recompile-directory if com
   (lookup-key minibuffer-local-must-match-map "?")
   "Old binding of ? in minibuffer completion map.")
 (defun completer-help ()
-  "Partial completion minibuffer-completion-help.  
+  "Partial completion minibuffer-completion-help.
 See completer-minibuf for more information."
   (interactive)
   (if (completer-new-cmd completer-old-help)
@@ -962,7 +961,7 @@ See completer-minibuf for more informati
       (if (completer-new-cmd completer-old-word)
 	  (apply 'completer-goto (completer-minibuf)))))
 
-;;; 
+;;;
 (defvar completer-old-exit
   (lookup-key minibuffer-local-must-match-map "\n")
   "Old binding of RET in minibuffer completion map.")
@@ -990,7 +989,7 @@ See completer-minibuf for more informati
   (interactive)
   (let* ((completions (completer-minibuf 'exit))
 	 (guess (car completions)))
-    (if (not guess) 
+    (if (not guess)
 	;; OK if last filename component doesn't match
 	(setq completions (completer-minibuf 'exit-ok)
 	      guess (car completions)))
@@ -1002,6 +1001,9 @@ See completer-minibuf for more informati
 	  (exit-minibuffer))
 	(apply 'completer-goto completions))))
 
+;; WARNING: Due to these key redefinitions, loading into GNU Emacs 23
+;;   messes up M-x find-file on a non-existant file.
+
 ;;;%%Keymaps
 ;this interferes with normal undo.
 ;(define-key minibuffer-local-completion-map "\C-_"  'completer-undo)
@@ -1023,8 +1025,8 @@ See completer-minibuf for more informati
 (define-key minibuffer-local-must-match-map "\M-\n" 'completer-match-exit)
 (define-key minibuffer-local-must-match-map "\M-\r" 'completer-match-exit)
 
-;;;%comint 
-(defun completer-comint-dynamic-list-completions (completions)
+;;;%comint
+(defun completer-comint-dynamic-list-completions (completions &optional common-substring)
   "List in help buffer sorted COMPLETIONS.
 Typing SPC flushes the help buffer."
   (completer-comint-dynamic-complete-1 nil 'help))
@@ -1043,30 +1045,32 @@ twice in a row.  If called with a prefix
       (completer-undo)
     ;; added by jwz: don't cache completions in shell buffer!
     (setq completer-string nil)
-    (let ((conf (current-window-configuration)));; lemacs change
+    (let ((conf (current-window-configuration))) ;; lemacs change
       (completer-complete-goto "^ \t\n\""
 			       completer-words
 			       'read-file-name-internal
 			       default-directory
 			       mode)
       ;; lemacs change
-      (when (eq mode 'help) (comint-restore-window-config conf))
-      )))
+      (when (eq mode 'help)
+	(if (fboundp 'set-window-configuration)	; use new API if available
+	    (set-window-configuration conf)
+	  (comint-restore-window-config conf))))))
 
 ;(fset 'comint-dynamic-complete 'completer-comint-dynamic-complete)
 (fset 'comint-dynamic-complete-filename
       'completer-comint-dynamic-complete-filename)
-(fset 'comint-dynamic-list-completions 
+(fset 'comint-dynamic-list-completions
       'completer-comint-dynamic-list-completions)
 
 ;;; Set the functions again if comint is loaded.
-(setq comint-load-hook 
+(setq comint-load-hook
       (cons (function (lambda ()
-			;; (fset 'comint-dynamic-complete 
+			;; (fset 'comint-dynamic-complete
 			;;       'completer-comint-dynamic-complete)
 			(fset 'comint-dynamic-complete-filename
 			      'completer-comint-dynamic-complete-filename)
-			(fset 'comint-dynamic-list-completions 
+			(fset 'comint-dynamic-list-completions
 			      'completer-comint-dynamic-list-completions)))
 	    (when (and (boundp 'comint-load-hook) comint-load-hook)
 	      (if (consp comint-load-hook)
@@ -1105,7 +1109,7 @@ negative prefix, the last completion wil
 	      ((null completion)
 	       (completer-complete-goto
 		"^ \t\n\(\)[]{}'`" completer-words
-		obarray predicate 
+		obarray predicate
 		nil
 		(if (not (eq predicate 'fboundp))
 		    (function (lambda (choice)
--- ilisp-5.12.0+cvs.2004.12.26.orig/cormanlisp.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/cormanlisp.lisp
@@ -63,7 +63,7 @@ return T if successful."
 ;;; CLtL2: "If an implementation supports additional keyword arguments to
 ;;; compile-file, compile-file-pathname must accept the same arguments."
 ;;;
-(defun compile-file-pathname (input-file &key 
+(defun compile-file-pathname (input-file &key
                                          (output-file nil)
                                          (verbose *compile-verbose*)
                                          (print *compile-print*)
@@ -75,7 +75,7 @@ return T if successful."
 					  :print       print
 					  :external-format external-format)))
 
-(defun compile-file-name (input-file &key 
+(defun compile-file-name (input-file &key
 									 (output-file nil)
 									 (verbose *compile-verbose*)
 									 (print *compile-print*)
@@ -84,12 +84,12 @@ return T if successful."
   (declare (ignore verbose external-format print))
   (if (null output-file)
       (if (string-equal
-           (subseq input-file 
+           (subseq input-file
                    (- (length input-file)(length lisp-file-extension))
                    (length input-file))
            lisp-file-extension)
-          (concatenate 'string 
-                       (subseq input-file 
+          (concatenate 'string
+                       (subseq input-file
                                0
                                (- (length input-file)
 								  (length lisp-file-extension)))
@@ -100,7 +100,7 @@ return T if successful."
 ) ; eof compile-file-pathname patch
 
 (unless (fboundp 'readtable-case)
-  
+
 ;;;
 ;;; Common Lisp READTABLE-CASE accessor
 ;;;
@@ -122,11 +122,11 @@ return T if successful."
 		(progn
 		  (check-type readtbl readtable)
 		  (check-type value symbol)))
-	(cond 
+	(cond
 	 ((member value valid-case)
 	  (setf (uref readtbl readtable-case-offset) value))
 	 ((member value ignored-case)
-	  (error "SET-READTABLE-CASE: only :UPCASE supported: ~A" 
+	  (error "SET-READTABLE-CASE: only :UPCASE supported: ~A"
 			value))
 	 (T
 	  (error "Argument is no valid readtable-case: ~A, expected ~A"
--- ilisp-5.12.0+cvs.2004.12.26.orig/custom-ilisp.el
+++ ilisp-5.12.0+cvs.2004.12.26/custom-ilisp.el
@@ -10,8 +10,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: custom-ilisp.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (defgroup ILisp nil
   "The ILisp Inferior Lisp System."
--- ilisp-5.12.0+cvs.2004.12.26.orig/docs/Makefile
+++ ilisp-5.12.0+cvs.2004.12.26/docs/Makefile
@@ -7,8 +7,6 @@
 # information.
 # Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 # of present and past contributors.
-#
-# $Id: Makefile,v 1.7 2002/08/17 16:20:15 kevinrosenberg Exp $
 
 # Note: this makefile assumes GNU make
 
@@ -58,28 +56,35 @@ dvi: ilisp.dvi ilisp-refcard.dvi
 
 info: ilisp.info
 
-html: ilisp.texi
+html: ilisp.html
+
+ilisp_toc.html ilisp.html: ilisp.texi
 	-texi2html $<
 
-ilisp_toc.html ilisp.html: html
+pdf: ilisp.pdf ilisp-refcard.pdf
 
-pdf: ilisp.pdf
+# The "env LC_ALL=C" works around an issue in /usr/bin/texi2dvi,
+# see http://bugs.debian.org/624245
 
-ilisp.pdf: ilisp.ps
-	-ps2pdf ilisp.ps ilisp.pdf
+ilisp.pdf: ilisp.texi
+	env LC_ALL=C texi2pdf $<
 
 ilisp.dvi: ilisp.texi
+	env LC_ALL=C texi2dvi $<
 
 ilisp-refcard.dvi: ilisp-refcard.tex
 	tex $<
 
+ilisp-refcard.pdf: ilisp-refcard.tex
+	pdftex $<
+
 # Administrative targets.
 
 updatehtml: $(HTML_Targets)
 	-(cd $(HTML_Target_Dir); $(RM) $(HTML_Targets))
 	-$(LN) $(HTML_Targets) $(HTML_Target_Dir)
 
-clean: 
+clean:
 	-$(RM) $(DVIDebris) \
                ilisp.dvi \
                ilisp.ps \
--- ilisp-5.12.0+cvs.2004.12.26.orig/docs/ilisp-refcard.tex
+++ ilisp-5.12.0+cvs.2004.12.26/docs/ilisp-refcard.tex
@@ -28,14 +28,14 @@
 % printed copy in most cases.  It of course reflects my (the author's)
 % biases about what was likely to be interesting or used often.
 %
-% To view, do 'tex ilisp-refcard.tex'. 
+% To view, do 'tex ilisp-refcard.tex'.
 % To print if you use columnsperpage=3, you must use have a dvips-like
 % program that prints in landscape format!
 
 % This file is distributed in the hope that it will be useful, but WITHOUT
 % ANY WARRANTY.  No author or distributor accepts responsibility to anyone
 % for the consequences of using it or for whether it serves any particular
-% purpose or describes any piece of software unless they say so in writing.  
+% purpose or describes any piece of software unless they say so in writing.
 %
 % Permission is granted to copy, modify and redistribute this source
 % file provided the permission notices are preserved on all copies.
@@ -86,7 +86,7 @@
 
 \def\ncolumns{\the\columnsperpage}
 
-\message{[\ncolumns\space 
+\message{[\ncolumns\space
   column\if 1\ncolumns\else s\fi\space per page]}
 
 \def\scaledmag#1{ scaled \magstep #1}
@@ -163,7 +163,7 @@
   \def\bye{\par\vfill\supereject
     \if a\abc \else\null\vfill\eject\fi
     \if a\abc \else\null\vfill\eject\fi
-    \end}  
+    \end}
 \fi
 
 % we won't be using math mode much, so redefine some of the characters
@@ -266,16 +266,16 @@ substitute for the ilisp online manual.
 
 \section{The ilisp/Emacs Interface }
 
-You can use the ilisp interface from either GNU Emacs or XEmacs.  
+You can use the ilisp interface from either GNU Emacs or XEmacs.
 Put these lines in your {\tt .emacs} file for clisp and allegro:
 
 \kbd{(setq load-path (cons (expand-file-name }
 
 \hskip 25pt \kbd{"/usr/local/lib/ilisp-5.8/") load-path))}
-	 
+
 \kbd{(require 'completer)}
 
-\kbd{(autoload 'clisp "ilisp" } 
+\kbd{(autoload 'clisp "ilisp" }
 
 \hskip 25pt \kbd{"Inferior generic Common LISP." t)}
 
@@ -287,10 +287,10 @@ Put these lines in your {\tt .emacs} fil
 
 \kbd{(setq allegro-program "/usr/local/bin/cl")}
 
-Then invoke lisp with either \kbd{M-x clisp}, 
+Then invoke lisp with either \kbd{M-x clisp},
 or with \kbd{M-x allegro}.
 
-`C-z' is the prefix-key for most ILISP commands. This can be changed by 
+`C-z' is the prefix-key for most ILISP commands. This can be changed by
 setting the variable `ilisp-prefix'.
 
 For online help with emacs, use \kbd{C-h f}, \kbd{describe-function}.
@@ -336,16 +336,16 @@ Indentation, parenthesis balancing, and
 
 \subsection{Eval and compile functions}
 
-Functions for eval/compile in code buffers.  
+Functions for eval/compile in code buffers.
 
-\key{ilisp-prefix}{C-z} 
+\key{ilisp-prefix}{C-z}
 \key{close-and-send-lisp}{C-]}
 \key{newline-and-indent-lisp}{LFD}
 \key{eval-defun-lisp}{C-z e}
 \key{eval-defun-lisp}{M-C-x}
-\key{eval-defun-and-go-lisp}{C-z C-e} 
+\key{eval-defun-and-go-lisp}{C-z C-e}
 \key{eval-region-lisp}{C-z r}
-\key{eval-region-and-go-lisp}{C-z C-r} 
+\key{eval-region-and-go-lisp}{C-z C-r}
 \key{eval-next-sexp-lisp}{C-z n}
 \key{eval-next-sexp-and-go-lisp}{C-z C-n}
 \key{compile-defun-lisp}{C-z c}
@@ -375,7 +375,7 @@ the start of the current list.
 
 \subsection{The Franz Online Manual}
 
-Invoke with \kbd{M-x fi:clman} or \kbd{C-z D}, these are used to view the 
+Invoke with \kbd{M-x fi:clman} or \kbd{C-z D}, these are used to view the
 Franz online manual if available.  Packages
 nicknames limit search: cltl1, comp, composer, defsys, excl, ff, inspect,
 ipc, lisp, mp, prof, stream, sys, tpl, xcw, xref.  Note the useful about-*
@@ -390,7 +390,7 @@ man pages (e.g. about-top-level).
 
 \shortsubsection{Tracing functions}
 
-Function which traces the current defun. When called with a numeric prefix the 
+Function which traces the current defun. When called with a numeric prefix the
 function will be untraced. When called with negative prefix, prompts for function to be traced.
 
 \key{trace-defun-lisp}{C-z t}
@@ -431,7 +431,7 @@ inferior LISP mode command is executed.
 
 File commands in lisp-source-mode buffers keep track of the last used
 directory and file. If the point is on a string, that will be the
-default if the file exists. If the buffer is one of 
+default if the file exists. If the buffer is one of
 `lisp-source-modes', the buffer file will be the default. Otherwise,
 the last file used in a lisp-source-mode will be used.
 
@@ -452,13 +452,13 @@ Commands to reduce number of keystrokes.
 
 \subsection{Command history}
 
-ILISP mode is built on top of `comint-mode', the general command  
-interpreter buffer mode. As such, it inherits many 
+ILISP mode is built on top of `comint-mode', the general command
+interpreter buffer mode. As such, it inherits many
 commands and features from this, including a command history mechanism.
 
-Each ILISP buffer has a command history associated with it. Commands 
-that do not match `ilisp-filter-regexp' and that are longer than 
-`ilisp-filter-length' and that do not match the immediately prior 
+Each ILISP buffer has a command history associated with it. Commands
+that do not match `ilisp-filter-regexp' and that are longer than
+`ilisp-filter-length' and that do not match the immediately prior
 command will be added to this history.
 
 \key{comint-next-input}{M-n}
@@ -553,9 +553,9 @@ one of `lisp-source-modes'.
 
 \subsection{Batch commands}
 
-The following commands all deal with making a number of changes all 
-at once. The first time one of these commands is used, there may be 
-some delay as the module is loaded. The eval/compile versions of these 
+The following commands all deal with making a number of changes all
+at once. The first time one of these commands is used, there may be
+some delay as the module is loaded. The eval/compile versions of these
 commands are always executed asynchronously.
 
  `mark-change-lisp' (`C-z SPC') marks the current defun as being
--- ilisp-5.12.0+cvs.2004.12.26.orig/docs/ilisp.texi
+++ ilisp-5.12.0+cvs.2004.12.26/docs/ilisp.texi
@@ -13,10 +13,10 @@
 
 @c  NOTE:  KEYBINDING DESCRIPTIONS IN THIS FILE
 @c
-@c  Texinfo doesn't support the functionality of  substitute-command-keys, 
+@c  Texinfo doesn't support the functionality of  substitute-command-keys,
 @c  which kind of makes things tough when the bindings change.
 @c
-@c  Note that all the keys here which use the ILISP prefix have 
+@c  Note that all the keys here which use the ILISP prefix have
 @c  @key{C-z} before them, so a global replace can be used to put in a
 @c  specific value for this (if wanted).  The whole string should be
 @c  rpelaced, as in (replace-string "@key{C-z}" "@key{C-c}").  Any occurrences
@@ -48,10 +48,10 @@
 @c end tex
 
 @comment   INDEX   USAGE:
-@c  
+@c
 @c	@cindex     concept
 @c	@findex     function
-@c	@vindex     variable        
+@c	@vindex     variable
 @c	@kindex     key
 @c	@pindex     command     (normally program)
 @c
@@ -114,7 +114,7 @@ by the Foundation.
 @c
 @c the following comment string is removed by the ctrl-c-doc.sh script,
 @c which can be used to change all ilisp-*prefix* bindings to C-c (or
-@c other). 
+@c other).
 @c
 @comment ctrl-C version: @subtitle This is the ``@key{C-z}'' version of the manual.
 
@@ -176,7 +176,7 @@ running in a buffer.
 
 * Keybindings::                 A word about the keys used by ILISP.
 * Buffers of ILISP::            Buffers used by ILISP, and their commands.
-* ILISP Commands::              
+* ILISP Commands::
 * Customization::               Description of ILISP variables and hooks.
 * Dialects::                    How ILISP knows how to communicate with Lisp,
                                     and how to define new dialects.
@@ -320,11 +320,11 @@ or
 
 ILISP replaces the standard inferior Lisp mode.  ILISP is based on
 comint mode and derived from a number of different interfaces including
-Symbolics, CMU Common Lisp, and Thinking Machines.  
+Symbolics, CMU Common Lisp, and Thinking Machines.
 
 There are many people that have taken the time to report bugs, make
 suggestions and even better send code to fix bugs or implement new
-features.  
+features.
 
 Thanks to
 Paolo Amoroso,
@@ -448,7 +448,7 @@ Completion of filename components and Li
 
 @item
 Find source both with and without help from the inferior Lisp,
-including CLOS methods, multiple definitions and multiple files.  
+including CLOS methods, multiple definitions and multiple files.
 
 
 @item
@@ -507,7 +507,7 @@ perform these operations.
 
 
 @menu
-* Configuration and compilation::      
+* Configuration and compilation::
 @end menu
 
 @node  Configuration and compilation,  ,  , Installation
@@ -526,10 +526,10 @@ ILISP with. Be sure to set @code{LN} to
 system's command for creating symbolic filesystem links,
 @strong{especially if you are a Windows user}.
 
-@cindex Compiling ILISP files 
+@cindex Compiling ILISP files
 @cindex Byte-compiling ILISP files
 @cindex @file{Makefile}
-@findex ilisp-compile-inits 
+@findex ilisp-compile-inits
 @vindex EMACS
 @vindex LN
 @vindex HyperSpec
@@ -797,7 +797,7 @@ buffer.
 Entry into ILISP mode runs the hooks on @code{comint-mode-hook} and
 @code{ilisp-mode-hook} and then DIALECT-hooks specific to Lisp
 dialects in the nesting order above.  Many dialects call
-@code{ilisp-load-init} in their dialect setup.  
+@code{ilisp-load-init} in their dialect setup.
 
 These are the currently supported dialects.
 
@@ -1090,7 +1090,7 @@ A buffer for showing arglist messages.
 @section Typeout windows
 @cindex  Typeout windows
 
-All ILISP output is funneled through the function which is bound to 
+All ILISP output is funneled through the function which is bound to
 the hook @code{ilisp-display-output-function}.  The function gets
 a single argument, a string, and should make that output visible to
 the user somehow.
@@ -1106,7 +1106,7 @@ Unlike the old popper facility, the ilis
 does not trounce on any existing Emacs functions or on any common
 key bindings, like @kbd{C-x o}.
 
-Other built-in functions which might be useful as values for 
+Other built-in functions which might be useful as values for
 @code{ilisp-display-output-function} include
 @code{ilisp-display-output-default},
 @code{ilisp-display-output-adaptively},
@@ -1117,7 +1117,7 @@ Other built-in functions which might be
 The default display function is @code{ilisp-display-output-default},
 which obeys the @code{lisp-no-popper} variable.
 
-Users are encouraged to write their own output display functions 
+Users are encouraged to write their own output display functions
 to get the exact desired behavior, displaying on a private Emacs
 screen, in a pop-up dialog box, or whetever.
 
@@ -1197,19 +1197,19 @@ There are a few additional and-go bindin
 
 
 @menu
-* Eval and compile functions::  
-* Documentation functions::     
-* Macroexpansion::              
-* Tracing functions::           
-* Package Commands::            
+* Eval and compile functions::
+* Documentation functions::
+* Macroexpansion::
+* Tracing functions::
+* Package Commands::
 * Source code commands::        Working on several files
 * Batch commands::              Grouping changes for eval/compile
-* Files and directories::       
+* Files and directories::
 * Keyboard modes::              Interactive and raw keyboard modes
 * Interrupts::                  Interrupts, aborts, and errors
 * Debuggers::                   Interface to Lisp debuggers
-* Command history::             
-* Completion::                  
+* Command history::
+* Completion::
 * Miscellany::                  Indentation, parenthesis balancing,
 				  and comment commands.
 @end menu
@@ -1561,7 +1561,7 @@ Buffer package caching can be turned off
 @code{lisp-dont-cache-package} to @code{T}.  This will force ILISP to
 search for the closest previous "in-package" form corresponding to
 @code{ilisp-hash-form-regexp} in the buffer each time an inferior Lisp
-mode command is executed. 
+mode command is executed.
 @cindex Buffer package
 @cindex Buffer package caching
 @vindex lisp-dont-cache-package
@@ -2139,9 +2139,9 @@ on the point of ambiguity.
 If you try to complete again, you can see the possible completions.
 If you are in a string, then filename completion will be done instead.
 And if you try to complete a filename twice, you will see a list of
-possible completions. 
+possible completions.
 Filename components are completed individually, so @samp{/u/mi/} could
-expand to @samp{/usr/misc/}. 
+expand to @samp{/usr/misc/}.
 If you complete with a negative
 prefix, the most recent completion (symbol or filename) will be undone.@refill
 
@@ -2275,7 +2275,7 @@ creating a new dialect or variables to s
 
 @c ->  ->  ->  ->  ->  ->  ->  ->  ->  ->  ->  plenty of indexing here
 @c         put these in a table for later expandment
-@c 
+@c
 
 ILISP Mode Hooks:
 @cindex ILISP Mode Hooks
@@ -2347,7 +2347,7 @@ Set to @code{nil} to stop showing proces
 Set to @code{t} if you do not want partial completion
 @item ilisp-filter-regexp
 @vindex ilisp-filter-regexp
-Input history filter 
+Input history filter
 @item ilisp-filter-length
 @vindex ilisp-filter-length
 Input history minimum length
@@ -2371,8 +2371,8 @@ but still offer the same behavior with t
 
 
 @menu
-* Defining new dialects::       
-* Writing new commands::        
+* Defining new dialects::
+* Writing new commands::
 @end menu
 
 @node Defining new dialects, Writing new commands,  , Dialects
@@ -2427,7 +2427,7 @@ Convert symbol to string
 Convert symbol to string qualified for buffer
 @item lisp-previous-symbol
 @findex lisp-previous-symbol
-Return previous symbol 
+Return previous symbol
 @item lisp-previous-sexp
 @findex lisp-previous-sexp
 Return previous sexp
--- ilisp-5.12.0+cvs.2004.12.26.orig/extra/cltl2.el
+++ ilisp-5.12.0+cvs.2004.12.26/extra/cltl2.el
@@ -38,9 +38,9 @@
 (require 'thingatpt)
 
 ;; maybe this should be a (defcustom cltl2-root-url ...) ?
-(defvar cltl2-root-url 
+(defvar cltl2-root-url
   "http://www.uuhaus.de/cltl2/"
-  "*The base URL of the default online edition of CLtL2. If you keep a 
+  "*The base URL of the default online edition of CLtL2. If you keep a
 copy of it on your local system, change the URL to something like
 \"file:/usr/share/doc/cltl2/\".")
 
@@ -62,7 +62,7 @@ made available courtesy of the publisher
 charge.  Visit http://www.uuhaus.de/cltl2/README.from.cltl_ht for more
 information and details on obtaining a paper-bound version.
 
-If you keep a local copy of the book, customize the variable 
+If you keep a local copy of the book, customize the variable
 `cltl2-root-url' to point to the correct location."
   (interactive
    (list (let ((symbol-at-point (thing-at-point 'symbol)))
@@ -89,1016 +89,1016 @@ If you keep a local copy of the book, cu
 	       (error "The symbol `%s' is not indexed in CLtL2"
 		      symbol-name)))))
 
-(mapcar (lambda (entry)
+(mapc #'(lambda (entry)
 	  (let ((symbol (intern (car entry) cltl2-symbols)))
 	    (if (boundp symbol)
-	      (push (cadr entry) (symbol-value symbol))
+		(push (cadr entry) (symbol-value symbol))
 	      (set symbol (cdr entry)))))
-	'(
-	  ;; The index references were generated using the following sed(1)
-	  ;; script; some manual additions were made.
-	  ;; cat index.html |\
-	  ;;  sed -e '/<pre>/,/<\/pre/!d'\
-	  ;;      -e '/^<a href="node/!d'\
-	  ;;      -e '/^<a href="node/s/^<a href=\("node[0-9]\+.html"\)>\(&[lg]t;\)\?\(<code>\(.*\)<\/code>\)\?.*/("\2\4" \1)/'\
-	  ;;      -e 's/&lt;/</'\
-	  ;;      -e 's/&gt;/>/'
-	  ("*" "node125.html")
-	  ("*" "node181.html")
-	  ("**" "node181.html")
-	  ("***" "node181.html")
-	  ("+" "node125.html")
-	  ("+" "node181.html")
-	  ("++" "node181.html")
-	  ("+++" "node181.html")
-	  ("-" "node125.html")
-	  ("-" "node181.html")
-	  ("/" "node125.html")
-	  ("/" "node181.html")
-	  ("//" "node181.html")
-	  ("///" "node181.html")
-	  ("1+" "node125.html")
-	  ("1-" "node125.html")
-	  ("<" "node124.html")
-	  ("<=" "node124.html")
-	  ("=" "node124.html")
-	  (">" "node124.html")
-	  (">=" "node124.html")
-	  ("abort" "node344.html")
-	  ("abs" "node128.html")
-	  ("acons" "node153.html")
-	  ("acos" "node128.html")
-	  ("acosh" "node128.html")
-	  ("add-method" "node311.html")
-	  ("adjoin" "node152.html")
-	  ("adjust-array" "node163.html")
-	  ("adjustable-array-p" "node160.html")
-	  ("alpha-char-p" "node137.html")
-	  ("alphanumericp" "node137.html")
-	  ("alter" "node355.html")
-	  ("always" "node245.html")
-	  ("and" "node75.html")
-	  ("append" "node149.html")
-	  ("append" "node246.html")
-	  ("appending" "node246.html")
-	  ("apply" "node81.html")
-	  ("applyhook" "node180.html")
-	  ("*applyhook*" "node180.html")
-	  ("apropos" "node230.html")
-	  ("apropos-list" "node230.html")
-	  ("aref" "node159.html")
-	  ("arithmetic-error" "node346.html")
-	  ("arithmetic-error-operands" "node346.html")
-	  ("arithmetic-error-operation" "node346.html")
-	  ("array-dimension" "node160.html")
-	  ("array-dimension-limit" "node158.html")
-	  ("array-dimensions" "node160.html")
-	  ("array-element-type" "node160.html")
-	  ("array-has-fill-pointer-p" "node162.html")
-	  ("array-in-bounds-p" "node160.html")
-	  ("array-rank" "node160.html")
-	  ("array-rank-limit" "node158.html")
-	  ("array-row-major-index" "node160.html")
-	  ("array-total-size" "node160.html")
-	  ("array-total-size-limit" "node158.html")
-	  ("arrayp" "node73.html")
-	  ("as" "node244.html")
-	  ("ash" "node131.html")
-	  ("asin" "node128.html")
-	  ("asinh" "node128.html")
-	  ("assert" "node221.html")
-	  ("assert" "node336.html")
-	  ("assoc" "node153.html")
-	  ("assoc-if" "node153.html")
-	  ("assoc-if-not" "node153.html")
-	  ("atan" "node128.html")
-	  ("atanh" "node128.html")
-	  ("atom" "node73.html")
-	  ("augment-environment" "node102.html")
-	  ("bit" "node161.html")
-	  ("bit-and" "node161.html")
-	  ("bit-andc1" "node161.html")
-	  ("bit-andc2" "node161.html")
-	  ("bit-eqv" "node161.html")
-	  ("bit-ior" "node161.html")
-	  ("bit-nand" "node161.html")
-	  ("bit-nor" "node161.html")
-	  ("bit-not" "node161.html")
-	  ("bit-orc1" "node161.html")
-	  ("bit-orc2" "node161.html")
-	  ("bit-vector-p" "node73.html")
-	  ("bit-xor" "node161.html")
-	  ("block" "node85.html")
-	  ("boole" "node131.html")
-	  ("both-case-p" "node137.html")
-	  ("boundp" "node78.html")
-	  ("break" "node220.html")
-	  ("break" "node345.html")
-	  ("*break-on-signals*" "node335.html")
-	  ("*break-on-warnings*" "node220.html")
-	  ("broadcast-stream-streams" "node185.html")
-	  ("butlast" "node149.html")
-	  ("byte" "node132.html")
-	  ("byte-position" "node132.html")
-	  ("byte-size" "node132.html")
-	  ("caaaar" "node148.html")
-	  ("caaadr" "node148.html")
-	  ("caaar" "node148.html")
-	  ("caadar" "node148.html")
-	  ("caaddr" "node148.html")
-	  ("caadr" "node148.html")
-	  ("caar" "node148.html")
-	  ("cadaar" "node148.html")
-	  ("cadadr" "node148.html")
-	  ("cadar" "node148.html")
-	  ("caddar" "node148.html")
-	  ("cadddr" "node148.html")
-	  ("caddr" "node148.html")
-	  ("cadr" "node148.html")
-	  ("call-arguments-limit" "node81.html")
-	  ("call-method" "node311.html")
-	  ("call-next-method" "node311.html")
-	  ("car" "node148.html")
-	  ("case" "node84.html")
-	  ("catch" "node96.html")
-	  ("catenate" "node353.html")
-	  ("ccase" "node222.html")
-	  ("ccase" "node337.html")
-	  ("cdaaar" "node148.html")
-	  ("cdaadr" "node148.html")
-	  ("cdaar" "node148.html")
-	  ("cdadar" "node148.html")
-	  ("cdaddr" "node148.html")
-	  ("cdadr" "node148.html")
-	  ("cdar" "node148.html")
-	  ("cddaar" "node148.html")
-	  ("cddadr" "node148.html")
-	  ("cddar" "node148.html")
-	  ("cdddar" "node148.html")
-	  ("cddddr" "node148.html")
-	  ("cdddr" "node148.html")
-	  ("cddr" "node148.html")
-	  ("cdr" "node148.html")
-	  ("ceiling" "node130.html")
-	  ("cell-error" "node346.html")
-	  ("cell-error-name" "node346.html")
-	  ("cerror" "node220.html")
-	  ("cerror" "node335.html")
-	  ("change-class" "node311.html")
-	  ("char" "node165.html")
-	  ("char-bit" "node140.html")
-	  ("char-bits" "node138.html")
-	  ("char-bits-limit" "node136.html")
-	  ("char-code" "node138.html")
-	  ("char-code-limit" "node136.html")
-	  ("char-control-bit" "node140.html")
-	  ("char-downcase" "node139.html")
-	  ("char-equal" "node137.html")
-	  ("char-font" "node138.html")
-	  ("char-font-limit" "node136.html")
-	  ("char-greaterp" "node137.html")
-	  ("char-hyper-bit" "node140.html")
-	  ("char-int" "node139.html")
-	  ("char-lessp" "node137.html")
-	  ("char-meta-bit" "node140.html")
-	  ("char-name" "node139.html")
-	  ("char-not-equal" "node137.html")
-	  ("char-not-greaterp" "node137.html")
-	  ("char-not-lessp" "node137.html")
-	  ("char-super-bit" "node140.html")
-	  ("char-upcase" "node139.html")
-	  ("char/=" "node137.html")
-	  ("char" "node137.html")
-	  ("char" "node137.html")
-	  ("char=" "node137.html")
-	  ("char" "node137.html")
-	  ("char" "node137.html")
-	  ("character" "node139.html")
-	  ("characterp" "node73.html")
-	  ("check-type" "node221.html")
-	  ("check-type" "node336.html")
-	  ("choose" "node353.html")
-	  ("choose-if" "node353.html")
-	  ("chunk" "node353.html")
-	  ("cis" "node128.html")
-	  ("class-name" "node311.html")
-	  ("class-of" "node311.html")
-	  ("clear-input" "node195.html")
-	  ("close" "node185.html")
-	  ("clrhash" "node155.html")
-	  ("code-char" "node138.html")
-	  ("coerce" "node52.html")
-	  ("collect" "node246.html")
-	  ("collect" "node354.html")
-	  ("collect-alist" "node354.html")
-	  ("collect-and" "node354.html")
-	  ("collect-append" "node354.html")
-	  ("collect-file" "node354.html")
-	  ("collect-first" "node354.html")
-	  ("collect-fn" "node354.html")
-	  ("collect-hash" "node354.html")
-	  ("collect-last" "node354.html")
-	  ("collect-length" "node354.html")
-	  ("collect-max" "node354.html")
-	  ("collect-min" "node354.html")
-	  ("collect-nconc" "node354.html")
-	  ("collect-nth" "node354.html")
-	  ("collect-or" "node354.html")
-	  ("collect-plist" "node354.html")
-	  ("collect-sum" "node354.html")
-	  ("collecting" "node246.html")
-	  ("collecting-fn" "node352.html")
-	  ("commonp" "node73.html")
-	  ("compile" "node224.html")
-	  ("compile-file" "node224.html")
-	  ("compile-file-pathname" "node211.html")
-	  ("*compile-file-pathname*" "node224.html")
-	  ("*compile-file-truename*" "node224.html")
-	  ("*compile-print*" "node224.html")
-	  ("*compile-verbose*" "node224.html")
-	  ("compiled-function-p" "node73.html")
-	  ("compiler-let" "node83.html")
-	  ("compiler-let" "node83.html")
-	  ("compiler-macro-function" "node101.html")
-	  ("compiler-macroexpand" "node101.html")
-	  ("compiler-macroexpand-1" "node101.html")
-	  ("complement" "node141.html")
-	  ("complex" "node130.html")
-	  ("complexp" "node73.html")
-	  ("compute-applicable-methods" "node311.html")
-	  ("compute-restarts" "node342.html")
-	  ("concatenate" "node143.html")
-	  ("concatenated-stream-streams" "node185.html")
-	  ("cond" "node84.html")
-	  ("condition" "node346.html")
-	  ("conjugate" "node125.html")
-	  ("cons" "node148.html")
-	  ("consp" "node73.html")
-	  ("constantp" "node180.html")
-	  ("continue" "node344.html")
-	  ("control-error" "node346.html")
-	  ("copy-alist" "node149.html")
-	  ("copy-list" "node149.html")
-	  ("copy-pprint-dispatch" "node259.html")
-	  ("copy-readtable" "node192.html")
-	  ("copy-seq" "node142.html")
-	  ("copy-symbol" "node110.html")
-	  ("copy-tree" "node149.html")
-	  ("cos" "node128.html")
-	  ("cosh" "node128.html")
-	  ("cotruncate" "node352.html")
-	  ("count" "node145.html")
-	  ("count" "node246.html")
-	  ("count-if" "node145.html")
-	  ("count-if-not" "node145.html")
-	  ("counting" "node246.html")
-	  ("ctypecase" "node222.html")
-	  ("ctypecase" "node337.html")
-	  ("*debug-io*" "node183.html")
-	  ("*debugger-hook*" "node345.html")
-	  ("decf" "node125.html")
-	  ("declaim" "node104.html")
-	  ("declaration-information" "node102.html")
-	  ("declare" "node104.html")
-	  ("decode-float" "node130.html")
-	  ("decode-universal-time" "node232.html")
-	  ("*default-pathname-defaults*" "node214.html")
-	  ("defclass" "node311.html")
-	  ("defgeneric" "node311.html")
-	  ("define-compiler-macro" "node101.html")
-	  ("define-condition" "node339.html")
-	  ("define-declaration" "node102.html")
-	  ("define-method-combination" "node311.html")
-	  ("define-modify-macro" "node80.html")
-	  ("define-setf-method" "node80.html")
-	  ("defmacro" "node98.html")
-	  ("defmethod" "node311.html")
-	  ("defpackage" "node118.html")
-	  ("defstruct" "node170.html")
-	  ("deftype" "node51.html")
-	  ("defun" "node66.html")
-	  ("defvar" "node67.html")
-	  ("delete" "node144.html")
-	  ("delete-duplicates" "node144.html")
-	  ("delete-file" "node216.html")
-	  ("delete-if" "node144.html")
-	  ("delete-if-not" "node144.html")
-	  ("delete-package" "node118.html")
-	  ("denominator" "node130.html")
-	  ("deposit-field" "node132.html")
-	  ("describe" "node230.html")
-	  ("describe-object" "node230.html")
-	  ("destructuring-bind" "node100.html")
-	  ("digit-char" "node139.html")
-	  ("digit-char-p" "node137.html")
-	  ("directory" "node218.html")
-	  ("directory-namestring" "node214.html")
-	  ("disassemble" "node224.html")
-	  ("division-by-zero" "node346.html")
-	  ("do" "node88.html")
-	  ("do" "node249.html")
-	  ("do*" "node88.html")
-	  ("do-all-symbols" "node118.html")
-	  ("do-external-symbols" "node118.html")
-	  ("do-symbols" "node118.html")
-	  ("documentation" "node229.html")
-	  ("documentation" "node311.html")
-	  ("doing" "node249.html")
-	  ("dolist" "node89.html")
-	  ("dotimes" "node89.html")
-	  ("double-float-epsilon" "node134.html")
-	  ("double-float-negative-epsilon" "node134.html")
-	  ("dpb" "node132.html")
-	  ("dribble" "node230.html")
-	  ("ecase" "node222.html")
-	  ("ecase" "node337.html")
-	  ("echo-stream-input-stream" "node185.html")
-	  ("echo-stream-output-stream" "node185.html")
-	  ("ed" "node230.html")
-	  ("eighth" "node149.html")
-	  ("elt" "node142.html")
-	  ("encapsulated" "node361.html")
-	  ("enclose" "node102.html")
-	  ("encode-universal-time" "node232.html")
-	  ("end-of-file" "node346.html")
-	  ("endp" "node149.html")
-	  ("enough-namestring" "node214.html")
-	  ("ensure-generic-function" "node311.html")
-	  ("eq" "node74.html")
-	  ("eql" "node74.html")
-	  ("equal" "node74.html")
-	  ("equalp" "node74.html")
-	  ("error" "node220.html")
-	  ("error" "node335.html")
-	  ("error" "node346.html")
-	  ("*error-output*" "node183.html")
-	  ("etypecase" "node222.html")
-	  ("etypecase" "node337.html")
-	  ("eval" "node180.html")
-	  ("eval-when" "node68.html")
-	  ("evalhook" "node180.html")
-	  ("*evalhook*" "node180.html")
-	  ("evenp" "node123.html")
-	  ("every" "node143.html")
-	  ("exp" "node127.html")
-	  ("expand" "node353.html")
-	  ("export" "node118.html")
-	  ("expt" "node127.html")
-	  ("f" "node311.html")
-	  ("fboundp" "node78.html")
-	  ("fdefinition" "node78.html")
-	  ("*features*" "node233.html")
-	  ("ffloor" "node130.html")
-	  ("fifth" "node149.html")
-	  ("file-author" "node216.html")
-	  ("file-error" "node346.html")
-	  ("file-error-pathname" "node346.html")
-	  ("file-length" "node216.html")
-	  ("file-namestring" "node214.html")
-	  ("file-position" "node216.html")
-	  ("file-string-length" "node216.html")
-	  ("file-write-date" "node216.html")
-	  ("fill" "node144.html")
-	  ("fill-pointer" "node162.html")
-	  ("finally" "node252.html")
-	  ("find" "node145.html")
-	  ("find-all-symbols" "node118.html")
-	  ("find-class" "node311.html")
-	  ("find-if" "node145.html")
-	  ("find-if-not" "node145.html")
-	  ("find-method" "node311.html")
-	  ("find-package" "node118.html")
-	  ("find-restart" "node342.html")
-	  ("find-symbol" "node118.html")
-	  ("finish-output" "node198.html")
-	  ("first" "node149.html")
-	  ("flet" "node83.html")
-	  ("float" "node130.html")
-	  ("float-digits" "node130.html")
-	  ("float-precision" "node130.html")
-	  ("float-radix" "node130.html")
-	  ("float-sign" "node130.html")
-	  ("floating-point-overflow" "node346.html")
-	  ("floating-point-underflow" "node346.html")
-	  ("floatp" "node73.html")
-	  ("floor" "node130.html")
-	  ("for" "node244.html")
-	  ("format" "node200.html")
-	  ("formatter" "node258.html")
-	  ("fourth" "node149.html")
-	  ("funcall" "node81.html")
-	  ("function" "node78.html")
-	  ("function-information" "node102.html")
-	  ("function-keywords" "node311.html")
-	  ("function-lambda-expression" "node224.html")
-	  ("functionp" "node73.html")
-	  ("gatherer" "node365.html")
-	  ("gathering" "node365.html")
-	  ("gcd" "node125.html")
-	  ("generator" "node364.html")
-	  ("generic-flet" "node311.html")
-	  ("generic-function" "node311.html")
-	  ("generic-labels" "node311.html")
-	  ("gensym" "node110.html")
-	  ("*gensym-counter*" "node110.html")
-	  ("gentemp" "node110.html")
-	  ("get" "node108.html")
-	  ("get-decoded-time" "node232.html")
-	  ("get-internal-real-time" "node232.html")
-	  ("get-internal-run-time" "node232.html")
-	  ("get-output-stream-string" "node184.html")
-	  ("get-properties" "node108.html")
-	  ("get-setf-method" "node80.html")
-	  ("get-setf-method-multiple-value" "node80.html")
-	  ("get-universal-time" "node232.html")
-	  ("getf" "node108.html")
-	  ("gethash" "node155.html")
-	  ("go" "node91.html")
-	  ("graphic-char-p" "node137.html")
-	  ("handler-bind" "node338.html")
-	  ("handler-case" "node338.html")
-	  ("hash-table-count" "node155.html")
-	  ("hash-table-p" "node155.html")
-	  ("hash-table-rehash-size" "node155.html")
-	  ("hash-table-rehash-threshold" "node155.html")
-	  ("hash-table-size" "node155.html")
-	  ("hash-table-test" "node155.html")
-	  ("host-namestring" "node214.html")
-	  ("identity" "node234.html")
-	  ("if" "node84.html")
-	  ("if" "node248.html")
-	  ("ignore-errors" "node338.html")
-	  ("imagpart" "node130.html")
-	  ("import" "node118.html")
-	  ("in-package" "node118.html")
-	  ("in-package" "node118.html")
-	  ("incf" "node125.html")
-	  ("initialize-instance" "node311.html")
-	  ("initially" "node252.html")
-	  ("input-stream-p" "node185.html")
-	  ("inspect" "node230.html")
-	  ("int-char" "node139.html")
-	  ("integer-decode-float" "node130.html")
-	  ("integer-length" "node131.html")
-	  ("integerp" "node73.html")
-	  ("interactive-stream-p" "node185.html")
-	  ("intern" "node118.html")
-	  ("internal-time-units-per-second" "node232.html")
-	  ("intersection" "node152.html")
-	  ("invalid-method-error" "node311.html")
-	  ("invoke-debugger" "node345.html")
-	  ("invoke-restart" "node342.html")
-	  ("isqrt" "node127.html")
-	  ("iterate" "node351.html")
-	  ("keywordp" "node110.html")
-	  ("lambda" "node64.html")
-	  ("lambda-list-keywords" "node64.html")
-	  ("lambda-parameters-limit" "node64.html")
-	  ("last" "node149.html")
-	  ("latch" "node352.html")
-	  ("lcm" "node125.html")
-	  ("ldb" "node132.html")
-	  ("ldb-test" "node132.html")
-	  ("ldiff" "node149.html")
-	  ("least-negative-double-float" "node134.html")
-	  ("least-negative-long-float" "node134.html")
-	  ("least-negative-normalized-double-float" "node134.html")
-	  ("least-negative-normalized-long-float" "node134.html")
-	  ("least-negative-normalized-short-float" "node134.html")
-	  ("least-negative-normalized-single-float" "node134.html")
-	  ("least-negative-short-float" "node134.html")
-	  ("least-negative-single-float" "node134.html")
-	  ("least-positive-double-float" "node134.html")
-	  ("least-positive-long-float" "node134.html")
-	  ("least-positive-normalized-double-float" "node134.html")
-	  ("least-positive-normalized-long-float" "node134.html")
-	  ("least-positive-normalized-short-float" "node134.html")
-	  ("least-positive-normalized-single-float" "node134.html")
-	  ("least-positive-short-float" "node134.html")
-	  ("least-positive-single-float" "node134.html")
-	  ("length" "node142.html")
-	  ("let" "node83.html")
-	  ("let*" "node83.html")
-	  ("lisp-implementation-type" "node233.html")
-	  ("lisp-implementation-version" "node233.html")
-	  ("list" "node149.html")
-	  ("list*" "node149.html")
-	  ("list-all-packages" "node118.html")
-	  ("list-length" "node149.html")
-	  ("listen" "node195.html")
-	  ("listp" "node73.html")
-	  ("load" "node217.html")
-	  ("load-logical-pathname-translations" "node211.html")
-	  ("*load-pathname*" "node217.html")
-	  ("*load-print*" "node217.html")
-	  ("load-time-value" "node224.html")
-	  ("*load-truename*" "node217.html")
-	  ("*load-verbose*" "node217.html")
-	  ("locally" "node104.html")
-	  ("locally" "node104.html")
-	  ("log" "node127.html")
-	  ("logand" "node131.html")
-	  ("logandc1" "node131.html")
-	  ("logandc2" "node131.html")
-	  ("logbitp" "node131.html")
-	  ("logcount" "node131.html")
-	  ("logeqv" "node131.html")
-	  ("logical-pathname" "node208.html")
-	  ("logical-pathname" "node211.html")
-	  ("logical-pathname-translations" "node211.html")
-	  ("logior" "node131.html")
-	  ("lognand" "node131.html")
-	  ("lognor" "node131.html")
-	  ("lognot" "node131.html")
-	  ("logorc1" "node131.html")
-	  ("logorc2" "node131.html")
-	  ("logtest" "node131.html")
-	  ("logxor" "node131.html")
-	  ("long-float-epsilon" "node134.html")
-	  ("long-float-negative-epsilon" "node134.html")
-	  ("long-site-name" "node233.html")
-	  ("loop" "node87.html")
-	  ("loop-finish" "node245.html")
-	  ("lower-case-p" "node137.html")
-	  ("machine-instance" "node233.html")
-	  ("machine-type" "node233.html")
-	  ("machine-version" "node233.html")
-	  ("macro-function" "node98.html")
-	  ("macroexpand" "node99.html")
-	  ("macroexpand-1" "node99.html")
-	  ("*macroexpand-hook*" "node99.html")
-	  ("make-array" "node158.html")
-	  ("make-broadcast-stream" "node184.html")
-	  ("make-char" "node138.html")
-	  ("make-concatenated-stream" "node184.html")
-	  ("make-condition" "node340.html")
-	  ("make-dispatch-macro-character" "node192.html")
-	  ("make-echo-stream" "node184.html")
-	  ("make-hash-table" "node155.html")
-	  ("make-instance" "node311.html")
-	  ("make-instances-obsolete" "node311.html")
-	  ("make-list" "node149.html")
-	  ("make-load-form" "node217.html")
-	  ("make-load-form-saving-slots" "node217.html")
-	  ("make-package" "node118.html")
-	  ("make-pathname" "node214.html")
-	  ("make-random-state" "node133.html")
-	  ("make-sequence" "node142.html")
-	  ("make-string" "node167.html")
-	  ("make-string-input-stream" "node184.html")
-	  ("make-string-output-stream" "node184.html")
-	  ("make-symbol" "node110.html")
-	  ("make-synonym-stream" "node184.html")
-	  ("make-two-way-stream" "node184.html")
-	  ("makunbound" "node79.html")
-	  ("map" "node143.html")
-	  ("map-fn" "node351.html")
-	  ("map-into" "node143.html")
-	  ("mapc" "node90.html")
-	  ("mapcan" "node90.html")
-	  ("mapcar" "node90.html")
-	  ("mapcon" "node90.html")
-	  ("maphash" "node155.html")
-	  ("mapl" "node90.html")
-	  ("maplist" "node90.html")
-	  ("mapping" "node351.html")
-	  ("mask" "node353.html")
-	  ("mask-field" "node132.html")
-	  ("max" "node124.html")
-	  ("maximize" "node246.html")
-	  ("maximizing" "node246.html")
-	  ("member" "node152.html")
-	  ("member-if" "node152.html")
-	  ("member-if-not" "node152.html")
-	  ("merge" "node146.html")
-	  ("merge-pathnames" "node214.html")
-	  ("method-combination-error" "node311.html")
-	  ("method-qualifiers" "node311.html")
-	  ("min" "node124.html")
-	  ("mingle" "node353.html")
-	  ("minimize" "node246.html")
-	  ("minimizing" "node246.html")
-	  ("minusp" "node123.html")
-	  ("mismatch" "node145.html")
-	  ("mod" "node130.html")
-	  ("*modules*" "node119.html")
-	  ("most-negative-double-float" "node134.html")
-	  ("most-negative-fixnum" "node134.html")
-	  ("most-negative-long-float" "node134.html")
-	  ("most-negative-short-float" "node134.html")
-	  ("most-negative-single-float" "node134.html")
-	  ("most-positive-double-float" "node134.html")
-	  ("most-positive-fixnum" "node134.html")
-	  ("most-positive-long-float" "node134.html")
-	  ("most-positive-short-float" "node134.html")
-	  ("most-positive-single-float" "node134.html")
-	  ("muffle-warning" "node344.html")
-	  ("multiple-value-bind" "node94.html")
-	  ("multiple-value-call" "node94.html")
-	  ("multiple-value-list" "node94.html")
-	  ("multiple-value-prog1" "node94.html")
-	  ("multiple-value-setq" "node94.html")
-	  ("multiple-values-limit" "node94.html")
-	  ("name-char" "node139.html")
-	  ("named" "node252.html")
-	  ("namestring" "node214.html")
-	  ("nbutlast" "node149.html")
-	  ("nconc" "node149.html")
-	  ("nconc" "node246.html")
-	  ("nconcing" "node246.html")
-	  ("never" "node245.html")
-	  ("next-in" "node364.html")
-	  ("next-method-p" "node311.html")
-	  ("next-out" "node365.html")
-	  ("nil" "node70.html")
-	  ("nintersection" "node152.html")
-	  ("ninth" "node149.html")
-	  ("no-applicable-method" "node311.html")
-	  ("no-next-method" "node311.html")
-	  ("not" "node75.html")
-	  ("notany" "node143.html")
-	  ("notevery" "node143.html")
-	  ("nreconc" "node149.html")
-	  ("nreverse" "node142.html")
-	  ("nset-difference" "node152.html")
-	  ("nset-exclusive-or" "node152.html")
-	  ("nstring-capitalize" "node167.html")
-	  ("nstring-downcase" "node167.html")
-	  ("nstring-upcase" "node167.html")
-	  ("nsublis" "node151.html")
-	  ("nsubst" "node151.html")
-	  ("nsubst-if" "node151.html")
-	  ("nsubst-if-not" "node151.html")
-	  ("nsubstitute" "node144.html")
-	  ("nsubstitute-if" "node144.html")
-	  ("nsubstitute-if-not" "node144.html")
-	  ("nth" "node149.html")
-	  ("nth-value" "node94.html")
-	  ("nthcdr" "node149.html")
-	  ("null" "node73.html")
-	  ("numberp" "node73.html")
-	  ("numerator" "node130.html")
-	  ("nunion" "node152.html")
-	  ("oddp" "node123.html")
-	  ("off-line-port" "node359.html")
-	  ("open" "node215.html")
-	  ("open-stream-p" "node185.html")
-	  ("optimizable-series-function" "node359.html")
-	  ("or" "node75.html")
-	  ("output-stream-p" "node185.html")
-	  ("*package*" "node118.html")
-	  ("package-error" "node346.html")
-	  ("package-error-package" "node346.html")
-	  ("package-name" "node118.html")
-	  ("package-nicknames" "node118.html")
-	  ("package-shadowing-symbols" "node118.html")
-	  ("package-use-list" "node118.html")
-	  ("package-used-by-list" "node118.html")
-	  ("packagep" "node73.html")
-	  ("pairlis" "node153.html")
-	  ("parse-integer" "node195.html")
-	  ("parse-macro" "node102.html")
-	  ("parse-namestring" "node214.html")
-	  ("pathname" "node214.html")
-	  ("pathname-device" "node214.html")
-	  ("pathname-directory" "node214.html")
-	  ("pathname-host" "node214.html")
-	  ("pathname-match-p" "node207.html")
-	  ("pathname-name" "node214.html")
-	  ("pathname-type" "node214.html")
-	  ("pathname-version" "node214.html")
-	  ("pathnamep" "node214.html")
-	  ("peek-char" "node195.html")
-	  ("phase" "node128.html")
-	  ("pi" "node128.html")
-	  ("plusp" "node123.html")
-	  ("pop" "node149.html")
-	  ("position" "node145.html")
-	  ("position-if" "node145.html")
-	  ("position-if-not" "node145.html")
-	  ("positions" "node353.html")
-	  ("pprint-dispatch" "node259.html")
-	  ("pprint-exit-if-list-exhausted" "node256.html")
-	  ("pprint-fill" "node256.html")
-	  ("pprint-indent" "node256.html")
-	  ("pprint-linear" "node256.html")
-	  ("pprint-logical-block" "node256.html")
-	  ("pprint-newline" "node256.html")
-	  ("pprint-pop" "node256.html")
-	  ("pprint-tab" "node256.html")
-	  ("pprint-tabular" "node256.html")
-	  ("previous" "node352.html")
-	  ("prin1" "node198.html")
-	  ("*print-array*" "node193.html")
-	  ("*print-base*" "node193.html")
-	  ("*print-case*" "node193.html")
-	  ("*print-circle*" "node193.html")
-	  ("*print-escape*" "node193.html")
-	  ("*print-gensym*" "node193.html")
-	  ("*print-length*" "node193.html")
-	  ("*print-level*" "node193.html")
-	  ("*print-lines*" "node255.html")
-	  ("*print-miser-width*" "node255.html")
-	  ("print-object" "node311.html")
-	  ("*print-pprint-dispatch*" "node255.html")
-	  ("*print-pretty*" "node193.html")
-	  ("*print-radix*" "node193.html")
-	  ("*print-readably*" "node193.html")
-	  ("*print-right-margin*" "node255.html")
-	  ("print-unreadable-object" "node198.html")
-	  ("probe-file" "node216.html")
-	  ("proclaim" "node104.html")
-	  ("producing" "node361.html")
-	  ("prog" "node91.html")
-	  ("prog*" "node91.html")
-	  ("prog1" "node82.html")
-	  ("prog2" "node82.html")
-	  ("progn" "node82.html")
-	  ("program-error" "node346.html")
-	  ("progv" "node83.html")
-	  ("propagate-alterability" "node361.html")
-	  ("provide" "node119.html")
-	  ("psetf" "node80.html")
-	  ("psetq" "node79.html")
-	  ("push" "node149.html")
-	  ("pushnew" "node149.html")
-	  ("*query-io*" "node183.html")
-	  ("quote" "node78.html")
-	  ("random" "node133.html")
-	  ("*random-state*" "node133.html")
-	  ("random-state-p" "node133.html")
-	  ("rassoc" "node153.html")
-	  ("rassoc-if" "node153.html")
-	  ("rassoc-if-not" "node153.html")
-	  ("rational" "node130.html")
-	  ("rationalize" "node130.html")
-	  ("rationalp" "node73.html")
-	  ("read" "node195.html")
-	  ("*read-base*" "node189.html")
-	  ("read-byte" "node196.html")
-	  ("read-char" "node195.html")
-	  ("read-char-no-hang" "node195.html")
-	  ("*read-default-float-format*" "node195.html")
-	  ("read-delimited-list" "node195.html")
-	  ("*read-eval*" "node189.html")
-	  ("read-from-string" "node195.html")
-	  ("read-line" "node195.html")
-	  ("read-preserving-whitespace" "node195.html")
-	  ("*read-suppress*" "node189.html")
-	  ("*readtable*" "node192.html")
-	  ("readtable-case" "node192.html")
-	  ("readtablep" "node192.html")
-	  ("realp" "node73.html")
-	  ("realpart" "node130.html")
-	  ("reduce" "node143.html")
-	  ("reinitialize-instance" "node311.html")
-	  ("rem" "node130.html")
-	  ("remf" "node108.html")
-	  ("remhash" "node155.html")
-	  ("remove" "node144.html")
-	  ("remove-duplicates" "node144.html")
-	  ("remove-method" "node311.html")
-	  ("remprop" "node108.html")
-	  ("rename-file" "node216.html")
-	  ("rename-package" "node118.html")
-	  ("repeat" "node244.html")
-	  ("replace" "node144.html")
-	  ("require" "node119.html")
-	  ("rest" "node149.html")
-	  ("restart" "node346.html")
-	  ("restart-bind" "node341.html")
-	  ("restart-case" "node341.html")
-	  ("restart-name" "node342.html")
-	  ("result-of" "node365.html")
-	  ("return" "node85.html")
-	  ("return" "node249.html")
-	  ("return-from" "node85.html")
-	  ("revappend" "node149.html")
-	  ("reverse" "node142.html")
-	  ("room" "node230.html")
-	  ("rotatef" "node80.html")
-	  ("round" "node130.html")
-	  ("row-major-aref" "node160.html")
-	  ("rplaca" "node150.html")
-	  ("rplacd" "node150.html")
-	  ("sbit" "node161.html")
-	  ("scale-float" "node130.html")
-	  ("scan" "node350.html")
-	  ("scan-alist" "node350.html")
-	  ("scan-file" "node350.html")
-	  ("scan-fn" "node350.html")
-	  ("scan-fn-inclusive" "node350.html")
-	  ("scan-hash" "node350.html")
-	  ("scan-lists-of-lists" "node350.html")
-	  ("scan-lists-of-lists-fringe" "node350.html")
-	  ("scan-multiple" "node350.html")
-	  ("scan-plist" "node350.html")
-	  ("scan-range" "node350.html")
-	  ("scan-sublists" "node350.html")
-	  ("scan-symbols" "node350.html")
-	  ("schar" "node165.html")
-	  ("search" "node145.html")
-	  ("second" "node149.html")
-	  ("series" "node349.html")
-	  ("series" "node349.html")
-	  ("series-element-type" "node360.html")
-	  ("serious-condition" "node346.html")
-	  ("set" "node79.html")
-	  ("set-char-bit" "node140.html")
-	  ("set-difference" "node152.html")
-	  ("set-dispatch-macro-character" "node192.html")
-	  ("set-exclusive-or" "node152.html")
-	  ("set-macro-character" "node192.html")
-	  ("set-pprint-dispatch" "node259.html")
-	  ("set-syntax-from-char" "node192.html")
-	  ("setf" "node80.html")
-	  ("setq" "node79.html")
-	  ("seventh" "node149.html")
-	  ("shadow" "node118.html")
-	  ("shadowing-import" "node118.html")
-	  ("shared-initialize" "node311.html")
-	  ("shiftf" "node80.html")
-	  ("short-float-epsilon" "node134.html")
-	  ("short-float-negative-epsilon" "node134.html")
-	  ("short-site-name" "node233.html")
-	  ("signal" "node335.html")
-	  ("signum" "node128.html")
-	  ("simple-bit-vector-p" "node73.html")
-	  ("simple-condition" "node346.html")
-	  ("simple-condition-format-arguments" "node346.html")
-	  ("simple-condition-format-string" "node346.html")
-	  ("simple-error" "node346.html")
-	  ("simple-string-p" "node73.html")
-	  ("simple-type-error" "node346.html")
-	  ("simple-vector-p" "node73.html")
-	  ("simple-warning" "node346.html")
-	  ("sin" "node128.html")
-	  ("single-float-epsilon" "node134.html")
-	  ("single-float-negative-epsilon" "node134.html")
-	  ("sinh" "node128.html")
-	  ("sixth" "node149.html")
-	  ("sleep" "node232.html")
-	  ("slot-boundp" "node311.html")
-	  ("slot-exists-p" "node311.html")
-	  ("slot-makunbound" "node311.html")
-	  ("slot-missing" "node311.html")
-	  ("slot-unbound" "node311.html")
-	  ("slot-value" "node311.html")
-	  ("software-type" "node233.html")
-	  ("software-version" "node233.html")
-	  ("some" "node143.html")
-	  ("sort" "node146.html")
-	  ("special-form-p" "node78.html")
-	  ("split" "node353.html")
-	  ("split-if" "node353.html")
-	  ("sqrt" "node127.html")
-	  ("stable-sort" "node146.html")
-	  ("standard-char-p" "node137.html")
-	  ("*standard-input*" "node183.html")
-	  ("*standard-output*" "node183.html")
-	  ("step" "node230.html")
-	  ("storage-condition" "node346.html")
-	  ("store-value" "node344.html")
-	  ("stream-element-type" "node185.html")
-	  ("stream-error" "node346.html")
-	  ("stream-error-stream" "node346.html")
-	  ("stream-external-format" "node185.html")
-	  ("streamp" "node185.html")
-	  ("string" "node167.html")
-	  ("string-capitalize" "node167.html")
-	  ("string-char-p" "node137.html")
-	  ("string-downcase" "node167.html")
-	  ("string-equal" "node166.html")
-	  ("string-greaterp" "node166.html")
-	  ("string-left-trim" "node167.html")
-	  ("string-lessp" "node166.html")
-	  ("string-not-equal" "node166.html")
-	  ("string-not-greaterp" "node166.html")
-	  ("string-not-lessp" "node166.html")
-	  ("string-right-trim" "node167.html")
-	  ("string-trim" "node167.html")
-	  ("string-upcase" "node167.html")
-	  ("string/=" "node166.html")
-	  ("string" "node166.html")
-	  ("string" "node166.html")
-	  ("string=" "node166.html")
-	  ("string" "node166.html")
-	  ("string" "node166.html")
-	  ("stringp" "node73.html")
-	  ("sublis" "node151.html")
-	  ("subseq" "node142.html")
-	  ("subseries" "node353.html")
-	  ("subsetp" "node152.html")
-	  ("subst" "node151.html")
-	  ("subst-if" "node151.html")
-	  ("subst-if-not" "node151.html")
-	  ("substitute" "node144.html")
-	  ("substitute-if" "node144.html")
-	  ("substitute-if-not" "node144.html")
-	  ("subtypep" "node72.html")
-	  ("sum" "node246.html")
-	  ("summing" "node246.html")
-	  ("*suppress-series-warnings*" "node357.html")
-	  ("svref" "node159.html")
-	  ("sxhash" "node156.html")
-	  ("symbol-function" "node78.html")
-	  ("symbol-macrolet" "node83.html")
-	  ("symbol-name" "node109.html")
-	  ("symbol-package" "node110.html")
-	  ("symbol-plist" "node108.html")
-	  ("symbol-value" "node78.html")
-	  ("symbolp" "node73.html")
-	  ("synonym-stream-symbol" "node185.html")
-	  ("t" "node70.html")
-	  ("tagbody" "node91.html")
-	  ("tailp" "node152.html")
-	  ("tan" "node128.html")
-	  ("tanh" "node128.html")
-	  ("tenth" "node149.html")
-	  ("*terminal-io*" "node183.html")
-	  ("terminate-producing" "node361.html")
-	  ("terpri" "node198.html")
-	  ("the" "node106.html")
-	  ("thereis" "node245.html")
-	  ("third" "node149.html")
-	  ("throw" "node96.html")
-	  ("time" "node230.html")
-	  ("to-alter" "node355.html")
-	  ("trace" "node230.html")
-	  ("*trace-output*" "node183.html")
-	  ("translate-logical-pathname" "node211.html")
-	  ("translate-pathname" "node207.html")
-	  ("tree-equal" "node148.html")
-	  ("truename" "node214.html")
-	  ("truncate" "node130.html")
-	  ("two-way-stream-input-stream" "node185.html")
-	  ("two-way-stream-output-stream" "node185.html")
-	  ("type-error" "node346.html")
-	  ("type-error-datum" "node346.html")
-	  ("type-error-expected-type" "node346.html")
-	  ("type-of" "node53.html")
-	  ("typecase" "node84.html")
-	  ("typep" "node72.html")
-	  ("unbound-variable" "node346.html")
-	  ("undefined-function" "node346.html")
-	  ("unexport" "node118.html")
-	  ("unintern" "node118.html")
-	  ("union" "node152.html")
-	  ("unless" "node84.html")
-	  ("unless" "node248.html")
-	  ("unread-char" "node195.html")
-	  ("until" "node245.html")
-	  ("until" "node352.html")
-	  ("until-if" "node352.html")
-	  ("untrace" "node230.html")
-	  ("unuse-package" "node118.html")
-	  ("unwind-protect" "node96.html")
-	  ("update-instance-for-different-class" "node311.html")
-	  ("update-instance-for-redefined-class" "node311.html")
-	  ("upgraded-array-element-type" "node54.html")
-	  ("upgraded-complex-part-type" "node54.html")
-	  ("upper-case-p" "node137.html")
-	  ("use-package" "node118.html")
-	  ("use-value" "node344.html")
-	  ("user-homedir-pathname" "node214.html")
-	  ("values" "node94.html")
-	  ("values-list" "node94.html")
-	  ("variable-information" "node102.html")
-	  ("vector" "node158.html")
-	  ("vector-pop" "node162.html")
-	  ("vector-push" "node162.html")
-	  ("vector-push-extend" "node162.html")
-	  ("vectorp" "node73.html")
-	  ("warn" "node220.html")
-	  ("warn" "node343.html")
-	  ("warning" "node346.html")
-	  ("when" "node84.html")
-	  ("when" "node248.html")
-	  ("while" "node245.html")
-	  ("wild-pathname-p" "node207.html")
-	  ("with" "node247.html")
-	  ("with-accessors" "node311.html")
-	  ("with-added-methods" "node311.html")
-	  ("with-compilation-unit" "node224.html")
-	  ("with-condition-restarts" "node341.html")
-	  ("with-hash-table-iterator" "node155.html")
-	  ("with-input-from-string" "node184.html")
-	  ("with-open-file" "node215.html")
-	  ("with-open-stream" "node184.html")
-	  ("with-output-to-string" "node184.html")
-	  ("with-package-iterator" "node118.html")
-	  ("with-simple-restart" "node341.html")
-	  ("with-slots" "node311.html")
-	  ("with-standard-io-syntax" "node193.html")
-	  ("write" "node198.html")
-	  ("write-byte" "node199.html")
-	  ("write-char" "node198.html")
-	  ("write-string" "node198.html")
-	  ("write-to-string" "node198.html")
-	  ("y-or-n-p" "node201.html")
-	  ("yes-or-no-p" "node201.html")
-	  ("zerop" "node123.html")
-	  ))
+      '(
+	;; The index references were generated using the following sed(1)
+	;; script; some manual additions were made.
+	;; cat index.html |\
+	;;  sed -e '/<pre>/,/<\/pre/!d'\
+	;;      -e '/^<a href="node/!d'\
+	;;      -e '/^<a href="node/s/^<a href=\("node[0-9]\+.html"\)>\(&[lg]t;\)\?\(<code>\(.*\)<\/code>\)\?.*/("\2\4" \1)/'\
+	;;      -e 's/&lt;/</'\
+	;;      -e 's/&gt;/>/'
+	("*" "node125.html")
+	("*" "node181.html")
+	("**" "node181.html")
+	("***" "node181.html")
+	("+" "node125.html")
+	("+" "node181.html")
+	("++" "node181.html")
+	("+++" "node181.html")
+	("-" "node125.html")
+	("-" "node181.html")
+	("/" "node125.html")
+	("/" "node181.html")
+	("//" "node181.html")
+	("///" "node181.html")
+	("1+" "node125.html")
+	("1-" "node125.html")
+	("<" "node124.html")
+	("<=" "node124.html")
+	("=" "node124.html")
+	(">" "node124.html")
+	(">=" "node124.html")
+	("abort" "node344.html")
+	("abs" "node128.html")
+	("acons" "node153.html")
+	("acos" "node128.html")
+	("acosh" "node128.html")
+	("add-method" "node311.html")
+	("adjoin" "node152.html")
+	("adjust-array" "node163.html")
+	("adjustable-array-p" "node160.html")
+	("alpha-char-p" "node137.html")
+	("alphanumericp" "node137.html")
+	("alter" "node355.html")
+	("always" "node245.html")
+	("and" "node75.html")
+	("append" "node149.html")
+	("append" "node246.html")
+	("appending" "node246.html")
+	("apply" "node81.html")
+	("applyhook" "node180.html")
+	("*applyhook*" "node180.html")
+	("apropos" "node230.html")
+	("apropos-list" "node230.html")
+	("aref" "node159.html")
+	("arithmetic-error" "node346.html")
+	("arithmetic-error-operands" "node346.html")
+	("arithmetic-error-operation" "node346.html")
+	("array-dimension" "node160.html")
+	("array-dimension-limit" "node158.html")
+	("array-dimensions" "node160.html")
+	("array-element-type" "node160.html")
+	("array-has-fill-pointer-p" "node162.html")
+	("array-in-bounds-p" "node160.html")
+	("array-rank" "node160.html")
+	("array-rank-limit" "node158.html")
+	("array-row-major-index" "node160.html")
+	("array-total-size" "node160.html")
+	("array-total-size-limit" "node158.html")
+	("arrayp" "node73.html")
+	("as" "node244.html")
+	("ash" "node131.html")
+	("asin" "node128.html")
+	("asinh" "node128.html")
+	("assert" "node221.html")
+	("assert" "node336.html")
+	("assoc" "node153.html")
+	("assoc-if" "node153.html")
+	("assoc-if-not" "node153.html")
+	("atan" "node128.html")
+	("atanh" "node128.html")
+	("atom" "node73.html")
+	("augment-environment" "node102.html")
+	("bit" "node161.html")
+	("bit-and" "node161.html")
+	("bit-andc1" "node161.html")
+	("bit-andc2" "node161.html")
+	("bit-eqv" "node161.html")
+	("bit-ior" "node161.html")
+	("bit-nand" "node161.html")
+	("bit-nor" "node161.html")
+	("bit-not" "node161.html")
+	("bit-orc1" "node161.html")
+	("bit-orc2" "node161.html")
+	("bit-vector-p" "node73.html")
+	("bit-xor" "node161.html")
+	("block" "node85.html")
+	("boole" "node131.html")
+	("both-case-p" "node137.html")
+	("boundp" "node78.html")
+	("break" "node220.html")
+	("break" "node345.html")
+	("*break-on-signals*" "node335.html")
+	("*break-on-warnings*" "node220.html")
+	("broadcast-stream-streams" "node185.html")
+	("butlast" "node149.html")
+	("byte" "node132.html")
+	("byte-position" "node132.html")
+	("byte-size" "node132.html")
+	("caaaar" "node148.html")
+	("caaadr" "node148.html")
+	("caaar" "node148.html")
+	("caadar" "node148.html")
+	("caaddr" "node148.html")
+	("caadr" "node148.html")
+	("caar" "node148.html")
+	("cadaar" "node148.html")
+	("cadadr" "node148.html")
+	("cadar" "node148.html")
+	("caddar" "node148.html")
+	("cadddr" "node148.html")
+	("caddr" "node148.html")
+	("cadr" "node148.html")
+	("call-arguments-limit" "node81.html")
+	("call-method" "node311.html")
+	("call-next-method" "node311.html")
+	("car" "node148.html")
+	("case" "node84.html")
+	("catch" "node96.html")
+	("catenate" "node353.html")
+	("ccase" "node222.html")
+	("ccase" "node337.html")
+	("cdaaar" "node148.html")
+	("cdaadr" "node148.html")
+	("cdaar" "node148.html")
+	("cdadar" "node148.html")
+	("cdaddr" "node148.html")
+	("cdadr" "node148.html")
+	("cdar" "node148.html")
+	("cddaar" "node148.html")
+	("cddadr" "node148.html")
+	("cddar" "node148.html")
+	("cdddar" "node148.html")
+	("cddddr" "node148.html")
+	("cdddr" "node148.html")
+	("cddr" "node148.html")
+	("cdr" "node148.html")
+	("ceiling" "node130.html")
+	("cell-error" "node346.html")
+	("cell-error-name" "node346.html")
+	("cerror" "node220.html")
+	("cerror" "node335.html")
+	("change-class" "node311.html")
+	("char" "node165.html")
+	("char-bit" "node140.html")
+	("char-bits" "node138.html")
+	("char-bits-limit" "node136.html")
+	("char-code" "node138.html")
+	("char-code-limit" "node136.html")
+	("char-control-bit" "node140.html")
+	("char-downcase" "node139.html")
+	("char-equal" "node137.html")
+	("char-font" "node138.html")
+	("char-font-limit" "node136.html")
+	("char-greaterp" "node137.html")
+	("char-hyper-bit" "node140.html")
+	("char-int" "node139.html")
+	("char-lessp" "node137.html")
+	("char-meta-bit" "node140.html")
+	("char-name" "node139.html")
+	("char-not-equal" "node137.html")
+	("char-not-greaterp" "node137.html")
+	("char-not-lessp" "node137.html")
+	("char-super-bit" "node140.html")
+	("char-upcase" "node139.html")
+	("char/=" "node137.html")
+	("char" "node137.html")
+	("char" "node137.html")
+	("char=" "node137.html")
+	("char" "node137.html")
+	("char" "node137.html")
+	("character" "node139.html")
+	("characterp" "node73.html")
+	("check-type" "node221.html")
+	("check-type" "node336.html")
+	("choose" "node353.html")
+	("choose-if" "node353.html")
+	("chunk" "node353.html")
+	("cis" "node128.html")
+	("class-name" "node311.html")
+	("class-of" "node311.html")
+	("clear-input" "node195.html")
+	("close" "node185.html")
+	("clrhash" "node155.html")
+	("code-char" "node138.html")
+	("coerce" "node52.html")
+	("collect" "node246.html")
+	("collect" "node354.html")
+	("collect-alist" "node354.html")
+	("collect-and" "node354.html")
+	("collect-append" "node354.html")
+	("collect-file" "node354.html")
+	("collect-first" "node354.html")
+	("collect-fn" "node354.html")
+	("collect-hash" "node354.html")
+	("collect-last" "node354.html")
+	("collect-length" "node354.html")
+	("collect-max" "node354.html")
+	("collect-min" "node354.html")
+	("collect-nconc" "node354.html")
+	("collect-nth" "node354.html")
+	("collect-or" "node354.html")
+	("collect-plist" "node354.html")
+	("collect-sum" "node354.html")
+	("collecting" "node246.html")
+	("collecting-fn" "node352.html")
+	("commonp" "node73.html")
+	("compile" "node224.html")
+	("compile-file" "node224.html")
+	("compile-file-pathname" "node211.html")
+	("*compile-file-pathname*" "node224.html")
+	("*compile-file-truename*" "node224.html")
+	("*compile-print*" "node224.html")
+	("*compile-verbose*" "node224.html")
+	("compiled-function-p" "node73.html")
+	("compiler-let" "node83.html")
+	("compiler-let" "node83.html")
+	("compiler-macro-function" "node101.html")
+	("compiler-macroexpand" "node101.html")
+	("compiler-macroexpand-1" "node101.html")
+	("complement" "node141.html")
+	("complex" "node130.html")
+	("complexp" "node73.html")
+	("compute-applicable-methods" "node311.html")
+	("compute-restarts" "node342.html")
+	("concatenate" "node143.html")
+	("concatenated-stream-streams" "node185.html")
+	("cond" "node84.html")
+	("condition" "node346.html")
+	("conjugate" "node125.html")
+	("cons" "node148.html")
+	("consp" "node73.html")
+	("constantp" "node180.html")
+	("continue" "node344.html")
+	("control-error" "node346.html")
+	("copy-alist" "node149.html")
+	("copy-list" "node149.html")
+	("copy-pprint-dispatch" "node259.html")
+	("copy-readtable" "node192.html")
+	("copy-seq" "node142.html")
+	("copy-symbol" "node110.html")
+	("copy-tree" "node149.html")
+	("cos" "node128.html")
+	("cosh" "node128.html")
+	("cotruncate" "node352.html")
+	("count" "node145.html")
+	("count" "node246.html")
+	("count-if" "node145.html")
+	("count-if-not" "node145.html")
+	("counting" "node246.html")
+	("ctypecase" "node222.html")
+	("ctypecase" "node337.html")
+	("*debug-io*" "node183.html")
+	("*debugger-hook*" "node345.html")
+	("decf" "node125.html")
+	("declaim" "node104.html")
+	("declaration-information" "node102.html")
+	("declare" "node104.html")
+	("decode-float" "node130.html")
+	("decode-universal-time" "node232.html")
+	("*default-pathname-defaults*" "node214.html")
+	("defclass" "node311.html")
+	("defgeneric" "node311.html")
+	("define-compiler-macro" "node101.html")
+	("define-condition" "node339.html")
+	("define-declaration" "node102.html")
+	("define-method-combination" "node311.html")
+	("define-modify-macro" "node80.html")
+	("define-setf-method" "node80.html")
+	("defmacro" "node98.html")
+	("defmethod" "node311.html")
+	("defpackage" "node118.html")
+	("defstruct" "node170.html")
+	("deftype" "node51.html")
+	("defun" "node66.html")
+	("defvar" "node67.html")
+	("delete" "node144.html")
+	("delete-duplicates" "node144.html")
+	("delete-file" "node216.html")
+	("delete-if" "node144.html")
+	("delete-if-not" "node144.html")
+	("delete-package" "node118.html")
+	("denominator" "node130.html")
+	("deposit-field" "node132.html")
+	("describe" "node230.html")
+	("describe-object" "node230.html")
+	("destructuring-bind" "node100.html")
+	("digit-char" "node139.html")
+	("digit-char-p" "node137.html")
+	("directory" "node218.html")
+	("directory-namestring" "node214.html")
+	("disassemble" "node224.html")
+	("division-by-zero" "node346.html")
+	("do" "node88.html")
+	("do" "node249.html")
+	("do*" "node88.html")
+	("do-all-symbols" "node118.html")
+	("do-external-symbols" "node118.html")
+	("do-symbols" "node118.html")
+	("documentation" "node229.html")
+	("documentation" "node311.html")
+	("doing" "node249.html")
+	("dolist" "node89.html")
+	("dotimes" "node89.html")
+	("double-float-epsilon" "node134.html")
+	("double-float-negative-epsilon" "node134.html")
+	("dpb" "node132.html")
+	("dribble" "node230.html")
+	("ecase" "node222.html")
+	("ecase" "node337.html")
+	("echo-stream-input-stream" "node185.html")
+	("echo-stream-output-stream" "node185.html")
+	("ed" "node230.html")
+	("eighth" "node149.html")
+	("elt" "node142.html")
+	("encapsulated" "node361.html")
+	("enclose" "node102.html")
+	("encode-universal-time" "node232.html")
+	("end-of-file" "node346.html")
+	("endp" "node149.html")
+	("enough-namestring" "node214.html")
+	("ensure-generic-function" "node311.html")
+	("eq" "node74.html")
+	("eql" "node74.html")
+	("equal" "node74.html")
+	("equalp" "node74.html")
+	("error" "node220.html")
+	("error" "node335.html")
+	("error" "node346.html")
+	("*error-output*" "node183.html")
+	("etypecase" "node222.html")
+	("etypecase" "node337.html")
+	("eval" "node180.html")
+	("eval-when" "node68.html")
+	("evalhook" "node180.html")
+	("*evalhook*" "node180.html")
+	("evenp" "node123.html")
+	("every" "node143.html")
+	("exp" "node127.html")
+	("expand" "node353.html")
+	("export" "node118.html")
+	("expt" "node127.html")
+	("f" "node311.html")
+	("fboundp" "node78.html")
+	("fdefinition" "node78.html")
+	("*features*" "node233.html")
+	("ffloor" "node130.html")
+	("fifth" "node149.html")
+	("file-author" "node216.html")
+	("file-error" "node346.html")
+	("file-error-pathname" "node346.html")
+	("file-length" "node216.html")
+	("file-namestring" "node214.html")
+	("file-position" "node216.html")
+	("file-string-length" "node216.html")
+	("file-write-date" "node216.html")
+	("fill" "node144.html")
+	("fill-pointer" "node162.html")
+	("finally" "node252.html")
+	("find" "node145.html")
+	("find-all-symbols" "node118.html")
+	("find-class" "node311.html")
+	("find-if" "node145.html")
+	("find-if-not" "node145.html")
+	("find-method" "node311.html")
+	("find-package" "node118.html")
+	("find-restart" "node342.html")
+	("find-symbol" "node118.html")
+	("finish-output" "node198.html")
+	("first" "node149.html")
+	("flet" "node83.html")
+	("float" "node130.html")
+	("float-digits" "node130.html")
+	("float-precision" "node130.html")
+	("float-radix" "node130.html")
+	("float-sign" "node130.html")
+	("floating-point-overflow" "node346.html")
+	("floating-point-underflow" "node346.html")
+	("floatp" "node73.html")
+	("floor" "node130.html")
+	("for" "node244.html")
+	("format" "node200.html")
+	("formatter" "node258.html")
+	("fourth" "node149.html")
+	("funcall" "node81.html")
+	("function" "node78.html")
+	("function-information" "node102.html")
+	("function-keywords" "node311.html")
+	("function-lambda-expression" "node224.html")
+	("functionp" "node73.html")
+	("gatherer" "node365.html")
+	("gathering" "node365.html")
+	("gcd" "node125.html")
+	("generator" "node364.html")
+	("generic-flet" "node311.html")
+	("generic-function" "node311.html")
+	("generic-labels" "node311.html")
+	("gensym" "node110.html")
+	("*gensym-counter*" "node110.html")
+	("gentemp" "node110.html")
+	("get" "node108.html")
+	("get-decoded-time" "node232.html")
+	("get-internal-real-time" "node232.html")
+	("get-internal-run-time" "node232.html")
+	("get-output-stream-string" "node184.html")
+	("get-properties" "node108.html")
+	("get-setf-method" "node80.html")
+	("get-setf-method-multiple-value" "node80.html")
+	("get-universal-time" "node232.html")
+	("getf" "node108.html")
+	("gethash" "node155.html")
+	("go" "node91.html")
+	("graphic-char-p" "node137.html")
+	("handler-bind" "node338.html")
+	("handler-case" "node338.html")
+	("hash-table-count" "node155.html")
+	("hash-table-p" "node155.html")
+	("hash-table-rehash-size" "node155.html")
+	("hash-table-rehash-threshold" "node155.html")
+	("hash-table-size" "node155.html")
+	("hash-table-test" "node155.html")
+	("host-namestring" "node214.html")
+	("identity" "node234.html")
+	("if" "node84.html")
+	("if" "node248.html")
+	("ignore-errors" "node338.html")
+	("imagpart" "node130.html")
+	("import" "node118.html")
+	("in-package" "node118.html")
+	("in-package" "node118.html")
+	("incf" "node125.html")
+	("initialize-instance" "node311.html")
+	("initially" "node252.html")
+	("input-stream-p" "node185.html")
+	("inspect" "node230.html")
+	("int-char" "node139.html")
+	("integer-decode-float" "node130.html")
+	("integer-length" "node131.html")
+	("integerp" "node73.html")
+	("interactive-stream-p" "node185.html")
+	("intern" "node118.html")
+	("internal-time-units-per-second" "node232.html")
+	("intersection" "node152.html")
+	("invalid-method-error" "node311.html")
+	("invoke-debugger" "node345.html")
+	("invoke-restart" "node342.html")
+	("isqrt" "node127.html")
+	("iterate" "node351.html")
+	("keywordp" "node110.html")
+	("lambda" "node64.html")
+	("lambda-list-keywords" "node64.html")
+	("lambda-parameters-limit" "node64.html")
+	("last" "node149.html")
+	("latch" "node352.html")
+	("lcm" "node125.html")
+	("ldb" "node132.html")
+	("ldb-test" "node132.html")
+	("ldiff" "node149.html")
+	("least-negative-double-float" "node134.html")
+	("least-negative-long-float" "node134.html")
+	("least-negative-normalized-double-float" "node134.html")
+	("least-negative-normalized-long-float" "node134.html")
+	("least-negative-normalized-short-float" "node134.html")
+	("least-negative-normalized-single-float" "node134.html")
+	("least-negative-short-float" "node134.html")
+	("least-negative-single-float" "node134.html")
+	("least-positive-double-float" "node134.html")
+	("least-positive-long-float" "node134.html")
+	("least-positive-normalized-double-float" "node134.html")
+	("least-positive-normalized-long-float" "node134.html")
+	("least-positive-normalized-short-float" "node134.html")
+	("least-positive-normalized-single-float" "node134.html")
+	("least-positive-short-float" "node134.html")
+	("least-positive-single-float" "node134.html")
+	("length" "node142.html")
+	("let" "node83.html")
+	("let*" "node83.html")
+	("lisp-implementation-type" "node233.html")
+	("lisp-implementation-version" "node233.html")
+	("list" "node149.html")
+	("list*" "node149.html")
+	("list-all-packages" "node118.html")
+	("list-length" "node149.html")
+	("listen" "node195.html")
+	("listp" "node73.html")
+	("load" "node217.html")
+	("load-logical-pathname-translations" "node211.html")
+	("*load-pathname*" "node217.html")
+	("*load-print*" "node217.html")
+	("load-time-value" "node224.html")
+	("*load-truename*" "node217.html")
+	("*load-verbose*" "node217.html")
+	("locally" "node104.html")
+	("locally" "node104.html")
+	("log" "node127.html")
+	("logand" "node131.html")
+	("logandc1" "node131.html")
+	("logandc2" "node131.html")
+	("logbitp" "node131.html")
+	("logcount" "node131.html")
+	("logeqv" "node131.html")
+	("logical-pathname" "node208.html")
+	("logical-pathname" "node211.html")
+	("logical-pathname-translations" "node211.html")
+	("logior" "node131.html")
+	("lognand" "node131.html")
+	("lognor" "node131.html")
+	("lognot" "node131.html")
+	("logorc1" "node131.html")
+	("logorc2" "node131.html")
+	("logtest" "node131.html")
+	("logxor" "node131.html")
+	("long-float-epsilon" "node134.html")
+	("long-float-negative-epsilon" "node134.html")
+	("long-site-name" "node233.html")
+	("loop" "node87.html")
+	("loop-finish" "node245.html")
+	("lower-case-p" "node137.html")
+	("machine-instance" "node233.html")
+	("machine-type" "node233.html")
+	("machine-version" "node233.html")
+	("macro-function" "node98.html")
+	("macroexpand" "node99.html")
+	("macroexpand-1" "node99.html")
+	("*macroexpand-hook*" "node99.html")
+	("make-array" "node158.html")
+	("make-broadcast-stream" "node184.html")
+	("make-char" "node138.html")
+	("make-concatenated-stream" "node184.html")
+	("make-condition" "node340.html")
+	("make-dispatch-macro-character" "node192.html")
+	("make-echo-stream" "node184.html")
+	("make-hash-table" "node155.html")
+	("make-instance" "node311.html")
+	("make-instances-obsolete" "node311.html")
+	("make-list" "node149.html")
+	("make-load-form" "node217.html")
+	("make-load-form-saving-slots" "node217.html")
+	("make-package" "node118.html")
+	("make-pathname" "node214.html")
+	("make-random-state" "node133.html")
+	("make-sequence" "node142.html")
+	("make-string" "node167.html")
+	("make-string-input-stream" "node184.html")
+	("make-string-output-stream" "node184.html")
+	("make-symbol" "node110.html")
+	("make-synonym-stream" "node184.html")
+	("make-two-way-stream" "node184.html")
+	("makunbound" "node79.html")
+	("map" "node143.html")
+	("map-fn" "node351.html")
+	("map-into" "node143.html")
+	("mapc" "node90.html")
+	("mapcan" "node90.html")
+	("mapcar" "node90.html")
+	("mapcon" "node90.html")
+	("maphash" "node155.html")
+	("mapl" "node90.html")
+	("maplist" "node90.html")
+	("mapping" "node351.html")
+	("mask" "node353.html")
+	("mask-field" "node132.html")
+	("max" "node124.html")
+	("maximize" "node246.html")
+	("maximizing" "node246.html")
+	("member" "node152.html")
+	("member-if" "node152.html")
+	("member-if-not" "node152.html")
+	("merge" "node146.html")
+	("merge-pathnames" "node214.html")
+	("method-combination-error" "node311.html")
+	("method-qualifiers" "node311.html")
+	("min" "node124.html")
+	("mingle" "node353.html")
+	("minimize" "node246.html")
+	("minimizing" "node246.html")
+	("minusp" "node123.html")
+	("mismatch" "node145.html")
+	("mod" "node130.html")
+	("*modules*" "node119.html")
+	("most-negative-double-float" "node134.html")
+	("most-negative-fixnum" "node134.html")
+	("most-negative-long-float" "node134.html")
+	("most-negative-short-float" "node134.html")
+	("most-negative-single-float" "node134.html")
+	("most-positive-double-float" "node134.html")
+	("most-positive-fixnum" "node134.html")
+	("most-positive-long-float" "node134.html")
+	("most-positive-short-float" "node134.html")
+	("most-positive-single-float" "node134.html")
+	("muffle-warning" "node344.html")
+	("multiple-value-bind" "node94.html")
+	("multiple-value-call" "node94.html")
+	("multiple-value-list" "node94.html")
+	("multiple-value-prog1" "node94.html")
+	("multiple-value-setq" "node94.html")
+	("multiple-values-limit" "node94.html")
+	("name-char" "node139.html")
+	("named" "node252.html")
+	("namestring" "node214.html")
+	("nbutlast" "node149.html")
+	("nconc" "node149.html")
+	("nconc" "node246.html")
+	("nconcing" "node246.html")
+	("never" "node245.html")
+	("next-in" "node364.html")
+	("next-method-p" "node311.html")
+	("next-out" "node365.html")
+	("nil" "node70.html")
+	("nintersection" "node152.html")
+	("ninth" "node149.html")
+	("no-applicable-method" "node311.html")
+	("no-next-method" "node311.html")
+	("not" "node75.html")
+	("notany" "node143.html")
+	("notevery" "node143.html")
+	("nreconc" "node149.html")
+	("nreverse" "node142.html")
+	("nset-difference" "node152.html")
+	("nset-exclusive-or" "node152.html")
+	("nstring-capitalize" "node167.html")
+	("nstring-downcase" "node167.html")
+	("nstring-upcase" "node167.html")
+	("nsublis" "node151.html")
+	("nsubst" "node151.html")
+	("nsubst-if" "node151.html")
+	("nsubst-if-not" "node151.html")
+	("nsubstitute" "node144.html")
+	("nsubstitute-if" "node144.html")
+	("nsubstitute-if-not" "node144.html")
+	("nth" "node149.html")
+	("nth-value" "node94.html")
+	("nthcdr" "node149.html")
+	("null" "node73.html")
+	("numberp" "node73.html")
+	("numerator" "node130.html")
+	("nunion" "node152.html")
+	("oddp" "node123.html")
+	("off-line-port" "node359.html")
+	("open" "node215.html")
+	("open-stream-p" "node185.html")
+	("optimizable-series-function" "node359.html")
+	("or" "node75.html")
+	("output-stream-p" "node185.html")
+	("*package*" "node118.html")
+	("package-error" "node346.html")
+	("package-error-package" "node346.html")
+	("package-name" "node118.html")
+	("package-nicknames" "node118.html")
+	("package-shadowing-symbols" "node118.html")
+	("package-use-list" "node118.html")
+	("package-used-by-list" "node118.html")
+	("packagep" "node73.html")
+	("pairlis" "node153.html")
+	("parse-integer" "node195.html")
+	("parse-macro" "node102.html")
+	("parse-namestring" "node214.html")
+	("pathname" "node214.html")
+	("pathname-device" "node214.html")
+	("pathname-directory" "node214.html")
+	("pathname-host" "node214.html")
+	("pathname-match-p" "node207.html")
+	("pathname-name" "node214.html")
+	("pathname-type" "node214.html")
+	("pathname-version" "node214.html")
+	("pathnamep" "node214.html")
+	("peek-char" "node195.html")
+	("phase" "node128.html")
+	("pi" "node128.html")
+	("plusp" "node123.html")
+	("pop" "node149.html")
+	("position" "node145.html")
+	("position-if" "node145.html")
+	("position-if-not" "node145.html")
+	("positions" "node353.html")
+	("pprint-dispatch" "node259.html")
+	("pprint-exit-if-list-exhausted" "node256.html")
+	("pprint-fill" "node256.html")
+	("pprint-indent" "node256.html")
+	("pprint-linear" "node256.html")
+	("pprint-logical-block" "node256.html")
+	("pprint-newline" "node256.html")
+	("pprint-pop" "node256.html")
+	("pprint-tab" "node256.html")
+	("pprint-tabular" "node256.html")
+	("previous" "node352.html")
+	("prin1" "node198.html")
+	("*print-array*" "node193.html")
+	("*print-base*" "node193.html")
+	("*print-case*" "node193.html")
+	("*print-circle*" "node193.html")
+	("*print-escape*" "node193.html")
+	("*print-gensym*" "node193.html")
+	("*print-length*" "node193.html")
+	("*print-level*" "node193.html")
+	("*print-lines*" "node255.html")
+	("*print-miser-width*" "node255.html")
+	("print-object" "node311.html")
+	("*print-pprint-dispatch*" "node255.html")
+	("*print-pretty*" "node193.html")
+	("*print-radix*" "node193.html")
+	("*print-readably*" "node193.html")
+	("*print-right-margin*" "node255.html")
+	("print-unreadable-object" "node198.html")
+	("probe-file" "node216.html")
+	("proclaim" "node104.html")
+	("producing" "node361.html")
+	("prog" "node91.html")
+	("prog*" "node91.html")
+	("prog1" "node82.html")
+	("prog2" "node82.html")
+	("progn" "node82.html")
+	("program-error" "node346.html")
+	("progv" "node83.html")
+	("propagate-alterability" "node361.html")
+	("provide" "node119.html")
+	("psetf" "node80.html")
+	("psetq" "node79.html")
+	("push" "node149.html")
+	("pushnew" "node149.html")
+	("*query-io*" "node183.html")
+	("quote" "node78.html")
+	("random" "node133.html")
+	("*random-state*" "node133.html")
+	("random-state-p" "node133.html")
+	("rassoc" "node153.html")
+	("rassoc-if" "node153.html")
+	("rassoc-if-not" "node153.html")
+	("rational" "node130.html")
+	("rationalize" "node130.html")
+	("rationalp" "node73.html")
+	("read" "node195.html")
+	("*read-base*" "node189.html")
+	("read-byte" "node196.html")
+	("read-char" "node195.html")
+	("read-char-no-hang" "node195.html")
+	("*read-default-float-format*" "node195.html")
+	("read-delimited-list" "node195.html")
+	("*read-eval*" "node189.html")
+	("read-from-string" "node195.html")
+	("read-line" "node195.html")
+	("read-preserving-whitespace" "node195.html")
+	("*read-suppress*" "node189.html")
+	("*readtable*" "node192.html")
+	("readtable-case" "node192.html")
+	("readtablep" "node192.html")
+	("realp" "node73.html")
+	("realpart" "node130.html")
+	("reduce" "node143.html")
+	("reinitialize-instance" "node311.html")
+	("rem" "node130.html")
+	("remf" "node108.html")
+	("remhash" "node155.html")
+	("remove" "node144.html")
+	("remove-duplicates" "node144.html")
+	("remove-method" "node311.html")
+	("remprop" "node108.html")
+	("rename-file" "node216.html")
+	("rename-package" "node118.html")
+	("repeat" "node244.html")
+	("replace" "node144.html")
+	("require" "node119.html")
+	("rest" "node149.html")
+	("restart" "node346.html")
+	("restart-bind" "node341.html")
+	("restart-case" "node341.html")
+	("restart-name" "node342.html")
+	("result-of" "node365.html")
+	("return" "node85.html")
+	("return" "node249.html")
+	("return-from" "node85.html")
+	("revappend" "node149.html")
+	("reverse" "node142.html")
+	("room" "node230.html")
+	("rotatef" "node80.html")
+	("round" "node130.html")
+	("row-major-aref" "node160.html")
+	("rplaca" "node150.html")
+	("rplacd" "node150.html")
+	("sbit" "node161.html")
+	("scale-float" "node130.html")
+	("scan" "node350.html")
+	("scan-alist" "node350.html")
+	("scan-file" "node350.html")
+	("scan-fn" "node350.html")
+	("scan-fn-inclusive" "node350.html")
+	("scan-hash" "node350.html")
+	("scan-lists-of-lists" "node350.html")
+	("scan-lists-of-lists-fringe" "node350.html")
+	("scan-multiple" "node350.html")
+	("scan-plist" "node350.html")
+	("scan-range" "node350.html")
+	("scan-sublists" "node350.html")
+	("scan-symbols" "node350.html")
+	("schar" "node165.html")
+	("search" "node145.html")
+	("second" "node149.html")
+	("series" "node349.html")
+	("series" "node349.html")
+	("series-element-type" "node360.html")
+	("serious-condition" "node346.html")
+	("set" "node79.html")
+	("set-char-bit" "node140.html")
+	("set-difference" "node152.html")
+	("set-dispatch-macro-character" "node192.html")
+	("set-exclusive-or" "node152.html")
+	("set-macro-character" "node192.html")
+	("set-pprint-dispatch" "node259.html")
+	("set-syntax-from-char" "node192.html")
+	("setf" "node80.html")
+	("setq" "node79.html")
+	("seventh" "node149.html")
+	("shadow" "node118.html")
+	("shadowing-import" "node118.html")
+	("shared-initialize" "node311.html")
+	("shiftf" "node80.html")
+	("short-float-epsilon" "node134.html")
+	("short-float-negative-epsilon" "node134.html")
+	("short-site-name" "node233.html")
+	("signal" "node335.html")
+	("signum" "node128.html")
+	("simple-bit-vector-p" "node73.html")
+	("simple-condition" "node346.html")
+	("simple-condition-format-arguments" "node346.html")
+	("simple-condition-format-string" "node346.html")
+	("simple-error" "node346.html")
+	("simple-string-p" "node73.html")
+	("simple-type-error" "node346.html")
+	("simple-vector-p" "node73.html")
+	("simple-warning" "node346.html")
+	("sin" "node128.html")
+	("single-float-epsilon" "node134.html")
+	("single-float-negative-epsilon" "node134.html")
+	("sinh" "node128.html")
+	("sixth" "node149.html")
+	("sleep" "node232.html")
+	("slot-boundp" "node311.html")
+	("slot-exists-p" "node311.html")
+	("slot-makunbound" "node311.html")
+	("slot-missing" "node311.html")
+	("slot-unbound" "node311.html")
+	("slot-value" "node311.html")
+	("software-type" "node233.html")
+	("software-version" "node233.html")
+	("some" "node143.html")
+	("sort" "node146.html")
+	("special-form-p" "node78.html")
+	("split" "node353.html")
+	("split-if" "node353.html")
+	("sqrt" "node127.html")
+	("stable-sort" "node146.html")
+	("standard-char-p" "node137.html")
+	("*standard-input*" "node183.html")
+	("*standard-output*" "node183.html")
+	("step" "node230.html")
+	("storage-condition" "node346.html")
+	("store-value" "node344.html")
+	("stream-element-type" "node185.html")
+	("stream-error" "node346.html")
+	("stream-error-stream" "node346.html")
+	("stream-external-format" "node185.html")
+	("streamp" "node185.html")
+	("string" "node167.html")
+	("string-capitalize" "node167.html")
+	("string-char-p" "node137.html")
+	("string-downcase" "node167.html")
+	("string-equal" "node166.html")
+	("string-greaterp" "node166.html")
+	("string-left-trim" "node167.html")
+	("string-lessp" "node166.html")
+	("string-not-equal" "node166.html")
+	("string-not-greaterp" "node166.html")
+	("string-not-lessp" "node166.html")
+	("string-right-trim" "node167.html")
+	("string-trim" "node167.html")
+	("string-upcase" "node167.html")
+	("string/=" "node166.html")
+	("string" "node166.html")
+	("string" "node166.html")
+	("string=" "node166.html")
+	("string" "node166.html")
+	("string" "node166.html")
+	("stringp" "node73.html")
+	("sublis" "node151.html")
+	("subseq" "node142.html")
+	("subseries" "node353.html")
+	("subsetp" "node152.html")
+	("subst" "node151.html")
+	("subst-if" "node151.html")
+	("subst-if-not" "node151.html")
+	("substitute" "node144.html")
+	("substitute-if" "node144.html")
+	("substitute-if-not" "node144.html")
+	("subtypep" "node72.html")
+	("sum" "node246.html")
+	("summing" "node246.html")
+	("*suppress-series-warnings*" "node357.html")
+	("svref" "node159.html")
+	("sxhash" "node156.html")
+	("symbol-function" "node78.html")
+	("symbol-macrolet" "node83.html")
+	("symbol-name" "node109.html")
+	("symbol-package" "node110.html")
+	("symbol-plist" "node108.html")
+	("symbol-value" "node78.html")
+	("symbolp" "node73.html")
+	("synonym-stream-symbol" "node185.html")
+	("t" "node70.html")
+	("tagbody" "node91.html")
+	("tailp" "node152.html")
+	("tan" "node128.html")
+	("tanh" "node128.html")
+	("tenth" "node149.html")
+	("*terminal-io*" "node183.html")
+	("terminate-producing" "node361.html")
+	("terpri" "node198.html")
+	("the" "node106.html")
+	("thereis" "node245.html")
+	("third" "node149.html")
+	("throw" "node96.html")
+	("time" "node230.html")
+	("to-alter" "node355.html")
+	("trace" "node230.html")
+	("*trace-output*" "node183.html")
+	("translate-logical-pathname" "node211.html")
+	("translate-pathname" "node207.html")
+	("tree-equal" "node148.html")
+	("truename" "node214.html")
+	("truncate" "node130.html")
+	("two-way-stream-input-stream" "node185.html")
+	("two-way-stream-output-stream" "node185.html")
+	("type-error" "node346.html")
+	("type-error-datum" "node346.html")
+	("type-error-expected-type" "node346.html")
+	("type-of" "node53.html")
+	("typecase" "node84.html")
+	("typep" "node72.html")
+	("unbound-variable" "node346.html")
+	("undefined-function" "node346.html")
+	("unexport" "node118.html")
+	("unintern" "node118.html")
+	("union" "node152.html")
+	("unless" "node84.html")
+	("unless" "node248.html")
+	("unread-char" "node195.html")
+	("until" "node245.html")
+	("until" "node352.html")
+	("until-if" "node352.html")
+	("untrace" "node230.html")
+	("unuse-package" "node118.html")
+	("unwind-protect" "node96.html")
+	("update-instance-for-different-class" "node311.html")
+	("update-instance-for-redefined-class" "node311.html")
+	("upgraded-array-element-type" "node54.html")
+	("upgraded-complex-part-type" "node54.html")
+	("upper-case-p" "node137.html")
+	("use-package" "node118.html")
+	("use-value" "node344.html")
+	("user-homedir-pathname" "node214.html")
+	("values" "node94.html")
+	("values-list" "node94.html")
+	("variable-information" "node102.html")
+	("vector" "node158.html")
+	("vector-pop" "node162.html")
+	("vector-push" "node162.html")
+	("vector-push-extend" "node162.html")
+	("vectorp" "node73.html")
+	("warn" "node220.html")
+	("warn" "node343.html")
+	("warning" "node346.html")
+	("when" "node84.html")
+	("when" "node248.html")
+	("while" "node245.html")
+	("wild-pathname-p" "node207.html")
+	("with" "node247.html")
+	("with-accessors" "node311.html")
+	("with-added-methods" "node311.html")
+	("with-compilation-unit" "node224.html")
+	("with-condition-restarts" "node341.html")
+	("with-hash-table-iterator" "node155.html")
+	("with-input-from-string" "node184.html")
+	("with-open-file" "node215.html")
+	("with-open-stream" "node184.html")
+	("with-output-to-string" "node184.html")
+	("with-package-iterator" "node118.html")
+	("with-simple-restart" "node341.html")
+	("with-slots" "node311.html")
+	("with-standard-io-syntax" "node193.html")
+	("write" "node198.html")
+	("write-byte" "node199.html")
+	("write-char" "node198.html")
+	("write-string" "node198.html")
+	("write-to-string" "node198.html")
+	("y-or-n-p" "node201.html")
+	("yes-or-no-p" "node201.html")
+	("zerop" "node123.html")
+	))
 
 
 (provide 'cltl2)
--- ilisp-5.12.0+cvs.2004.12.26.orig/extra/hyperspec.el
+++ ilisp-5.12.0+cvs.2004.12.26/extra/hyperspec.el
@@ -115,11 +115,10 @@ If you copy the HyperSpec to another loc
 (if common-lisp-hyperspec-symbol-table
     (let ((index-buffer (find-file-noselect common-lisp-hyperspec-symbol-table)))
       (labels ((get-one-line ()
-                 (prog1 
+                 (prog1
                      (delete* ?\n (thing-at-point 'line))
                    (forward-line))))
-        (save-excursion
-          (set-buffer index-buffer)
+        (with-current-buffer index-buffer
           (goto-char (point-min))
           (while (< (point) (point-max))
             (let* ((symbol (intern (downcase (get-one-line))
@@ -127,8 +126,8 @@ If you copy the HyperSpec to another loc
                    (relative-url (get-one-line)))
               (set symbol (list (subseq relative-url
                                         (1+ (position ?\/ relative-url :from-end t))))))))))
-  (mapcar (lambda (entry)
-            (let ((symbol (intern (car entry) common-lisp-hyperspec-symbols)))
+  (mapc #'(lambda (entry)
+	    (let ((symbol (intern (car entry) common-lisp-hyperspec-symbols)))
               (if (boundp symbol)
                   (push (cadr entry) (symbol-value symbol))
                 (set symbol (cdr entry)))))
@@ -1110,7 +1109,7 @@ If you copy the HyperSpec to another loc
             ("y-or-n-p" "f_y_or_n.htm")
             ("yes-or-no-p" "f_y_or_n.htm")
             ("zerop" "f_zerop.htm"))))
-                
+
 ;;; FORMAT character lookup by Frode Vatvedt Fjeld <frodef@acm.org> 20030902
 ;;;
 :;; adjusted for ILISP by Nikodemus Siivola 20030903
@@ -1122,10 +1121,10 @@ If you copy the HyperSpec to another loc
 
 
 (defun common-lisp-hyperspec-section-6.0 (indices)
-  (let ((string (format "%sBody/%s_" 
+  (let ((string (format "%sBody/%s_"
 			common-lisp-hyperspec-root
 			(pop indices))))
-    (concat string 
+    (concat string
 	    (mapconcat (lambda (n)
 			 (make-string 1 (+ ?a (- n 1))))
 		       indices
@@ -1133,14 +1132,14 @@ If you copy the HyperSpec to another loc
 	    ".htm")))
 
 (defun common-lisp-hyperpsec-section-4.0 (indices)
-  (let ((string (format "%sBody/sec%s_" 
+  (let ((string (format "%sBody/sec%s_"
 			common-lisp-hyperspec-root
 			(pop indices))))
     (concat string
 	    (mapconcat (lambda (n)
 			 (format "%d" n))
 		       indices
-		       "-")	    
+		       "-")
 	    ".html")))
 
 (defvar common-lisp-hyperspec-section-fun 'common-lisp-hyperspec-section-6.0)
@@ -1149,7 +1148,7 @@ If you copy the HyperSpec to another loc
   (funcall common-lisp-hyperspec-section-fun indices))
 
 (defun common-lisp-hyperspec-format (character-name)
-   (interactive 
+   (interactive
     (list (let ((char-at-point (char-to-string (char-after (point)))))
 	    (if (and char-at-point
 		     (intern-soft (upcase char-at-point)
@@ -1171,7 +1170,7 @@ If you copy the HyperSpec to another loc
 (eval-when (load eval)
   (defalias 'hyperspec-lookup-format 'common-lisp-hyperspec-format))
 
-(mapcar (lambda (entry)
+(mapc #'(lambda (entry)
 	  (let ((symbol (intern (car entry)
 				common-lisp-hyperspec-format-characters)))
 	    (if (boundp symbol)
@@ -1179,7 +1178,7 @@ If you copy the HyperSpec to another loc
 		(set symbol (cdr entry))))
 	  (when (and (= 1 (length (car entry)))
 		     (not (string-equal (car entry) (upcase (car entry)))))
-	    (let ((symbol (intern (upcase (car entry)) 
+	    (let ((symbol (intern (upcase (car entry))
 				  common-lisp-hyperspec-format-characters)))
 	      (if (boundp symbol)
 		  (pushnew (cadr entry) (symbol-value symbol) :test 'equal)
--- ilisp-5.12.0+cvs.2004.12.26.orig/find-src.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/find-src.lisp
@@ -11,8 +11,6 @@
 ;;; Please refer to the file COPYING for copyrights and licensing information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list of
 ;;; present and past contributors.
-;;;
-;;; $Id: find-src.lisp,v 1.4 2003/11/27 03:40:29 rgrjr Exp $
 
 (in-package :ilisp)
 
@@ -366,7 +364,7 @@ obsolete.  -- rgr, 4-Sep-02.]")
 ;; returns a pathname for the file the function was defined in.  if it was
 ;; not defined in some file, then nil is returned.
 ;;
-;; add-defined-functions is from hemlock/rompsite.lisp (cmucl17f), 
+;; add-defined-functions is from hemlock/rompsite.lisp (cmucl17f),
 ;; with added read-time conditionalization to work in older versions
 ;; of cmucl.  it may need a little bit more conditionalization for
 ;; some older versions of cmucl.
--- ilisp-5.12.0+cvs.2004.12.26.orig/guile-ilisp.scm
+++ ilisp-5.12.0+cvs.2004.12.26/guile-ilisp.scm
@@ -1,5 +1,5 @@
 ;;;; guile-ilisp.scm --- ILISP support functions for GUILE
-;;;; Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de> 
+;;;; Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
 ;;;
 ;;; Copyright (C) 2000, 2001, 2002, 2003, 2004 Matthias Koeppe
 ;;;
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: guile-ilisp.scm,v 1.25 2004/08/02 10:14:54 kevinrosenberg Exp $
 
 
 (define-module (guile-ilisp)
@@ -33,7 +31,7 @@
 	(save-module-excursion
 	 (lambda ()
 	   (set-current-module environment)
-	   (eval expression))))))  
+	   (eval expression))))))
 
 (define is-a-generic?
   (if (false-if-exception (eval-in-package '(use-modules (oop goops))
@@ -100,11 +98,11 @@ WITH-PROCEDURE?, include the procedure s
 				       (string-length pattern))))))
 		     (let ((eol-index (or (string-index doc #\newline start-index)
 					  (string-length doc))))
-		       (string-append 
+		       (string-append
 			"("
 			(let loop ((bol-index (+ 1 eol-index))
 				   (arglist (substring doc start-index eol-index)))
-			  (cond 
+			  (cond
 			   ((and bol-index (>= bol-index (string-length doc)))
 			    arglist)
 			   ((and (>= (string-length doc) (+ bol-index 10))
@@ -112,7 +110,7 @@ WITH-PROCEDURE?, include the procedure s
 					   "          "))
 			    (let ((eol-index (string-index doc #\newline bol-index)))
 			      (loop (and eol-index (+ 1 eol-index))
-				    (string-append arglist " " 
+				    (string-append arglist " "
 						   (substring doc (+ bol-index 10)
 							      eol-index)))))
 			   (else
@@ -136,7 +134,7 @@ WITH-PROCEDURE?, include the procedure s
 		(string-append "("
 			       (substring f-l
 					  (+ index 1)))
-		"()"))))     
+		"()"))))
      (else (string-append "CAN'T PARSE THIS DOCUMENTATION:\n"
 			  doc)))))
 
@@ -306,7 +304,7 @@ arglist only.  If EXPENSIVE?, take some
 		     (lambda ()
 		       (write-truncated obj (current-output-port) 800)))
 		   "."))))
-  
+
 
 (define-public (ilisp-print-info-message sym package)
   "Evaluate SYM in PACKAGE and print an informational message about
@@ -318,7 +316,7 @@ This procedure is invoked by the electri
 			  (eval-in-package sym
 					   (string->module package)))
 			(lambda args #f))))
-		     
+
 	(cond
 	 ((and obj
 	       (info-message sym obj #f #f))
@@ -341,7 +339,7 @@ This procedure is invoked by the electri
   (if (and (string=? (substring s 0 1) "(")
 	   (string=? (substring s (- (string-length s) 1)) ")"))
       (substring s 1 (- (string-length s) 1))
-      s))      
+      s))
 
 (define (symbol-not-present symbol package)
   (display "Symbol `")
@@ -414,7 +412,7 @@ procedure. This procedure is invoked by
 	       (map (lambda (word)
 		      (string-append (regexp-quote word) "[^-:/_]*"))
 		    (separate-fields-before-predicate word-separator?
-						      str list)))))	      
+						      str list)))))
 
 (define-public (ilisp-matching-symbols string package function? external? prefix?)
   (write (map (lambda (sym) (list (symbol->string sym)))
@@ -440,7 +438,7 @@ procedure. This procedure is invoked by
   ;; Otherwise `resolve-module' will give us a bad environment later,
   ;; which just makes trouble.
   (let ((name
-	 (eval-in-package 
+	 (eval-in-package
 	  (append sequence-of-defines
 		  '((module-name (current-module))))
 	  (string->module "(guile-user)"))))
@@ -449,7 +447,7 @@ procedure. This procedure is invoked by
       ;; This version of Guile has a module-name procedure that
       ;; returns the full module name.  Good.
       (write name))
-     (else 
+     (else
       ;; Now we have the name of the module -- but only the last
       ;; component.  We need to "parse" the sequence-of-defines
       ;; ourselves.
--- ilisp-5.12.0+cvs.2004.12.26.orig/icompile.bat
+++ ilisp-5.12.0+cvs.2004.12.26/icompile.bat
@@ -24,13 +24,13 @@ copy /B ilisp-all.elc+ilisp-cl-easy-menu
 copy /B ilisp-all.elc+ilisp-xls.elc+ilisp-chs.elc+ilisp-openmcl.elc ilisp-all.elc
 copy /B ilisp-all.elc+ilisp-ccl.elc ilisp-all.elc
 
-del ilisp-def.elc ilisp-sym.elc ilisp-inp.elc ilisp-ind.elc ilisp-prc.elc ilisp-val.elc ilisp-out.elc ilisp-mov.elc 
-del ilisp-key.elc ilisp-prn.elc ilisp-low.elc ilisp-doc.elc ilisp-ext.elc ilisp-mod.elc ilisp-dia.elc ilisp-cmt.elc 
-del ilisp-rng.elc ilisp-hnd.elc ilisp-utl.elc ilisp-cmp.elc ilisp-kil.elc ilisp-snd.elc ilisp-xfr.elc ilisp-hi.elc 
-del ilisp-aut.elc ilisp-cl.elc ilisp-cmu.elc ilisp-sbcl.elc ilisp-cl-easy-menu.elc ilisp-acl.elc ilisp-kcl.elc 
+del ilisp-def.elc ilisp-sym.elc ilisp-inp.elc ilisp-ind.elc ilisp-prc.elc ilisp-val.elc ilisp-out.elc ilisp-mov.elc
+del ilisp-key.elc ilisp-prn.elc ilisp-low.elc ilisp-doc.elc ilisp-ext.elc ilisp-mod.elc ilisp-dia.elc ilisp-cmt.elc
+del ilisp-rng.elc ilisp-hnd.elc ilisp-utl.elc ilisp-cmp.elc ilisp-kil.elc ilisp-snd.elc ilisp-xfr.elc ilisp-hi.elc
+del ilisp-aut.elc ilisp-cl.elc ilisp-cmu.elc ilisp-sbcl.elc ilisp-cl-easy-menu.elc ilisp-acl.elc ilisp-kcl.elc
 del ilisp-luc.elc ilisp-sch.elc ilisp-hlw.elc ilisp-xls.elc ilisp-chs.elc ilisp-openmcl.elc ilisp-ccl.elc
 
 :notall
 cd docs
 %EMACS% -batch -q -no-site-file ilisp.texi -l texinfmt -f texinfo-format-buffer -f save-buffer
-cd .. 
+cd ..
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilcompat.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilcompat.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilcompat.el,v 1.5 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 (require 'cl)
 
@@ -27,9 +25,18 @@
 	 'fsf-20)
 	((string-match "^21" emacs-version)
 	 'fsf-21)
+	((string-match "^22" emacs-version)
+	 'fsf-22)
+	((string-match "^23" emacs-version)
+	 'fsf-23)
+	((string-match "^24" emacs-version)
+	 'fsf-24)
+	((string-match "^25" emacs-version)
+	 'fsf-25)
 	(t 'fsf-18))
   "The major version of (X)Emacs ILISP is running in.
-Declared as '(member fsf-19 fsf-19 fsf-20 fsf-21 lucid-19 lucid-19-new xemacs).
+Declared as '(member fsf-19 fsf-19 fsf-20 fsf-21 fsf-22 fsf-23 fsf-24
+fsf-25 lucid-19 lucid-19-new xemacs).
 Set in ilcompat.el.")
 
 
@@ -55,6 +62,10 @@ Set in ilcompat.el.")
       ((eq +ilisp-emacs-version-id+ 'fsf-19) (load "ilfsf19"))
       ((eq +ilisp-emacs-version-id+ 'fsf-20) (load "ilfsf20"))
       ((eq +ilisp-emacs-version-id+ 'fsf-21) (load "ilfsf21"))
+      ((eq +ilisp-emacs-version-id+ 'fsf-22) (load "ilfsf22"))
+      ((eq +ilisp-emacs-version-id+ 'fsf-23) (load "ilfsf23"))
+      ((eq +ilisp-emacs-version-id+ 'fsf-24) (load "ilfsf24"))
+      ((eq +ilisp-emacs-version-id+ 'fsf-25) (load "ilfsf25"))
       )
 
 
@@ -87,8 +98,8 @@ With optional argument N, returns Nth-to
        ;; hope that buffer-substring works okay on this platform ;-)
        (defun buffer-substring-no-properties (start end)
 	 (buffer-substring start end))))
-      
-  
+
+
 ;;; Epilogue
 
 (provide 'ilcompat)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ild.el
+++ ilisp-5.12.0+cvs.2004.12.26/ild.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ild.el,v 1.7 2003/05/21 15:12:08 bill_clementson Exp $
 
 ;;; Keystroke c-u? What it does
 ;;; ---------------------------------------------------------
@@ -34,6 +32,7 @@
 ;;; 19990615 Marco Antoniotti
 
 ;;; (require 'ilisp)
+(require 'cl)
 (require 'ilisp-key)
 
 (deflocal ild-abort-string nil)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilfsf18.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf18.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilfsf18.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;============================================================================
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilfsf19.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf19.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilfsf19.el,v 1.3 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;============================================================================
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilfsf20.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf20.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilfsf20.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;============================================================================
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilfsf21.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf21.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilfsf21.el,v 1.1 2002/05/23 15:59:06 marcoxa Exp $
 
 
 ;;;============================================================================
--- /dev/null
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf22.el
@@ -0,0 +1,56 @@
+;;; -*- Mode: Emacs-Lisp -*-
+
+;;; ilfsf22.el --
+;;;
+;;; This file is part of ILISP.
+;;; Please refer to the file COPYING for copyrights and licensing
+;;; information.
+;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
+;;; of present and past contributors.
+
+;;;============================================================================
+;;; Functions
+
+(defun ilisp-get-input-ring ()
+  "Use instead of get-input-ring coming-input-ring or input-ring."
+  comint-input-ring)
+
+
+(defun ilisp-ring-insert (ring input)
+  (ring-insert ring input))
+
+
+(defun ilisp-temp-buffer-show-function-symbol ()
+  'temp-buffer-show-function)
+
+
+(defun set-ilisp-temp-buffer-show-function (val)
+  (setq temp-buffer-show-function val))
+
+
+(defun ilisp-temp-buffer-show-function ()
+  temp-buffer-show-function)
+
+
+(defun ilisp-input-ring-index ()
+  comint-input-ring-index)
+
+
+(defun set-ilisp-input-ring-index (n)
+  (setq comint-input-ring-index n))
+
+
+(defun ilisp-input-ring-size ()
+  comint-input-ring-size)
+
+
+(defun set-ilisp-input-ring-size (n)
+  (setq comint-input-ring-size n))
+
+
+;;;============================================================================
+;;; Epilogue
+
+(provide 'compat-fsf-22)
+
+;;; end of file -- ilfsf22.el --
--- /dev/null
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf23.el
@@ -0,0 +1,56 @@
+;;; -*- Mode: Emacs-Lisp -*-
+
+;;; ilfsf23.el --
+;;;
+;;; This file is part of ILISP.
+;;; Please refer to the file COPYING for copyrights and licensing
+;;; information.
+;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
+;;; of present and past contributors.
+
+;;;============================================================================
+;;; Functions
+
+(defun ilisp-get-input-ring ()
+  "Use instead of get-input-ring coming-input-ring or input-ring."
+  comint-input-ring)
+
+
+(defun ilisp-ring-insert (ring input)
+  (ring-insert ring input))
+
+
+(defun ilisp-temp-buffer-show-function-symbol ()
+  'temp-buffer-show-function)
+
+
+(defun set-ilisp-temp-buffer-show-function (val)
+  (setq temp-buffer-show-function val))
+
+
+(defun ilisp-temp-buffer-show-function ()
+  temp-buffer-show-function)
+
+
+(defun ilisp-input-ring-index ()
+  comint-input-ring-index)
+
+
+(defun set-ilisp-input-ring-index (n)
+  (setq comint-input-ring-index n))
+
+
+(defun ilisp-input-ring-size ()
+  comint-input-ring-size)
+
+
+(defun set-ilisp-input-ring-size (n)
+  (setq comint-input-ring-size n))
+
+
+;;;============================================================================
+;;; Epilogue
+
+(provide 'compat-fsf-23)
+
+;;; end of file -- ilfsf23.el --
--- /dev/null
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf24.el
@@ -0,0 +1,56 @@
+;;; -*- Mode: Emacs-Lisp -*-
+
+;;; ilfsf24.el --
+;;;
+;;; This file is part of ILISP.
+;;; Please refer to the file COPYING for copyrights and licensing
+;;; information.
+;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
+;;; of present and past contributors.
+
+;;;============================================================================
+;;; Functions
+
+(defun ilisp-get-input-ring ()
+  "Use instead of get-input-ring coming-input-ring or input-ring."
+  comint-input-ring)
+
+
+(defun ilisp-ring-insert (ring input)
+  (ring-insert ring input))
+
+
+(defun ilisp-temp-buffer-show-function-symbol ()
+  'temp-buffer-show-function)
+
+
+(defun set-ilisp-temp-buffer-show-function (val)
+  (setq temp-buffer-show-function val))
+
+
+(defun ilisp-temp-buffer-show-function ()
+  temp-buffer-show-function)
+
+
+(defun ilisp-input-ring-index ()
+  comint-input-ring-index)
+
+
+(defun set-ilisp-input-ring-index (n)
+  (setq comint-input-ring-index n))
+
+
+(defun ilisp-input-ring-size ()
+  comint-input-ring-size)
+
+
+(defun set-ilisp-input-ring-size (n)
+  (setq comint-input-ring-size n))
+
+
+;;;============================================================================
+;;; Epilogue
+
+(provide 'compat-fsf-24)
+
+;;; end of file -- ilfsf24.el --
--- /dev/null
+++ ilisp-5.12.0+cvs.2004.12.26/ilfsf25.el
@@ -0,0 +1,56 @@
+;;; -*- Mode: Emacs-Lisp -*-
+
+;;; ilfsf25.el --
+;;;
+;;; This file is part of ILISP.
+;;; Please refer to the file COPYING for copyrights and licensing
+;;; information.
+;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
+;;; of present and past contributors.
+
+;;;============================================================================
+;;; Functions
+
+(defun ilisp-get-input-ring ()
+  "Use instead of get-input-ring coming-input-ring or input-ring."
+  comint-input-ring)
+
+
+(defun ilisp-ring-insert (ring input)
+  (ring-insert ring input))
+
+
+(defun ilisp-temp-buffer-show-function-symbol ()
+  'temp-buffer-show-function)
+
+
+(defun set-ilisp-temp-buffer-show-function (val)
+  (setq temp-buffer-show-function val))
+
+
+(defun ilisp-temp-buffer-show-function ()
+  temp-buffer-show-function)
+
+
+(defun ilisp-input-ring-index ()
+  comint-input-ring-index)
+
+
+(defun set-ilisp-input-ring-index (n)
+  (setq comint-input-ring-index n))
+
+
+(defun ilisp-input-ring-size ()
+  comint-input-ring-size)
+
+
+(defun set-ilisp-input-ring-size (n)
+  (setq comint-input-ring-size n))
+
+
+;;;============================================================================
+;;; Epilogue
+
+(provide 'compat-fsf-25)
+
+;;; end of file -- ilfsf25.el --
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-acl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-acl.el
@@ -12,8 +12,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-acl.el,v 1.4 2003/04/02 01:56:20 rgrjr Exp $
 
 
 ;;;%%%Allegro
@@ -22,13 +20,13 @@
 (defun allegro-check-prompt (old new)
   "Compare the break level printed at the beginning of the prompt."
   (let* ((old-level (if (and old (eq 1 (string-match "[0-9]+" old)))
- 			(string-to-int (substring old 1))
- 			0))
- 	 (new-level (if (eq 1 (string-match "[0-9]+" new))
- 			(string-to-int (substring new 1))
- 			0)))
+			(string-to-number (substring old 1))
+		      0))
+	 (new-level (if (eq 1 (string-match "[0-9]+" new))
+			(string-to-number (substring new 1))
+		      0)))
     (<= new-level old-level)))
- 
+
 ;;;
 (defdialect allegro "Allegro Common LISP"
   common-lisp
@@ -38,7 +36,7 @@
 	ilisp-reset ":reset"
 	comint-continue ":cont"
 	comint-interrupt-regexp  "Error: [^\n]* interrupt\)")
-  (setq comint-prompt-status 
+  (setq comint-prompt-status
 	(function (lambda (old line)
 		    (comint-prompt-status old line 'allegro-check-prompt))))
   ;; <cl> or package> at top-level
@@ -49,7 +47,7 @@
   ;; Patch by kpc 94/8/30: allow prompts that look like this:
   ;; USER(23): USER(23):
   (setq comint-prompt-regexp "^\\(\\(\\[[0-9]+i?c?\\] \\|\\[step\\] \\)?\\(<?[-A-Za-z]* ?[0-9]*?>\\|[-A-Za-z0-9]+([0-9]+):\\) \\)+")
-   
+
   (setq ilisp-error-regexp
 	"\\(ILISP:[^\"]*\\)\\|\\(Error:[^\n]*\\)\\|\\(Break:[^\n]*\\)")
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-aut.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-aut.el
@@ -8,32 +8,30 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-aut.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
-(autoload 'lisp-directory "ilisp-src" 
+(autoload 'lisp-directory "ilisp-src"
 	  "Select directories to search." t)
 (autoload 'next-definition-lisp "ilisp-src"
 	  "Edit the next definition." t)
-(autoload 'edit-definitions-lisp "ilisp-src" 
+(autoload 'edit-definitions-lisp "ilisp-src"
 	  "Edit definitions." t)
-(autoload 'search-lisp "ilisp-src" 
+(autoload 'search-lisp "ilisp-src"
 	  "Search for pattern in source files." t)
-(autoload 'replace-lisp "ilisp-src" 
+(autoload 'replace-lisp "ilisp-src"
 	  "Relace pattern in source files." t)
 (autoload 'who-calls-lisp "ilisp-src"
 	  "Show callers of a function." t)
-(autoload 'next-caller-lisp "ilisp-src" 
+(autoload 'next-caller-lisp "ilisp-src"
 	  "Edit the next caller of a function." t)
-(autoload 'edit-callers-lisp "ilisp-src" 
+(autoload 'edit-callers-lisp "ilisp-src"
 	  "Edit the callers of a function." t)
 
 (autoload 'ilisp-bug "ilisp-bug"
 	  "Send a mail message about a bug." t)
 
 ;;;%%Changed definitions
-(autoload 'mark-change-lisp "ilisp-bat" 
+(autoload 'mark-change-lisp "ilisp-bat"
 	  "Mark the current defun as changed." t)
 (autoload 'list-changes-lisp "ilisp-bat"
 	  "List the current LISP changes." t)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-bat.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-bat.el
@@ -9,8 +9,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-bat.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (defun mark-change-lisp (arg)
   "Mark the current defun as being changed.
@@ -66,7 +64,7 @@ it.  With a prefix, unmark."
 ;;;
 (defun lisp-change-handler (&rest args)
   "Handle an error during a batch process by keeping the change on the
-list and passing it on to the normal error handler." 
+list and passing it on to the normal error handler."
   (let ((change (car ilisp-pending-changes)))
     (when (and comint-errorp
 	       (not (member* change lisp-changes
@@ -88,7 +86,7 @@ the change list will not be changed."
 	  (lisp-wait-p nil))
       (setq ilisp-pending-changes (nconc ilisp-pending-changes changes)
 	    current-prefix-arg nil)	;Prevent buffer insertion
-      (if comint-queue-emptied 
+      (if comint-queue-emptied
 	  (save-excursion
 	    (setq comint-queue-emptied nil)
 	    (set-buffer (get-buffer-create "*Errors*"))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-bug.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-bug.el
@@ -8,16 +8,14 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-bug.el,v 1.3 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 
 (defun ilisp-bug ()
   "Generate an ilisp bug report."
   (interactive)
-  (let ((buffer 
-	 (if (y-or-n-p 
-	      (format "Is %s the buffer where the error occurred? " 
+  (let ((buffer
+	 (if (y-or-n-p
+	      (format "Is %s the buffer where the error occurred? "
 		      (buffer-name (current-buffer))))
 	     (current-buffer))))
     (if (or (not buffer)
@@ -39,8 +37,8 @@
 					; 19990908 for details.
 	    )
 	(progn
-	  (message 
-	   (if buffer 
+	  (message
+	   (if buffer
 	       "Can't send bug report until mail buffer is empty."
 	       "Switch to the buffer where the error occurred."))
 	  (beep))
@@ -51,7 +49,7 @@
       (insert "======= Emacs state below: for office use only =======\n")
       (forward-line 1)
       (insert (emacs-version))
-      (insert 
+      (insert
        (if (string-match "XEmacs" emacs-version)
 	   (format "\nWindow System: %s" (console-type) ) ;; XEmacs has no window-system-version
 	 (format "\nWindow System: %s %s" window-system window-system-version) ) )
@@ -90,14 +88,14 @@ Code: %s"
 			      (string-match match (format "%s" symbol))
 			      (not (eq symbol 'ilisp-documentation)))
 			 (let ((val (save-excursion
-				      (set-buffer val-buffer) 
+				      (set-buffer val-buffer)
 				      (symbol-value symbol))))
 			   (if val
 			       (insert (format "\n%s: %s" symbol val))))))))
 	(insert (format "\nLossage: %s" (key-description (recent-keys))))
 	(if (and (or (memq mode lisp-source-modes)
 		     (memq mode ilisp-modes))
-		 (ilisp-buffer) 
+		 (ilisp-buffer)
 		 (memq 'clisp (ilisp-value 'ilisp-dialect t))
 		 (not (cdr (ilisp-value 'comint-send-queue))))
 	    (progn
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-ccl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-ccl.el
@@ -22,7 +22,7 @@
 ;;; COPYING.
 
 ;;;
-;;; Dialect definition for Corman Common Lisp by Roger Corman 
+;;; Dialect definition for Corman Common Lisp by Roger Corman
 ;;; Since 1.4 (fixed with 1.41) there is a debugger with corman.
 
 (require 'cl)
@@ -32,14 +32,14 @@
 ;;; Notes:
 ;;; 2000-09-08 16:01:20 rurban
 ;;;   created, based on chs and acl
-;;; Problems: 
+;;; Problems:
 ;;;  * win32 pathdelims get lost on C-c l, but a manual load works.
-;;;  * subsequent invocations load the next lisp (clisp in my case) 
+;;;  * subsequent invocations load the next lisp (clisp in my case)
 ;;;    instead of corman.
 
 ; Hint:
-; Best is to load cl-ilisp.lisp, ilisp-pkg.lisp and cormanlisp.lisp 
-; with all required corman patches into cormanlisp at first and save 
+; Best is to load cl-ilisp.lisp, ilisp-pkg.lisp and cormanlisp.lisp
+; with all required corman patches into cormanlisp at first and save
 ; the image.
 ;
 ; On cygwin (X)Emacs we have to convert the filenames passed to the lisp.
@@ -54,7 +54,7 @@
 ;   http://xarch.tu-graz.ac.at/autocad/lisp/cormanlisp/ccl-1.5-patches.zip
 
 ; Todo: custom vars for these.
-; We really should query the registry. The dll is registered there, 
+; We really should query the registry. The dll is registered there,
 ; so we would also know the version.
 ; A XEmacs dynamic w32reg emodule is almost ready:
 ;   http://xarch.tu-graz.ac.at/autocad/lsp_tools/ntemacs/emodules/w32reg/w32reg.c
@@ -66,7 +66,7 @@
 
 (unless (boundp 'cormanlisp-program)
   (setq cormanlisp-program
-	(concatenate 'string *cormanlisp-dir* "clconsole.exe" 
+	(concatenate 'string *cormanlisp-dir* "clconsole.exe"
 		     " -image " *cormanlisp-dir* "CormanLisp.img")))
 
 ;(defvar ilisp-cormanlisp-init-file
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-chs.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-chs.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-chs.el,v 1.8 2003/05/30 16:39:47 bill_clementson Exp $
 
 (require 'cl)
 
@@ -40,7 +38,7 @@
 		      (string-match "Break" old)
 		      (string-match "[0-9]+" old)))
 	 (old-level (if was-in
- 			(string-to-int
+ 			(string-to-number
 			 (substring old (match-beginning 0)
 				    (match-end 0)))
 		      0))
@@ -48,7 +46,7 @@
 		 (string-match "Break" new)
 		 (string-match "[0-9]+" new)))
 	 (new-level (if is-in
- 			(string-to-int
+ 			(string-to-number
 			 (substring new (match-beginning 0)
 				    (match-end 0)))
 		      0)))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-cl-easy-menu.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-cl-easy-menu.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-cl-easy-menu.el,v 1.8 2003/05/29 19:53:24 bill_clementson Exp $
 
 ;; Author: Holger Schauer <Holger.Schauer@gmd.de>
 ;; Maintainer: Holger.Schauer@gmd.de
@@ -37,17 +35,17 @@
 
 ;;; Commentary:
 
-;; This file and it's extensions have been named ilisp-xemacs-menu before. 
+;; This file and it's extensions have been named ilisp-xemacs-menu before.
 ;; As it is ensured now to work with any Emacs with easymenu the file
-;; itself and all relevant names (of commands and variables) are renamed. 
+;; itself and all relevant names (of commands and variables) are renamed.
 
-;; Use this file as an extension to Ilisp 5.7/5.8 
+;; Use this file as an extension to Ilisp 5.7/5.8
 ;; (seee http://www.cs.cmu.edu/~campbell/ilisp/index.html)
 ;; Put it in a place where (X)Emacs can find it and augment your
 ;; .emacs like the following to use it.
 ;; (load-library "ilisp-easy-menu")
 ;; This needs to be loaded prior to Ilisp !
-;; This should give you the menu in any source code buffer and any inferior 
+;; This should give you the menu in any source code buffer and any inferior
 ;; ilisp buffer. Be careful: the menu is initialized with add-hook
 ;; on ilisp-mode-hook and lisp-mode-hook, so if you setq these two
 ;; hooks afterwards you won't get the menu.
@@ -67,10 +65,11 @@
 ;127c127,129
 ;<   (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
 ;---
-;>   (if (and (not 
+;>   (if (and (not
 ;> 	    (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
 ;> 	   (not (featurep 'ilisp-easy-menu)))
 
+(require 'cl)
 (require 'easymenu)
 
 (eval-when (load compile eval)
@@ -124,9 +123,9 @@
      ;; [ "Indent for comment" lisp-indent-for-comment t ]
      [ "Comment region" comment-region-lisp t ]
      "--"
-     [ "Search in Files" search-lisp t ] 
+     [ "Search in Files" search-lisp t ]
      "--"
-     [ "Kill sexp" kill-sexp t ] 
+     [ "Kill sexp" kill-sexp t ]
      [ "Kill last sexp" backward-kill-sexp t ]
      "--"
      [ "Macroexpand" macroexpand-lisp t ]
@@ -143,7 +142,7 @@
      "--"
      ;; With which var can I test if 'fi' is really loaded? Can I just
      ;; use FEATUREP?
-     [ "Clman-apropos" fi:clman-apropos nil ] 
+     [ "Clman-apropos" fi:clman-apropos nil ]
      [ "CLtL2"
        cltl2-lookup
       ,ilisp-*use-cltl2-interface-p* ]
@@ -164,7 +163,7 @@
      [ "Select Ilisp" select-ilisp t ]
      [ "Switch to lisp" switch-to-lisp t ]
      [ "Abort commands" abort-commands-lisp t ]
-     [ "Status of Lisp" status-lisp t ]  
+     [ "Status of Lisp" status-lisp t ]
      "--"
      [ "Mark change" mark-change-lisp t ]
      [ "List changes" list-changes-lisp t ]
@@ -216,9 +215,9 @@
 	    menu (append (butlast menu (- (length menu) i))
 			 (list what)
 			 (nthcdr i menu))))))
-  
+
 (if ilisp-*enable-ild-support-p*
-  (setq ilisp-cl-easy-menu 
+  (setq ilisp-cl-easy-menu
 	(ilisp-insert-menu ilisp-cl-easy-menu "Misc" ilisp-ild-easy-menu)))
 
 ;;; ilisp-update-menu
@@ -232,7 +231,7 @@
 
 (defun ilisp-redefine-menu ()
   (easy-menu-remove ilisp-cl-easy-menu)
-  (easy-menu-define menubar-ilisp ilisp-mode-map 
+  (easy-menu-define menubar-ilisp ilisp-mode-map
 		    "Ilisp commands"
 		    ilisp-cl-easy-menu)
   (easy-menu-add ilisp-cl-easy-menu 'ilisp-mode-map)
@@ -249,23 +248,23 @@
 ;;; this, but it should.
 
 (add-hook 'ilisp-mode-hook
-	  (lambda () 
-	    (when (featurep 'easymenu)       
+	  (lambda ()
+	    (when (featurep 'easymenu)
 	      (easy-menu-define menubar-ilisp
-				ilisp-mode-map 
+				ilisp-mode-map
 				"Ilisp commands"
-				ilisp-cl-easy-menu) 
+				ilisp-cl-easy-menu)
 	      (easy-menu-add ilisp-cl-easy-menu 'ilisp-mode-map)
 	      )))
-	 
+
 
 (add-hook 'lisp-mode-hook
-	  (lambda () 
-	    (when (featurep 'easymenu)       
+	  (lambda ()
+	    (when (featurep 'easymenu)
 	      (easy-menu-define menubar-lisp-ilisp
-				lisp-mode-map 
+				lisp-mode-map
 				"lisp commands"
-				ilisp-cl-easy-menu) 
+				ilisp-cl-easy-menu)
 	      (when (boundp 'lisp-menu)
 		(easy-menu-remove lisp-menu))
 	      (easy-menu-add ilisp-cl-easy-menu 'lisp-mode-map)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-cl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-cl.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-cl.el,v 1.10 2002/09/24 21:39:53 anisotropy9 Exp $
 
 (defvar ilisp-cl-ilisp-package-file "ilisp-pkg.lisp")
 
@@ -27,7 +25,7 @@
 
 (defdialect common-lisp "Common LISP"
   ilisp
-  (setq ilisp-load-or-send-command 
+  (setq ilisp-load-or-send-command
 	"(or (and (load \"%s\" :if-does-not-exist nil) t)
              (and (load \"%s\" :if-does-not-exist nil) t))")
 
@@ -57,7 +55,7 @@
 
 	ilisp-in-package-command-string
 	"in-package"
-         
+
 	ilisp-defpackage-command-string
 	"defpackage"
 
@@ -88,7 +86,7 @@
 	ilisp-defvar-regexp
 	"(defvar[ \t\n]")
 
-  (setq ilisp-defvar-command 
+  (setq ilisp-defvar-command
 	"(ilisp:ilisp-eval \"(let ((form '%s)) (progn (makunbound (second form)) (eval form)))\" \"%s\" \"%s\")")
 
   (setq ilisp-compile-command
@@ -112,18 +110,18 @@
   (setq ilisp-documentation-command
 	"(ilisp:ilisp-documentation \"%s\" \"%s\" \"%s\")")
 
-  (setq ilisp-macroexpand-1-command 
+  (setq ilisp-macroexpand-1-command
 	"(ilisp:ilisp-macroexpand-1 \"%s\" \"%s\")")
 
   (setq ilisp-macroexpand-command
 	"(ilisp:ilisp-macroexpand \"%s\" \"%s\")")
 
-  (setq ilisp-complete-command 
+  (setq ilisp-complete-command
 	"(ilisp:ilisp-matching-symbols \"%s\" \"%s\" %s %s %s)")
 
   (setq ilisp-locator 'lisp-locate-clisp)
 
-  (setq ilisp-source-types 
+  (setq ilisp-source-types
 	'(("function") ("macro") ("variable")
 	  ("structure") ("type")
 	  ("setf") ("class")
@@ -157,7 +155,7 @@
   (setq ilisp-load-command
 	"(load \"%s\")")
 
-  (setq ilisp-compile-file-command 
+  (setq ilisp-compile-file-command
 	"(ilisp:ilisp-compile-file \"%s\" \"%s\")")
 
   (setq ilisp-print-info-message-command
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-cmp.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-cmp.el
@@ -4,29 +4,27 @@
 ;;; ILISP completion
 ;;; The basic idea behind the completion stuff is to use as much of
 ;;; the standard Emacs stuff as possible.  The extensions here go out
-;;; to the inferior LISP to complete symbols if necessary.  
+;;; to the inferior LISP to complete symbols if necessary.
 ;;;
 ;;; This file is part of ILISP.
 ;;; Please refer to the file COPYING for copyrights and licensing
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-cmp.el,v 1.11 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 (defun ilisp-display-choices (symbol choices)
   "Display the possible choices for SYMBOL in alist CHOICES."
   (with-output-to-temp-buffer "*Completions*"
     (display-completion-list
-     (sort 
+     (sort
       (all-completions (lisp-symbol-name symbol) choices)
       'string-lessp))))
 
 ;;;%%ilisp-can-complete
 (defun ilisp-can-complete (symbol function-p)
   "Return T if ilisp completion can complete SYMBOL from the current table."
-  (and ilisp-original 
-       (string= (lisp-symbol-package ilisp-original) 
+  (and ilisp-original
+       (string= (lisp-symbol-package ilisp-original)
 		(lisp-symbol-package symbol))
        (string= (lisp-symbol-delimiter ilisp-original)
 		(lisp-symbol-delimiter symbol))
@@ -41,14 +39,14 @@ The type of the result is a list.  If FU
 with function bindings will be considered.  If no package is specified
 the buffer package will be used."
   (let* ((choices-string
-	  (ilisp-send 
-	   (format  (ilisp-value 'ilisp-complete-command) 
+	  (ilisp-send
+	   (format  (ilisp-value 'ilisp-complete-command)
 		    (lisp-symbol-name symbol) (lisp-symbol-package symbol)
 		    function-p
 		    (string= (lisp-symbol-delimiter symbol) ":")
 		    ilisp-*prefix-match*)
 	   (if (not ilisp-complete)
-	       (concat "Complete " 
+	       (concat "Complete "
 		       (if function-p "function ")
 		       (lisp-buffer-symbol symbol)))
 	   'complete))
@@ -69,7 +67,7 @@ the buffer package will be used."
 (defun ilisp-completion-table (symbol function-p)
   "Return the completion table for SYMBOL trying to use the current one.
 If FUNCTION-P is T, only symbols with function cells will be returned."
-  (if (ilisp-can-complete symbol function-p) 
+  (if (ilisp-can-complete symbol function-p)
       ilisp-original-table
       (ilisp-complete symbol function-p)))
 
@@ -86,7 +84,7 @@ If FUNCTION-P is T, only symbols with fu
 (defun ilisp-minibuffer-prompt-end ()
   (if (fboundp 'minibuffer-prompt-end)
       (minibuffer-prompt-end)
-    (point-min)))	       
+    (point-min)))
 
 ;;;
 (defun ilisp-current-choice ()
@@ -98,9 +96,9 @@ be the ilisp-table."
       (progn
 	(let* ((symbol-info (lisp-previous-symbol))
 	       (symbol (car symbol-info)))
-	  (setq minibuffer-completion-table 
+	  (setq minibuffer-completion-table
 		(ilisp-completion-table symbol ilisp-completion-function-p)))
-	(save-excursion 
+	(save-excursion
 	  (skip-chars-backward "^: \(")
 	  (setq ilisp-mini-prefix (buffer-substring-no-properties (ilisp-minibuffer-prompt-end) (point)))
 	  (delete-region (ilisp-minibuffer-prompt-end) (point)))
@@ -116,7 +114,7 @@ be the ilisp-table."
 (defun ilisp-completion-help ()
   "Inferior LISP minibuffer completion help."
   (interactive)
-  (ilisp-current-choice) 
+  (ilisp-current-choice)
   (funcall ilisp-completion-help)
   (ilisp-restore-prefix))
 
@@ -146,14 +144,14 @@ be the ilisp-table."
 (defun ilisp-completion-paren ()
   "Only allow a paren if ilisp-paren is T."
   (interactive)
-  (if ilisp-paren 
+  (if ilisp-paren
       (if (or (eq last-input-char ?\() (eq (char-after (ilisp-minibuffer-prompt-end)) ?\())
 	  (insert last-input-char)
 	  (beep))
       (beep)))
-      
-;;; 
-(defvar ilisp-completion-exit 
+
+;;;
+(defvar ilisp-completion-exit
   (lookup-key minibuffer-local-must-match-map "\n"))
 (defun ilisp-completion-exit ()
   "Inferior LISP completion complete and exit."
@@ -183,7 +181,7 @@ Return (SYMBOL LCS-SYMBOL CHOICES UNIQUE
 	   (list symbol symbol (all-completions name table) nil))
 	  (choice			; New LCS
 	   (let ((symbol
-		  (lisp-symbol (lisp-symbol-package symbol) 
+		  (lisp-symbol (lisp-symbol-package symbol)
 			       (lisp-symbol-delimiter symbol)
 			       choice)))
 	     (list symbol symbol (all-completions choice table) nil)))
@@ -315,15 +313,15 @@ internal and exported symbols is conside
 	      (error "Nothing to complete"))
 	    (let* ((symbol (car symbol-info))
 		   (name (lisp-symbol-name symbol))
-		   (choice (ilisp-completer 
-			    symbol 
+		   (choice (ilisp-completer
+			    symbol
 			   (if (not mode) (car (cdr symbol-info)))))
 		   (match (lisp-buffer-symbol (car choice)))
 		   (lcs (lisp-buffer-symbol (car (cdr choice))))
 		   (choices (car (cdr (cdr choice))))
 		   (unique (car (cdr (cdr (cdr choice))))))
 	      (skip-chars-backward " \t\n")
-	      (completer-goto match lcs choices unique 
+	      (completer-goto match lcs choices unique
 			      (ilisp-value 'ilisp-symbol-delimiters)
 			      completer-words))))
 	(message "Completed"))))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-cmt.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-cmt.el
@@ -8,12 +8,10 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-cmt.el,v 1.3 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 
 ;;;%Process interface
-;;;%%Comint 
+;;;%%Comint
 (defun ilisp-get-old-input ()
   "Snarf the sexp starting at the nearest previous prompt, or NIL if none."
   (save-excursion
@@ -58,7 +56,7 @@ for more information."
   (if ilisp-complete
       (exit-minibuffer)
       (let (input)
-	(if (and (= (point) (point-max)) 
+	(if (and (= (point) (point-max))
 		 (memq major-mode ilisp-modes)
 		 (setq input (ilisp-get-old-input)))
 	    (let ((process (ilisp-process))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-cmu.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-cmu.el
@@ -9,10 +9,8 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-cmu.el,v 1.6 2003/04/02 01:56:20 rgrjr Exp $
 
-(defvar cmulisp-source-directory-regexp 
+(defvar cmulisp-source-directory-regexp
   "\\/afs\\/cs\\.cmu\\.edu\\/project\\/clisp\\/src\\/[0-9]*\\/"
   "*Regexp to match cmulisp source code directory.")
 
@@ -45,13 +43,13 @@
   (ilisp-load-init 'new-edit-definitions "find-src")
   (if cmulisp-local-source-directory
       (setq ilisp-source-directory-fixup-alist
-	    (list 
+	    (list
 	     (cons cmulisp-source-directory-regexp
 		   cmulisp-local-source-directory)))
     (message "cmulisp-local-source-directory not set."))
   (setq comint-prompt-regexp "^\\([0-9]+\\]+\\|\\*\\|[-a-zA-Z0-9]*\\[[0-9]+\\]:\\) "
 	ilisp-trace-command "(ilisp:cmulisp-trace \"%s\" \"%s\" \"%s\")"
-	comint-prompt-status 
+	comint-prompt-status
 	(function (lambda (old line)
 		    (comint-prompt-status old line 'cmulisp-check-prompt)))
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-def.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-def.el
@@ -8,12 +8,10 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-def.el,v 1.20 2002/09/21 03:00:07 rgrjr Exp $
 
 ;;;%Variables
 ;;;%%Deflocal
-(defvar ilisp-locals '(comint-prompt-regexp 
+(defvar ilisp-locals '(comint-prompt-regexp
 		       input-ring-size
 		       comint-get-old-input
 		       comint-input-sentinel
@@ -43,8 +41,8 @@
 ;;;
 (defmacro deflocal (variable default &optional documentation)
   "Define an ilisp local variable."
-  (` (progn (lisp-deflocal '(, variable))
-	    (defvar (, variable) (, default) (, documentation)))))
+  `(progn (lisp-deflocal ',variable)
+	  (defvar ,variable ,default ,documentation)))
 
 ;;;%%Simple customization
 
@@ -63,7 +61,7 @@ a common file system, the interface file
 instead.  The value of this variable is set from DIALECT-program, or
 inherited from a less specific dialect if DIALECT-program is nil.")
 
-(defvar ilisp-motd 
+(defvar ilisp-motd
   "ILISP V%s  Use M-x ilisp-bug for problems and suggestions."
   "*Message of the day format string for ILISP given VERSION. To
 prevent any message from being printed, set this to nil.")
@@ -101,7 +99,7 @@ way more appropriate for ilisp."
   ;; ready for the future by specifying a group above.
   )
 
-(defvar lisp-show-status t 
+(defvar lisp-show-status t
   "*Set to nil to stop showing process status in lisp-mode buffers.")
 
 (defvar ilisp-*prefix-match* nil
@@ -368,7 +366,7 @@ compile-file-lisp. Used by these command
 By default the file will be loaded from the ilisp-directory.")
 
 ;;; This is useful to have a clause in ilisp code like:
-;;; (if (memq 'allegro (ilisp-value 'ilisp-dialect)) 
+;;; (if (memq 'allegro (ilisp-value 'ilisp-dialect))
 ;;;     allegro-code
 ;;;     normal-code)
 (deflocal ilisp-dialect nil
@@ -399,7 +397,7 @@ By default the file will be loaded from
 
 (defvar ilisp-paren nil "T if paren is allowed in ilisp readers.")
 
-(defvar ilisp-completion-package nil 
+(defvar ilisp-completion-package nil
   "Package of buffer requesting completion.")
 
 (defvar ilisp-completion-function-p nil
@@ -424,7 +422,7 @@ By default the file will be loaded from
 
 (defvar lisp-buffer-package nil "T if in lisp-buffer-package.")
 
-(defvar lisp-dont-cache-package nil 
+(defvar lisp-dont-cache-package nil
   "If Non-Nil then refind the most recent in-package each time.")
 
 ;;;%Globals from ilisp-ext.el
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-dia.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-dia.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-dia.el,v 1.7 2002/01/25 11:48:33 mkoeppe Exp $
 
 
 ;;;%%CUSTOMIZING DIALECTS
@@ -102,7 +100,7 @@
 		   buffer))
   (funcall setup buffer)
   (setq ilisp-program
-	(or program 
+	(or program
 	    (if current-prefix-arg
 		(lisp-read-program "Program: " ilisp-program)
 		ilisp-program)))
@@ -120,27 +118,26 @@ inferior LISP.  PARENT is the name of th
 	(hook (read (format "%s-hook" dialect)))
 	(program (read (format "%s-program" dialect)))
 	(dialects (format "%s" dialect)))
-    (`
-     (progn
-       (defvar (, hook) nil (, (format "*Inferior %s hook." full-name)))
-       (defvar (, program) nil
-	 (, (format "*Inferior %s default program." full-name)))
-       (defun (, setup) (buffer)
-	 (, (format "Set up for interacting with %s." full-name))
-	 (, (read (format "(setup-%s buffer)" parent)))
-	 (,@ body)
-	 (setq ilisp-program (or (, program) ilisp-program)
-	       ilisp-dialect (cons '(, dialect) ilisp-dialect))
-	 (run-hooks '(, (read (format "%s-hook" dialect)))))
-       (defun (, dialect) (&optional buffer program)
-	 (, (format "Create an inferior %s.  With prefix, prompt for buffer and program."
-		   full-name))
+    `(progn
+       (defvar ,hook nil ,(format "*Inferior %s hook." full-name))
+       (defvar ,program nil
+	 ,(format "*Inferior %s default program." full-name))
+       (defun ,setup (buffer)
+	 ,(format "Set up for interacting with %s." full-name)
+	 ,(read (format "(setup-%s buffer)" parent))
+	 ,@body
+	 (setq ilisp-program (or ,program ilisp-program)
+	       ilisp-dialect (cons ',dialect ilisp-dialect))
+	 (run-hooks ',(read (format "%s-hook" dialect))))
+       (defun ,dialect (&optional buffer program)
+	 ,(format "Create an inferior %s.  With prefix, prompt for buffer and program."
+		  full-name)
 	 (interactive (list nil nil))
-	 (ilisp-start-dialect (or buffer (, dialects)) 
-			      program 
-			      '(, setup))
-	 (setq (, program) ilisp-program))
-       (lisp-add-dialect (, dialects))))))
+	 (ilisp-start-dialect (or buffer ,dialects)
+			      program
+			      ',setup)
+	 (setq ,program ilisp-program))
+       (lisp-add-dialect ,dialects))))
 
 ;;;%%ilisp
 (defun setup-ilisp (buffer)
@@ -197,7 +194,7 @@ inferior LISP.  PARENT is the name of th
 	ilisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)*\\)?\\s *\\'"
 	ilisp-filter-length 3
 	ilisp-error-filter 'ilisp-error-filter
-	ilisp-error-regexp ".*" 
+	ilisp-error-regexp ".*"
 
 	;; 20000216 Marco Antoniotti
 	;; Removed the 'dot' (.) from the set of symbol delimiters.
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-doc.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-doc.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-doc.el,v 1.5 2001/06/06 12:17:38 mna Exp $
 
 (defconst ilisp-documentation
   "Major mode for interacting with an inferior Lisp process.  Runs a
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-ext.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-ext.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-ext.el,v 1.4 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 ;;; Lisp mode extensions from the ILISP package.
 ;;; Copyright (C) 1990, 1991, 1992 Chris McConnell, ccm@cs.cmu.edu.
@@ -31,12 +29,12 @@
 ;;; and this notice must be preserved on all copies.
 
 ;;; When loaded this file adds new functionality to emacs lisp mode
-;;; and lisp mode. 
-;;; 
+;;; and lisp mode.
+;;;
 ;;; Default bindings:
 ;;;
 ;;; M-x find-unbalanced-lisp find unbalanced parens in the current
-;;; buffer.  With a prefix in the current region. 
+;;; buffer.  With a prefix in the current region.
 ;;;
 ;;; ] Close all open parentheses back to the start of the containing
 ;;; sexp, or to a previous left bracket which will be converted to a
@@ -57,7 +55,7 @@
 ;;;
 ;;; EXAMPLE .emacs:
 ;;;
-;;; (setq ilisp-ext-load-hook 
+;;; (setq ilisp-ext-load-hook
 ;;;   '(lambda () (define-key global-map "\C-\M-l" 'previous-buffer-lisp)))
 ;;; (require 'ilisp-ext)
 
@@ -97,7 +95,7 @@ brackets will be replaced with left pare
 	    (error "No sexp to close.")
 	    (save-restriction
 	      (narrow-to-region begin end)
-	      (if (< point begin) 
+	      (if (< point begin)
 		  (setq point begin)
 		  (if (> point end)
 		      (setq point end)))
@@ -107,9 +105,9 @@ brackets will be replaced with left pare
 	      (insert ?\))		;So we have an sexp
 	      (while (progn
 		       (setq inserted (point))
-		       (condition-case () 
+		       (condition-case ()
 			   (progn (backward-sexp)
-				  (or arg 
+				  (or arg
 				      (not (eq (char-after (point)) ?\[))))
 			 (error (setq closed t) nil)))
 		;; With an arg replace all left brackets
@@ -145,7 +143,7 @@ brackets will be replaced with left pare
 			     "There is text after the last right parentheses.")))
 		      ;; Insert parens at end changing any left brackets
 		      (goto-char end)
-		      (while 
+		      (while
 			  (progn
 			    (insert ?\))
 			    (save-excursion
@@ -333,10 +331,10 @@ in a comment)."
 		  (backward-char 1)
 		  (point))
 		here)))
-	 (defun-height 
+	 (defun-height
 	     (count-screen-lines-signed-lisp
 	      (save-excursion
-	       (end-of-defun-lisp)	;associate comment with next defun 
+	       (end-of-defun-lisp)	;associate comment with next defun
 	       (beginning-of-defun-lisp)
 	       (point))
 	      here))
@@ -373,7 +371,7 @@ in a comment)."
 	   ;; we care more about getting the comment onscreen.
 	   (cond ((= line ht)
 		  ;; cursor on last screen line (and so in a comment)
-		  (if arg (progn (end-of-defun-lisp) 
+		  (if arg (progn (end-of-defun-lisp)
 				 (beginning-of-defun-lisp)))
 		  (recenter 0))
 		 ;; This condition, copied from case 4, may not be quite right
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-hi.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-hi.el
@@ -8,8 +8,8 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-hi.el,v 1.20 2003/05/27 23:51:10 bill_clementson Exp $
+
+(require 'cl)
 
 ;;;%Eval/compile
 (defun lisp-send-region (start end switch message status format
@@ -40,16 +40,16 @@ a message to let the user know what is g
 		       string
 		       (format (ilisp-value 'ilisp-block-command) string)))
 		  (lisp-buffer-package)
-		  (buffer-file-name) 
+		  (buffer-file-name)
 		  (save-excursion	; start line
 		    (goto-char (min start end))
 		    (beginning-of-line)
 		    (1+ (count-lines 1 (min start end))))))
-    (let ((result 
+    (let ((result
 	   (ilisp-send
 	    string message status
 	    (cond ((memq switch '(t call)) switch)
-		  ((or (not (eq lisp-wait-p (lisp-minus-prefix))) 
+		  ((or (not (eq lisp-wait-p (lisp-minus-prefix)))
 		       current-prefix-arg
 		       (eq switch 'result)) nil)
 		  (t 'dispatch))
@@ -70,7 +70,11 @@ a message to let the user know what is g
 (defun eval-region-lisp (start end &optional switch message status handler)
   "Evaluate the current region."
   (interactive "r")
-  (setq message (or message 
+  (when (< end start)
+    (let ((tmp_start start))
+      (setq start end)
+      (setq end tmp_start)))
+  (setq message (or message
 		    (concat "Evaluate " (lisp-region-name start end))))
   (let ((defvar (ilisp-value 'ilisp-defvar-regexp t)))
     (if (and defvar
@@ -104,9 +108,9 @@ a message to let the user know what is g
   (let (start end)
     (save-excursion
       (backward-char 1)
-      (if (looking-at "\\s\)") 
+      (if (looking-at "\\s\)")
           (progn
-            (forward-char 1) 
+            (forward-char 1)
 	    (setq end (point))
             (backward-list 1)))
       (setq start (point)))
@@ -144,14 +148,14 @@ the eval defun/top-level commands."
 	    (backward-char 1)
 	    (looking-at "\\s\)")))
       (if (looking-at "\\s\)")
-	  (forward-char 1)) 
+	  (forward-char 1))
       (eval-last-sexp-lisp switch))
      ((or (looking-at "\\s\(")
 	  (save-excursion
 	    (forward-char 1)
 	    (looking-at "\\s\(")))
       (if (looking-at "\\s\(")
-	  (backward-char 1)) 
+	  (backward-char 1))
       (eval-next-sexp-lisp switch))
      (t (eval-defun-lisp switch)))))
 
@@ -175,7 +179,7 @@ the eval defun/top-level commands."
   "Evaluate the current defun and switch to the current ILISP buffer.
 With prefix, insert a call as well."
   (interactive)
-  (eval-defun-lisp (if current-prefix-arg 
+  (eval-defun-lisp (if current-prefix-arg
 		       (progn
 			 (setq current-prefix-arg nil)
 			 'call)
@@ -195,7 +199,7 @@ With prefix, insert a call as well."
    (or switch 'result)			; Default to return the result.
    (or message (concat "Compile " (lisp-region-name start end)))
    (or status 'compile)
-   'ilisp-compile-command 
+   'ilisp-compile-command
    handler))
 
 
@@ -232,7 +236,7 @@ With prefix, insert a call as well."
   (mark-whole-buffer)
   (eval-region-lisp (point) (mark)))
 
-    
+
 ;;;
 (defun compile-defun-lisp (&optional switch)
   "Compile the current defun.
@@ -244,7 +248,7 @@ an ILISP buffer."
 	 (end (car (cdr form))))
     (if (and (= start end) (memq major-mode ilisp-modes))
 	(save-excursion
-	  (let ((form (ring-ref (ilisp-get-input-ring) 
+	  (let ((form (ring-ref (ilisp-get-input-ring)
 				(ilisp-input-ring-index))))
 	    (set-buffer "*ilisp-send*")
 	    (delete-region (point-min) (point-max))
@@ -268,7 +272,7 @@ an ILISP buffer."
 (defun compile-defun-and-go-lisp ()
   "Compile the current defun and switch to the current ILISP buffer."
   (interactive)
-  (compile-defun-lisp 
+  (compile-defun-lisp
    (if current-prefix-arg
        (progn
 	 (setq current-prefix-arg nil)
@@ -276,7 +280,7 @@ an ILISP buffer."
        t)))
 
 ;;; 2002-05-20 09:38:07 rurban
-;;; Ivan's ange-ftp hack: "/user@server:~/xx.lisp" => "~/xx.lisp"  
+;;; Ivan's ange-ftp hack: "/user@server:~/xx.lisp" => "~/xx.lisp"
 ;;; Reini's cygwin hack: "/cygdrive/r/xx.lisp"     => "r:/xx.lisp"
 (defun file-name-hack (file-name)
   "Strip ange-ftp and cygwin pathnames prefixes for the native local lisp"
@@ -315,7 +319,7 @@ an ILISP buffer."
   (ilisp-init t)
   (let ((files (ilisp-value 'ilisp-load-inits t)))
     (dolist (f files)
-      (compile-file-lisp 
+      (compile-file-lisp
        (expand-file-name (cdr f) ilisp-*directory*)
        (ilisp-value 'ilisp-init-binary-extension t)))))
 
@@ -323,7 +327,7 @@ an ILISP buffer."
 ;;;
 (defun close-and-send-lisp ()
   "Close and indent the current sexp then send it to the inferior
-LISP." 
+LISP."
   (interactive)
   (reindent-lisp)
   (if (memq major-mode ilisp-modes)
@@ -348,7 +352,7 @@ buffer, and there is no current sexp, de
 	    (lisp-previous-sexp t)))))
   (let ((result
 	 (ilisp-send
-	  (format (ilisp-value 'ilisp-describe-command) 
+	  (format (ilisp-value 'ilisp-describe-command)
 		  (lisp-slashify sexp) (lisp-buffer-package))
 	  (concat "Describe " sexp)
 	  'describe)))
@@ -371,7 +375,7 @@ there is no current sexp, inspect ilisp-
 		(lisp-previous-sexp t))
 	    (lisp-previous-sexp t)))))
   (ilisp-send
-   (format (ilisp-value 'ilisp-inspect-command) 
+   (format (ilisp-value 'ilisp-inspect-command)
 	   (lisp-slashify sexp) (lisp-buffer-package))
    (concat "Inspect " sexp)
    'inspect t))
@@ -393,7 +397,7 @@ one, the symbol will be prompted for."
     (let* ((arglist
 	    (ilisp-send
 	     (format (ilisp-value 'ilisp-arglist-command)
-		     (lisp-symbol-name symbol) 
+		     (lisp-symbol-name symbol)
 		     (lisp-symbol-package symbol))
 	     nil
 	     'args))
@@ -422,8 +426,8 @@ function call documentation."
    (if (lisp-minus-prefix)
        (let* ((symbol-info (lisp-previous-symbol))
 	      (symbol (car symbol-info))
-	      (doc (ilisp-read-symbol 
-		    (format "Documentation [%s]: " 
+	      (doc (ilisp-read-symbol
+		    (format "Documentation [%s]: "
 			    (lisp-buffer-symbol symbol))
 		    symbol))
 	      (default (if (car (cdr symbol-info))
@@ -511,7 +515,7 @@ Trace with :break set."
    (let ((function (lisp-defun-name)))
      (if (lisp-minus-prefix)
 	 (list (ilisp-read-symbol
-		(format (if current-prefix-arg 
+		(format (if current-prefix-arg
 			    "Untrace [%s]: "
 			    "Trace [%s]: ")
 			(lisp-buffer-symbol function))
@@ -528,7 +532,7 @@ current defun."
    (let ((function (lisp-defun-name)))
      (if (lisp-minus-prefix)
 	 (list (ilisp-read-symbol
-		(format (if current-prefix-arg 
+		(format (if current-prefix-arg
 			    "Untrace [%s]: "
 			    "Trace [%s]: ")
 			(lisp-buffer-symbol function))
@@ -549,7 +553,7 @@ current defun."
 			      (lisp-symbol-name function)
 			      (lisp-symbol-package function)
 			      breakp))
-		    (format "%srace %s" (if current-prefix-arg "Unt" "T") 
+		    (format "%srace %s" (if current-prefix-arg "Unt" "T")
 			    (lisp-buffer-symbol function))
 		    (if current-prefix-arg 'untrace 'trace)
 		    ;; Change to always wait, so we can see the
@@ -585,12 +589,11 @@ current directory of the LISP."
 		  lisp-prev-l/c-dir/file (cons default-directory nil))
 	    (message "Default directory is %s" default-directory)))
       (let ((directory
-	     (expand-file-name (save-excursion
-				 (set-buffer (or buffer (current-buffer)))
+	     (expand-file-name (with-current-buffer (or buffer (current-buffer))
 				 default-directory))))
 	(ilisp-send
 	 (format (ilisp-value 'ilisp-set-directory-command) directory)
-	 (format "Set %s's directory to %s" 
+	 (format "Set %s's directory to %s"
 		 (buffer-name (ilisp-buffer))
 		 directory)
 	 'dir
@@ -599,7 +602,7 @@ current directory of the LISP."
 	 ;; I just set the default to 'nil'. It shouldn't harm.
 	 ;; Marco Antoniotti: Jan 2 1995.
 	 ))))
-  
+
 
 ;;;
 (defun load-file-lisp (file-name)
@@ -612,8 +615,7 @@ current directory of the LISP."
   (ilisp-init t)
   (let* ((extension (ilisp-value 'ilisp-binary-extension t))
 	 (binary (lisp-file-extension file-name extension)))
-    (save-excursion
-      (set-buffer (ilisp-buffer))
+    (with-current-buffer (ilisp-buffer)
       (unless (eq comint-send-queue comint-end-queue)
         (if (y-or-n-p "Abort commands before loading? ")
             (abort-commands-lisp)
@@ -698,7 +700,7 @@ symbol after the symbol has been typed i
 	       (or (equal (ilisp-value 'ilisp-status) " :ready")
 		   (equal (ilisp-value 'ilisp-status) " :error")))
 	     (or (eql (current-buffer) (ilisp-buffer)) ; if in
-					; ILISP-Buffer, or else 
+					; ILISP-Buffer, or else
 		 (ignore-errors (lisp-buffer-package))))
     (let* ((old-point (point))
 	   (last-char (progn (ignore-errors (backward-char))
@@ -711,7 +713,7 @@ symbol after the symbol has been typed i
                                  (goto-char old-point)
                                  (ignore-errors (backward-sexp))
                                  (point))))
-	   (prefix-char 
+	   (prefix-char
              (let ((save (ignore-errors
                            (goto-char old-point)
                            (backward-sexp)
@@ -732,7 +734,7 @@ symbol after the symbol has been typed i
 	   (symbol (lisp-symbol-name ilisp-symbol-avec-package))
            (package (lisp-symbol-package ilisp-symbol-avec-package)))
       (flet ((no-arglist-output-p ()
-               (or (and last-char 
+               (or (and last-char
                         (or;; don't do silly things after comment character
                           (equal last-char ";")
                           ;; do something only if directly after a sexp.
@@ -754,7 +756,7 @@ symbol after the symbol has been typed i
                     (eql ilisp-*arglist-message-lisp-space-p* 'all))
             (ilisp-arglist-message-lisp ilisp-symbol-avec-package))))))
   (self-insert-command (prefix-numeric-value current-prefix-arg)))
-    
+
 
 ;;; ilisp-arglist-message-lisp --
 ;;;
@@ -788,7 +790,7 @@ the symbol will be prompted for."
     (let* ((arglist
 	    (ilisp-send
 	     (format (ilisp-value 'ilisp-print-info-message-command)
-		     (lisp-symbol-name symbol) 
+		     (lisp-symbol-name symbol)
 		     (lisp-symbol-package symbol))
              ""
 	     'args
@@ -829,7 +831,7 @@ the symbol will be prompted for."
 ;;;     (let* ((arglist
 ;;; 	    (ilisp-send
 ;;; 	     (format (ilisp-value 'ilisp-print-info-message-command)
-;;; 		     (lisp-symbol-name symbol) 
+;;; 		     (lisp-symbol-name symbol)
 ;;; 		     (lisp-symbol-package symbol))
 ;;; 	     nil
 ;;; 	     'args))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-hlw.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-hlw.el
@@ -16,8 +16,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-hlw.el,v 1.3 2002/08/23 21:40:09 anisotropy9 Exp $
 
 
 (defvar ilisp-lispworks-init-file "lispworks.lisp")
@@ -27,7 +25,7 @@
 (defun lispworks-break-level (prompt)
   (let ((position nil))
     (if (and prompt (setq position (string-match ": [0-9]+" prompt)))
-	(string-to-int (substring prompt (+ 2 position)))
+	(string-to-number (substring prompt (+ 2 position)))
       0)))
 
 
@@ -53,13 +51,13 @@
 	ilisp-reset ":a :t" ; LW 4 (In LW 3.2 this only anorts one level)
 	comint-continue ":c"
 	comint-interrupt-regexp  "Break\\.\n.*")
-  (setq comint-prompt-status 
+  (setq comint-prompt-status
 	(function (lambda (old line)
 	  (comint-prompt-status old line 'lispworks-check-prompt))))
   ;; <cl> or package> at top-level
   ;; [0-9c] <cl> or package> in error
   ;; (setq comint-prompt-regexp "^\\(\\[[0-9]*c*\\] \\|\\)\\(<\\|\\)[^>]*> ")
-  (setq comint-prompt-regexp "^[A-Z=][-a-z0-9A-Z:= ]*[$%#>]+ *") 
+  (setq comint-prompt-regexp "^[A-Z=][-a-z0-9A-Z:= ]*[$%#>]+ *")
 
   ;; 19990806 Marco Antoniotti
   ;; You may want to use the commented one instead.
@@ -69,7 +67,7 @@
   (setq ilisp-source-types (append ilisp-source-types '(("any"))))
   (setq ilisp-directory-command "(lw:current-pathname)")
   (setq ilisp-set-directory-command "(hcl:change-directory \"%s\")")
-  (setq ilisp-find-source-command 
+  (setq ilisp-find-source-command
 	"(ilisp:ilisp-source-files \"%s\" \"%s\" \"%s\")")
 
   ;;; 19990806 Unknown Author (blame Marco Antoniotti for this)
@@ -94,7 +92,7 @@
   ;; proper extension.  See file 'ilisp-cl.el'.
   ;; (setq ilisp-binary-command "system::*binary-file-type*")
   ;; (setq ilisp-init-binary-command "system::*binary-file-type*")
-  
+
   )
 
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-hnd.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-hnd.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-hnd.el,v 1.3 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;; Do not handle errors by default.
@@ -32,7 +30,7 @@ let the user decide what to do."
 	     (setq output (comint-remove-whitespace output))
 	     (or error-p (string-match "\n" output)))
 	(let* ((buffer (ilisp-output-buffer ilisp-output t))
-	       (out (if error-p 
+	       (out (if error-p
 			(funcall ilisp-error-filter output)
 		      output))
 	       (key
@@ -41,36 +39,35 @@ let the user decide what to do."
 		     out
      "SPC-scroll, I-ignore, K-keep, A-abort sends and keep or B-break: "
 		     '(?i ?k ?a ?b))
-		  (comint-handle-error 
-		   out 
+		  (comint-handle-error
+		   out
 	   "SPC-scroll, I-ignore, K-keep or A-abort sends and keep: "
 		   '(?i ?k ?a))))
 	       (clear comint-queue-emptied))
 	  (if (= key ?i)
 	      (progn
 		(message "Ignore message")
-		(if buffer 
+		(if buffer
 		    (funcall
 		     (ilisp-temp-buffer-show-function)
 		     buffer)
 		  (ilisp-bury-output))
 		t)
-	    (save-excursion
-	      (set-buffer (get-buffer-create "*Errors*"))
+	    (with-current-buffer (get-buffer-create "*Errors*")
 	      (if clear (delete-region (point-min) (point-max)))
 	      (goto-char (point-max))
 	      (insert message)
 	      (insert ?\n)
-	      (insert out) 
+	      (insert out)
 	      (insert "\n\n"))
 	    (if clear (setq comint-queue-emptied nil))
 	    (if (= key ?a)
-		(progn 
+		(progn
 		  (message "Abort pending commands and keep in *Errors*")
 		  (comint-abort-sends)
 		  t)
 	      (if (= key ?b)
-		  (progn 
+		  (progn
 		    (comint-insert
 		     (concat comment-start comment-start comment-start
 			     message "\n"
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-imenu.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-imenu.el
@@ -7,13 +7,12 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-imenu.el,v 1.6 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 
+(require 'cl)
 (require 'imenu)
 
-;;; modified for a better display of function+arglist! 
+;;; modified for a better display of function+arglist!
 ;;; let tokens contain spaces and test with string-equal.
 
 (defun imenu--completion-buffer (index-alist &optional prompt)
@@ -40,8 +39,7 @@ Returns t for rescan and otherwise a pos
 	       (function
 		(lambda ()
 		  (let ((buffer (current-buffer)))
-		    (save-excursion
-		      (set-buffer "*Completions*")
+		    (with-current-buffer "*Completions*"
 		      (setq completion-reference-buffer buffer)))))))
 	  ;; Make a completion question
 	  (setq name (completing-read prompt
@@ -61,7 +59,7 @@ Returns t for rescan and otherwise a pos
 
 ;;;
 ;;; Patch for ilisp-imenu
-;;; 
+;;;
 
 ;; Intent is to allow users to customize what forms can
 ;; define types, variables, etc.  At the moment, this is
@@ -88,7 +86,7 @@ ilisp-*user-variable-defining-forms*")
 
 (defvar ilisp-*user-variable-defining-forms* nil
   "*List of user defined symbols which define new lisp variables.")
- 
+
 (defvar ilisp-*function-defining-forms* '(defun defmethod defmacro defgeneric)
   "Symbols that announce the definition of a new new lisp function.
 Don't change this variable -- rather customize
@@ -146,11 +144,11 @@ things of class KEY, which can be `:type
 		       ((looking-at type-defining-form-regexp)
 			(forward-sexp 2)
 			(push (ilisp-imenu-general--name-and-position)
-			      index-type-alist)) 
+			      index-type-alist))
 		       ((looking-at function-defining-form-regexp)
 			(forward-sexp 2)
 			(push (ilisp-imenu-function--name-and-position)
-			      index-fun-alist)) 
+			      index-fun-alist))
 		       (t
 			(forward-sexp 2)
 			(push (ilisp-imenu-general--name-and-position)
@@ -178,7 +176,7 @@ things of class KEY, which can be `:type
            (beg2 (progn (forward-sexp) (forward-sexp -1) (point)))
            (end2 (progn (forward-sexp) (point)))
            (args (buffer-substring-no-properties beg2 end2)))
-      (cons (concat name " " args) 
+      (cons (concat name " " args)
 	    beg))))
 
 
@@ -218,7 +216,7 @@ A trivial interface to `imenu-add-to-men
 
 
 (add-hook 'lisp-mode-hook
-          	  (lambda () 
+          	  (lambda ()
                     (when (featurep 'imenu)
                       (setq imenu-extract-index-name-function
                             'ilisp-imenu-extract-index-name)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-ind.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-ind.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-ind.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;%Indentation
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-inp.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-inp.el
@@ -8,10 +8,8 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-inp.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
-;;;%%Input 
+;;;%%Input
 (defun lisp-at-start ()
   "Return `point' when at start of an input expression in an inferior Lisp."
   (save-excursion
@@ -27,7 +25,7 @@
   (let* ((pmark (process-mark (get-buffer-process (current-buffer)))))
     (if (>= (point) pmark)
 	(goto-char pmark)
-	(progn 
+	(progn
 	  (end-of-line)
 	  (if (re-search-backward comint-prompt-regexp (point-min) 'stay)
 	      (comint-skip-prompt)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-kcl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-kcl.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-kcl.el,v 1.5 2002/02/24 16:02:23 amoroso Exp $
 
 ;;;%%%KCL--these dialects by Tom Emerson
 ;;; kcl-check-prompt doesn't after the first break because the
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-key.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-key.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-key.el,v 1.12 2004/01/07 15:17:27 mkoeppe Exp $
 
 ;;; ilisp-where-is --
 ;;; New version provided by yusuf@SPD-13.ils.nwu.edu (Yusuf Pisan)
@@ -85,7 +83,7 @@ ilisp-*prefix* is set to the desired pre
   ;; 20000401 Martin Atzmueller
   ;; Reinstated the ilisp-arglist-message-lisp-space by adding
   ;; a customization. C-c C-SPACE is _not_ the intended behavior.
-  
+
   ;; 19991214 Martin Atzmueller
 
   ;; 20000203 Karl Fogel: C-c C-SPACE in the FSF-universe, I guess.
@@ -140,7 +138,7 @@ ilisp-*prefix* is set to the desired pre
   (ilisp-bind-ilisp-key-for-map keymap "^" 'edit-callers-lisp "\C-v\C-e")
   (ilisp-safe-define-key keymap "\M-`" 'next-caller-lisp "\C-c\C-v\C-n")
   (define-key keymap "\M-\t" 'complete-lisp)
-  
+
   ;; note: another technical fsf keybinding policy violation.  But
   ;; M-return is unbound in the FSF Emacs 20.5 distribution, and I
   ;; think a lot of people might like this binding.  I don't know,
@@ -154,7 +152,7 @@ ilisp-*prefix* is set to the desired pre
   (ilisp-bind-ilisp-key-for-map keymap "o"       'eval-last-sexp-lisp "\C-j\C-l")
   (ilisp-bind-ilisp-key-for-map keymap "j"       'eval-dwim-lisp "\C-j\C-j")
   (define-key keymap "\C-x\C-e" 'eval-last-sexp-lisp)
-  
+
   ;; Changed as per Martin Atzmueller suggestions.
   ;; Original version
   ;; (ilisp-bind-ilisp-key-for-map keymap "p"        'package-lisp)
@@ -234,7 +232,9 @@ ilisp-*prefix* is set to the desired pre
   (cond ((eq +ilisp-emacs-version-id+ 'fsf-18))
 	((or (eq +ilisp-emacs-version-id+ 'fsf-19)
 	     (eq +ilisp-emacs-version-id+ 'fsf-20)
-	     (eq +ilisp-emacs-version-id+ 'fsf-21))
+	     (eq +ilisp-emacs-version-id+ 'fsf-21)
+	     (eq +ilisp-emacs-version-id+ 'fsf-22)
+	     (eq +ilisp-emacs-version-id+ 'fsf-23))
 	 (defkey-ilisp (read "[?\\S-\\C-a]") 'arglist-lisp)
 	 (defkey-ilisp (read "[?\\S-\\C-c]") 'compile-defun-lisp)
 	 (defkey-ilisp (read "[?\\S-\\C-d]") 'documentation-lisp)
@@ -256,7 +256,7 @@ ilisp-*prefix* is set to the desired pre
 ;;;
 (defun ilisp-bindings ()
   "Set up the key bindings for LISP and ILISP buffers."
-  (cond ((fboundp 'set-keymap-parent) 
+  (cond ((fboundp 'set-keymap-parent)
 	 (setq ilisp-mode-map (make-sparse-keymap))
 	 (set-keymap-parent ilisp-mode-map comint-mode-map))
 	(t (setq ilisp-mode-map (copy-keymap comint-mode-map))))
@@ -272,7 +272,7 @@ ilisp-*prefix* is set to the desired pre
 	     (boundp 'lisp-mode-map))
     (lisp-bindings lisp-mode-map))
   (when (and (memq 'scheme-mode lisp-source-modes)
-	     (boundp 'scheme-mode-map)) 
+	     (boundp 'scheme-mode-map))
     (lisp-bindings scheme-mode-map))
   (ilisp-bind-ilisp-key-for-map emacs-lisp-mode-map ";" 'comment-region-lisp "\C-v\C-\\")
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-kil.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-kil.el
@@ -8,17 +8,14 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-kil.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
-;;;%% Panic/Reset/Status commands 
+;;;%% Panic/Reset/Status commands
 ;;;
 (defun status-lisp (showp)
   "Show the message of the current command being executed in the
-inferior LISP.  With a prefix show pending sends as well."  
+inferior LISP.  With a prefix show pending sends as well."
   (interactive "P")
-  (save-excursion
-    (set-buffer (ilisp-buffer))
+  (with-current-buffer (ilisp-buffer)
     (comint-current-send showp)))
 
 
@@ -45,8 +42,7 @@ inferior LISP.  With a prefix show pendi
   (interactive)
   (save-excursion
     (if (y-or-n-p "Panic reset LISP? ")
-	(save-excursion
-	  (set-buffer (ilisp-buffer))
+	(with-current-buffer (ilisp-buffer)
 	  (comint-setup-ipc t)
 	  (message "LISP is reset, state is unknown"))
 	(message ""))))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-low.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-low.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-low.el,v 1.4 2002/10/25 12:13:49 kevinrosenberg Exp $
 
 ;;;%Lisp mode extensions
 ;;;%%Sexps
@@ -47,8 +45,8 @@ symbol will be returned.  Optional NAMEP
 	 "\\(\\((\\(def[^ \t\n]*\\)[ \t\n]+\\(\\((\\(setf\\)[ \t\n]+\\)\\|(*\\)\\)\\|(?\\)\\([^ \t\n)]*\\)")
 	(let ((symbol (buffer-substring-no-properties (match-beginning 7) (match-end 7))))
 	  (if (match-end 6)
-	      (concat (if (not namep) 
-			  (concat 
+	      (concat (if (not namep)
+			  (concat
 			   (buffer-substring-no-properties (match-beginning 3) (match-end 3))
 			   " "))
 		      "("
@@ -56,8 +54,8 @@ symbol will be returned.  Optional NAMEP
 		      " " symbol ")")
 	      (if (match-end 3)
 		  (concat (if (not namep)
-			      (concat 
-			       (buffer-substring-no-properties (match-beginning 3) 
+			      (concat
+			       (buffer-substring-no-properties (match-beginning 3)
 						 (match-end 3))
 			       " "))
 			  symbol)
@@ -74,7 +72,7 @@ T if it is a negative."
 	  (if (< (setq current-prefix-arg
 		       (prefix-numeric-value current-prefix-arg))
 		 0)
-	      (progn 
+	      (progn
 		(setq current-prefix-arg (- current-prefix-arg)) t)))))
 
 
@@ -86,7 +84,7 @@ T if it is a negative."
     (let ((end (lisp-defun-end))
 	  (begin (lisp-defun-begin)))
       (list begin end (lisp-def-name)))))
-  
+
 ;;;
 (defun lisp-region-name (start end)
   "Return a name for the region from START to END."
@@ -104,7 +102,7 @@ T if it is a negative."
     (let ((from
 	   (if (= (char-after (point)) ?\()
 	       (lisp-def-name)
-	       (buffer-substring-no-properties (point) 
+	       (buffer-substring-no-properties (point)
 				 (progn (forward-sexp) (point))))))
       (goto-char end)
       (if (= (char-after (1- (point))) ?\))
@@ -113,8 +111,8 @@ T if it is a negative."
 	    (if (= (point) start)
 		from
 		(concat "from " from " to " (lisp-def-name))))
-	  (concat "from " from " to " 
+	  (concat "from " from " to "
 		  (buffer-substring-no-properties (save-excursion
 				      (backward-sexp)
-				      (point)) 
+				      (point))
 				    (1- (point))))))))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-luc.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-luc.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-luc.el,v 1.3 2002/08/23 21:40:09 anisotropy9 Exp $
 
 ;;;%%%Lucid
 (defvar ilisp-lucid-init-file "lucid.lisp")
@@ -34,20 +32,20 @@
 	ilisp-reset ":a :t"
 	comint-continue ":c"
 	comint-interrupt-regexp ">>Break: Keyboard interrupt"
-	comint-prompt-status 
+	comint-prompt-status
 	(function (lambda (old line)
 	  (comint-prompt-status old line 'lucid-check-prompt))))
   (setq ilisp-error-regexp "ILISP:[^\"]*\\|>>[^\n]*")
   (setq ilisp-source-types (append ilisp-source-types '(("any"))))
-  (setq ilisp-find-source-command 
+  (setq ilisp-find-source-command
 	"(ilisp:ilisp-source-files \"%s\" \"%s\" \"%s\")")
 
   ;; Note:
   ;; 19990920
   ;; The global definition should now take care to find out the
   ;; proper extension.  See file 'ilisp-cl.el'.
-  
-  ;;(setq ilisp-binary-command 
+
+  ;;(setq ilisp-binary-command
   ;;	"(first (last lucid::*load-binary-pathname-types*))")
 
   ;; ILD Support
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-mak.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-mak.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-mak.el,v 1.11 2003/04/10 18:50:33 rgrjr Exp $
 
 (require 'cl)
 
@@ -42,12 +40,20 @@
 
 
     ;; Compile compatibility files
-    
+
     (cond ((or (eq +ilisp-emacs-version-id+ 'lucid-19)
                (eq +ilisp-emacs-version-id+ 'lucid-19-new))
            (byte-compile-file "illuc19.el"))
           ((eq +ilisp-emacs-version-id+ 'xemacs)
            (byte-compile-file "ilxemacs.el"))
+          ((eq +ilisp-emacs-version-id+ 'fsf-25)
+           (byte-compile-file "ilfsf25.el"))
+          ((eq +ilisp-emacs-version-id+ 'fsf-24)
+           (byte-compile-file "ilfsf24.el"))
+          ((eq +ilisp-emacs-version-id+ 'fsf-23)
+           (byte-compile-file "ilfsf23.el"))
+          ((eq +ilisp-emacs-version-id+ 'fsf-22)
+           (byte-compile-file "ilfsf22.el"))
           ((eq +ilisp-emacs-version-id+ 'fsf-21)
            (byte-compile-file "ilfsf21.el"))
           ((eq +ilisp-emacs-version-id+ 'fsf-20)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-menu.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-menu.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-menu.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 (cond ((or (string-match "XEmacs" emacs-version)
@@ -22,7 +20,7 @@
 	   "Lisp"
 	 "These ILISP commands are available on the menu:"
 	 '(
-	   ("Break        Interupt current lisp."  
+	   ("Break        Interupt current lisp."
 	    (progn (switch-to-lisp t)
 		   (interrupt-subjob-ilisp)))
 	   ("Doc          Menu of commands to get help on variables, etc."
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-mnb.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-mnb.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-mnb.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (require 'ilisp-key)
 
@@ -44,7 +42,7 @@
 
 (defkey-ilisp [menu-bar lisp set-buffer-package]
   '("Set Buffer Package" . set-buffer-package-lisp))
-   
+
 (defkey-ilisp [menu-bar lisp arglist]
   '("Arglist" . arglist-lisp))
 
@@ -121,7 +119,7 @@
 ;;;    "Lisp"
 ;;;  "These ILISP commands are available on the menu:"
 ;;;  '(
-;;;    ("Break        Interupt current lisp."  
+;;;    ("Break        Interupt current lisp."
 ;;;     (progn (switch-to-lisp t)
 ;;;	    (interrupt-subjob-ilisp)))
 ;;;    ("Doc          Menu of commands to get help on variables, etc."
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-mod.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-mod.el
@@ -8,14 +8,14 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-mod.el,v 1.7 2002/09/23 02:35:11 rgrjr Exp $
 
 ;;;%ilisp-mode
 
+(require 'cl)
+
 (defun ilisp-byte-code-to-list (function)
   "Returns a list suitable for passing to make-byte-code from FUNCTION."
-  (let ((function-object 
+  (let ((function-object
 	 (if (symbolp function)
 	     (symbol-function function)
 	   function)))
@@ -55,7 +55,7 @@
 		 (setcar (nthcdr 4 new-code) string)
 	       (setcdr (nthcdr 3 new-code) (cons string nil)))
 	     (fset function (apply 'make-byte-code new-code)))))))
-    
+
 
 
 ;;;
@@ -105,7 +105,7 @@ Takes the program name from the variable
 	(funcall setup name)
 	(setq major-mode 'ilisp-mode
 	      mode-name "ILISP")
-	(rplaca (car comint-send-queue) 
+	(rplaca (car comint-send-queue)
 		(function (lambda ()
 			    (run-hooks 'ilisp-init-hook-local))))
 	(setq ilisp-initialized (delete* ilisp-buffer ilisp-initialized
@@ -119,7 +119,7 @@ Takes the program name from the variable
 	(insert (format "Starting %s ...\n" ilisp-program))
 	(set-marker (process-mark (ilisp-process)) (point))
 	(funcall comint-update-status 'start)
-	
+
 	(when ilisp-motd
 	  (lisp-display-output (format ilisp-motd ilisp-*version*))
 	  (sleep-for 3)
@@ -134,9 +134,9 @@ Takes the program name from the variable
 
 
 ;;;%Manual
-(autoload 'fi:clman         "fi/clman" 
+(autoload 'fi:clman         "fi/clman"
 	  "Look up SYMBOL in the online manual with completion." t)
-(autoload 'fi:clman-apropos "fi/clman" 
+(autoload 'fi:clman-apropos "fi/clman"
 	  "Do an apropos search in online manual for STRING." t)
 
 ;;;%Bridges
@@ -146,8 +146,8 @@ Takes the program name from the variable
 (set-default 'auto-mode-alist
 	     (append '(("\\.cl$" . lisp-mode) ("\\.lisp$" . lisp-mode))
 		     auto-mode-alist))
-(setq completion-ignored-extensions 
-      (append '(".68fasl" ".sfasl" ".ifasl" ".pfasl" 
-		".68fasl4" ".sfasl4" ".ifasl4" ".pfasl4" 
+(setq completion-ignored-extensions
+      (append '(".68fasl" ".sfasl" ".ifasl" ".pfasl"
+		".68fasl4" ".sfasl4" ".ifasl4" ".pfasl4"
 		".sbin")
 	      completion-ignored-extensions))
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-mouse.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-mouse.el
@@ -6,8 +6,6 @@
 ;;; Please refer to the file COPYING for copyrights and licensing information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-mouse.el,v 1.3 2003/04/11 22:02:05 rgrjr Exp $
 
 ;;; Unlike most other ilisp source files, ilisp-mouse is meant to be loadable by
 ;;; itself, in case you want to click M-left on a C definition name or URL, for
@@ -66,20 +64,20 @@ arbitrary buffers."
   ;; environment.  -- rgr, 27-Sep-94.
   (let ((tmst (if (string-match emacs-version "^18\\.")
 		  'TeX-mode-syntax-table
-		  'tex-mode-syntax-table)))
-    (` (let ((old-syntax-table (syntax-table)))
-	 (unwind-protect
-	      (progn
-		(if (not (and (boundp (quote (, tmst)))
-			      (eq old-syntax-table
-				  (symbol-value (quote (, tmst))))))
-		    ;; (not (memq major-mode '(TeX-mode LaTeX-mode)))
-		    (set-syntax-table
-		     (or lisp-mode-syntax-table
-			 ;; lmst not defined until lisp-mode executed
-			 emacs-lisp-mode-syntax-table)))
-		(,@ body))
-	   (set-syntax-table old-syntax-table))))))
+		'tex-mode-syntax-table)))
+    ` (let ((old-syntax-table (syntax-table)))
+	(unwind-protect
+	    (progn
+	      (if (not (and (boundp (quote ,tmst))
+			    (eq old-syntax-table
+				(symbol-value (quote ,tmst)))))
+		  ;; (not (memq major-mode '(TeX-mode LaTeX-mode)))
+		  (set-syntax-table
+		   (or lisp-mode-syntax-table
+		       ;; lmst not defined until lisp-mode executed
+		       emacs-lisp-mode-syntax-table)))
+	      ,@body)
+	  (set-syntax-table old-syntax-table)))))
 
 ;;;; Code.
 
@@ -278,7 +276,7 @@ pathnames, which generally works, though
 ;;    ftp://huxley.bu.edu/~rogers/queue
 ;;    ./ilisp-mouse.el
 ;;    /etc/passwd
-;;    file:///etc/passwd [but ffap doesn't rewrite this as a local pathname] 
+;;    file:///etc/passwd [but ffap doesn't rewrite this as a local pathname]
 ;;    file://localhost/etc/passwd
 
 ;;; end of file -- ilisp-mouse.el --
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-mov.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-mov.el
@@ -7,21 +7,19 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-mov.el,v 1.3 2003/12/03 05:38:47 bill_clementson Exp $
 
 
 ;;;%%Movement
 (defun bol-ilisp (arg)
   "Goes to the beginning of line, then skips past the prompt, if any.
-If a prefix argument is given (\\[universal-argument]), then no prompt skip 
+If a prefix argument is given (\\[universal-argument]), then no prompt skip
 -- go straight to column 0.
 
 The prompt skip is done by skipping text matching the regular expression
 comint-prompt-regexp or ilisp-other-prompt, both buffer local variables."
   (interactive "P")
   (beginning-of-line)
-  (if (null arg) 
+  (if (null arg)
       (or (comint-skip-prompt)
 	  (if ilisp-other-prompt
 	      (let ((comint-prompt-regexp ilisp-other-prompt))
@@ -111,10 +109,10 @@ a left paren or ;;; at the left margin u
 		     (progn (forward-sexp) (point))
 		   (error (point-max))))))
     ;; Find the next line starting at the left margin and then check
-    ;; to see if it is in a string. 
+    ;; to see if it is in a string.
     (while (progn
 	     (skip-chars-forward "^\"" boundary) ;To the next string
-	     (if (= (point) boundary)	
+	     (if (= (point) boundary)
 		 nil			;No quote found and at limit
 		 (let ((string-boundary ;Start of next defun
 			(save-excursion
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-openmcl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-openmcl.el
@@ -20,11 +20,11 @@
 (defun openmcl-check-prompt (old new)
   "Compare the break level printed at the beginning of the prompt."
   (let* ((old-level (if (and old (eq 1 (string-match "[0-9]+" old)))
- 			(string-to-int (substring old 1))
- 			0))
- 	 (new-level (if (eq 1 (string-match "[0-9]+" new))
- 			(string-to-int (substring new 1))
- 			0)))
+			(string-to-number (substring old 1))
+		      0))
+	 (new-level (if (eq 1 (string-match "[0-9]+" new))
+			(string-to-number (substring new 1))
+		      0)))
     (<= new-level old-level)))
 
 ;;;
@@ -34,7 +34,7 @@
 
   (setq comint-prompt-regexp "^\\([0-9]+ >\\|\\?\\|Step>\\|Inspect.*>\\) "
 	ilisp-trace-command "(ilisp::openmcl-trace \"%s\" \"%s\" \"%s\")"
-	comint-prompt-status 
+	comint-prompt-status
 	(function (lambda (old line)
 	  (comint-prompt-status old line 'openmcl-check-prompt)))
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-out.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-out.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-out.el,v 1.15 2003/03/26 03:22:47 rgrjr Exp $
 
 ;;; Old history log.
 ;;;
@@ -53,7 +51,7 @@ The function gets a single argument, a s
 
 
 ;;; ilisp-output-sink --
-;;; Datastructure for a output sink that points to its 
+;;; Datastructure for a output sink that points to its
 ;;; output-{buffers|frames|windows}
 
 (defstruct ilisp-output-sink
@@ -141,9 +139,9 @@ The function gets a single argument, a s
              ))
       (defvar ilisp-arglist-output-mode nil
         "If T, then we are in the ilisp-arglist-output minor mode.")
-      
+
       (make-variable-buffer-local 'ilisp-arglist-output-mode)
-      
+
       (or (assq 'ilisp-arglist-output-mode minor-mode-alist)
           (setq minor-mode-alist
                 (cons '(ilisp-arglist-output-mode
@@ -196,7 +194,7 @@ after popping any inactive ones."
 
 (defun* ilisp-set-sink-for-command (command output-sink)
   (setf ilisp-*command-to-ilisp-output-sink-table*
-	(acons command output-sink 
+	(acons command output-sink
 	       ilisp-*command-to-ilisp-output-sink-table*)))
 
 
@@ -231,11 +229,11 @@ sink."
     (unless (and (boundp modeline) (symbol-value modeline))
       (when set-modeline-p
 	(setf (symbol-value modeline)
-	      (list (format " %s bury, %s scroll" 
+	      (list (format " %s bury, %s scroll"
 			    (ilisp-where-is 'ilisp-bury-output)
 			    (ilisp-where-is 'ilisp-scroll-output))))))
     buffer))
-  
+
 (defun ilisp-output-window (ilisp-output-sink)
   "Gets the Output-Window for sink's buffer."
   (let ((buffer (get-buffer (ilisp-output-sink-buffer ilisp-output-sink))))
@@ -254,7 +252,7 @@ sink."
   ;; given an active output sink, make it go away.
   (let* ((buffer (ilisp-output-sink-buffer ilisp-output-sink))
 	 (window (and buffer (get-buffer-window buffer t)))
-	 (frame (ilisp-output-sink-frame ilisp-output-sink)))    
+	 (frame (ilisp-output-sink-frame ilisp-output-sink)))
     (with-current-buffer buffer
       (erase-buffer))
     (bury-buffer buffer)
@@ -345,8 +343,7 @@ If given a numeric argument, deletes all
 
 (defun ilisp-write-string-to-buffer (ilisp-output-sink string)
   (let ((buffer (ilisp-output-buffer ilisp-output-sink t)))
-    (save-excursion
-      (set-buffer buffer)
+    (with-current-buffer buffer
       (let ((buffer-read-only nil))
       ;; Maybe an option to keep the old output?
         (erase-buffer))
@@ -378,8 +375,7 @@ If given a numeric argument, deletes all
 
 ;; A first guess at the height needed to display this buffer.
 (defun ilisp-needed-buffer-height (buffer)
-  (save-excursion
-    (set-buffer buffer)
+  (with-current-buffer buffer
     (1+ (count-lines (point-min) (point-max)))))
 
 
@@ -387,11 +383,10 @@ If given a numeric argument, deletes all
 (defun ilisp-needed-window-height (window)
   (save-window-excursion
     (select-window window)
-    (save-excursion
-      (set-buffer (window-buffer))
+    (with-current-buffer (window-buffer)
       ;; 19990806 Marti Atzmueller
       ;; Changed 2 to 3 just below.
-      (+ 3 (save-excursion 
+      (+ 3 (save-excursion
 	     (goto-char (point-min))
 	     ;; Any upper bound on the height of an emacs window will
 	     ;; do here.  How about 1000.
@@ -401,7 +396,7 @@ If given a numeric argument, deletes all
 (defun ilisp-shrink-wrap-window (window ilisp-output-sink)
   (let ((previously-selected-window (selected-window))
 	(buffer (window-buffer window)))
-    
+
     (select-window window)
     (let* ((current-height (window-height window))
 	   (desired-height (ilisp-desired-height ilisp-output-sink t))
@@ -476,8 +471,8 @@ If given a numeric argument, deletes all
 (defun ilisp-window-live-p (window)
   (window-live-p window))
 
-;;; This old implementation ignores windows in other frames, 
-;;; which makes a lot of trouble if the ILISP buffer is shown in 
+;;; This old implementation ignores windows in other frames,
+;;; which makes a lot of trouble if the ILISP buffer is shown in
 ;;; a single dedicated window in a frame.
 
 ;;(defun ilisp-window-live-p (window)
@@ -536,7 +531,7 @@ This is probably the window from which e
   (if (or (not (string-match "XEmacs" emacs-version))
 	  (and (= emacs-major-version 19)
 	       (< emacs-minor-version 12)))
-	  
+
       (frame-first-window frame)
       (frame-highest-window frame 0)))
 
@@ -546,7 +541,7 @@ This is probably the window from which e
 ;   (if (or (not (string-match "XEmacs" emacs-version))
 ; 	  (and (= emacs-major-version 19)
 ; 	       (< emacs-minor-version 12)))
-	  
+
 ;       (let* ((window* (frame-selected-window frame))
 ; 	     ;; (window* (selected-window))
 ; 	     (edges* (window-edges window*))
@@ -697,7 +692,7 @@ order to do the real work."
     ;; Bugcheck
     (unless (stringp output)
       (error "ILISP: not a string in lisp-display-output"))
-    
+
     (when (ilisp-value 'comint-errorp t)
       (setq output (funcall (ilisp-value 'ilisp-error-filter) output)))
     (let ((ilisp-output-sink
@@ -732,8 +727,8 @@ order to do the real work."
 	      (lisp-pop-to-buffer (ilisp-buffer) ilisp-output-sink)
 	      (if (not (eq (current-buffer) buffer))
 		  (setq ilisp-last-buffer buffer))
-	      (comint-insert 
-	       (concat 
+	      (comint-insert
+	       (concat
 		(if ilisp-last-message
 		    (concat ";;; " ilisp-last-message "\n"))
 		"\n"
@@ -759,7 +754,7 @@ Dispatch on the value of 'lisp-no-popper
 
 	(t
 	 (ilisp-display-output-adaptively output ilisp-output-sink)))
-  
+
   (when (or (ilisp-value 'comint-errorp t)
 	    (string-match (ilisp-value 'ilisp-error-regexp t) output))
 
@@ -792,7 +787,7 @@ Dispatch on the value of 'lisp-no-popper
 	(buffer (ilisp-output-buffer ilisp-output-sink t)))
     (ilisp-write-string-to-buffer ilisp-output-sink output)
     (ilisp-display-buffer-in-typeout-area ilisp-output-sink)
-    
+
     ;; Martin Atzmueller 2000-01-27
     ;; this-command trick:
     ;; if this-command is ilisp-message-lisp-space, switch back!
@@ -812,7 +807,7 @@ Dispatch on the value of 'lisp-no-popper
 		 (not (eq (selected-window)
 			  (get-buffer-window buffer t))))
 	    (ilisp-bury-output-internal ilisp-output-sink))))
-  
+
   ;; v5.7: Patch suggested by hunter@work.nlm.nih.gov (Larry Hunter)
   ;; If output contains '%', 'message' loses.
   ;; (message (ilisp-quote-%s output))
@@ -830,10 +825,10 @@ Dispatch on the value of 'lisp-no-popper
 
 (defun ilisp-quote-%s (string)
   "Quote all the occurences of ?% in STRING in an ELisp fashion."
-  (mapconcat '(lambda (char)
-		(if (char-equal char ?%)
-		    "%%"
-		  (char-to-string char)))
+  (mapconcat #'(lambda (char)
+		 (if (char-equal char ?%)
+		     "%%"
+		   (char-to-string char)))
 	     string ""))
 
 
@@ -851,8 +846,8 @@ Dispatch on the value of 'lisp-no-popper
 	  (lisp-pop-to-buffer (ilisp-buffer) ilisp-output-sink)
 	  (unless (eq (current-buffer) buffer)
 	    (setq ilisp-last-buffer buffer))
-	  (comint-insert 
-	   (concat 
+	  (comint-insert
+	   (concat
 	    (when ilisp-last-message
               (concat ";;; " ilisp-last-message "\n"))
 	    (comint-remove-whitespace output)
@@ -904,7 +899,7 @@ Otherwise, switch to the current ILISP b
 positions cursor at end of buffer.  If you don't want to split
 windows, set pop-up-windows to NIL."
   (interactive "P")
-  (if (and (not ilisp-only) ilisp-last-buffer 
+  (if (and (not ilisp-only) ilisp-last-buffer
 	   (memq major-mode ilisp-modes))
       (lisp-pop-to-buffer ilisp-last-buffer nil t)
     (unless (memq major-mode ilisp-modes)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-pkg.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-pkg.lisp
@@ -12,8 +12,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-pkg.lisp,v 1.11 2004/08/11 19:12:46 kevinrosenberg Exp $
 
 ;;;----------------------------------------------------------------------------
 ;;; Definitions
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-prc.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-prc.el
@@ -8,9 +8,8 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-prc.el,v 1.4 2003/07/19 01:28:52 rgrjr Exp $
 
+(require 'cl)
 
 (defun ilisp-process ()
   "Return the current ILISP process."
@@ -33,15 +32,15 @@ This is the buffer to whose process requ
 
 
 (defun ilisp-recent-buffer ()
-  "Return the most-recently selected ilisp buffer." 
-  (if ilisp-buffer 
+  "Return the most-recently selected ilisp buffer."
+  (if ilisp-buffer
       (or (get-buffer ilisp-buffer)
 	  (get-buffer
 	   (setq ilisp-buffers
 		 (delete* (substring ilisp-buffer
-				     1 
+				     1
 				     (1- (length ilisp-buffer)))
-			  ilisp-buffers 
+			  ilisp-buffers
 			  :test (function (lambda (s1 s2)
 					    (string= s1 (car s2)))))
 		 ilisp-buffer
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-prn.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-prn.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-prn.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;%Unbalanced parentheses
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-rng.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-rng.el
@@ -8,14 +8,12 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-rng.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (defun match-ring (ring regexp start)
   "Return the index in RING of REGEXP starting at START."
   (let ((n 0)
 	(len (ring-length ring)))
-    (while (and (< n len) 
+    (while (and (< n len)
 		(not (string-match regexp (ring-ref ring n))))
       (setq n (1+ n)))
     (if (= n len)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-s2c.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-s2c.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-s2c.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 ;From: Jeffrey Mark Siskind <qobi@cs.toronto.edu>
 ;To: ilisp@cons.org
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-sbcl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-sbcl.el
@@ -8,11 +8,11 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-sbcl.el,v 1.20 2003/10/04 21:10:30 kevinrosenberg Exp $
 
 ;;;%%%Steel Bank Common Lisp
-    
+
+(require 'cl)
+
 (defvar ilisp-sbcl-init-file
   ;; Note: The init file source extension (".lisp") needs to be
   ;; present in the filename, otherwise ILISP-LOAD-OR-SEND gets
@@ -60,12 +60,12 @@
             (level-2-p
               ;; level 2 or greater,
               ;; e.g. x[y] prompt
-              (string-to-int
-               (subseq prompt (1+ (match-beginning 0)) 
+              (string-to-number
+               (subseq prompt (1+ (match-beginning 0))
                        (1- (match-end 0)))))
             (t
               no-level)))))
-    
+
 (defun sbcl-check-prompt-sbcl>=07 (old new)
   "Compare the break level printed at the beginning of the prompt."
   ;; SBCL has the new break prompt sequence such as
@@ -83,7 +83,7 @@
 (defvar ilisp-*sbcl<07-version* nil)
 ;; Distinguish SBCL-0.6.x (or earlier) vs. SBCL-0.7.x (and probably later).
 
-(defvar ilisp-*determine-version-lisp-string* 
+(defvar ilisp-*determine-version-lisp-string*
   "(find-package :sb-eval)") ; in SBCL-0.7.x an Interpreter didn't exist in the
                              ; SB-EVAL package any more.
 
@@ -99,7 +99,7 @@
         (if ilisp-*sbcl<07-version*
           (function sbcl-check-prompt-sbcl<07)
           (function sbcl-check-prompt-sbcl>=07)))
-  
+
   (set-ilisp-value 'comint-prompt-regexp
 		   (if ilisp-*sbcl<07-version*
 		       ;; old comint-prompt-regexp (sbcl-0.6 or earlier).
@@ -132,13 +132,13 @@
    'ilisp-init-hook-local
    'sbcl-version-hook-fun
    nil)
-                        
-  (setq	comint-prompt-regexp "^\\([0-9]+\\]+\\|\\* \\|[-A-Za-z0-9]+([0-9]+):\\)" 
+
+  (setq	comint-prompt-regexp "^\\([0-9]+\\]+\\|\\* \\|[-A-Za-z0-9]+([0-9]+):\\)"
         ;; we have to set comint-prompt-regexp to something sensible here, before
         ;; we can set it finally to its right value in our ILISP-INIT-HOOK-LOCAL
         ;; hook (above).
         ilisp-trace-command "(ilisp:sbcl-trace \"%s\" \"%s\" \"%s\")"
-	comint-prompt-status 
+	comint-prompt-status
 	(function (lambda (old line)
 		    (comint-prompt-status old line 'sbcl-check-prompt)))
 
@@ -147,7 +147,7 @@
 	;; hunter@work.nlm.nih.gov (Larry Hunter), for CMUCL.  It's
 	;; probably wrong for SBCL, but I'd have to know what it was
 	;; for before commenting.
-        
+
 	ilisp-arglist-command "(ilisp:ilisp-arglist \"%s\" \"%s\")"
 	ilisp-find-source-command "(ilisp:source-file \"%s\" \"%s\" \"%s\")"
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-sch.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-sch.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-sch.el,v 1.16 2002/06/28 13:01:16 mkoeppe Exp $
 
 (require 'cl)				; Sorry. I couldn't resist
 					; 19990818 Marco Antoniotti
@@ -43,7 +41,7 @@
 	ilisp-untrace-command "(untrace %s) ;%s"
 	ilisp-directory-command  "(current-directory)"
 	ilisp-set-directory-command "(current-directory \"%s\")"
-	
+
 	comint-prompt-regexp "^> "
 	ilisp-error-regexp "ILISP:"
 	ilisp-load-or-send-command "(begin \"%s\" (load \"%s\"))"
@@ -169,7 +167,7 @@
     ;; debugger, which `quit' exits from, or we are at the top level,
     ;; where `quit' evaluates to the quit procedure, which is
     ;; harmless.
-    (setq comint-fix-error "quit")		
+    (setq comint-fix-error "quit")
     (setq ilisp-load-or-send-command
           "(begin \"%s\" (load \"%s\"))")
     (ilisp-load-init 'guile ilisp-guile-init-file)
@@ -184,7 +182,7 @@
           ilisp-in-package-command-string "in-package" ;;; FIXME
           ilisp-defpackage-command-string "define-module"
           ilisp-package-name-command "(module-name (current-module))"
-          ilisp-eval-command "(ilisp-eval \"%s\" \"%s\" \"%s\" %d)" 
+          ilisp-eval-command "(ilisp-eval \"%s\" \"%s\" \"%s\" %d)"
           ilisp-directory-command "(getcwd)"
           ilisp-set-directory-command "(chdir \"%s\")"
           ilisp-complete-command "(ilisp-matching-symbols \"%s\" \"%s\" '%s '%s '%s)"
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-scheme-easy-menu.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-scheme-easy-menu.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-scheme-easy-menu.el,v 1.3 2002/01/31 14:56:45 mna Exp $
 
 ;; Author: Holger Schauer <Holger.Schauer@gmd.de>
 ;; Maintainer: Holger.Schauer@gmd.de
@@ -37,17 +35,17 @@
 
 ;;; Commentary:
 
-;; This file and it's extensions have been named ilisp-xemacs-menu before. 
+;; This file and it's extensions have been named ilisp-xemacs-menu before.
 ;; As it is ensured now to work with any Emacs with easymenu the file
-;; itself and all relevant names (of commands and variables) are renamed. 
+;; itself and all relevant names (of commands and variables) are renamed.
 
-;; Use this file as an extension to Ilisp 5.7/5.8 
+;; Use this file as an extension to Ilisp 5.7/5.8
 ;; (seee http://www.cs.cmu.edu/~campbell/ilisp/index.html)
 ;; Put it in a place where (X)Emacs can find it and augment your
 ;; .emacs like the following to use it.
 ;; (load-library "ilisp-easy-menu")
 ;; This needs to be loaderd prior to Ilisp !
-;; This should give you the menu in any source code buffer and any inferior 
+;; This should give you the menu in any source code buffer and any inferior
 ;; ilisp buffer. Be careful: the menu is initialized with add-hook
 ;; on ilisp-mode-hook and lisp-mode-hook, so if you setq these two
 ;; hooks afterwards you won't get the menu.
@@ -67,7 +65,7 @@
 ;127c127,129
 ;<   (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
 ;---
-;>   (if (and (not 
+;>   (if (and (not
 ;> 	    (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
 ;> 	   (not (featurep 'ilisp-easy-menu)))
 
@@ -116,9 +114,9 @@
      [ "Indent for comment" lisp-indent-for-comment t ]
      [ "Comment region" comment-region-lisp t ]
      "--"
-     [ "Search in Files" search-lisp t ] 
+     [ "Search in Files" search-lisp t ]
      "--"
-     [ "Kill sexp" kill-sexp t ] 
+     [ "Kill sexp" kill-sexp t ]
      [ "Kill last sexp" backward-kill-sexp t ]
      "--"
      [ "Macroexpand" macroexpand-lisp t ]
@@ -148,7 +146,7 @@
      [ "Select Ilisp" select-ilisp t ]
      [ "Switch to lisp" switch-to-lisp t ]
      [ "Abort commands" abort-commands-lisp t ]
-     [ "Status of Lisp" status-lisp t ]  
+     [ "Status of Lisp" status-lisp t ]
      "--"
      [ "Mark change" mark-change-lisp t ]
      [ "List changes" list-changes-lisp t ]
@@ -182,23 +180,23 @@
 ;;; this, but it should.
 
 (add-hook 'ilisp-mode-hook
-	  (lambda () 
-	    (when (featurep 'easymenu)       
+	  (lambda ()
+	    (when (featurep 'easymenu)
 	      (easy-menu-define menubar-ilisp
-				ilisp-mode-map 
+				ilisp-mode-map
 				"Ilisp commands"
-				ilisp-scheme-easy-menu) 
+				ilisp-scheme-easy-menu)
 	      (easy-menu-add ilisp-scheme-easy-menu 'ilisp-mode-map)
 	      )))
-	 
+
 
 (add-hook 'scheme-mode-hook
-	  (lambda () 
-	    (when (featurep 'easymenu)       
+	  (lambda ()
+	    (when (featurep 'easymenu)
 	      (easy-menu-define menubar-scheme-ilisp
-				scheme-mode-map 
+				scheme-mode-map
 				"Scheme commands"
-				ilisp-scheme-easy-menu) 
+				ilisp-scheme-easy-menu)
 	      (when (boundp 'scheme-menu)
 		(easy-menu-remove scheme-menu))
 	      (easy-menu-add ilisp-scheme-easy-menu 'scheme-mode-map)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-snd.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-snd.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-snd.el,v 1.20 2003/05/12 02:17:22 rgrjr Exp $
 
 
 ;;;%% Package / Symbol support
@@ -50,7 +48,7 @@ that attempts to determine the package s
 	  the-package
 	"nil"))))
 
-(defun ilisp-check-package-advanced (hash-defpackage-forms-list 
+(defun ilisp-check-package-advanced (hash-defpackage-forms-list
 				     hash-in-package-forms-list)
   "Advanced check for packages in buffer.
 It handles the special case of read-time conditionals - i.e. hash plus
@@ -65,10 +63,10 @@ or minus forms - as well as normal IN-PA
 	 (case-fold-search t)
          (npic-regexp (ilisp-value 'ilisp-no-package-in-core-regexp t)))
     (if (and npic-regexp (string-match npic-regexp package))
-;; wbd180902 Kludge round modern mode stuff to set default package 
+;; wbd180902 Kludge round modern mode stuff to set default package
       (progn
-	(setq package 
-	      (ilisp-get-package-advanced 
+	(setq package
+	      (ilisp-get-package-advanced
 	       (format (ilisp-value 'ilisp-block-command)
 		       (format (ilisp-value 'ilisp-package-command)
 			       (format (ilisp-value 'ilisp-in-package-command)
@@ -96,7 +94,7 @@ or minus forms - as well as normal IN-PA
 			 (backward-sexp) ; now we are in front of the exp
 			 (point))
 		       (match-end 0))))
-	   
+
 	   (cond ((or (string-match in-package-regexp found)
 		      (string-match defpackage-regexp found))
 		  (backward-char)
@@ -165,7 +163,7 @@ relative order of DEFPACKAGE and IN-PACK
                         t))))))
       (multiple-value-bind (package package-not-in-core-p)
 	  (ilisp-check-package-advanced
-	    (nreverse hash-defpackage-forms-list) 
+	    (nreverse hash-defpackage-forms-list)
 	    (nreverse hash-in-package-forms-list))
 	(let ((should-not-cache-p (or should-not-cache-p package-not-in-core-p)))
 	  ;; RED? (when (ilisp-value 'comint-errorp t)
@@ -198,7 +196,7 @@ calling this more than once is cheap."
 	      (null lisp-dont-cache-package))
 	 buffer-package)
 	(ilisp-completion-package ilisp-completion-package)
-	((or lisp-buffer-package 
+	((or lisp-buffer-package
 	     (memq major-mode ilisp-modes)
 	     (not (memq major-mode lisp-source-modes)))
 	 nil)
@@ -210,7 +208,7 @@ calling this more than once is cheap."
 	   (setq buffer-package (if (or should-not-cache-p lisp-dont-cache-package)
                                     'not-yet-computed package))
 	   ;; Display package in mode line
-	   (when package 
+	   (when package
 	     (setq mode-name
 		   (concat (or buffer-mode-name
 			       (setq buffer-mode-name mode-name))
@@ -232,7 +230,7 @@ calling this more than once is cheap."
 ;;; 19990824 Marco Antoniotti
 (defun set-package-lisp (package)
   "Set inferior LISP to package of buffer or a named package with prefix."
-  (interactive 
+  (interactive
    (let ((default (lisp-buffer-package)))
      (if (or current-prefix-arg (null default))
 	 (let ((name
@@ -242,7 +240,7 @@ calling this more than once is cheap."
        (list default))))
   (if package
       (ilisp-send (format (ilisp-value 'ilisp-in-package-command) package)
-		  (format "Set %s's package to %s" 
+		  (format "Set %s's package to %s"
 			  (buffer-name (ilisp-buffer))
 			  package)
 		  'pkg 'dispatch)
@@ -368,13 +366,13 @@ is no current sexp, return NIL."
 	(condition-case ()
 	    (if (and (memq major-mode ilisp-modes)
 		     (= (point)
-			(process-mark 
+			(process-mark
 			 (get-buffer-process (current-buffer)))))
 		nil
 	      (backward-up-list 1)
 	      (down-list 1)
 	      (lisp-string-to-symbol
-	       (buffer-substring-no-properties (point) 
+	       (buffer-substring-no-properties (point)
 				 (progn (forward-sexp 1) (point)))))
 	  (error nil))))))
 
@@ -401,7 +399,7 @@ If FILE is NIL, the entry will be remove
     (if file
         (if old
             (rplacd old file)
-          (setq ilisp-load-inits (nconc ilisp-load-inits 
+          (setq ilisp-load-inits (nconc ilisp-load-inits
                                         (list (cons dialect file)))))
       (when old
         (setq ilisp-load-inits (delq old ilisp-load-inits))))))
@@ -412,19 +410,19 @@ If FILE is NIL, the entry will be remove
   (if (not (ilisp-value var t))
       (let ((binary (ilisp-value init t)))
 	(if binary
-	    (comint-send 
+	    (comint-send
 	     (ilisp-process) binary
-	     t nil 'binary nil 
-	     (` (lambda (error wait message output last)
-		  (if (or error
-			  (not (string-match "\"[^\"]*\"" output)))
-		      (progn
-			(lisp-display-output output)
-			(abort-commands-lisp "No binary"))
-		    (setq (, var)
-			  (substring output
-				     (1+ (match-beginning 0))
-				     (1- (match-end 0))))))))))))
+	     t nil 'binary nil
+	     `(lambda (error wait message output last)
+		(if (or error
+			(not (string-match "\"[^\"]*\"" output)))
+		    (progn
+		      (lisp-display-output output)
+		      (abort-commands-lisp "No binary"))
+		  (setq ,var
+			(substring output
+				   (1+ (match-beginning 0))
+				   (1- (match-end 0)))))))))))
 
 ;;;
 (defun ilisp-done-init ()
@@ -448,11 +446,11 @@ If FILE is NIL, the entry will be remove
     (unwind-protect
       (progn
         (when (not ilisp-init-binary-extension)
-          (setq ilisp-init-binary-extension 
+          (setq ilisp-init-binary-extension
                   ilisp-binary-extension))
 
         (dolist (file files)
-          (let ((load-file 
+          (let ((load-file
                   (let ((source
                           (expand-file-name (cdr file)
                                             ilisp-*directory*))
@@ -467,7 +465,7 @@ If FILE is NIL, the entry will be remove
             (ilisp-load-or-send (file-name-hack load-file))))
         (comint-send-code (ilisp-process)
                           'ilisp-done-init)
-        (setq done t))                         
+        (setq done t))
       (unless done
         (setq ilisp-initializing nil)
         (abort-commands-lisp)))))
@@ -481,7 +479,7 @@ If FILE is NIL, the entry will be remove
 		       "\"Start sync\""  "[ \t\n]*\"Start sync\""
 		       "\"End sync\""    "\"End sync\""))
 	(ilisp-binary 'ilisp-binary-command 'ilisp-binary-extension)
-	(ilisp-binary 'ilisp-init-binary-command 
+	(ilisp-binary 'ilisp-init-binary-command
 		      'ilisp-init-binary-extension)
 
 	;; This gets executed in the process buffer
@@ -489,7 +487,7 @@ If FILE is NIL, the entry will be remove
 	 (ilisp-process)
          (function comint-send-code-init-function))
         (set-ilisp-value 'ilisp-initializing t)) ; progn
-    
+
     (unless (ilisp-value 'ilisp-initializing t)
       (abort-commands-lisp))))
 
@@ -499,7 +497,7 @@ If FILE is NIL, the entry will be remove
 If necessary load the files in 'ilisp-load-inits'.  Optional WAITP
 waits for initialization to finish.  When called interactively, force
 reinitialization.  With a prefix, get the binary extensions again."
-  (interactive 
+  (interactive
    (list (if current-prefix-arg
 	     (progn
 	       (set-ilisp-value 'ilisp-init-binary-extension nil)
@@ -541,29 +539,29 @@ the buffer."
 	     (setfp (string-match "(setf \\([^\)]+\\)" name))
 	     )
 	(switch-to-lisp t t)
-	(cond (setfp 
-	       (setq name 
+	(cond (setfp
+	       (setq name
 		     (substring name (match-beginning 1) (match-end 1)))
 	       (lisp-match-ring (if (not arg)
-				    (concat "(setf[ \t\n]*(" 
+				    (concat "(setf[ \t\n]*("
 					    package name "[ \t\n]"))
 				(concat "(setf (" name)))
-	      (variablep (lisp-match-ring (if (not arg) 
+	      (variablep (lisp-match-ring (if (not arg)
 					      (concat package name))
 					  name))
 	      (t
 	       (let ((fun (concat "(" name)))
 		 (setq name (regexp-quote name))
-		 (or (lisp-match-ring 
+		 (or (lisp-match-ring
 		      (if (not arg) (concat "(" package name "[ \t\n\)]"))
-		      fun 
+		      fun
 		      (not arg))
 		     (lisp-match-ring (concat "(" package
 					      "[^ \t\n]*-*" name)
 				      fun))))))
-    (let ((form 
+    (let ((form
 	   (save-excursion
-	     (buffer-substring-no-properties (lisp-defun-begin) 
+	     (buffer-substring-no-properties (lisp-defun-begin)
 			       (lisp-end-defun-text t)))))
       (switch-to-lisp t t)
       (comint-kill-input)
@@ -599,7 +597,7 @@ it will be handled by HANDLER."
 	  (t
 	   (let* ((save (ilisp-value 'ilisp-save-command t))
 		  (result
-		   (comint-send 
+		   (comint-send
 		    process
 		    (if save (format save string) string)
 		    ;; Interrupt without waiting
@@ -613,7 +611,7 @@ it will be handled by HANDLER."
                 ;; old one: t nil 'restore "Restore" t t
 		;; mew experimental:
 		;; t (unless dispatch 'wait) 'restore "Restore" t t))
-		t (unless dispatch 'wait) 'restore "Restore" t t))	     
+		t (unless dispatch 'wait) 'restore "Restore" t t))
 	     (unless dispatch
 	       (while (not (cdr result))
 		 (if (eq +ilisp-emacs-version-id+ 'xemacs)
@@ -631,12 +629,12 @@ ilisp-load-or-send-command, then visit t
 the process interface."
 
   (let* ((command
-	  (format (ilisp-value 'ilisp-load-or-send-command) 
+	  (format (ilisp-value 'ilisp-load-or-send-command)
 		  (lisp-file-extension
-		   file 
+		   file
 		   (ilisp-value 'ilisp-init-binary-extension t))
 		  file)))
-    (set-ilisp-value 'ilisp-load-files 
+    (set-ilisp-value 'ilisp-load-files
 		     (nconc (ilisp-value 'ilisp-load-files t) (list file)))
     (comint-send
      (ilisp-process) command t nil 'load
@@ -646,12 +644,11 @@ the process interface."
 	(let* ((file (first (last ilisp-load-files)))
 	       (process (get-buffer-process (current-buffer)))
 	       (case-fold-search t))
-	  (if (and output 
+	  (if (and output
 		   (string-match "nil" (car (lisp-last-line output))))
 	      (let* ((old-buffer (get-file-buffer file))
 		     (buffer (find-file-noselect file))
-		     (string (save-excursion
-			       (set-buffer buffer)
+		     (string (with-current-buffer buffer
 			       (buffer-string))))
 		(unless old-buffer (kill-buffer buffer))
 		(if (string= "" string)
@@ -662,7 +659,7 @@ the process interface."
 		   t nil 'send (format "Sending %s" file)
 		   (function (lambda (error wait message output last)
 			       (if error
-				   (progn 
+				   (progn
 				     (comint-display-error output)
 				     (abort-commands-lisp
 				      (format "Error sending %s"
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-src.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-src.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-src.el,v 1.13 2003/12/21 03:16:39 rgrjr Exp $
 
 (require 'cl)
 
@@ -48,7 +46,7 @@ The extensions are those of files that e
 	(extensions nil))
     (dolist (entry entries)
       (when (memq (cdr entry) lisp-source-modes)
-	(setq extensions 
+	(setq extensions
 	      (concat "\\|" (car entry) extensions))))
     (substring extensions 2)))
 
@@ -59,7 +57,7 @@ The files must have an 'auto-mode' alist
 With a positive prefix, add the files on to the already existing
 files.  With a negative prefix, clear the list.  In either case set
 tags-file-name to nil so that tags are not used."
-  (interactive 
+  (interactive
    (list (if (not (eq current-prefix-arg '-))
 	     (read-file-name "Lisp Directory: "
 			     nil
@@ -141,8 +139,7 @@ optional package prefix.")
   ;; them into emacs lisp.  [Unfortunately, the quoting we have to do here will
   ;; be duplicated by %S on re-output, so this doesn't win by itself.  -- rgr,
   ;; 14-Sep-02.]
-  (save-excursion
-    (set-buffer (get-buffer-create " *ilisp-cl-result*"))
+  (with-current-buffer (get-buffer-create " *ilisp-cl-result*")
     (erase-buffer)
     (insert string)
     (goto-char (point-min))
@@ -693,11 +690,11 @@ back-p is non-nil."
 	 (progn
 	   (set-buffer (or (get-buffer "*Edit-Definitions*")
 			   (error "Bug:  No *Edit-Definitions* buffer.")))
-	   (if back-p 
+	   (if back-p
 	       (forward-line -1))
 	   (while (not (or result
 			   (if back-p (bobp) (eobp))))
-	     (if back-p 
+	     (if back-p
 		 (forward-line -1))
 	     (cond ((looking-at "\n"))
 		   ((looking-at "^;+ *\\(.*\\)")
@@ -930,8 +927,7 @@ items."
   ;; responsibility.  -- rgr, 4-Sep-02.]
   (setq lisp-using-tags nil)
   (setq lisp-last-file nil)
-  (save-excursion
-    (set-buffer (get-buffer-create (or buffer-name "*Edit-Definitions*")))
+  (with-current-buffer (get-buffer-create (or buffer-name "*Edit-Definitions*"))
     (erase-buffer)
     (lisp-edit-definitions-mode)
     (and initial-message
@@ -1038,9 +1034,9 @@ items."
 	(let ((buffers (buffer-list)))
 	  (setq edit-files nil)
 	  (setq files-origin "all Lisp buffers")
-	  (save-excursion 
+	  (save-excursion
 	    (while buffers
-	      (set-buffer (car buffers)) 
+	      (set-buffer (car buffers))
 	      (if (and (memq major-mode lisp-source-modes)
 		       (buffer-file-name))
 		  (setq edit-files (cons (buffer-file-name) edit-files)))
@@ -1175,7 +1171,7 @@ items."
 	    (list nil 'visit))
 	  ((minusp numeric-arg)
 	    ;; continue looking backward
-	    (list nil 'back)) 
+	    (list nil 'back))
 	  (t
 	    ;; continue looking forward
 	    (list nil nil)))))
@@ -1231,13 +1227,13 @@ lisp-fall-back-on-find-tags variable \(q
       (setq type "any"))
   (and (stringp definition-name)
        (setq definition-name (lisp-string-to-symbol definition-name)))
-  (cond (search 
+  (cond (search
 	  ;; Search through all files listed in tags table.  [really, this is a
 	  ;; different protocol; should be handled by another command.  -- rgr,
 	  ;; 31-Jul-02.]
 	  (let ((case-fold-search t))
 	    (setq tags-loop-scan (list locator
-				       (list 'quote definition-name) 
+				       (list 'quote definition-name)
 				       type t nil))
 	    (setq tags-loop-operate nil)
 	    (setq lisp-using-tags t)
@@ -1280,8 +1276,7 @@ string put that in the buffer."
 	    (let ((buffers (buffer-list)))
 	      (while buffers
 		(let ((buffer (car buffers)))
-		  (if (save-excursion 
-			(set-buffer buffer) 
+		  (if (with-current-buffer buffer
 			(and (memq major-mode lisp-source-modes)
 			     (buffer-file-name buffer)))
 		      (progn (insert ?\") (insert (buffer-file-name buffer))
@@ -1301,20 +1296,20 @@ string put that in the buffer."
 	(goto-char (point-min))
 	(forward-line 2)
 	(set-buffer-modified-p nil))
-      (error 
+      (error
        (substitute-command-keys
 	"Use \\[lisp-directory] to define source files."))))
-	  
+
 ;;;
 (defun lisp-next-file (back)
   "Return the next filename in *Edit-Definitions*, or nil if none."
-  (let ((file t) 
+  (let ((file t)
 	result)
     (set-buffer (get-buffer-create "*Edit-Definitions*"))
-    (if back 
+    (if back
 	(progn (forward-line -1)
 	       (if (looking-at "\n")
-		   (progn 
+		   (progn
 		     (forward-line 1)
 		     (end-of-line)
 		     (setq file nil)))))
@@ -1325,7 +1320,7 @@ string put that in the buffer."
 	    (progn (bury-buffer (current-buffer))
 		   (setq result nil))
 	    (let* ((start (progn (forward-char 1) (point))))
-	      (skip-chars-forward "^\"") 
+	      (skip-chars-forward "^\"")
 	      (setq file
 		    (prog1 (buffer-substring-no-properties start (point))
 		      (end-of-line)))
@@ -1358,7 +1353,7 @@ lisp-edit-files is nil, no search will b
 prefix, search for regexp.  If there is a tags file, call 'tags-search'
 instead."
   (interactive
-   (list (read-string (if current-prefix-arg 
+   (list (read-string (if current-prefix-arg
 			  "Search for regexp: "
 			  "Search for: ") lisp-last-pattern)
 	 current-prefix-arg))
@@ -1371,7 +1366,7 @@ instead."
 	    lisp-last-locator (if regexp
 				  'lisp-locate-regexp
 				  'lisp-locate-search))
-      (lisp-setup-edit-definitions (format "Searching for %s:" pattern) 
+      (lisp-setup-edit-definitions (format "Searching for %s:" pattern)
 				   lisp-edit-files)
       (next-definition-lisp nil nil)))
 
@@ -1402,7 +1397,7 @@ instead."
 	(t
 	 (setq lisp-last-pattern old
 	       lisp-last-replace new)
-	 (lisp-setup-edit-definitions 
+	 (lisp-setup-edit-definitions
 	  (format "Replacing %s by %s:\n\n" old new)
 	  lisp-edit-files)
 	 (let ((file nil))
@@ -1410,7 +1405,7 @@ instead."
 	     (lisp-find-file file)
 	     (let ((point (point)))
 	       (goto-char (point-min))
-	       (if (if regexp 
+	       (if (if regexp
 		       (re-search-forward old nil t)
 		       (search-forward old nil t))
 		   (progn (beginning-of-line)
@@ -1420,19 +1415,19 @@ instead."
 		   (goto-char point))))))))
 
 ;;;%%Edit-callers
-(defvar lisp-callers nil 
+(defvar lisp-callers nil
   "T if we found callers through inferior LISP.")
 
 ;;;
 (defun who-calls-lisp (function &optional no-show)
   "Put the functions that call FUNCTION into the buffer *All-Callers*.
 Show the buffer *All-Callers* unless NO-SHOW is T.  Return T if successful."
-  (interactive 
+  (interactive
    (let* ((function (lisp-defun-name))
 	  (symbol (lisp-buffer-symbol function)))
      (if (lisp-minus-prefix)
 	 (list function)
-	 (list (ilisp-read-symbol 
+	 (list (ilisp-read-symbol
 		(format "Who Calls [%s]: " symbol)
 		function
 		t t)))))
@@ -1461,7 +1456,7 @@ Show the buffer *All-Callers* unless NO-
 	    (replace-regexp "^;[^\n]*\n" "")
 	    (goto-char (point-min))
 	    (forward-line 2)
-	    (if (not no-show) 
+	    (if (not no-show)
 		(if (ilisp-temp-buffer-show-function)
 		    (funcall (ilisp-temp-buffer-show-function)
 			     (get-buffer "*All-Callers*"))
@@ -1493,7 +1488,7 @@ source files.  See lisp-directory."
 		    (skip-chars-forward "^ \t\n")
 		    (buffer-substring-no-properties start (point)))))
 	    (bury-buffer (current-buffer))
-	    (edit-definitions-lisp (lisp-string-to-symbol caller-function) 
+	    (edit-definitions-lisp (lisp-string-to-symbol caller-function)
 				  (car (car (ilisp-value 'ilisp-source-types)))
 				  (not pop))))))
 
@@ -1505,16 +1500,16 @@ With a minus prefix use the symbol at th
    (let* ((function (lisp-defun-name)))
      (if (lisp-minus-prefix)
 	 (list function)
-	 (list (ilisp-read-symbol 
+	 (list (ilisp-read-symbol
 		(format "Edit callers of [%s]: "
 			(lisp-buffer-symbol function))
 		function
 		t)))))
   (if (save-excursion (setq lisp-callers (who-calls-lisp function t)))
-      (progn 
+      (progn
 	(setq lisp-last-locator (ilisp-value 'ilisp-calls-locator))
 	(next-caller-lisp nil t))
-      (edit-definitions-lisp function "calls" nil t 
+      (edit-definitions-lisp function "calls" nil t
 			    (ilisp-value 'ilisp-calls-locator))))
 
 ;;;%Locators
@@ -1535,7 +1530,7 @@ A definition is of the form
 This is used as the default value of ilisp-locator; the specific dialect
 will usually override this with something more clever."
   (lisp-re back
-	   "^[ \t\n]*(def[^ \t\n]*[ \t\n]+(?%s[ \t\n(]+" 
+	   "^[ \t\n]*(def[^ \t\n]*[ \t\n]+(?%s[ \t\n(]+"
 	   (regexp-quote (lisp-symbol-name symbol))))
 
 ;;;
@@ -1562,16 +1557,16 @@ This is the Scheme counterpart of `lisp-
 (defun ilisp-locate-scheme-calls (symbol type first back)
   "Locate calls to SYMBOL.
 This is the Scheme counterpart of `lisp-locate-calls'."
-  (let ((call-regexp 
+  (let ((call-regexp
 	 (format "[( \t\n]+%s[ \t\n()]+"
-		 (regexp-quote 
+		 (regexp-quote
 		  ;; Scheme has no package prefixes, so we use
 		  ;; lisp-symbol-name instead of lisp-buffer-symbol.
 		  (lisp-symbol-name symbol))))
 	(def-regexp "[ \t\n]*(def[^ \t\n]*[ \t\n]+(*")
 	(result 'unknown))
     (while (eq result 'unknown)
-      (cond 
+      (cond
        ((if back
 	    (re-search-backward call-regexp nil t)
 	  (re-search-forward call-regexp nil t))
@@ -1581,7 +1576,7 @@ This is the Scheme counterpart of `lisp-
 		   (looking-at def-regexp)))
 	    (setq result t)))
        (t (setq result nil))))
-    result))	    
+    result))
 
 
 ;;; end of file -- ilisp-src.el --
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-sym.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-sym.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-sym.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 ;;; Notes:
 ;;;
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-utl.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-utl.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-utl.el,v 1.4 2003/08/05 02:18:13 rgrjr Exp $
 
 (defun lisp-show-send (string)
   "Show STRING in the *ilisp-send* buffer."
@@ -49,7 +47,7 @@ It considers all non alphanumerics as wo
   (let ((len1 (length s1)))
     (and (<= len1 (length s2))
 	 (let ((start 0)
-	       (start2 0) 
+	       (start2 0)
 	       end
 	       (match t))
 	   (while
@@ -64,7 +62,7 @@ It considers all non alphanumerics as wo
 				   s2 start2)
 				  (setq start2 (match-end 0)) ;OK
 				(setq match nil))) ;Can't find delimiter
-		     (setq match nil))	;Words don't match 
+		     (setq match nil))	;Words don't match
 		 nil))			;Ran out of delimiters in s1
 	   (and match
 		(string= (substring s1 start len1)
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-val.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-val.el
@@ -8,14 +8,11 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-val.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (defun ilisp-value (variable &optional no-error-p)
   "Return the value of VARIABLE in the ILISP buffer.
 If NO-ERROR-P is NIL, then an error will be signalled if VARIABLE is nil."
-  (save-excursion
-    (set-buffer (ilisp-buffer))
+  (with-current-buffer (ilisp-buffer)
     (let ((value (eval variable)))
       (if value
 	  value
@@ -26,8 +23,7 @@ If NO-ERROR-P is NIL, then an error will
 
 (defun set-ilisp-value (variable value)
   "Set the value of VARIABLE in the ILISP buffer."
-  (save-excursion
-    (set-buffer (ilisp-buffer))
+  (with-current-buffer (ilisp-buffer)
     (set variable value)))
 
 ;;; end of file -- ilisp-val.el --
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-xfr.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-xfr.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-xfr.el,v 1.3 2002/05/23 20:41:42 marcoxa Exp $
 
 (require 'cl)
 
@@ -27,7 +25,7 @@ If we have a complete sexp, send it.  Ot
 	(let* ((pmark (process-mark proc))
 	       (input (ilisp-get-old-input)))
 	  (if input
-	      (progn 
+	      (progn
 		(if (>= (point) pmark)
 		    (goto-char (point-max))
 		    (goto-char pmark)
@@ -45,7 +43,9 @@ If we have a complete sexp, send it.  Ot
 		;;       25/11/94 Marco Antoniotti
 		(when (or (eq +ilisp-emacs-version-id+ 'fsf-19)
 			  (eq +ilisp-emacs-version-id+ 'fsf-20)
-			  (eq +ilisp-emacs-version-id+ 'fsf-21))
+			  (eq +ilisp-emacs-version-id+ 'fsf-21)
+			  (eq +ilisp-emacs-version-id+ 'fsf-22)
+			  (eq +ilisp-emacs-version-id+ 'fsf-23))
 		  (setq comint-input-ring-index nil))
 		;; Nuke symbol table
 		(setq ilisp-original nil)
@@ -100,7 +100,7 @@ If 'ilisp-raw-echo' is T then echo it."
     (insert last-input-char)
     (set-marker (process-mark (ilisp-process)) (point))
     (set-marker comint-last-input-end (point)))
-  (process-send-string (ilisp-process) 
+  (process-send-string (ilisp-process)
 		       (make-string 1 last-input-char))
   (message ilisp-raw-message))
 
@@ -127,7 +127,7 @@ sending ^[1^], and turn it off by sendin
 
 ;;;%%Debugger interface
 (defun delete-char-or-pop-ilisp (arg &optional killflag)
-  "Delete ARG characters, or pop break level if at end of buffer.  
+  "Delete ARG characters, or pop break level if at end of buffer.
 Optional second arg KILLFLAG non-nil means kill instead (save in kill ring).
 Interactively, ARG is the prefix arg, and KILLFLAG is set if
 ARG was explicitly specified."
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp-xls.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp-xls.el
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp-xls.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 ;;; Thanks to John Walker for supplying this file.
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp.el,v 1.10 2003/12/13 23:43:44 rgrjr Exp $     
 
 ;;; Author: Chris McConnell <ccm@cs.cmu.edu>
 ;;; Maintainer: The Net <ilisp@cons.org>
@@ -80,7 +78,9 @@
 (load "comint-ipc")
 
 ;; This is optional -- used only by io-bridge-ilisp
-(unless (or (eq +ilisp-emacs-version-id+ 'fsf-21)
+(unless (or (eq +ilisp-emacs-version-id+ 'fsf-23)
+	    (eq +ilisp-emacs-version-id+ 'fsf-22)
+	    (eq +ilisp-emacs-version-id+ 'fsf-21)
 	    (eq +ilisp-emacs-version-id+ 'fsf-20)
 	    (and (eq +ilisp-emacs-version-id+ 'fsf-19)
 		 (>= +ilisp-emacs-minor-version-number+ 29)))
@@ -182,18 +182,18 @@
 	 ilisp-*enable-cl-easy-menu-p*)
 
 (unless (and (member +ilisp-emacs-version-id+
-		     '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21))
+		     '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21 fsf-22 fsf-23))
 	     (or ilisp-*enable-cl-easy-menu-p*
 		 ilisp-*enable-scheme-easy-menu-p*))
   (load "ilisp-mnb"))
 
 (when (and (member +ilisp-emacs-version-id+
-		   '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21))
+		   '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21 fsf-22 fsf-23))
 	   ilisp-*enable-cl-easy-menu-p*)
   (load "ilisp-cl-easy-menu"))
 
 (when (and (member +ilisp-emacs-version-id+
-		   '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21))
+		   '(xemacs lucid-19 lucid-19-new fsf-20 fsf-21 fsf-22 fsf-23))
 	   ilisp-*enable-scheme-easy-menu-p*)
   (load "ilisp-scheme-easy-menu"))
 
@@ -204,7 +204,7 @@
 
 (when ilisp-*enable-ild-support-p*
   (load "ild"))
- 
+
 ;;; IMENU Support
 ;;;
 ;;; 2000-03-04 Martin Atzmueller
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilisp.emacs
+++ ilisp-5.12.0+cvs.2004.12.26/ilisp.emacs
@@ -13,8 +13,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilisp.emacs,v 1.8 2003/11/24 22:25:49 bill_clementson Exp $
 
 
 ;;; If ilisp lives in some non-standard directory, you must tell
@@ -114,7 +112,7 @@
 
 ;(setq *cormanlisp-dir* "C:\\CORMAN~1\\CORMAN~1.5\\")
 ;(setq cormanlisp-program
-;      (concat *cormanlisp-dir* "clconsole.exe" 
+;      (concat *cormanlisp-dir* "clconsole.exe"
 ;	       " -image " *cormanlisp-dir* "CormanLisp.img"))
 
 ; (setq lispworks-program
--- ilisp-5.12.0+cvs.2004.12.26.orig/illuc19.el
+++ ilisp-5.12.0+cvs.2004.12.26/illuc19.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: illuc19.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 
 ;;;============================================================================
--- ilisp-5.12.0+cvs.2004.12.26.orig/ilxemacs.el
+++ ilisp-5.12.0+cvs.2004.12.26/ilxemacs.el
@@ -7,8 +7,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: ilxemacs.el,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 ;;;============================================================================
 ;;; Variables
--- ilisp-5.12.0+cvs.2004.12.26.orig/lispworks.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/lispworks.lisp
@@ -15,8 +15,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: lispworks.lisp,v 1.10 2003/06/28 02:10:16 rgrjr Exp $
 
 (in-package :ilisp)
 
@@ -42,8 +40,8 @@
     #+LispWorks4
     (dspec:at-location ((or (probe-file filename) (merge-pathnames filename)))
 		       (eval (read-from-string form)))))
- 
- 
+
+
 ;;; ilisp-trace --
 ;;;
 ;;; Notes:
@@ -57,7 +55,7 @@
    (let ((real-symbol (ilisp-find-symbol symbol package)))
      (when real-symbol (eval `(trace (,real-symbol :break ,breakp)))))))
 
- 
+
 (defun ilisp-callers (symbol package)
   "Print a list of all of the functions that call FUNCTION.
 Returns T if successful."
--- ilisp-5.12.0+cvs.2004.12.26.orig/lucid.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/lucid.lisp
@@ -1,7 +1,7 @@
 ;;; -*- Mode: Lisp -*-
 
 ;;; lucid.lisp --
-;;; Lucid initializations 
+;;; Lucid initializations
 ;;; Author: Chris McConnell, ccm@cs.cmu.edu
 ;;;
 ;;; This file is part of ILISP.
@@ -9,8 +9,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: lucid.lisp,v 1.3 2002/03/26 09:41:04 anisotropy9 Exp $
 
 (in-package :ilisp)
 
--- ilisp-5.12.0+cvs.2004.12.26.orig/mzscheme-ilisp.scm
+++ ilisp-5.12.0+cvs.2004.12.26/mzscheme-ilisp.scm
@@ -1,5 +1,5 @@
 ;;;; mzscheme-ilisp.scm --- ILISP support functions for MzScheme
-;;;; Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de> 
+;;;; Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>
 ;;;
 ;;; Copyright (C) 2000 Matthias Koeppe
 ;;;
@@ -8,8 +8,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: mzscheme-ilisp.scm,v 1.2 2001/05/12 22:10:53 marcoxa Exp $
 
 (define (ilisp-matching-symbols string package function? external? prefix?)
   (let loop ((syms (make-global-value-list))
--- ilisp-5.12.0+cvs.2004.12.26.orig/openmcl.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/openmcl.lisp
@@ -31,7 +31,7 @@
 
 ;;; source-file symbol package type --
 
-    
+
 (defun source-file (name package type)
   (ilisp-errors
    (flet ((print-source (path) (when path (print (namestring (truename path))) t)))
--- /dev/null
+++ ilisp-5.12.0+cvs.2004.12.26/pictures/ilisp-icon.svg
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64px"
+   height="64px"
+   id="svg2985"
+   version="1.1"
+   inkscape:version="0.48.3.1 r9886"
+   sodipodi:docname="ilisp-icon.svg">
+  <defs
+     id="defs2987">
+    <linearGradient
+       id="linearGradient3779">
+      <stop
+         style="stop-color:#eac4ea;stop-opacity:0.94244605;"
+         offset="0"
+         id="stop3781" />
+      <stop
+         style="stop-color:#9bdfe4;stop-opacity:0.9856115;"
+         offset="1"
+         id="stop3783" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3779"
+       id="linearGradient3789"
+       x1="6"
+       y1="33.090908"
+       x2="58.363636"
+       y2="33.090908"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3779"
+       id="linearGradient3809"
+       gradientUnits="userSpaceOnUse"
+       x1="6"
+       y1="33.090908"
+       x2="58.363636"
+       y2="33.090908" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.5"
+     inkscape:cx="18.397929"
+     inkscape:cy="25.870321"
+     inkscape:current-layer="g3799"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1258"
+     inkscape:window-height="872"
+     inkscape:window-x="330"
+     inkscape:window-y="247"
+     inkscape:window-maximized="0"
+     inkscape:snap-global="false" />
+  <metadata
+     id="metadata2990">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g3799"
+       transform="matrix(1.2291666,0,0,1.2256945,-7.3749998,-8.468435)">
+      <rect
+         style="opacity:0.69958848;fill:url(#linearGradient3809);fill-opacity:1"
+         y="6.909091"
+         x="6"
+         height="52.363636"
+         width="52.363636"
+         id="rect3009" />
+      <g
+         transform="translate(-0.54545454,1.0909091)"
+         id="g3793">
+        <text
+           xml:space="preserve"
+           style="font-size:27.62876511px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
+           x="37.721207"
+           y="30.62615"
+           id="text2993"
+           sodipodi:linespacing="125%"
+           transform="scale(1.0026417,0.99736527)"><tspan
+             sodipodi:role="line"
+             x="37.721207"
+             y="30.62615"
+             id="tspan2997">λ</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:30.3431015px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L Italic Condensed"
+           x="7.6185341"
+           y="52.024132"
+           id="text3001"
+           sodipodi:linespacing="125%"
+           transform="scale(1.049253,0.95305898)"><tspan
+             sodipodi:role="line"
+             id="tspan3003"
+             x="7.6185341"
+             y="52.024132">Ilisp</tspan></text>
+      </g>
+    </g>
+  </g>
+</svg>
--- ilisp-5.12.0+cvs.2004.12.26.orig/sbcl.lisp
+++ ilisp-5.12.0+cvs.2004.12.26/sbcl.lisp
@@ -10,8 +10,6 @@
 ;;; information.
 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
 ;;; of present and past contributors.
-;;;
-;;; $Id: sbcl.lisp,v 1.11 2003/12/28 22:50:56 rgrjr Exp $
 
 
 (in-package :ilisp)
@@ -147,7 +145,7 @@
                                    (t (print 99 *trace-output*)
                                       "No arglist available.")))
                                 (t "No arglist available."))))))
-               (madness))               ; 
+               (madness))               ;
            "Unknown function - no arglist available." ; For the time
 					; being I just
 					; return this
