Edits are given by date.  (LISP-IMPLEMENTATION-VERSION) should give a
date that matches that shown here.

9-Oct-85	Dks	[BOOT] Fixed GETHASH (and equivalent
"puthash") to look for NIL correctly when the hash-table was an equal
hash-table.  Was giving the wrong value to SXHASH.

7-Oct-85	Dks	[BOOT] Fixed error code when a floating point
number overflows on read.  Ie, made sure that err, err1, cerr, and
cerr1 set NIL and NIL1 to 0 (just in case they are garbaged due to
being in the middle of a computation).

7-Oct-85	Dks	[PRED] TYPE-OF returns DOUBLE-FLOAT instead of
LONG-FLOAT since long floats are collapsed into double floats; not the
other way around. 

7-Oct-85	josh	[BOOT]  *read-default-float-format* was
being ignored if the number did not have an explicit exponent
marker.

3-Oct-85	Dks	[PRED, ARITH, FORMAT] Got rid of "Bound but
not referenced" warnings by delcaring vars ignore. (Functions:
Complexp, Cis, Format-exp-aux)

2-Oct-85	Dks	[FORMAT] Fixed ~G and ~E to print smallest
amount of digits needed to print the exponent if e is not given (was a
default of 2).  Fixed FORMAT-GET-PARAMETER to handle numeric
parameters with + or - in front of them.  Fixed ~$ to handle non-float
and non-numeric args.  Fixed FORMAT-EXP-AUX to print out correct
number of digits after the decimal point.

1-Oct-85	Dks	[MISC] Added DISASSEMBLE function stub.  This
refers the user to DDT.

18-Sep-85	Clh	[BOOT] Fixed reading and printing of floating
point numbers so that a floating point number that is printed out and
then read back in again will be eql to itself.

18-Sep-85	Dks	[DEC20INIT]  Removed unneeded vars
COMPILER-VERSION and ASSEMBLER-VERSION.

12-Sep-85	Dks	[BOOT]  Fixed the routine that converts from
-20 time to CLisp time.  There was round-off error which was causing
the universal time format to be 1 sec. off in some cases.  This was
used by ENCODE-UNIVERSAL-TIME, GET-UNIVERSAL-TIME, and FILE-WRITE-DATE.

10-Sep-85	Dks	[BOOT]  Fixed the routine that prints atoms
without quotes (eg, NIL gets printed here.)  If *print-case* is an
invalid value, will default to :UPCASE instead of getting a system
error. 

9-Sep-85	Josh	[BOOT] Fixed printing of large floats.  Was
printing too many digits and was getting number of zeros wrong.

7-Sep-85	Dks	[KERNEL]  Added missing docstrings for
*READ-BASE*, RATIOP, STRUCTUREP, and some internal predicates
(bignump, bitp, fixnump, double-floatp, long-floatp, single-floatp,
short-floatp). 

6-Sep-85	Dks	[LIST, MACROS] Moved MAPx functions from
MACROS.CLISP to LIST.CLISP.  Fixed MAPC and MAPL to return the second
arg.  Made all MAPx functions instead of macros (like manual says).

6-Sep-85	Dks	[KERNEL]  Proclaim special all vars declared
in kernel that have not been proclaimed special elsewhere.

6-Sep-85	Dks	[BOOT.INIT]  Fixed DEFVAR (temporary one) to
check (and use) the doc string instead of the value for
%var-documentation. 

29-Aug-85	Dks	[MACROS]  Fixed WHEN to load interpreted
correctly. (Needed for regenerating the system.)

29-Aug-85	Dks	[ARRAY]  BIT-* functions fixed.

28-Aug-85	Dks	[SEQ] Fixed REPLACE.  When copying in the same
vector, be careful about copying the same elements over repeatedly.
Make sure that :END1 and :END2 are valid.

28-Aug-85	Dks	[ARITH]  RATIONALIZE added.  It is no longer
the same as RATIONAL.

28-Aug-85	Dks	[KERNEL]  Removed unneeded symbols being
exported. 

27-Aug-85	Dks	[MACROS]  Fixed WHEN and UNLESS to work with a
test form but no body forms.  DEFINE-MODIFY-MACRO exported.

27-Aug-85	Dks	[STEP]  Fixed INTERNAL-STEP to reset terminal
modes correctly.

7-Aug-85	Dks	[MISC]  Fixed REMOVE-ARG-DOCS to check
package-external-symbols before removing the arg docs.

5-Aug-85	Dks	[EVAL]  Fixed %TOP-LEVEL to turn off
*print-circle* (and *print-pretty*) when printing the *prompt*.

5-Aug-85	Dks	[TRACE]  Fixed trace to work with
*print-circle* (or *print-pretty*) on.

1-Aug-85	Dks	[STEP]  Save old terminal modes and restore
them when done in case the user has done something funny.

31-Jul-85	JoSH	[BOOT] fix bignum Truncate: signs were being 
dropped from the remainder, and negative divisors were not being 
negated correctly.

31-Jul-85	Dks	[READER]  Fix PARSE-INTEGER.

31-Jul-85	Dks	[BOOT.INIT]  Added #| and |# to the sharp
handler so that any system file can comment out code in this manner.

31-Jul-85	Dks	[ERROR]  Added *backtrace-print-level* and
*backtrace-print-length* to be used instead of hardcoded values when
doing a backtrace.

31-Jul-85	Dks	[SUBTYPEP]  Made OR-Type2, AND-Type1,
NOT-Type1, and NOT-Type2 be too hairy for subtypep.  The code for them
didn't work correctly in all cases.

30-Jul-85	Dks	[PPRINT]  Added code to make *PRINT-CIRCLE*
work.

30-Jul-85	Dks	[PRINT]  WRITE, PRIN1 (PRINT), PRINC, and
OUTPUT-STUCTURE call OUTPUT-PRETTY-OBJECT also when *PRINT-CIRCLE*
is T.

30-Jul-85	Dks	[ERROR]  Rebind PP-HASH-TABLE and
*PPRINT-RECURSIVE-CALL* in SIGNAL*, SIGNAL-CERROR*, ERROR*, CERROR*,
WARN*, and BREAK*.  This is needed for *print-circle* to work.

29-Jul-85	JoSH	 [BOOT.MID] Fixed compiled-function-p, it had
a wrong register reference causing it to do interesting things.

26-Jul-85	Josh	[BOOT.MID]  Fixed =, EQL, and EQUAL floating
overflow.  Happened when comparing most-positive-double-float and
most-negative-double-float.  Actually in xeqflo.

26-Jul-85	Dks	[SUBTYPEP]  Fixed ST-ARRAY-ELEMENT-TYPE to
return * (not T) when determining type of array, vector, and
simple-array.  Added use of DEFTYPE to SUBTYPEP.  Added check of equal
types, type2 = *, type2 = t (with type1 not= *), and type1 = NIL early
on in the code.

26-Jul-85	Dks	[PRED]  Added use of DEFTYPE in TYPEP.  Fixed
SIGNED-BYTE and UNSIGNED-BYTE in TYPEP.  Fixed checking of structures
(in TYPEP) to see if type is a symbol first.

24-Jul-85	Dks	[STEP]  Fixed step when *terminal-line-mode*
is NIL (default).  Also fixed handling of CR.

24-Jul-85	Dks	[MACROS]  Added CCASE and CTYPECASE.  In the
process rewrote case, typecase, ecase, and etypecase.

24-Jul-85	Dks	[BOOT.INIT]  Import editor functions into the
system package and export them from there.

24-Jul-85	Dks	[SEQ]  When coercing a list or vector to a
string, now check to see if all elements are of type string-char.
When coercing a list or vector to a bit-vector, now check to see if
all elements are of type bit (ie, 0 or 1).

24-Jul-85	Dks	[BOOT.MID]  Fixed printing of NIL when
*print-case* is set to :downcase or :capitalize.

18-Jul-85	Dks	[PACKAGE] Fixed APROPOS and APROPOS-LIST to
accept symbols along with strings as it's first argument.

18-Jul-85	Dks	[LOAD] If there is no explicit type (after
merging with *default-pathname-defaults*), load the youngest of either
the LAP or CLISP file.  If only one if them exists, load that one.

18-Jul-85	Dks	[MISC] DESCRIBE now checks %args-documetation
property if the function is compiled.  Arglist should be here.  If
not, puts **ARGLIST** in place of arglist.  DESCRIBE will not print
out info on the %args-documentation.  See CLC.CLISP for code to put
property on plist.  Added function REMOVE-ARG-DOCS that is called in
CBOOT.MIC that removes the %args-documentation property from internal
functions (to lisp package).  DESCRIBE now says the symbols can be
called as a MACRO if it is a macro (ie, doesn't always say can be
called as a FUNCTION).

18-Jul-85	Dks	[BOOT.MID] "_" is now legal in filenames
(PARSE-NAMESTRING).  Added a new function EDITOR-MODIFIED-P that
returns T if the editor has been modified, else NIL.

17-Jul-85	Dks	[ERRORM] Added ERRSET.

17-Jul-85	Dks	[MISC]  Changed LONG-SITE-NAME and
SOFTWARE-VERSION to return more useful information.

17-Jul-85	Dks	[CHAR] Fix MAKE-CHAR to work correctly (logand
the character code with the %character-code-mask before adding in bits
and font bits).

17-Jul-85	Dks	[SHARPM]  Fixed #n= and #n# to work correctly.
Fixed #n* to give an error when no bits follow the *.  Added font
integer to #\. 

16-Jul-85	Dks	[STRING]  All string functions use &key
instead of the with-keywords macro.

9-Jul-85	Dks	[STEP] Step now uses the documented
*TERMINAL-LINE-MODE*.  Unless it is changed, you don't have to type a
CR after the character.  Also Help corrected for printing current
expression.

9-Jul-85	Dks	[CHAR] Fixed CHARACTER to give an error if it
can't to the coercion instead of returning NIL.

9-Jul-85	Dks	[READER] Fixed SET-SYNTAX-FROM-CHAR to use
CONSTITUENTP correctly.

3-Jul-85	Dks	[PRED]  Export SATISFIES.

3-Jul-85	Dks	[FORMAT]  Added missing case to format when
destination is a string with a fill pointer.

3-Jul-85	Dks	[EVAL] Deleted duplicate definition of
variable *KEYWORD-PACKAGE* which is also (and still) defined in
PACKAGE.CLISP.

3-Jul-85	Dks	[KERNEL] Removed duplicate documentation
entries.  Export OTHERWISE.

28-Jun-85	Dks	[FORMAT] Justification now uses the correct
default line length.

28-Jun-85	Dks	[PPRINT]  Bit vectors now pretty print
correcty. 

27-Jun-85	Dks	[ARRAY] ARRAY-ELEMENT-TYPE rewritten and
fixed. 

27-Jun-85	Dks	[SEQ] MAP now correctly handles the case where
RESULT-TYPE is NIL.

24-Jun-85	Dks	[DEFSTRUCT]  The predicate for a structure
can now handle a string as the argument.

24-Jun-85	Dks	[PACKAGE] FIND-PACKAGE now correctly returns
1 arg instead of 2.  IN-PACKAGE makes sure the nicknames are strings.

24-Jun-85	Dks	[LIST] A number of functions rewritten
because of bugs and missing keyword args.  The functions are: SUBST
and friends, SUBST-IF & SUBST-IF-NOT and friends, NSUBST and friends,
NSUBST-IF & NSUBST-IF-NOT and friends, SUBLIS & NSUBLIS and friends,
ADJOIN, UNION, NUNION, INTERSECTION, NINTERSECTION, SET-DIFFERENCE,
NSET-DIFFERENCE, SET-EXCLUSIVE-OR, NSET-EXCLUSIVE-OR, and SUBSETP.

6-Jun-85	Dks	[CHAR] NAME-CHAR now uses (STRING SYM) to
coerce it's argument, instead of (COERCE SYM 'STRING) since COERCE
doesn't handle coercing symbols to strings.

6-Jun-85	Dks	[BOOT] GET fixed to work with a default when
the property list is NIL to begin with.

5-Jun-85	Dks	[PPRINT]  GRINDEF now prints out macros using
DEFMACRO instead of undocumented MACRO.

5-Jun-85	Dks	[DEFMACRO]  Added var *default-default* and
usage in Analyze1 since this is used by DEFTYPE.  Also added
*key-finder* var to Analyze1.  DEFMACRO now outputs (declare (ignore
**macroarg**)) if there are no args in the macro.

29-May-85	Dks	[SPIRRAT] EXPT (and INTEXP) fixed to handle
all cases correctly.  

22-May-85	Dks	[BOOT.INIT]  After we have exported (for
real) the symbols on boot-export, set this back to nil.  We don't
need to save this rather long list.

21-May-85	Dks	[BOOT.INIT]  Added #. to %sharp-handler
function.  Needed in READER.CLISP.

21-May-85	Dks	[DEFSTRUCT] Fixed defstruct handling of
(:CONSTRUCTOR NIL) option.  Added :COPIER option.

21-May-85	Dks	[ARRAY]  Added missing function
ARRAY-ROW-MAJOR-INDEX. 

16-May-85	Dks	[READER] Changed uses of "#," to use "#.".

16-May-85	Dks	[ARRAY] Replaced definition of MAKE-VECTOR
with a setf to MAKE-ARRAY, just in case someone is still using this
obsolete function.  Missing functions ARRAY-TOTAL-SIZE and
ADJUSTABLE-ARRAY-P added.  ARRAY-HAS-FILL-POINTER-P, FILL-POINTER,
and %SET-FILL-POINTER fixed to work with vectors (that are not
arrays) and not (try to) work with > 1-d arrays.  The EXTENSION arg
to VECTOR-PUSH-EXTEND has been changed from 25 to (LENGTH ARRAY), ie
a more reasonable extension.

15-May-85	Dks	[READER]  Changed the :conc-name for
READTABLE structure from || to NIL.  Changed setting of character
attribute constants from using setq to using defconstant.

15-May-85	Dks	[MISC]  Now DOCUMENTATION and
%SET-DOCUMENTATION don't need a system doc-type.  Will accept user
defined doc-types (via setf).  They are added in the %DOCUMENTATION
property.  This has been added to *IMPLEMENTATION-PROPERTIES*.

12-May-85	Clh	[BOOT] Fix deletefile and renamefile.  They
were not setting NIL1 to 0 after using it for a JFN

12-May-85	Clh	[PACKAGE] use-package with a undefined
package name blew up.

12-May-85	Clh	[FORMAT] $ did not implement the width
attribute, and handled padding wrong.

12-May-85	Clh	[MACROS] Move to new CMU code for SETF
and friends.  The only code didn't create lambdas to handle evaluation
order.  It also didn't handle SETF of APPLY.  I have generalized
the SETF of APPLY code to handle cases where the last variable
in the accessor shows up as the next to last in the expansion.
I use APPLY-BUT-LAST instead of APPLY.

12-May-85	Clh	[BOOT] Add APPLY-BUT-LAST

12-May-85	Clh	[CLC] Fix code generation for OR.  
(SETQ FOO (OR A (THROW ... would set FOO to NIL.

12-May-85	Clh	[EVAL] PROG didn't handle declarations.
Note that it still doesn't handle macros that expand to declarations.

10-May-85	Dks	[PROVIDE, CBOOT, BOOT.INIT]  Added new file
to implement modules.  The export functions are PROVIDE and REQUIRE.
The exported variables are *MODULES*, *REQUIRE-VERBOSE*,
*CLISP-MODULES-FILE*, and *MODULE-FILE-TRANSLATIONS*.

9-May-85	Dks	[MISC]  Removed uneeded check of 'documentation
property in DOCUMENTATION.  DESCRIBE now doesn't print out properties
that are used by system functions (assuming the user doesn't care
about these).  It checks the new variable *implementation-properties*
to see if it is a property that it shouldn't print out.

9-May-85	Dks	[LCLC] Adds properties to
*implementation-properties* that the compiler uses.  This needs to be
done after the compiler package has been made.  See MISC.CLISP for
use of this.

9-May-85	Dks	[BOOT]  Added check for "permanent atom" (not
just a constant atom) before checking to see if it's a special form.
The functions were SPECIAL-FORM-P, FBOUNDP, FMAKUNBOUND,
SYMBOL-FUNCTION, and DEFUN.

8-May-85	Dks	[STEP]  Reenabled all options to STEP that
were disabled do to step through interpreted system code.

6-May-85	Clh	[BOOT, CBOOT.*]  Install (PURIFY), to try
and speed up GC.

5-May-85	Clh	[TRANS]  Fix ~newline in FORMAT. Definition
of WHITESPACE-CHAR-P was missing.

5-May-85	Clh	[PACKAGE] Add SYS as nickname to SYSTEM package.

5-May-85	Clh	[MACROS] Implement (SETF (APPLY #'AREF ..

5-May-85	Clh	[EVAL] Set * /, etc., before printing the
value.

5-May-85	Clh	[BOOT] Anything that returns 0 values
must set O1 to NIL.

1-May-85	Dks	[HASH]  Added function HASH-TABLE-SIZE which
is needed in describe.

30-Apr-85	Dks	[QUERY]  Y-OR-N-P and YES-OR-NO-P totally
rewritten; they were quite wrong.

30-Apr-85	Dks	[PRINT] Removed unused functions PRINT-BIGNUM
and PRINT-BIGNUM-AUX.

30-Apr-85	Dks	[CHAR]  CHAR-NAME and NAME-CHAR rewritten to
use Rassoc and Assoc instead of a Do.

30-Apr-85	Dks	[FILESYS] Uneeded var RESULT removed from
ENOUGH-NAMESTRING. 

25-Apr-85	Dks	[*.CLISP, KERNEL.CLISP]  Added docstrings for
all functions exported from the lisp package except for very basic
ones like car, cdr, & cons.

24-Apr-85	Dks	[DEC20INIT] Added missing variable
MULTIPLE-VALUES-LIMIT.

17-Apr-85	Dks	[PRED] Added simple-array entry to predicate
alist, simple-array entry to typep, and defined SIMPLE-ARRAY-P.

17-Apr-85	Dks	[DEFMACRO]  Added definition for DEFTYPE.

17-Apr-85	Dks	[ERROR]  Clear input on *terminal-io* before
going into break loop.

17-Apr-85	Dks	[ARITH]  Added missing functions LCM,
FLOAT-DIGITS, and FLOAT-PRECISION.

17-Apr-85	Dks	[FILESYS]  Copied defuns of OPEN and CLOSE
from BOOT.INIT so that they are compiled.

17-Apr-85	Dks	[DEC20INIT]  Copied defun of HELP from
BOOT.INIT so that it is compiled.

17-Apr-85	Dks	[*.CLISP] Moved exporting of symbols from
PACKAGE.CLISP to the individual files.  Symbols are exported in the
file that they are defined.  Things that are defined in BOOT.MID are
exported in KERNEL.CLISP.

17-Apr-85	Dks	[PACKAGE.CLISP]  Removed *MODULES* variable
from this file.  This is defined in PROVIDE.CLISP which will be added
to the system soon.

17-Apr-85	Dks	[PACKAGE.CLISP]  INIT-FILE-PATHNAME is no
longer exported as it was never used.

15-Apr-85	Clh	[BOOT.MID] save N around type conversion
routines in BINOP.  (> .6 1/2) was returning the wrong thing, and
other values would blow up.

15-Apr-85	Clh	[BOOT.MID] found several places where
BIGMAK was being called with non-Lisp stuff in the Lisp AC's.
Fixed them all (I hope).

15-Apr-85	Clh	[BOOT.MID] fix bindv, the runtime support
for PROGV.  It takes lists as args, but was coded assuming it
took only simple args.

15-Apr-85	Clh	[SPIRRAT] Add PI

15-Apr-85	Clh	[ARITH] Move to new CMU code for ROUND.  Does the 
right thing for negative numbers.

11-Apr-85	Dks	[SUBTYPEP] "Unfixed" return values from
ST-ARRAY-DIMENSIONS for arrays and simple-arrays.  This was correct
to begin with!  (see entry on 2-Apr-85).

11-Apr-85	Dks	[FORMAT] Removed NIL entry from
CARDINAL-TEENS variable; wasn't printing cardinal teens correctly.
Fixed printing of cardinal ones; was printing an extra space before
them.  Fixed printing of cardinal numbers larger than one thousand.

6-Apr-85	Clh	[BOOT] Fix TRUNC.  We were producing an
unnormalized floating negative zero.  The hardware doesn't seem to
be able to handle this.

6-Apr-85	Clh	[BOOT] Fix &rest processing allow subsequent
&key args.

6-Apr-85	Clh	[ERROR] Get-caller was doing speval of %benv%.
This blew up if %benv% was not defined.  Do BOUNDP first.

6-Apr-85	Clh	[BOOT.INIT] Put in temporary definitions of
in-package and export, since they are now used in most files.

6-Apr-85	Clh	[SUBTYPEP, FORMAT] Fix calls to EXPORT that
passed a symbol instead of a list.

6-Apr-85	Clh	[PACKAGE] In make-package, nick-name should
be nickname.

6-Apr-85	Clh	[PACKAGE] In in-package, there is code to
allow addition of nicknames to existing packages.  It didn't quite
work.

5-Apr-85	Dks	[DOC-STRINGS, KERNEL] File called
Doc-Strings.Clisp was changed to be Kernel.Clisp.

3-Apr-85	Dks	[DEFSTRUCT]  Removed duplicate SLOT-OPTIONS
slot to structure DEFSTRUCT-DESCRIPTION.

3-Apr-85	Dks	[READER] Removed duplicate versions of
TEST-ATTRIBUTE and WHITESPACEP.

3-Apr-85	Dks	[ARRAY] Added missing &REST OPTIONS to the
arglist for ADJUST-ARRAY.

3-Apr-85	Dks	[PACKAGE] Added missing &REST KEYS to arglist
for IN-PACKAGE.

3-Apr-85	Dks	[*.CLISP]  Added (IN-PACKAGE 'LISP) to the
beginning of all files.

3-Apr-85	Dks	[ARRAY, DEFSTRUCT, SEQ, SHARPM, SORT]  Calls
to (obsolete) MAKE-VECTOR changed to MAKE-ARRAY.  

3-Apr-85	Dks	[ARRAY]  Function MAKE-VECTOR removed.

3-Apr-85	Dks	[LOAD, PACKAGE, PRINT, READER, SORT, STRING]
Use of macro WITH-KEYWORDS removed; actual keywords used now.  Only
use of WITH-KEYWORD is the function TRACE.  This should be fixed
sometime soon.

2-Apr-85	Dks	[ARITH]  Changed FLOOR, CEILING and MOD to be
more readable.

2-Apr-85	Dks	[BACKQ]  Changed (read stream t) to be (read
stream t nil t) in BACKQUOTE-MACRO.

2-Apr-85	Dks	[FORMAT]  Removed unneeded special
*PRINT-NIL*.  FORMAT-WITH-CONTROL-STRING now tries to coerce the
control string into a simple-string before complaining that it's not
a string.  FORMAT only coerces control-string if necessary and
doesn't complain if it's not a string (coerce will do that).  Changed
a unneeded double cond in FORMAT-PRINT-ORDINAL into a single cond.
Also fixed the printing of teens to work correctly.  

2-Apr-85	Dks	[PPRINT]  Added calls to DEFPRINT for
defconstant and defvar.

2-Apr-85	Dks	[SEQ]  Added simple-array type to
MAKE-SEQUENCE.  Fixed FIND keyword :TEST-NOT to work correctly.

2-Apr-85	Dks	[SORT]  Fix SORT to handle 0 length arrays
and vectors.  Changed references to undefined function %sp-caref1 to
aref. 

2-Apr-85	Dks	[SYMBOL]  COPY-SYMBOL now uses copy-list
instead of copy-seq for the copying of the plist.

2-Apr-85	Dks	[SUBTYPEP] Fixed returned values from
ST-ARRAY-DIMENSTIONS for arrays and simple-arrays.  Unquoted type2 in
calls to DEF-SUBTYPEP-SPECIALIST for SHORT-FLOAT, SINGLE-FLOAT,
DOUBLE-FLOAT & LONG-FLOAT.  Entries by me from here up (until noted)
are changes made from latest versions of source from CMU.

29-Mar-85	Dks	[DOC-STRINGS]  Removed invalid entries to
docstrings. 

28-Mar-85	Dks	[DOC-STRINGS]  Fixed invalid entries to
docstrings. 

25-Mar-85	Dks	[BOOT]  Fixed call to notcns.  This had one
arg but was calling err.

24-Mar-85	Clh	[BOOT, BOOT.INIT, MACROMEMO] Fix DECLARE.
The macro definition introduced earlier was causing strange
expansions to happen.  The problem turned out to be that DECLARE
was defined as a macro in BOOT.INIT.  Remove that and make it a
special form.

24-Mar-85	Clh	[BOOT] implement PURIFY-STRINGS.

24-Mar-85	Clh	[BOOT] make SETDEF not clear a special-form
definition, so that we can define *MACROEXPANSION* as both a special
form and a macro.

24-Mar-85	Josh	[BOOT.INIT] move load of macromemo

24-Mar-85	Josh	[LAP] count function calls and pass the
number to allocate-bps

24-Mar-85	Josh	[LCLC, CLC] allow more than 5 variables in
MV-SETQ

24-Mar-85	Josh	[CLC] if a function needs lexical closure,
pass it through uncompiled.

24-Mar-85	Josh	[MACROMEMO] reimplement to allow SETF of
a form defined as a macro.

24-Mar-85	Josh	[MISC] define TIME as a macro

14-Mar-85	Dks	[PACKAGE]  Export symbols &allow-other-keys
and &environment.

9-Mar-85	Clh	[PACKAGE]  Fix DO-SYMBOLS to follow
Fahlman's latest clarifications.  Remove DO-ACCESSIBLE-SYMBOLS,
since that is what DO-SYMBOLS does.

9-Mar-85	Clh	[CBOOT.MIC] Put version date in startup
message.

7-Mar-85	Dks	[FORMAT]  Added #\page and #\newline to
Whitespace-char-p.  Now this is true for all whitespace syntax chars.

6-Mar-85	Dks	[FORMAT]  Redo Whitespace-char-p to conform
to slisp version; ie, added #\return and #\linefeed as whitespace.

6-Mar-85	Dks	[MISC]  Removed Stub version of function ED.
Was defined twice in this file.

4-Mar-85	Clh	[PACKAGE] redo DO-ALL-SYMBOLS and friends.
Simplify, and make them fit the definition.  Make APROPOS default
to ignore internals of LISP:: and CLC::, and use STR-SEARCH, which
is about twice as fast as the generic.

4-Mar-85	Clh	[BOOT, SEQ] hardcode IDENTITY, because it
is used so often.

4-Mar-85	Clh	[PACKAGE] add code to get rid of useless
atoms.  However at the moment it goes too far, so I'm not using it.

4-Mar-85	Clh	[CBOOT.CLISP] read user's CLISP.INIT

4-Mar-85	Clh	[LOAD] make :if-does-not-exist work

4-Mar-85	Clh	[CLC] called TAG-NAME which does not exist

3-Mar-85	Clh	[ERROR] major redesign of ERROR, to allow
the user to change the context, and fix lots of problems in the
way the default context was being found.  Also add the ^ command,
and make break level numbers show up.

3-Mar-84	Clh	[BOOT] Calling an undefined function from
compiled code will now give a correctable error, and the message
will say what the undefined function is, if possible.

3-Mar-85	Clh	[CLC] Fix the code generated to exit from
a CATCH.

3-Mar-85	Clh	[LAP] Fix ADJUST-VALUES.  A simple typo.

1-Mar-85	Clh	[BOOT] move start of data section to 200000
in DATSEC.  Old position was causing pager refill problems.

1-Mar-85	Clh	[BOOT] special-case optimization for FUNCALL
with 2 and 3 args (functions with 1 and 2 args), to speed up
sequence functions.

1-Mar-85	Clh/Josh  [BOOT, *.CLISP]  Install compiler, build
compiled version.

1-Mar-85	Clh	[BOOT] fix PARSE-NAMESTRING so that :NEWEST
gives a null version, instead of 0.  This means we will no longer
overwrite existing files on output.

1-Mar-85	Clh	[BOOT] fix bug in number reader that 
sometimes resulted in garbage for integers longer than 4 digits.

1-Mar-85	Clh	[TRACE] make indentation work right in trace
output.

18-Feb-85	Clh	[BOOT, ERROR] implement NEXTBL in BOOT, which is
used to find the next item of interest on the stack. It finds both eval
blips and compiled calls.  Fix dump-stack to use it.

17-Feb-85	Clh	[BOOT] truncate characters to 27 bits
in TYI.  Fix RDTABR and friends to truncate to 7 bits, so we
don't overflow the table.  Fix the code that reads from the
terminal in PASS-ALL mode to truncate to 7 bits.

17-Feb-85	Clh	[BOOT, SPIRRAT] Add irrational functions.
Change BOOT to produce a .REL file so we can link it with FORLIB.
Added the whole section of irrational functions, as well as the
arithmetic trap handling.

15-Feb-85	Clh	[BOOT, ERROR] Fix error package to eval
things in context of error, and give a few more options.

12-Feb-85	Dks	[BACKQ, DEC20INIT, DEFMACRO, ERRORM, FORMAT,
MISC, PACKAGE, PRINT, RAND, TRACE, INIT]  Changed use of DECLARE at
top level to PROCLAIM.

11-feb-85	Clh	[BOOT] print hash tables in <> form

11-feb-85	Clh	[PACKAGE] do-all-symbols, etc., should show
a given symbol only once.  IMPORT can cause duplicates.

10-feb-85	Clh	[BOOT] Fix problems with labels and macrolet:
They were not putting closures onto %FENV%, which means that variable
accesses could be wrong.  Also, functions defined with labels could
not call themselves recursively.  Make %MACROEXPAND look at %FENV%.

10-feb-84	Josh	[SEQ] fix delete-if-not

10-Feb-85	Josh	[LIST] define cxxr and first... functions
appropriately for compiler

10-feb-85	Josh	[LIST] fix various minor bugs in the search
functions:
	In one of the subcases of subst, the test is called on old and new
	rather than new and tree.  (subst new old tree :test #'testfunc)
	
	The manual says arg order to subst-if is (subst-if new test tree)
	whereas the code in list.clisp[slisp] is (subst-if test new tree).

	The :key arg in sublis is missing.  Also, sublis was not passing its 
	other keyword args down in recursive calls.

	My reading of the manual indicates that 
	(subst new old tree :test #'tfn :key #'kfn)
	should fire when (tfn old (kfn tree)) is true, but the 
	code is implementing the test of (tfn (kfn old) (kfn tree)).
	(The description of subst does not mention :key at all, but
	specifies that it follows the sequence function conventions.
	The sequence fn chapter indicates (p 247) that the keyfn is called
	on the item from the sequence but not the argument item.


4-feb-85	Clh	[SEQ] fix SEARCH so that the test function
gets its arguments in the right order.

4-feb-85	Clh	[PPRINT] make PPRINT reentrant.  Add a stack
of output buffers.

4-feb-85	Clh	[BOOT] if the user gives a bogus *PRINT-CASE*,
use upper case.

4-feb-85	Clh	[BOOT] use EDITOR: instead of SYS:EMACS.EXE if
it is TECO-based.

4-feb-85	Clh	[SHARPM] #0a should make a 0-dimensional array

4-feb-85	Clh	[BOOT] Change the way PRATOM decides whether
to print : or :: in front of an atom name.  The new one is slightly
slower, but simpler and safer.

3-feb-85	Clh	[ARRAY] Treat 'bit like '(mod 2)

3-feb-85	clh	[BOOT] Only use #* format for outputting one-
dimensional arrays!

3-feb-85	josh	[BOOT] add if-continued message to CERR
macros, and fix all calls.

3-feb-85	clh	[PACKAGE] add stuff that wasn't exported

3-feb-85	clh	[BOOT, MACROS] %SET-PLIST was called %SP-SET-PLIST
some places. Be consistent: only use %SET-PLIST.

3-feb-85	clh	[MACROS] fix DEFSETF for GET and GETF to allow
extra argument, which we ignore in this context.  (It is a default.)

3-feb-85	clh	[BOOT] GENSYM should not add - to the pname

3-feb-85	clh	[BOOT] implement GENTEMP

3-feb-85	clh	[INIT] call (random-init)

3-feb-85	clh	[DEC20] add lots of implementation constants

3-feb-85	clh	[CHAR] implement DIGIT-CHAR

1-Feb-85	Dks	[LIST] Added missing doc string to function
SUBSETP. 

29-Jan-85	Dks	[PACKAGE] Undid previous edit (ie, removing
exported symbols).  These *will* be exported from the "LISP" package
and not the "COMPILER" package.  Also, removed from the list of
exported symbols, since they are not used anywhere:
read-binary-object, write-binary-object, *load-set-default-pathname*,
*load-pathname-defaults*, *compile-file-set-default-pathname*, and
compile-from-stream. 

25-Jan-85	Dks	[PACKAGE] Removed COMPILE, COMPILE-FILE,
COMPILEDP, and UNCOMPILE from the exported symbols.  These will be
exported from the "COMPILER" package.

25-Jan-85       Dks     [PACKAGE] Changed export of function
file-creation-date to file-write-date.  There is no such function as
file-creation-date. 

8-Jan-85	Clh	[BOOT] Save and restore MVP in catch/throw.

7-Jan-85	Clh	[PACKAGE] Make apropos use CHAR-EQUAL, so as to
be case-insensitive.

7-Jan-85	Clh	[FORMAT] Fix ~?.  Didn't take the second arg.

7-Jan-85	Clh	[SEQ] Map and concatenate didn't allow BIT-VECTOR
as a result type.  Do a general review of result types.  Found a couple
of other omissions.

3-Jan-85	Clh	[BOOT] Fix ALBIND to make sure the user isn't
trying to bind something other than a symbol.  Otherwise (let (((x y))))
looped, and other odd effects.

3-Jan-85	Clh	[BACKQ] BACKQUOTE-MACRO was calling READ without
specifying RECURSIVE-P.  The result is the `A<eol> at the top level
wouldn't work.  It had to be followed by whitespace.

3-Jan-85	Clh	[STEP] (STEP FOO) was giving strange results.
It was trying to enable an option that can't work until the system
is compiled.  I have disabled it.

3-Jan-85	Clh	[MACROS] CASE, TYPECASE, ECASE, and ETYPECASE 
returned T for null consequents.  Should return NIL.

3-Jan-85	Clh	[BOOT] TIME was returning only the first value
of the form it EVAL'ed.  A stray MOVEI N,1 from the old MV implementation
was still there.

3-Jan-84	Clh	[BOOT] '2line was being read as 2lINE, i.e. the
l was not being upper-cased.  This is because the l was parsed as an
exponent marker, and I was not uppercasing them.  Fixed this and some
other places where things were not uppercased.  Also, noticed some
cases where "digits" > 9 would not be handled properly with hexadecimal
radix.  Added some extra states to the finite state machine to handle
radixes < 10.  In radix 8, "129" is a symbol, but "129." is a number.

3-Jan-85	Clh	[BOOT] Fix DEFUN to check the thing you are
trying to define.  Make sure it is a symbol, and is not a special form.
Somebody DEFUN'ed LABELS.  The result was sort of a half-function.  Some
things saw the definition assigned by DEFUN and others saw the builtin
interpretation.

3-Jan-85	Josh	Moved to Josh's new version.  Contains
support for compiled functions, also reimplementation of
multiple values.

30-Nov-84	DKS	[PACKAGE] Added variable *MODULES* which was
missing. 

23-Nov-84	CLH	Fix MINUSP and PLUSP for ratios.  Was
call to DOCAR followed by ? - DOCAR ate the whole line.  BOOT.MID

6-Nov-84	DKS	[PACKAGE] Added %GET-KEY to the list of
functions exported from *lisp-package*.  This is needed in the
compiler for handling keyword args.

23-Sep-84	DKS	[PACKAGE] Added EXIT to the list of functions
exported from *lisp-package*.

21-Sep-84	DKS	[FORMAT] Added the function WHITESPACE-CHAR-P
which as missing.

25-Jun-84	CLH	Fix errors in EVALHOOK and APPLYHOOK that
made it impossible to STEP through a RETURN.  Make :PASS-ALL mode
turn off interrupt characters.  Implement :TRANSLATE to control
CCOC.

24-Jun-84	CLH	Fix error interrupts.  Implement ^C,
^G, ^B, ^Y

16-Jun-84	CLH	Redo syntax classes, from the manual.
Multiple escape had been classified as a constituent, there was
no illegal character type, and a few other minor errors.  Change
the break commands $G $P $S, since we can't have symbols with
escapes in them any more.

28-May-84	CLH	Redo end of line processing, to read LF

in CRLF immediately after CR.  No longer turns CR into end of line.
Fixes many minor glitches.  Add make-fill-pointer-output-stream, for
with-output-to-string.  Fix read-from-string. (I had changed
make-string-input-stream, on which it is based, but not tested the
results.  A couple of minor typos.)

28-May-84	CLH	Implement wierd streams, input-streamp,
output-streamp, stream-element-type, dribble.  Fix a problem in
bookkeeping in input string channels.

26-May-84	CLH	Minor things for the first local release:
  grindef and ed were not doing the right thing for macros.
  ? referred to SSTEP.  Of course it is STEP
  make (boot) work with no arg, and put copyright message in

26-May-84	CLH	Install the EMACS interface.  This is a
preliminary version.  It does not assume any special package for EMACS,
which limits its ability to do anything interesting.  The full ELISP
EMACS interface is there, so it would be easy to import LEDIT. Also
defined EDIT, which doesn't evaluate its arguments, and  KILL-EDITOR.
If you ^C and CONTINUE, I now restart EMACS at its current PC, rather
than doing a real continue.  For some reason continue doesn't always
work.  (This sounds like a monitor bug.)

25-May-84	CLH	Clean up new terminal I/O features, including
one bug wherein bad arguments to SET-TERMINAL-MODES could cause an
ill mem ref.  More important, fix end of line handling to match the
manual.  Use linefeed as end of line.

24-May-84	CLH	Lots of work on terminal I/O:
  use TEXTI for I/O to terminals opened by OPEN, not just *TERMINAL-IO*
	unless they are opened in 8-bit mode, of course
  do RFPOS after TEXTI and update line position.  This makes
	FRESH-LINE do the right thing in the top level loop
  implement GET-TERMINAL-MODES and SET-TERMINAL-MODES.
  fix the top level and error top level so they don't put out blank
	lines.  24 lines just isn't enough to waste space.

23-May-84	CLH	Fix *GC-TRIGGER*.  Default it to 1.0. Previously
we were getting a GC every 64K words, which is a big mistake with 256K
of system code.

22-May-84	CLH	Added PPRINT.  This required implementing
"buffer streams" in the kernel, and a fix to STRSPS (FILE-POSITION for
string streams).  It also required work in PRINT.CLISP and in the kernel
(at IPRIN) to cause *PRINT-PRETTY* to work in all cases.  (In CMU's
code, WRITE and all -TO-STRING functions ignore *PRINT-PRETTY*.)
Modified PPRINT so it shows only the original form of *MACROEXPANSION*'s.

22-May-84	CLH	Added functions from Misc chapter.  This
finishes the first pass through the manual.  Fixed APROPOS to have the
right default package.  Reimplemented the macro underlying DO-x-SYMBOLS
to use MAPHASH instead of implementation-dependent hackery.  Fixed two
problems with WRITE-TO-STRING: OSTPUT could garbage W4, and PRATM
sometimes left NIL1 non-zero.

