[cmucl-cvs] [git] CMU Common Lisp annotated tag snapshot-2011-10 created. snapshot-2011-10

Raymond Toy rtoy at common-lisp.net
Sat Oct 1 15:13:19 UTC 2011

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMU Common Lisp".

The annotated tag, snapshot-2011-10 has been created
        at  581bd635ae7e03c3bf8aa79b9fabe20e35c7b02e (tag)
   tagging  155ba1a11ff0eee796912ff8967c3a13d05ff397 (commit)
 tagged by  Raymond Toy
        on  Sat Oct 1 08:11:55 2011 -0700

- Log -----------------------------------------------------------------
Snapshot 2011-10

Raymond Toy (21):
      Update with instructions for using git instead of CVS.
      Remove incorrect statement about using a different dir than src.
      Testing commit email script.
      Test 2
      Test 3
      Test 4
      Test 5
      Test 6
      Remove test text and fix trac #46.
      Testing trac/git integration.
      Fix ticket:46 by removing testing junk.
      Fix Trac ticket:46.
      Regenerated from current sources.
      Fix ticket:48.  Use Carl's idea to use git to insert the appropriate
      Fix ticket:49.  In every file-comment, replace the existing $Header$
      Add the tree hash to the version string.
      Don't say "CVS Head" in the default version string.
      Add -O option to allow specifying options for all builds.
      No need to create pot files with backups anymore.
      *** empty log message ***

agoncharov (37):
      Getting rid of some compiler warnings:
      A commented change to test CVS commit notification. Will be removed in
      White space noise for CVS commit testing
      A white-space change (reversal to the "-2" version), to test CVS
      Instead of defining DPRINTF in every X-os.c file, do it once, in os.h
      Get rid of the annoying gcc warning: "dereferencing type-punned
      The features X87 and SSE2 are supposed to be exclusive; x87-to-sse2
      Fixing a check-in snafu: in the submission of Sunday, December 7, 2008
      Exit with an error code 1 on bad errors.
      * code/exports.lisp -- Added a missing quote characher.
      Fixed a broken test (unquoted $VAR).
      Keep the settings common to all x86 platforms in Config.x86_common.
      elf.c, essential for FreeBSD, was lost during the last Config.x86_*
      Use GCC-good `__asm__` instead of GGC-not-so-good `asm'.  Added a bit
      Use 'const char *' instead of 'char *' where appropriate
      A more consistent treatment of signal handlers.
      Bringing a bit more structure to the build system
      Changed the documentation string for the function `append', to better
      A slight change of wording in the first sentence (and a new line after it).
      *** empty log message ***
      Reverting the previous check-in -- I submitted it by accident (the
      Remove the "freebsd4" feature from the, well, FreeBSD product
      Provide ext:getenv function.
      In `(defun getenv (name))': check for name being in *keyword-package* first.
      As suggested by Madhu <madhu at cs.unm.edu>, removed the ext:getenv
      of (FresBSD+) Get rid of gcc warnings: int != ulong; char *strdup() != int strdup; lisp space
      Be prepared for future Solaris versions when building a distro.
      Fix a typo.
      An old silly typo fix.
      Fixing a trivial typo: 'G' rather than the second 'B' in 'getopts'.
      Another trivial typo fix: boootstrap -> bootstrap.
      EXECUTABLE for FreeBSD; plus add libmd to the build
      Various, small (EXECUTABLE, FreeBSD, no warinings, typo)
      WIP: a run on EXECUTABLE for FreeBSD
      EXECUTABLE seems to work on FreeBSD now. TODO: mv tools/linker-x86.sh tools/linker.sh
      Remove a leftover WIP kludge.

ch (117):
      Added LIP register.
      Initial revision
      Initial revision
      Hyphenated LEX-ENV.
      Initial revision
      Added $Header$ cruft.
      Cosmetic changes only.
      Added code to number instructions, identify branch delay slots, and deal
      Add li and b macros.  These are two of the ``synthesized'' instructions
      I'm a bogon.  Removed li macro since loadi does the same and more.
      Changed all uses of PROMPT-FOR-FILE to supply (BUFFER-DEFAULT-PATHNAME
      Added optional argument to MOVE to always force code emission.
      Added pseudo thangs for component dumping.
      Fixed byte-order brain damage for PMAX.
      Changed pseudo instructions to use the same real instructions that the
      Added ability to load symbols to LOAD-CONSTANT-TN.
      Fixed typo in last fix.
      Fixed printing of MOVE pseudo-instruction.
      Added ``DATA'' instruction decoding.
      Added lowtag-limit constant.
      Modified disassembler to use VM:OFFSET-INITIAL-SYMBOL.
      Added new type checking macros.
      Change INITIAL-SYMBOL<mumble> to STATIC-SYMBOL<mumble>.
      More frobs to the type checking macros.
      Added SINGLE-FLOAT and DOUBLE-FLOAT primitive types.
      Minor frob to type checking macros to prevent spurious warnings.
      Changed the other-immediate type to other-immediate-0 and added
      Fixed export list w.r.t. BASE-CHARACTER-TYPE.
      Initial revision.  Type-checking code for the MIPS R2000.
      Various frobs.  Compiles now.
      Changed string-char to base-character in preparation for X3J13.
      Added SC-Is.
      Fixed the check out commands so that they don't screw you if you've
      Fixed an oversight in the last frob.
      Added code to utimes(2) the user's file after check in.
      Fixed a bug I introduced in RCS-CHECK-IN-FILE.
      No changes.  Just testing things.
      Fixed a silly bug in check in utimes(2) code.
      Trying to check this in again.
      Frobbed a few messages to be more descriptive.
      Fixed a bug related to the keep original stuff.
      Added THREE-WAY-COMPARE macro.
      Converted Pointer-Compare and Check-Mumbles.
      Initial conversion to MIPS R2000.
      Added type to base-character primitive type definition.  May not be the
      Add -f flag to mv.
      Checked in William's changes he made w/o locking the file.
      Corrected the spelling of ``specify.''
      Added array-header-p.
      Nuked ``RCS Check Out Keep Orignal As Backup'' variable because it is
      Fixed printing stuff not to lose on bogus pointers.
      Fixed a bogosity in the SYMBOL-FUNCTION vop.
      Removed all type ranges by enumerating them because the type checking
      Fixed a bug in the hairy type checking macros related to ranges.  Ranges
      Changed the translation of SAP-INT and INT-SAP to SAP-INT and INT-SAP
      Fixed bogus definitions of the CODE-CHAR and CHAR-CODE vops.
      Added *STATIC-SPACE-ALLOCATION-POINTER* to the static symbol list.
      Initial revision
      Incorporated GC.
      Incorporated GC.
      Frobbed to include GC.
      Frobbed for GC.
      Fixed bug in assem.o rule.
      Added a linefeed to an error message.
      Initial revision
      Commented out debugging printf.
      Added *FREE-INTERRUPT-CONTEXT-INDEX* to static symbols.
      Initial revision
      Previous version incremented the BSP by the wrong size (was 4 not 8).
      Initial revision
      Updated to use parameters from ./validate.h
      Frobbed to include new source files.
      Added scavenging of interrupt contexts.
      Added interrupt context saving.
      Added call of interrupt_init().
      Added extern declaration for register names array.
      Added context printing.
      Hacked to include a brief printing function.
      Initial revision
      Added two spaces to the printing of the PC to make it line up right.
      Moved the assertion testing for a code header past the code that first
      Added backtrace.
      Initial revision
      Added stack zeroing.
      Made dependencies.
      Added NREGS manifest constant.
      Modified parse_lispobj to understand registers.
      Added weak pointer object.
      Added code to handle transporting EQ hash tables.
      Made MAKE-FIXNUM always return positive fixnums.  Some code in the
      Added support for weak pointers.
      Added code to print weak pointers.
      Added exports from VM for weak pointer support.
      Added external pager initialization call.
      Initial revision
      Fixed scavenging function pointers.
      Fixed alloc_number and alloc_sap.
      Made all the interrupts go through the standard mechanism (except for
      Fixed the call out code to save CODE on the stack and restore it and the
      Added the SIGFPE handler for handling FIXNUM overflows.  This took some
      Added a VOP to obtain the dynamic space free pointer.
      Added RCS Status support and modeline cruft.
      Added weak-pointer-p, weak-pointer-value, and make-weak-pointer
      Added export for WEAK-POINTER.
      Added weak pointer cruft.
      Added os_init().
      Initial revision
      Added purify (doesn't work yet).
      Frobbed for new os independent interface.
      Added the static space and read-only space free pointers to the flags output.
      Initial revision
      First working version.

chiles (172):
      Initial revision
      William and Bill installed fixes to multiplication and the multiplication
      Tweaked some typos relative to the last change log entry.
      Added rt-fasl-file-implementation.
      Initial revision
      Initial revision
      Fixed DOCUMENTATION to retun only one value.
      Don't declare locals and parameters with the same name.
      This commit was generated by cvs2svn to compensate for changes in r3025,
      Modified MAKE-BUFFERS-FOR-TYPESCRIPT to make sure the user supplied slave-name
      Random typos and misnomers.
      Fleshed out 32bit logical interface.  Added shift to start and shift to end
      Fixed EXPORT calls.
      Fixed misuses of CAL where I supplied only one register but needed to supply
      Fixed misuses of CAL where I supplied only one register but needed to supply
      Changed CAL to default r3 to r2 whenever only one register is supplied.
      Changed default response on the quit command for ldb to be "yes".
      Added some lifetime info to MAKE-MC68881-DOUBLE-FLOAT.
      Fixed bug in the PRIMITIVE-TYPE vm-support-routine to correctly map
      I think I'm checking in a patch for a call sequence.  There's a MOVE being
      Changed a lot of erroneous three-arg N's to a MOVE and some for of N(ILx).
      Added the :translate and :policy to code-instructions.
      Replaced code-constant-set with code-header-{ref,set}.
      Fixed allocate-code-object re William's trace-table changes.
      I deleted DEFENUM and PAD-DATA-BLOCK since we now get them from this file Rob
      Added export of *assembly-unit-length*.  Commented something.
      Added COUNT-ME VOP which was missing in RT port.
      Created a "Set Buffer Writable" command.
      *** empty log message ***
      This commit was generated by cvs2svn to compensate for changes in r3214,
      Deleted old, unusable command "Connect to Registered Eval Server".
      Fixed a lifetime bug in the subtract-with-borrow bignum support vop.
      William needs this file.
      Fixed an error in the report for for unhandled-conditions.  It was recursively
      I added a display-recentering slot to windows, with export and doc string.
      This commit was generated by cvs2svn to compensate for changes in r3283,
      Made the slave switch demon set debug:*help-line-scroll-count* to
      Added "Window Buffer Hook" to set WINDOW-DISPLAY-RECENTERING for windows into
      Modified all the condition reporting methods to FRESH-LINE since error messages
      I removed SET-RECENTERING-FOR-TYPESCRIPT-WINDOWS since it fails in the light of
      Added "Track Buffer Point" command and RESET-WINDOW-DISPLAY-RECENTERING which
      Made DEBUG-COMMAND-P find commands with an ambiguous initial substring,
      This commit was generated by cvs2svn to compensate for changes in r3387,
      Added the following interface to the "EXTENSIONS" package:
      This commit was generated by cvs2svn to compensate for changes in r3389,
      Removed EXT::MAKE-STREAM-COMMAND from export list.
      Modified REDISPLAY-LOOP and users to check new WINDOW-DISPLAY-RECENTERING slot.
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r3394,
      Added back interface EXT:MAKE-STREAM-COMMAND.  This needs to be exported for
      Implemented "Debug Edit Source" and EDIT-SOURCE-LOCATION, which the slave calls
      Implemented the EDIT-SOURCE debugger command which gathers source information
      Fixed some syntax constants to make 8-bit chars work for Eric (our friend!).
      Added a doc string to EXT:SAVE-ALL-BUFFERS.
      We fixed a bug in BIGNUM-TRUNCATE-GUESS.  Bill had originally written the code
      Initial revision
      Initial revision
      Changed "load-hem" to "hemload".
      Loaded hemload from tools: instead of hem:.
      Added debug.lisp.
      Added debug.lisp
      Added debug.lisp.
      Initial revision
      Moved EXT:GET-STREAM-COMMAND into this file, so kernel cores could enter the
      This commit was generated by cvs2svn to compensate for changes in r3440,
      Removed the EXT:GET-STREAM-COMMAND stuff to put it in code:stream.lisp.
      Fixed bug in truncation code.  We needed to make sure the number buffer for the
      Eliminated some silly shit, so William could compile this file to build a new
      Added "Fill Lisp Comment Paragraph" to core.  This also works for strings,
      Changed the value of "Process Output Stream" for shell-filter streams, these
      Fixed problem where all process buffers got shell-filter streams, but only
      Modified LISP-GENERIC-INDENTATION to check if the mark in was in a string
      Made the default for COMPILE-FILE's :error-file argument be nil.  It is a dated
      Fixed bug is handling shell-filter stream in MAKE-NEW-SHELL.  Output was going
      "Shell Complete Filename" is a new command that attempts to complete the
      Removed the definitions of command-char-bits-limit, command-char-code-limit,
      Added a doc string to HI:DIRECTORYP.
      Modified "Visit File" to issue a loud message whenever another buffer already
      Updated the manual and fixed some problems.  I don't remember what I put in
      Updated manual, but I don't remember what I put in this file.
      Updated the manual, but I don't remember what I put in this file.
      Fixed a bug in "Center Line" which caused an internal error when invoked on the
      Added DEFINDENT's for the "DEBUG-INTERNALS" interface.
      Updated symbols to note the Raw Function Address slot and the Setf Function
      Commented LISP-INDENTATION to explain what it is looking for when it determines
      Improved FLET/MACROLET hack to properly indent local definition forms.
      Fixed version date string.
      Fixed value stored into *hemlock-version*.
      Removed declaration for non-existent variable focus-p in HUNK-MOUSE-ENTERED
      Added some necessary FORCE-OUTPUT calls to SAVE-ALL-BUFFERS and helper
      Changed ARRAY-ELEMENT-FROM-MARK to use AREF for the Netnews stuff.  I
      Lots of changes to the time parsing and printing extensions including bug
      Modified MAKE-WINDOW to allow a proportion argument for its default behavior of
      CREATE-WINDOW-FROM-CURRENT now tastefully uses its proportion argument instead
      Modified TTY-MAKE-WINDOW to deal with new proportion argument.
      Initial revision
      Added netnews.lisp.
      Added netnews.lisp
      Added netnews.lisp
      Added netnews.lisp
      Modified "Fill Lisp Comment Paragraph" to fill strings with the appropriate
      Added Mike's "Manual Page" command.
      Added "Netnews Quit Starting Here" and "Fetch all Headers".  There were some
      Modified "Insert Message Region" and "Insert Message Buffer" commands to
      Removed bindings from this file and put them in bindings.lisp.
      Added @include for netnews chapter.
      Fixed the doc string for "Manual Page".
      Picked up Mike's latest command name and doc string frobs.
      Fixed bug in "Manual Page".
      Added documentation for "Manual Page".
      Fixed documentation for "Fill Lisp Comment Paragraph".
      No changes.
      Initial revision
      Modified WRITE-FILE for :append arg which Blaine added for Netnews stuff.
      Modified DESCRIBE-FUNCTION-COMPILED and DESCRIBE-SYMBOL to print function and
      Fixed screwed up proportion tweak from installing Netnews stuff.
      Edit for proposition usage when creating headers window.
      Initial revision
      Changed header-cache vector for Netnews to a simple-vector.  Modified
      Added Mike's changes to netnews stuff.
      The Netnews interface is more polished and consistent in naming.  We fixed one
      "Netnews Show Whole Header" replaces the command, in name only, "Netnews Show
      Changed text for "Netnews Show Whole Header".
      Removed compiler conditionals based on new-compiler.
      The Netnews post delivery code no longer adds a DATE field to the message.  The
      Updated "MH Scan Line Form" and "Authenticate Incorporation" to reflect Rob's
      Fixed lossage concerning the following compiler output:
      Modified %SET-MODELINE-FIELD-FUNCTION to allow its function argument to be a
      Adjusted length of the :hemlock-banner modeline-field to prevent the
      *** empty log message ***
      Added export of remote-object, the name of a type, from the "WIRE" package.
      Deleted unused function TTY-FIND-BIGGEST-HUNK.
      The latest alpha test breakpoint interface is available as described in the
      The "Debug Breakpoint" and "Debug Delete Breakpoints" commands are ready for
      Documented some code someone added that was confusing.
      This commit was generated by cvs2svn to compensate for changes in r3811,
      Added a form to SERVER-DIED to clean up breakpoint-infos for that server.
      Updated documentation on MAKE-BREAKPOINT and ACTIVATE-BREAKPOINT.
      Initial revision
      Added new file ntrace.lisp
      Added new file ntrace.lisp.
      Changed calls to SYMBOL-MACRO-LET to be SYMBOL-MACROLET.
      Restored "DI" package to no longer require USE'ing the "KERNEL", "SYSTEM", and
      Fixed "DEBUG" package to no longer require USE'ing the "SYSTEMS" or
      Changed DO-BLOCKS to DO-DEBUG-FUNCTION-BLOCKS for the built in DEFINDENT's.
      Modified COMPLETE-FILE to correctly complete files relative to the defaults.
      There's a new "Buffer Modified Hook" function that raises the "Echo Area"
      No mod.
      Modified DESCRIBE-FUNCTION-COMPILED to better output function documentation
      Modified CREATE-WINDOW-WITH-PROPERTIES to supply :input :on to allow silly
      Updated things to do deleting some stuff that had been done.
      Fdefinition.lisp is all new, and it contains the following interface routines:
      Fixed a couple doc strings.
      Added new interface ext:*setf-fdefinition-hook* which is a list of functions
      Added CLEAR-TRACE-BREAKPOINT-RECORD to ext:*setf-fdefinition-hook*.
      Fixed %SET-FDEFINITION to work in the kernel core startup before executing
      Fixed REDISPLAY-LOOP to return :editor-input correctly if the
      This commit was generated by cvs2svn to compensate for changes in r4006,
      Fixed "Load File" to correspond with the manual by making it regard "Remote
      Changed NN-REPLY-CLEANUP-SPLIT-WINDOWS to delete the message-window instead of
      Fixed pointer to database directory.
      Fixed database and dictionary reference.
      Updated with Mike's last round of changes.
      Deleted unused definitions that died when the new window group code went in.
      Added wm-hints for pop-up display windows.  This will be necessary to receive
      Made TRACE and UNTRACE handle function objects as well as function names.
      Modified HANDLE-BREAKPOINT-AUX to test whether any user hook deactivated any

cracauer (10):
      Make (time ...) and the profiler do precise measuring of space
      Typo fixes by Ed Wang (thanks, Ed!).
      Backtrace print tuning:
      Remove a #ifdef ITA which sneaked in with the profiler changes.  No
      When tracing, set the verbosity level of print-frame-call to 1.
      Remove stale code.  Before I committed the full profiler changes, we
      Fix a problem with the consing-free allocation counter.  If you
      Add the symbols for the glibc malloc hooks to the stubs.  That is
      Don't damage argv[0] when startup code is invoced with absolute path.
      Fix typos.

cshapiro (82):
      Retire i586_bzero() in favor of memset().  The i586_bzero() routine is
      Include strings.h for the strcasecmp() prototype.
      Replace all uses of the old b{copy,zero} byte string functions with
      Remove all references to non-existent directory "../../p86/lisp".
      Don't use unlink() when the standard C remove() will do.
      Remove superfluous sys/file.h include.
      Remove an unused variable.
      General cleanup of spawn()
      Don't refer to the file stream-vector-io with its extension as an argument
      Move the linkage table below dynamic space on Linux.
      Remove package nickname additions.  This actions cause the standard
      Suppress the message displayed when the Depends include does not
      Remove an unsightly line break in the funcall3 prototype.
      Make SC_REG expand out to an lvalue on the x86 and AMD64.  Define a
      When attempting to macro expand a symbol that denotes a local
      Remove old-style signals code and make our POSIX_SIGS behavior the default.
      Use the p conversion specifier for pointer arguments to printf.
      Remove an unused local variable.
      Remove preprocessor conditionals supporting very old releases of
      Remove no-op compatibility macros.
      Force GCC to generate 32-bit output.  Enables builds of a 32-bit lisp
      Turn the optimizer back on for Linux builds.
      Replace assembler pseudo-op boilerplate for function definitions with
      Import x86 Darwin port.
      None of the x86 ports need symbol names mangled.  Remove the unused
      Use the alien off-t type to represent struct stat members with an
      When an address hint is passed to os_validate set the MAP_FIXED flag.
      Remove conditionally-compiled code to support old Linux versions.
      Remove no-op macros.
      Use POSIX signals on FreeBSD.
      Remove unused context saving and setting functions.
      Restore macro definitions needed by Linux.
      Fix a typo.
      Remove the first member of the FreeBSD sigcontext structure so that
      Use sa_sigaction signal handlers on Linux.  The glibc definition of
      Use errno wrapper functions on FreeBSD so we fetch a thread specific
      Remove the attempted include of a local signal.h header.  Replace this
      Replace operating system private errno accessors with a common set of
      Include errno.h to make sure that the symbol errno is visible.
      For the time being the double-double-float type class symbols are not
      Always pass the whole ucontext_t into Lisp.  Update the x86 sigcontext
      Cleanup compiler warnings.
      The return value of the ioctl function is meaningful.  Make unix-ioctl
      Type mmap as returning a system area pointer to accommodate pointers
      Update symbol names so we can compile without undefining __DARWIN_UNIX03.
      * Change the way the x87 precision control is managed.  While in Lisp,
      The SAVE_CONTEXT macro expands to meaningful code on the SPARC and is
      Remove the unreferenced CTXT_SIGMASK macro.
      Directly specify the SA_SIGINFO signal option.  Remove USE_SA_SIGINFO
      Remove unused FIXNUM_VALUE definitions.  Replace actual uses of
      Remove code that supports non-SA_SIGINFO style signal handlers
      Minor changes to support the latest betas of FreeBSD 7.
      Remove the libgen.h include from FreeBSD-os.h and make its inclusion
      Update amd64 specific code for POSIX signals.
      Eliminate a compiler warning.
      Reintroduce code to restore the x87 control word state from the
      Make all ports use an accessor function to retrieve the value of
      The uname exported by the FreeBSD libc expects an older and shorter
      Switch the FreeBSD port to use the common floating point trap handling
      Remove X11 from the search path for include files.
      Remove limits.h include from sunos-os.h into gencgc.c.  This include
      Remove empty expressions introduced in revision 1.90.
      The toolchain shipping with Fedora Core 9 wants us to name a 16-bit
      Unless we are using GCC versions 2 or 3 use -iquote to specify local
      Replace uses of MAXPATHLEN with FILENAME_MAX.  FILENAME_MAX is defined
      The FreeBSD-os.h header imported headers that its definitions did not
      Always use prototype style function definitions.  Consistently use the
      Add a cast to muffle a compiler warning.
      Use longs to hold pointer values.  Eliminates truncation on 64-bit
      Remove the old string hash function.  Also, remove the cld instruction
      The x86 calling convention requires the direction flag to be cleared
      Retrieve the constituent words of a double through a union instead of
      Insert intermediate (void *) casts to eliminate strict aliasing
      Remove commented code.
      Add a partial reffer macro for the x86 and use it to implement the
      Set the cost of the constant form partial reffer to 4, the same cost
      Add a partial setter macro for the x86 and use it to implement the
      Redefine the base-char-reg SC to use 32-bit registers instead of 8-bit
      Allow any GPR to be the source of a 16-bit array store.
      Remove code to support very old releases of Solaris 2.
      Move the gencgc write barrier code into its own function.
      Use openpty to obtain a pseudo-terminal pair instead of searching for

cvs2git (12):
      This commit was manufactured by cvs2svn to create branch 'non-descriptor'.
      This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'.
      This commit was manufactured by cvs2svn to create branch 'non-descriptor'.
      This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'.
      This commit was manufactured by cvs2svn to create branch 'new_constraint'.
      This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'.
      This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'.
      This commit was manufactured by cvs2svn to create branch 'new_struct'.
      This commit was manufactured by cvs2svn to create branch 'new_struct'.
      This commit was manufactured by cvs2svn to create branch 'new_struct'.
      This commit was manufactured by cvs2svn to create branch 'new_struct'.
      This commit was manufactured by cvs2svn to create branch 'solaris_patch'.

cwang (105):
      amd64 config file
      This file is quite similar to x86-arch.c
      This file was based on x86-assem.S with many modifications.
      This is based on x86-lispregs.h
      Simple amd64 change
      amd64 changes
      amd64 change
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 change
      amd64 changes
      A couple simple fixes to compile a lisp executable
      amd64 assembly files
      amd64 files
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 changes
      amd64 file
      amd64 changes
      amd64 changes
      amd64 changes
      Follow the x86 change to symbol format for amd64.
      Remove an unused VOP
      Follow x86 and put in modular arithmetic
      Follow the x86 change to symbol format.
      Fix dynamic extent allocation
      Fix instructions for moving 64-bit constants onto stack.
      Fix double-float-digits, long-float-digits.
      Remove some dead code.
      Make amd64 follow the x86 change to symbol format.
      Put in the DynamicSpaceOverflow stuff
      Just a dummy file to keep comcom happy
      Put in the right ifdef so it will compile without heap-overflow-check
      Unfortunately, I need to put the hardwired constants back into fixnumize.
      Get rid of a warning on amd64
      Remove some unused code
      Use a little bit of logic to figure out the word size of the native backend
      Set backend-fasl-file-version to be the same as any other architecture
      Remove p86 from include path
      Save a few more registers for resolve_linkage_tramp
      Use r11 instead of r15 for linkage entry because r11 is a temporary register
      Make absolute addresses 64-bit clean
      Put in the correct C calling convention
      Make addresses 64-bit clean
      Make the assembler work for all 16 registers
      Make allocation work for all 16 registers
      Fix move from constant address
      Make absolute addresses 64-bit clean
      Make addresses 64-bit clean
      Define all 16 registers
      Add allocation routines for the other registers
      Pad the first instruction (jmp-short) to 3 bytes
      Add 2 missing REX prefixes
      Since linkage table will trash r11, make sure it's used as the temp register for allocation
      yet another allocation function
      hopefully I've put in all REX prefixes
      since linkage table will trash r11, we don't need to save it
      make sure r11 is a temporary register for non-inline allocation
      fix the non-inline allocations
      port fpu_save and fpu_restore
      make amd64 the same as x86
      for C calls, the stack must be dual word aligned
      make unwind work
      Another allocation function
      Get rid of fastcopy16 which is only used in cgc.c
      Change jecxz to jrcxz
      Change jecxz to jrcxz
      Return the right count in values-list.
      make symbol and NIL layouts up-to-date
      A slow version of symbol-value that works for NIL. If we use 4-bit low-tag
      Make (room) on amd64 report the correct numbers.
      Try to fix compilation problem on x86 without the stack-checking feature
      Try to make backtrace work on amd64
      Fix purify for strings and vectors.
      Make the format of function object up-to-date for x86/sparc/amd64
      put in the correct label for function object on x86 and amd64
      clean up some code by using one sap-ref-64 instead of two sap-ref-32's
      Add registers r8-15
      Make r10 and 11 temporary just to be safe.
      a little more comments
      fix round-to-dualword for 64-bit
      set lisp::*pseudo-atomic-atomic* to 0
      update the sigcontext structure
      For other-immediates types, put the hex numbers alongside the decimal
      Add a chapter which gives an overview of the debugger.
      Andreas Fuchs' .gdbinit file modified to work with CMUCL on AMD64
      typos in comments
      Get debugger working on amd64
      Fix a backtrace problem
      Fix args
      CVS doesn't support renaming. Sigh

dtc (1021):
      Fix bug introduced with p86 merge for non-x86 ports, noted by Ray:
      Removed unnecessary comment.
      Slight style cleanup.
      Add float-precision-control constant.
      Best to leave the stack SC out of the SCs, the compiler
      VOPS make-unwind-block, and make-catch-block: the code slot is unused,
      Slight style cleanup.
      Fix from Rob for trouble noted by Peter:
      Use a constant push not a stack relative EA when pushing the return
      Some style cleanups.
      Fix and enable generic-eql.
      Abstract out a common operation of copying a FP register to the top of
      - Use the "inc" instruction for addition of constant 1.
      Added explanatory note in move-from-unsigned.
      Use xor to zero a result.
      Slight style cleanup.
      Partial fix for get-top-level-form reading and evaluating #. macros in
      Inline scalb and better declare its 'n' argument so the compiler can
      ALLOCATE-DYNAMIC-CODE-OBJECT is now exported for the C package so a
      Don't think #+x86 conditions are wanted on any symbols as they
      Removed unnecessary bootstrapping code for float-wait.
      Add function profile-all by Raymond Toy.
      Export new function profile:profile-all.
      Suppress the read-time evaluation #. macro during source read by
      Update note on the macro with-empty-tn at fp-top, clarify its use.
      Latest float propagation routines by Raymond Toy.
      New x86 VOPS: alloc-alien-stack-space and dealloc-alien-stack-space.
      Cleanup of some backend symbols; the following have been moved to the
      Back-out unused symbol report-times introduced in previous commit.
      Suppress the read-time evaluation macro #. when the disassembler is
      Change the index used in the SAP functions to a fixnum. This is handy
      2s0 -> 2f0 noted by Ray.
      Transform (expt x n) to multiplication for small integer values of
      Transport table fix, type_InstanceHeader should be trans_boxed.
      No longer need the my_error_stuff_ok hacks.
      Need sc_efl (eflags) for single stepping support.
      Although there are VOPs for sin and cos on the x86, the C library
      When *coalesce-constants* is off, still need to eq-save-object for
      Fix alignment for linux; it needs to be in bytes.
      No setquota on linux.
      Patch by Raymond Toy.
      Patch by Casper Dik: sanctify-for-execution to call os_flush_icache.
      Oops, committed one of Rays erroneous back-patches.
      Patches by Casper Dik.
      Patch to flush_icache by Casper Dik.
      Patches by Casper Dik and Raymond Toy: flush_icache; Solaris 2.5
      Fix multiplication bug. Multiply-bignum-and-fixnum was using the
      Use a separate stack for alien value allocation on the x86. It had
      With the recent packer improvements it's often better not to specify
      Extend the fill-pointer patch to also check the upper limit; some
      Fix to set the stream element type for :output streams.
      Fix a little lossage at the start of the file.
      Fix from Raymond Toy: the constants most-positive-double-float and
      Patch to save-lisp to cancel the finalizer for the *tty* stream before
      Removed the stack from the preferred SCS of a few VOPS.
      Be sure to remove any fd-steam-handler on an abort close.
      Add instruction FILDL: load 64-bit integer.
      Add VOPs: %single-float/unsigned and %double-float/unsigned. These are
      Fix: -0.0 was incorrectly being placed in the fp constant SC.
      Few small style cleanups.
      Support for some specialised signed array types: (signed-byte 8),
      Add the exported symbols for the scavenger hook and the symbol hash.
      Backout the %symbol-hash symbols I just added; shouldn't be committing
      Signed-array support for the sparc.
      Signed-array support fixes.
      Make the linux specific code conditional.
      New value for the :pure option of defstruct, :substructure. Purify
      Cleanup an x86 conditional for the scale-float deftransform, use
      Bring the arguments to the xep-allocate-frame VOP inline with the x86
      Place the compact-info-env structures in the static space where the
      Modify the deftransforms for %sin, %cos, and %tan, to avoid an x86
      Don't want to link setquota on SunOS.
      Patch for SunOS code, & should be &&, noted by Casper Dik some time ago.
      Backout a prior patch which skipped the scavenging of the NFP. This is
      Avoid using the trap instruction for check-list and check-instance as
      The code emitted for the fcmp instructions was setting the dst field
      New instruction fistpl - store 64 bit integer, popping the FP stack.
      Don't use FP wait before %unary-round as the control word is not
      Fix the naming of the new %unary-* VOPS.
      Allow signed index on sap-reg functions on the sparc. Fixes some
      Remove the any-reg SC from the preferred argument SCs for the
      Doubles were being aligned to an 8 byte boundary on the C call stack
      Patches from Simon for the MIPS IRIX port: hacks for foreign functions
      Avoid unnecessary load-tns for the fast-ash-c VOP when the src and dst
      Add a printer for the CDQ instruction.
      For fast-truncate/signed=>signed can use (inst test y y) when y is in
      Increase the cost for the float/unsigned VOP so that the float/signed
      Fix for truncate fixnum ratio; from Raymond Toy.
      Function ensure-directories-exist, part of ANSI CL, contributed by
      Few fixes to ensure-directories-exist: make it work with logical
      New implementation of random function by Raymond Toy.
      Bump up the fasl-file-version to 6.
      %random-integer random-chunk was redundantly returning two values
      Latest updates from Raymond Toy to the propagate-float-type feature:
      Fix for parse-namestring when passed a pathname; comparison of a host
      Bug fix for fop-signed-int-vector, was incorrectly calc. the number of
      New-random tuning; with latest propagate-float-type code can inline to
      Removed the foldable definition from the following: subseq, copy-seq,
      Hack patch to not-more-contagious, was allowing erroneous transforms
      Work-around linker trouble on Solaris 2.5; the symbol tzname had been
      Save an instruction by using an immediate argument in
      Restrict the flushing of result type checks to safe policy because the
      Correct the check for the fp-double-constant immediate constant SC.
      Allocate a new digit-string on each call to float-string. This can be
      Improve the VOP cost for FP immediate constant moves to a
      During disassembly assume the offsets in an effective address are
      Closures in the function constantly need to use ext:optimize-interface
      The name argument to compile may be a cons, e.g. '(setf foo).
      Patch which lets defpackage recognize and process the :documentation
      Bring 'documentation closer to ANSI CL: now accepts function, package,
      Documentation now accepts a wider range of objects as the first
      Add pcl::documentation.
      The alien pointer subtype relationship was returning NIL for
      Add a source transform for array-header-p to handle some cases in
      Have brief_print reset cur_depth to 0, as it can be left higher after
      In complex-tanh change tan -> %tan to avoid a compiler warning on the
      Stop the documentation function calling the lisp::documentation
      Cleanup the floating-point-modes VOPS, reducing code size, and fixing
      New macro WITH-FLOAT-TRAPS-MASKED to execute a body of code with some
      New implementation of real-expt for the expt function; fixes bugs and
      Fix for canonicalize-defclass-option; the doc. string was being
      Re-define the documentation function according to the ANSI CL spec.;
      Improved documentation support for CMUCL.
      The function REPLACE may return it first argument destructively
      Add a documentation string for the new with-float-traps-masked macro;
      The returned vector element type of some sequence functions, including
      Add documentation methods for the CMUCL random-documentation
      Strip out the call to pcl::documentation from lisp:documentation; the
      Change %set-documentation to (setf documentation) to help operation
      Have the PCL documentation functions replace lisp:documentation when
      No long need to declare pcl::documentation here as it's no longer used
      Solaris OS dependent routines.
      Symbol %set-documentation is no longer used.
      Updates to the derive type optimisers from Raymond Toy:
      Updates to the derive type optimisers from Raymond Toy:
      Hack patch to the log derive-type optimiser two argument case.
      The propagate-float-type version of ir1-transform-< was missing an
      Updated log derive-type optimiser from Raymond Toy.
      Add a deftype for EQL.
      Change the approach used for setting up the NPX state for C. Pop
      Add the denormal exception for the x86.
      Have with-float-traps-masked clear the given accrued exceptions at the
      Add a check to constrain-{integer,float}-type to ensure they don't
      Check the accrued exceptions (sticky-bits) within
      Cleanup the segv_handler.
      Should be exporting single-step-breakpoint-TRAP.
      Add an interval->= function, and exploit this in ir1-transform-<.
      Cleanup the VM package, adding symbols for the x86 backend.
      Special case structure symbols in the (setf documentation) (symbol
      Re-load the lisp:documentation functions when build PCL with PCL
      Remove function stubs that are not needed by cmucl lisp and are not
      Value of the t-value parameter was wrong!  Remove it and use
      Defvar for *current-unwind-block* should be
      The arguments to the boolean deport method were backwards causing it
      Add a note about the handling of compiler-macro documentation.
      Character name changes: add control character names e.g. #\^a etc, and
      Update from Raymond Toy: Merge-types-aux didn't know how to handle the
      Updates from Raymond Toy:
      Avoid unnecessary re-compiling of defsys; was looking for a fasl
      When debug = 0 allocate normal TNs rather than debug-env TNs, enabling
      Add the MULTIPROCESSING package.
      Stack group and multi-processing support for CMU CL.
      New static symbol *control-stacks*, seen by the GC and scavenged for
      Compile code/multi-proc.lisp and build it into the core.
      Add support for the scavenging of conservative roots in vectors placed
      Add a defvar for *alien-stack*.
      Add the Pentium CMPXCHG instruction.
      Allow an immediate argument for the slot-set VOP.
      Process structure predicate was intended to be processp not process-p,
      Workaround for a disassemble bug: the positions of filtered arguments
      Add an unsigned multiplication VOP: fast-*/unsigned=>unsigned.
      Fix for the index calc. in the instance-set-conditional VOP.
      Fixes for the with-lock-held macro.
      Check of the i486 data sheet shows it supports the cmpxchg instruction
      Add the XADD instruction.
      Patch from Peter Vaneynde: delete doe(errno).
      Remove problematic unused symbols noted by Brian Spilsbury.
      Allow a pathname device to be a string; from Raymond Toy.
      Revise the SC restrictions for the check-bound VOP; produces a few
      Few fixes for the more-arg VOPS: more-arg-c wasn't being used because
      Re-write the pointer+ VOP. Remove the pointer+-c VOP which was not
      Update from Raymond Toy:
      Restrict the expt->%pow transform to arguments that produce real
      Update termios definition for non-svr4 Sunos so that it compiles;
      Remove compiler notes from new expt transforms; not inlined in the main
      Fix for merge-type-aux from Raymond Toy; type specifiers must have the
      Update from Raymond Toy: Revised derive type optimizers for sin, cos,
      Add the FSTPD instruction.
      Add read-sequence and write-sequence to the common-lisp package.
      Add the read-sequence and write-sequence functions. Based on a
      Improved support for (complex single-float) and (complex double-float)
      Alternative random number generator for CMUCL; based on the Mersenne
      Complex-float support for cgc, untested.
      Re-write of the hash table algorithms to improve the memory
      Merge in changes to the x86 backend from the gencgc branch, allowing
      Compile hash-new and build it into the core given the :hash-new
      Use the symbol-unused-slot not the symbol-hash-slot to setup the has
      Only need to default to trace encapsulation with CGC.
      Add a check that objects obtained from the stack in
      Scavenger hook support for GENCGC.
      Under GENCGC the code objects are currently placed in the read-only
      On the x86 port, place code objects in the dynamic space when
      GENCGC interface.
      Don't purify after loading packages with GENCGC as it's broken and
      Compile code/scavhook and build it into the core for GENCGC.
      Replace the allocation macros with a function, and pass the VOP
      Add support for the complex-float storage classes on the x86 port.
      Extend the complex-float real and imag part accessors to accept stack
      Add a complex-float-p predicate to the backend which can be handled
      Add support for dumping and loading complex-float vectors.
      No longer need to export make-complex-{single,double}-float.
      GENCGC support.
      * Support for the complex-float array types.
      Add support for saving the offsets of fixups in native code. This
      Cleanup the handling of foreign symbols on the x86 port.  Have the
      Add a complex-rational-p predicate. This test for a unique object type
      Fix a bug in make-valid-lisp-obj which caused the debugger to fail
      Move the definition of *global-table* before its first reference to
      No longer exporting alternate-get-global-address from the X86 package.
      No longer source transform realpart and imagpart with the
      Add transforms for realpart and imagpart given a complex rational
      Fix a mistake from the previous commit which broke maybe_can_move_p
      Replace references to the constant old-fp-save-offset by
      Replace uses of the descriptor-stack SC with the control-stack SC,
      The descriptor-stack-sc-number is no longer used.
      Implement a pseudo-atomic macro for the x86 backend.
      Hooks for GENCGC.
      Add the function set_maybe_gc_pending for the x86 port; called by the
      Revise the pseudo-atomic macro to reduce the generated code size and
      Wrap pseudo-atomic around object allocation and initialisation to
      Have the functions for unbinding and rebinding the bind stack check
      For the x86 port clear *pseudo-atomic-atomic* in case the core wasn't
      Don't re-enable interrupts in the sigtrap handler, but delay it until
      Delay the re-enabling of interrupts in interrupt_internal_error and
      Bring forward the setup of the pseudo atomic static variables (x86 and
      Clean up the NLX entry VOPs so that the argument start is passed in
      Have interrupt_handle_pending reset the signal context sigmask before
      Save the lisp_interrupt_contexts in the stack group - will help the
      Fix a nasty bug in the return VOP for the case of zero return
      Fix the printing of context registers and the parsing of register
      Update the object printing so that it works in the presence of signed
      Ignore the foreign_function_call_active flag on the x86 port. It was
      No longer using foreign_function_call_active so don't need to set and
      Breakpoint and single stepping support for the x86 port. This has been
      Re-write of the x86 port debug support. This should give a significant
      Fix the header.
      Conservative generational garbage collection for the x86 port.
      Support for loading the GENCGC system; requires a few hacks to get the
      Fix the GENCGC support; can't use feature conditional forms in the
      Fix the spelling of undefineds.c, noticed by Paul.
      Clarify the usage of loading native code into the dynamic space on the
      Small comment fix.
      Patch from Raymond Toy:
      Function tracing should now work under CGC so it no longer needs to
      Remove the prep_mind_warp and do_purify code which hasn't been needed
      Backout the previous commit, function tracing still doesn't work on a
      Have make-bogus-lra allocate these code objects in the static space
      Fix the .end statements.
      Fix the type-of function with complex-float support.
      Comment out verbose message in maybe_adjust_large_object.
      Improve the efficiency of gc_free_heap by having it assume free pages
      Remove the unused arch_get_bad_addr function.
      Do not define PRINT_NOISE for Linux as suggested by Raymond Toy.
      NM script for Linux to do some extra filtering of the symbols;
      Fix for the fsin, fcos, and ftan VOPs which were writing to the EAX
      Disable a test in alloc that tested that interrupts were disabled in
      Remove a linux ntoh swap in lookup-host-entry as this is now handled
      Add some pointer coercions to reduce the number of compiler warnings.
      Further cleanup of the interrupts masked check in alloc.
      Fix the result type of sin and cos, which should be (complex float)
      Fix and enable the ENTER instruction printer.
      Few small comment fixes.
      Cleanup the static function call VOP; smaller faster instruction
      When a generic function calls the static function, four stack slots
      The file contained a call_into_lisp hack that was probably never used,
      Use the system area pointer primitive type for the return address TNs,
      Cleanup the mess in the x86 port versions of get-context-value and
      Update upgraded-complex-part-type for complex-float support.
      Update from Raymond Toy:
      Update from Raymond Toy:
      For the x86 port, make use of the stack-ref VOP to grab a value from
      Fix two cases where one assembly routine was simple dropping through
      For the static function calls, don't bother loading a register with
      Fix the defaulting of unsupplied values in default-unknown-values. The
      Update to the derive-type optimizer for the complex function; from
      Add a transform for the complex-float conjugate, from Raymond Toy.
      Fix for top-frame. %caller-frame-and-pc now returns a SAP for the
      Output a fresh-line at the end of a backtrace, ensuring that the last
      Hand crafted assembly support for the Mersenne Twister, MT19937,
      Enable the use of the inline MT19937 VOP which is now included by
      Fix the folding of (+ x 0.0) which was being incorrectly transformed
      Fix a type declaration typo.
      Special random transform for use with random-mt19937:
      Support for rand-mt19937.
      Improvements to the handling of integer types within union and member
      Export the LOCK symbol from the MP package and sort the symbol names
      Don't load rand or rand-mt19937 during a worldload on the x86 port as
      Add declarations to the timing functions to reduce their overhead and
      Compiling the initialisation function for the
      Merge in the revised derive-type optimisers from Raymond Toy:
      Fix the log and sqrt derive type optimizers which I broken in the
      Remove a verbose debugging format command that slipped in.
      Ensure that the checking-or-caching-function-list is initialised to
      Pass the unbound-marker object through the make-valid-lisp-obj filter.
      Return #C(0.0 0.0) rather than -0.0 for (sqrt -0.0).
      Update of the expt derive-type optimizer to work with the recent
      Update the header adding Raymond Toy as an author (the portable
      Ensure that the default bounds are coerced to the appropriate type in
      Elfun-derive-type-simple: don't try and coerce default bounds to the
      Fix the (expt x 0) transform to return 1 in the correct type;
      Guard against non numeric types in not-more-contagious which was
      Need to use signed-sap-ref-32 to set the relative fixups - fixes a
      Increase the read-only space size to 32MB under GENCGC as code is move
      Fix a type error in make array when allocating (complex double-float)
      Fix a type error in apropos-search; terminus is a fixnum not and index.
      Enhance the sqrt derive-type optimize to return (0.0) rather than 0.0
      Fix the handling of mixed inclusive and exclusive bounds for number
      Enhancements from Raymond Toy:
      Remove unnecessary ptimze speed/safety declaration.
      Fix a missed SC update from the change of the return-pc SC to the
      Temporarily disable the expt derive-type optimizer which has a
      New function maybe-byte-test to emit the most compact test immediate
      Restore the defined result type for sin and cos to (or (float -1.0
      Return the *universal-type* from the one and two arg-derive-type
      Bring in enhancements from the experimental branch:
      Take more care when scavenging the Lisp functions of the interrupt
      There were a the few calls to unix-select that limited the file
      Add support for an idle process that isn't run when there are other
      Documentation of implementation of CMU CL Motif server.
      Documentation of the CMU CL Motif library.
      Record the real and run times at which processes are scheduled and
      Fix a few cases where the process times were not being updated at a
      Add support for the periodic calling of a function when the event
      The idle loop no longer needs to call process-yield at this will be
      Allow the quitting of lisp from any process (this had only been
      Ra-pointer-valid-p can reject return addresses that point the first
      New function shutdown-multi-processing to try and gracefully destroy
      Ensure that multi-processing is shutdown before saving a lisp core.
      Add the option of creating stack groups that are allocated fresh
      When using the MP feature have internal-debug wrap the debug-loop in
      Add a second argument to control-stack-fork to specify if a fresh
      Add support for creating stack-groups with a fresh control stack,
      Enhance scavenge_thread_stacks to only scavenge the live portion of
      Fix a bug in the scrubbing of the current stack-group's eval-stack.
      Revised version of the expt derive-type optimizer, fixing a number of
      Enhance the with-lock-held macro to accept a timeout. This is required
      Allow a float timeout for process-wait-with-timeout.
      Define a new function process-wait-until-fd-usable; similar to
      Use mp:process-wait-until-fd-usable with the MP feature to avoid
      Fix a bug I recently introduced into interrupt_internal_error which
      Multi-process support for CLX.
      Enhancement of the arithmetic function derive type optimizers to
      Mask the invalid FP exception when evaluating the member/member case
      Patch from Timothy Miller:
      Patch from Timothy Miller:
      Change to the handling of floating point zeros within numeric type
      A few fixes for convert-back-numeric-type-list which didn't handle
      Fix to interval-mul for the handling of closed -0.0, from Raymond Toy.
      Slight improvement to the coding of base-char type tests; and a
      Delay the generation of the type checks delayed until all the type
      Add a new function, Make-Canonical-Union-Type, to cleanup the results
      Update interval-div to preserve the float zero sign when dividing by
      Correction to previous interval-div patch.
      When a type check is weakened and the proven type becomes a subtype of
      Fix problems with float zeros in numeric-types-adjacent. Without the
      Generate a compiler note if the default initial element for make-array
      The aref derive type optimiser should have been returning the upgraded
      Add a check to the following derive-type optimizers that both results
      Add interfaces to getpeername and getsockname, exported as the lisp
      Add simple-restarts to allow a process to be easily destroyed when an
      Cleanup the IP address conventions used by the internet functions.
      New function Start-Lisp-Connection-Listener, to create a process to
      Add two dummy VOPs to help bias the representation selection of its
      Have the idle process loop calculate the minimum time delta to the
      Re-seed the *random-state* as an after save initialisation.
      Have the lisp connection listener search forward for an available
      The alien object finalizer was being placed on the alien info, but
      Make search_dynamic_space an external as it is need by purify.  Make
      Cleanup the various structure print functions making uses of the
      Rewrite of the x86/GENCGC purify stack scavenging to reduce the chance
      For the x86 port store the return code component and the PC offset in
      Fix some recently introduced calls to sc-or-lose which were using the
      Cleanup the noting of x86 code fixups, flushing some to slightly
      Flush references to the catch and unwind block current-code slot on
      Remove the unused current-code slot from the unwind-block and
      Ensure that compiler/macros is byte compiled when bootstrapping as it
      Create an initial process binding of *package* to the COMMON-LISP-USER
      Quieten down pscav_i386_stack, verbose output should have been
      Fix bugs introduced in the previous commit to the function end
      Update the profiler caller-info code for the x86 port which represent
      Fix the single value return from the function end breakpoint which had
      Workaround for the mis-compiling of let-converted tail local calls by
      Export the process real-time, run-time, and idle-time functions from
      Better document the multi-processing functions.
      Fix typos in numeric-types-adjacent when compiled with the
      Complex-float support for the sparc backend.
      Few fixes to the sparc complex-float support.
      Complex-float support for the Alpha backend.
      Add a definition for the new add-nlx-entry-argument-start-location VM
      Remove a redundant $Header$.
      Complete the signed-array support for the Alpha backend.
      Rework the loading of files so that lisp source files are loaded when
      Bring the sparc port inline the x86 ports usage of the new VM support
      Fix the simple array signed-byte 8 and 16 accessors result type which
      Enable the VM support routine make-nlx-entry-argument-start-location.
      Bump up the FASL file version.
      Fix a bug in the move-to-complex-single VOP.
      Fix for elfun-derive-type-simple which was incorrectly deriving a
      Bring in a fix to the move-to-complex-single VOP from the sparc port,
      Fix a few small doc typos.
      Add complex-float support also for the non-x86 ports allowing them to
      Fix recently introduced bugs in the breakpoint handling on non-x86
      Fix for the complex-float debug variable setters on non-x86 port: have
      Include the complex-float array types within the unboxed-array and
      Bug fix for the setup of the initial binding stack in
      Take more care to inhibit scheduling when modifying process state and
      Adding a printer for the INT immediate byte instruction.
      Add the unix-times unix system call for the sparc svr4 port, and make
      Using "times" now on Solaris.
      Export unix-times here.
      Patch from Raymond Toy for the :negative-zero-is-not-zero feature:
      Fix for two-arg-derive-type when given two integer member types.
      Fix the CMUCL header.
      Remove the remnants of the string-char type.
      Enhancement from Raymond Toy:
      Export describe-object from the PCL and LISP packages.
      Re-write record-fields-match which is used in the testing of alien
      Correct the compiler-let binding spec within the with-alien macro.
      Fix for the collection of :wild and pattern pathname components in
      Fix for %defpackage which wasn't allowing NIL to be imported.
      Added an ignore declaration to get rid of a compiler note when using
      Have #P respect *read-suppress*.
      Extend ensure-directories-exist to handle search-lists; only the first
      Graphics ported to X11 and feebs.mss conversion of Latex
      Add a note to the static function definitions that two-arg-<=,
      ANSI CL compat. changes:
      Update the derive-type optimizers for ash, logand, logior, and logxor
      Have the following sequence functions accept a :count of NIL:
      Remove the unused non-descriptor-reg and interior-reg SCs on the x86
      Make a fresh binding of *load-time-code-fixups* on each call to
      Add the extended precision load and store instructions FLDL and FSTPL.
      Fix float-trapping-nan-p which was returning T for quiet NaN and Nil
      Rework many of the derive-type optimizers:
      Ash dervie-type optimizer: increase the shift range for which numeric
      Bring in sap-ref-long for the x86 port, which is needed at least to
      Save and reset the NPX state when a primitive halt is signalled so the
      The FPU state save around the primitive halt signal handler has been
      Remove uses of the dword-reg SC for temporaries in VOPs in preparation
      Remove uses of the dword-reg SC for temporaries.
      For the x86 the default alignment of alien double-floats should be 32
      Enhance one-arg-derive-type to optionally allow member types to be
      Wrap the necessary GNAME around fpu_restore, noted by Ray.
      Remove the remnants of the dword-reg storage class.
      Use the more general type system tests within the = transform rather
      When constant-folding succeeds alway transform the call so that even
      Add the FCOMPP instruction.
      Fix a few cases where the pretty printer was failing to respect
      Cleanup the float bit accessors single-float-bits,
      Replace the defknown for %log1p-limited with one for %log1p.
      Remove the %log1p-limited symbol now that there is a general %log1p
      Now have an inline verion of %log1p for the x86 port so don't need
      Have the aref derive-type optimizer check for exactly one node
      Within find-uses catch :deleted continuations returning Nil.
      Add declarations to help the CMUCL compiler.
      Update to "v3.0 14-MAR-1995".
      The default-directory function is in the EXTENSIONS package.
      Logical pathname patches for CMUCL, from Paul.
      Fix doc. typos "the the" -> "the".
      Fix doc. typos "the the" -> "the".
      Fix the encoding of many of the floating point instructions. For
      Add a double-float %sqrt VOP, using the fsqrtd instruction. This is
      Add support for storing complex float values in raw structure
      Update the MIPS and HPPA ports to use the new VM support routine
      Update the Alpha, MIPS, and HPPA ports to accept a signed offset to
      Fix a bug in the movement of complex float arguments with a
      The complex-double-stack SC has an element size of 4 words (was
      Improved TN life-time specs for the complex-float array VOPs.
      Complex-float support for the MIPS port - Untested.
      Complex-float suppor for the HP-PA port - Untested.
      Fix some erroneous extra closing brackets introduces in the
      Complex-double-stack SC should have an element-size of 4 words, and
      Fix a number of typos and bugs in the complex-float support.
      Fix a typo in the complex single float move-argument VOP.
      Fix a bug in the movement of complex float arguments with a
      Export long-float-p from the KERNEL package rather than interning it
      Export sap-ref-64 signed-sap-ref-64 from the SYSTEM package, and
      Define the variable *software-version* avoiding a compiler warning,
      Cache the result of software-version in *software-version*.
      Add verify_zero_fill to verify that the free memory is zero filled;
      Print the value slot for value cell objects.
      Fix a bug in dump-data-maybe-byte-swapping when swapping multi-word
      Fix the dumping of raw signed-byte 30 arrays when byte-swapping is
      Remove some small data vector VOP conditionals on the *backend*
      Fix a typo/bug in the complex single-float move argument VOP with a
      Calculate the error code for the undefined_tramp using the
      Add the V9s FMOVD and FMOVQ instructions.
      Abstract out the movement of double float registers to the function
      Fix a typo in the previous commit.
      Rework the FP instructions so that their disassembly works.
      Adjust the complex-single-reg SC which for now only uses the even
      Enhancements for the complex-float VOPs:
      Adjust the complex-single-reg SC which for now only uses the even
      Fix a typo in copy-fp-reg-to-fr0, noted by Paul.
      Define the float-fast-bit; from Raymond Toy.
      Save and reset FP state during the execution of
      Add transforms for complex single and double float equality.
      Long-float support for the x86 backend.
      Long-float support.
      Long-float support for the sparc backend.
      Extend the location-number VM support routine interface to accept a
      Long-float support.
      Alien long-float type is 128 bits on the sparc.
      Add long-float support to sub-access-debug-var-slot for the sparc.
      Add long-float support to sigcontext-float-register.
      Replace the float-sign source transform with type specific
      Fix a bug in the log1p-pentium VOP.
      Minor source cleanup.
      Add the special float function %expm1, and an inline VOP
      Fix a typo in the =0/long-float VOP, noted by Raymond Toy.
      Avoid unbound symbol value and function errors when copy-symbol is
      Fix a recently introduced bug in the handling of denomalized floats in
      Fix the handling of the :key keyword argument for many of the list
      Reworking of the neg-zero-not-zero version of
      The third object argument to class-cell-typep need no longer be an
      Enhance the performance of allocate-standard-instance for CMUCL, by
      Change the default bug report site from cmucl-bugs at cs.cmu.edu to
      CMUCL MP support by Douglas Crosher.
      Kahan says (sqrt -0.0) returns -0.0.
      Flush the token length check in sharp-colon allowing #:|| to be read,
      Redefine the extended-char type from Nil to (and character (not base-char))
      Within update-cpl, setup the class precedence list before of the class
      Add a file-comment with the files header.
      Remove the remnants of the 'common type specifier.
      Remove the remnants of the 'common type specifier.
      Update for the linux port from Peter VanEynde, adds preliminary
      Execute the body of the do-symbols, do-external-symbols, and
      Request that questions be sent to cmucl-help at cons.org and that bug
      If no documentation is found associated with a lisp class then check
      Gray streams support:
      Fix for string-stream-read-n-bytes: when the requested number of bytes
      Restore the in-synonym-of, out-synonym-of, with-in-stream, and
      Gray streams support for CMUCL.
      Fix some storage class problems in the list length VOPs which broke
      Handle a few 'not hairy type specifier subtypep cases, which overcomes
      Streamline the Gray streams related dispatch code.
      Complete the Gray streams support for the lisp-streams that
      Add support for (declare (TYPE typespec ...)) being abbreviated to
      Fix for recent changes to the handling of the 'not type specifier in
      Doc. fix.
      Update the setting of the interpreted function name to work with the
      Port the defconstructor code to CMUCL.
      Replace the temporary constructor function definition generated by
      Implement the ANSI CL find-method generic-function.
      Increase the default read-only space size by 8MB because non-:small
      Ensure that 'pcl::class is shadowed as it is used in ir1tran.
      Rather than source transforming instance type tests, convert them to
      Integrate some of the documentation from the original
      Print the slots of funcallable-instances.
      Remove a redundant fixnum type declaration within gensym which limited
      Rename those boolean types which should be (or null (not null)) to
      Rework the PCL class hierarchy to better match the disjoint instance
      Replace the PCL-INSTANCE-P macro by a compiler transform so that the
      After renaming the PCL package, shadowing-import 'old-pcl::class so
      Strip the #\. character from static symbol names written to the C
      Make pcl::..slot-unbound.. a static symbol to speed the common slot
      Define *slot-unbound* to be a constant, and adjust some of the slot
      Rework the code generated by emit-reader/writer to help the compiler
      Rather than compiling the constructors in dlisp3, just tickle the
      Re-work do-cold-fixup when targeted at the x86 port: Avoid using
      PSETQ should return nil. Fix from Peter VanEynde.
      Linux port update from Peter VanEynde: revision of the glibc2 support,
      Add alien single-float return-tn support; from Raymond Toy.
      Coerce must signal a type-error when requested to coerce to the
      Fix for format absolute tabbing; from Peter VanEynde.
      Further cleanup of the remnants of the x86-lra feature.
      Fix the argument passing to the '/ format directive function; problem
      Take care to filter out function names that are lists but not setf
      After renaming the PCL package to OLD-PCL, move the 'class symbol back
      Since funcallable-standard-objects are now disjoint from
      When initialising class metaobjects and the direct-superclasses is
      Initialize the *environment-list* before running the after-save
      Restore the pcl::..slot-unbound.. symbol back to the PCL package after
      Cleanup the recently modified format #\/ format directive fix,
      Fix a bug in remhash which was often incorrectly returning False even
      Fix some typos in the double-float SCs, there are 64 float registers
      Fix for Linux, from Raymond Toy.
      Enable the passing of single-float arguments in the %alien-funcall
      Fix for the handling of the direct-superclasses of the CMUCL structure
      Simple-program-error is now exported from the KERNEL package.
      Define a VALUES setf expander.
      Add VALUES to the ignored automatically generated setf functions.
      Fix doc. typo.
      Cleanup the error handling in result-type-or-lose.
      Disable the immediate SC for the check-bound index argument because
      The complex-float the signed-array features are now standard, so
      The complex-float and signed-array features are  now standard, so
      Fix a multitude of problems with the non-pretty print code in
      Fix some typos in the long-float support; noted by Raymond Toy.
      Slight tuning of the with-in-stream and with-out-stream macros to
      Add an type declaration plus some documentation fixes to the
      Fix a bignum allocation problem in generic-*. The high word was being
      Cleanup the X86 ports valid-pointer check in sub-access-debug-var-slot
      The top-level-catcher symbol used in top-level should have been
      Add a new simple-control-error condition for use when signalling a
      The numeric-contagion of a real with a double-float is a double-float
      Relax the argument requirements for some of the complex-float
      Further patch to relax complex float transforms to accept a real argument.
      Add a transform for complex-float negation at the suggestion of Raymond Toy.
      Byte-compile assembly/assemfile when bootstrapping.
      Revise the address map to better utilise the address space, allowing
      Fix a typo in the CONTROL_STACK_START for linux.
      Add "trace" to the Ignore-File-Types; from the 18b release.
      Add indent definitions for with-package-iterator and with-alien; from
      Updates for the HP port from Mike McDonald: revised address map; and
      The lisp heap is now in space-register 5; from Mike McDonald.
      Rework the HP assembler code, prefixing registers with '%', and
      Update from Mike McDonald.
      Back-out the address map changes for Linux. Only FreeBSD now uses a new
      Fix for coerce-numeric-bound which was returning Nil for exclusive bounds.
      New function interval-intersection/difference to compute the
      Modify elfun-derive-type-simple to take the intersection of the
      Change the domain argument of elfun-derive-type-simple from a
      Few fixes to elfun-derive-type-simple and associated interval
      From Raymond Toy:
      Export C-ISPEED and C-OSPEED from the UNIX package.
      Export C-ISPEED and C-OSPEED from the UNIX package.
      Redefine the terminal speed from an (unsigned-byte 16) to an
      Rework get-terminal-attributes to use the termios interface to get the
      Fix for qualifier-check-runtime: qualifier list elements containing
      Fix for the :method option in expand-defgeneric, removing a broken
      * Re-work not-more-contagious to return True for a wider range of
      Few more type fixes for get-entry-lookup and get-entry: the names and
      Reworking of the linux address map to support larger heaps,
      Cleanup of the transform folding (+ x 0) to 0.
      Setup the space-free pointers after the x86 FP constants have been
      Rework the sort functions so that they are reentrant; remove the
      Fix a bug in the page zero checking code of gc_free_heap.
      Add CMUCL style file-comment's; from Peter Van Eynde.
      Add a simple-undefined-function condition.
      Correct a program-error which should have been a simple-program-error.
      Rework some error's into simple-program-error's.
      Check that the :default external-format is given to open.
      Check for illegal characters in unix file names; from Peter Van Eynde.
      Rework some errors into simple-program-error's and simple-type-error's.
      Fix PSETQ to return Nil; from Peter Van Eynde.
      Rework errors into simple-file-error's.
      Check that the argument to random is positive.
      Generate an EOF error within Peek-Char when the EOF is reached and
      Few fixes for the page zero check in gc_free_heap; work around a gcc
      Remove erroneous ignore declaration in peek-char.
      Replace uses of gets with the safer fgets; from Peter Van Eynde.
      Remove the p86 related directories from the paths.
      Add CMUCL style file-comments; from Peter Van Eynde.
      Add CMUCL style file-comments; from Peter Van Eynde.
      Allow "**;*.*.*" to work in logical pathname translations. From
      Add CMUCL style file-comments; from Peter Van Eynde.
      Add macro-function and special-operator-p check when evaluating a
      Add a specific report function for the simple-file-error condition.
      Patches from Raymond Toy:
      Add the with-timeout macro.
      Backout the explicit check of the external-format argument to open
      Correct the read-sequence defknown which should not be defined as
      Declare random-chunk to be compiled with zero safety to avoid
      Fixes for domain-subtypep.
      Fixes for interval-intersection/difference.
      Fixes for constrain-float-type.
      Fix for echo-in and echo-bin which need to catching an EOF and not
      Provide our own implementation of setfpucw for the Linux port, as
      Fix for the stream-write-byte dispatch in write-byte; from Brian
      Rework translate-directories for the case in which either the source
      Extend the define-ioctl-command macro to add the ioctl size and
      Post Linux-Alpha patch cleanup.
      Remove an unnecessary cast.
      Remove alpha and __alpha__ defines hack. Such defines are more
      Fix a few signal mask bugs for Linux.
      Fix for the TN life specs in the instance-set-conditional VOP.
      New macro define-full-conditional-setter, used to add a new VOP
      Add support for non-recursive error-check locks for compatibility with
      Add any-reg to the result SCS of cell-set-conditional,
      Correct the naming of the data-vector-set-conditional/simple-vector VOP.
      Linux update: getpgrp takes no arguments; use setpgid for unix-setpgrp;
      Initialise the *current-process* to dummy startup process so that
      Further cleanup of the code now that the :SETF feature is assumed standard.
      Use infinities in ansi-loop::*loop-minimax-type-infinities-alist*; from
      New VOP set-symbol-value-conditional to support thread safe operations
      New functions are macros to support thread safe code:
      Fix for defsystem's OPERATE-ON-SYSTEM which didn't work with Allegro
      Fix for the handling of the device field in wild-pathname-p, from
      Extend lex-termcap-name to handle blank lines between entries - as in
      Fix for %print-pathname to respect *print-escape*, from Sam Steingold.
      Fix for format-print-integer: when printing a non-integer, need to pass
      When building a cross compiler, should be referencing the
      Fix for the dependencies in the FNEG instruction, spotted by Ken Olum.
      Handle byte ordering within do-cold-fixup for the SGI and PMAX
      Revise the error format of invalid-array-index-error-handler to better
      Enhancements to the complex-float array accessors; from Ken Olum.
      Add the popc instruction; from Raymond Toy.
      Enhancements to the logcount VOP for the V9, and to emit-multiply for
      From Raymond Toy:
      From Raymond Toy:
      Use the fsqrt VOP on the SPARC V7 and up.
      Fix for function-end-cookie-valid-p, lra's should be compared via sap=
      Make floating-point operations (and all store instructions) follow the
      Don't access the array CURRENTLY-VALID with an invalid index in
      Add the varible *debug-readtable* to allow the binding of an alternate
      Initialise the random state index to mt19937-n to force the sequence
      Source cleanup.
      Improve the packing of information into the page table, reducing the
      Better handle a failure of x86-call-context within frame-down; do not
      Within process-wait-until-fd-usable, handle interrupted unix-fast-select
      Better handle interruption to unix-fast-select calls.
      Fix the mapper-transform to only evaluate the function argument once.
      Export *debug-readtable* from the DEBUG package.
      Extend the data-vector-ref/set transformers to inline the access even
      Cleanup recent changes to the complex number division transform,
      Fix for with-lock-held; recursively held locks were falling through
      Add useful implementations for unix-getrlimit and unix-setrlimit.
      Define stubs for getrlimit, setrlimit, and sched_yield.
      Fix a type error in "Delete Previous Character" that occurred when
      Allow the alien funcall to return two values in EAX and EDX,
      Enable the SAP-ref-64 defknowns on all ports.
      Define SAP-ref-64 setf function macros on all ports.
      Add transforms for 64-bit SAP accessors.
      Enable the SAP-ref-64 accessors on all ports.
      Enable 64-bit alien integers on all ports.
      Add an %alien-funcall transform to handle 64-bit alien integer
      Portability fix for the signal masked check in alloc.
      Avoid the SA_SIGINFO flag on Linux as it causes the creation of
      Remove hack definitions of SA_SIGINFO and sa_sigaction as these are
      Move Linux over to the new address map, giving 256M for the static and
      Move Linux over to the new address map, giving 256M for the static and
      Ensure that garbage collection is inhibited when calling
      If sa_sigaction is not defined in the systems header files then define
      Revised fix for obtaining the structure slot accessor function given
      Fix for the redefining of structures which was broken by the previous commit.
      Correct a typo in the with-lock-held macro, which broken it when a
      Fix for the CMP instruction which was intended to have accepted a
      Modify the assembler syntax for the closure_tramp indirect jump to
      Config file for the Alpha Linux port; from Julian Dolby.
      Fix the rounding of large numbers in %unary-round, noted by Akira Kurihara.
      Optimise eql zero comparisions in generic-eql-c/fixnum to use the TEST
      Remove the def-type-vop dylan::dylan-function-p, as the dylan code has
      Add the FFREEP instruction which is documented for the AMD Athlon and
      For the AMD Atlon, use the faster FFREEP instruction for stack pops.
      Add the FCOMI and FUCOMI instructions, of later Pentium processors.
      For Linux i386, restore the FPU control word in the SIGTRAP handler,
      Replace unsigned-byte-32-count with the same method as in the x86
      Add bignum-logbitp, and update logbitp to use logbitp or
      Transform logbitp for the (signed-byte 32) and (unsigned-byte 32) cases.
      Fix for generic-= which must not return True based just on the two
      For interval-div, handle the case where the denominator is 0 and the
      Export the new function BIGNUM-LOGBITP from the BIGNUM package.
      Remove the unneeded nop between floating-point compare and branch
      Use only one of :sparc-v7, :sparc-v8, or :sparc-v9 when building to
      Don't use deprecated smul and umul instructions when building for a
      Fix divide-by-zero bug in rationalize (rationalize 5.964664720239993d-15)
      For support of compiler reentry and thread safety, avoid the use of
      For support of compiler reentry and thread safety, avoid the use of
      For support of compiler reentry and thread safety, avoid the use of
      For support of compiler reentry and thread safety, avoid the use of
      Source cleanup.
      Fix define-predicate for list based structures. The predicates were
      When compiling for the interpreter, only generate one
      Add a check for null continuation destinations in
      Cleanup for the BOOLEAN symbol which is now exported from the LISP package.
      Enable unix-sched-yield for Linux.
      Minor documentation fixes.
      Clarify the SCs of the temps in the bind VOPs.
      Define *maybe-use-inline-allocation* and *enable-pseudo-atomic*
      Minor formatting fixes.
      Cleanup the source paths.
      Quieten a warning: do not declare the scp argument to sigfpe-handler
      Quieten some warnings of unreferenced TNs for the non long-float code.
      For the store-conditional VOPs the new-value argument is not modified
      Rename VOPs with conflicting names; even when a guard is used to
      Add support for printing and reading arrays with arbitrary
      Use package html2 now rather than html2e, as in recent versions of
      Replace :sparc-v9 conditional code generation to be conditional upon
      Disable the use of the extra float registers available on the Sparc V9
      Make the use of the extra registers available on the sparc V9
      Replace the PAGE_BYTES define with PAGE_SIZE, and use it where
      Do not use the hairy-type (and integer (not fixnum)) for the bignum
      Export check-bignum from the C package.
      Correct the naming of the check-bignum VOP for the hppa, mips, sparc ports.
      Extend the union type :unparse method to recognise the new translated
      Extend hairy-type-check-template to recognise the new union-type
      Fix for equalp when passed a character and a non-character; needed
      Fix for the disassembly of format-3-shift-reg instructions; from
      Modify the sxhash double-float and long-float functions to allow them
      Fix the handling of fixnums in sxhash; the fixnum hash must be
      Add support for EQUALP hash tables; by Douglas Crosher based on the
      Special case bit vectors within sxhash, returning a useful hash for
      Modify the sxhash-bits-byte to be 29 bits wide rather than just 23 bits.
      Add a note that the required packages are included in the teTeX
      Ensure that equal-hash is consistent across the various vector types;
      The equalp-hash algorithms for vectors and arrays differs because the
      Split the fash-ash VOPs into those for either signed-nums or
      Split the fash-ash VOPs into those for either signed-nums or
      Replace scrub-control-stack with an inlined VOP on the x86 port. The
      Fix a few typos in the prior fash-ash commit.
      Fix some typos in the register size conditionals.
      Flush references to zero_stack as this has been handled by
      On the x86 port do not zero the dynamic space here after purify
      Have os_validate pass the MAP_NORESERVE flag to mmap. This allows
      Correct the format-universal-time :government style year field output
      Fix for the fexp VOP. Prior patch had incorrectly converted a 'fstp fr1'
      Use multiply instructions if available for generic-*. Also for
      o Branch with prediction instructions are defined.
      o Added truncate vops for V8 and V9.  The generic versions in
      From Raymond Toy:
      Use the right instructions after the renaming of quad FP instructions;
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      Implement issue GET-MACRO-CHARACTER-READTABLE, the readtable argument
      From Peter Van Eynde's branch:
      o Cleanup of the Config files.
      o Use linux-nm to allow the symbols to be tailored to this system,
      From Pierre R. Mai:
      o The {single,double,long}-float-{positive,negative}-infinity symbols
      From Raymond Toy: Correct some TeX bugs in the compiler internal docs.
      Makefile for the various internal documents.
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      o Handle the inspection of general CONS objects. These had been giving
      Concatenated-stream-streams should be returning the remaining streams
      o Correct the previous patch which should also have defined the
      From Raymond Toy:
      o Add a derive-type optimizer for INTEGER-LENGTH; based on a
      For the various case macros, do not generate an error during
      Add the CMOV and FCMOV instructions of the PPro and later processors.
      o Fix a bug in the long-float comparison VOPs when both arguments are
      o Where possible schedule FNSTSW directly after FCOM, FUCOM, and FTST
      Make keywords print out readably independent of the package when
      Fix the hairy-type-check-template handling of the symbol and cons
      Implement a specializing CONS class as per issue CONS-TYPE-SPECIFIER:ADD.
      Set the precision to 53 bits for a double-float build, rather than 64
      For the long-float x86 build, slightly increase the magnitude of
      Fix array-displacement to correctly handle non-displaced arrays; it
      Avoid boxing the result in data-vector-set by returning the given
      Special case the handling of hash tables within equalp. This brings
      New implementation of the function rationalize, from Raymond Toy based
      Move the symbol %defpackage from the LISP to the KERNEL package and
      Add %defpackage to the magic top-level forms handled by process-form
      Based on patches from Tim Moore; problem noted by Sam Steingold:
      The %instance-typep transform must be applied when both native and
      Quieten a few compile warnings.
      Compile the CMUCL Gray Streams support as part of the normal build process.
      Concatenate the Gray Stream support files into a gray-streams-library,
      Add the configuration option of loading the Gray Stream library.
      Rework decode-universal-time to correctly handle time zones that are a
      Extend format-universal-time to print RFC1123/RFC850 style dates, and
      o Extend parse-time to accept the patterns it matches as a keyword
      Correct the documentation for find-if and find-if-not.
      Split the Gray Streams files out into a separate system so that they
      Fix the byte compiler to not directly reference named constants, as
      Ignore the recursive-p argument to peek-char, rather than having it
      Ensure that continuation references stored within the lexical
      Rework the code to allow file offsets greater than the most positive
      Fix for the ceiling derive type optimizer which in some cases was
      Flush a verbose debug message that occurred rarely during code fixups.
      Fix for the single-float and double-float < comparison VOPs which were
      Fix for the values type :simple-= method which was incorrectly always
      Blow away the slot-value and slot-boundp compiler-macros exported from
      Fix references to the condition simple-program-error which is exported
      Clarify an assertion on the result of truncate, firstly receiving the
      Clarify an assertion on the result of round, firstly receiving the
      Correct single-value-type to return the union with the null type for
      Clarify some assertions on the result of function rem, firstly
      o Correct some of the return types of parse-namestring to be consistent
      Clarify an assertion on the result of truncate, firstly receiving the
      Fix elfun-derive-type-simple and trig-derive-type-aux to return
      Correct the type assertion on the result of the info macro to be a two
      Fix two references to continuation derived and asserted types
      o Skip substitute-single-use-continuation if CONT's assertion is
      When asserting a single value from truncate etc, rather than
      When asserting a single value from truncate etc, rather than
      Back out the previous assertion type changes, function rem only returns
      Clarify assertions on the result of floor to be (values fixnum t),
      Fix set-write-date, which wasn't working at all.
      Have environment-macro return just a single value, rather than
      o Recheck the asserted against the proven type for each type in a
      Enhance ir1-optimize-mv-bind to propagate the type of optional or rest
      Reworking of the values-type system to overcome a number of inconsistencies
      Flush unnecessary function proclaim's some of which had incorrect
      Fix declaration type from previous patch.
      Enhancement to continuation-check-types: even when the proven type
      Enhance finalize-xep-definition to report conflicts between the
      Correct the declared result types of a few functions:
      Correct the declared result types of a few functions:
      Correct the declared return type of parse-namestring; the second return
      Switch the implementation of handler-case to use tagbody rather than
      o Fix the generation of new variable leafs by the proclaim functions.
      Fix the handling of :unread and :clear-input in the stream
      When read-sequence is using the read-n-bin method, loop if the number
      Add alien function definitions for getsockopt and setsockopt,
      o Add functions get-socket-option and set-socket-option from getting and
      Enable stubs for getsockop and setsockopt.
      Correct constants sol-socket and so-reuseaddr for solaris, from Raymond Toy.
      The stream class should have kernel:instance as its superclass.
      Just grab the lisp class direct-superclasses for the pcl
      o Add the new function order-layout-inherits to correctly order the
      Add definitions of the constants sol-socket and so-reuseaddr for FreeBSD;
      Handle duplicate layouts in order-layout-inherits.
      Add support for computing class precedence lists, and use this to
      Add the ability to delay IR1 transforms, giving type and constraint
      Delay the %instance-typep transform when converting to inline code,
      Declare the use of the new variable *delayed-transforms* as special in
      Add support for define-symbol-macro.
      Avoid the use of the symbol SLOT internally in COMMON-LISP package as
      Set the :proceed option when compiling run-program as a constant
      Add transforms for the sap-ref-64 operations.
      Ensure that process-wait-until-fd-usable returns true unless there is
      Correct the spelling of the poll system call; from Scott A Crosby.
      When restarting a process, reset the scheduled times and accrued times.
      o Use package html now rather than html2, as in recent versions of
      Fix a table row break lost in the previous patch.
      Update the clean target to exit cleanly.
      Add a terpri to the herald making it a standard width.
      Add guards to those VOPS that use the cmpxchg instruction which was
      o Rework %enumerate-directories to handle :wild and :wild-inferiors
      Add the new keyword argument :TRUENAMEP to the function directory,
      o Based on suggestions from Martin Cracauer, flush commonly used output
      Misc source cleanup.
      Fix the naming of the float register storage classes, but the
      Work-around for recent versions of bash.
      Minor source cleanups.
      Minor source cleanup.
      Update the setup of the random state.
      When merging lets, ensure that the converted function is removed from
      Add special case VOPs for logand to handle mixed signed and unsigned
      For the logbitp transform, place the typically constant mask as the
      Have interactive-eval flush the standard output streams, avoiding
      Take a little more care with the :start and :end arguments to the
      Catch NULL host enter aliases in lookup-host-entry to avoid
      Move the Sparc V9 fast max/min stuff to sparc/float.lisp.
      o Add fast logand for signed/unsigned as done by Doug for the x86
      o Make the fast V9 max/min VOPs work again, and simplify the code.
      o Within set-leaf-value-lambda-var, avoid trying to set a lexical
      o Within generate-byte-code-for-set, avoid trying to set a lexical
      o After propagate-let-args, delete the let when none of the variables
      The library files given to load-foreign are for input and
      Rework the sequence functions MAP, SOME, EVERY, NOTANY, and NOTEVERY.
      Correct the handling of non-keyword keyword argument names, ensuring
      Make LOCALLY a special form instead of a macro.
      Remove the macro for LOCALLY, which is now a special form; from Raymond Toy.
      Really remove the macro for LOCALLY, which is now a special form.
      Define batch mode early in the C startup code.
      Do not open /dev/tty when in batch mode.
      When in batch mode, exit upon errors, even during initialisation.
      Don't want the trailing semi-colon on the setfpucw macro.
      Take more care when restoring the FPU control word for linux, as there
      Use the value 0xffffffff to represent auto_gc_trigger disabled rather
      Take more care when restoring the FPU control word for linux, as there
      Have the compiler inline complex array access, calling %with-array-data
      The %alien-funcall ir2-convert optimizer needs to emit move VOPs from
      Fix for bignum multiplication, unsigned operation should be using a logical
      Allow the *batch-mode* setting to default from the loaded core, with
      Fix symbol value typo.
      o Add the command line switch -dynamic-space-size for setting the size
      o Add the command line switch -dynamic-space-size for setting the size
      Call gc_init after validate as the lisp memory map needs to have been
      Cleanup compiler warnings.
      Cleanup compiler warnings.
      Change memory map for larger spaces. From Raymond Toy.
      Move code for HOLES into sunos-os.c.  From Raymond Toy.
      Add support for holes. From Raymond Toy.
      Update the space start according to sparc-validate.h. From Raymond Toy.
      Don't use %g6 and %g7 which are reserved for the system.  Map NFP
      Can't use reg_L1 anymore because it doesn't exist. From Raymond Toy.
      Update register names and BOXED_REGISTERS for the moving of NFP and
      Update holes support as was done for sunos-os.c. From Raymond Toy.
      Add a final #\newline to the batch mode exit message; from Eric Marsden.
      Send the warning about weak-p hash table to *debug-io* not *standard-output*;
      Add a -quiet command line switch which clears the various -verbose*
      When searching for a LIP register pair, only consider lisp pointer
      Limit the stack trace failure warning in x86-call-context to fails for the
      Upon a stack trace ambiguity in x86-call-context, choose the lisp
      Support for relative package names, conditional upon the
      No need to export the unused symbols %function-header-arglist
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      From Raymond Toy:
      o Have print-unreadable-object respect *print-pretty*.
      o pprint-newline, pprint-indent, and pprint-tab should do nothing if
      o Correct the pretty printing by print-unreadable-object. Only attempt
      o Fix output-character to escape the char-name. Reworking quote-string
      From Raymond Toy:
      From Raymond Toy:
      From Raymound Toy:
      o Rework the 'ash derive-type optimizer so better handle large negative bounds.
      o Signal an error if a file given to load-foreign is not found. Suggested
      o Fix for slot-accessor-form; the raw data form was not correctly
      o Clarify the need for CMUCL_EMPTYFILE on SunOS and Solaris.
      o Catch missing slots in condition-reader-function, and signal an error.
      o Correct the printing of instance objects for which the length was
      o Allow the use of abbreviated type specifiers with proclaim, as is
      From Raymond Toy:
      o Implement unix-uname on linux, adding structure utsname.
      From Raymond Toy:
      o Ignore the return value from a call to "times" which may overflow
      o Have unix-uname and unix-gethostname signal an error upon a syscall
      From Raymond Toy:
      o Generate numbered restart commands even if the restart name is shadowed.
      o Compiler backend for the PowerPC contributed by Gary Byers.
      o Update the PPC backend for changes since it was developed in late 1997.
      o Add sap-*-64 transforms for the PPC and HPPA backends as the runtime
      o Use BCTRL to call-out as the target address may have significant
      o Have the print VOP allocated room on the number stack for the top
      o Remove unused 'function-header-* symbols. Noted by Will Deakin.
      o Rework the unix namestrings format, using the suffix .~#~ for the file
      o Fix some problems in the parsing within extract-name-type-and-version.

emarsden (143):
      Publishing the User's Manual as HTML (using hevea):
      Enable the scavhook facility on platforms without gencgc.
      Port a fix from the CLOCC CLX sources regarding getinputfocus.
      Improve help message for the TTY inspector.
      Herald refers to web site rather than to mailing list addresses
      Added a cross-referencing facility to the compiler.
      New files added from the XREF facility.
      Use VALID-FUNCTION-NAME-P for validation of names when dumping debug-info,
      Fix type declaration, noted by Dan Barlow on the new portable-clx-devel
      Fix typo in ignore declaration.
      Tell the compiler that READ-DELIMITED-LIST always returns a list.
      XREF documentation updated to match the implementation.
      Update the fasl-file-version and byte-fasl-file-version to #x18e, in
      Add a more informative error message to the stuff that is printed to the
      Improvements to the Internals manual:
      Fix an assertion on function names when dumping minimal debug info to use
      From Brian Uhrain:
      Enable type checking code in CLX when the clx-debugging *feature* is
      Update the release notes (still incomplete!).
      Export INIT-RANDOM-STATE from kernel package.
      The getpwuid_r() etc symbols must be referenced for Linux builds on Alpha
      Improve error checking of defmacro lambda-lists. Checking for compatible
      Change a number of error conditions signaled by the array routines
      Add large-file support to the Unix interface, when running above glibc. This
      Delete some unreachable code and debugging statements.
      Fix typo GET-ERRNO -> UNIX-GET-ERRNO.
      From Luke Gorrie:
      New configuration file for Linux running on Alpha
      Add dabbrev.lisp to list of files compiled with Hemlock.
      Add support for hardware cycle counters for Pentium and UltraSPARC. This
      Fix a bug in RUN-PROGRAM's handling of the :append argument to
      Add note regarding the Hemlock dabbrev and isearch C-w changes.
      Get rid of a compiler warning about an unused variable.
      ENDP is known to operate on a list.
      Additions to the Large File Support, necessary in order to for large
      Following the Large File Support changes, add names of 64-bit variants of
      More updates.
      The coordinates of the hotspot in a PixmapCursor are unsigned, so don't
      In UNIX-LSEEK, return (values nil errno) on failure instead of
      The debugger actually prints #<unused-arg>, not <unused-arg>.
      Add a symbol instead of a closure to ext:*after-save-initializations*.
      The optional second argument to FILE-POSITION is a positive integer; it can
      The second argument to BIGNUM-ASHIFT-RIGHT is an UNSIGNED-BYTE, not an
      Fix documentation bug: FLOAT-NORMALIZED-P should be FLOAT-DENORMALIZED-P.
      * Change the way that the compiler searches for function names in the
      - the :new-compiler and :hash-new features were announced as being
      The LAMBDA-ENVIRONMENT of a node is sometimes nil.
      Instead of ignoring the :element-type argument to MAKE-STRING, we check
      - Fix (declare (type directory foo)) declarations to %directory
      Add printers for BSR and and BSF instructions on x86. From Alexey Dejneka
      Improvements to the CMUCL Motif Interface guide:
      CMUCL User's Manual:
      Add missing return type declaration for DEFKNOWN form for %SET-FILL-POINTER.
      Make SIMPLE-PARSE-ERROR subclass PARSE-ERROR (fixes bug in PARSE-INTEGER
      - remove extra parenthesis
      Remove the REUSE-ADDRESS parameter to CREATE-UNIX-LISTENER; it's only
      - Add printing of condition type in the tty debugger
      Remove obsolete alias from MAKE-VECTOR to MAKE-ARRAY (internal to CL
      Fix misleading commentary on the implications of the LOOP license (from
      Loading Hemlock causes :hemlock to be provided, so that REQUIRE doesn't
      Signal package-errors rather than generic errors for some
      Fix a documentation typo.
      Add package locks. Bootfile boot8.lisp allows this to build without
      - information about package locks in the release notes (documentation
      Build cleanups:
      - for PCL-generated lambdas, extract a name for IR1 lambda nodes
      Change the names of lambda-nodes in IR1 for PCL-generated lambdas to
      Progress towards finer-grained package locks:
      Change to the compiler's error/note reporting:
      Various cleanups to CLX:
      Fix typo in FUN-ADDRESS.
      XREF improvements:
      Cleanup exports list.
      Fix typo in DELETE-ORIGINAL.
      Add forward declarations for the simple-streams functions
      Fix bug in simple-streams/strategy.lisp
      Use lisp package for *cleanup-functions* instead of CL package.
      Use lisp:: instead of cl:: for *enable-package-locked-errors*.
      Minor spelling and LaTeX formatting fixes.
      Add stub definitions for KERNEL:%NUMERATOR and KERNEL:%DENOMINATOR
      - fix a signed/unsigned cast bug that was prevented the
      Fix bug in type declaration for LISTEN.
      Fix simple-streams bug (undefined variable).
      Arguments of a READER-ERROR were being passed incorrectly to the
      Add a :reuse-address keyword argument to CREATE-REQUEST-SERVER, that
      Add error-signalling stubs for callback functions, for Alpha and PPC
      Signal a PROGRAM-ERROR instead of generic ERROR when attempting to use
      - remove stale code regarding :no-clx, :no-clm, :no-hemlock features
      - the CLX build process no longer links to socket.o (functionality
      Correct argument order in the depths of DATA-VECTOR-SET-C/
      Fix typos.
      Add support for 12-bit displays to CLX. Parry Husbands reports to
      Fix EXT:OPEN-CLX-DISPLAY for the case where a hostname (different from
      Add a function EXT:UNLOCK-ALL-PACKAGES, that disables both the
      - add documentation for package locks to the User's Manual
      In the debugger, display the package prefix when printing the name of
      Add definitions for UNIX-SETUID and UNIX-SETGID.
      Document a limitation of the XREF implementation: it does not delete
      Add a pane-title for integers to the CLM inspector (fixes an error when
      - various package-related cleanups. PROFILE and CLX packages use
      - add ignore declaration
      - component names may be non-pretty-printable
      Improved error-checking for CLX's (setf gcontext-dashes).  When the argument
      - add a SIMPLE-STREAM-ERROR class, and use it when signaling errors from
      - fix some error format strings that were missing arguments (found by the
      - restarts when a package lock is triggered by DEFSTRUCT redefinition:
      - fix defaulting behaviour of :if-not-exist in OPEN when used with
      - fix WRITE-SEQUENCE for vectors (detected by pfdietz' ANSI compliance
      Two unrelated fixes to ADJUST-ARRAY:
      More ANSI compliance fixes:
      More ANSI-compliance BROADCAST-STREAM fixes:
      ANSI compliance fixes for CONCATENATED-STREAMS:
      Revert to old behaviour for SERVE-EVENT and reentry of handler functions.
      Fix stupid mistake in the broadcast-stream ANSI-compliance changes.
      Change the behaviour of EXT:LOAD-FOREIGN when called with a single shared
      - add a non-blocking version of CONNECT-TO-INET-SOCKET, which avoids
      - link in the pthreads library when building the motifd on x86 platforms.
      - fix lambda-list processing: symbols with names like &foo should be
      On Linux/AMD64, we need to tell the platform linker to use the 32-bit
      - detect overflow of static and read-only spaces during PURIFY. You get
      - fix syntax for C multiline strings
      When compiling from a stream, the compiler can't use FILE-LENGTH on the
      Fix for EXT:LOAD-FOREIGN: LDEMULATION environment variable passed to linker
      Trivial fix for error signaling in FILE-AUTHOR. Resolves file-author.error.3
      Avoid a hang when calling SOFTWARE-VERSION on Linux kernel version 2.6.x.
      Fixes to REINITIALIZE-GLOBAL-TABLE: ignore invalid entries in the
      Minor improvements to the CMUCL User's Manual:
      Add a workaround for the spurious efficiency notes that are emitted when
      Fix compile-time format-string checking for the ~~ directive (pointed out by
      Fix access to errno via function in UNIX-LSEEK for Solaris.
      Change the way that X11 authorization data is searched for when connecting
      When naming a component in FIND-COMPONENT-NAME, don't require the component's
      Implement UNIX-GETPWUID for Darwin, by sharing code with the NetBSD
      In LOOKUP-FOREIGN-SYMBOL, add an ignore declaration for the non linkage-table
      Fix to CLX: Change several fields of the WM-SIZE-HINTS structure to
      Fix to the source-form reporting in the disassembler:
      Minor reorganizations and cleanups to release notes.
      Update information regarding the NetBSD/x86 port (thanks to Robert Swindells).
      fix typo

fgilham (48):
      Add #ifndef _FOO_H_ etc. lines to all .h files.  Moved a few lines in
      Added shadow of "position" symbol to avoid conflict with common-lisp
      Fix FreeBSD version to get rid of some warnings when building the lisp
      Fix bug in vector-push-extend where (adjust-array) is called but the
      Backing out previous patch which didn't actually make sense.
      Hacked default-directory function to avoid calling concatenate.  See
      Fix FreeBSD's dynamic space size limit to be 1.7 GB.
      Lisp executable code.
      Add lisp executable code.
      Add "license" or lack thereof, CVS ID.
      Fix CVS id.
      Fix indenting and add CVS id.
      Add "EXECUTABLE" define to keep that code out of architectures that can't use it.
      Add target "lisp.a" to create library to be linked in to Lisp executable binaries.
      Incorporate Lisp executable changes
      Incorporate Lisp executable changes.
      Add linker script for building Lisp executables.
      Add Lisp executable mods.
      Get the name of the linker script straight.
      Add installs for Lisp executable files.
      Add executable feature, conditionalize stuff
      featureized version of executable stuff
      Fixed indentation I broke in save.c and lisp.c.
      Change "register-lisp-feature" to "register-lisp-runtime-feature" for executable feature.
      Revert Config.FreeBSD_gencgc because executable feature now done correctly.
      Fix typos, portability stuff (e.g. get rid of __FUNCTION__ which SunOS doesn't have.)
      Add Linux linker directive script.
      Fix script so it will work with different versions of Linux (with any luck).
      Add elf and executable features to linux-os.lisp.
      Simplify finding C runtime object files.  Suggested by Ray Toy.
      Add special case for x86_64 to linker.sh.
      Fix error --- dynamic space address and free pointer not set.
      Back out change setting dynamic space variables.  It's already done in lisp.c.
      Save library: search list when dumping executable image.
      Preserve library: search list when dumping an executable.  Also needed help
      Preserve library: search list when dumping an executable.
      Fix typo that caused executables to have incorrect initial dynamic space allocation pointers.
      Add notes about new :executable flag to SAVE-LISP.
      Use __func__ and do some clean ups.
      Add description of how saving executable lisp images works.
      Back out kludged default-directory function that doesn't seem necessary any more.
      Minor changes and updates done in the course of testing Telent-CLX for inclusion in the tree.
      Move some defvars to a place in the file before they're used.
      Telent CLX import
      Mod to make Telent CLX work
      Remove reference to unnecessary socket.c file.
      Delete unnecessary socket.c file.
      Fix typos in CVS Id marker.

garland (22):
      Added code to support CONNECT-TO-UNIX-SOCKET so that Unix domain sockets
      Exported CONNECT-TO-UNIX-SOCKET and CREATE-UNIX-SOCKET, which had been
      Initial revision
      Initial revision
      Initial revision
      Added stuff to compile Motif toolkit.
      Initial revision
      Added stuff to load in the Motif interface.
      Fixed so that it doesn't reference the INTERFACE package before
      Fixed things up so that the StringTable.h file gets written out
      The debugger should now notice the absence of the Motif server and
      The inspector/debugger was not behaving properly in the absence of
      Replaced uses of Motif gadgets with corresponding widgets.  This
      Replaced uses of Motif gadgets with corresponding widgets.
      The debugger will now reuse old debugging panes rather than creating
      Invoking LISP-CONTROL-PANEL from the TTY now works correctly and
      The "Edit Source" button now works.
      Added support for deleting all active inspection panes.
      Added support for deleting all active inspection panes.
      Updated the inspector to work correctly on dotted pairs.
      The server process will now call wait to clean up zombie children
      Added an optional STYLE arg to the graphical inspector to make the

gerd (407):
      * compiler/generic/new-genesis.lisp (symbol-table-version):
      Fix bugs detected by Paul Dietz' ANSI test.
      Generalized function names.
      Add a hook for use by PCL.
      * compiler/ir1tran.lisp (extract-flet-variables): Use
      * pcl/defs.lisp (standard-method): Change superclass
      * cmucl-documentation.lisp (documentation) <list, function>:
      *** empty log message ***
      Generalized function names.
      * pcl/boot.lisp (generic-function-name-p): Use
      * tools/load-foreign.csh [FreeBSD]: Replace ld option -N
      * compiler/disassem.lisp (compiled-function-or-lose): Use
      Boot file for changing the fasl file version numbers to 18e.
      compiler/fndb.lisp (symbol-function): Change return type from
      * compiler/generic/new-genesis.lisp (cold-register-foreign-linkage):
      * bootfiles/18d/boot10.lisp: Boot file for the new/changed static
      * lisp/lisp.c (default_cmucllib): Initialize *defpath to 0, so
      * code/loop.lisp (estimate-code-size-1): Use valid-function-name-p.
      * compiler/ir1final.lisp (finalize-xep-definition): Use
      * src/compiler/array-tran.lisp (make-string): Change the
      * src/compiler/array-tran.lisp (make-string): Remove a
      * src/code/unix.lisp (unix-truncate, unix-ftruncate): Cope with
      * src/code/macros.lisp (dolist): Add original declaration to the
      Add generalized function names under Feature Enhancements.
      * docs/cmu-user/extensions.tex (Generalized Function Names):
      * compiler/ir1util.lisp (print-error-message): Don't treat all
      * compiler/ir1util.lisp (print-error-message): Make sure
      * code/hash-new.lisp (internal-equalp-hash, internal-sxhash):
      * bootfiles/18e/boot[12].lisp: Bootstrap files for the lisp:class
      * docs/cmu-user/extensions.tex (CLOS): New section.
      Optional control stack checking.  This is controlled by the
      *** empty log message ***
      * src/compiler/ir1final.lisp (finalize-xep-definition): Catch
      * src/compiler/ir1util.lisp (delete-block): Delete entries
      * std-class.lisp (class-direct-slots, class-slots)
      * generic-functions.lisp (make-instance): Add &key
      * dfun.lisp (make-initial-dfun): Reactivate the call to
      * pkg.lisp ("CLOS-MOP"): Export some more symbols.
      * code/class.lisp (order-layout-inherits): Fix a typo.
      * pcl/boot.lisp (parse-defmethod): Rewritten for clarity.  Signal
      * code/hash-new.lisp (make-hash-table): Put warning about
      Mention weak hash tables and the change in PCL's class hierarchy.
      Fix a typo.
      Add that one has to change kernel:class-layout to kernel:%class-layout
      Break some vicious metacircles.
      * pcl/fixup.lisp (print-object) <ctor>: New method.
      * compiler/ir1tran.lisp (process-ftype-declaration): Accept
      * pcl/ctor.lisp (optimizing-generator): Remove optimize
      Make classes FIND-CLASSable early, for MOP programming,
      * pcl/defs.lisp (class): Add kernel:instance superclass so
      * pcl/braid.lisp (ensure-non-standard-class): Handle the case
      Update CLOS STRUCTURE-CLASSes on structure changes.
      * pcl/std-class.lisp (shared-initialize): Check that reader
      Name local functions (FLET ...) or (LABELS ...).
      * pcl/pclload.lisp ("PCL"): Remove references to the
      * pcl/std-class.lisp (ensure-class-using-class): Pass initargs
      Add defclass-forward-referenced-class.0.
      Fix TYPEP/SUBTYPEP problems with unfinalized and
      * pcl/rt/defmethod.lisp (defmethod-forwared-referenced.[01]):
      * tools/pclcom.lisp: Remove reference to the slot-accessor-name
      * pcl/std-class.lisp (update-class-can-precede-p): Rewritten.
      * compiler/ir1tran.lisp (find-in-bindings-or-fbindings)
      The SEQUENCE-COUNT type was previously used in c:fndb, but since
      Don't export a class DIRECTORY from CL.  Fixes ANSI test case
      Fix CONDITION-x-SLOTS* ANSI test failures.
      * src/pcl/dfun.lisp (cache-miss-values-internal):
      * src-head/code/type.lisp (type-might-contain-other-types-p):
      * src-head/pcl/dfun.lisp (cache-miss-values-internal): Test
      Mention condition fixes.
      Speed up the type system.
      Further speed-up of the type system.  Avoid compiler notes.
      ANSI fixes.
      Fix test cases CONTINUE.2, STORE-VALUE.2, USE-VALUE.2 from Paul
      Fix for COMPUTE-RESTARTS.9 from Paul Dietz' test suite.
      *** empty log message ***
      Return block names for PCL function names.  From Eric Marsden.
      Further fixes for making SUBTYPEP work with forward-referenced
      Make condition readers/writers generic functions, as required by
      Fix for LAMBDA.{27,28,29,50,32,33,34,35}, FLET.{57,58,59,60}
      Add destructuring support to &REST, &BODY, &WHOLE.  Detected
      *** empty log message ***
      *** empty log message ***
      Wrong package.
      * src/code/interr.lisp (invalid-array-index-error): Signal
      Fix ELT.1B, ELT.14 from ansi-test/compiled.
      *** empty log message ***
      Fix for compiled MULTIPLE-VALUE-CALL.2 ANSI test case.
      * src/pcl/ctor.lisp (slot-init-forms): Ignore duplicate instance
      * src/pcl/rt/make-instance.lisp (make-instance.32): New test.
      Fix for Paul Dietz' ANSI test CLASS-07.10.
      Make the type system more forgiving wrt to unknown types.
      Fix for Paul Dietz' ANSI test CLASS-15.1.
      Final fix for -0d0/0d0 and member types from Christophe
      * src/pcl/init.lisp (make-instance): Undo last change.
      * src/compiler/fndb.lisp (write-sequence): Use sequence
      * src/code/type.lisp (number): Use equalp instead of equal
      Fix for CLASS-20.[12], CLASS-21.* ANSI test cases.
      * src/pcl/rt/ctor.lisp: Really do what the last change
      * src/code/debug-int.lisp (x86-call-context): #+nil the "Both
      ANSI test fixes, interpreted code.
      *** empty log message ***
      MOP bug fix for problem with (SETF SLOT-VALUE-USING-CLASS)
      Test cases CLASS-0203.[12].  SLOT-MAKUNBOUND not returning
      Test cases CLASS-REDEFINITION.[12] from Paul Dietz' ANSI tests.
      CLASS-04.[2345], CONDITION-27-READER-IS-GENERIC, compiled.  Avoid
      Fix for compiled test cases of the form (PROGN (FBOUNDP 42) T),
      * src/compiler/fndb.lisp (nconc): Change arg types to T
      ANSI test CLASS-0211B.1.  Initforms of shared slots inherited
      * src/compiler/array-tran.lisp (svref, schar, char): Define
      * src/pcl/slots-boot.lisp (ensure-accessor): Initialize the slot's
      Make ALLOCATE-INSTANCE work on structures defined with DEFSTRUCT.
      Fix for various ANSI test cases that fail when compiled because
      * src/code/error.lisp (condition-slot): Add documentation slot.
      * src/compiler/ir1tran.lisp (get-defined-function): Remove
      Boot file for new condition slot documentation.
      * src/code/profile.lisp (unprofile): Default names to
      Compile-time checking of calls to FORMAT.
      * src/pcl/dfun.lisp (saut-class-eq, saut-eql): Use
      * src/compiler/srctran.lisp (check-format-args): Use compiler-note
      Compile-time check for ~{ and ~? argument counts in FORMAT control
      * src/compiler/srctran.lisp (format): Always give-up, never
      Test case SHARED-INITIALIZE.5.1 from Paul Dietz.
      For the same problem that SHARED-INITIALIZE.5.1 from Paul Dietz
      * src/code/error.lisp (compute-effective-slots): Use :key with
      Make slot locations more intuitive; preserve slot locations of
      * src/code/defmacro.lisp (parse-defmacro-lambda-list):
      Detect odd-length keyword argument lists, invalid keyword
      *** empty log message ***
      Code cleanup.  Use EXTENSIONS package to reduce clutter.
      &ENVIRONMENT variable is bound at the start, regardless of
      *** empty log message ***
      Generate inline code for keyword argument processing in methods.
      * src/pcl/boot.lisp (bind-args): Fix last change.
      * src/code/hash-new.lisp (internal-sxhash): Treat conditions
      * src/pcl/boot.lisp (bind-args): Unod last change because
      * src/pcl/slots-boot.lisp (ensure-accessor): Remove unmatched ).
      * src/pcl/macros.lisp (/show): Ignore parameter.
      Add a deftransform for extracting slot vectors.  This can be done
      Argh.  Remove the debug output.
      * src/pcl/method-slot-access-optimization.lisp (pv-slot-value):
      Fix problems with THE detected by Paul Dietz' tests.  This also
      * src/compiler/ir1tran.lisp (the) <IR1 translator>: The spec
      * src/pcl/std-class.lisp (update-shared-slot-values): Test
      * src/compiler/ir1tran.lisp (the) <IR1 translator>: Don't
      * src/pcl/init.lisp (shared-initialize): Initialize shared slots
      Found by Christophe Rhodes:
      *** empty log message ***
      SLOT-EXISTS-P is supposed to work on conditions.  Detected
      *** empty log message ***
      Make condition slots readable with SLOT-VALUE.
      *** empty log message ***
      If encapsulation is :default, encapsulate if we know function-end
      More SLOT-VALUE etc. on conditions.
      REMOVE-METHOD.1 test from Paul Dietz.
      Inspect CLOS instances.
      * src/code/tty-inspect.lisp (describe-standard-object-parts): Use
      * src/code/defstruct.lisp (defstruct): Handle uninterned
      MAKE-INSTANCE.[12] tests from Paul Dietz.
      * src/pcl/cache.lisp (dfun-arg-symbol, slot-vector-symbol):
      * src/pcl/rt/ctor.lisp (call-generator): Adapt to change
      * src/pcl/ctor.lisp (constructor-function-form): Don't
      * src/code/profile.lisp (compute-time-overhead): Use
      Functions used in the implementation of TRACE can be traced using
      Let TRACE and PROFILE ignore package locks.
      * src/pcl/braid.lisp (make-class-predicate): Use
      Replace ENCAPSULATION-INFO with a funcallable structure
      Missing MAKE-LOAD-FORM methods detected by Paul Dietz.
      Bogus MAKE-LOAD-FORM-SAVING-SLOTS detected by Paul Dietz.
      Remove the bogus defgeneric for make-load-form-saving-slots.
      Bug reported by Lynn Quam on cmucl-imp.
      Methods with &optional args could be called with too many
      Paul Dietz' DEFGENERIC.ERROR.4.  Check for repeated lambda
      DEFGENERIC.ERROR.[34] from Paul Dietz' tests.
      *** empty log message ***
      *** empty log message ***
      * src/code/eval.lisp (lambda-list-keywords): Add c:&more.
      Allow (SETF SLOT-VALUE) on read-only structure slots, like LW and
      Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs,
      Move PCL's declaration identifiers SLOTS, AUTO-COMPILE,
      * src/pcl/rt/inline-access.lisp (auto-compile-declaration.2): Use
      * src/pcl/clos-bench.lisp: Change PCL declarations to EXT.
      * src/pcl/macros.lisp (pcl-internal-function-name-p): New
      Add fwrappers.  Rewrite TRACE and PROFILE to use fwrappers.
      Add fwrappers.  Rewrite TRACE and PROFILE to use fwrappers.
      * src/code/fwrappers.lisp (encapsulated-p): Copy/paste error.
      * src/docs/cmu-user/extensions.tex (section{Function Wrappers}):
      CLHS 7.6.5 keyword argument checking for calls to generic
      *** empty log message ***
      * src-gf/pcl/boot.lisp (invoke-effective-method-function): Add
      * src-gf/pcl/methods.lisp (function-keywords): Use
      * src/pcl/cache.lisp (with-local-cache-functions): Add a reference
      * src/code/foreign.lisp (load-object-file): Print more
      * src/pcl/low.lisp (compile-lambda): Add &key name and inline.
      Fix code signaling type-errors which did not have :datum and/or
      *** empty log message ***
      Make adding new PCL declarations easier.
      Structure slot names can be any symbol.  Found by Paul Dietz.
      For-arithmetic is allowed on NUMBERs.  Found by Paul Dietz.
      Support for inlineing of methods in effective methods.
      * src/compiler/generic/new-genesis.lisp (emit-c-header-aux):
      Building with cgc.
      * src/compiler/generic/new-genesis.lisp (emit-c-header-aux):
      A generic function can have more than one name, via
      * src/pcl/rt/defmethod.lisp (defmethod-setf-fdefinition.0)
      * src/pcl/cache.lisp (check-wrapper-validity): Handle :invalid
      * src/code/defmacro.lisp (parse-defmacro-lambda-list): () means
      * src/code/defmacro.lisp (parse-defmacro-lambda-list): Undo last
      CALL-NEXT-METHOD when used without arguments, should always use
      In safe code, signal an error if the set of methods applicable to
      * src/pcl/info.lisp (split-declarations): Declare arg
      * src/pcl/boot.lisp (pcl::%check-cnm-args): Fix the policy
      * src/compiler/envanal.lisp (find-non-local-exits): Deal with
      FIND-METHOD.ERROR.{9,10} from Paul Dietz' tests.
      *** empty log message ***
      Tests ADD-METHOD.[12] from Paul Dietz' test suite.
      * src/pcl/methods.lisp (#+loadable-pcl): Return new method.
      Fix a bug in constant-value dispatching found by Paul Dietz.
      *** empty log message ***
      * src/compiler/saptran.lisp (foreign-symbol-address)
      Various problems with TYPE-OF found by Paul Dietz.
      Problems with class precedence lists found by Paul Dietz.
      * src/code/unix.lisp (map_anonymous) [#+freebsd]: Define.
      * src/code/unix.lisp (unix-mmap) [#+freebsd]: Use 2 unsigned-longs
      Use int64-t for off-t on BSDs for large file support.
      Apply type declarations to special variables.  The example
      *** empty log message ***
      Ease disassembling closures and funcallable instances.
      Class redefinition and proper class names.  Found by Paul Dietz.
      *** empty log message ***
      *** empty log message ***
      Remove an unused slot from classes.
      SLOT-UNBOUND.[12] tests from Paul Dietz.
      * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add
      * src/pcl/env.lisp (describe-object) <class t>: Print if
      * src/pcl/rt/system.lisp (toplevel): Make
      Fix for (search '(1 2) '(3 4 0 1) :test #'<), which should
      Remove the "" nickname of the KEYWORD package, as per ANSI.
      * src/code/reader.lisp (read-token): Fix last change.
      * src/code/reader.lisp (read-token): Fix last change.
      * src/code/profile.lisp (profile-1-function): Call fwrap
      * src/pcl/pkg.lisp ("PCL"): Export no-primary-method.
      * src/docs/cmu-user/macros.tex (defgeneric, defmethod):
      * src/pcl/rt/slot-missing.lisp (slot-missing.[345]): Change
      * src/pcl/slots.lisp (slot-value, set-slot-value, slot-boundp)
      * src/pcl/slots-boot.lisp (ensure-accessor) <setf>: Call
      Remove package nicknames USER from COMMON-LISP-USER.  Add a new
      * src/code/fwrappers.lisp (fwrap): Coerce constructor to function.
      * src/tools/pclcom.lisp: Delete the symbol
      * src/tools/setup.lisp, src/tools/worldcom.lisp: Move the setting
      Add (SETF WEAK-POINTER-VALUE).  From Paul Foley on cmucl-imp,
      Structure predicates used to signal an error when applied to an
      *** empty log message ***
      * src/bootfiles/18e/boot13.lisp (relative-package-name-to-package)
      * src/compiler/disassem.lisp (fun-address): Use #. in the case
      Make circular constant lists dumpable by checking for the list in
      * src/compiler/array-tran.lisp (%check-bound): Fix an off-by-1
      * src/pcl/ctor.lisp (slot-init-forms): Declare safety 3 to
      NTHCDR and NTH are specified to accept unsigned-byte.
      * src/compiler/fndb.lisp (cerror): First arg may be a function.
      * src/pcl/ctor.lisp (toplevel): New function name syntax
      * src/code/type.lisp (function :simple-union)
      (compile nil '(lambda (x) (typep x '(not (member 0d0))))) recurses
      * src/code/macros.lisp (c::%defun): Save inline-expansion
      (DESTRUCTURING-BIND (X . Y) () ...) did not signal an error.
      * src/code/defmacro.lisp (dotted-list-length): New function.
      * src/code/byte-interp.lisp (invoke-xep): Signal program-error
      * src/code/array.lisp (%array-row-major-index): Signal
      * src/code/hash-new.lisp (internal-sxhash): Don't fail
      * src/code/byte-interp.lisp (invoke-xep): Use function
      * src/compiler/main.lisp (compile-file-pathname): Default
      * src/code/defmacro.lisp (dotted-list-length): Declaim inline,
      LAST, BUTLAST, NBUTLAST accept bignums.  Found by Paul Dietz.
      Method definition takes something like O(n^3) time.
      *** empty log message ***
      * src/code/macros.lisp (with-output-to-string): Add and
      *** empty log message ***
      * src/tools/hemcom.lisp (toplevel): Set
      The debugger computes active restarts in a dynamic environment
      (compile nil '(lambda (s)
      * src/code/ntrace.lisp (trace-1): Encapsulate if
      * src/pcl/methods.lisp (print-object): Specialize on
      (aref (make-array nil :initial-contents nil)) returned 0 instead
      Get rid of the 64 bytes that are shown as being consed when
      * src/hemlock/main.lisp (ed): Undefined variable used with
      LDB backtrace for x86, first steps.
      * src/lisp/validate.c (validate): Remove a debug fprintf.
      * src/code/time.lisp (*in-get-time-consing*): New var.
      * src/compiler/srctran.lisp (format): Don't define deftransforms
      CLtS effectively forbids method load-time precomputation of
      * src/lisp/backtrace.c (print_entry_name): Print symbol package,
      Loading gray-streams lead to a vicious metacircle because
      Improve LDB backtrace on x86.
      * src/pcl/methods.lisp (real-add-method): Warn about invalid
      (deftype string-and-number () '(cons string (cons number null)))
      Remove the function definition of FIXNUM, which it must not
      * src/code/type.lisp (hairy complex-=): Do some more work for
      DYNAMIC-EXTENT rest args.  Currently for x86 only.  Speed must be
      * src/compiler/x86/macros.lisp (allocation): Use >= speed safety
      Control viability of dynamic-extent declarations with a
      Dynamic-extent closures for x86.  Use boot15.lisp for
      * src/compiler/ir1tran.lisp (*suppress-dynamic-extent-declaration*):
      * src/code/format.lisp (%min/max-format-args): Handle ~<...~:>
      Some tests from Paul Dietz' test suite, like (MAX (FIND-PACKAGE
      * src/compiler/main.lisp (convert-and-maybe-compile): Don't
      Lisp executable support.  From Fred Gilham.
      * src/code/print.lisp (output-array-guts): Parts of the output
      Format string checking for ERROR, WARN, and others.
      * src/pcl/braid.lisp (bootstrap-meta-braid): Add missing
      * src/code/fd-stream.lisp (fd-stream-read-n-bytes): Take unread
      * src/code/numbers.lisp (truncate): Use bignum-truncate
      * src/code/fwrappers.lisp (funwrap): Delete all fwrappers
      Lisp executable support.  From Fred Gilham.
      * src/code/numbers.lisp (round): Handle the case truncate
      * src/code/numbers.lisp (round): If remainder is zero,
      Debugger signalling an error when a function parameter is
      (defun foo (n d)
      Lazy signaling of errors because of invalid method qualifiers,
      Dynamic-extent support for x86.  Use boot16.lisp for
      Changes in generic function's method combination don't take
      Type error being signaled in volatile-info-lookup.
      *** empty log message ***
      *** empty log message ***
      * src/code/byte-interp.lisp (byte-interpret-byte): #+nil the
      * src/code/byte-interp.lisp (byte-interpret-byte): Declare
      *** empty log message ***
      * src/code/byte-interp.lisp (*eval-stack*, *eval-stack-top*):
      * src/code/byte-interp.lisp (byte-interpret-byte): Use logbitp
      (loop for i in '(4 8 9 a 13)
      *** empty log message ***
      Handle display names which don't specify a host differently.
      * src/tools/build-and-install, src/tools/chop.c:
      (ext:parse-time "Fri, 04 Apr 2003 01:36:12 0200")
      * src/ldb/, src/assembler/: Removed; dead code.
      * src/code/unix.lisp (unix-mmap): Allow null fd, as the rest code
      * src/code/signal.lisp (:SIGPROF): Set to 27 as kill -l tells.
      * src/compiler/srctran.lisp (number-sign): Rewrite sligtly to get
      * src/compiler/srctran.lisp (convert-member-type): Don't construct
      (/ 1 0.0) not signaling a divide-by-zero on FreeBSD.
      (apply #'+ 1000 <some-list>) byte-compiled into a call
      * src/pcl/ctor.lisp (call-ctor): Consider only ctors whose
      TeX fixes from Adam Warner.
      * src/compiler/byte-comp.lisp (annotate-full-call): Don't
      * src/code/numbers.lisp (two-arg-gcd): If one parameter
      *** empty log message ***
      * src/code/numbers.lisp (two-arg-lcm): If one arg is zero, value
      * src/code/numbers.lisp (two-arg-+/-) <float/complex>:
      * src/code/numbers.lisp (two-arg-+/-): Fix last change.
      * src/pcl/methods.lisp (reinitialize-instance): Remove
      Silence warnings about free ignore declarations in method
      (defun foo (x) (float x 1f0))
      (parse-integer " 1 ") => 0, 2 instead of 0, 3.
      *** empty log message ***
      * src/code/reader.lisp (parse-integer): Handle displaced strings.
      Fix formatting.
      * src/code/numbers.lisp (logior, logxor, logand, logeqv):
      (compile nil '(lambda (x) (declare (bit x)) (+ x #xf0000000)))
      * src/compiler/fndb.lisp (logbitp): Index is unsigned-byte.
      * src/compiler/srctran.lisp (%ldb): (unsigned-byte 0)
      * src/compiler/srctran.lisp (%dpb-derive-type-aux): Extract from
      * src/compiler/srctran.lisp (%mask-field):  (unsigned-byte 0)
      * src/lisp/alloc.c (alloc) [GENCGC]: Define as alloc_pseudo_atomic.
      Disable dynamic-extent.  Fred Gilham has been observing a problem
      * src/lisp/gencgc.c (alloc_pseudo_atomic): Wrap alloc in
      * src/lisp/gencgc.c (GC_ASSERTIONS): New define for activating GC
      * src/lisp/elf.c (map_core_sections): Add missing stream argument
      (compile nil
      (compile nil
      (compile nil '(lambda (b)
      (compile nil '(lambda (c)
      Improve interrupt safety.
      (compile nil
      FIXME: Dead code elimination sometimes leaves spurious references
      (funcall (compile nil
      (compile nil '(lambda (a)
      (compile nil '(lambda (a c)
      * src/code/type.lisp (cons) <simple-intersection>: Fix for
      (funcall (compile nil
      (compile nil '(lambda ()
      ANSI test misc.9 and others
      ANSI test misc.16
      ANSI test misc.14
      (defun foo (c)
      (compile nil
      (compile nil '(lambda (c)
      (funcall (compile nil '(lambda ()
      * src/compiler/debug-dump.lisp (compute-1-debug-function):
      * src/compiler/ir1util.lisp (delete-lambda): Don't mark
      * src/pcl/rt/ctor.lisp: Adjust to changes in ctor code generation
      (eval '(block b3
      * src/code/error.lisp (handler-case): Delete unused old version.
      * src/compiler/eval-comp.lisp (compile-for-eval): Delete
      Suppress slot access and gf-call optimizations for method
      *** empty log message ***
      (defun lexical-symbol (symbol &optional prefix)
      (with-open-file (stream "test.123" :direction :output
      FIXME: There's a quirk somewhere when recording this
      * src/code/fd-stream.lisp (output-raw-bytes): Same theme
      (defclass data () ((name :accessor name)))
      (in-package :cl-user)

hallgren (123):
      Changed HANDLE-BREAKPOINT-AUX to correctly handle the case in which all
      Added :new-assembler to features for the new assembler.
      Changed move instructions to fmove for the new assembler.
      Instruction definitions for the new assembler.
      Fixed bounds check in emit-compute-inst for branch disp.
      New instruction definitions for the new assembler.
      Added :new-assembler to *features*
      Fixed mfc1 to add 1 to the fp-reg instead of the i-reg.
      Insts file with most of the disassembler working.
      The new disassembler.
      Insts file with most of the new disassembler working.
      Fixed setting reads and writes in the define-instruction macro to use
      Turn off the scheduler before running backpatches and choosers.
      Was forgetting to clear out the dependencies of branch instructions when we
      Explicity qualify C:EMIT-NOP as being in the C package because we don't use
      Export BRANCH and FLUSHABLE for use as backend instruction attributes.
      Wrap NEW-ASSEM:WITHOUT-SCHEDULING around the multiple value full call entry
      Added DISASSEMBLE-BLOCKS and the code with it for use of disassembly in the
      Changed NATIVE-COMPILE-COMPONENT to output the disassembly to the trace file
      Added patches from Miles to make function headers print correctly and a fix
      Added a couple fixes from Miles.
      Cosmetic changes from Miles fixing the fact that disassemble blocks was
      Changed the call disassem:disassemble-blocks to
      Corrected spelling of call to disassem:disassemble-assem-block.   There is
      Added patches from Miles for an aligment problem and lra and function
      Added disassembler info.
      Another patch from Miles to fix the alignment problem and avoid some other
      Changed strings to symbols so *print-case* will work correctly.
      Bug fixes to the disassembler stuff.
      Added patch from Miles to handle the specialize commands from the old
      Fixed the call to note-assembler-routine
      Added all the info for the scheduler.
      Added all the info for the scheduler.  Redefined li with
      Take out call to SETUP-DYNAMIC-COUNT-INFO since it's handled differently now.
      Export *COMPILE-COMPONENT* for use by new-assem.lisp for collecting dynamic
      Make it fasl-validate-structure any dyncount-infos before dumping.
      Partial new dyncount.lisp with the new dyncount-info structure.
      Add slot collect-dynamic-statistics to the segment structure.
      Added :cost 0 to instructions that were 0 but were defaulting to 1.
      Fixed the cost incrementer to work with the new block numbering.
      Changed o_creat, o_trunc, and o_excl under hpux since they're different.
      Added support to compile code/hpux-os.lisp under hpux.
      Added support to load code/hpux-os under hpux.
      Fixed the :printer in define-branch-inst
      Comment out (load "code:inspect") cause it isn't used and it has errors.
      Added hpux sigcontext structures and routines.
      More changes (constants, etc) for hpux.
      Fixed return-multiple.
      Added hpux support in setup-input and reset-input.
      Fix off by one error in DEFAULT-UNKNOWN-VALUES.  Fix backwards arguments
      Change eql to = for EQL/{SINGLE,DOUBLE}-FLOAT.
      Fixed GET-TYPE
      Initial revision
      Initial revision
      Changes to sigcontext structure references and stick the trap handler on
      Flush the icache in TRANS_CODE so genesis works when it gc's.  Change two
      Make SC_REG, SC_PC, and SC_NPC work under hpux.
      Change BLOCKABLE under hpux.
      Initial revision
      Various additions and deletions for hpux (ifdef'd, of course).
      Remove os-common.c from SRCS since hpux doesn't use it.  It's now in the
      Add os-common.c to OS_SRC.
      Include hpux-os.h if under hpux.
      Change register names so the hpux compiler will take it.
      Initial revision
      Fixed the constants for hpux.
      Fixed getrusage to return the user and system times.
      Fixed errors in last checkin (fixing getrusage) and added getpagesize.
      Added hpf and axpf to the list of filenames to ignore.
      Added support for alpha/osf1.
      Added support for alpha/osf1.
      Added support for the alpha.
      Added support for the Alpha.
      Added NEW-ASSEM to the use-package list in NEW-BACKEND.
      Changed return to return-from assert-definition-type.
      Updated for the Alpha.
      Initial revision
      Fixed the hacked offsets.
      Change offsets again, and add back line which originally was supposed
      Alpha support: Added sap-ref-64 stuff and added 64 bit size for sap-int and int-sap.
      Added alpha support.  Also bind *coalesce-contants* to t since it was
      Added alpha support.
      Initial revision
      Changed long and unsigned-long to 64 bits on the Alpha.
      Added Alpha support.
      Initial revision
      Updated for the Alpha.
      Updated for the Alpha (took out denormals).
      Fixed a delay slot problem in return-multiple.
      Fixed emit-compute-inst.  It was sign extending a value to 2 bits instead
      Changed -26 to -28 in :jump in the mips case.
      Added SGI support.
      Added SGI support.
      Fixed the last checkin.
      Updated for the SGI.
      Changed to compile irix-os.lisp when :irix is a backend-featurep.
      Changed to load irix-os when :irix is a backend-featurep.
      Fixed a typo.
      Added breakpoint support.
      Added sgi support.
      Changed #.(fixnum 1) to 4 so it could be cross compiled.
      Fixed sxhash-simple-substring for the sgi.  It was messed up since the
      Updated for the sgi.
      Fix the sgi update...
      Updated for the sgi.  Also changed package stuff on the pmax.
      Updated for the sgi.
      Initial revision
      Updated for the sgi.
      Updated for the sgi.
      Initial revision
      Updated for the sgi.
      Initial revision
      Updated for the sgi.
      Took out the error on returning from arch-do-displaced-inst under irix.
      Don't call undo_foreign_function_call in breakpoint_do_displaced_inst
      Added breakpoint support under irix.
      Store zero in t8 before calling into lisp.
      Fixed which saved regs to zero out in call_into_c.
      Fixed for the alpha.

mbb (1):
      Added :initial-element nil to a make-array call.

moore (9):
      Changed compile-time behavior of DEFCONSTANT to work like DEFMACRO and
      Add features to multiprocessing that make it more compatible with ACL.  These
      Support for dynamic loading in FreeBSD 4.0 and later.  This involves moving
      Bootfile for FreeBSD dynamic loading fix.  In reality this isn't enough; a cross compile is required.
      Fixed #+ conditional so object file loading for the Elf static FreeBSD case
      On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved.
      Fix foregin object braindamage noted by Pierre Mai.
      Fix a typo in apply-with-bindings.
      Remove cruft from last checkin.

phg (25):
      Dired Up Directory modified to reflect changes to pathnames in X3J13
      Dired Up Directory corrected ':UP -> '(:UP) in nconc.
      Adjust-array has been updated to be ANSI compliant by allowing arrays which
      *** empty log message ***
      This commit was generated by cvs2svn to compensate for changes in r5209,
      Updated function merge-dirs to reflect updated pathname-directory returns a
      Logical pathname functions added to bring CMUCL up to the ANSI X3J13/92-102
      Modifications to support logical-pathnames. unparse-unix-piece includes
      Cleanups of logical pathname code which include comments and CMUCL formatting.
      *** empty log message ***
      Change to the function components-match to permit versions to match on :wild
      Change to the function %enumerate-files to permit versions to match on :wild
      Delete-package function added according to X3J13/92 specification.
      Initial revision
      Removed an unnecessary clause in delete-package.
      September-16-92-PCL-e has been incorporated into the CMUCL sources thanks
      September-16-92-PCL-e has been incorporated into the CMUCL sources thanks
      Changed definition of *subtypep to speed up method definition
      Changed the definition of force-cache-flushes by removing unnecessary
      Logical pathnames for UNIX filesystems have been added. Note that logical-
      Batch mode handling for ILU support added including read-eval-print loop handler.
      Enable batch mode support for ILU with appropriate init-function selected by
      Added command line switch -batch to support batch mode where input is read from
      Batch mode documentation added.
      *** empty log message ***

pmai (194):
      o Fixed the implementation of INVALID-METHOD-ERROR and METHOD-COMBINATION-ERROR
      Fixed buglet in the argument processing for the :METHOD-CLASS option to
      Fixed bug reported by Marco Antoniotti in the call to
      Fixed bug reported by Erik Naggum on comp.lang.lisp, where printing of
      Fixed a bug in the pretty-printer for vectors, where the handling of
      ANSI conformance fix from António Leitão via Joao Cachopo:
      Fixes a bug in short-method-combination handling reported on
      Change the condition that is signalled by odd-keyword-arguments-error
      This change causes archives passed as a file argument to load-foreign
      Trivial spelling fix.  From a patch by Eric Marsden.
      o When created displaced arrays, MAKE-ARRAY (unlike ADJUST-ARRAY)
      Inserted missing :element-type option to call of MAKE-ARRAY with
      This change brings the defaults for CMUCLLIB and the default core on
      Fixed AMOP conformance bug of ensure-class-using-class reported by
      DTC's fix for catch failing to accept immediate tags, like fixnums and
      Added specialised port to OpenBSD (2.9).  Many parts of the original
      Added clean pseudo-target.
      Let GNU make handle the generation of Depends automagically.
      o This fixes Bug#122135 from the Debian bug-tracking system:  The setf
      Add ISO 8601 conformant style :iso8601 to FORMAT-TIME.
      Fixes for a bug reported by Matthew Danish that allowed special
      Added -nositeinit commandline switch, that suppresses loading of the
      Make fmakunbound clear compiler info database entries as well.  This
      Committed user-supplied fix to Debian Bug#123208, which caused an
      We can't have complex forms in worldload, since we might be building a
      REQUIRE and PROVIDE are not allowed to downcase symbolic module
      Add PROVIDE form, now that CLX can be loaded via REQUIRE.
      Add REQUIRE form to ensure that CLX is loaded, now that CLX can be
      Fix redefinition of constants as special variables via defparameter,
      If we were compiled with CLX loaded, we add a suitable REQUIRE form to
      o Remove unnecessary code duplication for INVOKE-DEBUGGER
      Add missing PROVIDE for :clm, now that (require :clm) works.
      Reactivate the definitions of COMPILER-MACROEXPAND-1 and
      Define the ANSI-mandated macro STEP as an entry-point to the debugger
      Fix bug reported by Lynn Quam, which caused (pathname "*") to fail
      Several cleanups to the export lists, so that those better match what
      This change causes the *batch-mode* flag to be reset when saving a
      o Slight rewrite of output-float and output-float-aux to reduce some
      Adjust the CMUCLLIB setting to reflect more clearly the default paths that
      Change the save-lisp to respect the target: search-list, so that the
      Added specialised port to NetBSD (1.5.2) on x86.  Since the code-base
      Added specialised port to NetBSD (1.5.2) on x86.  Since the code-base
      As part of the NetBSD port, merged back the special load-foreign.csh
      Added font files from the distribution that were missing in the repository.
      Added various library files from the distribution that were missing from the
      Print a warning if we can't find a core file in the specified CMUCLLIB
      Fixed a bug reported on comp.lang.lisp, where handler-case failed to
      o Adjusted the mentioned paths to match up with current practice.
      Allow users to disable tail-call optimization by setting a debug
      Made the checking of ELF OS/ABI information compliant with the ELF
      Fixed the documentation of weak-pointer-value to match its doc-string
      Added limited handling of subtypep for hairy and types, so that we can
      In the handling of GF definition for a name with an existing non-GF
      Fix the treatment of colon package delimiters for the ~/ formatting
      Add documentation of the batch-mode keyword argument to save-lisp,
      Add the copyright and permission notices for the MIT/Symbolics LOOP
      Added an emergencystretch amount of 5pt, which gives TeX a bit of
      Remove unbalanced closing paren.
      Change the new FASL format code to use a new FOP for the long version
      Added intern that is needed prior to loading exports.lisp due to later
      Added missing documentation files for release tarballs.
      Fix bug that caused initialization functions to fail after a call to
      Fix from SBCL:
      This merges the fix in SBCL for overflows in the index calculations of the
      Changed the OpenBSD port to use dlopen+ld for FFI linkage, like
      Changed :no-compiler conditionals to include :runtime, since the
      This fixes BUG 140 of the SBCL BUGS file, where redefining a class
      Make change-class ANSI-compliant, by allowing the passing of
      This fixes a bug noted by Nicolas Neuss, where executing a defclass
      Corrected a small byte-ordering issue in the new definition of
      Temporarily reverse the fix to SBCL bug 140, which breaks certain
      This fix is derived from the corresponding patch by Alexey Dejneka
      Fix to make method-combination options work for the long form of
      Patch from Gerd Moellmann to bring error detection of defclass in line
      Slightly mangled patch by Gerd Moellmann to remove PCL's own version
      Removed outdated warnings about :writer/:accessor possibly not being
      Added export of internal error code constants to internals.h, so that
      Fixed suspected bug on HPPA, as confirmed by Christophe Rhodes.
      Added simple-program-error function that works like error, except that
      Added missing export of simple-parse-error.
      Merged patches by Eric Marsden and Gerd Moellmann to improve error
      Fix by Bob Rogers to correctly handle files with pathnames longer
      Patch by Gerd Moellmann to remove PCL's variant of once-only,
      Missed part of the SIMPLE-PROGRAM-ERROR changes to PCL, which
      Added boot file to unexport the symbols COMPILER-MACROEXPAND and
      Huge patch by Gerd Moellmann that removes PCL::ITERATE and PCL::GATHER*
      Conservatively removed some unused files in the pcl directory.  Most of
      Another cruft removal from PCL.
      Slightly frobbed patch from Gerd Moellmann that eliminates the function
      Patch by Gerd Moellmann to remove unused functionality from macros.lisp.
      Patch from Gerd Moellmann to modify more simple-program-error sites to
      Patch by Gerd Moellmann to turn old-style into new-style eval-when's in
      A number of smallish changes to the new linkage-table code:
      Removed the shadowed version of dotimes from PCL, replacing it with
      Committed patches by Gerd Moellmann to eliminate PCL's without-interrupts
      Patch by Gerd Moellmann to remove the unused function MAKE-PROGN,
      Patch by Gerd Moellmann to remove the unused make-specializable function,
      Patch by Gerd Moellmann to remove further unused code from defs.lisp.
      Renaming of do-short-method-combination to make-short-method-combination,
      The recent changes which made system:without-hemlock a simple progn if
      Fix to correctly reference the disassem::offset type, from Brian Spilsbury's
      Add result-value form to dovector, to bring it in line with dolist.
      Improve layout depth conflict error message.  From the unicode patch-set
      Minor indentation fix.
      The removal of the OLD-XX package nicknames for the VM packages causes
      Slight reformulation of the make-sequence code, which makes the overall
      Patches by Gerd Moellmann to improve checking of GF lambda lists for
      This commits various patches submitted by Gerd Moellmann to remove unused
      Committed patch by Gerd Moellmann to add the AMOP-mandated generic function
      This change, based on a patch by Gerd Moellmann, improves keyword argument
      Fix the call to coerce in dump-vector to use a type that is a recognizale
      Checked in a fix from SBCL for the "exporting symbols breaks PCL" bug,
      Committed Gerd Moellmann's patch to remove the pre-allocation of GF caches,
      Committed Gerd Moellmann's patch to turn various errors related to
      Committed patches by Gerd Moellmann to make the :arguments option to
      Added comment on the generic function compute-effective-method explaining
      Committed patch by Gerd Moellmann to rename the constant *slot-unbound* to
      Committed patch by Gerd Moellmann which removes the unused function
      Minor improvement on the previous commit.
      Committed patch by Gerd Moellmann to replace the logic of analyze-lambda-list
      Merged patch by Gerd Moellmann to replace (load-truename) with
      Committed patch by Gerd Moellmann to check generic function declarations
      Committed two further patches by Gerd Moellmann to remove superfluous
      Entomotomy Bug: redefined-classes-and-subtypep
      Entomotomy Bug: documentation-generic-function-wrong-argument-precedence-order
      Entomotomy Bug: sxhash-on-pcl-instances-returns-42
      Entomotomy Bug: pcl-code-too-obfuscated
      Entomotomy Bug: pcl-exports-obsolete-pre-ansi-symbols
      Committed modified patch by Gerd Moellmann (from SBCL changes), that removes
      Entomotomy Bug: no-next-method-unimplemented
      Entomotomy Bug: generic-function-declarations-unimplemented
      Entomotomy Bug: sxhash-on-pcl-instances-returns-42
      Entomotomy Bug: sxhash-on-pcl-instances-returns-42
      Fixed long-standing unmatched close parenthesis in expand-defgeneric that
      Removed now obsolete and incorrect type declaration for the FUNCTION argument
      Flushed the #+copy-&rest-arg controlled copying of rest arguments, since
      Entomotomy Bug: call-next-method-lexical-args
      Entomotomy Bug: pcl-gf-cache-cacheing-not-needed
      Entomotomy Bug: slot-definition-allocation-not-amop-compliant
      Entomotomy Bug: pcl-error-reporting-unhelpful-on-missing-primary-method
      Entomotomy Bug: slot-definition-allocation-not-amop-compliant
      Entomotomy Bug: adjust-array-initial-contents-type-wrong
      Entomotomy Bug: define-method-combination-returns-method-not-name
      Entomotomy Bug: define-method-combination-arguments-broken
      Undid slipup in previous commit that introduced an empty line at the top
      Entomotomy Bug: finalize-instance-not-being-called-on-class-finalization
      Entomotomy Bug: finalize-inheritance-missing-method-on-forward-referenced-class
      Entomotomy Bug: redefining-class-breaks-accessing-of-class-slots
      Entomotomy Bug: typep-on-some-array-types-returns-two-values
      Added bootstrap file to make compilation of current CVS with a lisp
      Entomotomy Bug: condition-reporting-not-via-print-object
      Corrected missing bits in the previous commit.
      Moved lockf over to lockf64, too, and enabled/exported unix-lockf and friends.
      Added lockf64 for non linkage-table builds.
      Added recording and printing of time and host the current core was saved on,
      Undo exporting of *cmucl-lib* and friends, since this requires bootstrapping,
      Change herald info on CLOS, to indicate non-trivial changes to CLOS/PCL.
      Commit nontab-lossage fix missing from earlier commit.
      Fixes by Brian Uhrain for the alpha port:
      Fixes to deal with ABI differences between glibc 2.1 and glibc 2.2 for
      Fix deftransform for foreign-symbol-address to match function definition
      Fix handling of alien names on ports that have a non-identity function for
      Added missing exports which could cause repeatedly differing internals.h
      Applied patch by Raymond Toy to make pathname-host ANSI compliant.
      Fix stub definition of eval:internal-eval to conform to the lambda list of
      Added missing exports for the UNIX package.
      Merged back important fix from 18e release branch.
      Code typo fix contributed by Aleksandr Skobelev.
      Fix symbol-atom, and handling of WM protocol callbacks, as submitted by
      Merged changes made during the 18e freeze period back into the main branch.
      Fixed bug in boot file, and removed erroneous comment.
      Added bootstrap file for cross-compiling type-union related changes to the
      Made bootfile work for old lisps which are still missing fdefn-or-lose.
      Made bootfile work when export.lisp isn't loaded prior to bootstrap.lisp
      Corrected faulty previous commit.
      Replaced bootfile with new version from Gerd Moellmann.
      Removed redundant code from boot11.lisp.
      Changed genesis (actually emit-c-header) to signal warnings of the newly
      Special case the processing of the -quiet command-line flag in order to
      Port of the *module-provider-functions* extension to cl:require from SBCL.
      Finish conversion from hardcoded sigcontext to os_context_t, as initiated
      First merge of the C side of the OS X/Darwin port.  Besides adding Darwin
      Fix multiply defined strcasecmp for Darwin, uncovered by the recent
      Commit of the compiler backend portion of the PPC/Darwin port.
      Remove all package locks on setup for recompilation.  When setup.lisp is
      Add support for Darwin/PPC when guessing the proper configurations.
      Make loading of foreign-linkage conditional on the presence of the
      Added configuration for PPC/Darwin.
      Now that foreign-linkage.lisp is only built and loaded conditionally,
      This commit adds the remainder of the outstanding PPC/Darwin port merge.
      Added example cross-compile scripts for x86 to ppc and ppc to ppc.
      Frobbed Darwin configuration slightly to work with current Fink OpenMotif.
      Change second step of cross-compilation instructions: Creating a directory
      Small clean up of exports.

pw (337):
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      initial post 1.3.7 merge
      Fix failure of typep on instance with changed PCL defclass
      This commit brings the PCL repository up to release 17f and also includes
      Previous  fix to class-typep failed to consider case where 'type' was some random class
      Move misplaced hpux conditional that caused undefined symbol warning on non-hpux boxes.
      Peters fix for multiple comma problems
      Add ANSI lambda macro
      From: Douglas Thomas Crosher  <dtc at scrooge.ee.swin.oz.au>
      In maybe-diddle-case, when working on a PATTERN object, the original
      PARSE-LOGICAL-PATHNAME was returning a directory component
      Adds 17f release to trunk. Also adds minor fixes from x86 port
      This file should be loaded before recompiling on x86 as some
      Initial support for unix interval timers
      This is a replacement for the  previous boot.lisp (for x86). Now,
      Add the backquote and commas in macrolet damnit
      Adds some forgotten error messages and a few misc fixes
      DIRED was bombing when attempting to delete a marked file
      Revert remprop to previous behaviour and change doc string
      Remove my copyright and place in public domain
      Add a few inhibit-warnings decls to reduce noise in compile-clx.log
      Peter's fix for FP control word.
      Add :abort t to some CLOSE calls in process-close
      This fixes the mess in load-foreign-symbol-table and removes
      Change .word to .long in two places fixes alignment troubles.
      Small enhancement to sanity check in previous fix.
      Some compilers don't like #ifdef 0
      set fpu control word for Linux
      Limit result of 32bit-logical-not to 32 bits.
      Restore C Stack pointer before returning into C.
      Add Config.x86 for x86 port.
      Ray Toy's fix for reading very large/small FP numbers
      small patch to get GET-SYSTEM-INFO working
      Add missing reference to DLL for Linux
      cgc.c with :signed-array support.
      Some fixes for cross compiling.
      Alpha/osf1 doesn't have setquota either.
      Some fixes from folks working the linux port
      Misc fixes from Ray Toy
      Maybe temp fix for building system with default IEEE behaviour (no enabled traps except :invalid)
      Fix small ~E lossage from previous change
      Prevent warnings from eg (case key (t))
      Fix struct termios for BSD & OSF1. Note maybe broken for other platforms.
      Fix some lossage to struct stat on alpha and hpux.
      Fix describe-package used-by list (from Alexander Petrov).
      UNIX-CREAT fixed to call int-syscall. DIRED copy now works.
      New shiftf from Bruno Haible fixes problem with duplicated places.
      defindent for with-accessors and print-unreadable-object.
      Peter's fixes for Linux 2.1
      Changes so far for DEC alpha support. Not done yet.
      Changes so far for DEC alpha support. Not done yet.
      Fix typo in recent defindent change
      Change lunux to linux in termios def
      fix cpp concatenation operator
      generic-* botched (* most-negative-fixnum 2)
      Remove #-alpha from denormal constant defs
      Get alpha-assem.S into alpha-assem.s needed by CC.
      add rev to mainline
      fix SOFTWARE-VERSION to use uname instead of non-existent
      Remove blank first page from man pages.
      Generalize package finding in profile-all.
      Use ext:htonl to get results of get-best-authorization in correct order.
      Back out a hack around xlib::get-best-authorization failing on unix: hosts.
      Removed descriptor-reg from arg types of arithmetic vops as it was
      Add defindent for LOCALLY
      Fix FORMAT directive in call to temporary-pathname.
      Backout rev and 1.4. Better fix moved to clx-ect.lisp
      Yet a better fix for X authorization with unix: hosts - from Fred Gilham
      Minor doc changes to delete-duplicates and remove-duplicates.
      Fix spelling of zeroth
      Fix documentation for symbol-macrolet
      From Timothy Miller:
      I just finished making load-foreign work on SGIs, along with fixing calling of
      From Timothy Miller
      Correct a few FreeBSD constant definitions in the last unix change,
      These changes were part of the stuff Timothy Miller sent and committed
      Relocate NUMERIC-TYPE-REAL-P to a place where it gets
      Minor change to inhibit compiler notes about dead code removal
      From: Juliusz Chroboczek <jec at dcs.ed.ac.uk>
      From: Timothy Miller <tsm at cs.brown.edu>
      Add debug support code COMPONENT-PTR-FROM-PC.
      Remove :cgc restriction on *trace-encapsulate-default*
      Add deftransform for CIS.
      This set of changes enables the use of forward referenced classes in PCL.
      Add IGNORABLE to PCL's known declaration list
      Use IGNORABLE declaration for .ARGS-TAIL. to kill spurious
      Calls to set-values resulted in multiple calls to XtFree on same address
      From Timothy Miller:
      Rewrite the package file to use defpackage. Clean out conditionals
      Use defpackage instead of in-package.
      Fix a programming error that was flagged by Python unreachable code warning.
      Use defpackage instead of in-package
      Let open-display work with host name args "" and "unix". From Ray Toy.
      This change silently removes ignore declarations for arguments in
      While loading an :around method when no primary method exists, a compiler
      Update to Ray Toy's modified version. Requires LaTeX2e and three
      Export find-class, class-name, class-of and builtin-class from MOP
      An assortment of fixes from dtc for the alpha backend. I now have
      Oops, managed to hose rev 1.5 with the last change. This gets things
      Add doc string to ENSURE-DIRECTORIES-EXIST
      Get rid of the CLOS-MOP package when compiling PCL from a system
      String streams were returning non-existent type 'string-char instead
      Remove obsolete type string-char from
      From Fred Gilham, pressing certain keys (eg control or function) would
      Fix (software-version) to return just the version string, and
      Fix some typos in the exports list and prototype defs.
      Bind *print-readably* to NIL in PRINC. Spotted by Sam Steingold.
      Correct spelling typo of funcallable-instance. Noted by Karl Hegbloom.
      Add define-condition UNBOUND-SLOT. Default method for slot-unbound
      Export UNBOUND-SLOT and UNBOUND-SLOT-INSTANCE from :common-lisp
      Change condition READER-ERROR to be a subclass of PARSE-ERROR
      Backout export of BOOLEAN from :common-lisp as it conflicts badly
      Changes for ANSI compliance -- Noted by Paul Dietz.
      Correct spelling of UNLESS in new gensym (was WHEN).
      Remove :common-lisp from the use list of the SLOT-ACCESSOR-NAMES package.
      Removing simple-condition from the CPL of READER-ERROR broke
      A long-reg SC constraint snuck into the fexpm1 VOP that was
      Get rid of some files that erroneously snuck into the repository
      Add mmap and munmap to the syscall list.
      Add defindents for add-fd-handler,with-fd-handler,destructuring-bind,
      Export type boolean from common-lisp package.
      Allow a character to be a valid parameter to make-package, find-package,
      This revision alters the condition type hierarchy to be in compliance
      Fix too many close parens in last revision. Patch from Douglas.
      Fix for read-stream; can only use read-n-bytes to read into
      Error handling in DEFPACKAGE is now in more conformance with ANSI spec.
      Fix minor spelling typo.
      Revision 1.43 neglected to entirely purge flushed 'append-unique'
      In put-image, fix a call to put-image that supplied a non-boolean
      In violation of my own rule, I commited the last change without actually
      Fix spelling of "CREATE-WORKING-DIALOG".
      Main loop waiting for client connections was ignoring possibility
      Fix a few more things that needed to take a character or package as
      Fix defsetf of ROOT-RESOURCES. Short form was used when long form required.
      Ldiff takes args of (list t), not (list list).
      Add ALLOCATE-INSTANCE to common lisp package.
      Elt now signals TYPE-ERROR when index is too large. Required by ANSI spec.
      ldiff, tailp, butlast, nbutlast now handle dotted lists as required by ANSI.
      Fix defknown for parse-integer and read-from-string to know about
      Changes to with-package-iterator to properly handle :inherited
      Arrange for ANSI compliance in error processing.
      Fix GENSYM to signal a type-error when NIL is supplied as an arg.
      From Ken Olum:
      Remove obsolete :x86-lra feature dependent code.
      Fix for attempts to print specialized arrays readably. From Ray Toy.
      Remove an error check in real-remove-method prohibited by ANSI spec.
      Backout a previous hack of adding format-{control|arguments} protocol
      This revision merges in many of the fixes for ANSI condition types
      Fixes and improvements to July-14 commit dealing with condition types
      Fix a few minor typos.
      SLEEP was broken for real arguments greater than one, sleeping for
      In get-tables, change declaration for 'name' and 'class' from
      Correct a type problem in safe code. From Peter VanEynde.
      Fix ENSURE-CLASS-VALUES so that (defclass myclass(standard-class)()) works
      Backout previous change to ensure-class-values. There is more to
      Modifies EXPAND-DEFCLASS to substitute pcl::standard-class for
      FD-STREAM-READ-N-BYTES was incorrectly returning 0 in the case
      FILE-NAMESTRING now returns NIL instead of "" when applied to a
      In SET-SLOT-VALUE, pass the new-value argument to SLOT-MISSING so a
      The click-count slot in button callback structures was typed as fixnum, but
      Changes for Linux running on Alpha.
      Remove a cast that was inserted for Alpha/Linux but generated a compiler
      Minor change to #include validate.h instead of x86-validate.h
      This set of changes removes nearly all references to the dylan language.
      Move compiler-let from COMMON-LISP package to EXTENSIONS. It is no
      1) unix-getpgrp no longer takes an argument on FreeBSD, and maybe never
      Cleanup of the PCL directory. Removed files and conditional code
      Remove dead files and dead conditionalized code for dead platforms.
      Callable functions for primitives c::%weak-pointer-value and
      signal(SIGCHLD,SIG_IGN) for SVR4 (solaris)
      Fix minor spelling typo in doc string
      For solaris (SVR4) SIGCHLD and SIGIO had wrong definition.
      Get rid of dead dylan-function-p entry
      Fix minor spelling typo in doc string
      fix find-class (when called with nil second arg) to be silent
      Revision 1.12 for FIND-CLASS broke the PCL build process. This is a
      Fix for multiple uses of (:use ...) in defpackage. From Marco Antoniotti.
      Remove all #+ and #- conditionals from the source code. What is left
      Add documentation for the optional arguments to unix-namestring.
      From Ray Toy:
      From: Raymond Toy <toy at rtp.ericsson.se>
      Move first use of malloc() (definition of T and NIL) to after
      Remove prepending "_" to global names on FreeBSD V3+ systems. Note
      In lookup-maybe-prefix-foreign-symbol, do not preprend "_" for
      Fix alignment method for FreeBSD V3 (ELF) to use units of bytes
      DEFAULT-STRUCTURE-PRINT was puking on certain cases of structures that
      This change allows 'motifd' to correctly read a multi-packet message
      Add code to implement sending long strings to the motifd server.
      Final installment of support for multi-packet messages and read/write
      Return proper ANSI specified values from compile-file depending on
      Backout previous revision. Mr Mai advises his previous patch was
      From Tim Moore; FreeBSD 4.x has new sigcontext code which can be accessed
      Support for FreeBSd 4.x version of struct sigcontext conditionalized
      Add support for FreeBSD-ELF systems (FreeBSD version 3.x and 4.x).
      Fix expand-defgeneric and expand-defmethod to notify compile environment
      These changes remove some obsolete and unused type system interface codes,
      Disable new code in inform-type-system-about-std-class which seems
      In stream-init, give *debug-io* its very own stream to tty rather
      Seems unix signal 6 is named SIGIOT but both FreeBSD and Linux
      Change typespec for args to fcntl from (unsigned-byte 16) to (unsigned-byte 32)
      Backout previous offensive revision.
      In fcntl, make arg types to syscall agree with function arg declarations.
      Fix define-walker-template for compiler-let to target ext:compiler-let.
      Change :data-gram protocol keyword to :datagram.
      Put an explicit progn around forms in handler-bind.
      Fix edit-source-location to not signal an error when editing a
      Fix ext:remove-oob-handler so it actually works.
      Fix butlast and nbutlast to be correct for NIL argument.
      Tailor the stack trace ambiguity code in x86-call-context a bit
      Rework previous fix to edit-source-location to use *read-suppress*
      Fix environment hacking code to feed symbol-macrolet variable
      Insert a defvar to silence compiler warning.
      In decompose-string, fix error report generated when :error-on-mismatch
      Add a defensive declaration to PARSE-SPECIALIZERS.
      Minor spelling correction in comment.
      Handle the case of lisp running on a remote system and the network connection
      Handle the case of the user closing the display using a window manager
      Silence compiler warnings about undefined function <hairy-make-instance-name>
      From Paul Foley
      Fixup some of the errno names for modern BSD.
      From Mike McDonald
      Seems like a missing ")" in the previous commit. Don't know how this
      This set of changes fixes EVAL-WHEN to work according to the ANSI spec.
      Move defvar for *original-%deftype* to toplevel.
      Fixes to make proclaim and declaim work as in ANSI spec.
      Add facility to archive boot files needed to compile new deltas.
      Change most PROCLAIMs to DECLAIMs.
      Add #+long-float to a couple of otherwise unused bindings.
      Fix spelling typo in comment line.
      Retract bogus previous revision.
      Add inhibit-warnings declaration to macro ASSOC-GUTS to suppress
      A few well placed inhibit-warnings declarations to suppress noise in
      Change reference to load-logical-pathname-defaults (pg 20) to
      From: Ole Myren Rohne <ole.rohne at cern.ch>
      Fix a few small bugs, remove LPN autoload pending rework. Add
      Fix typo in unparsing wild versions in new scheme; ".~~*~~" => ".~*~".
      Libralize extract-name-type-and-version to allow ".*" as a version wildcard.
      Add Mike McDonald's revised changes to permit autoloading logical
      Fix extract-name-tape-and-version to honor rule that a leading "."
      First step in removing some CLtL1/CLtL2 exports from COMMON-LISP package.
      Change a defvar to proclaim as defvar now requires the compiler be loaded.
      Change toplevel PROCLAIMs to DECLAIMs.
      Logical-pathname-p is no longer in the CL package so don't use it.
      Replace defknown for obsolete get-setf-method with one for
      Move get-setf-method to extensions package. Will need to load
      Do what I mean, damn it!
      Remove reference to obsolete bugs mailing list.
      Aid removal of extraneous non-CL exports and moving of get-setf-method
      Change calls to obsolete define-setf-method to define-setf-expander.
      Somehow omitted a key component of rev 1.44. This fixes find-logical-host
      From Eric Marsden
      From Eric Marsden and Pierre Mai:
      Add defmethod print-object specialized on structure-object so that ANSI
      Add support for ANSI specified :print-function and :print-object
      Emit a warning if the :name or :type argument to MAKE-PATHNAME for a unix
      Marco Antoniotti says:
      From Pierre Mai
      From Tim Moore
      Fix guard against "/" in pathname name or type to consider that
      Add missing "*" around type declamation for *fasl-file*. Reported
      From Pierre Mai:
      Freom Pierre Mai:
      Fix unix-kill and unix-killpg to return either T or (values nil errno).
      Add a declaration to process-kill to avoid sigfault with :small cores
      Add a few inhibit-warnings declaration to reduce noise in compile-lisp.log.
      Add arg type declaration to other public process functions.
      From Ray Toy:
      From Ray Toy:
      From Ray Toy:
      From Pierre Mai:
      Fix a glitch in last revision.
      Call fflush after printf. Helps when stdout is a pipe.
      Minor tweaks.
      From Ray Toy:
      From Ray Toy:
      Reinstate an eval-when around a defvar that I had stupidly removed
      (a) Add a new target 'initial-map' that can make a 'lisp.nm' file from
      A slight refinement of previous commit.
      From Fred Gilham:
      From Tim Moore:
      From Fred Gilham:
      Fix FIND-LOGICAL-HOST to honor optional errorp argument even when
      Fix COMPILE-FILE to run TRANSLATE-LOGICAL-PATHNAME on its output file spec
      Previous revision had missing space resulting in bogus symbol name.
      Fix defknown for parse-namestring to allow STRING as a type for optional
      Fix print-function for logical-host so it outputs something meaningful.
      When LOAD calls MERGE-PATHNAMES on its input file, use :default-version
      From Tim Moore:
      From Pekka P. Pirinen via c.l.l
      From Eric Marsden:
      From Eric Marsden:
      From Eric Marsden:
      From eric Marsden:
      Oops, backout misplaced prin1 function in previous revision. Sorry folks!
      From Eric Marsden:
      From Eric Marsden:
      From Eric Marsden:
      From Eric Marsden:
      From Eric Marsden:
      From Paul Foley:
      From Paul Foley:
      Fix wrong sense of boolean test for RUNTIME feature. This was causing
      Changes requested by Paul Foley to support advanced command processing work.
      First commit to new cvs server. I hope it works!
      Second attempt at using new cvs server. Hopefully mail system config
      This revision turns on INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS which
      Remove "E" from extensions package export list. Was it ever used?
      Increase FD_SETSIZE for FreeBSD from 256 to 1024. Valid since FreeBSD 3.x.
      Fix PROCESS-IGNORE-DECLARATION to notice variables which are
      From Eric Marsden:
      Add defgeneric forms for stream-read-sequence and stream-write-sequence.
      Backout previous change for wrong use of symbol-macrolet as it
      DTC's fix for right shifting (unsigned-byte 32) values by amounts > 31 bits.
      Flip args to stream-*-sequence to be (stream sequence) so we agree with
      dtc's fix for (describe #c(1 1/2)).
      Fix ext:connect-to-inet-socket to not consume resources if
      Improved version of connect-to-inet socket from John Wiseman.
      Add EXTERNAL-FORMAT keyword to COMPILE-FILE, and ignoring it.
      Remove defsystem from future consideration. It is better supported
      From Eric Marsden:
      Add forgotten file.
      Fix some lossage from rev 1.58 causing read-byte on multi-byte element
      From Iban Hatchondo:
      Fix read-sequence for specialized arrays to handle case where
      Fix system::alternate-global-address to actually pass the right
      FreeBSD now wants O_NONBLOCK and keeps O_NDELAY for compatibility.
      Tested on FreeBSD 4.7 and open-motif-2.2.2.
      Tim Moore says linux-stubs is not needed with LINKAGE-TABLE so
      open-clx-display: use :protocol :unix in call to xlib:open-display

pwerkowski (3):
      Back out improper use of condition SIMPLE-TYPE-ERROR in AREF.
      Set pesky *make-condition-accessor-methods*
      Fix bogus cast noticed by FreeBSD 7 GCC compiler

ram (2974):
      Added some package hackery so that things will still compile in the new ALPHA
      Initial revision
      In COMF, flushed code that was periodically doing a FORCE-OUTPUT.  This is no
      Fixed SUBSEQ's END arg to be SEQUENCE-END rather than INDEX, i.e. NIL is
      In ANNOTATE-COMPONENT-FOR-EVAL, changed the local call function test to look
      ...and also fixed the slot accesses in that branch to be BASIC-COMBINATION
      Added definition for %PROGV.
      In ANNOTATE-COMPONENT-FOR-EVAL, also ignore references to :CLEANUP or :ESCAPE
      When handling %UNWIND-PROTECT, don't pop and discard the cleanup function,
      In ANNOTATE-COMPONENT-FOR-EVAL, added an assertion that we never see :ESCAPE
      In the UNWIND-PROTECT case of EMIT-CLEANUPS, fixed to use %FUNCALL instead of
      Changed LOAD to recognize "fasl" as well as "nfasl" file types.  The real
      Fixed up to compile in new compiler system.
      Added some comments in [RAM: ...]
      Changed LEAF-VALUE to make a cached EVAL-FUNCTION when the lexical environment
      Changed time into the %TIME function, and made TIME just expand into a call of
      Oops...  In LEAF-VALUE, I was looking at the wrong closure to see if the
      Changed to only load the XXXmsgdefs files when there is no XXXuser.nfasl, and
      Flushed evalhook and applyhook interfaces, since we aren't going to support
      Defined cell accessors for ratio, complex.
      Added source transforms for REALPART, IMAGPART, NUMERATOR and DENOMIATOR which
      Flushed NUMERATOR, DENOMINATOR, REALPART and IMAGPART, since these are now
      Changed STRUCTURIFY from a macro to an inline function so that interpreted
      Fixed broken argument type declaration in CHECK-OPERAND-TYPES.
      Initial revision
      Fixed broken arg type declaration in SET-UP-VOP-INFO.
      Changed DOCUMENTATION to use INFO instead of plist hackery.
      Added new info types for online documentation.
      Moved TYPE-EXPAND to eval from here.
      Moved TYPE-EXPAND here, and made it use INFO instead of plist hackery.
      Changed DEFTYPE to use INFO instead of plist hackery.
      Fixed %COMPILER-DEFSTRUCT to clear any old DEFTYPE expander.
      Made %DEFMACRO set the interpreted function name to "DEFMACRO <name>" rather
      Fixed a comment.
      Fixed the unwind case of %UNWIND-PROTECT to push a bogus values list on the
      Changed the interpreted function caching policy so that any function used more
      Changed OUTPUT-FUNCTION-OBJECT of interpreted functions whose name is NIL to
      Changed INTERPRETED-FUNCTION-LAMBDA-EXPRESSION to not return the lambda as the
      Changed COMBINATION-NODE to recognize the funny function case by the :UNUSED
      Changed ASSIGN-LAMBDA-VAR-TNS to make environment-live TNs for non-let
      Added the *COMPILE-TIME-DEFINE-MACROS* flag so that we can compile
      Added binding of C:*COMPILE-TIME-DEFINE-MACROS* to NIL around compilation of
      Fixed type in last edit.
      Frobbed the function hacking stuff so that it has a chance of working, and so
      Fixed SYMBOL-PACKAGE def to say the result is (OR PACKAGE NULL), not just
      Changed stuff to dump locations in the new packed binary format.
      New stuff for packed binary representation of locations &c.
      Flushed UNSTRUCTURED from the imports list, since this Alien type is no longer
      Added some missing commas in the interpreter case of the PROGV IR1 convert
      Added support for the :ENTRY fixups in the functions constants.
      In the IR2-COMPONENT structure, added documentation for the :LABEL load-time
      Fixed up DESCRIBE-FUNCTION-PARTS a bit.  It still doesn't return any
      Added some missing commas in DEFTYPE.
      Fixed a use of the obsolete %FUNCTION-CONSTANTS-OFFSET constant.
      Fixed function name.
      Fixed another bogus argument type declaration.
      Added some missing commas in COMBINATION-NODE.
      Added code to %DEFINE-INFO-TYPE that bumps up *TYPE-COUNTER* so as to prevent
      Fixed READ-VAR-STRING to bump the index past the characters.
      Fixed bug in the access form for INFO's DEFINE-SETF-METHOD where it was passing
      Fixed some typos and stuff.
      Deleted reference to the obsolete CATCH-ALL type.
      In CONVERT-EVAL-FUN, fixed inverted sense in the computation of the Quietly arg
      Added code to set up the new INFO types TYPE DEFINED-STRUCTURE-INFO and
      Changed the type bootstrapping hacks for DEFSTRUCT-DESCRIPTION and
      Fixed STRUCTURE-TYPEP a bit.
      Fixed typo.
      Commented out load of logical-names.lisp so that we can build from different
      Made VOP-INFO-SAVE-P :COMPUTE-ONLY compute the save set the same as T.
      Allow :COMPUTE-ONLY value for SAVE-P.
      Changed DEFSTRUCT expansion to only use #' on non-symbol PRINT-FUNCTIONS, so
      Changed TYPE PRINTER to allow symbols.
      Bound *compile-time-define-macros* to NIL around compilation of compiler macros
      Cleaned up some crud in the CONCATENATE/SIMPLE-STRING transform.
      Fixed kill/yank lossage in addition of :LABEL load-time constant support.
      Fixed stuff so that we can make locals be allocated in environment TNs.
      Corrected import of %ALIGNED-SAP.
      Added NODE-TLF-NUMBER.
      Changed documentation for NODE-SOURCE-PATH to reflect the form-number being in
      Fixed NODE-TLF-NUMBER to return the last element rather than the second.
      Fixed yet more crud in CONCATENATE/SIMPLE-STRING.
      I think I finally have the cleanup computation in NODE-ENDS-BLOCK right.  We
      Changed FIND-ORIGINAL-SOURCE to skip over the form number which is now the
      Fixed yet more crap in CONCATENATE/SIMPLE-STRING.
      Fixed DEFPRINTER for CLEANUP to print the CONTINUATION-USE of the start rather
      In the NODE-ENDS-BLOCK cleanup computation, we should associate the cleanup
      The the macrolet for defining string/=*, string=* transforms, comma in the name
      Changed stuff to correspond to the new interface to IR1-TOP-LEVEL and
      Changed COMPILE-FOR-EVAL to call FIND-SOURCE-PATHS, now that IR1-TOP-LEVEL no
      Made FIND-SOURCE-PATHS an interface again, and moved its calling out of
      Fixed comment.
      Made the definition of UNDEFINED-VALUE not be compile-time evaluated in the new
      Similarly disabled all the other EVAL-WHEN COMPILEs when under the new
      Initial revision
      Changed stuff to guarantee that code for a function is contiguous in emit
      Added :VOP-VAR DEFINE-VOP option.  Also added new DO-ENVIRONMENT-IR2-BLOCKS and
      Added VOP-SAVE-SET and IR2-BLOCK-LOCATIONS.  Flushed obsolete
      In CONFLICT-ANALYZE-1-BLOCK, changed the save set computation to store a bit
      Added code for noting interesting locations and dumping debug blocks.  Also
      Fixed a bunch of bugs in localify.  We call GC-GROVEL-STACK before doing
      Added definitions associated with the packed binary representation of
      Added compilation of assem:assem and assem:assembler.
      Added compilation of genesis in new compiler.
      Allow the COMPILED-DEBUG-INFO-FUNCTION-MAP to be null temporarily (when
      In WRITE-PACKED-BIT-VECTOR, fixed syntax of WITH-ARRAY-DATA call.
      Put in hack in DEBUG-INFO-FOR-COMPONENT to specify 0 as the
      In %INITIAL-FUNCTION, set initialize *GC-INHIBIT* to T and don't clear it.  GC
      Flushed hacking on *ALREADY-MAYBE-GCING*.  Instead, we call GC-ON in the
      Fixed DEBUG-INFO-FOR-COMPONENT to specify the OLD-CONT and RETURN-PC.  Though
      Changed the default for DEBUG-FUNCTION-RETURNS to :FIXED so that we can create
      Really fixed the WITH-ARRAY-DATA syntax this time for sure, truly.
      Fixed some compiler errors.
      Fixed WRITE-PACKED-BIT-VECTOR to be defined as a function, not a macro.
      Moved *new-compile* compilation of macros from the end to the same place where
      Initial revision
      Merged with working code version as of 2/22/90.  This was for *gc-verbose*.
      Initial revision
      Added FORCE-OUTPUT in DEBUG-PROMPT.  This brings us up to date with respect to
      Merged in fix to PRINT-CONTROL-ERROR from working code version.
      .../systems-work/code/reader.lisp, 10-Feb-90 13:14:40, Edit by MBB.
      .../systems-work/code/macros.lisp, 10-Feb-90 13:06:45, Edit by MBB.
      .../systems-work/code/array.lisp, 08-Feb-90 17:46:53, Edit by Chiles.
      .../systems-work/code/defstruct.lisp, 07-Feb-90 16:41:55, Edit by Chiles.
      Back-merged my type fixes into the working code version as of this date.
      Initial revision
      Merged in new %TOP-LEVEL from working code sources.
      Initial revision
      /usr1/lisp/ncode/print.lisp, 29-Nov-89 18:44:35, Edit by Chiles.
      .../systems-work/code/stream.lisp, 16-Jan-90 11:47:26, Edit by Wlott.
      Initial revision
      /usr1/lisp/code/list.lisp, 11-Sep-89 09:08:11, Edit by Chiles.
      Initial revision
      /usr/mbb/x3j13-changes/current/time.lisp, 11-Jul-89 20:20:04, Edit by Mbb.
      /usr/lisp/code/tty-inspect.lisp, 31-Jul-89 11:09:38, Edit by Mbb.
      /usr1/lisp/ncode/seq.lisp, 12-Jul-89 13:19:40, Edit by Chiles.
      Back-merged type declaration fix into working code version as of this date.
      Initial revision
      Initial revision
      Fixed SUB-FIND-SOURCE-PATHS to recurse on itself rather than FIND-SOURCE-PATHS.
      Picked up new SIGMASK from working code version of syscall.lisp.
      .../systems-work/code/lispinit.lisp, 18-Jan-90 22:52:28, Edit by Chiles.
      .../systems-work/code/lispinit.lisp, 20-Sep-89 00:27:29, Edit by Chiles.
      Backout of last revision, since requiring Hemlock to compile code seems
      Added fd-stream and serve-event, flushed machio.
      Working code version as of 2/23/90.
      .../systems-work/code/alieneval.lisp, 22-Oct-89 22:36:51, Edit by Wlott.
      LTN-Bit-Vector => Local-TN-Bit-Vector.
      Fixed some stuff.
      Ripped out old stuff and added some DEFVAR's that used to be elsewhere.
      Fixed up handling of default print functions a bit.  Use of the default print
      In FIND-ORIGINAL-SOURCE, moved the exit test to the head of the loop so that we
      Added support for FOP-INT-VECTOR (so we can have debug info in code load.)
      Fixed typo.
      Fixed merge lossage.
      Fixed merge lossage.  Removed FUNCALLABLE-INSTANCE check in LIST branch of
      Fixed description of compiled debug location representation a bit.  It seems we
      Mucho debugging of debug-location dumping.  Check for the successors being the
      Allow LIST for all function valued attributes in #-new-compiler conditional
      Flushed code in EMIT-MOVE that directly called ERROR2.  Instead, the
      copy-bit-vector => bit-vector-copy.
      Defined PREPROCESSOR-MACROEXPAND.  This function correctly macroexpands
      Fixed some typos.  In POSITION, changed use of STRING-CHAR-P to TYPEP.
      Changed iterations over the save set to use DO-LIVE-TNS.  Changed save
      Fixed comment in TN structure to describe new convention for save TN
      Fixed DO-LIVE-TNS to check for null local TNs entries.  Fixed
      Made GENERATE-ERROR-CODE note the internal error location for debug-info.
      Made miscops note the return location for debug info.
      Oops...  We weren't dropping results from the live set, causing "saving" code
      Brought up to date w.r.t. the new top-level functions.
      Moved vm-tran.lisp later so that it can contain IR2-convert optimizers.
      Added uses of NOTE-THIS-LOCATION to node return PCs for debug info.
      Changed people to use the new interface to GENERATE-ERROR-CODE,
      Changed ILLEGAL-MOVE to signal an error.
      Changed to note the non-local-exit entry points.
      Changed to use the new GENERATE-ERROR-CODE interface.
      Moved source-transforms from funny functions => %primitive to here from
      Changed let of *ALIEN-EVAL-WHEN* to be (COMPILE EVAL) rather than just
      In DO-LIVE-TNS, :ALWAYS-LIVE => :LIVE.  So always-live TNs were never
      Moved bootstrap hacks out of this file so that they can be compiled afterward
      Initial revision
      Changed to new logical names.  Moved serve-event before lispinit so that
      Moved *display-event-handlers* defvar to serve-event so that server
      Moved defvar of *display-event-handlers* here so that it is defined even
      Changed make-immediate-type of random number to CODE-CHAR.
      Flushed defvar's of GC flags in favor of PROCLAIM, since there are DEFVARs
      FIxed paren error in output-random.
      Changed NOTE-NON-LOCAL-EXIT to add a use of the NLX continuation to the
      In CONTINUATION-DELAYED-LEAF, removed the hack that checked for the
      Changed comment in NLX-INFO to reflect the fact that environment analysis now
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r386,
      Start work on better non-descriptor support.
      Put in fix from wlott for unread-char/read-line interaction lossage.
      Added :COMPUTE-ONLY to the legal values for VOP-INFO-SAVE-P.
      Added code to emit the IR2-ENVIRONMENT-ELSEWHERE-START label.
      Changed to new logical names.
      Changed the ENTRY-INFO-OFFSET to be a GEN-LABEL rather than the BLOCK-LABEL
      Pass the ENTRY-INFO-OFFSET label to the ALLOCATE-FRAME VOP so that it can
      Flushed unused BLOCK argument to COMPUTE-SAVE-SET.  Fixed it to ignore
      Changed to new logical names.
      Fixed DENOMINATOR and IMAGPART to return the right thing for
      Added NOTE-ENVIRONMENT-START.  Added start label arg to ALLOCATE-FRAME.
      In COERCE-TO-SMALLEST-ELTYPE, coerce to a SIMPLE-ARRAY, not just a VECTOR.
      Added TARGET-BYTE-ORDER and NATIVE-BYTE-ORDER.  The latter should be moved to
      Changed DUMP-I-VECTOR to use a new semantics for FOP-INT-VECTOR: only exact
      Changed to understand the new FOP-INT-VECTOR.
      Changed to understand the new FOP-INT-VECTOR.  The old version was inconsistent
      Fixed COMPILE-FILE to not delete the error file when the compile is aborted by
      .../code/fd-stream.lisp, 08-Mar-90 17:58:17, Edit by Wlott.
      Fixed order of args to DESC-DOC in DESCRIBE-FUNCTION-COMPILED so that we look
      Added the FILE-COMMENT macro for RCS header usage.
      In WRITE-VAR-INTEGER, fixed inverted sense of the test for 32bits.
      In FOP-INT-VECTOR, fixed computation of the i-vector access code and
      Changed TRANSPORT-FUNCTION to transport all objects in the constants, not
      In %COMPILER-DEFSTRUCT, made the structure copier and predicate at least
      Macroified I-vector dumping a bit.
      Fixed computation of i-vector access code in fop-int-vector.
      Added code to make known calls unknown if there is an argument with
      Made VALID-FUNCTION-USE match CONSTANT types when they appear in the arg
      Initial version.
      When describing a compiled function, print the file comment (if any.)  ALso,
      Changed WITH-COMPILATION-UNIT to hack delayed unknown type warnings.
      Fixed paren error in CHECK-ARG-TYPE.
      Deleted some wlott debugging code.
      Fixed missing stream arg in OUTPUT-RANDOM.
      Initial revision
      Noew and fixed features.
      Brought up to date w.r.t. trunk.
      cont-tn -> fp-tn
      Fixed temporary spec in pointer- to specify a SC restriction.
      Changed stuff to use the new non-descriptor stuff for move/coerce.
      This commit was generated by cvs2svn to compensate for changes in r624,
      Changed stuff to use the new non-descriptor stuff for move/coerce.
      This commit was generated by cvs2svn to compensate for changes in r626,
      Fixed typo.
      Changed to do debug-info 2 rather than 0.
      Flushed move-arguments, move-results.
      Added code to set the LEAF-TYPE of functionals to the DEFINITION-TYPE
      Added represent and pseudo-vops.  Moved char earlier.
      Made error checking stuff recompute the operand costs and compare with
      Added definition of PARSE-UNKNOWN-TYPE condition.
      Changed stuff for new argument passing convention.
      This commit was generated by cvs2svn to compensate for changes in r655,
      Moved POINTER-COMPARE here, since this is now loaded before system.
      Changed n-arg miscops not to allocate ARGS.  Moved ILLEGAL-MOVE here
      Many changes amounting to nothing.
      Added MAKE-NLX-SP-TN interface.  Changed people to use FP instead of CONT.
      Moved POINTER-COMPARE to char, since it is now loaded first.
      Allow arg to RESTORE-STACK-POINTER to be DESCRIPTOR-REG, since we now
      move-full-call-args => move-tail-full-call-args
      Flush constant SCs for stack and string-char-stack.
      This commit was generated by cvs2svn to compensate for changes in r663,
      Fixed spilling in load-tn packing to handle spilling around conditional
      merged non-descriptor branch:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes: debug-dump.lisp
      Merged non-descriptor changes: debug.lisp
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes: ir1util.lisp
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Merged non-descriptor changes:
      Flushed frobbing of IR2-COMPONENT-VALUES-GENERATORS, since that slot
      Fixed the hand-coded call to FDEFINITION for SETF functions to use the
      Made TAIL-P be cleared in all nodes that aren't TR calls.
      Fixed some junk.
      Added code to any emit coercion VOPs before the move-argument VOPs in a call
      Moved computation of the VALUES-GENERATORS here from ltn.
      Fixed comment.
      Added a comment describing how NODE-TAIL-P is cleared.
      Added a DEFINE-MOVE-VOP :MOVE-ARGUMENT for moving from string-char to
      Fixed some ARGS noise to be OLD-FP in unknown value receiving.
      Changed ESCAPE-ROUTINE to explicitly handle 4 arg calls, with the 4'th argument
      Changed LTN-DEFAULT-CALL to clear NODE-TAIL-P if there is an IR2-CONVERT
      Rewrote LOAD-TN-CONFLICTS-IN-SB yet again.  The dubious assumptions about
      number-stack => non-descriptor-stack
      In local call, pass in the ir2-environment instead of the return-pc
      Changed local call VOPs to take the callee ir2env instead of just the
      Changed the magic SB from NUMBER-STACK to NON-DESCRIPTOR-STACK.
      Changed INIT-SB-VECTORS and GROW-SC to work when a SB has no locations
      Fixed typo.
      Pass the callee into ALLOCATE-FRAME so that it can tell whether to allocate a
      Changed ALLOCATE-FRAME to accept the callee as an info arg so that we can
      Fixed TRULY-THE to set the NODE-DERIVED-TYPE only on uses of the CONT that are
      CONT -> FP.
      New debugger user interface based on the debug-internals primitives.
      CONT -> FP
      Added debug-int
      Moved debug-info earlier in the compilation.
      Fixed PRIMITIVE-TYPE on union types to return the right value.
      In %COMPILER-DEFSTRUCT, added an explicit check for an included type being
      Fixed order of args to ALLOCATE-FRAME.
      Fixed SPILL-AND-PACK-LOAD-TN to recognize uses of load TNs now that they are in
      Changed CONSTANT type to be CONSTANT-ARGUMENT.
      Moved CONDITION defstruct here from error.
      Moved CONDITION defstruct to struct.
      Made ESCAPE-ROUTINE allocate an extra word so that we don't trash what the
      Changed to new logical names.
      In CONFLICT-ANALYZE-1-BLOCK, when processing :FORCE-TO-STACK SAVE-P values,
      Added OPTIONAL-ARGS marker to the c-d-f-arguments.
      Added description of the OPTIONAL-ARGS marker in the c-d-f-arguments.
      current-cont -> current-fp.
      CONT -> FP
      Merged in stuff from Bill:
      But don't call CONVERT-TO-ENVIRONMENT-TN on TNs that are already :ENVIRONMENT.
      Zap some syms bugging the debugger.
      Export some DEBUG syms.
      Added code that uses the DI interface to find the name of the function in which
      In DEBUG-FUNCTION-FOR-COMPONENT, fixed error in the determination of whether a
      Added support for pre-analyzing top-level lambdas so that we don't have to
      Added MERGE-TOP-LEVEL-LAMBDAS and changed FIND-INITIAL-DFO's handling of
      Changed JOIN-BLOCKS-IF-POSSIBLE to join when the first block's last-cont is
      Fixed IR2 block printing to do a better job of recognizing overflow blocks.
      Changed stuff to delay compilation of top-level forms, and mash them into
      Changes to support new top-level form handling: references in top-level
      Changed to OR in the result of STRUCTURE-PREDICATE to be an IF, since that is
      Fixed some stuff in the top-level lambda hackery.
      Changed a copy-seq to bit-vector-copy for no particular reason.
      Fixed closure referencing to understand the new :TOP-LEVEL-XEP functionals.
      Added REPLACE-TOP-LEVEL-XEPs so that we don't have to leave around IR1
      Changed to understand :TOP-LEVEL-XEP functionals.
      Added alloc.
      Initial revision
      Fixed JOIN-SUCCESSOR-IF-POSSIBLE a bit in the new case of the first block
      Added a stream arg to the FORCE-OUTPUT in COMPILER-MUMBLE.
      Changed constructor names for freelisted structures to be REALLY-MAKE-xxx.
      Hooked into the new alloc stuff.  Reduced TOP-LEVEL-LAMBDA-MAX to 10
      Added new and missing functions and flushed old ones.
      Added debugger package hackery.
      Picked up some bug fixes from Chiles.  Also the "F" command.
      Picked up some tweaks to debug-variable functionality from Chiles.
      Fixed argument order to EMIT-CONTEXT-TEMPLATE in EMIT-ARG-MOVES.
      Fixed broken type declaration in IR2-CONVERT-IF.
      Added some force-output's and moved run-program to after the initial
      Changed local call VOPs to not set FP in the branch delay slot, since the new
      Deleted INLINE proclamation for REFERENCE-TN.  Now that MAKE-TN-REF is inline,
      Added new *META-SC-NAMES* and *META-SC-NUMBERS* and corresponding -OR-LOSE
      Added some stuff.
      Fixed up info for COMPILE and COMPILE-FILE args/values.
      In CHECK-VOP-REFS, flushed check for all args coming after all results, since
      Added some hacks to defeat type checking so that this stuff will work
      Fixed debug-function dumping so that unnamed optional-dispatches get the
      Made leaf printing understand the new top-level XEP functionals.
      Fixed broken type declaration.
      Fixed broken slot type declaration in the UNDEFINED-WARNING structure.
      Made new meta namespace stuff work.
      Fixed stuff to work with the new interface to FIND-INITIAL-DFO.
      Rolled back to 1.2, since there seem to be serious problems with the
      Merged in MV-BIND type inference from the mips branch, and fixed to handle set
      Merged in the VALUES and LOGXOR derive-type optimizers from the MIPS branch.
      Initial revision
      Fixed type of the optional arg to file-position.
      Flushed incorrect assertion in DELETE-BLOCK that the continuation have
      Enchanced error messages:
      Added some more globals, these used by Hemlock.
      Added type check weakening (conditional on policy), and made type checks
      Added ALWAYS-SUBTYPEP, since it is no longer defined internally for
      When checking the number of VOP args supplied, don't expect there to be
      Added hash caching of values across the entire current *info-environment*
      Enhanced let optimization:
      Fixed "declared inline but no expansion" not to say the declaration is
      Changed the unsafety check for symbol accessors to be (= safety 0).
      Moved vm-tran later so that it can define VOPs.
      Changed check for flushing arg count error to be (zerop safety).
      Only use unsafe policies when safety = 0.
      Added :VARIABLE as a undefined warning kind.
      Added %NOTE-TYPE-DEFINED and made %COMPILER-DEFSTRUCT call it.
      When checking that the number of args match the number of arg types,
      Fixed output type assertion on logical operations to be * rather than T,
      Added some hacks to support the STRUCTURE-VECTOR type, so that implementing
      Added caching of the PRIMITIVE-TYPE via DEFUN-CACHED, and also reordered
      Changed DEFTYPE to expand into %DEFTYPE, and made %DEFTYPE call
      Added hash cache support: DEFINE-HASH-CACHE, DEFUN-CACHED and
      Fixed EMIT-ARG-MOVES to emit the COMPUTE-OLD-NFP VOP correctly.
      Flushed broken INGORE declaration.
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r1014,
      .../systems-work/nnclx/input.lisp, 12-May-90 16:13:04, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r1016,
      .../systems-work/nnclx/gcontext.lisp, 12-May-90 16:07:22, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r1018,
      .../systems-work/nnclx/dependent.lisp, 12-May-90 15:07:52, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r1020,
      .../systems-work/nnclx/depdefs.lisp, 12-May-90 14:27:05, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r1022,
      .../systems-work/nnclx/defsystem.lisp, 12-May-90 14:20:02, Edit by Chiles.
      Initial revision
      Type warnings only inhibited when brevity = 3.
      Added #-new-compiler load to eval-when so that macro will be defined in
      Fixed closure TN allocation to allocate *any-primitive-type* when the
      Fixed JOIN-BLOCKS to combine many optimization flags it was ignoring.
      Type warnings are inhibited when brevity = 3.
      Tweaked error message format a bit.
      Fixed FIND-TEMPLATE to do what the comment said with :CONDITIONAL templates,
      Fixed the MEMBER transform to be correct, and to generate somewhat more
      Fixed FOLD-TYPE-PREDICATE to specify one arg rather than two so that it
      Fixed paren arror.
      Added %PROCLAIM for semi-safe policy, and set *PRINT-PRETTY* to NIL
      Fixed FIND-ORIGINAL-SOURCE to consider the original source form itself as a
      Changed IR1-TOP-LEVEL to use the current value of *CURRENT-PATH* when Form has
      Changed COMPILE-FOR-EVAL to bind *CURRENT-PATH* to nil.
      Added a limit on the number of times that IR1-PHASES will loop, and simplified
      Changed type check weakening not to choose supertypes that are union types
      In SUBSTITUTE-SINGLE-USE-CONTINUATION, we also punt if either continuation has
      Changed said EVAL-WHEN to be unconditionally LOAD so that inline expansions
      Fixed VALID-FUNCTION-USE to return T, T when the call is valid, instead of T,
      Changed PROBABLE-TYPE-CHECK-P to return T when we are unable to determine when
      Made CONT and OLD-CONT be registers once again so that we don't have to
      Don't clear *SOURCE-PATHS* in CLEAR-STUFF, since this must carry across
      Oops...  We can't negate a check and weaken it too.  Choose whichever is
      Changed MAYBE-WEAKEN-CHECK to accept a type if there is a predicate for that
      Changed info cache initialization to directly do the necessary stuff at
      Added UNSIGNED-BYTE declarations in DOTIMES to help type inference.
      Improved IR1-TRANFORM-< to expand to NIL in some interesting cases where the
      Changed ALLOCATE-FULL-FRAME and DEFINE-FULL-CALL to only load/save the new FP
      Fixed note in SOURCE-TRANSFORM-HAIRY-TYPEP to turn the type into a type
      Fixed PRINT-ERROR-MESSAGE to not try to print the enclosing source when there
      In FAST-ASH/FIXNUM, when shifting right, we must negate N before considering it
      In FAST-ASH/FIXNUM, load the argument into the result *before* we shift the
      Call CLEAR-STUFF with a NIL arg, so that we don't trash the debug id
      Fixed return values for FIND-SYMBOL and INTERN to allow :EXTERNAL.
      Fixed export of *converting-for-interpreter*.
      Fixed negated sense of NODE-DELETED.
      When *CONVERTING-FOR-INTERPRETER*, convert multi-ref calls even in top-level
      Made clearing of debug-id tables by CLEAR-STUFF optional so that we can
      Changed %PROCLAIM to use a FBOUNDP conditional rather than #-new-compiler
      Flushed some old UNIX-PIPE package hacks.
      Added semi-safe optimize proclamation.
      Changed local call and known return to not use load-tns for loading the
      Added PUTF.
      Only hack on TYPE-PRED-ALIST in the bootstrap env.
      Changed PRIMITIVE-TYPE to return FUNCTION for random complex function types.
      Fixed DEBUG-FUNCTION-FROM-PC to correctly deal with PCs in elsewhere code.
      In DEFINE-CONDITION, allow slot specs to be omitted.
      Flushed commented-out PUTF macro.
      Added STRUCTURE-VECTOR to TYPE-PRED-ALIST, and changed it to be a
      Added %PUTF, currently defined to just call the PUTF miscop, pending
      Fixed backquote lossage in DEFINE-FULL-CALL.
      *** empty log message ***
      *** empty log message ***
      *** empty log message ***
      *** empty log message ***
      Added NO-FUNCTION-VALUES-TYPES and made people use it so that they aren't
      Commented out all the :derive-type optimizer specs.
      Fixed LABELS/FLET parsing a bit.
      Set *TYPE-SYSTEM-INITIALIZED* so that we know when we can start using the
      Fixed broken arg type declaration for FINISH-DEFPRINTER
      Tweaks and fixes to new error output.
      Changed FBOUNDP conditionals to test *TYPE-SYSTEM-INITIALIZED* instead,
      Fixed VALUES derive type method to call VALUES-SPECIFIER-TYPE.
      Fixed KNOWN-RETURN to use the temps, now that we have loaded the args
      When finding the source file, require the FILE-WRITE-DATE to be = to the
      Initialized *TYPE-SYSTEM-INITIALIZED* to nil.
      Fixed FORMAT transform to not convert call CONTINUATION-VALUE on a string
      *** empty log message ***
      This commit was generated by cvs2svn to compensate for changes in r1223,
      Added use of *unparse-function-type-simplify* to prevent complex function
      Fixed some broken declarations.
      Now we recognize constraints from explicit conditionals.
      Block now has a TEST-CONSTRAINT slot used to represent the constraints
      Added primitive-type args back to restricted & wired TN constructors, since
      Changed comment to decsribe the new format of VOP-INFO-xxx-LOAD-SCS.
      Merged in changes from the MIPS branch, mainly the primitive-type-aliases
      Make the locations for a continuation according to the proven type when
      Changes to do type checking at the DEST rather than at continuation uses,
      Made load-tn packing only pack in SCs allowed by the operand primitive-type,
      Changed to understand the new load-scs format, and to not attempt coercions
      Flushed many now-suprious descriptor-reg SC restrictions in VOPs with
      CODE-CHAR result must be restricted to STRING-CHAR so that coercion
      Added back primitive-type args to TN constructors.
      Added initialization of the BLOCK-TEST-CONSTRAINT slot.
      Only add test constraints on blocks with a single predecessor.
      Fixed some junk.
      Added CATCH-BLOCK primitive-type.
      Fixed CATCH-BLOCK primitive-type to use the CATCH-BLOCK SC instead of
      INTERN can't return NIL as its second value.
      Fixed Kill set computation.  We were computing the kill set in the initial
      Fixed a bug in SSET-UNION-OF-DIFFERENCE that prevented the difference from
      Changed the :INIT-FUNCTION to SAVE-LISP to be the compiled
      Changed source context stuff to use the TLF number to do N reads to find
      Changed to use pointer< and sap+ instead of >= and + when operating on
      Added some var, and also filled everything, so I don't know what I changed.
      Deleted obsolete *file-input-handlers* from export.
      Changed type-of to use header-ref on structures rather than SVREF.
      Changed compiler error contexts to hold stringified source forms so that
      This commit was generated by cvs2svn to compensate for changes in r1417,
      Fixed ALLOCATE-RESOURCE-ID to not declare the types of the macro args,
      This commit was generated by cvs2svn to compensate for changes in r1419,
      This commit was generated by cvs2svn to compensate for changes in r1421,
      Fixed SET-WM-PROPERTIES to set the WM-HINTS-WINDOW-GROUP to the
      This commit was generated by cvs2svn to compensate for changes in r1423,
      Fixed arg order to MAP-RESOURCE in MERGE-RESOURCES.
      This commit was generated by cvs2svn to compensate for changes in r1425,
      Fixed declarations in computation of LEFT-BITS in READ-PIXARRAY-1.
      This commit was generated by cvs2svn to compensate for changes in r1427,
      Flushed bogus macro arg type declaration in DEFINE-GCONTEXT-ACCESSOR.
      This commit was generated by cvs2svn to compensate for changes in r1429,
      Broadened the EXCL conditional on INPUT-STREAM and OUTPUT-STREAM in BUFFER
      New compilation hacks.
      This commit was generated by cvs2svn to compensate for changes in r1432,
      New compiler compilation hacks.
      This commit was generated by cvs2svn to compensate for changes in r1434,
      Supply some legal variable initial values and flush a bogus simple-vector
      This commit was generated by cvs2svn to compensate for changes in r1436,
      Flushed spurious ignore declaration.
      This commit was generated by cvs2svn to compensate for changes in r1438,
      Fixed line hackery to work in new compiler (and be portable too..).
      This commit was generated by cvs2svn to compensate for changes in r1440,
      Deleted some spurious ignore declarations.
      This commit was generated by cvs2svn to compensate for changes in r1442,
      Flushed bogus ignore declaration.
      This commit was generated by cvs2svn to compensate for changes in r1444,
      Fixed bad syntax in array type declarations.
      This commit was generated by cvs2svn to compensate for changes in r1446,
      Supply some legal initial variable values.
      This commit was generated by cvs2svn to compensate for changes in r1448,
      Supply some legal initial variable values.
      This commit was generated by cvs2svn to compensate for changes in r1450,
      This commit was generated by cvs2svn to compensate for changes in r1452,
      Supply some legal initial variable values.
      This commit was generated by cvs2svn to compensate for changes in r1454,
      Supply some legal initial variable values.
      Added CONSTANT-CONTINUATION-P assertion to CONTINUATION-VALUE so that we don't
      Check that the arg to %TYPEP is constant; evidently it isn't always.
      And let the %TYPEP arg be a CTYPE structure too, since William seems to like
      Fixed FIND-ORIGINAL-SOURCE not to bogue out when there is an atomic top-level
      William's initial version of FP instruction support.
      Added MAKE-xxx-STACK-POINTER-TN functions and moved
      Merged in William's changes of using special functions to make SP TNs,
      Merged fixes from the MIPS branch.  Do operand type consistency checking even
      Added code to delete the lambda when we delete the combination for a let.
      Added a hack to prevent DEBUG-FUNCTION-FROM-PC by being confused by the
      Moved macros and vmdef earlier so that they are compiled before the macros
      Added WITH-FIXED-ALLOCATION macro.  Derived from the SAP allocation, so this is
      Added coprocessor branch instructions for FP conditionals.  Added support
      Fixed syntax in the ODD-FP-REG argument type definition.
      Special-case printing of code pointers, so that we don't choke on internal code
      Added knownfun back into the compilation.
      Un-commented-out loading of CLX, instead making it conditional on the CLX
      Changed ABS to be an IR1 transform that only runs when the arg is a RATIONAL,
      Initial revision
      Initial revision
      Changed the float operand-types to work.
      Added some float format constants.
      Ripped out dummy float move functions.
      Added some number support exports from kernel and VM.
      In TN-VALUE, flushed the assertion that the TN is not in the CONSTANT SC.
      Changed the basic numeric equality to be EQL, and changed the numeric
      Added a hack to move-to-signed/unsigned to accept a CONSTANT operand,
      Added :move-argument VOPs.
      Initial revision
      Added notes to float VOPs so that we get efficiency notes if they can't be
      Changed two-arg-* to call MULTIPLY-BIGNUM-AND-FIXNUM instead of using
      Merged in my version of MULTIPLY-FIXNUMS with tests for a 32bit result before
      Ripped out unncessary NUMBER declaration in %NEGATE.
      Fixed CONSTRAIN-REF-TYPE to not lose when we substitute one variable for
      Added new bignum floating code.  New interfaces are BIGNUM-TO-FLOAT and
      Ripped out exports and put them into exports.lisp.
      Updated BIGNUM exports and added some more VM float stuff.
      Added some new FP constants.
      Changed BASIC-COMPARE to optimize the case of comparing floats to 0.  Changed
      Changed RATIONAL to special-case 0 so that we don't spuriously create a 128 bit
      Fixed decode/scale float stuff to handle zero correctly.
      Fixed up DUMP-FLOAT to make 0d0 be dumped so that it will be loaded as a double
      Fixed ASH to return 0 rather than -1 when there is a large negative shift, but
      This commit was generated by cvs2svn to compensate for changes in r1660,
      Fixed stuff to work with the new float, fixnum formats.
      Fixed FAST-ASH to correctly handle large negative shifts, and fixed some
      Fixed FAST-ASH to correctly right-shift unsigned arguments.
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r1689,
      *** empty log message ***
      Initial revision
      *** empty log message ***
      This commit was generated by cvs2svn to compensate for changes in r1699,
      *** empty log message ***
      Fixed defprinter stuff to not lose when the charpos can't be determined.
      Fixed KNOWN-CALL-LOCAL to call NOTE-THIS-LOCATION after emitting the LRA,
      Picked up 16x32 divide stuff from Bill (but it is conditionalize out).  Also
      This commit was generated by cvs2svn to compensate for changes in r1740,
      *** empty log message ***
      Swapped costs of FAST-EQL/FIXNUM and FAST-EQL-C/FIXNUM so that the -C
      Changed the DEBUG-SOURCE-NAME to be of any type, since it can be the
      FLushed world-load-init-function and made SAVE-LISP turn on GC, since
      Uncommmented-out hemlock loading, and specified the right base file
      Deleted function-does-not-return test, since that is now done in
      COmmented out the WITH-... macro use, since it is causing some sort
      Changed to use new lexical environment stuff.  Fixed ALIEN-BIND to work,
      Changes for new lexenv changes.  Also clear more stuff in the (vain) hope
      Flushed cleanup hackery, since the lexenv changes make this unnecessary.
      Changed stuff to use BLOCK-ENVIRONMENT instead of the obsolete BLOCK-LAMBDA.
      Use NODE-HOME-LAMBDA instead of obsolete BLOCK-LAMBDA.
      Misc changes for new lexenv structure.  Only dump TNs as always-live
      Changes for new lexenv structure.  Fixed broken PROCLAIM.  Added some
      Misc changes for lexenv stuff.  Added comments in top-level lambda merging.
      Lexenv changes.
      Misc changes for lexenv stuff.
      New lexenv hackery and also NLX cleanup changes.
      lexenv changes and associated NLX changes, and also changes to support
      Deal with :block and :tagbody being seprate cleanup-kinds now.
      Lexenv changes, mostly usage of new block-flags block attributes instead
      Error message stuff much changed for new source context stuff.  New
      Changes for new lexenv stuff and :block/:tagbody cleanup-kind.
      Use block-environment instead of obsolete block-lambda, use block-start
      Lexenv changes: block-lambda => block-home-lambda, etc.  No longer
      Change cookie hackery for lexenv changes.
      Lexenv changes, added support for (SETF xxx-ATTRIBUTEP) as a way to
      Fixed some broken declarations.  Tweaked undefined warning stuff a bit;
      Lexenv changes.  New lexenv structure.  In the node, there is a new
      Use block-home-lambda instead of the obsolete block-lambda.
      Use block-environment instead of the obsolete block-lambda.  Use block-start
      Use block-environment instead of the obsolete block-lambda.
      Use EVAL-IN-FRAME (conditional on *auto-eval-in-frame*) in the debug
      Changed MACROEXPAND and friends to hack LEXENV's as the environment arg.
      Mucho changes for interpreted code debugging.  Also a couple of stack
      Fixed the DATA-VECTOR-REF transform for random SIMPLE-ARRAYs to transform
      In PROPAGATE-LET-ARGS, propagate the arg type to the refs before
      When substituting for the result continuation in let conversion, intersect
      In KNOWN-RETURN, target the OLD-CONT and RETURN-PC into the temps so
      Flushed old (and broken) DEFKNOWN for %UNARY-TRUNCATE.
      Fixed complex <,> to error on complexes.  Fixed complex/real = to
      This commit was generated by cvs2svn to compensate for changes in r1861,
      Fixed broken declarations.
      Added support for TN-COST and TN-ENVIRONMENT.  Deleted destruction
      Added code to recognize :DEBUG-ENVIRONMENT TNs as always-live, but only
      Added support for :DEBUG-ENVIRONMENT TNs and the new representation
      Changed some comments.
      Changed stuff to not allocate passing locations anymore, and to use
      Added new DELETE-FUNCTIONAL interface so that we can delete functions
      Mucho changes to local call argument passing to improve efficiency:
      Changes to support :DEBUG-ENVIRONMENT and :ALIAS TNs, and new
      Added code to LOCAL-CALL-ANALYZE to delete functions that were never
      Added code to CONVERT-AND-MAYBE-COMPILER to place the current value
      Flushed special support for :ENVIRONMENT TNs, since they now look
      Added support for :ALIAS TNs.
      Added support for :ALIAS, :DEBUG-ENVIRONMENT and :SPECIFIED-SAVE TNs.
      Flushed special-casing of :ENVIRONMENT TNs in DO-LIVE-TNS.
      Changes to support new :ALIAS, :DEBUG-ENVIRONMENT and :SPECIFIED-SAVE TNs.
      Changed the return-pc/old-cont save TNs to be DEBUG-LIVE.
      Fixed ENTRY node printing to know about new entry node format.
      Deleted old TN-ENVIRONMENT.
      Support for stack parsing now that the old-cont/return-pc aren't always
      Added CLEAR-IR1-INFO which clears the refs for global variables.
      Fixed PACK-TN to use the specified save TN even when the FSC is in that
      Fixed FRAME-DOWN to pass the real frame into GET-CONTEXT-VALUE, rather
      Changed ENVIRONMENT-ANALYZE so that it doesn't always give multiple
      Fixed typo in MERGE-ALIAS-CONFLICTS where I was using the initial value
      Fixed GENERATE-TYPE-CHECKS to always give a warning when any use of
      Added *FAILED-OPTIMIZATIONS* to the hashtables we create in
      Moved charmacs earlier in the compilation order.
      Changed alias and environment TN stuff to work with TNs that have no
      Fixed IR2-CONVERT-LOCAL-CALL to work when we have a non-tail call to a
      Fixed PARSE-INTERPRETED-DEBUG-VARIABLES to hack uninterned variable names
      Fixed a bug in MERGE-ALIAS-CONFLICTS where conflicts could fail to be
      Fixed problem in rational X float truncate.
      Fixed some residual character bits lossage that was causing #\a to
      Initial revision
      Made DEF-IR1-TRANSLATOR set the SYMBOL-FUNCTION of special forms to
      Fixed FILE-COMMENT processing to actually work.
      Put interpreted function printing back in the printer after William
      Fixed uses of %ARRAY-DISPLACED-P to be guarded by ARRAY-HEADER-P.
      Tweaked float parameters to prepare for support for infinities, denorms,
      Fixed the :POLICY keyword to DEFTRANSFORM.
      Eliminated the IR1-FINALIZE interface and made the previously internal
      Eliminated call to IR1-FINALIZE in favor of separate handling of free
      Changed the EQL transform to not give an efficency note when we know
      Fixed FUNCTION-LAMBDA-EXPRESSION to return the right thing now that
      Changed the float exponent DEFTYPEs to allow for denormalized floats.
      Fixed DEFINE-FULL-CALL to work when the named call name is a static
      Changed the float-exponent and float-digits types to just glom onto
      Added support for printing denorms, infinities and NaNs.
      Moved float operations to float.lisp.
      Initial revision
      Added cfc1 and mfc1 instructions for float exception hackery.
      Added some exports for float parameters.
      Added support for reading and setting float variables.
      Initial revision
      Moved trap stuff to float-trap.lisp and conditions to error.lisp.
      Added stuff to read and set floating-point modes, and added calls
      Added notes for the data-vector-{ref,set} VOPs so that there will be
      Fixed use of IR1-FINALIZE, now use MAPHASH of CHECK-FREE-FUNCTION.
      Fixed reference to IR1-FINALIZE.
      Fixed some problems with interpreted alien access.
      Changed DEFOPERATOR to represent the function definition of an operator
      Added the :ENABLE-GC option to SAVE-LISP so that GC can be turned on
      Changed NOTE-FAILED-OPTIMIZATION to reflect the new format of
      Changed the failed optimization stuff to record one note for each
      Changed the ARRAY-DIMENSION transform to not print out a CONTINUATION
      Fixed SINGLE-FROM-BITS and DOUBLE-FROM-BITS to make negative floats
      Added *efficency-note-limit* and *efficency-note-cost-threshold* to
      Added REVERT-SOURCE-PATH and made %DEFUN and %DEFMACRO ir1 translators
      Added stuff to give an efficency note when we would like to be able
      Changed SXHASH to use the float-bits primitives instead of integer-decode-
      Added new FOP-SINGLE-FLOAT and FOP-DOUBLE-FLOAT faslops so that we can
      Changed DUMP-FLOAT to use the new FOP-SINGLE-FLOAT and FOP-DOUBLE-FLOAT
      Totally nuked the efficency note in the EQL transform, cuz LTN will give
      Changed NOTE-FAILED-OPTIMIZATION to redo the check for whether the type
      Fixed some broken declrations.
      Fixed some broken declarations and the file header comment.
      Inhibit substitution of let variables whenever the arg variable type is
      Added stuff to make DELETE-BLOCK print a note when it seems that we are
      Deleted some dead code that the last change detected (!)
      Added stuff to check for spilled TNs so that the debugger knows they
      In NOTE-REJECTED-TEMPLATES, moved the increment of COUNT inside of the
      Strengthened the type on SSET-ELEMENT-NUMBER to (or index null) so that
      Changed the does-not-return tail recursion inhibition to only apply to
      Fixed the creation of the initial globaldb cache vector to be the right
      Changed save optimization to either restore all live TNs at an
      Added DECLAIM macro.  Changed OPTIMIZE declaration to allow any real
      Tweaked bit-vector make-array to not do generic arithemtic.
      Added IR2-COMPONENT slots to track spilled TNs for debug-info.  Also,
      Added a declaration.
      Fixed typo in fboundp/setf transform.  Commented out fboundp/setf stuff,
      Fixed variable describing.  Made function describing better.
      Added some fixnum declarations.
      Changed ELT and %SETELT to check that the index is less than the LENGTH,
      Changed the ELT and %SETELT transforms to only change to AREF when
      Fixed paren error in last edit.
      Fixed SAME-LEAF-REF-P to check whether the value of the leaf can
      Fixed structure describing to use STRUCTURE-REF.
      Changed uses of COMPILER-ERROR to ERROR, since we can't use
      Force type check conversion of continuations that may be forced to
      Implemented ASSERT-DEFINITION-TYPE to apply a FTYPE proclamation
      Changed the DEBUG-SOURCE-NAME to be a vector of the top-level forms
      Cleaned things up a bit.  Made sure that we were consistently using
      Changed INFO TYPE KIND be more correct in determining whether the type
      Fixed CHECK-FREE-FUNCTION to not blow away :DECLARED types when we
      Made CONSTANT-REFERENCE-P be an interface in the comment.
      Many fixes and some enhancements.
      Made *debug-print-XXX* go to *print-XXX* if they are NIL.
      Changed comment on debug-source-name to describe new convention for
      Made DEFTYPE warn if redefining a structure and flame if a primitive
      Made string input stream support file-length and file-position setting.
      Exported misc error printing control variables.
      Changed the comment in the IR1-ATTRIBUTES definition to reflect a new
      Exported efficency note variables.
      Fixed DEFUN to respect NOTINLINE declarations as inhibiting self-recursive
      Changed comment to describe the new use of LEXENV-TYPE-RESTRICTIONS
      Many changes for more robust redefinition of DEFfoos to DEFbars.
      Parameterized COMF by TARGET-FASL-FILE-TYPE.
      Added a new SOURCE-INFO arg to FIX-CORE-SOURCE-INFO.  Fixed some
      This commit was generated by cvs2svn to compensate for changes in r2162,
      Changed compiler interface stuff to interface to Python.  Fixed
      This commit was generated by cvs2svn to compensate for changes in r2164,
      Fixed compiler notification to dink the error/warning count.
      Added use-package of extensions so that we can define conditions exported
      Fixed some condition signalling in SCALE-FLOAT-MAYBE-OVERFLOW, and
      Changed the SIGFPE handler to be VM:SIGFPE-HANDLER, which figures out
      Allow any kind of constants in the interpreter.  Also, put back the
      Added stuff to compute the right cost for simple type predicates that
      This commit was generated by cvs2svn to compensate for changes in r2194,
      Added CMU to the negative conditional on the DEFINE-CONDITION for
      Added some stuff to %DEFSTRUCT to notice when a structure is being
      Changed defstruct redefinition a bit.  We are now more explicit about
      Changed def-c-record to make the field-info-type always be a c-type,
      Changed SOFTWARE-VERSION to run "version", rather than returning the
      Changed nsubstitute-if-not to not declare the :END argument as FIXNUM.
      Fixed CONCATENATED-READLINE to not declare variables to be
      Changed %REDEFINE-DEFSTRUCT to copy the old INCLUDED-BY into the new
      Added the REQUIRED-ARGUMENT function for squelching type warnings
      Changed DO-TYPE-WARNING to ignore uses whose type is NIL, and also
      Changed VALID-FUNCTION-USE to complain more intelligibly about args
      Fixed a bunch of problems revealed by the compiler now that it compares
      Changed THE/VALUES processing to not complain when the intersection
      Yet more structure redefinition hacks.  Mostly rewrote UNDEFINE-STRUCTURE
      Changed comment about ENTRY-INFO and slot types to reflect the early
      Changed top-level component hackery to deal with components that had
      Changed entry annotation to use any existing ENTRY-INFO created by
      Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to not gag on non :TOP-LEVEL
      In IR2-CONVERT-CLOSURE, create an ENTRY-INFO to represent a forward
      Changed FIND-TOP-LEVEL-COMPONENTS to not make components that might
      In LOCAL-CALL-ANALYZE-1, added an explicit test for :CLEANUP functions,
      Added transforms to pick off the real cases of the irrational functions
      Made all the C stubs be exported and maybe-inline.  Put the generic
      Fixed FIND-LAMBDA-TYPES to notice when the arg count changes.
      Added float contagion transforms so that mixed rational/float arithmetic
      Added stuff to backpatch core function objects so that there can be
      Moved assertion that the fasl file patch table was empty to be done at
      Upped *efficency-note-cost-threshold* to 5 so that we don't get
      Changed slot defaults for APPROXIMATE-KEY-INFO to use REQUIRED-ARGUMENT.
      Added representation selection efficency notes to warn when we are doing
      Added notes for the move and coerce VOPs for representation selection
      Broke the coercions to and from word integers up into multiple VOPs
      Made the C callout stubs for the math library routines be inline, since
      Generalized float contagion a bit to reduce the possiblity of quiet
      When doing keywords with hairy defaults, make the type of the main-entry
      Added *suppress-values-declaration* so that we can compile CLX, pending
      This commit was generated by cvs2svn to compensate for changes in r2348,
      Added *terminal-baud-rate*, which defaults to 9600.  If true, this value
      Changed ADJOIN-TEMPLATE to operate on a list arg, rather than always
      Added new :TN arg to OPERAND-RESTRICTION-OK so that we can use it
      updated comments in the SC structure to correspond to the new usage of
      Added stuff to allow multiple move VOPs per SC pair, with selection ebing
      Added operand type restrictions on the fixnum<=>word coercions so that
      Ripped out old listen-iterations-hack.
      Fixed WORTH-USING-INSERT-MODE so that it does the right thing.  We must
      Fixed the CALL-FORIEGN-FUNCTION IR2-Convert optimizer to understand the
      Changed variable dumping to realize that a TN can have no refs even
      Added call to COPY-PROPAGATE.
      Initial revision
      Added test that inhibits substituting for local call args, as this defeats
      Removed #+nil on the CONSTANT case for loading ARG-FUN in DEFINE-FULL-CALL.
      In the lifetime post-pass, added stuff to ensure that all results are
      Fixed REPLACE-TOP-LEVEL-XEPS to return T in a few more cases so that we
      Cleared up the explanation of keyword default types in
      Fixed handling of keywords with non-null constant defaults and supplied-p
      Updated for save optimization and copy propagation.
      Added the INTERPRETED-FUNCTION-TYPE interface so that the compiler
      Added stuff to make INFO FUNCTION TYPE on a function name that is defined
      Fixed keyword parsing to iterate over the more arg in reverse order.  This
      Added a funcallable-instance object for better PCL support.
      Added defknowns for FUNCALLABLE-INSTANCE-P and
      Added :alloc-vop for funcallable instance so that the constructor is
      Added funcallable-instance-p source transform.
      Added set-funcallable-instance-info VOP.
      Changed "does not return" note to only be done when brevity is 0.
      Removed suprious duplicate binding of CODE-GENERATORS in
      Changed MAKE-TOP-LEVEL-FORM to only insert an EVAL-WHEN when necessary,
      Changed stuff to know that we have setf functions.
      Removed "encapsulation" of DESCRIBE, since our describe now calls
      Added some FUNCTION declarations to the funcall/apply stuff so that
      Changed to call PCL::DESCRIBE-OBJECT on standard instances and
      Changed random object printing to call PCL::PRINT-OBJECT on funcallable
      Added a source-transform for STD-INSTANCE-P that knows there are no
      Changed some SETF\ PCL\  functions to be real SETF functions.
      Changed set-symbol-function to recognize funcallable instances as
      When we see a package frobber, we need to compile pending top-leve
      Get the fasl file type from the right place, rather than wiring it in.
      New version that uses a special funcallable-instance object resembling
      Fixed funcallable instance printing.
      Changed DEFCLASS to declare the automatically defined slot accessor
      Fixed environment stuff to use the correct environment format.
      Fix lossage.
      Fixed setf'ers to return the right value.
      Changed environment-macro to return the original "LAMBDA" rather than
      Initial revision
      Moved constants describing the floating point modes to here from
      Implemented floating-point-modes and set-floating-point-modes.
      Defined ldfsr and stfsr for manipulating the floating-point modes.
      Added constants defining the format of the FSR for floating point
      Generalized enough to support the SPARC as well as the PMAX.
      Added SIGCONTEXT-FLOATING-POINT-MODES for finding the floating-point
      Improved syntax error checking for the :TEMPORARY spec to DEFINE-VOP.
      Made check-fixnum be the type-check VOP for FIXNUM.  The whole area of
      Fixed scale-float to signal underflow and inexact at the right times.
      Added GET-FLOATING-POINT-MODES to read the floating point modes.
      Made FLOAT-FAST-BIT be 0, since we aren't supposed to set that bit.
      Added float-fast-bit defined as 0, since there isn't any such floating
      *** empty log message ***
      Merged systems-work sources as of 12/10/90.
      Changed DO-NODES to work even when multiple next nodes are deleted.
      Fixed broken declaration.
      This commit was generated by cvs2svn to compensate for changes in r2660,
      In NEW-CACHE-ATTRIBUTE, moved the error check earlier so that we do it
      This commit was generated by cvs2svn to compensate for changes in r2662,
      Fixed "Delete Previous Character Expanding Tabs" to set the error flag
      Put some defconstants in eval-when (compile load eval) so that subsequent
      In %INITIAL-FUNCTION, added call to SET-FLOATING-POINT-MODES to enable
      Changed ROUND to call %UNARY-ROUND when the second arg is 1.
      Added %UNARY-TRUNCATE-{SINGLE,DOUBLE}-FLOAT/FIXNUM functions, but then
      Made ROUND source transform like the one for TRUNCATE, and also used
      Added ROUND => %UNARY-ROUND transform like that for TRUNCATE.
      Changed the existing %UNARY-TRUNCATE VOPs to be %UNARY-ROUND, and added
      Made CEILING and FLOOR be maybe-inline instead of inline so that by
      Initial revision
      Initial revision
      Initial revision
      Changed MAYBE-NEGATE-CHECK to allow weakened checks to be simple when
      Added new CALL-LEXENV slot to CLAMBDA so that we can remember what
      Changed :STRICT-RESULT conditionalization to see whether the policy
      FIND-INITAL-DFO to delete components with no entry points, as this
      Changed stuff to use NODE-HOME-LAMBDA, since now that lets can be
      Ripped out :policy specs in unsafe transforms, as this semantics is
      Made VALUES not foldable so that the new MV constant folding won't choke.
      Added INFO TYPE FROZEN which enables fast structure type test compilation.
      Mucho enhancements.
      Made local function inline expansion mark the leaf as ever-used so that
      Changed NODE-ENCLOSING-CLEANUP work now that lets can be deleted.
      Added efficency note for when a rest arg prevents local call conversion.
      Tweaked template selection so that it will pick cheap safe templates even
      Added :RESTART-P key to DO-NODES that provides for robust iteration in
      Added support for the FREEZE-TYPE declaration.
      Added special-casing of structure types that have been declared frozen
      Removed the STRUCTURE-PREDICATE function, as this is now done directly
      Fixed EXPT to correctly return complex results for negative numbers
      Fixed frozen structure type test stuff to allow any subtypes of the
      Changed LET and LET* to allow var specs like (VAR), as allowed by some
      Changes to get fasl file type from backend.
      Changed PROCLAIM IR1 convert to drop unknown declarations on the floor,
      Fixed the last fix.
      Another fix to the fix.
      Fixed a broken FUNCTION proclamation.
      Fixed broken declarations.
      Eliminated arg type declaration in FIND-FREE-VARIABLE so that a
      Mark XEPs as EVER-USED so that we don't get spurious unused function
      Fixed VALUES IR1 optimizer to do the REOPTIMIZE-CONTINUATION before
      Added stronger declaration on the SC-ALIGNMENT.
      Added transforms to canonicalize the result arg to bit-vector ops.
      Made these functions INLINE so that they can be open-coded.
      Added new EVAL-NAME keyword to DEFTRANSFORM to allow simple use of closures
      Added some missing declarations.
      Added transforms to inline simple-bit-vector logical operations.
      Changed bit-array functions to use the compiler transform for
      Fixed bit-array canonicalizing for the T case to have the right type.
      Various tuning tweaks, primarily the addition of an output buffer, and
      Changed LDB-TEST to use MASK-FIELD rather than LDB so that it won't do
      Picked up Bill's change of CASE to ECASE to suppress type warnings.
      Like, some new words, man.
      Initial revision
      Changed SC-CASE to print the offending SC in the error message.
      This commit was generated by cvs2svn to compensate for changes in r2793,
      Fixed EDITOR-COMPILE-REGION to use the :SOURCE-INFO arg to
      Fixed "Universal Argument" to not call CHAR-CODE on NIL.
      This commit was generated by cvs2svn to compensate for changes in r2800,
      Fixed COMPILER-ERROR to not assume that all :COMPILE-FILE notes have a Buffer
      Changed COMPACT-INFO-ENVIRONMENT to sort the entries for names by their address
      Called SET-FLOATING-POINT-MODES in REINIT in hopes that this will make
      Merged Dan's DEFPACKAGE, and fixed it up a bit.
      Added Dan's NTH-VALUE macro.
      Added COMPLEMENT and CONSTANTLY functions from FUNCTION-COMPOSITION cleanup.
      In DELETE-LAMBDA-VAR, reoptimize the continuation so that we get a change
      Changed package function argument types for cleanup.
      Added transforms for CONSTANTLY and COMPLEMENT.
      Changed CONVERT-KEYWORD-CALL to CONVERT-MORE-CALL, and made it work when
      Fixed SHADOW to accept a single stringlinke thing as well as list.
      ignore => ignore
      Unconditionalized out some CLX stuff in SERVE-EVENT.
      Fixed paren error that was breaking keyword arg parsing.
      Commented out generic <=, >=, since these shouldn't exist after source
      Added the LAST-N X3j13 cleanup which gives LAST an optional arg for the number
      Changed GET-INTERNAL-REAL-TIME to subtract out the time of the first
      Added IR1-OPTIMIZE-MV-COMBINATION, which dispatches to various
      In TN-IS-COPY-OF, allow copy propagation whenever there is an intersection
      Added SC-RESERVE-LOCATIONS slot.
      Fixed FIND-MOVE-VOP to do the arg/result type intersecting correctly.
      Added stuff for freelisting INSTRUCTION structures.
      Changed to use the new interface to the assembler that allows
      Added uses of the new ENTRY-POINT funny instruction which prevents
      New version of the instruction set definition that sets up attributes
      Added uses of :RESERVE-LOCATIONS in the SC defintiion.
      Added use of the ENTRY-POINT instruction to prevent bad code motion
      Added export for backend-assembler-resources.
      Fixed people to not destructively modify the USE, USED-BY and
      Fixed FIND-SYMBOL-OR-LOSE to work on NIL, and also to intern the
      New file header with RCS header FILE-COMMENT.
      This commit was generated by cvs2svn to compensate for changes in r2851,
      Changed to cache the LINE-LENGTH in the stream instead of querying
      Changed for new version of ts-stream that caches the line length.  For
      This commit was generated by cvs2svn to compensate for changes in r2855,
      Added new header with RCS FILE-COMMENT.
      Added new header with RCS FILE-COMMENT.
      Changed DEFPACKAGE to expand into stuff that will have the package effect at
      Added some uses of REQUIRED-ARGUMENT.
      Added a use of REQUIRED-ARGUMENT.
      Added error check to squelch type warning.
      Added use of REQUIRED-ARGUMENT.
      Added INHIBIT-WARNINGS declaration in DEFINE-CONDITIONAL-VOP to suppress the
      Fixed syntax lossage in defallocators use.
      Moved fasl format constants out of this file into vm-macs.
      Removed some old vars and added some new ones.
      Made %PRIMITIVE translator look in the OLD-C package if it exists
      Moved NOTE-NAME-DEFINED out of here an into proclaim.lisp.
      Removed some #-new-compiler conditionals in eval-when compile's, since
      Moved NOTE-NAME-DEFINED here and changed it to see if *UNDEFINED-WARNINGS*
      Moved SC-NUMBER-LIMIT to vm-macs.
      Initial revision
      Removed package frobbing of CURRENT-SP.
      Moved some stuff to vm-macs.
      Put backward-compatibility TN-OFFSET defconstants in eval-when (compile
      Added some uses of required-argument.
      Fixed file header comment..
      Fixed file header comment..
      This commit was generated by cvs2svn to compensate for changes in r2883,
      Made *TYPE-CHECK* be false for CMU, and also made TYPE? just be typep.
      Merged systems-work source as of this date.  The main substantive change
      Merged systems-work sources as of this date:
      .../systems-work/code/eval.lisp, 09-Aug-90 15:23:35, Edit by Chiles, Rob, Wlott.
      .../systems-work/code/query.lisp, 14-Jun-90 21:46:58, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r2890,
      In set-root-resources, changed the default for :WRITE to be #'PRINC so
      Fixed TN-IS-COPY-OF some more.
      Fixed some broken arg type declarations..
      Fixed IR1-OPTIMIZE-MV-CALL not to convert calls with more than one arg,
      Added vm-macs and assem-opt.
      Allow DESCRIPTOR-REG where we allow ANY-REG, since we might be
      Allow DESCRIPTOR-REG when we allow ANY-REG in move-to-word/fixnum
      .../systems-work/code/reader.lisp, 26-Apr-90 16:19:15, Edit by Chiles.
      .../systems-work/code/char.lisp, 20-Jun-90 14:25:00, Edit by Chiles.
      Fixed PROCLAIM IR1 translator to hook in NIL if the spec is not constant,
      Fixed the fix to call %proclaim rather than doing nothing.
      Fixed TS-BUFFER-SET-STREAM to pass the stream back when it calls
      Weakened assertion in IR1-CONVERT-MV-CALL.
      Undid LOCALLY because it was tickling a bug.
      Fixed some float operations to have the right read and write values
      New file header with RCS stuff.
      New file header with RCS stuff.
      Added BASIC-SAVE-TN which must be used in lieu of SAVE-COMPILEX-WRITER-TN
      Fixed THEREIS to not be broken, and to work.
      Fixed some loop syntax and typos and stuff.
      Fixed TN-OVERLAPS in LOAD-TN-OFFSET-CONFLICTS-IN-SB to make the upper bound
      Added RETURN-FROM around the calls to ERROR in the NUMBER-DISPATCH expansion so
      /usr2/ch/lisp/format.lisp, 13-Mar-90 19:02:12, Edit by Christopher Hoover.
      Changed some broken explicit argument type checking in [N]BUTLAST to
      Added *assembly-optimize* flag so that we can easily turn this off to
      Changed CLEAR-STUFF to not clear the live TNs unless debug-too, so that
      Revamped :save-once TN stuff to work now given the (long ago) change
      Changed FASLOAD to check that there is something in the stream before it drops
      Deleted some uses of REQUIRED-ARGUMENT.
      dd-constructor -> dd-constructors now that there can be more than one
      Merged with systems-work sources as of this date.  This mainly picked up
      Changed the default for *check-consistency* to be NIL to reduce compile times.
      Checked in mucho changes from william's play area.
      Initial revision
      Merged in many changes from william's play area (mostly ripping out
      Checked in many changes from William's play area.
      Initial revision
      Merged in William's changes.  Mostly new logical names and COMF
      Initial revision
      Merged the times for the pack phases into a single number.  Similarly,
      Added an assertion in single-use continuation variable substitution.
      In find-free-function, added an assertion that the result is not a
      Added MAYBE-REMOVE-FREE-FUNCTION and made XEP deletion call it so that
      Fixed IR2-convert-closure to work in the presence of forward references
      Added an assertion that a function that we are converting a call to
      Fixed IR2-CONVERT-CLOSURE to not attempt initialization of slots
      Fixed let var substitution to not attempt to substitute references in different
      Changed to look in the tools directory for worldload.lisp
      Increased the size of the environment so that I can build cores that William
      Don't increment note count when the note is inhibited by the INHIBIT-WARNINGS
      Moved some stuff out of here and into ir1final.
      Changed to call the new ir1-finalize function.
      Added new IR1-FINALIZE function that combines a bunch of stuff previously
      Changed to call IR1-FINALIZE instead of CHECK-FREE-FUNCTION and
      Changed compiler-version to 1.0, and made it a defvar so that core building can
      Changed backend version to 1.0.
      Support for new minimal debug info format to reduce space use.
      Tweaked DEFUN to work better on functions defined in a non-null environment.
      Changed stuff to note functions defined even when they aren't currently in
      Tweaked %DEFUN translator some more.  If the function is :NOTINLINE, then
      Made the output stream for a process buffer be full buffered rather than line
      Made REDISPLAY-WINDOWS-FROM-MARK punt if there is any input.  This allows the
      Changed TTY listen to try calling SERVE-EVENT before returning NIL.  This
      Moved defknowns and exports to vm-fndb.  Symbols are now exported from
      Moved debug defknowns and exports here from mips/debug.  Symbols are now
      Removed export of CURRENT-FP from C, now that it is exported from KERNEL.
      This commit was generated by cvs2svn to compensate for changes in r2973,
      Added GET-TERMINAL-ATTRIBUTES to get the terminal size and speed from unix.
      Call GET-TERMINAL-ATTRIBUTES to get the terminal size and speed from the OS.
      Added SPEED slot to the TTY-DEVICE.
      Frobbed COMPUTE-TTY-CHANGES a bit.  We don't clear the flags and delta here,
      Export CODE-DEBUG-INFO from KERNEL.
      Changed REDISPLAY-LOOP to check for pending input before display of
      Changed standout mode start for the modeline to be inside the protected
      Some changes to make things work better in the face of display aborting
      Changed INPUT-METHOD-MACRO to loop calling redisplay until it returns NIL
      Changed smart and semi-dumb redisplay to always call smart-clear-to-eow when
      Fixed XEP finalization to not gag on string function names.
      This commit was generated by cvs2svn to compensate for changes in r2994,
      Fixed MARK-TO-CURSORPOS to call MAYBE-UPDATE-WINDOW-IMAGE in case the buffer
      Added call to EXPAND-PSEUDO-INSTRUCTIONS now that this has been spilt
      Disabled hack, since it was losing for some reason.
      Moved tail annotation back here from ir1final, since it must be done after
      Moved tail annotation from here back to envanal, since it can't be done yet.
      Added *in-redisplay* flag which inhibits recursive invocations of redisplay
      Added a switch the disable the complementing optimization of type checks
      Fixed CHECK-KEYWORDS not to print "zeroth".
      Spiffed up FAILED-TO-PACK-LOAD-TN-ERROR to print out how each possible location
      Fixed my fix to spilling for multi-location load TNs.
      Added DELETE-COMPONENT and fixed DELETE-REF to do the right thing for
      When deleting blocks in FIND-DFO, set DELETE-P first.
      Removed deleting of never-used functions from here, since this is too
      Added a new assertion in DELETE-COMPONENT.
      Added support the the ANSI *COMPILE-VERBOSE*, *COMPILE-PRINT*,
      Added new COMPILE-FILE keywords.
      Added :VERBOSE, :PRINT and :PROGRESS keywords to COMPILE-FILE and
      Fixed up %DEFUN translator to do block compilation.
      Added support for the minimal debug function format.
      Added block compilation declarations.
      Added use of the SMALL feature to cause compilation with debug-info 1.
      Fixed scope error in DEBUG-INFO-FOR-COMPONENT.
      Ooops... Removed some debugging code.
      Fixed STRUCTURE-USAGE to work with the new structure format.  Frobbed package
      Added a call to eval:flush-interpreted-function-cache before the call to purify
      Added FLUSH-INTERPRETED-FUNCTION-CACHE so that we can prevent interpreted stuff
      Added derive-type methods in the defknowns for the sap setters.
      Changed %DEFKNOWN not to ignore the derive-type methods.  Added some
      Changed NOTE-REJECTED-TEMPLATES to print out somewhat more info in the case
      Fixed FAILED-TO-PACK-LOAD-TN-ERROR to know about conflicts with component
      Compile the backend with safety 0 and debug-info 1, conditional on the SMALL
      Made the proxy form for a compile time read error be a CERROR rather than an
      Really made the back end be compiled unsafe when the SMALL feature is present.
      Added PRINT-ALLOCATED-OBJECTS, for groveling around in memory  to check VM
      Tweaked STRANGE-TEMPLATE-FAILURE to extract the names from the argument
      Fixed FIND-MOVE-FUNCTIONS to allow unbounded SCs to appear in the SC
      Uncommented out the float array VOPs, and converted for them for the RT.
      Changed OUTPUT-RANDOM to print the name of code objects and the value of value
      Initial revision
      Generalized CODE-PACKAGE-BREAKDOWN to also do breakdowns by file, and changed
      Added PRIMITIVE-TYPE-VOP for CHECK-FIXNUM so that this template actually gets
      Fixed some broken computations of the address of stack locals.  Have to add in
      Added support for the OPTIMIZE-INTERFACE declaration and context-sensitive
      Added support for the LEXENV-INTERFACE-COOKIE and added
      Use the interface cookie when converting an XEP.
      Treat the interface cookie pretty much the same as the ordinary one.
      Added support for the interface cookie.
      Added support for the OPTIMIZE-INTERFACE declaration.
      Fixed WITH-COMPILATION-UNIT keyword to be :OVERRIDE instead of :FORCE.
      Changed WITH-COMPILER-LOG-FILE to pass through any keyword arguments to
      Changed to always compile external interfaces and external macros safe, but to
      Changed to use context-dependent safety, and to compile various guts unsafe
      Fixed up the logic in SUB-GC somewhat so that it will always reset the GC
      This commit was generated by cvs2svn to compensate for changes in r3150,
      Added "Slave GC Alarm" variable (default :MESSAGE) which controls how obnoxious
      If the SMALL feature is present, clear the BACKEND-PARSED-VOPS.  This prevents
      Fixed last change.
      Added a (OPTIMIZE (SAFETY 1)) in LEAF-VALUE so that we get unbound errors in
      This commit was generated by cvs2svn to compensate for changes in r3170,
      Reduced INITIAL-WORD-TABLE-SIZE from 10 to 2.  The average utilization of this
      Added Recursive and Explicit-Check attributes, which control compilation of the
      Made the guts of EVAL safe.
      Added some declarations to the dummy xxx-carefully functions for safety.
      Made the synonym stream methods safe so that we will get unbound errors even in
      Added many uses of the explicit-check and recursive attributes.  Also,
      Made internal setf inverses safe, and fixed some WCU syntax.
      Added context sensitive declaration stuff and more SMALL conditionalization.
      Added context sensitive declarations and SMALL conditionalization.
      Added a CONTINUE restart in LOAD that returns NIL.
      Changed DEFUN to apply declared types to definitions of functions as long as
      Don't print warnings about recursive calls to known functions with the
      Deleted some broken vestigial syntax.
      Fixed a context declaration to be a keyword.
      Changed PRINT-ALLOCATED-OBJECTS to be able to print conditional on
      Made SYMBOL-FUNCTION and SYMBOL-VALUE safe.  Changed GENSYM to use
      Fixed negated sense of explicit-check test in %DEFUN translator.
      Changed DO-COERCE-EFFICENCY-NOTE not to use GET-OPERAND-INFO, as that makes it
      In last fix, print position one-based, not zero-based.
      Ripped out support for CHECK-FUNCTION-OR-SYMBOL, since the definition was wrong
      Changed ONCE-ONLY to use LET* instead of LET, cause I was tired of not being
      Rewrote ONCE-ONLY to be less twisted so that I could make it sequential.
      Changed the WITH-xxx-STRINGs macros to use simply WITH-ARRAY-DATA, now that it
      Reimplemented WITH-ARRAY-DATA to pick off the simple case and call
      Replaced FIND-DATA-VECTOR with %WITH-ARRAY-DATA, which does bounds checking,
      Added derive-type method for %WITH-ARRAY-DATA
      Converted over nearly all of the old derive-type methods to corresponding new
      Generalized RESULT-TYPE-SPECIFIER-FIRST-ARG to be a functional that results a
      Changed read-from-string and parse-integer to use with-array-data so
      Made SEQ be compiled safe because I don't feel like putting in all that
      Use debug-info 1 with SMALL feature.
      Added NO-COMPILER, just for grins.
      Added missing close paren.
      Changed to repeatedly exec rlog instead of just calling once, as it seems to
      Fixed broken syntax.
      Fixed lifetime bug in binops, and fixed comparison.
      Fixed accessing of mc68881 control registers.
      In double-float-{high,low}-bits, we need to do a double store, not a single
      Changed to ignore SET and TYPE-CHECK-ERROR (in addition to MOVE) when selecting
      Made ONCE-ONLY differently twisted so that it still implements LET* semantics,
      Added profile.lisp to the compilation.
      Added profile to the load.
      Add room to the compilation.
      Load room.lisp
      Spiffed up formatting in SPACE-USAGE and STRUCTURE-USAGE so that ROOM
      Made ROOM be much more verbose, calling MEMORY-USAGE and STRUCTURE-USAGE in
      Changed the "Room" command to let WITH-RANDOM-TYPEOUT figure out the number of
      Moved load of room to after compiler, and made it conditional on the
      Checked in new version which computes the time overhead on first call
      Changed block compilation stuff to ignore block declarations if
      Changed TAIL-CALL and various local call VOPs to allow fixed args
      Saved out the buffer this time...
      Fixed MAYBE-LOAD-STACK-TN to accept word-pointer and non-descriptor regs.
      Weakened an assertion in STACK-SIMULATION-WALK, and explained it in the
      Changed macroexpand to expand symbol macros.
      Added (SETF BIT) and (SETF SBIT).  Renamed %APPLY-ASET to (SETF AREF).  Flushed
      Initial revision
      Added compile of setf-funs.
      Added load of setf-funs.  Flushed some old commented-out stuff.
      Suppress generation of some silly (and broken) setters: (SETF LDB), etc.
      Changed DEFSETF and DEFINE-SETF-METHOD to call a common subfunction,
      Changed VALID-FUNCTION-USE to say "exactly" when there is an arg count error
      Frobbed SETF a bit more.  We still always call GET-SETF-METHOD to let it do its
      Initial revision
      Added argument type restriction on move-to-word/fixnum so that we don't use it
      Fixed CONVERT-MORE-ENTRY to use the interface policy when determining whether
      Fixed up concatenate, map and make-sequence-of-type to handle DEFTYPE'ed types
      This commit was generated by cvs2svn to compensate for changes in r3288,
      .../systems-work/clx/input.lisp, 25-May-90 15:08:42, Edit by Chiles.
      Changed unrenamed TTY-INSPECT from INSPECT.
      Added inspect to the compile (conditional on CLX).
      Added inspect to the load order.
      Added a dummy definition of INSPECT for when we have no CLX.
      Change ENTRY-INFO to allow function type and args to be omitted.
      If debug-info is < 1, then don't dump debug-args or function type.
      Inhibit continuation substitution when the let and ref have different policies,
      Convert aux bindings with the interface policy, mainly so that proper type
      Fixed the local call VOPs to do the MAYBE-LOAD-STACK-TN for tne new FP last so
      Really fixed output type stuff this time.  Now in the fall-through clauses, we
      Fixed the bug in local call (which showed up on the RT) where the CFP was being
      Fixed the bug in local call where the CFP was being trashed before the stack
      Added WARNING-FUNCTION option to ASSERT-DEFINITION-TYPE, and use it to flame
      Changed %DEFUN to pass a warning-function to ASSERT-DEFINITION-TYPE, which
      Fixed set-recentering-for-typescript-windows to work on non-typescript buffers.
      This commit was generated by cvs2svn to compensate for changes in r3310,
      .../systems-work/clx/dependent.lisp, 24-May-90 16:00:24, Edit by Chiles.
      This commit was generated by cvs2svn to compensate for changes in r3312,
      Added CMU code to determine implementation endianness.  Somewhat surprisingly,
      Merged with systems-work sources.  The only change was to make
      Added :EOF support in listen method, and fixed a few comments.
      Added notes for sap moves, fixed file header package.
      Changed to work now that the display-input-stream is really a stream.
      Changed FD-STREAM-READ-N-BYTES to block in unix-read rather than select so that
      This commit was generated by cvs2svn to compensate for changes in r3322,
      Flushed old CMU internal buffer slots, and made the in/out streams
      This commit was generated by cvs2svn to compensate for changes in r3324,
      Changed stuff to use fd-streams instead of weird kludges for i/o.  Added a
      Declared the stream slots to be functions so that we don't have to mess around
      Made bits, bytes, etc., be defined in the null environment so that they can be
      Added many declarations indicated by efficiency notes.
      In check-approximate-fixed-and-rest, say "second" instead of "two".
      Added declarations & used block compilation to reduce the amount of number
      Fixed "Track Buffer Point" to use (current-window) instead of the unknown
      Fixed CONNECT-TO-INET-SOCKET to check that we successfully looked up the name
      Changed to deal with debug arguments being unspecified.
      Circularly link the echo hunk in its own next/prev chain.
      Changed SERVE-EVENT to not try to serve X events when the FD is in the FD
      Fixed a problem I introduced in WAIT-FOR-EVENT where if the timeout wasn't an
      In %unary-truncate, kill some more time before doing the fcvt to ensure that
      Tweaked serve-event some more.  Handling of queued X events in not inhibited by
      Fixed another use of display-input-stream to call fd-stream-fd.
      Changed describe-function-compiled to work when the debug args are NIL
      When doing the labels hack in converting global inlines, respect :NOTINLINE
      Added support for the CONSTANT-FUNCTION declaration.
      Changed structure predicate transform to inhibit inline expansion of the
      Fixed COMPUTE-1-DEBUG-FUNCTION to work correctly with DEBUG-INFO levels between
      Oops...  In global inline expansion, we have to substitute for all references
      Added :PACKAGE constext declaration.
      Added :TIMEOUT argument to MAKE-FD-STREAM.  The SYSTEM:IO-TIMEOUT condition is
      Changed the debug-info level for internal functions to be .5, which now
      Changed small debug-info to .5 to suppress debug args and types.
      Changed internal debug info to .5 to suppress debug arglists.
      Changed internal debug-info to .5
      Made internal debug-info .5, and made external interfaces fully safe.
      Changed MAKE-ARRAY and ADJUST-ARRAY not to assign their arguments so that type
      Changed STRING-xxxCASE to not assign arguments.
      Deleted spurious CHECK-TYPE in RENAME-PACKAGE.
      Changed readtable hackery functions to not assign their arguments.
      Changed exported funs not to assign their arguments.
      Changed PROCESS-OPTIMIZE-DECLARATION to recognize the correct DEBUG quality, as
      Added optional NOTINLINE-OK argument to CONTINUATION-FUNCTION-NAME.
      Changed function continuation annotation to allow NOTINLINE references to be
      Tweaked stuff to work now that notinline function references can be delayed.
      Fixed argument order to BOOLE.
      Fixed MAKE-ARRAY :INITIAL-CONTENTS to be a sequence, rather than only a list.
      Tweaked PRINT-HERALD to print the backend version, and to say to send mail to
      Changed to use target/VERSION instead of the date if it exists, and to only
      Changed version hackery.  Now we only prompt for the
      Raised the *hemlock-version* to 3.5 (.1 greater than the last old RT core.)
      Fixed typo in error message.
      In NOTE-FUNCTION-USE, make allowp be T-or-NIL, instead of a random
      Bind *block-compile* to NIL in COMPILE.
      Fixed a problem in EMIT-ARG-MOVES.  If we do a coercion + move-arg, then the
      Fixed FORMAT-PRINT-NUMBER to correctly insert commas for negative numbers
      Added :call-site and :single-value-return code location kinds.
      Added :call-site and :single-value-return code locations.
      Fixed COMPILE-FILE doc string to say that the :ERROR-FILE default is NIL.
      In system-setters combined the BASE and TEMP temporaries to keep the poor
      Don't allow targeting into reserved locations.  Possibly a pessimization, but
      Added note about needing (load (open ...)).
      Fixed get-setf-method to only inhibit for local functions, not local macros
      Deleted some bootstrapping setf hacks.
      Deleted setf bootstrap hack.
      Deleted some setf bootstrapping hacks.
      Undid last change, and radically changed how load-TN packing recovers when
      Merged Simon Leinen's fix to OUTPUT-SYMBOL.  This amounted to deleting an
      Added sun4 conditional to not use the FxTOIR instruction.  Instead there is a
      Made sigcontext-pc a synonym for sigcontext-iar.
      Added rt-arpa-fasl-file-implementation.
      Set up the backend differently, conditional on the AFPA feature.
      Added assignment to *target-float-hardware*.
      Removed initial value for *target-float-hardware*.
      Moved WITH-FP-TEMP here.
      Moved WITH-FP-TEMP to macros.lisp so that the AFPA stuff can use it too.
      Added AFPA support.
      Initial revision
      Added conditionalization for RT AFPA support.
      Added load-time frobbing of the AFPA feature.
      Changed LOCAL-CALL-ANALYZE to call DELETE-FUNCTIONAL when it comes across a
      Fixed some bugs with multi-location load-tn packing.
      Merged Mile's fix to remove-duplicates :from-end.
      Merged Simon Leinen's fix to generic-function-type-from-lambda-list which makes
      Changed EVAL to use the recorded CONSTANT-VALUE when evaluating constants so
      Added SHARP-P.  Fixed all recursive READ calls to specify eof-error-p T.
      Changed pathname printer to use #P.
      Merged Simon's fix to local-call-analyze-1 to make it work on maybe-inline
      Make all random atoms self-eval.
      Added check-pack-consistency, which checks that SC restrictions have really
      Added code to compile the argument to TIME when possible, and print a warning
      Added call to CHECK-PACK-CONSISTENCY, updated call to DUMP-SEGMENT.
      Added call to SEGMENT-CHECK-REGISTERS, conditional on *assembly-check.*
      In allocate-full-call-frame, don't save the result on the stack if
      First cut at semantic annotation.  Mainly lifetime info at this point.
      Swapped compare less and greater because that seems to be how things
      Conditionalized some float array hackery on AFPA.
      Added compilation of assem-check and RT conditionalization of the float file to
      Added load of assem-check.
      Fixed the fix for maybe-inline to really be a fix.
      In FIND-REFERENCE-FUNCTIONS, don't return :DELETED functions.  This was causing
      In GET-LAMBDA-ENVIRONMENT, clean out any deleted variables that where optimized
      Fixed a bad declaration in COALESCE-MORE-LTN-NUMBERS.  The TN-REFs list can be
      Removed redundant $header.
      Moved PATH search list initialization to save, since that's where it's called.
      Site and OS portability improvements in environment query functions.  We now
      Added support for the CMUCLLIB/library: search list.  Added load of
      If CMUCLLIB is not defined, use /usr/misc/.cmucl/lib/.
      Use get-page-size instead of vm_statistics.  Moved foreign-segment-XXX
      Use GET-PAGE-SIZE instead of vm-statistics.
      Changed to use search-lists instead of absolute pathnames for finding the
      Merged Axmark's changes to make TIME find the time&consing overheads of the
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r3678,
      If the terminal rows/columns are 0, then return NIL (meaning value unknown.)
      Added compile of mach-os or sunos-os, #+ conditionalized.
      Added mach-os and sunos-os, #+conditionalized.
      Fixed FORMAT transform to warn if there are to many or too few args.
      Fixed ENSURE-BLOCK-START to set up the new block's start-uses.
      Make user-homedir-pathname just return home:.
      Changed ENVIRONMENT-INIT to initialize "home:".
      Fixed VALUES declaration to work correctly when zero values are specified.
      Use EXTENSIONS package.
      Made CAREFULLY-ADD-FONT-PATHS expand search lists.
      Replaced absolute pathnames with library: pathnames.  Changed termcap-file from
      This commit was generated by cvs2svn to compensate for changes in r3696,
      Find dictionary file with library:.
      This commit was generated by cvs2svn to compensate for changes in r3700,
      Removed directory from "Slave Utility Pathname".  Hopefully we will find lisp
      Removed /usr/cs and /usr/misc directories from default paths.  We should be
      Fixed EXPT to handle double-float x ratio combination.
      When deleting unreferenced closure vars in GET-LAMBDA-ENVIRONMENT, watch out
      Added code to clear LAMBDA-VAR-INDIRECT (to handle the case where sets to a
      Fix to make unreferenced arguments in local call work.  We were correctly
      Updated description of the REDISPLAY return value.
      Added description of terminal initialization (size and speed.)
      Fixed UNPACK-FOR-LOAD-TN not to unpack *totally* random TNs (like restricted
      Fixed load-tn-offset-conflicts-in-sb to return the load TN if that is
      Deleted BOGUS temps.  Changed SAP-SYSTEM-SET to be special-cased, because
      Moved static and dynamic spaces to correspond to changes in ldb (for Mach 3).
      Fixed bug in FIND-REFERENCE-FUNCTIONS introduced by the last change.  Ignoring
      Oops...  I really meant to use NARGS, not NL0.
      Changed ordering of CHAR-NAME-ALIST to prefer NEWLINE, ESCAPE and DELETE to
      Added :KEY argument to REDUCE.
      This commit was generated by cvs2svn to compensate for changes in r3762,
      Fixed not to print echo area messages "Error in NIL ..."
      This commit was generated by cvs2svn to compensate for changes in r3764,
      Changed to count notes and display in completion message.
      Added "Typescript Slave Status".
      This commit was generated by cvs2svn to compensate for changes in r3767,
      Added TYPESCRIPT-SLAVE-STATUS & status interrupt handler.
      Documented "Typescript Slave Status".
      Changed (fixed?) argument/result parsing to default lifetimes, SCs and targets
      In save-dynamic-state, init the NPF result even if there isn't any NFP.  Might
      Use CODE-TN instead of allocating a temporary in CODE, which is rather random,
      Fixed MFMQSCR annotation to write its operand rather than reading it.
      Fixed SAP-SYSTEM-SET some more.
      Increase the size of the environment that we allocate.
      Added preference to move-argument VOPs.  In addition to being pessimal, it was
      This commit was generated by cvs2svn to compensate for changes in r3780,
      Fixed sentence-offset-forward to work at the end of the buffer.
      Added REDUCE :KEY.
      Put back EXPORT call that seems to have been dropped in the last edit.
      Added doc strings for DEFTRANSFORMs.
      Changed IR1 transforms to be represented by TRANSFORM structures rather than an
      Changed IR1 transform stuff to use TRANSFORM structures instead of conses so
      Changed NOTE-FAILED-OPTIMIZATION to print the transform note explaining what
      Added support for DEFTRANSFORM doc strings.
      Fixed COMPUTE-OLD-NFP and ALLOCATE-FRAME to not store the NFP result if it
      Initial revision
      Initial revision
      Initial revision
      Changed hemlock init file loading to accept .hemlock-init as well as
      Added note about imported packages (CLX, etc.)
      Added hardware requirements section and note about the function type cleanup.
      Added marker for the place that the 14c beta release was done.
      Initial revision
      Added notes for 15a, and deleted old installation info in the 14c notes.
      Initial revision
      Fixed distribution size note, and softened the sentence about memory
      This commit was generated by cvs2svn to compensate for changes in r3835,
      Added a missing ~ in the echo area message.  Oops...
      Added mention of the .hemlock-init name for the hemlock init file.
      Deleted spurious blank line.
      Fixed FTP instructions to say username at host rather than "real user ID".
      Changed section beading.
      This commit was generated by cvs2svn to compensate for changes in r3841,
      *** empty log message ***
      Initial revision
      Merged with latest PCL version.
      Initial revision
      Added changes for 15b.
      Fixed TAGBODY not to consider NIL to be a tag.
      Added octet INET addresses to the names of the gateway machines.
      PRINT-BIGNUM tables need to be 37 long, since bases go up to 36.
      Added :UNIX to the features list.
      Make USER used the PCL package.
      Changed flash-window and flash-border to do a display-finish-output in the
      Added note about FILES and source distributions.
      Added a template for Hemlock source file directory translation, and improved
      Added code-component-p, lra-p and a dummy scavenger-hook-p.
      Changed font specs to use point size instead of pixel size so that they work on
      Tweaked assert-definition-type error messages not to always assume that the
      Changed FTYPE declaration handling to be able to deal with a FUNCTIONAL in
      Deleted spurious line at EOF due to non-newline termination in merge.
      Added ignorable declarations on some spurious variable bindings.
      Fixed newline merge lossage.
      Fixed newline eof merge lossage.
      Shadow SYMBOL-MACROLET, and don't export it at CMU.
      Put renaming of setf functions under CMU conditional.
      Un-commented-out an unused function, to be like the distribution.
      Deleted #. in export to be like the distribution.
      Fixed CMU parameterization of *pcl-directory* to be more consistent with
      Fixed load-truename tweak.
      Fixed DOUBLE-FLOAT-LOW-BITS to be different from DOUBLE-FLOAT-HIGH-BITS when
      Fixed TYPEP SATISFIES to always return T-or-NIL, regardless of what the
      Fixed EXPT to deal with SINGLE-FLOAT x SINGLE-FLOAT arg type combination.
      Updated for 15b and mentioned source distributions.
      Merged Lange's enhancement to NTH-VALUE; it now doesn't cons for non-constant N
      Merged Lange's declarations for nthcdr/butlast/nbutlast.
      Add ALLOWP and KEYP to OPTIONAL-DISPATCH printer.
      Fixed IR1-CONVERT-HAIRY args to correctly handle &key with no keys specified.
      Added INLINE MEMBER declarations in the set functions.
      Suppress argument assignment warning if the function type doesn't give us any
      Added  :LOWTAG option to TEST-SIMPLE-TYPE.
      Changed TEST-TYPE to handle tests for function header subtypes (i.e.
      Updated to understand function header subtypes.
      Added EXPLICIT-CHECK attributes to FDEFINITION frobbers.
      Added CHECKING-SYMBOL-FUNCTION to cause undefined errors to be signalled when
      Deleted FUNCALLABLE-INSTANCE-P transform (now a VOP.)  Added some SXHASH
      Fixed REVERSE-FIND-VOP to correctly handle searches in overflow blocks.
      Changed to use :EVAL-NAME and closures instead of macros for the string
      Instead of saying Allegro, say "commercial implementations."
      Added generalized source context parsing with EXT:DEF-SOURCE-CONTEXT.  Added a
      Added optimize (safety 1) to make sure that some sort of syntax checking is
      Declared the argument types to concat-names so that they will be type-checked.
      Added type check on conc-name option.
      CLX R5 changes.
      Added :SCS (DESCRIPTOR-REG) to the more operand of full-call VOPs
      Added :SCS (DESCRIPTOR-REG) to the more operand of full-call VOPs
      Changed FTYPE proclaim to ignore slot accessors, instead of undefining
      Use ASSERT-DEFINITION-TYPE in local FTYPE declarations.
      Improved representation selection by not toally ignoring references
      If environment analysis trashes the DFO (i.e. by inserting cleanup code)
      Added loop rotation optimization.
      Added new package file, and made XLIB package renaming conditional
      Inhibit loop rotation in functions with NLX targets, since it gets
      Fix PCL DEFMETHOD source context.
      Fixed sub-check-in-file to specify "-u" as a list.
      Added NIL-FUNCTION-RETURNED-ERROR for flaming about functions that returned,
      Move any extra links from the initial component tail to the new component
      Defer walking blocks whose successor is the component tail, so that
      Link NLX points to the component tail, instead of leaving them with
      Link tail full calls to the component tail, instead of leaving
      Fixed comment.
      Mostly rewrote FINISH-IR2-BLOCK.  We now recognize blocks that don't
      Added MAYBE-TERMINATE-BLOCK, which looks at a combination node to see
      When converting an OK combination, call MAYBE-TERMINATE-BLOCK (unless
      Inhibit loop rotation when the loop head is also the head of the current
      Changed the move to/from base-char VOPs to hack descriptor-reg operands.
      Tweaked BAD-COSTS-ERROR not to totally die when it is called on a more operand.
      Changed the :EVAL-NAME option to DEFTRANSFORM to also eval the argument and
      Quoted arg/result types in :EVAL-NAME DEFTRANSFORMs.
      Added a RANDOM derive-type method.
      Added derive-type methods for ASIN, ACOS, ACOSH, ATANH and SQRT which figure
      Use RESULT-TYPE-FLOAT-CONTAGION on irrational functions whose result is real
      Deleted MAYBE-MUMBLE'ing.
      Moved clearing of COMPONENT-REANALYZE in FIND-DFO from the end to the start
      Pass an explicit flag to MAYBE-TERMINATE-BLOCK indicating that we are in IR1
      Added DFO-AS-NEEDED, which iterates calling FIND-DFO as many times as is
      Set COMPONENT-REANALYZE when we delete a lambda.
      Frobbed DELETE-UNREFERENCED-TNS to correctly handle deletion of environment
      When optimizing combinations, don't do the "efficiency hack" of checking
      Changed FLUSH-DEST to *not* delete continuations that are
      Added check for random blocks having the component tail as a successor.
      Fixed CONVERT-MV-CALL to be like CONVERT-CALL in that it converts the call to
      Made MAYBE-TERMINATE-BLOCK more cautious about using continuation type
      Changed to use DESTRUCTING-BIND instead of WITH-KEYWORDS, so we get some error
      Initial revision
      Added disassem.lisp.
      Added load of disassem.
      Added Miles's disassembler annotations.
      Changed MERGE-TOP-LEVEL-LAMBDAS to work now that there are additional links
      In MAYBE-TERMINATE-BLOCK, don't try it if either the block is DELETE-P
      Fixed the VALUES IR1 transform (which discards unused values forms) to work
      Fixed DEFKNOWN for ATAN to allow two arguments again.
      Deleted some orphaned code.
      Deleted some confusing dead code.
      Generalized LABELS style indentation to reference the variable
      Fixed DELETE-UNREFERENCED-TNS to be less broken.
      Load disassem before assembler to set up packages.
      Added new alpha release notes.
      Changed BookmanDemi to SouvenirDemi.
      If we see a reference to a named constant that isn't a number or charcter,
      Fixed named constant dumping to allow direct references to interned symbols.
      Changed DATA-VECTOR-SET to make sure that the new value is checked to be of the
      Changed IGNORE and IGNORABLE to recognize #'fn-name.  Exported IGNORABLE from
      Compile compiler/debug with full safety and debug info.
      Changed to zero the table pointer at the end of each group so that we can
      Changed MEMBER transform to always return the correct tail of the list, instead
      Clear out NODE-DERIVED-TYPE in references to escape functions before substution
      In CONSTRAIN-REF-TYPE, clear out the old NODE-DERIVED-TYPE in the IF case to
      Made the documentation for CMUCL_EMPTYFILE clearer by saying how you can use
      Fixed indentation for FLET&c to check that we are actually in the first arg
      In DEFPRINTER, ignore the depth since it is no longer used.
      Added comment.
      If we undefine a structure type, unfreeze it also.
      Fixed function dumping to understand that it is now the TAIL-SET-INFO
      Changes to deal with :ASSIGNMENT lambdas.  We can directly drop through
      Changed debug dumping stuff to use the ANSI pprint interface.  Added
      Fixed MERGE-TOP-LEVEL-LAMBDAS to deal with missing return nodes.  It turns
      Delete all unreferenced functions after cleanup generation (including
      Fixed to deal with new TAIL-SET semantics.  All lambdas now have tail-sets,
      Give a warning in DERIVE-NODE-TYPE when we prove inconsistent types.  This
      In NODE-ENDS-BLOCK, set COMPONENT-REANALYZE, since we are introducing a
      Added conversion of :ASSIGNMENT lambdas.
      Majorly changed LET stuff to support assignments.  Added
      Updated for new TAIL-SET semantics.
      Added a call to DFO-AS-NEEDED immediately before control analysis so
      Updated source pointers for new tree organization.
      Restored code in MERGE-1-TL-LAMBDA which was inadvertently lost in the last
      Don't use RETURN-INFO-TYPE NIL to decide when not to assign a RETURN-INFO.  In
      *** empty log message ***
      Changed DEFINITION-TYPE to use the TAIL-SET-TYPE instead of the continuation
      Fix type.
      Moved code for determining whether named constants can be referenced directly
      Made undefined read macro errors be ignored when *read-suppress* is T.  Changed
      *** empty log message ***
      Qualify kernel:*current-level*.
      Fixed SET-FUNCTION-NAME to correctly set interpreted function names.
      Reenabled method-not-found hack.
      Substantially rearranged function describing to make it more consistent, and
      Inserted calls to %CLEANUP-POINT in the dynamic scop binding forms to ensure
      Added %CLEANUP-POINT.
      Added IR2-CONVERT method for %CLEANUP-POINT (which doesn't need to do
      Changed MAYBE-RCS-CHECK-CHECK-OUT-FILE and status line hackery to call
      Fixed COMPILE-FILE to explicitly allow T & NIL for the optional filenames, now
      As a temporary hack until we fix purify to know what structures are R/O, added
      Changed EQUAL and EQUALP to compare pathnames with PATHNAME=.  Deleted some
      Deleted walker::walk-template from implementation properties, since the package
      Fixed DRIBBLE to monitor *ERROR-OUTPUT* as well.
      Added FOLLOW-LINKS argument to DIRECTORY which inhibits the final call to
      Upped the safety and debug-info for pathname and filesys.
      This commit was generated by cvs2svn to compensate for changes in r4290,
      When we reallocate vectors to grow them, clear the old vector so that it won't
      Don't print "NIL documentation".
      Always put value cells, funcallable instances and weak pointers in static
      Flushed old mention of *used-documentation*.
      Do inconsistent derived type warning only when *CHECK-CONSISTENCY* is T.  It
      Changed DELETE-FILE to signal an error if the file doesn't exist.
      Added DISASSEM:SET-DISASSEM-PARAMS so that the file will compile again.
      Fixed comment about WORD-POINTER-REG SC.
      Fixed DUMP-DATA-BITS-MAYBE-BYTE-SWAPPING to not reference the source vector out
      When computing costs for references by MOVE VOPs, don't signal an error if a
      Changed WITH-PATHNAME to call PARSE-NAMESTRING on the result of FILE-NAME.
      In COMPILE-FILE use PATHNAME of the output stream rather than TRUENAME of the
      Fixed syntax in ED arg types.
      Added NO-OP definition of %CLEANUP-POINT.
      *** empty log message ***
      *** empty log message ***
      Fixed CODE-BREAKDOWN to format properly now that source-info-file is a string,
      Fixed REVERT-PATHNAME not to call FILE-WRITE-DATE on NIL if there it no
      Added dummy conditional for RT breakpoint inst so it will compile.
      Fixed unbind-to-here to work when there are > 1 bindings.  A branch needed to
      Changed the BSP to not be included in the dynamic state, to be consistent with
      Tweaked formatting in code-breakdown.
      Added check that the CLX event handler returns true (i.e. did something.)
      Made sigcontext-floating-point-modes always return 0 (instead of getting
      Fixed OUTPUT-VECTOR to not consider *PRINT-ARRAY* in string printing.
      This commit was generated by cvs2svn to compensate for changes in r4319,
      Initial revision
      When we have a :SAFE VOP, flush result type checks when the result has only a
      Fixed result type assertion on the :SAFE (tagged add) VOPs.  The result type
      This commit was generated by cvs2svn to compensate for changes in r4327,
      In parse-debug-blocks, fix typecase to look for I-D-FUNCTION, not BLOCK.
      When computing interpreted debug blocks, ignore successors to the component
      Fixed internal documentation pointers.
      Added notes for float move/coerce VOPs.
      Added notes for SAP coercion VOPs.  Fixed cost for MOVE-FROM-SAP.
      Added notes for character move/coerce VOPs.
      Updated the integer move/coerce VOPs to correspond to the MIPS version.
      Don't prefetch symbol in the unbind-to-here loop delay slot, since on the RT,
      :node -> :note.
      Added code to load CLX if it has not been loaded yet.
      Changed FEATUREP to barf if it is passed a list form with a strange CAR.
      Fixed error context stuff to know that the source-info-name for a file is now
      Moved INFINITE-ERROR-PROTECT to interr.  Made all the ERROR functions use this
      Moved INFINITE-ERROR-PROTECT here from error.lisp, and made INTERNAL-ERROR use
      Deleted call to ERROR-INIT.
      Moved interr before error.
      Fixed FIND-CALLER-NAME and FIND-INTERRUPTED-NAME to actually use the same
      Changed the 68881 load and store pseudos to include a mc68881-wait in the
      Deleted all uses of mc68881-wait, since they are now implicit in the load/store
      15c notes.
      Initial revision
      like, changes, man.
      Prefix Hemlock doc names with "hemlock-".
      Updated for 15c release.  Added pointer to the README file for site
      Changed NCONC to signal an error if a non-null ATOM appears other than as the
      Removed no-longer-necessary mc68881-waits.  Added AFPA float vector refs.
      Fixed REQUIRE-ARGUMENTS to work on functions with no argcount info.
      Fixed integer comparison VOPs to be appropriately prioritized by cost.
      When seeing to replace a transform, check that it has the same note as well as
      Added some bogus float trap constants to make float-trap compile.
      Updated for 15d
      Updated for 15d.  Added more explanation of tmpfs lossage.  Changed source tree
      Changed COMMUTATIVE-ARG-SWAP to actually splice in the constant arg, so that
      Fixed (- x) to expand directly to (%negate x), rather than going by the
      Changed REQUIRED-ARGUMENTS to recognize closures and funcallable instances, and
      More changes
      Used a hack to keep the magic $header string from appearing in the script
      Fixed to work once again now that the fasl dumper is more anal about dumping
      More tweaking of arithmetic identities.   (* x 0) transform is also
      Added READTABLE-CASE.  Added a print-function for READTABLE.
      Added support for READTABLE-CASE in symbol printing.  Added some missing array
      Properly qualify kernel::*values-specifier-type-cache-vector* in BOUNDP check
      Put log file in target:.  Use target:clx/ instead of clx:.
      Compile tools/rcs.
      Process the command line before printing the herald so that we can eval some
      New super-whizzy compile-everything script.  Takes all kinds of command-line
      Fixed (typep x '(and ...)) to not always return NIL.
      Make SET-FUNCTION-NAME return the function, even when called on interpreted
      Added all the float limit constants to the exports.
      Added upgraded-{array-element,complex-part}-type.
      Changed LET* and &AUX to allow duplicate variable names.
      Added MAYBE-INLINE declaration for all functions where it makes sense.
      Fixed some SAP-consign in MAP-ALLOCATED-OBJECTS.  Eliminated some annoying
      Specify stream when printing unbound marker.
      Don't look at the LAMBDA-TAIL-SET of deleted functions to find out the result
      Export new variable *ignore-extra-close-parentheses* if true (the default),
      Changed all macros which ignore the numeric arg to warn if there is one.
      Changed to use %READER-ERROR.
      Added DECIMAL-STRING function for use in getting the string for float
      Changed FLONUM-TO-STRING to consider widths < 1 to be 1 to prevent infinite
      Print a error summary even when *compile-verbose* is false.  (This is only
      Call PURIFY multiple times & make multiple info environments.  Hopefully this
      Fixed a bug that caused an internal error when a never-referenced function
      Load GENESIS if it isn't already loaded.
      Added %PUTHASH.
      Added explicit context declaration patter to safely compile %PUTHASH and a few
      Fixed spelling of "efficency"
      Mucho changes.  We now accumulate statistics as floats in structures.
      PRINT-UNREADABLE-OBJECT returns NIL, not #\>
      Added IF-SOURCE-NEWER keyword.
      Added a doc string for LOAD.  Added ANSI features *LOAD-TRUENAME*,
      Changed load to deal with source files having NIL type more reasonably.  Added
      Print the package name instead of NIL when we can't find a package in symbol
      Changed *LOAD-VERBOSE* initial value to T.
      Flushed -x flag, and made print the features list.
      Removed warning about RCS tree reorganization w.r.t. the internal document,
      Use LOCALLY to frob the debug-info level for COMPUTE-TIME-OVERHEAD-AUX, since a
      In INTERNAL-LOAD, load the TRUENAME, not the pathname, since in the
      Initial revision
      ;;; 11/9/90:
      Added *GC-RUN-TIME* accounting.  Added some declarations, primarily for the
      Conditionalize the optimize declaration on DECLARE-UNSAFE.
      Fixed call to UNIX-UTIMES.
      Changed TIME to use *GC-RUN-TIME* to print the amount of time spent in GC.
      Changed unsafeness conditional to be DECLARE-UNSAFE to be consistent with other
      Initial revision
      Put back my !#$^% fix to PRINT-SUMMARY.
      Added an assertion that we don't join components with random kinds.
      Bind *PRINT-LINES* around compiler error output to *ERROR-PRINT-LINES*.
      When checking if the call we are about to convert is going to be deleted, look
      Added :DELETED component kind.
      Added :FROM option for date cutoff.  Made default output pathname default all
      Oops.  Fix spelling.
      Fix #- syntax.
      Really make sure compute-time-overhead-ax has function type info.
      *** empty log message ***
      Added description of cmu-user.info.
      *** empty log message ***
      Update for 15e.
      Moved release notes into the release notes.  Added mention of cmu-user.info in
      *** empty log message ***
      Weakened component kind type assertion in JOIN-COMPONENTS.
      Added some dimension type checking to array type parser.
      Allow storing of (* char) in c-strings so that we can initialize c-string
      Allow (* char) in the c-string lisp-rep as well.
      Added support in TYPE-OF for alien-value structures.
      Export SYSTEM-AREA-POINTER from ALIEN for consistency.
      Changed LOAD-FOREIGN to be exported from ALIEN.  Changed it have keyword args
      Added NULL-ALIEN and many doc-strings.
      Make stuff work when conc-names make a subtype slot accessor have the same name
      If dsd-accessor is NIL, don't define any accessor.
      Changed DSD-ACCESSOR comment.
      FREEZE-TYPE ALIEN-VALUE, and make a half-assed fix to ALIEN-SUBTYPEP of
      Declare the BACKQ-mumble's INLINE to avoid gratuitous pessimization.
      Fixed PARSE-1-DSD to correctly recognize conc-name accessor duplication when
      Avoid repeated calls to MOD when searching down a collision chain in
      Changed WITH-SYMBOL package hashtable lookup to not repeated call REM when
      Fixed %SP-STRING-SEARCH to actually work, and to have some reasonable
      In PARSE-1-DSD, don't blow away the accessor when we are just redefining the
      In TIME, fixed display of consing and page faults in the case where no GC time
      Put random state in the file so that it really is deterministic.  Supply legal
      Added (in-package "USER")
      Added optimization which deletes MV-BINDS when all variables have been deleted.
      Apply global function type declarations to calls and definitions of global
      Fixed RETURN-VALUE-EFFICENCY-NOTE not to flame out when some functions in the
      Changed SUBSTITUTE-SINGLE-USE-CONTINUATION to not substitute if the
      BARF is not return type NIL, since it calls CERROR.
      Deleted unnecessary special-casing of LET calls and bind nodes in DELETE-BLOCK.
      Added UNCONVERT-TAIL-CALLS step in LET conversion which marks calls as no
      Removed debugging code and fixed some misleading comments.
      Added a source transform for FUNCALL with directly converts to %FUNCALL when
      Don't substitute out LET variables when the initial value is a reference to a
      Added an assertion that we don't try to local call convert when the caller and
      Backed out of the last change and tried another cut.  We maintain the
      Fixed SOURCE-TRANSFORM-STRUCTURE-TYPEP to return T-or-NIL in the frozen
      Changed assertion to use MAIN-ENTRY instead of writing it out.
      Like, more words.
      Inline expand %MAKE-ALIEN and FREE-ALIEN to avoid spurious Alien-value consing.
      Initial revision
      Updated user manual documentation pointers.
      Fixed to actually allow tracing anonymous function objects.  Changed to allow
      Fixed FRAME-CATCHES to work again now that frame pointers are SAPs.
      Removed compilation of clx-ext and inspect.  These are now compiled by clxcom.
      Smash together all the fasls into clx-library.fasl.  Compile and load inspect
      This commit was generated by cvs2svn to compensate for changes in r5120,
      Blew away defvar inits forms for variables also assigned in re-init-key-events.
      Compile and load key-event and keysym-defs from hemlock, since the X inspector
      Moved package initialization here from loadhem.
      Removed compilation of key-event stuff, as that is now part of CLX (there is
      Load CLX and Hemlock from the combined -library files.
      Set up the Hemlock version in the defvar init, and call %INIT-HEMLOCK at EOF
      Oops... Fixed some pathname hackery in the fasl smashing.
      Fixed some pathname hackery in the fasl smashing.
      Added missing ".
      Fixed version hackery.
      When smashing fasls, supersede the old version.
      Supersede old version of smashed fasls.
      Put hemlock hacks in #+hemlock.
      Add a HEMLOCK feature when we load Hemlock.
      Put charmacs in CLX since key-event uses it.
      Compile key-event and keysym-defs :load t.
      Moved NUMBER-STACK-DISPLACEMENT here from call, since it is used more than one
      Moved number-stack-displacement to parms, since it is used elsewhere.
      Don't stick the lisp-implementation version on the compiler version.
      Defined new parameterized PRINT-HERALD, exported *HERALD-ITEMS*.
      Set up herald to display the version.
      Set up herald to display the version.  Don't put lisp version in
      Put version in the herald.
      Made function-end breakpoints for known-return functions signal an error, since
      Fixed ACTIVATE-BREAKPOINT to build the breakpoints list in forward order to
      Uh, more changes.  CPI estimate, whatever.
      Substantially rewritten.  TRACE has a new syntax.  It now subsumes the old
      Initial revision
      Changed cmu-user back to a PS file, since some people don't understand DVI.
      Initial revision
      A node line was missing in the debug-internals chapter, causing most of
      Change herald to suggest reporting to local maintainer.
      Updated for 16d, including description of the configuration process for
      Started new file, with old releases pushed to the omega notes
      Note that the hardcopy documentation is out of date.
      Initial revision
      Delete mention of XP.
      Fix release date...
      Updated pathnames to be relative to library:, deleted support, mentioned
      Encode pairs with shifting, not multiplication.
      Efficiency tweaked gelm.  Fixed variablep not to choke on ||.
      Deleted calls to load, because we're smashing together the fasl files.
      Initial revision
      Merged Mile's fix to MAKE-PATHNAME so that it knows the difference between
      This is March-92-PCL-2a.
      Fixed an occasional NIL not CONTINUATION error in DELETE-CONTINUATION when the
      In UNCONVERT-TAIL-CALLS, don't unconvert the tail calls for the assignment we
      Changed assertion in FUNCTION-CONTINUATION-TN to be more like *I* would have
      Updated comment for IR2-CONTINUATION-PRIMITIVE-TYPE.
      In FUNCTION-CONTINUATION-TN, always annotate with the derived type (function),
      Add :SETF to the features list for new PCL.
      Changed not to barf if a block has no predecessors.  This really shouldn't
      Added setting of COMPONENT-REANALYZE all places where we do UNLINK-BLOCKS and
      Note the environment start location as :non-local-entry.  This is maybe kind of
      Don't destructively modify the breakpoint list in SUB-ACTIVATE-BREAKPOINT so
      Have to specify :save-p...
      Fixed dispatch macro characters to be case-insensitive, and to disallow digits
      Moved tail-set merging here from IR1-OPTIMIZE-RETURN, since it wasn't being
      Moved tail-set merging out of IR1-OPTIMIZE-RETURN into LTN.  Changed
      Added a -interactive switch which sets *interactive* to true when compiling.
      Fixed RANDOM derive-type method when the class is NIL, or is FLOAT and FORMAT
      Changed CONVERT-CALL-IF-POSSIBLE to not attempt to convert when the call is in
      Rename the slot-accessor-name package too...
      Update for new TR number, use cmu-titlepage style.
      Don't override \maketitle, since we seem to have gotten the cmu-titlepage
      Merged Olssons fix to WITH-ENABLED-INTERRUPTS now that it doesn't change
      Exported variables *use-block-starts-only* and *print-code-location-kind*
      Changed to use PRINT-FRAME-CALL instead of the internal PRINT-CALL-FRAME-1.
      Changed #a reader to allow arbitrary sequences instead of just lists.
      Changed BREAK to accept a condition as well as a format string.
      Change $* to $@
      Fixed IR2-CONVERT-ENTRY to correctly handle tagbodies with more than one tag
      More words, man.
      Added hfill as a latexinfo no-op.
      Added new debugger breakpoint commands and new trace documentation.
      Changed default base file name for load-foreign to be the name used to run
      Changed timeout handling to work for non-integer timeouts.  Moved
      Added new syscall* macro which signals an error instead of returing errno.
      Clarified that CMUCL_EMPTYFILE must be a file.
      We must do merge-tail-sets before potential let-conversion so that we will
      Added checking for potentially TR local calls with different tail sets.  Added
      Fix typo.
      Make the analogous change to CONVERT-MV-CALL.
      Make that "$@"
      In RECOGNIZE-KNOWN-CALL, reconvert the form if it has an inline expansion or
      Conditionalize deletion of unreferenced :optional entry points for the byte
      This is July 92 PCL
      If *byte-compiling*, only do compile-type type error checking.  No check
      Initial revision
      Added function definitions for some random functions like two-arg-char=.
      Byte compile if :MAYBE and SPACE or CSPEED is 3.
      Added support for :TYPE-PREDICATE load-time fixups in byte code.
      Added support for :TYPE-PREDICATE fixups in byte code.
      Add type checking support.
      Gag bound-but-not-referenced warnings when brevity = 3.
      Make the PCL package after we rename it so that early package hackery
      Fixed VPRINT command to actually be verbose.
      Don't try to reconvert calls to SETF functions with inline expansions
      *** empty log message ***
      Changed to use dolist/destructuring-bind, instead of LOOP destructuring, since
      Changed loop destructuring to destructuring-bind.
      Change from loop to destructuring-bind, use the real REAL type now that we have
      Added UNIX-FAST-GETRUSAGE which is inline, only returns the system and user
      Eliminate load of trace.lisp (the old tracer.)
      Update for 16e.
      Add 16e notes.
      Set *ENVIRONMENT-LIST* to NIL before we start to push things on it in
      Deleted compilation of trace.lisp
      This is CLX R5.01
      Fixed some lossage revealed by last change.
      Changed backq-list, etc., from being inline functions to compiler-macros, since
      Fixed a problem with conflict analysis of :more TNs (which are created
      Changed ASSEM to NEW-ASSEM in BOOTSTRAP conditional.
      Changed DOLIST not to introduce the spurious let around the result form when
      Changes to handling of inline expansion/inlinep information.
      Deleted REF-INLINEP initialization.
      Changed erroneous calls to be :ERROR kind, not :FULL
      Changed not to use :NOTINLINE as a way to mark calls we are counting on
      Fixed MAKE-INTERPRETED-FUNCTION to pass the arglist in so that it isn't
      Moved ASSUMED-TYPE recording here from IR1tran so that we have the best
      Added block compilation declarations.  Moved some stuff around to get
      Added block compilation declarations and moved stuff around for better
      Now local-call conversion is responsible for copying lambdas for
      Deleted binding of *FAILED-OPTIMIZATIONS* (now component-failed-optimizations
      Flushed *failed-optimizations*.
      Added ftype declarations for the profiled functions so that it works
      Deleted unused slots.
      Added missing type declarations
      Changed argument count determination to parse the function type and
      This commit was generated by cvs2svn to compensate for changes in r5497,
      Fixed doc string.
      Fixed WAIT-UNTIL-FD-USABLE to correctly borrow from the timeout seconds when
      Added VARIFY-LAMBDA-ARG and MAKE-NEW-INLINEP to their block's entry points.
      Fixed START-BLOCK, END-BLOCK and recognized declarations to be ignored in
      Make PROPAGATE-TO-REFS an entry point.
      delete-lambda => delete-functional, since only the latter is an interface
      Added interpreter stub for value-cell-ref (for load-time-value).
      Make propagate-from-sets an entry point.
      Changed a delete-lambda call to delete-functional, since it isn't inside the
      Changed compiler-macro-function to work w/o LEXENV-INLINEP slot.
      Catch LOCAL-CALL-LOSSAGE around the call to ir1-convert-lambda when inline
      Pass inline-ok argument to IR1-CONVERT-LAMBDA-FOR-DEFUN.
      Add functions to COMPONENT-REANALYZE-FUNCTIONS when we convert new local
      Analyze functions in COMPONENT-REANALYZE-FUNCTIONS as well as the
      Upped *inline-expansion-limit* to 50 and fixed format string.
      Call LOCAL-CALL-ANALYZE in IR1-PHASES if there are functions to be reanalyzed.
      Inhibit assignment conversion (as well as let conversion) in calls to named
      Changed MAYBE-REANALYZE-FUNCTION to always add to REANALYZE-FUNCTIONS (unless
      Allow descriptor-reg for the count result from more-arg-context.
      In IR1-OPTIMIZE-MV-COMBINATION, only call MAYBE-LET-CONVERT if we suceed in
      Only save inline expansion in output file when :INLINE...
      Don't compile load-time-value lambdas if they've already been compiled
      Merged William's change to load-time-value to not include make-value-cell
      Added a hack to compiling of type system code to prevent interpreted
      Added a hack to IF-IF optimization to hopefully prevent some spurious
      Really clobber %deftype.
      Fixed to look for defined-functions in *FREE-FUNCTIONS*.
      Fixed hash-table make-load-form to use the right keywords, and also
      Compiler inline changes, misc bug fixes
      Fixed inline-syntactic-closure-lambda to actually work with a non-null
      Clear out functional-entry-function in the top-level lambda before calling
      *** empty log message ***
      Fixed FIND-RESULT-TYPE to correctly handle assignment conversion.
      Enhance comment.
      Initial revision
      This is September 92 PCL.
      Prevent recursive opportunistic inline expansion during IR1 conversion by
      In FINALIZE-XEP-DEFINITION, if not the current global definition, just leave
      Exported various slot accessors of streams now part of the standard.  Made
      Export FILE-STREAM from LISP as a synonym for FD-STREAM.  Add :INTERACTIVE-P
      This commit was generated by cvs2svn to compensate for changes in r5648,
      Add :interactive-p misc method (always returns T).
      ext:floating-point-invalid => cl:floating-point-invalid-operation
      floating-point-invalid  =>  floating-point-invalid-operation
      Exported FLOATING-POINT-INEXACT from CL, and renamed & exported
      Added :'s on all keyword names.
      Allow non-keyword keyword names when the &key keyword is specified separately
      Delete #+CLX conditional on HANDLE-QUEUED-CLX-EVENT, since we want to be able
      Fixed GENTEMP to use its own counter, instead of *gensym-counter*.
      Weaken type declaration on third SELECT result, since it can be NIL if we get
      Add load of module.lisp for provide/require.
      Compile module.lisp again.
      Replaced occurrences of "^L" with real control-L's.
      Changed "environment too big" message to suggest probably a sparc 10.
      Update for 16f.
      Add notes for 16f.
      Added DO-HASH
      Moved DO-HASH to extensions.
      Fixed a problem with ASSERT-DEFINITION-TYPE when we have a keyword arg with a
      *** empty log message ***
      *** empty log message ***
      Initial revision
      *** empty log message ***
      new structure hacks
      new structure hakcs
      New structure hacks
      add fop-layout
      New structure hax.
      New structure hax.
      New structure hax.
      New structure hax.
      New structure hax.
      New structure hax.
      instancep => %instancep
      move undefine-function-name back to proclaim, misc fixes
      misc fiexs.
      new structure type system hax.
      add init-form arg to define-hash-cache.
      Fixed VALIDATE-CALL-TYPE to correctly handle calls where there is no
      *** empty log message ***
      Initial revision
      Call typedef-init and class-init.
      *** empty log message ***
      New structure hax.
      Initial revision
      Export typedef-init, ctype
      *** empty log message ***
      Lose old character, compiled-function deftypes.
      Don't try the (SETF (APPLY ...)) hack for functions with non-fixed args, since
      Tweaked the global set macros inhibition for local functions to work correctly
      Make type compiler-layout default to the current layout.
      Updated find-free-function accessor hackery to work with CLASS ACCESSOR-FOR
      New structure hax.
      Allow CLASS as FOR in SLOT-ACCESSORs.
      Update structure type hackery
      function-header-code-offset => function-header-code-offset
      Fix %'s in instance-length.
      Increment fasl file version.
      Finish edit & change object-not-structure to object-not-instance.
      Compilation error cruft..
      New structure hacks.  named-types become built-in-classes.  structure
      Add %layout-invalid-error and fix some stuff.
      Add some documentation & make T translated.
      Many changes to make it compile and sort of work.  Lots of bootstrapping
      Bring back a pseudo-general named type-class & make T one so that
      Recognize T as a named-type in TYPEP..
      object-not-structure-error  => object-not-instance-error
      Added new exports.  Flushed some random IMPORT-FROM cruft.
      Flush %primitive error source transforms.
      Make error VOPs translated normally
      Add some class operations.
      Qualify some more stuff as KERNEL:, also fix a trunk bug with
      Suppress simple-vector bounds check in structure type test, since
      Add raw-{set,ref}-{single,double}
      base-character -> base-char.
      Changed the alien-type structures to explicitly specify an &key BOA
      new structure hax for sxhash.
      Add class stuff
      boot hax.
      *** empty log message ***
      tweak warning messages.  add back base-char class.  fix
      fixed stuff
      qualify kernel:class-proper-name
      export class-typep, fix typo in equalp.
      fix args to write-string.
      fix paren lossage
      *unparse-function-type-simplify* is NIL by default.  Add support for
      Flush spurious eval-when
      Fixed #S and removed a residual reference to the STRUCTURE type.
      base-character => base-char
      Add another keyword BOA so that we can look at other arg values.
      missing comma
      fix structure-pointer-type => instance-pointer-type
      Translate CHARACTER class to BASE-CHAR.
      One more try at the BOA constructors, this time handling inclusion.
      Alien type constructor arg hack.
      Don't use load-time-value to get layout in the constructor, instead
      new structure hax.
      Oops... gotta return second value T in named-type =.
      If bootstrapping, set the layout-info in the old layout when null.
      Flush extra ).  Don't unnecessarily set compiler-layout in bootstrap hack.
      Look for compiler-layout in bootstrap hack.
      Compiled with efficency notes & fixed generic arith.  Real-valued
      Tweak cold-load initialization.
      Added some missing type declarations for efficeincy.  Fixed a type error
      Fixed raw constructors to work again.  Changed copy-structure to check
      Changed copy-structure back to copy-type-class (which is hackishly defined
      Fix layout-layout initialization & dump layouts in map file.
      Fix typeerror.
      When struct bootstrapping, need to convert symbol structure types
      Added type decls from efficeincy notes.
      Added type decls from efficency notes.
      Tweaked interface to insured-find-class so that it takes a predicate,
      Tweaked interface to insured-find-class so that it takes a predicate,
      added type declarations from eff notes.  made digit-char-p and digit-weight
      class-proper-name shouldn't error if class is not defined.
      In ENSURE-STRUCTURE-CLASS, don't check for inconsistency if
      Fix negated sense of test on raw-type in %defstruct.
      Inheritance depth of T is 0, not 1.
      Fixed LET* to correctly use the internal policy (not the interface policy
      Need to register layout if it was forward referenced but not yet
      Fix uses of print-unreadable-object not to have two #<'s.
      Add PURE layout slot.
      Move STRUCTURE-OBJECT defstruct here so that it runs first.  Restored
      Added call to CLASS-FINALIZE after all top-level forms & other
      Fixed PACKAGE-OR-LOSE to work on symbols again.
      In local call VOPs, must load CALLEE-NFP with MAYBE-LOAD-STACK-TN, since it
      This commit was generated by cvs2svn to compensate for changes in r5926,
      Say KEY-EVENT instead of STRUCTURE, since that's what we mean.
      type-specifier, not specifier-type in unknown type test eff note.
      Except when otherwise noted, CTYPEs are :PURE.
      Debug-info structures are pure.
      Move structure-object to type-boot.  Add support for pure structure types
      Add LAYOUT-PURE slot.  Add arg type declarations.  (wlott) divide array
      Weaken (not (component-new-functions component)) assertion to allow
      COMPACT-INFO-ENV is pure.
      Fix slot accessor redefinition warning.
      structure -> instance
      structure -> instance
      This commit was generated by cvs2svn to compensate for changes in r5937,
      Member & hairy types aren't pure, but key-info's are.
      fixed layout invalidation to actually work.
      In CTYPE-OF, don't return standard-char anymore, since it is just
      new structure branch & tuning, see new_struct
      new structure branch & tuning, see new_struct
      new structure branch & tuning, see new_struct
      Flush old in-buffer support.
      new structure branch & tuning, see new_struct
      delete compilation of type system stuff.
      new structure mods.
      Finshed ripping out in-buffer stuff.
      Add an unread method for region streams which is needed now that the
      Clobber the vectors of the VOLATILE-INFO-ENVs after we compact them, since
      remove load-time dependence on the compiler.  Add list-allocated-objects
      delete spurious purify
      Hmmmn, try shrink-vector on the tables, since some of them still seem to hang
      o.k., the actual problem was that hemlock was being purified w/o compressing
      Add %raw-set-{single,double}
      Add layout-invalid-error, fix local call operations to use
      dink fasl version
      structure => instance
      structure => instance, add raw-{set,ref}-{single,double}, fix local call callee-nfp, increment fasl version.
      Move ISQRT to numbers.lisp
      Replaced ISQRT with a much faster version off the net.
      Tweaked declarations.
      Fixed load to not always consider files with NIL type to be source files.  If
      Spin VOP MAKE-VALUE-CELL off into a sub-function & add an event counter for
      Initial revision
      Compiler byte-interp.
      Load byte-interp.
      Compile byte-comp.
      But we can't call that function make-value-cell...
      Fix to work with structure classes.
      Added type codes for internal object types such as CODE-COMPONENT.  Ripped out
      rip out ns-boot conditionals.
      Rip out NS-BOOT conditionals.
      Load byte-comp.
      Fixed some lossage.
      Improved usefulness of CODE-BREAKDOWN :HOW :FILE by subdividing the files by
      Change block numbering to the one computed at ir2-conversion time &
      Updates to *collect-dynamic-statistics* support.  Always renumber
      Add functional-plist, update comment on block-number, export block-number.
      Add %set-funcallable-instance-info and some exports.
      %'ed funcallable instance accessors and stuff,
      Flushed funcallable-instance-lexenv, since the define-primitive-object should
      Fix let scope.
      Fixed exports.
      Compile class safe & w/debug info for now.
      Put back FUNCALLABLE-INSTANCE-LEXENV VOP so that we can VOP it.
      Frob exports.
      Add basic-structure-class abstract superclass & funcallable-structure-class.
      Removed init-args for funcallable-instance function & lexenv.
      First cut at funcallable-structure support.  %funcallable-instance interpreter
      Fix fin-lexenv
      Fixed info-hash to work again on weird lists.
      Fixed BOA constructors to ignore package when determining if a slot appears as
      Set LAYOUT after %REDEFINE-DEFSTRUCT, since it might have elected to use some
      pathname and filesys no longer compiled with full safety and debug info.
      Change generic-function to funcallable-instance, add support in layout-of.
      Fix up FIN type testing, and sealed classes in general.
      Added %make-funcallable-instance stub.  Don't add in slot for layout in fin,
      Remove function & lexenv from %make-funcallable-instance.
      Delete unused binding.
      Export funcallable-structure-class predicate & constructor so that the can be
      Export FIN-FUNCTION.
      Deleted bogus declaration.
      generic-function -> funcallable-instance
      funcallable-instance -> generic-function
      Make funcallable-instance-p a primitive predicate.
      Make funcallable-instance-p a primitive predicate.  Fix class-typep layout
      Made layout-of guts unsafe.
      Unmade funcallable-instance to have a primitive-type specified, since it isn't
      Actually define a funcallable-instance primitive-type.
      Moved print-function into basic-structure-class.
      Changed DEFAULT-STRUCTURE-PRINT to work on funcallable structures (always
      Updated OUTPUT-INSTANCE to handle funcallable instances & to look for
      Fixed FORMAT-EXP-AUX to correctly handle variable width fields when the
      Delete residual references to string-char.
      Export basic-structure-class-print-function.
      Fix arg order to print-unreadable-object use in output-instance.
      Fix arg order to print-unreadable-object.
      Simplified CTYPE-OF to use CLASS-OF more.  Added EXTRACT-FUNCTION-TYPE and made
      Delete obsolete #-reload conditional.
      Moved stuff to get the function type out of a function into
      Fixed a bug in type inference which seems to have generally prevented anything
      *** empty log message ***
      Fixed FREEZE-TYPE to seal all subclasses.
      Updated for new assembler and block-compiler ir1opt.
      Fixed call to CONTINUATION-DERIVED-TYPE to be CONTINUATION-TYPE so that we
      Tweaked some more dispatch funs.
      PCL:PRINT-OBJECT has two args.
      Moved class symbols from PCL's exports to its shadows.
      Changed FIN-FUNCTION special form to be a new kind of LAMBDA so that we
      Don't do assumed function stuff if we have a :NOTINLINE function.  This
      Moved def-source-context for DEFMETHOD to PCL sources.
      Changed PCL class ops to  be :: qualified, since they aren't currently exported
      Fix up structure inspecting for new structure format.
      Add VOP defs for funcallable-instance-info.
      Do the last change in a way that maybe actually works on the sparc.
      Don't load code/inspect if we are loading clm.
      *** empty log message ***
      Turn on *assembly-optimize* by default.  Change the policy test to only
      Really really fixed get-setf-method-multiple-value for local macros.  Also, in
      Augment comment for lambda-calls.
      Use ~C instead of ~A when printing float exponent marker so that print-readably
      Added FLOAT-RATIO for precise ratio floating (as need by the float reader.)
      Deleted float-bignum-ratio, which has been superseded by kernel::float-ratio.
      Add random transforms.
      Tuning make stuff faster.  Random double floats are now much, much faster.
      When iterating over the lamdba-calls in unconverting tail calls, have
      Have to clear the constant info between compiling each byte-component too.
      Factored out set-tail-local-call-successor into a separate function
      Have to add in vm:code-constants-offset when computing byte-component
      Added an event counter for when control analysis deletes a block.
      Protect vm:core-breakdown against the debug-source being missing (shouldn't
      Added support for loading machine-independent fasl files.  Made *load-print* do
      If debug-info for a code object is a string, print it (for byte code) instead
      Moved definitions of byte-functions (formerly byte-xep) here from byte-comp so
      Update transforms to inhibit ones which pessimize byte code.
      Add support for machine-independent fasl files.  byte-xep => byte-function.
      When byte-compiling, don't do any inline expansion, and only do ir1 transforms
      Add support for When attribute of IR1 transforms.
      Add support for :when DEFTRANSFORM argument.
      Added support for :BYTE-COMPILE argument to compile-file.  If T, we
      Pass in the code length, since we need to finialize assembly earlier.
      Added little & big-endian fasl file implementations.
      Moved byte disassembler here from byte-interp.  Enhanced disassembler & dump
      changed byte functions to be funcallable instances.  Added with-debugger-info
      Changed byte-function loading to use funcallable instances.
      fix exports list.
      Changed byte function dumping to use funcallable instances.  Eliminated
      Changes for FIN byte functions..
      Fix FNI defs.
      More FIN sixing.
      Fix stuff.
      Fix add missing * needed for :when.
      Fixed stuff.
      fix call to %funcallable-instance-info
      Only need one function called backend-byte-fasl-file-type....
      missing c:
      Fix load-code check-version to actually indicate success.
      Changed *byte-compiling* to (byte-compiling), since during IR1 conversion we're
      *byte-compiling* => (byte-compiling)
      In inline expansion, *byte-compiling* => (byte-compiling)
      Add (byte-compiling) function.
      byte-compile always returns nil if :byte-compile nil is specified.
      paren lossage
      Fix up funcallable instance initialization.
      Don't byte-compile top-level forms in cold load.
      Moved definition of *eval-stack* here so that we can use byte code w/o the
      Moved *eval-stack* to code/byte-interp, since that is loaded first.
      Fixed byte-apply to compute the arglist in forward order when nargs >=8.
      Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to return true if it discovered any
      If any top-level vars are closed over, and *byte-compile* is :maybe, then
      If WHEN not supplied to %DEFTRANSFORM, defaults to :NATIVE, not NIL.
      #+gengc'd scavenged-hook object definition.
      Changed to check code format at fop-code-format time, not at fop-code time.
      vop => fop
      Missed a references to cold-verify-code-format.
      Actually return the super-layout when we're mapping.
      Bind *unparse-function-type-simplify* to T when getting the type specifier for
      Bind *unparse-function-type-simplify* t when getting the type specifier for
      Turn off byte compilation for the guts
      Turn off byte compilation for the guts.
      Changed to byte-compile most commands and all macros.  Changed to use
      Byte compile all macros.  Use cat-if-anything-changed.
      Byte compile macros.  Compile guts unsafe when small.
      Take into account header when computing slots in byte-function.
      Fix disassem-byte-fun for FINs.
      Need to annotate the mv-bind continuation as fixed-values.  Also, when
      In PROGV ir1 convert, also use %PROGV for byte compiled code.
      At NLX EP, annotate the stack as empty (ignoring any stuff pushed earlier in
      Added stuff to load CLX if it isn't loaded.
      Another cut at the last fix for unwind-protect.  Also, don't add uninteresting
      Moved compilation of top-level forms in compile-top-level inside binding of
      Moved compilation of spell stuff after commands so that we can use
      When computing block numbering for debug info/profiling, don't increment until
      Un-:both'ed the transformation to string<>=*, since increasing the number of
      Use an auxiliary function to make the condition for arg count errors to save
      Fix comment.
      Allow fdefinition system constants.  Add some popular functions to system
      Made current-stack-pointer a macro so that we won't blow out the inline
      Actually compute the NUM-MORE-ARGS slot in functions with more args.
      Fixed stack-copy to deal with overlapping upward copies.  Fixed some index &
      Byte compile macros.
      Moved %PROGV here from eval-comp.
      Moved %PROGV to code/byte-interp.
      In %PROGV ir1 convert, *byte-compiling* => (byte-compiling), since we haven't
      When we tail-call native code from byte code for multiple values, we must
      Fixed function-debug-function to work on closures.
      In do-tail-call, move the call to byte-interpret inside the scope of the LET so
      In delete-breakpoints-buffer-hook, if no wire (server died), then don't do
      Export COMPILER-MACRO documentation kind.
      special-form-p -> special-operator-p.  Nuked compiler-macroexpand[-1] because
      special-form-p -> special-operator-p
      Nuke compile-macroexpand, special-form-p -> special-operator-p
      Changed renamed get-setf-method-multiple-value to get-setf-expansion and
      simple-condition-format-string -> simple-condition-format-control.  Flushed
      format-string -> format-control
      format-string -> format-control
      Changed stuff to use EOF-OR-LOSE for signalling EOF.
      Changed EOF-OR-LOSE to signal the END-OF-FILE condition.
      Added degenerate versions of stream-external-format, file-string-length and the
      Added report method for end-of-file.  Exported cell-error-name.
      Made DYNAMIC-EXTENT declaration recognized & ignored.
      Added style-warning and parse-error conditions.
      Added PRINT-NOT-READABLE condition and made people use it.
      When computing restarts, pass in the condition.
      When computing restarts, pass in the debugged condition.  Also pass the
      Changed uses of RESTART-CASE to be detectable calls to error.
      special-form-p -> special-operator-p
      edit lossage
      Fix DYNAMIC-EXTENT ignoring to work.
      Add stuff to initialize the layout hash.  Add standard-class and
      Tweaked compilation of an incompatible defstruct definition to compare to the
      Made cold-load of rand unconditional on gengc, since we need it to initialize
      Fix error proxy to not always say FORM as the error form.
      Fixed a few bugs in DELETE-PACKAGE, and gratuitously rewrote it.  Inline the
      changed %deftype to use interface functions instead of (info type class ...)
      Made CLASS-TYPEP no longer an interface.  Added FIND-CLASS-CELL which
      use find-class-cell instead of INFO TYPE CLASS
      Changed MAKE-LAYOUT to initialize (or arrange to initialize) the
      Compile as structures anything where the layout-info is a
      Remove ns-boot conditionals.  Use FIND-CLASS instead of INFO TYPE CLASS.
      Allow load-time forward referencing of classes passed to TYPEP.
      Guard NOTE-UNDEFINED-REFERENCE's use of POLICY with a BOUNDP check,
      Bind *break-on-signals* to NIL when we call BREAK in SIGNAL so that
      Add a make-load-form for CLASS-CELL.
      Fix PCL describe to work again.
      Add transform for constant FIND-CLASS & change class TYPEP to
      Mace structure slot accessors not foldable, because that was causing
      Added SIMPLE-STYLE-WARNING, and spiffed up the simple-condition hacks so that
      Make compiler error functions use the condition system.  This ANSI cleanup has
      Added with-compiler-error-handlers.
      Moved condition handler binding into with-ir1-namespace, since that is
      Don't call FIND-CLASS with constant name during initialization, since the
      Add another simple-condition hack.
      Don't use %%TYPEP, since it is now block-internal.
      Tweaked source-path-context to check if the source path in in bounds for the
      Add bounds checking for the form-number when printing source locations
      More simple-condition hacks...
      Don't say "previously compiled" unless we really have compiled it before.
      More simple-condition fixes.
      Add new kernel/lisp exports.  Move standard PCL exports to LISP.
      Changed BACKQ-UNPARSE to check for improper lists instead of getting
      Changed to use standard-object type instead of pcl::std-instance.
      Flushed uses of "pcl:", since those symbols are now external to LISP (and not
      PCL also shadows DOTIMES.
      Don't try to compile XLIB inspector anymore.
      Make a library file of all the fasls.  Don't call build-toolkit-interface
      Load the CLM library file instead of individual fasls.
      Add new exports.
      Changed BEEP flashing to use SLEEP 0.1 instead of DISPLAY-FINISH-OUTPUT because
      Changed DEFPACKAGE to do only one call to EXPORT so that we can proceed
      Change debug-info quality to debug.
      debug-info => debug
      debug-info => debug
      In CODE-LOCATION-DEBUG-SOURCE, check for there being any source info so that we
      debug-info => debug
      debug-info -> debug
      Bind compiler-warning-handler around compiler-warning calls in PRINT-SUMMARY so
      unqualify print-object, since it is from LISP now.
      Don't handle compiler-errors, since the compiler should handle them.
      Add support for loading Motif stuff.
      Initial revision
      Add mention of Motif and the graphical interface.
      Updated for 17b.
      Add 17b stuff.
      Mention motif stuff some more.
      Add Herald display item.  Add :MOTIF feature.  Add standard file header.
      Fixed some types and stuff.
      (numeric-contagion single-float real) => float, not single-float
      Changed %COMPILER-ONLY-DEFSTRUCT to be magically called by IR1tran, since
      Add translator for kernel:%compiler-only-defstruct to do the compile-time-only
      Fixed "can't edit source" message not to throw you in the debugger
      Added support for parsing :WILD and :WILD-INFERIORS.  Fixed :WILD-INFERIORS
      Improved integration of logical pathname support with the rest of pathnames.
      Add COMPILE-FILE-PATHNAME function.
      Reverted make-pathname diddle-args case computation, cause it was right before.
      Actually pass the byte-p argument to open-fasl-file so that it really does
      renamed shutdown to server_shutdown to avoid HpUx name conflict.
      Added stuff to blow away the old class definitions of any loaded PCL.
      This commit was generated by cvs2svn to compensate for changes in r6450,
      Fix initialization of print-representation attribute so that characters
      Pad double-float slot offsets w.r.t. DD-RAW-LENGTH, not DD-LENGTH.
      Changed file-info-name and untruename to be pathnames rather than namestrings.
      Changed compiler-error-context-file-name to be consistent with new type
      If file-info-untruename is already absolute, then dump it instead of the
      Changed lisp: search-list to target: for consistency with all other
      Changed LISP: search-list to TARGET:
      Fix file-name hack.
      fix stuff.
      Freeze-type logical-pathname and logical-host.
      Changed ENUMERATE-MATCHES (hence all filesys code) to do
      Fixed enumerate-files to hack :wild and :unspecific name&type.
      Fixed stuff.
      Fix default-structure-print to just call the accessor (so that it handles raw
      Load PCL if not loaded.  Add :MOTIF to features, not :MOTIF-TOOLKIT.
      Use target: instead of pcl:
      Undid last change, because that's the wrong place to put it.
      Changed :FILE-NAME back to a misc method.  Added fd-stream-pathname slot to
      Fixed things now that FILE-NAME returns a pathname, not a namestring.
      Deleted vestigial documentation in rename-file about files that are open but
      In %ENUMERATE-SEARCH-LIST, only translate-logical-pathname on logical
      Unmade FILE-NAME a misc method, since it needs to work on closed streams.
      Fix stuff.
      Allow :UNSPECIFIC and :WILD in pathname name, type and version.
      Fixed %enumerate-directories to hack :WILD and :WILD-INFERIORS (somewhat.)
      Changes for more informative output (mostly from Sean.)
      Add os-common to OS_SRC.
      Add FIXNUM declarations to INIT-SB-VECTORS, since this function is taking
      Flushed call to scrub-control-stack, since doing it every form
      Added scrub-control-stack before call to sub-gc in
      Tweaked GENSYM so that the CONCATENTATE is open-coded.
      Un-inline assq and memq so that we can transform assoc and member to them
      Fixed DELQ to be less stupid.
      Added some missing simple-string declarations.
      Tweaked WITH-ARRAY-DATA to test for (not (array-header-p )) instead of
      Made SINGLE-VALUE-TYPE inline, since it's not that long, and highly used.
      Improved type testing and declared some functions inline.
      Add assq, memq and delq.
      Export dyncount-info type & predicate.  Move reporting stuff to code/cprofile.
      Added some :test #'eq args.
      Tweaked reoptimize-lambda-var.
      Changed lexenv-find default test to EQ
      Transform member, delete and assoc to memq, assq and delq when possible.
      Declare MEMBER/ASSOC inline in MEMQ/ASSQ to keep them from infinitely recursing
      Re-declared stuff in gensym.
      Made QUICK-INTEGER-TO-STRING only handle the FIXNUM case so that it really is
      Add check that SC alignment is a power of 2.
      Added profiling counters to the hash-cache stuff.
      Add clear-ltn-bit-vector & make people use it.  This macro and
      Block compilation and type declarations.
      Move BIT-UTIL early in compilation.
      Add declaration in profile code.
      Tweak init profile stuff uff.
      Add finite-sb-last-block-count slot to reduce reinitalization overhead.
      Stuff stuff.
      Reduce redundant initialization in init-sb-vectors.  Add more declarations.
      Decls, entry-point.
      Flush check for random things having the tail as their successor, since that is
      In CHANGE-BLOCK-SUCCESSOR, if we change a successor of IF to the component
      Changed assertion in NOTE-ASSUMED-TYPES to a normal conditional, since it isn't
      Add :CALLERS option to PROFILE which counts the most common callers
      Initial revision
      Increment warning count after re-signalling so that we don't double-count
      Wrote MAP-INTO.
      If byte-compiled, call the byte disassembler.
      Moved NAME & SOURCE slots from COMPILED-DEBUG-INFO to supertype DEBUG-INFO
      Byte-closure needs a different print function from %print-byte-function.
      Added support for describing byte-compiled functions.
      Add support for :EXECUTE keyword to EVAL-WHEN
      Removed hack for printing byte-code objects, now that they have
      Dump a debug-info for byte code objects containing only the name
      Don't dump debug-source start positions when *byte-compile* t.
      Recognize the new :keyword EVAL-WHEN keywords.
      Fix from Mike Clarkson.  In the alien type= method for function, call
      Delete :CMU18 from *features* defvar.  Instead, we add these features
      Changed COMF to allow any COMPILE-FILE options to be passed through.  Changed
      Move defvar of hi::*in-the-editor* to lispinit.
      Moved defvar of hi::*in-the-editor* here from sysmacs.
      Reduced the number of recompiled profile encapsulations.
      Recognize the PCL::CLASS declaration.
      Don't load meta-vmdef and assemfile.
      Add some INDEX declarations in bit-bash hacks.
      Turn off byte-compiler for SIGNAL, ERROR, etc.
      Flush calls to backq-init and sharp-init, since they are no longer
      Byte-compile clx-ext.
      Byte compile a bunch of files.  Folded together the N-times-duplicated
      Byte compile some more files.  Use :BYTE-COMPILE T instead of just
      Byte-compile defsys and all functions beginning with EARLY- or BOOT-.
      Removed sysmacs.
      Byte-compile some files, including some in the cold load.  This is done
      Flushed obsolete comment.  Load sharpm and backq.  Load byte-compiled
      When byte-compiling error, :byte-compile :maybe, since we want to native
      Wrote byte compiled error as bc-error.fasl
      Load bc-error.fasl.
      When -clean, delete .fasl too.
      Flush carefully-add-font-path call.  If people want library:fonts/ in their
      Changed directory-translation skeleton to be target: search-list.
      Can't write-line a pathname...
      Call pointer-hash instead of %primitive in cache-hash-eq.
      Make cache-hash-eq a macro.
      Unmade clx-ext byte-compiled.
      Load assem-file.
      deleted files moved to worldload.
      Moved run-time utilities into lispinit so that they can be native compiled.
      Moved ERROR &c (that wants to be native compiled) into lispinit.
      Moved some functions here that want to be native compiled (and in the cold
      Load error.*bytef, not bc-error.fasl.
      Make error and defmacro compilation less special-cased, since we don't need
      Fix assemfile load.
      Do FIND-CLASS transform even in byte code.
      Hmmn, don't randomly do eval-when eval all the time.
      Paren lossage.
      :where -> :when
      Set *break-on-signals* in %initial-function, since we've moved the defvar.
      Add some missing loads, and don't use file-comment until extensions is loaded.
      frob stuff
      Moved stuff around some more.
      Flushed :XEP load-time constant kind, since it is no longer any different from
      Merged William's dylan hacks.  Removed :XEP load-time-constant support from
      Define meta-sb-or-lose, meta-sc-or-lose so that they can be used
      Move meta-sb-or-lose, etc., to vmdef.
      Actually move meta-sb-or-lose, etc., here, since we really need them.
      Flushed "redefining debugger command" warning.
      Flushed call to count-vops (static statistics), since it doesn't work anymore,
      Byte-compile %print- functions.
      Move VMDIR function here from comcom, since it seems somewhat more generallty
      Changed CODE-BREAKDOWN to recognize the file of byte-compiled code objects.
      Flushed sharp-init.  Instead hack *readable* directly at top-level.
      Flush BACKQ-INIT.
      Flushed calls to backq-init and sharp-init.  Initialize std-lisp-readable from
      Bulletproof output-instance a bit.
      Increase *inline-expansion-limit*.  Add %setf-instance-ref inline op.
      Add stuff to deal with filling in placeholder args when a local call is made to
      compiler-constantp -> constantp.
      Moved various run-time functions it ir1until.
      Flushed compiler-constantp.  Moved some functions here that want to be native
      match -> :match
      Changed the stream arg to DISASSEMBLY to be a keyword arg, since it's
      Update args for compile-file and disassemble.
      With keyword args, eval the default before sticking in keys list.
      Enable funcall -> %funcall IR1 transform for byte compilation.
      Have to deallocate stuff when calling byte code in DO-TAIL-CALL.
      Added some system constants.  Fixed deleted local arg stuff to correctly
      Spiffed up extract-function-type to hack byte functions.
      Added misc kernel:%mumble stubs.  Added byte-function-type.
      Flushed mumbling about argument syntax in describe-function-byte-compiled,
      Also allow the %coerce-to-function efficiency note in byte code.
      Add some float subprimitives.
      Move stubs for single-float-bits, etc. out of this file.
      Changed block printer to use print-unreadable-object.
      Make OLD-PCL and OLD-SLOT-ACCESSOR-NAME be nicknames during loading.
      tweak doc string.
      Fixed semantics of various type-classes (CL arrays, numbers, functions &
      Byte compile instruction printers if :small.
      Changed various compilation policies, including reducing safety and debug-info
      Debug-info -> debug.
      Use :byte-compile t, not just policy for compiling interface stuff.
      Add printer for CLASS-CELL to make compiler progress prettier.
      Stack analysis didn't really work in the presence of non-local exits.  Two
      inhibit-warnings -> ext:inhibit-warnings
      Fix compiler warnings.
      Initial revision
      Updated stuff to correspond to what is actually defined in code:.
      Fix compiler warnings.
      Flush warning.
      Fix another unqualified inhibit-warnings.
      This commit was generated by cvs2svn to compensate for changes in r6675,
      Fix compiler warnings.
      Fix compiler warnings.
      This commit was generated by cvs2svn to compensate for changes in r6678,
      -1 -> spell-deleted-entry
      Really fix IN-PACKAGE usage.
      Really fix IN-PACKAGE usage.
      This commit was generated by cvs2svn to compensate for changes in r6681,
      Fix in-package  usage.
      This commit was generated by cvs2svn to compensate for changes in r6684,
      Change to use DEFPACKAGE, move spell-deleted-entry defn here.
      This commit was generated by cvs2svn to compensate for changes in r6686,
      Fixed in-package usage.
      This commit was generated by cvs2svn to compensate for changes in r6689,
      Move defpackage to spell-rt, cause it's first.
      This commit was generated by cvs2svn to compensate for changes in r6691,
      Fix IN-PACKAGE usage.
      This commit was generated by cvs2svn to compensate for changes in r6693,
      Fix in-package usage.
      Moved forcing out of pending top-level forms from COMPILE-LOAD-TIME-STUFF to
      Moved print-function from basic-structure-class to new superclass slot-class.
      Change output-instance to use SLOT-CLASS instead of BASIC-STRUCTURE-CLASS.
      Flushed CONDITION defstruct (now in error.lisp, & different.)
      Added support for  non-hierarchical "structures" when defining default accessor
      Update to new DEFINE-CONDITION syntax.
      Changed conditions to be non-structure (but also non-PCL) instances that
      Missed a use of UNDEFINE-STRUCTURE.
      This commit was generated by cvs2svn to compensate for changes in r6726,
      Update for new define-condition syntax.
      DEFINE-CONDITION Slot list is not optional.
      Slot list not optional in DEFINE-CONDITIOn.
      When initializing byte functions, push them in a list in the "trace table" slot
      Initialize byte "trace table" to NIL so we can push byte functions into it.
      Don't want to push each byte closure in the function list.
      Only signal *parse-unknown-type* when *type-system-initialized*
      Moved define-condition for parse-unknown-type to error.
      Added some cold-load hacks & moved parse-unknown-type define-condition here.
      Moved error after type system file in load order.
      Write map file by default.
      Added stuff to check for incompatible layouts.
      define-condition slots not optional.
      Don't use define-type-method in define-superclasses, since nested
      DEFINE-SUPERCLASSES complex intersection method needs to delegate too.
      In PROPAGATE-LOCAL-CALL-ARGS, be prepared the possibility that other refs to
      Hack to prevent type-intersection from delegating infinitely.
      If old layout not yet registered, do it.
      Add :CLX-ANSI-COMMON-LISP feature.
      Delete package setup for optional subsystems (hemlock, etc.)
      Flush residual reference to PCL package.
      Um, so I guess we need the PCL package.
      This commit was generated by cvs2svn to compensate for changes in r6760,
      Changed to use defpackage.
      Byte compile printers.
      Squelch some type warnings.
      Remove extra )
      Fix make-type-load-form to use its argument.
      Update for new define-condition syntax and re-frobbed condition structure a
      Really fixed define-condition syntax.
      Don't consume for lexical breaksups that are dumpicates.
      Init byte code "trace table" to NIL so we can list byte function objects.
      Fix declaration syntax.
      Tweaked the define-superclasses for ARRAY for Dylan semantics.
      Update FUN-DEFINED-FROM-PATHNAME to understand byte functions.
      Fresh-line before calling describe-object method.
      Flushed #+CLX again (somehow reinserted during branchmerge), since we may load
      Generalized condition effective slot computation so that we can find slots with
      Fix arg order to GETF...
      Fix stuff some more.
      Add (optimize (debug 2))
      Fix SXMASH util for SXHASH to not be stupid.
      Fixed COUNT :TEST-NOT to actually negate the test.
      Change "inline expansion count exceeded" warning to be a note.
      Increase *inline-expansion-limit* from 50 to 200.
      Don't inline expand when *converting-for-interpreter*.
      Added documentation for CMU-specific pathname stuff.  Deleted old X
      Declare hi::%set-variable-value to be a function so that we don't get undefined
      Different workaround for Hemlock not being loaded.
      Don't pass CFLAGS to the linker, since this may clash with the
      Compile and assemble with -O, not -g.
      Changed rcsci and rcsco to ci and co, which now work at CS, and
      Changed from using sed to ul in the "Manual Entry" command, since
      Now called net-README.txt, not sunos-README.txt, pending eventual HP
      updated for 17c
      Hasn't been checked in for a while.
      Add lisp-sun1 to FTP hosts.
      Compile -O
      Updated somewhat for non-Mach environments.
      Changed query-readline to be a function & to force output.
      Fix comment for component-new-functions.
      Call local-call-analyze whenever there's new-functions.  This got lost
      Added all of the ANSI CL features that seemed plausible.  Any non-ANSI
      Fix LOAD-TN-CONFLICTS-IN-SC to work for multi-location SCs.  Moved bind-to-nil
      In propagate-local-call-args, don't do anything if there is an
      In UNCONVERT-TAIL-CALLS, do ENSURE-BLOCK-START so that we can manipulate the
      In read-n-bytes, only signal EOF when we read and got 0 bytes, not never read
      Re-frobbed fd-stream-read-n-bytes to preserve the property of returning less
      Like, more examples.
      Gratuitous tweak.
      Un-broke (coerce x 'single-float)
      Tweak CONVERT-CALL-IF-POSSIBLE to not try to convert calls in top-level code
      Clobber functional-entry-function too in delete-component.
      Add DELETE-IF-NO-ENTRIES to blow away components that can't be reached before
      Add MAYBE-BYTE-LOAD and BYTE-LOAD-OVER functions for controlling loading of
      Changed stuff to use :RUNTIME feature to suppress loading everything, and to
      When NO-RUNTIME feature is absent, compile various subsystems byte-coded as
      Change PROGV IR1 convert method to pass :CONSERVATIVE T to BYTE-COMPILING to
      Add :CONSERVATIVE option to BYTE-COMPILING.  Also, always return T when
      Fix purify #-no-hemlock to #-(or runtime no-hemlock)
      Add tty-ixon for HPux.
      Some extra protection against recursive invocation of the windowing debugger.
      Tried to make starting the Motif server more robust, or at least give some
      Copy new_compiler branch to trunk.
      Move over new_compiler to trunk.
      Delete :conservative arg to BYTE-COMPILE, since it is to damn conservative
      Delete :conservative arg to byte-compile.
      Allow pretty-printer to work without compiler loaded.
      Move defhvars for highlight font names to rompsite so that they can be given
      Move all font name defhvars here and give them the actual default as their
      Flush Hemlock font change hack, since it was causing problems.
      Don't call pprint-init yet, since it calls backq-pprint-init, which isn't
      Always call pprint-init, since it doesn't depend on the compiler anymore.
      Change herald hack not to use SETF so that it will work w/o the full eval.
      Add dummy stubs which signal errors when the IR1 interpreter hasn't been loaded
      Don't try to do verbose room if it isn't loaded.
      Export EXT:PURIFY and remove the :CONSTANTS argument.
      Move environment compacting here from worldload.lisp to make it available to
      Update for the new purify interface.
      Move environment compacting to PURIFY.  Avoid spurious purifies.
      Change FBOUNDP test from EVAL:INTERNAL-EVAL to COMPILE, since there's now a
      Put in a weird GC hack in hope that it will prevent us from retaining lots of
      Try a different GC hack for flushing vop-parse info.
      Update for 17e
      Bind *break-on-signals* to NIL even before doing the type test so that we don't
      Changed ~A to ~D when formatting socket file in case the base isn't 10.
      Add INVOKE-TTY-DEBUGGER.  Don't try to invoke motif debugger if we didn't
      Print warning in status hook when server dies.  Simplified boolen expression.
      Added some fflushes.
      missing ;
      Added declaration.
      Changed assert-definition-type to quietly ignore non function-types.
      Deleted incorrect type declaration in process-1-ftype-proclamation.  Deleted
      Allow stream arg to compile-file.
      Do DFO-AS-NEEDED in BYTE-COMPILE-COMPONENT (as it is done in
      Updated startup code bootstrapping section a bit.
      Don't byte-compile if not :small.
      *** empty log message ***
      Add -I/usr/mach/include
      Initial revision
      Update for 17e
      Merged HP and runtime mumbling from net-README
      Deleted some setting of *hack-hunk-replace-line* to T, since we may want it
      Tweak read-line to work better on a non-persistent EOF (e.g. ^D on TTY)
      Allow separate specification of source and destination releases.
      Delete unused variable.
      Don't call valid-function-use on mv-combinations.  Don't annotate mv-calls to
      Enhancement from Harris to not abort printing of a frame when printing one arg
      In OUTPUT-INSTANCE, check for the layout being invalid before calling the print
      Make load-tn-conflicts-in-sc a block entry point so that error routines can
      Fixed FAILED-TO-PACK-LOAD-TN-ERROR and DESCRIBE-TN-USE to work when there are
      Fix spelling of :compile-toplevel and :load-toplevel in eval-when.
      Add ignore handler for client-message events.
      Made pathname functions non-foldable, since they all depend on
      Don't warn about probable error unless both initarg and initform are missing.
      Update for infix and flush slave-like stuff.
      If compile-file is :block-compile T, then ignore start-block/end-block
      Don't flame out in USE-STANDARD-RETURNS if a reference to the function has no
      Fix for LOOP RETURN option, from Miles bader, via Joerg Hoehle.
      In OPEN, fixed :direction :io :if-does-not-exist :create to actually create.
      When closing composite streams (broadcast, etc.), don't close component
      In read-line, put the actual stream in the call to eof-or-lose, not the
      Increment *foreign-segment-free-pointer* by the round-up-to-page value.  I'm
      Fixed adjust-array to not flame out on arrays containing a zero-length
      Tweak include path.
      Fix compiler-macro expansion to correctly handle macros that pass (by returning
      Fixed last tweak to block compilation to actually work in the normal case.
      Changed *before-save-initializations* to once again be done before saving.
      Don't use the PCL package because we don't need to anymore, and it causes name
      *** empty log message ***
      This is CLX R5.02.
      Backed out the dylan slave support, since we're no longer using that
      Fixed way broken INSPECT-CLOS-PANE according to patch from Marco Antoniotti.
      Fix from Marco Antoniotti to actually remove handlers from the table in
      Fix to toolkit-write-value to allow it to write either signed or unsigned
      Patch from TSM for calling dynamically linked foreign routines.
      Support for HPPA from TSM.
      Fix documented order of the list form of alien names to agree with what was
      Initial revision
      Changed (typep Its-tream) to ts-stream-p so that we can declare it to be
      Add stuff to squelch warnings when compiler w/o hemlock or clx loaded.
      Flush old-style in-package.
      Squelch assignment warning on open args (by &aux, YES!)
      FIx old-style in-package.
      Load PCL before CLX so that it can use PCL stuff.
      Change the position of dylan mode in load order since it now depends on Scribe
      Fixed :format-string to be :format-control in recursive error handler.
      Add defpackage of ANSI-LOOP.
      Move loop after module because the bolix loop uses provide.
      Fixed simple bit-vector transforms to not assume binding semantics for LOOP.
      Added back compilation of code/globals so that we can suppress hemlock-related
      Initial revision
      Fix loop syntax.
      Tweaked to not clash with stuff being compiled.
      add some more exports.
      Fix old-style in-package.
      Flush extra )
      Add special decl for *breakpoints* (use before definition.)
      Initial revision
      Solaris patches.
      Merge solaris patches.
      Solaris changes (generalize #+irix to #+svr4).
      Solaris changes (try dynamic dymbol lookup.)
      Changes for Solaris.  Mainly changing #+irix to #+svr4
      #+irix => #+svr4
      s-context => sigcontext
      solaris patch.
      solaris patches.
      solaris patches.
      Solaris patches.  Also, delete obsolete compile of assembly/sparc/bit-bash.
      Dynamic segment limit patch.
      Some kind of changes to make directoris relative or somethng.
      Initial revision
      Solaris patches.
      This commit was generated by cvs2svn to compensate for changes in r7093,
      Initial revision
      Make arch_get_bad_addr args by a cpp macro.
      Solaris patch.
      Solaris patches/posix signal support.
      Solais patches.
      Solaris/posix support.
      Solaris patches.
      Rationalized trampoline name lookup a bit, and changed to no longer prefix
      Solaris patches.
      Call extern-alien-name so that prefixing is done right.
      Use backend-featurep, instead of reinventing it.
      Solaris patches.
      Solaris patches.  Change some conditions from !defined everything to
      Oops.  SPARC really does store non-raw function in fdefn raw function slot.
      Don't try to grow in-place in os_reallocate.  This routine is only called by
      Include os.h.  Also, I guess ??? in a string literal means something funny in
      HpUx now too seems to complain about extern getenv declaration.  Lets try
      Still need to declare variables.
      First cut at merging solaris patches.
      Tweak stuff up a bit.
      add import for $$dyncall
      SVR4/solaris changes.
      Update absolute path of gnu includes.
      try that again.
      Ummn, fix stupid stuff.
      tcsetattr is SVR4
      Frobbed eval-when compile hackery of *class-table* so that the same updates are
      Semi-gratuitously changed setf of *type-table*, etc., to defparameter.
      Changed defvars for *type-table*, etc. to declaim special, and moved the
      missing comma.
      Nother missing comma.
      Always build-toolkit-interface.
      Flush s-context export.
      Initial revision
      Flush rcsupdate and -clean features.
      Add RCS header.
      Flush the "if you want to use this or any part...".
      Timeout support from Marco Antoniotti.
      Initial revision
      Add compilation of timer-support and precom.
      Move plamform specific make stuff to Config.
      Always load PCL if not loaded unless the no-pcl-clx feature is present.
      Need to load PCL before CLX.
      fix syntax error.
      Put all compilations in a single with-compilation-unit.
      hack, hack.
      spell timer-table consistent.y
      fix some problems.
      comment out timer-support, at least until it works.
      no timer support for now.
      Fix of-type to weaken declaration when the init is not of the right type.
      More correct declaration hack.
      Add DEPEND_FLAGS hack for broken header file lossage.
      Add a DEPEND_FLAGS variable containing flags passed only to make depend.
      add ignore decl
      print-object, etc.
      add svr4 to features.
      Allow coercing to float (meaning single-float.)  Check that numeric
      Fix float-bignum-ratio to return correctly.
      mode-t is int, not long on Alpha.
      Compile PCL before CLX, since it now depends on it.
      Changed some things from ifndef SVR4 to SOLARIS.
      Nother SVR4 bits the dust.
      load PCL first, since clx depends on it now.
      Only call wait under mach.
      Initial revision
      fcntl command is not (mod 7) in general.
      Initial revision
      Fix headed boilerplate.
      Fix headed boilerplate.
      Fix headed boilerplate.
      Clarify EOF-ERROR-P handling in read-n-bytes.
      Default library: path is now /usr/local/lib/cmucl/lib on all non-Mach
      Change default library path to /usr/local/lib/cmucl/lib on all non-Mach
      Initial revision
      Fix arg type in %set-raw-bits so that it will consistenly be
      Don't enhance safety under :small anymore except for ir1tran and debug.
      Flush spurious reference to /usr/misc.  Do -DSVR4.
      Need -Xlinker for -Bstatic.
      Purify after loading PCL.
      Purify after loading pcl and clx.
      Purify after loading pcl,clx
      Include /usr/openwin/include
      Initial revision
      Build the spell dictionary.
      Link lisp in archive (non-dynamic) format so that we can use ld -A
      Update project status.  Add documentation for read-n-bytes, purify,
      Added some code on HPux to test for the correct magic number, since we get
      Split off body of foreign-symbol-address so that we can call it in
      Update bugs, platforms, spelling of XKeysymDB.
      update project status.
      Update for alpha, sgi.  Add mublage about compiling from sources.
      gartuitous checkin.
      update for 17f.
      install spell-dictionary.bin too.
      Path from TSM to make format able to print english numbers of up to
      Got conditional backwards in setting up Library:.
      rename cmu-site-*f to site-init.fasl when copying (so that it can have the name
      Added comment about beware of Gnu "as".
      Fix pprint-setq not to call LENGTH on what might be an improper list.
      Fix bogus simple-vector arg type in sub-output-array-guts.
      Fix compilex rational subtract.
      Add another call to internal-redisplay in editor-input-method-macro.  It
      Don't try to set write date on systems w/o times.
      Add note about alpha /sbin/swapdefault
      Add ext:*batch-mode*
      In move-to-word/integer, always do arithmetic shift on fixnums, since
      Fix parse-namestring of pathnames.
      Tweaked *batch-mode* stuff a bit.
      Attempt to deal with FINs that have FINs as their functions.  Interesting
      Added a suite of signed byte output routines because the unsigned ones weren't
      Update hacking GCC include pointer that we're not supposed to need.
      Fixed batch-mode stuff to have a chance of working.
      defswitch for batch-mode should be at top level.
      Fixed up hackish duplicate copy of QUIT.
      Fix defmacro not to give bound-but-not referenced warning when we say &key with
      Merge patch to print local var names as symbols.
      Patches for destroy callbacks from Timothy Scott Milner.
      Changed ~E, ~F, ~G to treat non-numbers like ~A.
      Patch from Harris to help compiling PCL when already loaded.
      Patch from Jeurgen Weiss to translate-key-event which makes it deal better with
      Fixed arg type checking to be done on functions which have an IR2-convert
      Merge fix from tsm to allow (setf function) names as args to compile.
      Merge fix from Douglas Crosher to make acosh and atanh return the right thing.
      Fixed MAKE-SEQUENCE to not specify make-array initial-element when it is not
      Merged DTC's patch to string<>=*-body which fixes various problems that arose
      Fixed tree-equal as per DTC's patch.  Formerly the test would be randomly
      Merged patch from PW that is supposed to fix decode universal time after 2000.
      Merged patch from PW that makes PRINT-DIRECTORY handle broken
      Don't use SPECIAL as an internal function name, because SPECIAL is an external
      Add an error check in def-alien-routine for pointer-like types being used with
      Check if we have a funcallable instance before we check if we have an instance
      Fixed process-kill to work on PTYs under HPUx by using TIOCSIGSEND
      added TIOCSIGSEND.  Currently only on HP/Ux.
      Delete some half-edit gunk.
      Fix process-kill some more.
      Hmmmn, checked in the wrong version of TIOCSIGSEND somehow.
      Werkowskis source kit 1.03.7
      source kit 1.03.7

rswindells (13):
      Cross build script for NetBSD/i386.
      Use sigcontext as name for signal alien struct in NetBSD/i386 too.
      Use -iquote.
      Make it build again for NetBSD.
      Update script to match cross-x86-x86.lisp.
      Add new FPU interface code.
      Switch from X11R6 to X11R7.
      Add Config to match GNUmakefile.
      Update to match cross-x86-x86.lisp.
      Test fpu_mode instead of calling arch_support_sse2() to match
      Add NetBSD support to other_space_p().
      Return address from os_sigcontext_fpu_reg(), make sigsegv_handler compile
      Add a test for whether the operating system supports use of the SSE2

rtoy (1873):
      Disable erroneous translation for the instance-set VOP.  The VOP
      The annulled branch instruction didn't have an instruction printer
      Make the def-source-transform and defoptimizer for max and min
      Fix PCL call-method-list problem reported by Ole Rohne on cmucl-imp.
      If it's already a logical pathname host, don't need to check if
      From Helmut Eller:
      Helmut Eller notes on cmucl-imp on 2004-04-24 that
      Lynn Quam on cmucl-imp on 2004-03-30 says
      Fix typo:  6.4 should be (* pi 2)
      Fix typo.  Need a quote on .call-method.
      Boot file for new sxhash function.  Requires a cross-compile.
      Implement the one-at-a-time hash algorithm designed by Bob Jenkins
      Add WITH-UNBOUNDED-INTERVAL-ON-ERROR macro to catch errors
      Add support for source location recording, from Helmut Eller on
      Update notes:
      Implement one-at-a-time hash for x86, as for sparc.
      Merge in the mod-arith-branch with support for x86 and sparc.
      Change (unsigned-byte ,width) to (integer 0 ,(1- (ash 1 width)))
      If the file-info doesn't exist, we return nil for the
      o Remove unused modular-arith code
      Use (logandc2 x y) instead of (logand x (lognot y)).
      Add support routines for converting (truncate x d) for constant d from
      Implement the signed and unsigned truncation operations as given in
      o Trust dynamic extent declarations by default.
      Oops.  We want a logical right shift, not arithmetic!
      Get rid of some compilation warning by exporting the exported symbols
      Signal an error if a CASE uses T or OTHERWISE as key designators.
      Signal a TYPE-ERROR when FILE-LENGTH is used on the following streams:
      o Modular arithmetic
      More ANSI test fixes:
      Remove some junk that was inadvertently checked in.
      Fix ansi-test bug on read-sequence and echo-streams.  Based on code
      o Remove old version of gencgc allocation macro.
      Allow stack frames larger than 4096 bytes to be used.  (Was a
      Change the default print names for the characters #\^\\, #\^], #\^^,
      Record toplevel forms too for source location recording.
      Remove the call to aver.
      Don't trust dynamic-extent declarations, even when dynamic-extent
      o Fix the float printer to print correctly:
      Oops. Remove unused code.  Add a couple of comments.
      o Fix typo in output-ratio that was causing incorrect output when
      Fix up printing of symbols with :capitalize.
      Fix up printing of symbols.  Passes Paul Dietz's symbol printing
      Update notes for ANSI fixes.
      The CLHS says OPEN should signal a FILE-ERROR if the pathname is
      Change the ~A to ~S in FIND-COMPONENT-NAME, in case the context cannot
      Fix typo in READ-TOKEN.  We want stream::%read-char for
      Oops.  FLONUM-TO-STRING is still used by FORMAT.  (Should replace this
      o Add a note to the dynamic-extent section that dynamic-extent is off
      Enhance PICK-OUTPUT-ROUTINE and PICK-INPUT-ROUTINE to support byte
      ANSI fixes.
      Increase static and read-only space to the maximum of 256 MB.  (We
      o Update some paths.
      This causes an error:
      o Add some notes on additional steps to build tarfiles like the
      Clean up printing of generation info to handle the larger heaps we
      Use an alternate signal stack for delivering signals.
      Check to see if we are getting a segfault from a stack overflow and
      Compute column widths so the columns of the profile report line up
      Fix typo.  0s0 is not a single-float. (Well, it is in CMUCL, but not
      SET-PPRINT-DISPATCH is supposed to accept either a function or a
      Merge in documentation changes from the 19a branch.
      From Helmut Eller:
      Merge in the 19a changes containing Helmut Eller's implementation for
      Add some info about generational GC and some of the functions that can
      Fix typo with extra misplaced paren.
      From Lynn Quam:
      Cross-compile file for bootstrapping the weak-pointer optimization.
      Fix some issues with the complex functions with signed zeroes.  See
      Fix a typo and correct the table of space addresses.
      o Add some comments on register usage
      o Use the gtemp register for LOAD-CONSTANT.  This allows the
      Add support for storing the symbol hash into a slot in the symbol
      Bootstrap for the sparc symbol-hash change.
      Change the deftransform for sxhash on symbols to use the symbol-hash
      LOAD-STACK-TN and STORE-STACK-TN macros use the gtemp-tn register to
      Don't use G7 as the register name for GTEMP-TN.
      Make the symbol hash slot contain the sxhash of the symbol name
      Implement lazy computation of the symbol hash.  The hash is set to
      Add some comments on what we're trying to do here with sxhash on a
      Implement lazy computation of the symbol hash.  The hash is set to
      Use -1 instead of 0 as the uninitialized hash indicator.
      %MAKE-SYMBOL actually takes a fixnum hash value.
      The SYMBOL-HASH vop actually returns a fixnum, not a positive-fixnum,
      Enable the sxhash transform for x86 too, to get lazy symbol hash
      Upcase path components when given a logical pathname.  Preserves print/read consistency and fixes (I think) an issue with ASDF and logical pathnames
      From Juan Jose Garcia Ripoll:
      Update notes.
      CMUCL intended to support things like [abc] in namestrings, but a typo
      Merge in 19a-branch fix for the atanh bug.
      Add sigsegv_handle_now (and segv_handle_now) to handle segv's that
      Make %unary-ftruncate preserve the sign of the arg, so -0.0 is
      EXPT sometimes returned NaN when the power was 0 instead of 1.  Make
      sxhash is supposed to return the same value for -0.0 and +0.0 since
      Implement a much faster and much less consy bignum printer and a
      Fix an overfull line.
      o Replace " with `` or '' as appropriate.
      Briefly document weak-pointer object.
      Add -xlibmieee to get better IEEE754 floating-point results.
      Less consy ROOM function.  Also fixes an issue where ROOM appeared to
      o Fix a misplaced declaration in %unary-ftruncate/single-float
      Bootstrap file to export simple-stream-error.
      Get rid of some compiler warnings about comparing a pointer and an
      Get rid of a few more warnings about making pointers from integers and
      o Fix BIGNUM-LOAD-BYTE so that it works with signed and unsigned
      Extra values were not correctly handled by the values setf expander.
      Add -D__NO_CTYPE so builds on glibc 2.3 will run on some older
      Remove the sigemt_handler which hasn't been used in years because
      Backquote pretty-printing was modifying its argument.  Probably don't
      Changes from Robert Swindells to support NetBSD.
      Correct some comments for NetBSD memory map.
      Add -Wall flag to gcc.
      Clean up some compiler warnings:
      Fix more compiler warnings:
      Fix more compiler warnings:
      More compiler warning fixes:
      More compiler warning fixes:
      More compiler warning fixes.
      More fixes for compiler warnings about printf arg types, implicit
      Make genesis print out the space start constants as unsigned hex
      Fix more compiler warnings:
      Include stdlib.h to get functions like exit() defined.
      Fix more compiler warnings:
      o Add support for read-sequence and write-sequence for byte sequences
      Initialization of condition class metaobjects no longer creates an
      Fix bug in write-char and write-chars.  (Ported from sbcl.)
      o %write-byte marks stream as dirty
      Data read in from a file could have been changed if the stream is
      Initial set of regression tests.
      Add a few tests for read-sequence.
      Forgot to include some more notes.
      Oops.  Get rid of "work in progress".
      Initial revision of notes for next release of CMUCL.
      Oops.  Correct the version numbers.
      Read commit logs and add some notes to the release notes.
      Document the module-provider extension to REQUIRE.
      Add modular arithmetic support for (- x), aka (kernel:%negate x).
      Add large-file support for Solaris.  Simple testing done, and Solaris
      Forgot to implement lseek64.
      Don't need the %negate-mod32 function and defknown.  Clean up vops a
      %dpb-derive-type-aux needs to do a continuation-type on the args
      Modular %negate for x86.
      Compute more accurate bounds for logand, logior, and logxor.
      Update the min-*, max-* routines to support any size unsigned integer
      Fix typo in min-xor.
      After almost 1 year of gencgc on sparc without encountering a gc
      Fix a few typos.
      Add script to massage nm output to get rid of the U lines that genesis
      (defun foo () (zot)) when compiled and run gave a silly message about
      Fix typo introduced in previous fix.
      Some interrupt fixes.  sigill_handler was enabling all interrupts in
      lispregs.h, sparc-lispregs.h:
      o Fix too much copying and not enough thinking in sigcontext-lr.
      Initial support for modular arithmetic for PPC.
      More modular arithmetic stuff for ppc.  Fix boot3 too.
      #ifdef out strcasecmp for everyone.
      Try not to crash if the envvar PATH is empty or non-existent.
      Support for modular multiplication.
      Fix bug where things like (truncate x 0) were getting converted into a
      FIND-PC-FROM-ASSEMBLY-FUN is not used for x86's.
      On sparc, undefined_tramp and closure_tramp are foreign data, not
      Port of Juho Snellman's faster bignum-gcd, which uses Euclid's
      Fix for make-instance bug reported by Axel Schairer on cmucl-help,
      Comment better on the relationship between the LINKAGE_ADDR_REG here
      Define allocation macro to handle allocation.  Use it.  (Incomplete,
      Always allocate 2 words for move-from-unsigned so we can use
      Bootstrap file for ppc allocation macro.  Don't understand why this is
      Use allocation macro instead of modifying alloc-tn directly.
      Use with-fixed-allocation to allocate a bignum instead of modifying
      Remove old, unused vop.
      Remove old, unused macro, with-fixed-allocation.  Add some comments
      Fix typo, indent neatly.
      Oops.  logxor was incorrectly computing the result type as
      o When searching for our files, check to see if the lisp binary is
      Recognize -debug-lisp-search switch.
      Incorporate Juhu Snellman's modifications to the Karatsuba
      Port Juho Snellman's implementation of Kenneth Weber's accelerated
      o Add a VOP for INTEGER-LENGTH for (UNSIGNED-BYTE 32)
      Need actual function for vm::ash-mod32 support for modular ash with
      Fix bug where (FORMAT NIL "~2f" 1234567.1) returns "1000000." instead
      Fix a bunch of FORMAT bugs caught by ansi-tests:
      FORMAT-FIXED-AUX was not printing the sign of negative zeroes (because
      PRIN1 and "~F" sometimes produces different printed results due to
      Upcase some of the character names so that ~:C and ~S produce the same
      Update with recent changes.
      Update with info from commit logs.
      o COMPUTE-TAB-SIZE was off by one (I think) in deciding if the cursor
      COMPUTE-TAB-SIZE forgot to handle the case of :section-relative
      Apply patch from Jan Rychter that implements return-from-frame
      o Move definition of MAKE-SMALL-BIGNUM earlier so it can be inlined in
      In UNIX-READ, go through and touch every page contained in BUF to make
      Fix for some ansi-tests.
      Catch uses of ~<...~:;...~> form of ~<...~> in the same format string
      Oops.  Really do need to write out the space character.
      Pathnames are supposed to be printed with #P, not #p.  (CLHS
      COMPUTE-TAB-SIZE was incorrectly computing the tab size for
      o PPRINT-INDENT should accept any real for the indentation.  We
      The CLHS entry for *PRINT-LENGTH* says
      The deftransform for random was not handling the case when NUM could
      Print out logical pathnames using #P"..." instead of
      Port lazy sxhash on symbols and one-at-a-time hash to ppc.  Use
      o Change the def-type-translator for COMPLEX to fix some confusion in
      Make UPGRADED-COMPLEX-PART-TYPE return RATIONAL for rational parts.
      (COMPLEX NIL) is the empty type, so handle that.
      ~^ inside a ~:{ loop was exiting the whole loop instead of stepping to
      Signal a print-not-readable condition when a pathname can't be printed
      When printing arrays readably, we don't need to do anything special if
      Port of SBCL's float-accuracy compilation policy.  Intended to make
      Instruction printers for lddf, ldqf, stdf, stqf can use extended FP
      o Was not correctly parsing "~*~" to mean a wild-card version.
      I think we need to enable SIGILL when we get a breakpoint interrupt
      The optimizers for double-float and single-float were causing errors
      PICK-INPUT-ROUTINE was not correctly reading in positive bytes because
      We were missing a few more places where SIGILL needs to be enabled
      Update with info from commit logs.
      Add some missing exports.
      When creating an eql specializer, tell the type system aboout this eql
      Do not signal errors when a version is given without a name.  This
      (remove-duplicates (list 0 1 2 0 1 2 0 1 2 0 1 2) :start 3 :end 9) =>
      Borrow SBCL's ARRAY-READABLY-PRINTABLE-P function and use it to
      Fix bug in profile-all not being able to profile all symbols because
      Update from commit logs.
      Align with a NOP byte instead of the default 0.  Helps the
      Add a deftransform for count for simple-bit-vectors.
      FOR-AS-ON-LIST is specified over lists, not proper lists, so remove
      Don't use NTH to determine if a list is a named structure because the
      Remove the slot named SLOT from the UNBOUND-SLOT condition.  Also
      Tell CMUCL how to pprint EXT:COLLECT and
      Oops.  When adding the allocation macro, the move-from-unsigned vop
      o Add vop for INTEGER-LENGTH of (UNSIGNED-BYTE 32).
      o Make opcode column width a bit larger because some instructions are
      o Add a pprinter for HANDLER-BIND.  Use it to handle HANDLER-BIND and
      o Need to wrap an UNWIND-PROTECT around PPRINT-LOGICAL-BLOCK guts so
      Add MFTB and MFTBU instructions to read the low and high words of the
      Enable the cycle counter for ppc.  It seems the time-base counter is
      o Don't try to scale the time-base value by 16 to get cycles, because
      MAKE-SYMBOL is supposed to take STRINGs not just SIMPLE-STRINGs.
      PPRINT-POP is supposed to return NIL when the list arg to
      Signal a type-error instead of an error when we cannot determine the
      Undefined conditions should signal type-error, not simple-error.
      We were incorrectly looking up local definitions for macros because of
      In PREPROCESS-FOR-EVAL, don't signal a debug condition when there are
      Apply Helmut Eller's patch (cmucl-imp, 2004/10/05) to make backtrace
      Oops.  We were handling the case of an OTHERWISE key, but we forget to
      Move the loop pretty-printer to its own file because of the MIT
      Weak pointers can also be circular, so check for that too.
      Increase the size of the read-only, static-space, control-stack, and
      Export some symbols from the unix package that we export there.
      CMUCL was computing the values of asin, acos, and atanh on the branch
      Signal a PACKAGE-ERROR instead of ERROR when uninterning.
      Check to see if the loop iteration variable has already been used.
      Update to set the :cmu19 and :cmu19a features.
      Move the static space location for ppc/darwin.  For some reason, OS X
      Cross-compile script for moving the static space for ppc/darwin.
      Fix loop initialization bug reported by Bruno Haible, cmucl-imp,
      Add some pprinters for COND, DEFSTRUCT, DEFCLASS, RESTART-CASE.
      Update from commit logs.
      The default value of EOF-ERROR-P arg for READ-FROM-STRING is supposed
      o Add pprinter for DEFPACKAGE, DEFMETHOD, and WHEN.
      Change RESULT-TYPE-OR-LOSE to signal an error if the sequence type is
      o Make NAMESTRING-PARSE-ERROR also be a TYPE-ERROR.  This is a work
      o CALLBACK-ACCESSOR-FORM was totally broken because it forgot to parse
      The generated callback function was not doing a very good job in
      Use a non-descriptor-reg for the header tn in var-alloc.  (From SBCL.
      Port Thomas Burdick's port of cmucl's callbacks to sbcl/ppc.
      Define a new condition class, COMPILER-READ-ERROR, a subtype of
      Add Rob MacLachlan's loop analysis code.
      Incorporate the loop analysis code into cmucl, based on similar work
      Compiler was not accepting type specifiers like (float low high) where
      Update from logs.
      Set the fill-pointer to NIL for arrays.  Bug and fix from Helmut
      After doing a READ-VECTOR, FILE-POSITION was returning the wrong value
      As reported by Rolf Wester, cmucl-help, 2004-12-06, 1d23 was causing
      o As a stop-gap for (concatenate 'fixnum '(a b c)) sometimes causing
      Add a derive-type optimizer for MAP.
      Add a new socket-error condition type, a subtype of error, and use it
      A directory component containing :WILD was not being handled correctly
      CREATE-INET-LISTENER was missing call to htonl.
      o Remove the :derive-type option from the defknowns for concatenate
      Fix some format bugs in ~{ and ~@[X~] bugs found by ansi-tests.  Many
      Add a pprinter for defgeneric.
      o Make (formatter "~vR") behave like the interpreted version.
      Clean up ~^ expander and interpreter for the 3-arg case.
      Fix the order of evaluation for REMF, INCF, and DECF, as specified by
      Update from commit log messages.
      Enable loop analysis code.  But the default is loop analysis is not
      Assign TN loop depths in SELECT-REPRESENTATIONS.
      (coerce #c(1 2) '(complex float)) was causing an error.  Fix it.
      Enable defgeneric pprinter.
      ANSI CL says when "*read-suppress* is true, read,
      Allow parse-time to parse times like "2004-12-23T09:48:30z".
      MAKE-PATHNAME will now accept an explicit :HOST arg of NIL, which will
      Update from commit logs.
      Export CALLBACK-FUNCALL and document it.
      From Helmut Eller, cmucl-imp, 2004-10-05:
      Oops.  The derive-type optimizer for logior incorrectly derived the
      This function from the misc.492 test from ansi-tests:
      Add type checks (THE) to the data-vector-ref and data-vector-set
      USER is not a nickname for COMMON-LISP-USER anymore, so remove that
      Use WITH-STANDARD-IO-SYNTAX when creating the string for arglists, in
      Change call to compiler-note to a call to efficiency-note, so we can
      Add AMOP style custom slot allocation.
      o With the heaps larger than most-positive-fixnum bytes,
      Add support for datagram networking.  From a debian bug 290503,
      Fix the count deftransform.  It was not correctly handling the case
      Scott Burson, cmucl-imp, 2005-01-26 says pre-gc-dyn-usage is sometimes
      Update from commit logs.
      Initial revision.
      Fix some floating point printing bugs.  Based on the version in sbcl.
      Martin Rydstrom reports that CMUCL with the default heap size doesn't
      Note that Solaris 10 should work now.
      On sparc, round up the dynamic-space-size to the nearest multiple 8
      Fix typo.  READ-N-BYTES is in the SYS package, not EXT.
      Temporarily disable recvfrom and friends on Darwin.
      Initial support for linkage-tables on PPC/Darwin.  This is a
      Bootstrap file for adding linkage-tables to the ppc/darwin port.  Use
      * code/internet.lisp, code/unix.lisp:
      Turn off a debugging statement inadvertently enabled.
      o IGNORE some unused args
      The array header length slot is array rank + 6, not 5.
      Print out slots in a complex array header, including dimensions.
      Symbols use the unused slot for a hash value now.
      Print out more slots of a Weak pointer.
      SCAVENGER-HOOK-P wasn't updated when the sparc port got gencgc.  Make
      Add a simple printer for scavenger hooks for gencgc.  (Without gencgc,
      Save FP register args before calling lazy_resolve_linkage.  (Might not
      Note linkage-table support for PPC.
      For solaris, add the constant +sc-getgr-r-size-max+ and use it in
      As noted by Dan Corkill, cmucl-imp, 2005-02-08, :unspecific should be
      Signal a socket-error instead of a general error when a socket
      Add vops for signed and unsigned truncate using multiplication instead
      Add a space between the args of an instruction to make it easier to
      Use register L0 (aka r26, aka %i2) instead of %g7 for the global temp
      * assembly/sparc/assem-rtns.lisp, compiler/sparc/call.lisp:
      Update to add :linkage-table and :modular-arith the the new backend
      Update to add :linkage-table and :modular-arith the the new backend
      Oops.  Bad commit.  Revert to rev 1.4.
      In dump-symbol, don't do anything special when the symbol is in the
      Oops.  L0 is no longer a boxed register.
      In some situations, the compiler spends an enormous amount of time
      Apply Lynn Quam's proposed enhancements to fd-streams allowing input
      Remove extraneous character in docstring for trace.
      o Fix typo.
      Update from commit logs.
      Update the :WHEREIN option of TRACE to support method calls.  To use a
      Workaround for bug reported by Lynn Quam, cmucl-imp, 2005-02-25.  The
      A sequence type of NULL isn't too hairy for the sequence functions.
      Fix an overfull box warning.
      Document tracing of methods better and include an example of using the
      Update the date to reflect the snapshot.
      Update from commit logs.
      Use REQUIRE instead of LOAD when loading up our system libraries so we
      REQUIRE should not disable package locks when loading the desired
      Change printer for the unimp/illtrap instruction to print out its data
      Implement tracing for the known-return convention.  This is basically
      Port Helmut's trace/known-return to ppc.  Fix some bugs along the way
      Oops.  Remove some debugging formats that we don't need anymore.
      Update from commit logs.
      DYNAMIC_SPACE_SIZE was too large and causes the heap to overlap
      Clean up #ifdef.
      o Add some notes about how breakpoints and trace work.
      Fix typo that prevented correct type derivation when
      ~G output always had a zero for the last digit when using exponential
      Add a few comments on what FLONUM-TO-DIGITS does.
      The START and END arguments and the return value for READ-VECTOR and
      Change how the CMUCL extension enabling both character and binary I/O
      Update for 2005-04 snapshot.
      The ppc port no longer uses the ppc-fun-hack where the
      Add support to print out some disassembly notes for static functions
      Add additional disassembly notes to
      New pseudo-atomic scheme that looks more like sparc where we use the
      Gdb on OS X 10.2.8 (at least) doesn't like local variables names with
      Bootstrap file for cross-compiling the pseudo-atomic change for ppc.
      Based on some discussions on #lisp, allocate-vector for ppc needs to
      The second value from READ-FROM-STRING was wrong when the string was a
      Add an invalid trait for constituent characters and apply them to the
      Fix ansi tests FORMATTER.COND.13 and |FORMATTER.COND:.6| where ~V[
      MAKE-DISPATCH-MACRO-CHARACTER is supposed to return T, not some
      Rob Warnock reports on c.l.l that
      The deftransforms for STRING<*, STRING<=*, STRING>*, and STRING>=*
      Don't clear out the last word of the allocated array.  It seems to
      The return type of COPY-SEQ is a CONSED-SEQUENCE which includes
      Fix the strange-template-failures in many cmucl-type-prop tests.
      APROPOS and APROPOS-LIST don't take the EXTERNAL-ONLY optional arg
      MIN-AND was incorrect implemented compared to the version in Hacker's
      The SCALE-FLOAT defoptimizer was getting confused when the number was
      Oops.  Fix typo.  It's '*, not just *!
      Don't use MAP_FIXED so we don't clobber existing mappings.  If we
      Signal a reader-error condition if a ratio cannot be represented.  For
      Should close up any open alloc regions before purification.  This bug
      Catch malformed (dotted) lists when reading vectors.  (Are there other
      Remove defoptimizers for scale-single-float and scale-double-float and
      Oops.  Fix typo and remove bare #if.
      Update from commit logs.
      o Signal a reader-error if a float can't be represented.
      Fix typo. * should be :maybe since array-type-complexp slot can only
      Undo rev 1.30 that close regions before purification.  This was
      *HERALD-ITEMS* is NIL when -quiet flag is used, so check for that
      Oops.  There's no L0 register anymore.  Use the register number
      Update date for snapshot.
      Update from commit logs for snapshot.
      When cd'ing, make sure any output is discarded.  This was causing
      Fix disassembler to be able to handle closures.  The disassembler was
      NIL was matching keyword args when it should match.
      Don't signal a reader-error when *read-suppress* is true when reading
      Use array-dimension instead of length when creating the result array,
      Use array-dimension instead of length when printing the length of a
      Some WITH-FIXED-ALLOCATION calls had empty bodies, which probably
      Complex arrays of any type, not just complex arrays of type :maybe,
      The :datum for check-type should be the place-value, not the place.
      The WITH-FIXED-ALLOCATION body is empty in MAKE-VALUE-CELL.  We
      Change the datum value from X to 2ND because we've already trashed X
      o Make VALID-FUNCTION-NAME-P the function name, even if it's not a
      Give a type-error instead of error if we can't disassemble a
      Supply a pathname for simple-file-error in make-pathname when we have
      Update from commit logs.
      Add a pprinter for declare.  We were print declare like
      Setting the value of the value-cell-header-slot should probably be
      Oops.  OTHER-POINTER-TYPE is supposed to be LOWTAG.
      From Gerd Moellman, cmucl-imp, 2005-05-15:
      From Gerd Moellman, cmucl-imp, 2005-05-15:
      Update with some fixes from src/tools/README.  Correct some other
      Removed.  Necessary info is in src/BUILDING.
      Change pprinter for declare to line up the variables neatly, if they
      Update fasl file version to #x19b.
      Oops.  Need a space to separate the various type forms if they're
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21:
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21:
      Patch from Gerd Moellmann, cmucl-imp, 2005-05-21:
      Bug from cmucl-imp, 2005-05-17 by Fredrik Sandstrom:
      Include the fasl-file-version in the lisp-implementation-version
      Update from logs
      Initial version of build script.
      Oops.  Remove that set -x line.
      Add some info about simple builds using the new src/tools/build.sh
      The CALLERS-P slot of PROFILE-INFO was sometimes set to a
      Fix typo.  (From Gerd.)
      Need to quote $VERSION when calling load-word.sh so it gets the right
      Fix for compute-slots, from Gerd, cmucl-imp, 2005-05-28.  The test
      Fix typo.
      Make cmucl buildable on Mac OS X Tiger (10.4).
      Try to figure out default values for the architecture and OS if the
      o Update from release notes
      Fix CALL-METHOD used outside of emf from.
      Oops.  Remove sh -x.  We don't need to see it being executed.
      Add very, very rudimentary documentation about the datagram functions.
      Save xref information to fasls.
      o Definition of DEF-CALLBACK didn't include &body.  (Noted by Luis
      From Gerd, cmucl-imp, 2005/06/11:
      Some fixes for floating-point printing bugs reported by Bruno Haible,
      Clean up some warnings.
      (format nil "~9,,,-7E" pi) was not printing any significant digits.
      Revert this back to rev 1.35.  This change had nothing to do with AMOP
      Allow :internet as a valid protocol for open-x-stream.  Fixes a typo
      Fix a few bugs in printing the pseudo-atomic notes in the
      Need to check for the pseudo-atomic interrupted bit AFTER the
      Add a new VOP for DOUBLE-FLOAT-BITS, like on sparc.  A
      From Gerd, cmucl-imp, 2005-06-18:
      * code/foreign.lisp (load-object-file): Take the truename of FILE
      Update from 19b-branch.
      Merge from 19b-branch:
      Add unix-uname.
      Merge from 19b-branch to get %unary-ftruncate fix for regression of
      Was not noticing that printing -0.0 takes an extra character for the
      Initial revision.
      Fix one missing place where a compiler message wasn't preceded by a
      FreeBSD patches from Eduardo Munoz:
      FILE-POSITION on string input streams did not accept :START and :END
      Update from commit logs.
      Update from commit logs.
      From Vladimir Sekissov, cmucl-help, 04 Jul 2005.
      Add support for netbsd for unix-uname.  From Robert Swindells.
      Revert previous change so we don't call truename on the given file.
      Fix for update-dependent on gfs, from Gerd Moellman, 2005-06-26:
      The FTRUNCATE derive-type optimizer was not correctly deriving the
      The default value for keyword args in deftype is '*, not NIL.  Make it
      Add default implementation of ED, as required by ANSI CL.  This does
      Build support for FreeBSD, based on patches from Eduardo Munoz.
      Add some missing DOCUMENTATION and (SETF DOCUMENTATION) functions for
      MULTIPLE-VALUE-SETQ is supposed to always return the primary value,
      Display start and end times for builds.  From Eduardo Munoz.
      Ignore any errors we get from computing a bound and pretend we got a
      CLHS says (setf macro-function) and (setf compiler-macro-function) are
      The deftransform for - should be constrained to operate only on
      Update from commit logs.
      Add c::*enable-modular-arithmetic*, defaulting to T, that controls
      Fix typo in error message.
      Update date to snapshot.
      Exit if malloc fails in make_var.  From Carl Shapiro.
      o CLHS (~E) says prin1 omits the plus sign of the exponent if
      No functional changes.  Just clean up the code a little.
      Funcalling a special form signals an undefined-function error, but the
      Fix issue with callbacks when given args shorter than int.  The reason
      Fix issue with callbacks when given args shorter than int.  The reason
      Change ## to the traditional /**/ so that we can compile CMUCL on
      Change CC to gcc so we can use the default version on both Mac OS X
      Change :interface to :host to match implementation.
      Apply patch from Matthias Koeppe adding annotation support to pretty
      Signal a program-error instead of error when the number of arguments
      Add a restart to ENSURE-DIRECTORIES-EXIST to retry directory
      Update from logs.
      ASIN and ACOS were getting errors when given NaN's.  Check for that
      o Fix a bug in %unary-ftruncate/single-float and
      Update to 19c fasl file version.
      Fix typo so we recognize the -? option.
      Fix for bug in alien enum types reported by Nicolas Neuss, cmucl-imp,
      (enough-namestring #p"/a/b/c/" #p"/") was returning #p"/a/b/c/"
      Update from logs.
      Correct the usage message.
      o The branch instructions were missing the branch attribute.
      Move the Darwin-specific timebase_init stuff from lisp.c to Darwin-os.c,
      Fix some issues with printing (make-pathname :directory '(:relative)),
      Update from logs.
      Pathnames with NIL hosts now use the host from
      Convert extended LOOP constructs in pprint annotations to equivalent
      GNU indent options used for indenting C code.
      Indent all source files using GNU indent using the config in
      TRANSLATE-PATHNAME should signal an error if (pathname-match-p source
      o Print out the host name when we're printing out LOGICAL-HOST
      Forgot to remove one other use of PATH2.
      Add support for multi-arch (fat) shared libs for ppc.  (From James
      Update from logs.
      Update from logs.
      ENOUGH-NAMESTRING did not work with search-lists.  Now just look at
      Oops.  ENOUGH-NAMESTRING is supposed to return a namestring, not a
      The defaults arg for PARSE-NAMESTRING is a pathname designator, not a
      Make SXHASH handle PATHNAME objects better by having it hash all the
      Fix bugs noted by Luis Oliviera on cmucl-imp, 2005/09/26.
      o A PATH-DESIGNATOR includes a file-stream, not a plain stream.
      All the instructions with an spr field had the wrong value for
      Remove the blrl instruction macro and replace it with the real
      The default case in the typecase in CALLBACK-ACCESSOR-FORM was
      The callback trampoline needs to save at least r13 and r24 to prevent
      Clean up code callback trampoline code:
      For all intents and purposes, pathnames with :version nil and :version
      Update from logs.
      Fix a couple of issues with ENOUGH-NAMESTRING not returning the
      Remove GRINDEF from the exports for the EXTENSIONS package.  It
      Use fpu_control.h and _FPU_SETCW to set the FPU control word.  Mostly
      Add a note about gdb 4.18 is the last debugger known to work with
      DUAL-CHANNEL-SIMPLE-STREAM's are missing the mode slot, which is
      Remove some (char *) casts because gcc 4.0.1 gives an error about
      Tracing with :encapsulate nil is rather broken on ppc.  So change the
      If the pathname for PROBE-FILE is actually a directory, have
      If the pathname for PROBE-FILE is actually a directory, have
      o Adjust CALLBACK-ACCESSOR-FORM to handle 64-bit integer and
      Update bootfile directory version to 19c, since we're fasl version 19c
      Fix a bug in compute-restarts failing to compute the correct
      Update from logs.
      Update from logs (again).
      Revert previous change for now.  It causes some additional ansi-test
      Port SBCL'S support for detecting when destructive functions (such as
      Bootstrap file for the port of SBCL'S support for detecting when
      Fix some issues with two-arg log function.  (log 17 10f0), (log 17f0
      The stack pointer is supposed to be on a 16-byte boundary, so make
      The stack pointer is supposed to be on a 16-byte boundary, so make
      Slight modification so we don't cause underflows when the
      CLHS says if " token with the syntax of a number cannot be
      WITH-INPUT-FROM-STRING should not modify the index if it does not exit
      Fix typo.  It's ":-", not "-:"!
      A name that is a declaration cannot be the name of a deftype,
      CMUCL cannot readably print a pathname with just a version component,
      Oops.  A version of nil, :newest, or :unspecific is ok without a
      Fix ansi-test logical-pathname.error.2 which was failing because
      Compiler was not handling things like the following:
      o Only need to save r13 and r24 because the linkage-table entry uses
      Update from logs.  (These should be moved to release-19d!)
      Add some vops to handle logand of signed and unsigned.  Based on the
      Signal an error when trying to create a namestring if the name or type
      A pathname name may contain a dot if a pathname type is given.
      DESTRUCTURING-BIND is confused sometimes if a circular list is
      Add :modular-arith to desired features.
      CLHS says for ~E:
      Add an extension to allow printing pathnames using the syntax
      o Make HEAD version of release-19c.txt match the actual release-19c.txt
      Change how the important-result stuff is implemented.  We no longer
      Oops.  Remove unused function, and make sure we have an array type
      Oops.  It helps actually to check to see if the result of SORT or
      Fix warning:  :precision-control isn't used, except on x86.
      Add more precise checking for results not used for functions like
      Fix bug in peek-char for Gray streams.  Reported by Walter Pelissero,
      Alignment of objects inside of structures is weird on Mac OS X.  The
      Bootstrap file for adding documentation type for typed-structure info
      CMUCL wasn't properly calling C varargs functions because it wasn't
      Update from commit logs.
      Add LONG-LONG and UNSIGNED-LONG-LONG types to the C-CALL package.
      Remove some unused macros and stuff.  From Carl.
      Fix a minor typo in the Mode line.
      Don't try to copy the FP arg to the stack.  This isn't working yet; it
      Merge changes from the 19c branch.
      Fix up issues with calling varargs functions.  (There is probably a
      Modify DOTIMES macro so that it always iterates the specified number
      Fix the long-long callback issues reported by Luis Oliveira,
      We were not properly creating a unsigned 64-bit int from the two halves.
      We were not properly creating a unsigned 64-bit int from the two halves.
      Style change:  use let instead of let*.
      Update from logs.
      Do not signal an error when trying to retrieve the documentation for a
      A single leading dot in the name portion is ok when printing the
      Remove the dependency in DESCRIBE-PARTS on PCL.  We do this by
      Fix bug reported by Drew McDermott, cmucl-help, 2005/12/07.
      The boxed register reg_FDEFN is r10, but r10 is one of the registers
      o Change :cmu19a to :cmu19c
      Make ppc port look a little more like sparc by making
      Remove unused code.
      Instead of putting the static-function-offset into LIP, put it in
      For a full call, copy the function to code-tn, which is what the sparc
      Fix typo with missing paren.
      Add a few debugging printfs.
      Missing a nop in breakpoint guts.
      Change initial value of *trace-encapsulate-default* to be :default for
      Fix a couple of typos in the names of the lisp registers.
      Sun Studio 11 understands .S so comment out that rule.
      Add support for sysinfo on Solaris.
      Update from logs.
      o Add new condition REFERENCE-CONDITION which is used to include
      Fix bug in parsing times.  Things like "Tue Sep 7 18:56:57 UTC 2004"
      WITH-SLOTS and WITH-ACCESSORS should probably be pprint'ed more like
      (multiple-value-bind 1) caused an error while pretty-printing.  Make
      Update from logs.
      INTERVAL-MERGE-PAIR was incorrectly merging the interval [-0.0, -0.0]
      DESCRIBE had the test for adjustable arrays backwards, so it said all
      EVENT-LISTEN is not an external symbol of XLIB.
      Merge ppc_gencgc_branch to HEAD.
      Implement UNIX-GETGRNAM and UNIX-GETGRGID.  Identical to the versions
      Oops.  Indent code according to style.
      Fix some issues with ppc callbacks.
      Update for ppc callbacks.
      Change pprinter for flet/labels so that it prints like a list if the
      Implement tracing of flet/labels functions.  This probably needs more
      Mention tracing changes.
      Update from logs.
      Add pprinters for pseudo-atomic, without-scheduling,
      Initial revision.
      Add some notes about doing a cross-platform cross-compile.
      Remove some blank lines.  And test of new cvs-mailcommit.
      o Test new mailcommit
      o Test new mailcommit
      o Test new mailcommit
      o Test new mailcommit
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Test new mailcommit.
      o Allow disassembly of flets/labels functions
      Signal an error if we try to trace flet/labels functions using
      o Change the *print-level* and *print-length* for disassembly to allow
      When scavenging interrupt contexts, we need to scavenge LR and CTR
      Oops.  Fix a couple of typos (missing paren) and reindent
      Update from logs.
      Don't declare the stream type so the etypecase can detect bad
      The mcrxr instruction is very, very slow on a G5, so don't use it.
      Update from logs.
      Testing cvs-mailcommit.
      o Disable gencgc consistency checks for DARWIN (but leave asserts
      Convert more simple-error's to socket-error's so usocket and do
      fpu_restore was missing a blr instruction.  (Noted by Cyrus Harmon.)
      Export UNIX-GETGRNAM and UNIX-GETGRID for ppc.
      Fix pprinter bug in format string when outputting badly formed slots
      I think we should make the code-tn be set before we set the ctr
      LOOKUP-HOST-ENTRY returns a second value now.  If LOOKUP-HOST-ENTRY
      Use a pprint-newline :linear style instead of :miser when printing out
      Handle circularity detection in logical blocks better.  (Ported from
      Update from logs.
      The CLHS entry for SET-SYNTAX-FROM-CHAR is also supposed to copy the
      Fix up some more Ansi test failures with SET-SYNTAX-FROM-CHAR.  This
      Fix properties of #\|.  It is a multiple-escape character, but its
      Remove the unused and bogus check for a valid pc.  The information we
      Oops.  Restore ability to trace setf functions, which was broken when
      Oops. Register A0 was not properly initialized for the undefined
      When reverting a file, don't delete the file if there was no
      Update from logs.
      Linux (just x86?) doesn't have h_errno.  But it has __h_errno_location
      o Add docstring for *IGNORE-WILDCARDS*.
      Fix a few compiler warnings pointing to real issues:
      o Remove unused HANDLE-ADD-INST.
      Update from logs.
      Try to extract any declarations for the loop counter in DOTIMES and
      CLHS says at least one digit must be printed after the
      CLHS that if d is omitted, no trailing zero digits may appear
      Update from logs.
      Update from logs.
      It seems we need kernel::%sqrt to be defined for sparc.  It's used,
      More updates for disassemble of flet/labels functions.  If the
      Tell compiler about disabled package locks too.  This solves (works
      Don't produce a continuable error in INTEXP, if we're raising 1 to
      Oops.  Fix stupid typo which causes a type error when disassembling
      Add comment about what this is trying to do.
      Fix symbol-macrolet + declare ignore bug found by Pascal Costanza,
      o Update from commit logs in preparation for snapshot
      This large checkin merges the double-double float support to HEAD.
      Random double-double floats.
      Fix bug about LISP::SOCKET-ERROR not being a valid class.  From Craig
      Include the bounds for double-double-float when we specify bounds for
      Oops.  We can only apply the sqrt deftransform for
      Export KERNEL::DD-PI, and import it into the EXT package and re-export
      Add a function to describe a double-double-float, including its
      Make a note that double-double arithmetic is no longer inlined by
      The subtype_Names array had one extra slot, so that
      Print the identity when printing out weak pointers.
      Oops.  Use 0d0 instead of 0w0 when creating a double-double-float in
      Merge in changes from the cross-compile scripts used for the
      Add support for double-double-float.
      Minor change so we can cross-compile a Cheney GC version from a gencgc
      On a C stack overflow, call segv_handle_now instead of
      Don't add bounds for double-double-float component of float.  This
      Forgot a case for double-double floats in verify_space.
      Initial import.
      Add the trig argument reduction routines from Sun's fdlibm so we can
      Add better trig arg reduction via Sun's fdlibm.
      Just add some comment about the routines implementing accurate sin,
      Update from logs.
      o Remove unused code in ABS for double-double-float
      Implement accurate arg reduction for the trig functions sin, cos, tan,
      Oops.  The argument reduction routine doesn't like negative numbers,
      Compile in k_rem_pio2.c.
      Compile in k_rem_pio2.c.
      Compile in e_rem_pio2.c and k_rem_pio2.c.
      Port sbcl's changes to room to handle gencgc allocation better.
      Include whether a hash-table is weak or not when describing a
      When freeing a hash entry, reset the kv-vector entry to empty.  If we
      Don't hardwire the :EMPTY symbol all over the code.  Element 1 of the
      Add a new function scan_weak_objects() to can weak pointers and weak
      Update from logs.
      Weak pointers were being scanned too often such that the weak pointer
      Update to match the cross-compile script used for double-double
      Add one more place where we scan the weak hash tables, because we
      Add a note about vectors that the data portion of the header word is
      Instead of using :empty to denote empty hash entries, use
      Weak pointers should be scanned after weak tables because entries in
      o Print a warning when creating a weak hash table with a test other
      Update from logs.
      Oops.  Enable :double-double and :gencgc, by default.
      Add support for weak value, key-and-value, and key-or-value hash
      Oops.  Add new static symbols needed for new weak hash table types.
      Oops.  Forgot to define hash_vector.
      Aargh!  Was filling the wrong entry in the hash_vector when freeing an
      Add BASE-CHAR and CHARACTER to
      o Update from logs
      Print out what kind of weak hash table we have.
      Some very basic support for signed zeroes for DOUBLE-DOUBLE-FLOAT.  We
      Document :wherein-only option for trace.  Add a note on how to trace
      Add a target to create a tar file of the html files.
      Plain "<foo>" doesn't do what we want.  Use \var{foo} instead.
      Fix pdf bookmarks (for more recent versions of pdftex).
      Oops.  Change = to ==.
      Handle forward-referenced classes.  This is needed to build McCLIM
      This set of changes removes the constraint of the READ-ONLY space
      Put some newlines in the messages from red-zone-hit and
      Restore alloc-tn and null-tn in interrupt_handle_space_overflow.
      Update fasl file version to 19d for snapshots.
      Floating-point fixes for ppc.
      SIGCONTEXT-FLOAT-REGISTER should return a single-float if the FORMAT
      Implement GET-FP-OPERANDS so that more information can be printed out
      Initial revision of release notes for 19e.
      Match ppc changes.
      Update from logs.
      The value for an ADDIS instruction can be negative.  Make it positive
      Change default dynamic space size to 256 MB.
      Implement faster logcount, using same algorithm as Sparc.
      Previous fix for negative values was wrong.  Fix it.
      Apply Martin Rydstrom's fix for forward-referenced classes.  This
      Fix the bug reported by Madhu on cmucl-imp, 2006/12/16:
      Fix issue reported by Albert Reiner, cmucl-help, 2006/10/20, and fix
      Micro-optimization:  abs of 32-bit integers can be done without
      Version numbers should not start with 0.  This causes problems
      DOUBLE-DOUBLE-FROM-BITS was returning the low part with the incorrect
      Fix trac ticket #8: 2-arg log function can't compute some logs.
      Merge LOG2 and LOG2-DD into one function.
      Update from logs.
      Remove double-double helper functions used to get two-arg arithmetic
      Fix expt derive-type optimizer.  The compiler was deriving the result
      Only run psset if psset is available.  Otherwise, just copy the file.
      Add footnote that FWRAPPERS were independently developed, but modelled
      Add footnote that Paul Foley contributed cmucl's simple-streams
      Update from logs
      Fix bug in expt type derivation.
      Provide :gray-streams.
      Add support for dynamic-extent for ppc.
      Document tracing for FLET/LABELS in the docstring.
      Was not getting the right instruction for the faulting floating-point
      dd-%expm1 was computing the wrong values.  Fix it so that it works.
      Export DOUBLE-DOUBLE-FLOAT from the VM package.
      Export GET-FP-OPERANDS on ppc.
      Better conversion of bignums to double-double-floats.  Also fixes the
      The TN lifetime and targeting stuff appears to be broken for
      o Oops.  Offset for second word of a
      Fix the stack part of the MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT vop.  It
      Oops.  Put back the lifetime and targeting stuff for
      Get the lifetime right for the lo arg to the vop
      INTEGER-decode-double-double-float was not combining the two parts
      Fix typo.
      o Remove some extraneous (typo) parens for
      MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT doesn't handle the case where the arg
      o Fix typo handling complex-double-double-reg-sc-number case.
      SHADOW takes "a designator for a list of string designators".  This
      Update from logs.
      Oops.  It's fldd, not fld, to load up double-floats.
      Update from logs.
      Use unix-mmap from unix.lisp because mmap can return "negative" values,
      Make parse-time recognize output from asctime/ctime.
      Replace double quotes with appropriate TeX quotes.
      Allow descriptors for COMPLEX-DOUBLE-DOUBLE-FLOAT-VALUE.   This gets
      Allow descriptors for COMPLEX-DOUBLE-DOUBLE-FLOAT-VALUE.  This gets
      o Reinstate :load-if for MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT.  It seems
      Update header tags with latest version.
      o Allow descriptor regs for COMPLEX-SINGLE-FLOAT-VALUE and
      o Allow descriptor regs for COMPLEX-SINGLE-FLOAT-VALUE and
      Update from logs.
      Update comments because the foreign linkage space and dynamic space
      Trac ticket #9: parse-time mishandles invalid number of days in a
      Apply fix for default-initargs where initialize-instance and
      o Update from logs.
      When purifying the static space, change the loop condition from != to
      o when verifying a space, print out both the closure_tramp and
      The arguments of the A instruction format were in the wrong order.
      Trac ticket #10
      Oops.  Forgot to add the type code for complex-double-double-float.  I
      DD-COMPLEX-ASIN was returning the wrong value for real z and z < -1.
      DD-COMPLEX-ATANH was returning the wrong value for real z and z > 1.
      o Make DD-%ATAN2 handle signed zeroes.  This is needed to get branch
      Make scale-double-float maybe-inline so it can be inlined if needed.
      o Remove some unused constants
      We were not correctly reconstructing double-double-float signed zeroes
      Revert the previous change to DD-COMPLEX-ATANH.  If z < -1, just call
      Update version to 19d so we look in the correct directory for
      Fix typo.
      Bootstrap for fused multiple vops for ppc.
      DOUBLE-DOUBLE-FLOAT-VALUE VOP accepts descriptor-reg args now.
      Make DD-%SIN and DD-%TAN return -0w0 when the argument is -0w0.
      Some changes proposed by Madhu on cmucl-imp, May 3, 2007.
      DOUBLE-DOUBLE-FLOAT-VALUE VOP accepts descriptor-reg arg now.
      Update from logs.
      This checkin adds some debugging code for the x86 heap corruption
      No longer link libXm statically.  We haven't been doing that for
      Oops.  Fix typo where some RETURN-FROM'S were returning from the wrong
      Displaced arrays should have element types that are type equivalent.
      Oops.  Remove extra paren.
      More RETURN-FROM's returning from the wrong block.
      Fix bad phrasing.
      Make the reader faster when reading #1= constructs when there are lots
      o Remove a version of TWO-PROD that wasn't actually used.
      o Inhibit warnings for POLY-EVAL and POLY-EVAL-1.
      Update from logs.
      o Add support for Linux executables.
      Add initial support executables on Solaris with gcc.  Executables are
      Oops.  Don't need set -x anymore.
      Add comment that *current-region-end-addr* is a Lisp fixnum, but we
      Remove the sunos-map-file when linker.sh exits.
      o Declare undefined_tramp and closure_tramp as functions instead of
      Initialize variables to silence dbx runtime-checking notes:
      Update from logs.
      Environment access functions from CLtL2.  Not all of the functions
      Add (INHIBIT-WARNINGS 3) to various bits of double-double float code.
      VERIFY-WHEREIN in TRACE-1 was not using its first arg, so it wasn't
      Add (INHIBIT-WARNINGS 3) to get rid of unavoidable note.
      Declare optional arg of ED as ignorable.
      %TIME doesn't use the optional arg, so remove it.
      Use better gensym names for DEFINE-MODIFY-MACRO so that DESCRIBE can
      Update DECLARATION-INFORMATION to return values for DECLARATION.  Not
      Add support for executable stuff using Sun C on sparc.  The executable
      Solaris needs libgen.h to define dirname.
      Generate more informative gensyms.
      Tweak grammar.
      Ticket #11
      Update for Trac ticket #11.
      Update from logs for 2007-09 snapshot.
      Apply patch from Walter C. Pelissero, cmucl-imp, 2007-09-05, fixing
      Untracing of flet/labels functions wasn't working and neither was
      Oops.  Really get rid of lisp::sxhash-instance.
      Fix bug noted by Chisheng Huang, cmucl-imp, 2007/09/24.
      Fix bug noted by Chisheng Huang, cmucl-imp, 25 Sep 2007.
      Update from logs.
      Fix bug in parse-time noted by Chisheng Huang, cmucl-imp, 24 Sep 2007:
      Update from logs.
      Fix for Trac ticket #1.
      Oops.  Delete extra paren.
      The floating point precision was always getting reset to :53-bit, even
      "which gmake" returns values that confuses the script for some
      Fix problem with cross-compiles needing SXHASH-INSTANCE because TRACE
      o Make the implementation of the log approximation the same in
      Remove incorrect comment.
      If the number is exactly zero, make the printed exponent be zero,
      Fix typo.
      o Add RATIONAL-TO-DD, an accurate method to convert rationals to
      o Use new RATIONAL-TO-DD function to convert bignums to
      Update from logs.
      Slight reimplemention of how tracing of local functions is done.   We
      Update from logs.
      Update to 19d.
      Import Paul Foley's external-formats support.
      Oops.  Don't need -x flag anymore.
      Update from Paul Foley.
      Update from logs.
      This removes some code duplication by moving bref, etc. (accessors for
      Lynn Quam noted that callbacks did not work on his system.  This
      Export symbols from xvidmode, xrender, and shape extensions.
      In UNIX-MMAP, replace FILE-OFFSET with (SIGNED-BYTE 32), since
      Fix some mistakes accidentally introduced in the sigcontext
      To make single-float operations produce correctly rounded single-float
      Handle the case where which returns nothing if it can't find the
      Oops.  Remove errant set -x
      o Add -p option to skip loading of PCL
      Update from logs.
      From Helmut Eller, cmucl-imp, 2007/11/29:
      This has the same issue with finding make as in build.sh.  Copy over
      o We now have Darwin on x86 and ppc.  Use uname to tell us which.
      See bug reported by Madhu, cmucl-imp, Nov 27, 2007 and the following
      Get rid of a compiler warning on sparc.
      On x86/darwin, tracing only works with encapsulation, so make the
      Tracing with :encapsulate NIL works on Darwin now.  There are some
      Abstract out the access to the eflags register in a sigcontext.
      The null mcontext issue appears to be gone on Darwin.  But leave a
      Update from logs.
      Update from logs.
      Export some symbols from the UNIX package for darwin/x86 to get rid of
      Clear the FPU status word before loading the control word from the
      Compile e_rem_pio2.c and k_rem_pio2.c with -ffloat-store on those
      Move the rules for e_rem_pio2.c and k_rem_pio2.c from GNUmakefile to
      Update from logs.
      o Add a new section for double-double-float numbers.
      Add /opt/local for Macports version of Motif.
      Fix typo.
      o Restructure the Floats section slightly and remove the sub section
      Update docstring to note that weak tables can be created only with a
      Add some rudimentary documentation for weak hash tables.
      Use "extensions", not "ext" as the package, to be consistent with
      o Fix typo (MT19937, not 87)
      o Fix typo
      Fix some overfull boxes by rewording a few items.
      Fix a format regression.  (format nil "~21E" (expt 2d0 120)) was
      o Incorrect number of digits were printed for ~wF.
      Was failing to print enough digits for things like (format nil
      Rewrite the %single-float/singed and %single-float/double-float vops
      Enable new %single-float/unsigned vop too.
      Add new interface to ieee754_rem_pio2.  No longer need to pass in an
      Fix issue with truncate with a double-double-float divisor.  Bug noted
      Fix typo in accurate-scale-exponent.  Was not handling
      o (format nil "~9,3,2,-2,'%@E" 1100.0) was printing %%%%%%.  It should
      Minor tweak.  dd is always positive in the fixed format case for
      Split CFLAGS into two parts.  One contains all flags except
      Briefly document the :EXECUTABLE option to SAVE-LISP.
      Oops.  Revert previous change and use the -fno-strict-aliasing option
      But ww-1-n can be negative, so clip it to 0, if needed.  This doesn't
      Change fasl file version to #x19e.  Use boot-19e.lisp to make this
      Update cross-scripts to :cmu19e.
      ASFLAGS should use $(GENCGC) and $(LINKAGE_TABLE).
      Compile e_rem_pio2.c with -fno-strict-aliasing.
      Revise again.  Don't limit the fraction digits.  Just print out
      Correct some comments.
      For ~w,dF, don't print out too man leading digits if the number is
      Change the range of when %sin-quick, %cos-quick, and %tan-quick is
      Replace some incorrect usages of with-empty-tn at fp-top with
      Nothing special needed in extern-alien-name.
      Remove redundant info.
      Make a note that hevea 1.10 produces odd looking html.  Also note that
      Oops.  It's OLD-X86, not OLD-SPARC!
      Need to export the following so cross-compiles work better:
      o Don't wrap the body in an #ifndef/#endif because this file is
      o In LOAD-FOREIGN-SYMBOL, the #+(or sparc ppc) stuff is really only
      o Update from logs.
      Make RATIONALIZE work for double-double-floats.  (From an email today
      o Update date
      Ignore html
      Small tweak to SPLIT.  Set the threshold between the two algorithms to
      Trac ticket #13.
      Merge fix for compact-info-env from release-19e-branch.
      Merge fix from release-19e-branch.  os_validate should return NULL on
      Merge changes from 19e branch.
      Initial revision.
      Update from logs.
      Merge fix from release-19e-pre1 to fix ~g problem with printing 0.0
      Fix bug in backquote printer.  If the variable is @foo, we
      Try to derive the rank of the array even if the resulting array is not
      (format nil "~5f" 1d-10) was printing out way too many zeroes,
      Fix off-by-one bug in ~R which prevents printing numbers from 10^63 to
      Include iso/limits_iso.h to get UINT_MAX.
      Oops.  It should be limits.h.
      Make compiler and interpreter handle slot-value the same.  See thread
      Missed a place where flonum-to-string wasn't converted to use keyword
      Update from logs.
      Pprint ansi-loop::loop-body like a progn.  Perhaps that's not right,
      o UNIX-GETPWUID is for all BSD systems.
      Merge changes from 19e branch.
      o Trac #13 is fixed in 19e.
      Oops.  DERIVE-TYPE optimizer for EXPT was returning invalid type
      Enable double-double-float bounds for the FLOAT type translator.
      o Pathname printer was producing an error for (MAKE-PATHNAME :HOST NIL
      o Fix type-derivation for the basic DOUBLE-DOUBLE-FLOAT arithmetic
      Update from logs.
      Trac #14:  cmucl.css missing from html tarball
      Ignore cmu-user-letter.ps.
      Actually implement the DATA-VECTOR-REF-C and DATA-VECTOR-SET-C vops
      When SCALE-FLOAT would underflow, return a floating-point 0 of the
      Use single/double-from-bits to create the result, to match the style
      Update version so we look in the right place for bootstrap files.
      Declaim vm::*note-sethi-inst* and vm::*pseudo-atomic-set* to get rid
      Move the GET-FP-OPERANDS stuff from compiler/sparc/float.lisp to
      Initial version.
      [cmucl-ticket] #16: Read-time hash-table issue
      Update from logs.
      Update fasl codes from the current values in load.lisp.
      Fix critical typo.  We want to store the value, not the result.  (In
      Have trace files contain a little more info.
      Make printing of the debug arglist a little more robust.  An example:
      Update from logs.
      Include the object address when there's an error in printing the
      Double-double float bounds don't work on ppc/darwin for some reason.
      Add functions for fused-multiply-add and fused-multiply-subtract.  Not
      o Add OLD-VM as nickname.
      Fix issue with slot-value-using-class and
      Oops.  Put that note in the PCL section.
      o Add a few comments
      RENAME-FILE should create the defaulted-new-name from merging new-name
      New external format stuff from Paul.
      Create a new search-list "ext-formats" that is initialized to
      Make DIRECTORY work faster when there are a large number of files.
      Cosmetic change to WITH-OPEN-FILE so that the macro argument looks
      Update from Paul:
      Use the length of CARDINAL-PERIODS instead of a hard-wired literal 21.
      Some cleanups from Paul Foley:
      Add convenience functions OPEN-NETWORK-STREAM and
      Add deftransform for %single-float and %double-float so we can convert
      Should be period < length, not period <= length.
      Update from logs.
      More cardinal names.  From Paul Foley.
      Update from logs
      Fix minor issue:
      Fix mistake in previous checkin.  CARDINAL-PERIODS must have a leading
      Fix for Trac #17: LOOP NAMED NIL has no effect
      We always need a block NIL when there are no named loops because
      Oops.  Fix typo.
      Export ACCEPT-NETWORK-STREAM and OPEN-NETWORK-STREAM to get rid of a
      Update docs, from Chun Tian, cmucl-imp, 2008/07/18.
      Add very rudimentary docstring for INET-SHUTDOWN.
      Add some better docstrings.
      Network updates from Chun Tian, cmucl-imp, 2008/07/21 and followups.
      Fix typo.
      For some reason the vm::ash-left-mod32 is never translated using the
      Like on sparc, change cost of FAST-LOGAND-C/SIGNED-UNSIGNED=>UNSIGNED
      Update digit-ashr, digit-lshr, and digit-ashl to support an immediate
      Remove unused code for multiplier recoding.  This is now part of
      The character names listed char-name-alist need to be a capital letter
      Enable lookup of foreign function names using dladdr instead of just
      Simplify the definition of the modular functions by macroizing the
      Don't want to skip modular arith stuff if the result is known to fit
      o LOGAND-DERIVE-TYPE-AUX was deriving the result to be too wide for
      Add VOPs for RAW-REF/SET for the case of a constant index.
      Try to read 627 random words from /dev/urandom when initializing the
      Oops.  Last change didn't correctly handle the case where one of the
      o A seed of 0 should be ok in INT-INIT-RANDOM-STATE.
      Update from logs.
      A fix for the error that causes di::handle-breakpoint to complain
      Use new compute_offset for ppc too.  Fixes the same unknown breakpoint
      New compute_offset is working on Solaris with Sun C now.  Enable it.
      Add explicit rule for building version.o.  Needed if you do parallel
      Add UNIX-GETGRNAM to export list for the UNIX package for x86/darwin,
      Fix mistake; remove &optional.
      Fix long-standing bug where C-c sometimes causes a segfault on
      Update comments.
      Change how we handle function end breakpoints for non-x86.  We don't
      Add a new section giving some examples of tracing.
      Clean up sigbus-handler.  I don't think we should be calling
      Enable gencgc page protection for x86/darwin.
      interrupt_maybe_gc isn't used with gencgc, so don't compile it in when
      Oops.  If we make clean, make sure lisp.nm is regenerated.
      Fix long-standing issue on sparc and ppc with linkage-tables.
      After building the C code, we need to run build-world again to create
      Fix typo.
      Should only need to run build-world a second time only for the first
      Minor tweaks.
      With the gencgc write barrier in its own function, we can enable
      Print out a warning message if we get a real protection fault.
      Minor tweak to aid cross-compile from systems that don't have
      o Only use one version of LOOKUP-SPECIAL-SYMBOL for all
      Add OLD-VM as a nickname for the old backend.  Use the nickname
      Update from logs.
      Add some checks to bad eval-when situations.  Print a warning if there
      Update from logs.
      Fix unix-openpty.  The parameters should not include amaster and
      Export UNIX-OPENPTY.
      Cosmetic change: add vertical bars (or spaces) to separate octets when
      Move LOOKUP-SPECIAL-SYMBOL to get rid of some compiler warnings.
      Comment out the setquota entry so we can compile on Linux.  (This
      Ticket #24.
      Speed up bignum-truncate by getting rid of the special variables
      Correct some comments referring to the (now) nonexistent *truncate-x*
      I think we can turn off debug 3 for KARATSUBA.
      o Add new condition type for exceeding the intexp maximum exponent.
      Update from logs.
      Update from logs: unix-openpty.
      Merge in SSE2 changes from sse2-packed-branch (tag
      Info on SSE2 support.
      *pcl-system-date* may not be long enough for subseq to work.  Add a
      o Turn off complex contagion stuff because it breaks things like
      Re-enable :complex-fp-vops on sparc.  The simple FFT butterfly is 2.5
      o Enable the complex-contagion deftransforms
      o Fix typo in complex-double-float-*-double-float vop:  unpcklpS ->
      If either FEATURE_X87 or FEATURE_SSE2 is set, build the C code with
      Enable SSE2 when either FEATURE_X87 or FEATURE_SSE2 is set so the C
      Add back deftransforms for real+complex and real*complex when
      Indent a maphash neatly.  No other changes.
      The checks for a NULL mcontext in FIND-ESCAPED-FRAME are no longer
      For sparc we pretty much always have to run build-world twice.  We
      PCL::SLOT-INIT-FORMS returns two values.  Update tests to reflect that.
      Trac Ticket #26:  slot-value type check.
      Fix Trac #25.
      Use SLOT-TYPE-OR-T instead of SLOT-DEFINITION-TYPE so we honor
      Initialize fpu_mode.
      os_sigcontext_fpu_modes should return a 32-bit int, not a long since
      Change type of fpu_type from int* to fpu_mode_t*.  This gets rid of a
      Change how we put the FPU type into the core file.  We can't use
      Fix tracing on Darwin.  The jmp instruction at the beginning of
      Update from logs.
      Remove all references to SCALE-EXPONENT and friends.  They've been
      Make the x87 core the fallback if the chip supports SSE2, but we can't
      Update for x87 fallback case.
      INNER-COERCE-REAL-BOUND needs to coerce to DOUBLE-DOUBLE-FLOAT, when
      Oops.  Need to move %DOUBLE-DOUBLE-FLOAT from compiler/float-tran.lisp
      CLHS says the interval designator should have the same type as the
      Coercing the double-double-float bounds now works on ppc for the FLOAT
      Update for REAL and FLOAT type specifier changes.
      Add -mmacosx-version-min so the resulting lisp can run on older
      Use a two-byte jmp instruction in function_end_breakpoint_guts.  This
      Apply patch from Stelian Ionescu on cmucl-imp, 2008/12/24 to allow
      Clean up Config, like in linux_gencgc, removing LINKAGE, GENCGC, and
      Replace $TIMER with time, everywhere.
      Support building and running on OSX 10.4 (Tiger).
      o Clean up min OSX version stuff.
      Add -I and -M options:
      No functional changes; just group some of the symbols in EXT together
      More EXTENSIONS symbols rearrangement.
      More cleanups:
      o Fix typo in defknown result type for %COMPLEX-DOUBLE-DOUBLE-FLOAT.
      o Group float extensions together
      Group the Spice Lisp extensions together.
      Fix for handling arithmetic errors with x87.
      o Move the 10.4 macro definitions outside the function.  They're used
      Move defvar of *ALLOW-FUNNY-SLOT-NAMES* from std-class.lisp to
      Add cpuid function.
      Update from commit logs.
      o Add a VOP that runs the cpuid instruction and returns the results.
      cd - doesn't work in /bin/sh, so we need to run that part in a
      Oops.  Don't need v flag when tarring up the files.
      o Minor tweak to CPUID tn lifetimes.  Allows level to be packed into
      Oops.  Make the default directory for the man pages man/man1 instead
      Document the -fpu option.
      Document the -- option.
      Use a float for the bounds of a float type specifier.
      Trac #29:  make-condition doesn't accept class objects
      Fix typo with misplaced paren.
      Update script to support SSE2 builds.  (Basically copied from the sse2
      o Add a little text to unix-chmod docstring to describe the mode
      Initial revision for x86 linux config using x86_common.
      o Change default Linux config from linux_gencgc to x86_linux, to match
      Update from logs.
      Setting OSX_VERSION for 10.2 doesn't seem to produce an executable
      Initial version
      Merge changes from RELEASE_19f.
      Trac Ticket #31: pathname bug with :case :common
      This big of code causes CMUCL to spend huge amounts of time trying to
      Look in the 19f directory for bootfiles.
      Carl fixed the aliasing issue in e_rem_pio2.c sometime ago so we don't
      Need to load x87-c-call if we're not running an sse2 build.
      Update from logs.
      Print out the length of the array for simple arrays.
      o Add some docstrings to READ-VECTOR and WRITE-VECTOR.
      Merge change from unicode-utf16-extfmt-branch that fixes the end index
      Merge change from unicode-utf16-extfmt-branch that fixes a typo.
      Merge Unicode work to trunk.  From label
      Make the deftransforms for sxhash for single-float and double-float
      Fix potential issue with spurious signals when dividing a complex by a
      Update complex vops so that the output of each vop clears out the
      For Linux, default to gencgc.
      Fix issue with complex contagion on sparc.  The vops for complex+real
      o Fix deftransforms to do contagion correctly:
      Add DESCRIBE-CHARACTER function to describe characters.  This includes
      Cleanups for non-unicode build.
      Merge portable-clx (2009-06-16) to main branch.  Tested by running
      Merge portable-clx (2009-06-16) to main branch.  Tested by running
      Compile in the new files screensaver, xinerama, and xtest.  These are
      There is no external-formats library.  Don't try to build it and don't
      Update example for target: search-list to work with the default CMUCL
      Update docstring for CASE and TYPECASE to mention that Otherwise can
      Compile and load unidata.lisp, even for non-unicode builds so that we
      SETF-SLOT-VALUE-USING-CLASS-DFUN was signaling errors when checking
      Change all references to char-code-limit to 256 when compiling on a
      Use a loop for %SP-BYTE-BLT for Unicode.  This makes display work.
      Fix bug introduced when converting tables from hashes to ntries.  From
      Actually implement cp1253 external format.  (Was missing the table.)
      Update with data Unicode reference.
      Update all tables to use the data from the Unicode site.
      Fix FILE-STRING-LENGTH to handle unicode streams.  From Paul.
      Update from logs.
      o Fix typo (extraneous backquote).
      Update STRING-ENCODE and STRING-DECODE to handle surrogate pairs
      GENTEMP sometimes generated the wrong symbol because the
      Update from commit logs.
      Make reading and writing from files work with unicode.  (Of course,
      Oops.  For x86 builds, we don't want to clean out everything on the
      o Oops.  Make a note about allocation issue on sparc and ppc that has
      Fix precision bug.  On x87 builds, the precision was set to 64 bits
      Update from logs.
      Treat Unicode symbol characters like characters without case so they
      Fix compiler warning on sparc.
      o Fix a compiler warning about inconsistent arg types.
      Add new config for sparc/solaris, matching what was done for x86.  The
      Fix spacing for Unicode herald item.
      Use the same formula here as used in the deftransform for complex
      Protocol needs to be set for open-x-stream as well as
      Clean up a few compiler warnings about unused variables.
      Oops. Forgot a few places to set up c_symbol_name for non-Unicode
      Add enum for the linkage type code.
      Indent docstrings for read/write-sequence so it lines up like other
      Add pretty printer for stream::with-stream-class.
      Make simple-streams work with the new Unicode external format
      o Load simple-streams library if needed.
      Remove *TRACE-PRINT-LEVEL* and *TRACE-PRINT-LENGTH*, which don't
      Update from logs.
      Oops.  Remove debugging print.
      Fix some typos.  From Paul Foley.
      Fixes from Paul Foley:
      Document change to *default-external-format* and stream:set-system-external-format.
      Update from logs.
      Fix a few typos.
      Oops.  utf16-string-p was returning NIL if the codepoint was
      Compile and load the external format code.
      o Put some comments back in.
      Don't want debug 0.  Makes debugging much harder.
      Some symbol cleanups.
      When describing a character, indicate if the character is a surrogate
      There is no or function in my version of GNU make, so do it the hard
      Add a defknown for lisp::shrink-vector, just in case the compiling
      Bootstrap to get rid of stream::surrogates and import lisp::surrogates.
      Illegal surrogate sequences (leading surrogate without trailing
      When creating distribution binaries, use a "random" directory name
      Document the use of the GTAR enviroment variable to specify GNU tar if
      Fix a couple of issues with
      Update make-dist.sh and make-src-dist.sh so that the source code can
      Update from logs.
      Use :UP instead of :BACK.  And use the correct number of them.
      Use more descriptive argument names for SURROGATEP and
      Oops.  Remove junk at beginning of file.
      Document that an alias can also be a list, for composing external
      Add contrib directory to extra tarball.  These were always part of the
      o Add *C-COMPILER* and *C-COMPILER-FLAGS* to hold default C compiler
      Add Gerd's sprof statistical profiler.
      o QSORT always sorts by <, so no need for a test parameter.
      Tell ROOM about the size of strings, which are larger now for Unicode!
      o RECORD-DYNINFO says we should run with GC disabled, so do it.
      Update from logs.
      Fix issue with installing sources to a directory.  This was affecting Solaris.
      Comment out install-composing-format-character-strategy for now since
      Remove non-existent symbols DEFENUMERATION, DEFOPERATOR, DEFRECORD.
      Add support for flushing out any state in an external format when
      Add support for flushing out any state in an external format when
      Merge changes from 20a-pre1 (tag release-20a-pre1) to trunk.
      Regenerated to include the new word break properties.
      Document DEBUG:VAR and DEBUG:ARG functions in help, as a reminder on
      Add support for the Unicode word break algorithm for
      Oops.  Remove old code that didn't support our UTF-16 strings.
      Change *testfile* to *normalization-test*.
      Add one test to check that we're handling surrogate pairs correctly.
      Initial version.
      Merge changes from 20a branch.
      Update version to 20a.
      o Update features to :cmu20 and :cmu20a
      o Update features to :cmu20 and :cmu20a
      Merge changes from the release-20a branch.
      From A.M.Raportirenko, on cmucl-imp, Sep 25, 2009: dirname
      Merge changes from 20a release branch.
      Fix Trac bug #33: get-dispatch-macro-character doesn't signal errors
      Add a few more aliases for utf-16 and utf-32.
      Oops.  The type of code is not a 16-bit unsigned integer.  It's a
      The character attributes for | and ` were set incorrectly which caused
      Add docstring for SET-SYSTEM-EXTERNAL-FORMAT.
      Add docstrings for the new alien functions getenv, setenv, putenv, and
      As reported by Robert Swindells, cmucl-imp, 2009-10-15, we should not
      UNIX-SYSINFO was broken for Unicode builds, which made MACHINE-TYPE
      Merge changes from unicode-string-buffer-impl-branch which gives
      Initial version, from the copy in
      o Fix critical issue where the conversion of integers to floats left
      Revert previous change.  Instead, make the arithmetic vops for mixing
      Update from logs.
      This large checkin brings the amd64 port up-to-date with the current
      Use the right instruction for amd64 to get the fp.
      Revert previous changes.  They were supposed to go on
      Oops.  Really enable the type predicates for simple-arrays of
      Initial version for ASCII external format.
      o Update from logs.
      Fix typo in docstring for FINALIZE.
      Make the backend-version indicate whether the backend is using sse2 or
      Spell the processor name the way Sun spells it, and remove the OS
      Add support for static arrays that are not moved by GC.  This is based
      Expand the docstring from MAKE-ARRAY.
      o Change allocation to use :malloc instead of :static, as suggested by
      First cut at GCing static vectors, including static simple-arrays.
      o Have MAKE-STATIC-VECTOR push the weak pointer onto *STATIC-VECTORS*
      Fix bug in SUB-UNIX-EXECVE.  The call to execve needs to convert the
      Oops.  When we continue from the intexp-limit-error condition and set
      Remove commented-out call to set-terminal-coding-system, which doesn't
      o Add another function to check for other places that can't be malloc
      o Add linux support in other_space_p.
      Update from logs.
      Update documentation for RUN-PROGRAM to mention that the :OUTPUT can
      Comment out the :BEFORE-EXECVE option; it doesn't seem to exist
      Fix FILE-POSITION for fd-streams with a string buffer.  It was
      If a trace-file or error-file is specified, open the file with the
      Oops.  The string buffer contains characters, so to get the correct
      Fix handling of debug sources.  When trying to read the source form
      Update from logs.
      Fix handling of the byte-order mark.  The state was not getting set
      Always set the external format for the stream after calling
      :SSE2 should not be a runtime feature saved in internals.h.  This is
      Oops.  Last change to fd-stream doesn't actually compile because no
      For Solaris, detect which OS version we're building on and choose the
      STRING-ENCODE has start and end indices.  Use them instead of consing
      Exit with code 1 if ldb wants to quit due to EOF on something other
      Oops.  Debugging print for FREE-STATIC-VECTOR was in the wrong place.
      Combine the formats into one.
      Adjust TRANSLATE-DIRECTORIES to make the result be a relative or
      Update from commit logs.
      Add known issues with executables and FILE-POSITION with external
      Oops.  Non-unicode builds don't have source-info-external-format.  Set
      Patch from Stelian Ionescu on cmucl-imp, 2010/02/01:
      o For DARWIN (and NetBSD), use the SpaceStart_* values for the
      Use appropriate flags for SunStudio 12.
      Add declaration for convert_lisp_string to get rid of compiler warning
      Simplify UNICODE conditionalization by using convert_lisp_string
      Ticket #22
      Implement a fast fround for single and double floats.  This is enabled
      GET-MACRO-CHARACTER was using the wrong readtable when figuring out
      Update from logs.
      o Make %unary-fround return a negative zero if the argument is a
      Fix from Helmut Eller for a bug mentioned by Madhu on cmucl-imp,
      Update help string for debug commands:
      Include the dump time and host of the version of CMUCL used to create
      Fix critical bug in vop for multiplying a complex single-float by a
      o Fix issue where some instructions like MOVLPS would print the
      Fix issue where CMUCL does not correctly handle FLETs in DEFMETHOD
      Bind *readtable* to the standard table when compiling the external
      Update from logs.
      Wrap the call to compile-from-stream in WITH-STANDARD-IO-SYNTAX to
      For a compiled function, recompile from sources if the
      COMPILE will now update the macro-function if the specified name names
      o Update from logs.
      Make CMUCL signal a cerror if we try to redefine a slot accessor.  If
      Update from logs.
      Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
      Fix SSE2 bug when running
      Update from logs.
      Bind intl::*default-domain* so that changes to intl::*default-domain*
      MAKE-SYMBOL needs to convert the given string to NFC form to match
      PRINC-TO-STRING should bind *PRINT-READABLY* to NIL.
      From Paul Foley.  Translatable strings are recorded only if
      Enable translations when building the world and the utils.
      Update docs to match current implementation.
      o Modify DEFVAR, DEFUN, DEFPARAMETER, DEFCONSTANT, and other macros
      Remove _N"" reader macro from docstrings when possible.
      Remove _N"" reader macro from docstrings when possible.
      Remove _N"" reader macro from docstrings when possible.
      Remove _N"" reader macro from docstrings when possible.
      Remove _N"" reader macro from docstrings when possible.
      Remove _N"" reader macro from docstrings when possible.
      Change uses of _"foo" to (intl:gettext "foo").  This is because slime
      Update.  Ticket 39 is closed.
      Regenerate pot and po files.
      Regenerate piglatin translation.
      Don't export *TRANSLATABLE-DUMP-STREAM*, which doesn't exist anymore.
      Update localization chapter with new functions.  Change example to
      Add source location info for defstructs and deftypes.
      o Work around issue pointed out by Madhu on cmucl-imp, 2010-04-24.
      o CHAR-DOWNCASE was mistaken included with CHAR-TITLECASE.
      Add mac as an alias to the cr composing external format.
      Document CR composing external format.
      Update from logs.
      Fix typo.
      Fix gcd bug:  (gcd 20286123923750474264166990598656
      Restore old defsystem.lisp.
      Add asdf2 and restore (and update) defsystem.
      PROVIDE DEFSYSTEM as well as MAKE so that REQUIRE won't load defsystem
      Update to asdf version 1.721.  Primarily to get modules: added to the
      ASD file for contrib module.
      Update call to PROVIDE to use the module name.  (Not really needed
      Remove the cmu-contrib module since the modules can be loaded using
      Demos depends on CLX, so load up CLX.
      Update to asdf version 1.722.  This moves cmu's contrib modules to the
      Make the docstrings follow the CMUCL convention so that they are lined
      Add "target:contrib" to modules: search-list so that contribs can be
      Support localization for the docstrings for the switches.
      o Forgot to mark one translatable string.
      Remove all of the fuzzy translations that are totally wrong.
      Update from logs.
      Fix some typos.
      Add some Korean translations.
      Update to version 1.728.  This fixes some pathname merging issues,
      Too many args to NOTE-LOSSAGE message in
      Touch the fasl files for asdf and defsystem so that the object date is
      Output time in ISO 8601 format.
      Update with released version of asdf2.
      Fix issue where the debugger (and TRACE) would get the wrong
      Install the _ reader when cross-compiling.
      Revert the previous change to fix debug:arg/trace issue.  Instead, use
      Make previous changes build for x87.
      Fix tracing/debug:arg bug.  Testing and debugging by Alex.
      The trace/debug:arg issue is fixed for Darwin, Linux, and FreeBSD now.
      Add comment about what this is for.
      Add two more slots to an fd-stream to indicate how to handle errors
      Add initial support for signaling errors in external formats.
      Update external formats to include the new required error parameter
      Ignore cmu-user-html.tgz.
      Fix critical bug introduced in previous changes.  Incorrect results
      Implement more of the external format error handlers.
      Oops.  Remove stray character.
      o Rearrange error calls so that error function can just return the
      o Add declaration to get rid of a compiler note.
      Add flush-state method to flush out the UTF16 state.  This allows us
      In EF-FLUSH, we need to handle bare surrogates ourselves for the case
      Add :DECODING-ERROR and :ENCODING-ERROR keywords to OPEN function.
      Oops.  Add types for :DECODING-ERROR and :ENCODING-ERROR keyword
      Fix some compiler notes by adding declarations and removing one
      Update for external format error handlers.
      Document the error parameter for define-external-format.
      Oops.  STRING-ENCODE now takes keyword args instead of optional args,
      Fix critical error in fast-read-char-string-refill where we didn't
      Oops.  It's ~4,'0X, not ~4,0X.
      Update with bugfix for bad buffering for decoding external formats.
      Fix issue where we get warnings about source being newer than object
      o Fix issue with decoding error call.  The error function takes 3
      Update po files after running msgmerge.
      Fix the check for overlong sequences.  The constants appear to be
      Update to note that overlong utf-8 sequences are actually correctly
      Fix typo and put closing paren in the correct place.
      o When encountering an overlong sequence, a surrogate code, or a
      Add a documentation slot to external formats so that we can give a
      Only update translations on the last build.
      Add some comments, noting the author.
      Update translations from current code.
      o Update version to 2.004:
      Some docstrings in signal.lisp were conditionalized for different
      Regenerated from current code.
      Regenerated from current code.
      Regenerated from current code.
      Oops.  Previous implementation of with-textdomain didn't actually
      Regenerated from current code.
      Update from building on Linux.
      Oops.  All of these files should not be in the "cmucl" domain but the
      The strings in handle-breakpoint-aux are system-dependent, so set the
      Regenerate sparc message templates.
      Regenerate from current code.
      Regenerated from current sources.
      Update from current sources.
      Merge changes from sparc-tramp-assem-2010-07-19.  This moves
      Fix code so it will compile on 8-bit versions.  Basically, don't
      Need to precompile the ef slots for both unicode and non-unicode
      Update from logs.
      Enable support for external-format errors for non-unicode builds too.
      Get rid of the emacs local variables section.
      Add -G option to allow specifying GNU make in case "make" is not GNU make.
      Push :executable feature for sparc.  This now works on sparc, at last.
      Fix bug in imagpart/complex-single-float.  The vop was totally wrong.
      Update from logs about sparc :executable and SSE2 bug fix for
      Fixing interior pointers should ignore the lowtag bits.
      Fix long-standing compiler error when cross-compiling the new
      In the vops realpart/complex-double-float and
      Make executables work again on Linux.  (At least on openSuSE 11.2).
      o Fix a really stupid newbie C mistake in maybe_static_array_p where a
      Executables are working on Linux again.
      The generated linker script was placed in the wrong directory and ld
      Update previous change for sparc.
      Need to strip off any directory from the path to get the output file
      Change how Solaris executables set up builtin_image_flag.  Instead of
      Change how we build executables for Linux.  We no longer need the
      New linker shell script to build cmucl executables for Linux/x86.
      Some cleanup for Linux executables.  The value of the
      First cut at executable images on Darwin/x86.  The resulting
      Some cleanup of the names of main functions for creating executable
      More cleanups.
      Only install the cmucl linker script if it exists.
      Update how executable images are done on Solaris to match Linux and
      Update with executable image info.
      For Linux and Darwin, we don't actually need to set the starting
      Put back the segment address for Darwin.  If we don't, vmmap prints
      o Forgot to add :executable to save-lisp signature.
      Fix typos, clarify a few items.
      Since it's about time, and while we're doing the cross-compile anyway,
      If the fpu mode is specified, apply the fpu mode for the first build
      Tell user to use the -h option to get up-to-date info on each
      No functional changes.  Just update and clarify comments.
      No functional changes.  Just update and clarify comments.
      Update the date.
      Add a comment.
      Should work with gcc too.  A simple test indicates that the given
      Let the linker remove the object files we created for the Lisp spaces.
      More comment cleanups.
      Initial version.
      o Update link to CL Hyperspec.
      o Add entry for ld-library-path search-list.
      Ignore some more filess created from running tex and/or hevea.
      Inhibit warnings around funcalls to error.  This was generating too
      Correct the docstring for OPEN for the :ENCODING-ERROR and
      o Document the parameters to OPEN that are specific to Unicode.
      Forgot to export DESCRIBE-EXTERNAL-FORMAT from the EXTENSIONS
      Forgot to remove the work-in-progress line.
      Fix some typos.
      Fix typo.
      The packed shift instructions must have an xmm register as the
      FILE-POSITION returned the wrong thing for Unicode.  The
      Trying to has a NaN causes an error.  Don't add zero if it's a NaN.
      In FLUSH-STATE, only flush something if the state has something to be
      Fix file-position bug in trac #36.  We add an array to keep track of
      When decoding-error is T, use a question mark for non-unicode builds
      Update from logs.
      Add some smarts to the EXPT derive-type optimizer so it can handle the
      Rearrange the last change to simplify the code a little so it's easier
      Forgot to handle unbounded integer powers.
      Oops.  The upper limit for the octet-count array is one less than the
      Update from RELEASE-20B-BRANCH.
      o Update with new command line options
      Update asdf2 to version 2.007.
      Just add comment that we don't distinguish between SIGFPE between x87
      Add -w option to allow user to specify a different script instead of
      Merge fixes for fast-read-char-string-refill from the 20b-branch.
      Merge changes from 20b branch.
      Merge changes from 20b-pre2.
      Correct docstring for OCTETS-TO-STRING to reflect what actually
      Clean up how (setf stream-external-format) works.  This change
      Some small cleanups.
      Rename linker-x86.sh to linker.sh.
      Executables work on FreeBSD again.
      Regenerated from current sources.
      Add function to convert a sequence of codepoints to a string and a
      Fix FD-STREAM-FILE-POSITION, which was returning the wrong thing for
      Canonicalize the external-format name when create the source-info for
      o Insert a Language field in the header.
      Regenerate files.
      Regenerate from current sources.
      o Add "Language: Korean" to the header.  Alex says msgmerge on FreeBSD
      Add support for Unicode 5.2.  The normalization and wordbreak tests pass.
      Pull out the range tests for CJK Ideographs and Hangul Syllables and
      Reverse the meaning of the -P option.  Now, -P means don't generate
      Add note about using -crl for cross-build-world.sh to combine some
      Initial version.
      Remove redundant setting of MAKE_TARGET.  (Noted by Alex.)
      o Unicode 5.2.0
      o Fix typo in UNICODE-DECOMP.  (It's hangul-syllable-p, not
      Add support for character completion.  This is primarily intended to
      Note addition of character name completion functions.
      Optimize the completion of the Hangul syllables and the CJK unified
      Update to upstream asdf 2.008.
      Simple refactoring:  Add function to write out a dictionary and use it
      Some Hangul syllables were left out of the Hangul syllable dictionary.
      o Construction of the Hangul syllable codebook was wrong.  To satisfy
      Oops.  Fix long standing bug where the trie for Unicode 1.0 names was
      Regenerated with correct table for Unicode 1.0 names.
      Merge from 20b-branch for bug fix for Unicode 1.0 names.
      o Move %STR, %STRX and %MATCH around so that we can inline them
      Improve completion of Hangul syllables and CJK unified ideographs some
      Was mishandling the case where there are no more completions.  In this
      Add support for external formats for RUN-PROGRAM, which now takes an
      This entire file should be in the cmucl-x87 domain, not cmucl-x86-vm.
      Update from latest sources to get new messages strings.
      Update from latest sources to get new messages strings from x86/float.lisp.
      Regenerate cmucl-x87.po and cmucl.po  for each locale.from the latest
      o Inhibit warnings from SURROGATEP; I'm tired seeing the code deletion
      When there's more than one possible completion, we need to keep the
      Merge changes from 20b branch.
      o When changing external format from :iso8859-1 to another format, we
      Include libgen.h on Darwin/x86 to get rid of a compiler warning about
      Add :decoding-error arg to compile-file to specify how decoding errors
      Add some declarations to get rid of compiler notes.
      Set LANG=C before compiling the C code.  For some reason on my
      Don't need to install the po files since they're not used by anything.
      Clean up code using FEATURE_EXECUTABLE.  Since builtin_image_flag is
      Actually set the library search list to the saved value.  Previously
      Regenerate from sources.
      Regenerate from sources.
      Fix typo:  missing closing }.
      From release-20b, merge fix for typo.
      Add a function to create the key from two codepoints that can be used
      o Document the -S option better.
      Update to revision 2.009.
      In brief_otherptr, the name slot of a symbol was not printing out the
      Use lowtag_Bits - 1 instead of a bare 2 when converting a fixnum
      Fix typos introduced in last commit.
      Use lowtag_Bits -1 instead a hard-wired 2.
      Move all the string print stuff into it a common routine to print out
      Make read-char and read-byte signal errors when given the wrong kind
      Update with current changes for READ-CHAR/READ-BYTE/READ-SEQUENCE.
      Some changes to replace calls to gettext with _"" or _N"" for things
      Initial revision.
      Add DOCDIR variable so the location of the documentation files can be
      Oops.  Need to include stdint.h to get uint16_t defined.
      Add trailing newline.
      Update from logs.
      Regenerated from current sources.
      Fix critical bug in realpart/imagpart.
      Handle -C option better, especially when given -C "" to denote the
      Update from logs.
      Command line processing didn't handle -- properly if it is the first
      Update from logs.
      Oops.  Fix typo.
      Don't load site-init file.
      Update to 2.010.
      Correct the docstring for SAVE for the :LOAD-INIT-FILE argument.
      Oops.  Don't need to translate "" (in lisp-implementation-version).
      Regenerated from current sources.
      Fix typo in ENUMERATE-MATCHES.  It's verify-existence, not
      Update bootfiles version from 20a to 20b.  There won't be anymore
      Add new slots to the backend to hold the foreign linkage space start
      Vops for adding a real to a complex was totally messed up.  The real
      When storing strings to the core file, swap the bytes of Unicode
      Print out the PC when we get a real protection violation.
      Fix padding for stat64.  st-pad2 was the wrong size to pad st-size to
      GET-BEST-AUTHORIZATION wasn't handling the case of a :local connection
      Signal a warning if ~:[ directive includes ~:;.  From a message by
      Update from logs.
      o *FILENAME-ENCODING* was never getting set.  Fix that.  (From Paul
      Update from commits.
      Clarify entry on realpart/imagpart bug.  It's an x86-only problem, and
      Initial version of script to cross-compile from x86 OSX to x86
      Update from logs.
      Regenerated from current sources.
      Add comment.
      Support cross-compiling from x86 to sparc, unicode.  Also fixes some
      Clean up implementation.
      Clean up implementation removing commented out stuff in
      Minor change to allow the script to work for cross-compiling
      No functional changes.  Just update examples.
      Update to version 2.011.
      SUBSEQ was sometimes crashing lisp when the end index was less than
      Export some UNIX symbols for FreeBSD to get rid of a build warning.
      Revert some of the previous cleanups.  They were preventing building
      Speed up building on sparc.  Time taken is now almost half!  This was
      Revert previous change.  Instead of caching probe-file, have
      Don't call dgettext if there's no documentation string.  This used to
      On Darwin, SIGSTKSZ is 128K, not 8K like on most other systems.
      Oops.  If the domain-entry-encoding is NIL, we just want to return
      Merge changes from cross-sol-x86-2010-12-20 which adds support for
      Oops.  nuname is for Solaris/x86, not Solaris/sparc.
      Set maxima dynamic space size to 2.304 GB.
      Update conditionals so this does the right thing on Solaris/x86 so
      Update conditionals so we choose the correct compiler for Solaris/x86
      Solaris/sparc and Solaris/x86 both use the same executable style so
      Support NetBSD.
      Recognize NetBSD defaults.
      Add support for NetBSD for the new executable image implementation.
      Fix os_sigcontext_fpu_reg to return the correct address for SSE2
      o Oops.  We want the xmm registers if index >= 8.
      Fix tracing for NetBSD.  Function end breakpoints didn't seem to be
      Fix typo.
      Add implementation of SC_EFLAGS for Solaris/x86, but disable for now
      Use -xM1 so we don't include dependencies to /usr/include.
      The address computation for x87 registers was wrong.  Fix them so.
      Document why SC_EFLAGS doesn't seem to work on Solaris/x86.
      Unintern removes the wrong symbol.  See
      Allow more than one keyword constructor for defstruct.  Bug and fix
      Update from logs.
      Solaris/x86 has a working dladdr, so we can use the fancy
      o The latest openmotif from macports appears to be linked against the
      NetBSD has a working dladdr, so we can use the fancy
      Fix typo in unix-uname.  We want to use "uname" everywhere except on
      Oops.  Forgot to tell getopts about the -B option.
      Changes to support building on Mac OS X 10.6.  When compiled on 10.6,
      Transform (EQ foo NIL) to the equivalent (IF foo NIL T).  Optimization
      For Darwin, we need to specify -arch i386 if we need to run ld so that
      Micro optimization:  In SET-CMT-ENTRY, if the char-code is above
      Fix typo.  The check for whether we were trying to use encapsulation
      Fix typo.  We wanted to export the function DESCRIBE-EXTERNAL-FORMAT,
      Recognize i86pc from uname -m.
      Don't dump fdefinitions for local flet/labels functions.  Suggested by
      Update from logs.
      The :OUTPUT-FILE for COMPILE-FILE can be a stream.
      Fix ansi-test failure OPEN.IO.28:
      Make the test for flet/labels functions more explicit.  We were
      Fix bug where cmucl was no longer recognizing things like
      Need to define %sqrt for x86/sse2 so the compiler can constant-fold
      Remove commented-out DEFAULT-DIRECTORY written by fmg.
      Update from logs.
      Fix Trac #43:  unread-char doesn't change file-position
      Fix Trac #43:  unread-char doesn't change file-position
      Update to upstream released version 2.013.
      Second return value of compile-file should be true if style-warnings
      Update to asdf 2.014.
      Update to asdf 2.014.1 to fix an issue with SUBDIRECTORIES function on
      Update from logs
      Remove extra right parenthesis.
      Regenerated po files from current sources.
      Regenerate piglatin translation.
      Order the header in the same order as what the tools tend to produce
      Update so that linux can be used to cross-compile to freebsd.
      Automatically select arch and os on FreeBSD, if none given.
      Update so we can cross-compile from linux to solaris too.
      Add short description for build.sh.
      Ignore shell wildcards when determining next version.
      Add :CMUCL to *FEATURES*.
      Add -unidata option to specify unidata.bin file.
      Update from logs.
      Regenerated from current sources.
      Update to release 2.016.
      (require "asdf") loads asdf now.
      Add function to load all unicode data into memory.
      Allow specifying a core with an executable image.
      o Update for recent change.
      Revert last change to fix Trac #43.
      Update to Unicode 6.0.0.
      Regenerated for Unicode 6.0.0.
      Usability and internal restructuring.
      Update from logs.
      Regenerated from current sources.
      Fix Trac #43 again.
      o Trac #43 fixed again.
      Don't call dgettext with a NIL doc.
      Update from logs.
      Reduce consing of SAPs in ROOM.
      Improve type progagation for LOAD-TIME-VALUE.
      Make the stack checking feature actually work on Darwin.  Previously,
      Add os_init0 to allow for some really early OS inits.
      Oops.  Need to check for gc write barrier before handling the sigbus.
      Insert line breaks in the yellow-zone message.
      Cleanup sigbus handler for stack overflow.
      Fix rounding for large numbers.
      Regenerated from current sources.

toy (583):
      Correct typo:  should coerce 0 to the same type as the float!
      o Fix the declaration bug in complex-log-scaled
      For x86, need a float-wait to catch any FP exceptions that might have
      o Added new defvar *load-lp-object-types* to hold possible logical
      Fix a typo: the optional :pt argument for the branch instruction was
      o Sparc v9 instructions are longer so make the opcode column wider.
      For type tests, assume branches for test failures are not taken.
      ANDCC should also check for rs1 = %ALLOC before adding a note about
      Add :verbose option to load-foreign to honor *load-verbose*.  (From
      Add some comments and update to use -DSOLARIS25 and solaris-os.c by
      Add constants for
      Use the constants for the fixnum tag stuff and fixnum size.
      o Use the constants for the fixnum tag stuff and fixnum size.
      fixnum-tag-bits is really one less than lowtag-bits.
      Boostrap for sparc.
      Renamed sparc-boot1.lisp to boot4.lisp, with appropriate changes so
      Declare %sap-alien and alien-sap as maybe-inline functions.  Helps
      When unparse-unix-file is given a logical pathname, don't put ~'s
      Revert previous change.  Use a deftransform instead.
      Update deftransform for alien-sap:
      Add disassembler support for printing out notes about static-symbols
      Initialize sparc::*note-sethi-inst* and sparc::*pseudo-atomic-set*
      Rewrite concatenate deftransform to use nested lets.  This works
      Add MAYBE-NOTE-STATIC-FUNCTION to print a disassembly note about
      Add OFFSET-STATIC-FUNCTION to return the static function symbol given
      Print a disassembly note, if possible, about references to static
      Print a disassembly note about static function usage.
      o Small optimization for deftransform for complex/complex (one less
      Add defoptimizer for SIGNUM.
      For large functions and such, the tn-offset of stack variables may be
      o The vops for complex division had the branch condition reversed
      In the LOADW/STOREW macros, add an extra parameter for holding a temp
      Earlier versions of gcc on Solaris deletes some of the symbols we
      Add the stack clearing feature for sparc when allocating Lisp stack
      o Add the stack clearing feature for sparc when allocating Lisp stack
      Some updates for loadw/storew in case the tn-offset doesn't fit into
      Put back the special case of comparing against zero.  This is very
      Export pseudo-atomic-trap so genesis will put it in internals.h for C
      Use trap_PseudoAtomic instead of the hardwired 16.
      o Use trap_PseudoAtomic instead of the hardwired 16.
      Export some of the exported SPARC symbols
      o Remove the unused check-fixnum code that used taddcctv.
      Patch stolen from SBCL bug 81.
      o Remove some unused code.
      Fix bugs in ash-right-signed, ash-right-unsigned.  Should help
      o Change :external-format for LOAD back to :contents as it used to be.
      Bootstrap file for the sparc pseudo-atomic-trap change for
      o DTC's fix for right shifting (unsigned-byte 32) values by amounts >
      Update CFLAGS and LDFLAGS to the correct values for the Motif
      This causes problems when building on x86, so arrange it better for
      dotimes fix to enable optimization in cases of nested dotimes with
      This should work better now for building on Sparc and non-sparc
      Eric Marsden's updated CMUCL User's manual, split up into several
      From Eric Marsden for a bug found by Paolo Amoroso:
      From Eric Marsden:
      The main file is cmu-user now, not cmucl-user.  Update appropriately.
      o Need to load the hyperref package before the html package because it
      Add constants and code to allow the user to select the rounding
      Initial revision
      All platforms support specialized arrays of signed-byte 8, 16, 30, and
      Oops. precision-control-alist should only be defined for x86.
      Don't make the document date the day latex was run because that makes
      o Delete the section on symbols because it's wrong and because we
      Document the -dynamic-space-size and -nositeinit command-line options.
      Correct some comments about the C heap size and add a note about vector-sap.
      Make URLs actually displayed in the print version instead of an
      o Make MT-19987 hyperlink actually displayed in the print version
      From Eric Marsden:
      Reduce consing in %naturalize-c-string.  (We're already given an
      Remove the OLD-SPARC nickname from the SPARC package.  (Should the
      From Eric Marsden:
      From Eric Marsden:
      From Eric Marsden:
      Marco Antoniotti's read-sequence and write-sequence routines that
      Revert the previous change pending a better solution.  That change
      Make the pdf file have section numbers and have reader display 2
      Compile with -O3 which gives a 5-10% performance boost.  (From Eric
      Apply to the sparc port the x86 fix for catch failing to accept
      %ENUMERATE-FILES was not putting the version number on to pathname
      From Lynn Quam.
      The second value of ffloor, fceiling, fround, and ftruncate is
      Make FTRUNCATE faster and less consy by manipulating the bits directly
      Forgot to export the %unary-ftruncate stuff.
      Add defoptimizer for %unary-ftruncate so the compiler can derive the
      o Fix bug in %unary-ftruncate/double-float which was returning 0.5 for
      ~,1,6,$ was printing out too many pad (space) characters because we
      Micro optimization for Sparc.  The ftruncate code using
      Make defoptimizer for ftruncate work (still need to figure out why the
      Reinstate the original definition of fround (calling round) because we
      %UNARY-FTRUNCATE actually takes a REAL arg, not FLOAT, so correct the
      Branch offsets are really 22 bits long, not 13.  (Bug noted by
      Add documentation for heirarchical packages.  (From Eric Marsden, with
      The deftransform for expt was not correctly handling the case of a
      profile:report-time doesn't print out a long list of functions that
      Update the trap instruction to support all forms of the trap
      Since all forms of the trap instruction are now supported, we need to
      Get rid of the compiler warnings from gcc about stuff at the end of a
      Abstract all allocation through the ALLOCATION macro.
      Initial revision for bootstrapping the Sparc allocation changes.
      Rudi Schlatte noted that
      A ratio divided by zero was returning 1/0 instead of signaling an
      Correct a couple of bugs found by the CLOCC ANSI tests:
      From Christophe Rhodes:
      From Eric Marsden:
      Patch from Martin Cracauer.
      FLOAT-RADIX is supposed to signal an error if the argument is not a
      According to the CLHS, the lambda keyword &rest must be followed by a
      (pprint-logical-block (nil nil :prefix 42)) causes a bus error because
      GENTEMP is supposed to take just strings, not strings and symbols.
      Xauthority fixes from Hannu Rummukainen and Scott Fahlman, with
      From Eric Marsden:
      SHIFTF supports multiple-values, as required by ANSI CL.
      Definitions for two-arg-string< and two-arg-string> were wrong.
      These vops probably should not take stack args because the AND
      CLHS says compiler-macros should recognize calls of the form (funcall
      (coerce <rational> '(complex float)) is a (complex float), not a
      From Alexey Dejneka via SBCL:
      Give more meaningful messages for the continue and clobber-it restarts
      The recent extended loop changes requiring compound forms after do
      Only create a buffer for streams of type (unsigned-byte 8).  Fixes the
      o Make the branch instruction for non-v9 accept additional args which
      ECASE and CCASE are allowed to use T and OTHERWISE as regular keys
      Target the unsigned-reg, not the signed-reg for
      If the sequence type has a length, we check to see that the length
      Disable the concatenate deftransform if safety = 3 so that we can
      From Eric Marsden:
      From Marco Antoniotti:  compile-file-pathname now computes the
      Catch attempts to bind a special or constant variable with
      From Eric Marsden (additional change in main.lisp noted by Christophe
      o For the stream functions, declare the stream arg as a stream or
      Test for type file-stream instead of stream because a stream may not
      Try to handle more component type specifiers for type COMPLEX.  Still
      From Iban Hatchondo:
      If a symbol names a type specifier, have DESCRIBE say so.
      A very slightly massaged patch taken from the SBCL patch by Alexey
      Release notes for 18e from Eric Marsden.
      18d is no longer a work in progress.
      We were not honoring compile-file-pathname when given a logical
      Apply Alexey Dejneka's compiler fix for SBCL bug 120a which says:
      Apply Alexey Dejneka's compiler fix to allow another optimization pass
      Fix bug noted by Gerd Moellmann.
      DELETE-LAMBDA is used in locall.lisp---make it available.
      From Eric Marsden:
      Update with recent changes.
      Christophe Rhodes says "EMIT-REGISTER-INST call should have
      o Moved the definitions of LOWTAG-BITS, LOWTAG-MASK, and LOWTAG-LIMIT
      Oops.  Undo previous change and put back LOWTAGS-BITS, LOWTAG-MASK,
      Add support for unboxed 64-bit integers that are available to us on a
      In the v8plus abi, we need to save the %o registers before calling
      Turn on v8plus abi when compiling.
      Change LOADQ/STOREQ to LOAD64/STORE64, since they're not quadwords.
      Give a better error message for atan when given an arg that isn't
      Forgot to remove the declaration for LEAF-FUN when we removed
      o DATA-VECTOR-REF-C/SIMPLE-BIT-VECTOR was not correctly getting
      o Fix a few note strings for unsigned 64-bit numbers
      The WITH-ALLOCATION-MACRO changes the code for allocation, and the
      Solaris needs the undefined (U) symbols in lisp.nm to build a working
      Treat pathname version :unspecific the same as :newest.
      From Gerd Moellmann:
      CONCATENATE and MAP were allowing output-type-specs of SIMPLE-ARRAY
      MERGE was directly comparing the result-type to 'LIST.  We really
      Add a Karatsuba multiplication routine for multiplying big bignums.
      Update for some recent changes.
      When running pdflatex, add bookmarks for the sections.
      Correct a missing cross-ref.
      Don't mark cmu-user-letter.tex as .INTERMEDIATE because gnu make
      o Correct some spelling mistakes
      From Gerd Moelmann, with minor additions for sparc:
      o Reinstate gray-streams support for read-sequence and write-sequence
      Document the user-defined hash table extension.  (From Robert
      Fix typo.
      Add some vpath directives so this Config works better with Pierre
      Add some vpath directives so this Config works better with Pierre
      Tell CVS to ignore some generated files.
      Port over SBCL's fix for the Entomotomy bug
      Port over SBCL's fix for the Entomotomy bug
      Port over SBCL's fix for the Entomotomy bug
      Port over SBCL's fix for the Entomotomy bug
      Port over SBCL's fix for the Entomotomy bug
      Fix for the Entomotomy bug
      Fix for the Entomotomy bug
      Fix for the Entomotomy bug
      Fix entomotomy bug
      o Port over Tim Moore's cool foreign linkage table stuff to sparc.
      Initial revision
      Oops.  Comment out a debugging print statement.
      Change apply to reduce.  This works around a bug noted by Peter Van
      CTYPECASE and ETYPECASE also accept T and OTHERWISE as keys, just like
      Don't make lisp::*linkage-table-data* a static symbol if we're not
      Use getcwd instead of getwd.
      Add getcwd.
      o Fix pushnew evaluation order.  (Fix provided by Gerd Moellman.)
      Add a note that nsp-tn = %o6 = %sp.
      Ignore some more TeX-generated files.
      Entomotomy bug remove-malfunctions-with-start-end-and-from-end
      Reinstate the special case handling when PLACE is a symbol (and not a
      Make the profile report print everything in neat, uniform columns even
      PUSH and PUSHNEW support multiple values as places.
      o Remove the references to :propagate-float-type and
      o Add Tim Moore as maintainer
      Update date.
      Shorten the long lines to make TeX quieter.
      The previous checkin adding multiple-values support to push and
      Allow larger consing values when profiling by using two fixnums to
      Load meta-vmdef.
      Entomotomy bug macro-lambda-list-rest-overly-permissive:
      Use LinkageEntrySize from internals.h instead of LINKAGE_ENTRY_SIZE.
      Fix typo on the dfixnum profile changes so this works on non-x86
      Bob Rogers suggests that default-directory return a pathname with an
      Make MAX_STACK_POINTERS bigger.  Eric Marsden reports that in some
      Fix typo noted by Eric Marsden.  MAYBE-LINK-TABLE-ADDR is an number,
      STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE was getting called with
      There is no dlsym_fallback on Solaris, so remove it and return
      Was not properly handling undefined foreign symbols:
      Add some #defines and macros to make it easier to create (and
      Fix typo:  It's :defined, not xdefined!
      Make REMOVE and friends handle negative or bignum :count arguments.
      XFree 4.2 needs -ldl, as noted by Eric Marsden.
      Fix two loop bugs:
      Logical pathnames like "lpnhost:name.type" have directory component
      Update release notes.  From Eric Marsden.
      From Eric Marsden:
      Bug and solution from Eric Marsden:
      Need to #include globals.h to get dynamic_space_size defined.
      A new and much improved Makefile from Eric Marsden.
      o Add rule for building the index for cmu-user-letter.
      Ignore more files that are generated when creating the documents.
      From Eric Marsden:
      From Eric Marsden:
      Fix a few typos/mistakes in the precise profiling update that changed
      Add definitions for the passwd routines.
      Add setpwent, endpwent, and getpwent for Solaris.
      o COMPILE-FILE-PATHNAME was returning the type of the input file for
      Alpha Linux support from Brian.
      Entomotomy: peek-char-wrongly-echos-to-echo-stream
      MAKE-SEQUENCE checks the length is compatible for the types 'NULL and
      MERGE checks the length of the result is compatible for the result
      o Remove the VECTOR-COUNT and LIST-COUNT and use VECTOR-COUNT-IF and
      SET-EXCLUSIVE-OR was not working correctly in some situations (shown
      DOLIST was not properly establishing a tagbody for the body, as shown
      o Check that the args are sequences for some, every, etc.
      MULTIPLE-VALUE-SETQ was mishandling variables that were symbol
      Reinstate the check for properly formed vars list.
      Comment out the latex2html stuff that we don't really support
      Better describe using :encapsulate for tracing.  From rpgoldman.
      Add a short blurb that the reader supports reading of specialized
      :allow-other-keys is a valid keyword arg.  Make it so.  (This is
      PROGV was mishandling some cases with special variables, as
      Fix typo in MULTIPLE-VALUE-SETQ.  Noted by Eric Marsden.
      From Gerd Moellmann:
      Don't delete the log file.
      PSETQ was not handling symbol macros.  Use PSETF to implement PSETQ.
      From Gerd Moellmann, "canniablizing CVS SBCL":
      From Mario Mommer:
      Document CMUCLs internet functions.  From Mario Mommer.
      Include internet docs.
      Add xref entry for file descriptor streams.
      Fix typo.  From Eric Marsden.
      A better solution for the loop destructuring bug.  From Gerd Moellmann
      From Gerd Moellman who ported the SBCL version to CMUCL.
      Entomotomy bug:  macrolet-insufficient-syntax-checking
      Fix a long-standing typo wherein the macrolet for vop for subtracting
      Fix typo in vop name.
      Correct a few typos, add a label, clarify the out-of-band data
      Reference the out-of-band data stuff in internet.tex instead of
      From Gerd Moellmann, porting Christophe's SBCL's change, with a few
      From Eric Marsden:
      From Eric Marsden:
      Have %verify-argument-count signal a simple-program-error instead of a
      Signal undefined-function instead of program-error when funcalling the
      Fix typo. (From Eric Marsden.)
      o Fix spelling
      Port of SBCL's changes:
      o Make named :complex-subtypep-arg2 return T, T when the second type
      o A hack to make (subtypep 'keyword 'symbol) produce the right answer,
      Make "Newline" be the char-name instead of "Linefeed", as mandated by
      From Eric Marsden:
      From Eric Marsden:
      DEFSTRUCT was not recognizing the option :conc-name or (:conc-name).
      Update the exports to get rid of some warnings when compiling CMUCL.
      MACROLET needs to be expanded in the lexical environment, not the null
      Fix typo.  From Eric Marsden.
      Coercing a number, make sure the resulting coerced number is of the
      Allow computation of log's of big integers that might not fit in a
      Initial revision
      Gerd Moellmann's port of SBCL's fix for the conc-name/structure
      Recognize UTC (as the same as GMT).
      Precede compiler messages with a semi-colon.  Error messages don't
      o Was not properly printing out, readably, zero-dimensional arrays
      o Reinstate the printing of the callers-p results.
      Don't try to profile special-operators because we can't encapsulate
      Some changes from Eric Marsden for profiling the current compiler.
      Was losing precision for (log x) when x is a rational near 1.  Handle
      Fix typo in computing log of rational where the numerator and
      From Eric Marsden:
      From Eric Marsden:
      Handle BOA constructors with keyword arguments of the form
      Functions and instances are constantp.
      REQUIRED-ARGUMENT is in the EXT package.
      Correct some exports.
      Remove some undefined exported symbols.
      From Gerd Moellmann:
      Export print_generation_stats.
      Entomotomy bug defknowns-for-bit-array-operators-wrong:
      Entomotomy bug array-in-bounds-p-integer-args
      Chrisophe Rhodes noted that (log 19/3) was losing precision.  Fix that
      o Adds support for searching for the lisp.core file based on the
      Sparc-to-sparc cross-compile script for compiling lisp.core search
      Document the new -lib option, the CMUCLCORE envvar, and the core
      From Eric Marsden:
      o Make type (cons *) the same as type (cons t) by smashing (cons *)
      Recognize :allow-other-keys as a valid keyword arg for all functions,
      o Correct some deficiencies in INIT-RANDOM-STATE by using a new
      Enable support linkage tables in the runtime.
      UNPARSE-UNIX-ENOUGH:  If the PATHNAME has no directory component or
      For CASE and friends, the OTHERWISE clause is an OTHERWISE clause only
      o Define \cmucl{} and use it everywhere
      Use \code{} instead of \verb to fix up some overlong lines.
      The deftransform for find should return the item we found, not the
      Fix bug when looping over hash values/keys where we were setting the
      Solaris dumps core when printing NULL strings, so don't do that.
      The RDY and RDTICK instructions are really FORMAT-3-REG, not
      Print the instruction cycle value with commas.
      Revived SGI MIPS port, from Mike McDonald.
      Ignore some generated files like dvi, pdf, aux, toc.
      Update to use wildcards to ignore all aux, cdx, dvi, fdx, etc. files.
      Revived SGI MIPS port, from Mike McDonald.
      Fix bug in Karatsuba multiplier for (expt 16 256).  Was incorrectly
      To find name of a function, we need to look both in the foreign symbol
      Linkage table builds can have "negative" addresses that prevents
      Correct the typos in the cons simple-union method.  Fixes Entomotomy
      Correct typos in the dotprod example.  Adjust text a bit too.
      Fix typos so this can be processed by TeX.
      Update date to current "release" date.  Put release number in as
      Use \textless and \textgreater for < and >, respectively.
      Preserve the case of the variable names in the environment.
      Note that we preserve the case of the environment variable names.
      Remove the explicit test for stream element type of character.  Was
      The deftransform for ceiling with a divisor of the form 2^k was
      Add some comments that we should turn on AS_V8PLUS when the resulting
      Add vops to support multiplication by small immediate constants.
      The Sparc V8plus ABI allows use of all FP registers.  Make them
      Recode multiplication as shifts and adds only if there aren't too
      Clean up code.  Remove the bootstrap-conc-name reader conditional
      Fix typo.  It's umul, not mul.
      o Add the prxregset structure and add support for the V8+ ABI changes
      Add functions to extract out the operation and args of a
      If the function VM::GET-FP-OPERANDS exists, use that to get the
      Allow the debugger to return a value from a function.  Based on work
      Back out the debug return changes.  It causes errors in some of the
      One is a valid length for a signed-byte length.
      Make append and copy-alist check for improper (dotted) lists.
      Rename &parse-body to ext::&parse-body so pmai's scripts work.
      Note that (complex single-float) and (complex double-float) are good
      Add section for noting the differences from and extensions to ANSI
      "Borrow" the fixed implementation of nset-exclusive-or from SBCL.
      Describe the return types of decode-float, decode-single-float, and
      o Fix up the instruction printers for FRSTOR and FUCOM which used to conflict.
      o Set up a wider opcode column width.
      Add function to print the inst space for a backend, defaulting to the
      Add instruction printer for the bit-test instructions.
      Borrow SBCL's new deftransform for map-into to speed up map-into.
      Printing of x86 inst space wasn't nicely lined up anymore.
      Remove all stuff relating to :negative-zero-is-not-zero which enabled
      Set the backend-version to "UltraSparc/Solaris 7" when compiled for
      Update this to look more like the gcc version.
      Incorporate Helmut Eller's callback support.
      Bootfile for callback support.
      Make the standard Sparc register names be symbols so that *print-case*
      Give names to the %g6, %g7, and %fp registers (which aren't defined by
      Remove some unused code left over from earlier experiments.
      Replace the section "Calling Lisp from C" with rudimentary info about
      Callback support.
      o CALLBACK-ACCESSOR-FORM should test the type with typecase.  (Noted
      o Remove unneeded ALIEN package prefix.
      Oops.  The 64-bit result should go to the %i registers, not the %o!
      Correct the type declaration for lisp-fn in the callback defstruct.
      Add control-stack checking for Sparc.  Based on work from SBCL.
      o Oops.  It's i386, not x86.
      When building dependencies, use all source files, not just the ones
      file-length returns two values instead of one, as required.  Bug and
      o Correct the documented arg order for WITH-FD-HANDLER and
      Creating new files with :if-exists :new-version wasn't creating a new
      Fix typo.  We need a HOLDING-LOCK macro for non MP systems too.
      Initial import of Paul Foley's simple-streams implmentation.  Some
      o Note stack overflow checking added for Solaris.
      o Added map_noreserve, map_failed.
      More simple-streams updates from Paul Foley:
      Fix typo.
      Some changes from Paul Foley:
      * code/filesys.lisp (filesys-init): The version component of
      * code/filesys.lisp (purge-backup-files): Renamed from
      From Paul Foley:
      Enable vector-elt-width for all endians, not just non big-endian.
      Things like (ftruncate (the (single-float 0f0 100f0) x)) would cause
      o Give a description for the INVERSE function for IR1-TRANSFORM-<.
      Add vops for CHAR=, CHAR<, and CHAR< when the second arg is a constant
      Oops.  Fix typos.
      Define DOUBLE-FLOAT-BITS function and VOP for sparc to return the bits
      Use DOUBLE-FLOAT-BITS to get the bits of the double-float in the right
      Export DOUBLE-FLOAT-BITS for everybody, not just sparc.
      (defun foo (x)
      Fix bug in ftruncate derive-type optimizer triggered by
      In the deftransform for %unary-ftruncate, the bounds could be lists
      Add new vops for data-vector-ref/set for the case of a constant index,
      Fix harmless typo in vop name to be more consistent with other
      Fix typo in double-float-bits where the wrong offset was used to get
      Fix indexing error in DEFINE-PARTIAL-SETTER that causes bad array
      Need string.h for sparc to remove some compile-time warnings about strdup.
      Port of SBCL patch by Christophe Rhodes to make MAKE-SEQUENCE,
      MAKE-STRING-OUTPUT-STREAM takes an ELEMENT-TYPE keyword arg.  Make it
      Search PATH for the lisp binary and lisp.core as a last resort.  Based
      Remove the x86 conditionalization of the dynamic-extent arg to
      Update the LISTIFY-REST-ARGS vop to include an additional
      In %ENUMERATE-FILES, also match if the file has no explicit version
      Fix bad disassembly note about allocating bytes when the add
      Add support for DYNAMIC-EXTENT &REST args.  Update the ALLOCATION
      Update notes for dynamic-extent support, and some other missing
      ir2tran.lisp:  Make make-closure use dynamic-extent for everyone
      Enable dynamic-extent stack allocation for MAKE-CLOSURE, just like on
      Initial port of gencgc to Solaris.
      FFLOOR bug from Paul Dietz on cmucl-imp:
      Only x86 has ALLOCATION_POINTER.  Use
      Enable this to compile on Solaris.  Solaris wants the same typedefs as
      o Compile with optimization.
      Merge sparc_gencgc_branch that adds support for gencgc for Solaris.
      Bugs and suggestions from Christophe Rhodes
      Note on gencgc for Solaris
      Merge the Sparc dynamic-extent changes to HEAD.  Still not
      Remove the fprintf's where the hash table invariant wasn't true during
      o Use lowtag-mask to rounding csp-tn to a lispobj size.
      Correct a few typos where format strings weren't given enough args.
      Paul Dietz's ANSI tests cause a compiler error in the signed-zero
      DEFTRANSFORM for FLOAT needs to check if the number is a float before
      Remove extraneous print
      Set *TRUST-DYNAMIC-EXTENT-DECLARATIONS* to T for all platforms, since
      Use the new variables from internals.inc to get the right compiler
      Add /usr/lib/cmucl to the default core search path.  For x86/Linux
      Export ALLOCATION-TRAP for Sparc.
      The deftransform for - with a float and complex arg was negating the
      o Fill branch delay slots
      Disable package locks when rebuilding the various parts of CMUCL.
      Add CASA and CASXA (compare-and-swap) instructions available for Sparc
      o Add symbolic names for the predefined ASI values
      Turn off the trap for floating-pointe underflow for all platforms.
      *** empty log message ***
      Don't blindly set current_dynamic_space_free_pointer in the
      Fix typo.  Control stack grows up, not down!
      * src/compiler/sparc/macros.lisp (with-fixed-allocation): Extend
      #define CONTROL_STACK_END
      Fix a silly typo in the prefetch inst.
      Fix bug where the compiler was not correctly deriving the result type
      Convert another make-member-type to use specifier-type so that member
      Implmement Pierre Mai's idea of adding 2 macros for setting *FEATURES*
      Note addition of *runtime-features* and such.
      * src/compiler/byte-comp.lisp: Add features based on the current
      SIGNUM defoptimizer was returning the wrong thing for the following
      Fix typo in previous change to signum defoptimizer.
      Make backend-fasl-file-version be byte-fasl-file-version instead of
      Update fasl file version to #x19a, for our next release.
      It's ok for stack references to come from stack objects, because that
      o Clean up and correct description address map.
      Moved definition of SPARSE_BLOCK_SIZE to sparc-validate.h
      Fix the bug where undefined functions would cause bus errors on Sparc
      o The Sparc port was not correctly scavenging the interrupt handlers.
      Added constants pseudo-atomic-value and
      Added constants pseudo-atomic-value and
      Export constants beginning with "PSEUDO-ATOMIC" and "LOWTAG" to
      Use the new constants lowtagMask, pseudo_atomic_Value, and
      Oops.  Fix typo in exports.lisp and parms.lisp.
      No hardwired constants for fixnumize.
      o Change print-name of JAL to the standard Sparc JMPL instruction
      Use the SIGNX and CLRUW synthetic instructions as appropriate instead
      Update to support linkage-table and gencgc changes, like
      Sun C needs to include alloca.h.
      Replace the __FUNCTION__ gccism with the actual function name.  Sun C
      o Sun C doesn't like "const char const* argv0arg".  Make is just const
      Convert some void* objects to char* objects so we don't try to do
      Changes so this will compile under Sun C:
      Convert a few more void* to char*.  Add a few casts as needed to get
      o Change prefix for LOWTAG- symbols to lowtag_ instead of lowtag, to
      #ifdef out lowtag_Bits, type_Bits, and friends.  They should be
      It's lowtag_Mask, not lowtagMask.
      Fix a few more compiler warnings about mixing pointers and integers.
      Make the offsets for SAP functions be bigger than fixnums since we can
      Use larger field width when printing out minimal room info so the
      o Change many of the fixnum declarations to use (unsigned-byte 32) to
      Changes for ROOM.
      Zap out any bits for pseudo-atomic stuff when getting the
      Need to disable interrupts when doing an allocation trap.  The
      The pseudo-atomic flag was set/reset using add/sub.  Replace this with
      Initial import of Pierre Mai's build scripts (slightly modified from
      o Handle OR and ANDN instructions so we can print out notes about
      o Modified create-target.sh to try to figure out what Config to use
      Add options to make-dist.sh:
      Collect usage info into the usage function.  Give a description of
      Give a more complete description of what this does.
      o Give a more complete usage description
      Note Pierre's scripts have been added.
      Fix typo.
      Use the "natural" shift instructions instead of the V8 shift
      Oops.  Remove a debugging "set -x" that was inadvertently left in.
      It's kernel:%class-layout, not kernel:class-layout.
      clruw takes at most 2 args, not three.  (Left-over typo.)
      o Add a few more comments
      Add support for catching heap overflows, similar to the control stack
      Cross-compile script for heap-overflow checking on sparc.
      Add support for x86 heap-overflow checking.
      Cross-compile script for heap overflow checking.
      Note heap overflow checking.
      READ-SEQUENCE was returning too soon:
      *** empty log message ***
      Initial version.
      Don't need -c option for bzip2.
      Replace the magic 11's with 13 - fixnum-tag-bits, because that's what
      Use ldn/stn in loadw/storew.
      Define ldsw and lduw instructions appropriate for v9 and non-v9:
      Use ldn/stn when possible.  Use ldsw when we really want a signed
      lowtag-bits was defined twice.  Fix it.
      Print a note about possible LRA header words instead of printing LRA
      Fix typo.
      Fix typo in data-vector-ref-c/simple-array-complex-single-float.  The
      o Add exports for the new symbols used for heap overflow checking.
      Use the LI instruction macro instead of sethi/add.
      Replace a magic #b11 with fixnum-tag-mask and a magic 3 with
      Add a dash so makewhatis doesn't complain and make "man -k lisp"
      If we can't open /dev/urandom and read the desired number of words,
      From Helmut Eller on cmucl-imp: a little patch to get nicer names for
      Per the parse-integer VOTE, revert parse-integer :junk-allowed
      Port over the foreign function land stuff to Solaris so it prints out
      Make sure conditions::*make-condition-accessor-methods* is T when
      Silently limit the minimum rehash-threshold to 0.1, like SBCL.  This
      MACROLET can have declaration forms which we weren't allowing
      o C functions in backtrace
      Don't export or define DYNAMIC-SPACE-OVERFLOW-WARNING or
      WITH-FIXED-ALLOCATION must pass the temp-tn to ALLOCATION in all cases
      DIRECTORY is supposed to merge the given pathname with
      Revert back to the old LCM algorithm instead of using the reference given
      The EXPT derive-type optimizer was incorrectly deriving the type for
      When printing out the minimal ROOM info, include the max sizes for each space
      TRACE was broken if CMUCL wasn't built from a version that included
      Define globals to hold the sizes of the read-only space, the binding stack,
      Don't try to protect the hold for the dynamic_1 space when GENCGC is enabled,
      Fix the source tracking hooks to work correctly.  Also print out the "kind"
      Put the space-start values into internals.h so we can refer to them.  Then,
      Update to sparc gencgc so that alloc-tn holds the
      o Get the space_start values from internals.h
      Take out the fix for the problem of PCL optimizations being blindly applied
      The pathname for PROBE-FILE is supposed to be merged with
      Oops.  It's i386, not x86.
      Add comment from Douglas about what DIRECT_SCAV means.
      Remove some unused code that we don't need anymore.
      Add a deftransform for ABS so that if the arg is known to be non-negative
      o INTERVAL-RANGE-INFO was not returning the correct result for -0.0.
      Make the PAGE_SIZE 32K for sparc since that give performance at least
      valid_addr shouldn't test against DYNAMIC_1_SPACE_START in gencgc builds
      Disable package locks when doing a cross-compile.
      o Enable heap-check-overflow in features.
      Cross-compile script for the faster gencgc allocator on sparc.
      Some micro-optimizations
      Get the starting addresses of spaces from Lisp via internals.h instead of
      o Make target-read-only-space-start, target-static-space-start, and
      Fix for (pprint '`(lambda ,x)) bug wherein the backquote
      Add docstring for read-cycle-counter.
      Use full path for nm, since we don't support GNU nm or another other nm.
      Update comments on address spaces.
      COMPILE-FILE needs to merge the given file with *default-pathname-defaults*.
      Revert previous change.  It causes this function to infloop, blowing
      LOOP accepts NIL as the variable if arithmetic loops, such as
      o MAKE-PATHNAME signals an error for the invalid combinations (CLHS
      PEEK-CHAR should determine whether a character is whitespace from the
      o Fix INTERVAL-RANGE-INFO some more.  Put back the previous change
      Some ANSI compliance fixes found by Paul Dietz's tests.

wlott (2848):
      Initial revision
      Initial revision
      Added constants for the magic registers.
      Wrote DEFSLOTS macro.  Added DEFSLOTS forms for most of the basic data
      Fixed definition of closure.
      Defined CURRENT-FRAME-SIZE, because the ``machine-independant'' version
      Changed ENV-TN to CODE-TN.
      Added more hacks for NOP and MOVE.
      Added FIXNUM function that takes a number and shifts it twice, after
      Wrote ERROR-CALL and GENERATE-ERROR-CODE macros.
      Fixed ERROR-CALL
      Made break look at entire field.
      Fixed LOAD-CONSTANT-TN to load fixnums correctly.
      Fixed to deal with FIXNUM immediates correctly.
      Initial revision
      Initial revision
      Fixed typo.
      Fixed MOVE macro to check ALWAYS-EMIT-CODE-P at compile time.
      Fixed DEFINE-INDEXER to define correct indexers.
      Removed wrong comment from COMPONENT-HEADER-LENGTH.  The comment asserted
      Fixed LOAD-CONSTANT-TN to correctly pull constants out of the constant
      Export %mumble-slot constants from the VM package.
      Changed component dumping to the new object format.
      Wrote ``RCS Update Directory'' which prompts for a directory and updates
      Dump code objects in the new format.
      Added -u switch to rcs-check-in-file.  Shouldn't have taken -U all the way
      Added LOAD-FOREIGN instruction that emits a LUI followed by a ORI with the
      Fixed bug in RCS update directory that caused it to flame out when the
      Fixed COMPONENT-HEADER-LENGTH to round the size of the component header up
      Removed random %'s from constants and fixed random typos.
      Removed % from start of the constants.
      Added CONVERT-BYTE-LIST to list of functions exported.
      Make the DEFSLOTS macro record the entire structure definition somewhere so
      Removed duplicate definition of register names.
      Moved CONVERT-BYTE-LIST into assembler.lisp because neither Chris nor I
      Added error0, error1, and error2 VOPs.
      Tweeked the ERROR-CALL macro to no longer bind a gensym, but then never use
      Added new storage class:  Interior Pointers.
      Added ALLOC and FLAGS regs.
      Changed explicit references to LIP-TN to :temporaries.
      Added interior primitive type.
      Changed register names.
      Added flags.
      Added PSEUDO-ATOMIC macro.
      Added noise to define mumble-size constants if there are no :rest t slots.
      Fixed bug in INITIAL-SYMBOL-OFFSET.
      Added other structs (bignum, complex, ratio, etc).
      Added alignment stuff.
      Added expand macro.
      Added gp-tn for use with call-out to C.
      Made ERROR-CALL index into REGISTER-ARG-TNS at run-time instead of
      Added pad-data-block macro.
      Added VALUE-CELL structure.
      Added automatic generation of allocation vops.
      Changed fast-safe to :fast-safe to make define-vop happy.
      Fixed reference to real-results to be real-result.
      Changed reference to stack to control-stack and fixed random typos.
      Changed interrupt-resumer to interrupt_resumer, 'cause it's supposed to be
      Fixed allocators to allocate correct amount.
      Export closure-function-header-type.
      Added lisp::*foreign-function-call-active* to the initial symbols.
      Moved TARGET-mumble-SPACE-START from Genesis.
      Changed :boxed t/nil to :c-type string.
      Added load-symbol macro that will load one of the initial symbols into a
      Changed LOAD-CONSTANT-TN to use the new load-symbol macro.
      Changed Immediate-Constant-SC to return the random-immediate SC for any
      Wrote bind and unbind.
      Wrote VALUES-LIST vop.
      Added %initial-function to initial-symbols.
      Changed BREAK instruction to look at only half the field to be consistent
      Changed BREAK instruction to be consistent with the rest of the world.
      Initial revision
      Validate a small amount of memory for dynamic space, the control stack, and
      Boosted max-depth my one, 'cause it was cutting off right before the
      Added static symbols needed for non-local-exit: lisp::*current-catch-block*
      Added lisp::*current-unwind-protect-block* to the static symbols.
      Changed hard coded number to constant in error-call.
      Changed compute-<foo>-from-<bar> instructions to use unsigned math instead
      Added definitions for a few non-heap data blocks (bindings on the binding
      Added macros for return-pc hackery.
      Initial cut at rewrite for mips.  Not finished, but at least the VOPs will
      Initial revision
      Added (in-package "C").  Oops.
      Fixed ``inst return-pc-header'' to ``inst lra-header-word''
      Added #+rt-target around syscall stuff.
      Have make depends emit depends for *.s files as well.
      Pass the correct args to lisp instead of skipping one.
      Changed type_OtherImmediate to type_OtherImmediate[01].
      Wrap the pseudo-atomic around the entire list or list* form.  We have to do
      Changed references to string-char to base-char.
      Changed references to type_Character to type_BaseCharacter.
      Added VOPs for fixnum=>t in addition to fixnum=>fixnum that use overflow
      Changed unbind vop to unbind exactly one binding, 'cause it was only ever
      Added assembler routine support:  DUMP-ASSEMBLER-ROUTINE dumps the routine,
      Added instructions for LOAD-ASSEMBLY-ADDRESS and LOAD-ASSEMBLY-VALUE.  Just
      Filled in the generators.
      Fixed name of *static-symbols* back to *initial-symbols*.
      Changed (move count nvalues) to (loadi count nvals) 'cause nvals is an
      Added definition of LIP-TN in 'cause assemfile needs it.
      Initial revision
      Wrote MIPS version of:
      Spiffed up error-call.  Now it emits a description of what went wrong
      Added VOPs for many slots:  numerator, denominator, real, imag, length.
      Stripped out error[012].
      Added halt trap type.
      Export halt-trap.
      export:  bignum-base-size array-base-size vector-base-size and
      Changed pointer-sap-{ref,set} to sap-system-{ref,set} to be consistent with
      Initial MIPS cut.
      Added :result-types for schar and (setf schar) vops.
      Added structure-index-{ref,set} VOPs.  They are just like
      Changed result sc of sap-system-ref to no longer include descriptor-reg.
      Initial MIPS version.
      Simple strings hold string-chars, not base-characters (yet).  This caused
      Initial revision
      Added a few static functions to the list of static symbols:
      Added :init :arg options to the numerator and denominator slots of ratios
      Modified test-simple-type to assume that base-characters and
      Added define-static-functions for two-arg-{+,-,*,/} and negate.
      Initial revision
      Put type flame error into invalid-move.
      Don't call primitive-type-or-lose 'cause the primitive types don't exist at
      Added search.o.
      Added symbol parsing to parse_lispobj.
      Initial revision
      Don't be quite as verbose.
      Added print-three-nums routine for use with debugging.
      Changed two-arg-+, etc to two-arg-plus, etc to keep genesis from generating
      Added def-source-transforms for %more-arg-context and
      Initail MIPS version.  Mostly commented things out.
      Made the undefined function signal a continuable error.
      Initial MIPS version.
      Changed sap primitive type to system-area-pointer.
      Moved sap related stuff to its own file: sap.lisp
      Added support for continuable errors.
      Initial revision
      Changed name of sap primitive type checking stuff to system-area-pointer.
      Forgot to have the stub function for sap-ref-sap do anything.  Oops.
      Added target slot to the ir2-nlx-info structure.  This is needed so that
      Added LABEL info arguments to the NLX entry VOPs and made them emit the
      Added %proclaim to the list of functions that we need to know about before
      Forgot to enter structures into the EQ save table.  Oops.
      Made FIXNUMP vop translate FIXNUMP.
      Fixed TRANSFORM-CALL to return T or NIL to indicate whether to attempt
      Added fast-ash-fixnum=>fixnum VOP.
      Check for end of lists by comparing with NIL, not NULL.
      Fixed inconsistency between usage of ``cname'' and ``name'' in the
      Tack on the .lisp extension when assembling files to keep from loading the
      Initial revision
      Changed a few constants to parameters.
      Initial MIPS cut.  Actually, a totally new file, as nothing carries over.
      Fixed random typos, etc.
      Changed call of ``merge-pathname'' to ``merge-pathnames''
      Spiffed up ASH derived type optimizer.  If the shift amount is reasonably
      Removed debugging format that got left behind.
      Better handling for SIGTRAP.  We now tell the use what lost (the error
      Fixed bind and unbind to store the symbol and value in different slots.
      Added ``fasl-dump-cold-load-form'' to assemble-file so that symbols get
      Nuked current-sp, cause it is no different from current-stack-pointer.
      Removed another debugging format.
      Converted DEFSLOTS (from cell.lisp) to DEFINE-PRIMITIVE-OBJECT which more
      Got rid of all DEFSLOTS, as DEFINE-PRIMITIVE-OBJECT supersedes it.  We now
      Spiffed up the automatic accessor generation.  If you specify a :set-trans
      Flag :rest-p and :setf-vop as an error.
      Wrote current-binding-pointer.
      Added :ref-trans and :set-trans options to the array primitive-object.
      Added defknowns for %array-mumble.
      LISTP makes a better predicate than LIST.
      Use ``lbu'' instead of ``lb'' to load the type byte.  That way it won't get
      Mucho hacking; almost a complete rewrite.
      Added :type, :ref-known, :set-known options for slots.  When specified,
      Expanded array primitive-object.  Now all the slots have refers and
      Moved vector-word-length into array.lisp even though its not implimented
      Added deftransforms for various kinds of data-vector-{ref,sef}.
      Gee, if you supply an keyword as (), it shows up as nil.  Therefore, added
      Changed vector-base-size to vector-data-offset.  These mumble-base-size
      Spec the :setf-vop for symbol-value in addition to the :set-trans, 'cause
      Fixed header-ref hacks now that fast-svref is gone.  Now we use
      Define-indexer did not fill the load delay slot when the index was not an
      Fixed a bug in base-character-move that caused it to trash the character
      Removed ``string-char-p'' and added ``base-char-p''
      Translate characterp and %string-char-p into base-char-p 'cause we only
      Removed ``string-char'' and added ``base-character,'' ``single-float,'' and
      This commit was generated by cvs2svn to compensate for changes in r507,
      Added predicate for base-characters.
      Added notion of base-characters at the lisp type level.
      Deftype character to be base-character, 'cause they are one and the same.
      Added eval-when compile load eval around remhash of character from
      This commit was generated by cvs2svn to compensate for changes in r516,
      Only take continuation-value of constant-continuations in the %typep
      Make string-chars look like base-characters, but warn the bozos.
      This commit was generated by cvs2svn to compensate for changes in r526,
      Moved implementation specific predicates into a new VM specific file:
      Moved into KERNEL package.
      Initial revision
      Removed eval-when from around (remhash 'character *builtin-types*), 'cause
      Initial revision
      Qualify check-cons, check-symbol, and check-function-or-symbol as being in
      Moved DEFKNOWNS into vm-fndb.lisp.
      Changed LISP-JUMP and LISP-RETURN macros to frob the code object during the
      Don't use the LISP-RETURN macro, 'cause it now frobs the code object.
      Let the LISP-JUMP macro frob the code object.
      Fixed define-indexer to only use LIP as an interior register.
      Wrote sxhash-simple-string and sxhash-simple-substring.
      Import simple-array-p from the lisp package.
      Comment out predicate for simple-char, as it should never be used.
      Wrote make-array-header.
      VOPs work better when you don't name a temporary the same thing as one of
      Fixed TEMPLATE print function to not assume operand restrictions are always
      Changed lexical-environment type to just list instead of (or list
      Initial revision
      Added static function definitions for two-arg comparisons.
      Added :type random decl for non-descriptor temporary.
      Only emit some subset of the static symbols into the C header file.  The
      Added :translate length for length static function.
      Added :ref-trans and :ref-known for vector-length slot accessor.
      In length, we can't keep cdring down the list until we hit a non-list
      Nuked special purpose vector length accessors, 'cause the general purpose
      Qualify binding-<mumble> constants as being in the VM package.
      Have the C package use the VM package.
      Export %array-<mumble>, %check-bound, genesis, data-vector-ref from kernel.
      Change negate static function to %negate to be consistent.
      Changed negate static function to %negate to be consistent.
      Ooops.  Put a bunch of symbols in the wrong export list.
      Removed knowledge about different float formats, 'cause it was just making it
      The global pointer works better when it is loaded with the saved value
      Have push-values return the number of values as a fixnum instead of a raw
      Establish args and old-cont before calling the function.  That way, they
      Exported data-vector-set and %negate from kernel package.
      Added two-arg-{and,ior,xor} to exports from kernel.
      Added define-static-functions for two-arg-{and,ior,xor}.
      Added two-arg-{and,ior,xor} to static symbols.
      Forgot to establish CONT for the callee.
      Added defenum of vector subtypes.
      Added exports of vector subtypes.
      Rob fixed something to do with environment TNs not being considered live at
      Rob fixed something to do with environment TNs not being considered live.
      set-vector-subtype was shifting the subtype right by two bits instead of left
      Random fixes: find the initial CONT from the signal context instead of
      Fixed structure mumbling.  printf works better than print for printing
      Stacks are now only 1 meg, instead of 32 meg.  That way, run away recursive
      Added hack support for number stacks:  Current-frame-size returns two
      Changed {load,store}-stack-tn to use the correct stack.
      Deal with base-characters in {load,store}-operand.
      Boosted the sc number limit in preperation for adding floating point noise.
      Added bit-bash-<mumble> and type-init to the list of kernel exports.
      *** empty log message ***
      *** empty log message ***
      Added compiler-let of bootstrap-deftype around deftypes of single and long
      Fixed the move costs to exclude more bogus moves, like any-reg -> sap-reg
      Rolled back to original move costs, 'cause there seemed to be a problem with
      For some reason, {load,store}-operand wanted to be able to load/store
      Initial MIPS version.
      This commit was generated by cvs2svn to compensate for changes in r639,
      More random changes to try to get parts of it up on the mips.
      Initial revision
      Added :ref-vops for function and closure primitive data objects.
      Moved deftypes out of vm-type-init and back to the top level, 'cause the
      Initial revision
      Added constants for five more registers that are distinct from any of the
      Wire the temporaries of copy-more-args to locations that are known to be
      This commit was generated by cvs2svn to compensate for changes in r670,
      Initial MIPS version.
      This commit was generated by cvs2svn to compensate for changes in r672,
      Added bootstrap version of ctype-p.  The real definition gets installed by
      Make sxhash-single-string return (unsigned-byte 27) so that we don't have
      Removed bogus :type fixnum declaration.
      Print each top level function as we funcall it so we can tell where we are
      If you put a load in a branch delay slot, don't try to use the loaded value
      This commit was generated by cvs2svn to compensate for changes in r739,
      Added fake definitions for careful-symbol-function and
      Don't assume that the block-number of the component-tail is the correct
      TNs are not longer deleted unless they are :normal, so don't complain if
      In note-rejected-templates, don't note a template if _it's_ note is NIL
      In select-location, give up immediatly if there isn't enough space for a
      Pass the vop to the move functions instead of the node.  This allows the
      Changed note-number-stack-tns to actually iterrate across the tns instead
      Changed delete-unreferences-tns to only nuke the tn is it's :normal.
      Changed define-move-function to assume that the first arg is a VOP instead
      Changed ir2-block-count to look for the first block that has a non-nil
      Use ir2-block-count to determine the number of ir2-blocks, 'cause it has to
      Changed result types from t to * so that fixnum will be allowed.
      Lots of changes for the non-descriptor stuff.
      Only list one SC for temporaries.
      Lots of changes for the non-descriptor stuff.
      Put the 1+ back into ir2-block-count.  (oops)
      Changed cont-tn to fp-tn.
      Changes for new-assembler.
      New assembler changes.
      Changed define-storage-classes to define (and export) constants holding the
      Export lisp::sap-ref-sap from system.
      Put constant back into ext exports.
      Added parse-unknown-type-specifier to the kernel exports.
      Removed left over call to finish-assembly
      Removed spurious node references.
      Fixed bug in allocator for varible length headered things.  I was putting
      fixed sap-{ref,set} in light of non-descriptor stuff.
      added foreign call vops.
      Removed a random node var that got left behind.
      many fixes.
      This commit was generated by cvs2svn to compensate for changes in r830,
      Mips version.
      Changed elt to schar.
      Removed sap-reg from the result SCs for sap-set, and made sap-system-set
      Fixed read-control-stack and write-control-stack to inherit the correct
      Added sap+ to system exports.
      Removed :translates for {alloc,dealloc}-number-stack-space, 'cause they
      Changed the pointer alien-access expert back to correct semantics now that
      This commit was generated by cvs2svn to compensate for changes in r842,
      More random hacks trying to get it to work.  Bigest change is that
      Unintern sap+ so that we don't nuke the current macro.
      Fixed argument order for loads and stores.
      Spiffed up sap-ref and sap-set.  Now they are much better when dealing with
      Changed {read,write}-control-stack to correspond with sap-{ref,set} changes.
      Forgot to save buffer before checking in last set of changes.
      Added #+new-compiler in front of system-area-pointer so that the old
      Nuke sap+ from the compiler package also.
      Wrote byte-blt.
      Dont dereference info->code if it's NULL.
      Moved num.lisp stuff into here, 'cause it was silly to start a new file.
      Changed raw-bits to a 32-bit reference.
      If the sc is listed for an argument, restrict that argument to that SC.
      Make the short and byte instructions use the short and byte formats instead
      Changed sap+ to take its argument as an unboxed value, so we don't have to
      Don't pass collect a constant initial value, 'cause it destructivly modifies
      Changed %raw-bits to 32 bits.  Added 32-bit unsigned logical ops.
      Rob fixed some bugs that kept the nfp from being allocated even when it was
      Specify an offset in addition to an SC for the SAP args to byte-blt.
      Replaced several %primitives.
      Changed to use 32-bit units.  Replaced calls to logand, lognot, etc, with
      This commit was generated by cvs2svn to compensate for changes in r883,
      Added magic to recognize pointer alien types.
      Introduced symbols 32bit-logical-{and,or,not,xor,nor} and merge-bits to
      Added unboxed-array type which is the union of all specialized array types
      Removed unused temporaries from rem.
      Added ``unboxed-array'' to the list of kernel exports.
      Added #+new-compiler in a few places to keep from clobbering stuff in the
      Left out the element type arg to def-data-vector-frobs for the
      typo in sap-.
      Added sap-
      Wrote several that were %primitives before.  Rewrote rev-fnd-char-w/attr
      Fixed random variable name inconsistencies.
      Put #+new-compiler in front of defparameters for system-space-start and
      This commit was generated by cvs2svn to compensate for changes in r902,
      Rewrote sxmash to keep out of bignum land.
      Major rewrite.  Much better support for non-descriptor numbers in addition
      Moved the guts of {get,set}-vector-subtype into {get,set}-header-data (in
      Don't use ldb (byte 16 16) in the old compiler, 'cause it will compile
      Added :alloc-trans for bignums.
      Added {get,set}-header-data VOPs that used to be {get,set}-vector-subtype
      Removed primitive-type-vops for fixnum, 'cause fixnum now comes in two
      Added all the bignum support routines.
      Added bignum types bignum-type, bignum-element-type, and bignum-index.
      Added define-type-predicate for {signed,unsigned}-byte-32-p
      Expanded fixnum primitive-type into fixnum and positive-fixnum.  Added
      This commit was generated by cvs2svn to compensate for changes in r920,
      Use (ldb (byte 32 0) s-expr) instead of (abs s-expr) in sxhash of fixnums,
      Added bignum package and exports.
      Added :result-types spec to fast-truncate/signed so that there are the same
      Allow non-fixnum integer primitive types (unsigned-byte-32, etc) to be
      Import vm:bignum-type into the bignum package.  This is so the same symbol
      Rob added code to keep it from spilling the NFP.
      Lots of changed to fix the untagged number and bignum support stuff.
      Fixed tail-call to restore the number stack pointer.
      Don't allow constants to be loaded into any-regs, 'cause it doesn't pay
      Added target-most-{positive,negative}-fixnum definitions.
      Do an and-immediate instead of a load-immediate/and-register.
      Added bignum::%{signed-,}digit-to-{single,double}-float defknowns.
      Don't include constant in any-regs list of :constant-scs.  Only allow fixnum
      Added target-most-{positive,negative}-fixnum to the VM exports.
      Fixed a lifetime problem with nvals != 1 return.
      Don't use ash when trying to make fixnums, 'cause the old compiler gets it
      Print fixnums signed.
      Added noise to make sure all the system calls are linked in.
      Pack component restricted tns before normal restricted tns.
      Rob made some changes that make it less enthusiastic about allocating
      Moved the move/coerce stuff into move.lisp, so that it can go earlier in
      Moved compute-lra-from-code insts in local call, 'cause the callee return-pc
      Moved the number move-vops into this file so that they precede most every
      Changed the default policy to :safe.
      Rob added some stuff to keep inline functions that were let-converted (and
      Don't save/restore the NFP.
      Made the default fixnum-binops have a result type restriction.
      Fixed some random lifetime problems.
      Fixed :arg-types in light of fixnum->tagged-num changes.
      Added type-expand to the kernel exports.
      fixed a bug in single value return that I introduced while trying to fix a
      Fixed sub-w/borrow
      Added predicates and check-vops for the simple-array-unsigned-byte-n and
      Fixed bug in get-type.
      Changed setf functions to %set- to keep from having to call fdefinition
      Rob left out an argument in his last fix.
      Fixed a few placed I missed when updating to the new integer primitive types.
      call-out should have the NFP, 'cause nobody else will if it doesn't
      Added definition of simple-unboxed-array, very similar (but different) to
      Added primitive-translator for byte-blt that dispatches on the types of the
      Added exports of %dpb, %ldb, and simple-unboxed-array to the kernel package.
      Removed byte-blt primitive in favor of new primitive translator in vm-tran.
      Nuke ``REAL'' from the XLIB package, so we can export it from the LISP package.
      Added noise for complexp vop.
      Added static symbols two-arg-gcd and two-arg-lcm.
      Save the NFP across static function calls.
      Changed a SC restriction to be unsigned-reg instead of doing the shift
      Added two-arg-gcd and two-arg-lcm to the kernel package.
      Had the :gt test backwards.
      Rewrote the ASH vop.  Now it operates on unboxed numbers instead of doing
      Fixed a bug in %subtract-with-borrow.
      Changed unknown-values-receiver to look for the values in old-fp instead
      Save the nfp-tn if there is one.  Call debug_print instead of print, so that
      Added definition for the offset of $L1.  Had to change the throw assem-rtn
      Had to explicitly wire assem-rtns' temps so that at least one ($L2) would be
      Lots of changes.  Stripped out all the automactic TN allocation.  It was
      Added defknowns for the four bit copying routines: bit-bash-copy,
      Fixed the byte-blt primitive translator.  Forgot that bit-bash-copy, etc
      Enumerated all the different register offsets.
      Changed re new assemfile:  All temps have explicit offsets and scs.
      Initial revision
      hanged re new assemfile:  All temps have explicit offsets and scs.
      Added bitbash stuff.
      Initial revision
      When in the old compiler, bind *in-compilation-unit* to nil so that macros
      Wrote the i-vector and array dumping stuff.  Actually, picked up Rob's
      Seperated the debug stuff into its own file.
      Fixed unwind and throw to pass the args pointer in old-fp instead of args,
      Lots of changes re call.  Call-into-c and handle-now now allocate lisp stack
      Added debug_print, which prints a string in a terse manner.
      Wrote allocate-code-object.
      Fixed the argument order to tail-call-variable.
      Added ref-vops and set-vops for various code and function slots.
      Added various random code object frobbing vops.  code-constant-set sets one
      Fixed two bugs.  Clear the interrupted flag when a frame isn't interrupted,
      Moved code-constant-set from system.lisp into cell.lisp so that it would be
      Added :set-vop for the self slot in functions.
      Changed setf functions for sap-ref-mumble to be setf macros.
      Initial revision
      Added stuff to allow different using different functions for the srcs and dst.
      This commit was generated by cvs2svn to compensate for changes in r1118,
      First MIPS cut.
      This commit was generated by cvs2svn to compensate for changes in r1124,
      Wrote makeunbound.
      Added defuns for all the strange predicates that the new compiler needs to
      copy-more-arg didn't make sure that there were enough args to cover the
      Fixed the simple-string/null-terminated alien-access expert.  It wasn't
      listify-rest-args was leaving a bogus pointer in a descriptor register.
      Had the source and result switched in the replace transform.
      Added keyword args to lisp-return to control whether or not it should frob
      Added :set-vop for the debug-info slot in code objects.
      Changed get-type to indirect function pointers in addition to otherpointers.
      Don't frob the code register when doing an unwind.
      Have makunbound return the symbol (instead of the unbound marker).
      When allocating code objects, take into account the normal header slots,
      Make sure the C stack always remains dual-word aligned.
      This commit was generated by cvs2svn to compensate for changes in r1206,
      When defining the indirect operator for pointer types, use the type
      Fixed pointer-compares to take args in sap-regs to that the actual
      Fixed make-array to round the length out to a dual-word boundry.
      Added pointer< and pointer> as functions and changed uses of %primitive
      Put the %primitives back in undef #-new-compiler.  Forgot that this file
      Added pointer< and pointer> to the system package.
      Added C types for the various slots of unwind blocks and catch blocks.
      Fixed a load delay slot bug.  You can't load something in a branch delay
      Nuke ``var'' and ``arg'' from the lisp package, 'cause we want to export
      Added debug and debug-internals packages.
      Can't have SC restrictions on the args to nlx-entry and nlx-entry-multiple
      Initial revision
      Removed package qualifier from error names.
      Removed package qualifier from error names.
      Removed package qualifier from error names.
      Changed the error-call stuff so that it looks up the error number at compile
      Initial revision
      Removed package qualifier from error names.
      Now that the error symbol doesn't get evaluated, we can't pass it in as
      Now that the error macros want the error symbol instead of a value, we
      Oops, deleted the (:variant-vars ...) option from the wrong def-vop.
      Make a sigcontext alien directly, don't make a *sigcontext alien and
      Fixed defvar of *meta-error* to be *meta-errors*.
      Added :ref-vop c::code-code-size.
      Finished bit, (unsigned-byte 2), and (unsigned-byte 4) data-vector-{ref,set}.
      Added other signals, like sigsegv and sigbus.
      Fixed object-not-weak-pointer to be object-not-weak-pointer-error.
      New weak-pointer description from Chris.
      Changed make-nfp-tn to return a wired tn instead of a restricted tn.
      Added export of object-not-weak-pointer-error
      Removed comments around part of the truncate stuff.  (Anything that doesn't
      Added :translate and :policy for unwind.
      Fixed it so that we absolutly don't read any extra words to keep from
      Don't wire anything at args-offset, 'cause we want to reserve that for the
      Cant wire two temps to the same location, stupid.
      Added defknown of %make-weak-pointer.
      Imported many internal routines from the lisp package into the c package.
      Don't compile dispose-alien in the old compiler, 'cause we have uninterned
      Allocate number stack space in multiples of 8 bytes.
      Added *code-segment* and *elsewhere* 'cause they are needed before we
      This commit was generated by cvs2svn to compensate for changes in r1314,
      Wrapped truly-the system-area-pointer around %primitive foreign-symbol-
      Added code to find the function that was interrupted and pass it into
      Seperated the automatic primitive object generation stuff into the
      Import lisp::%set-sap-ref-{sap,32,16,8} into the C package.
      When a stack grows down, and you index off the frame pointer with positive
      Moved defsetfs for sap-ref-mumble from alieneval.lisp to macros.lisp.
      Fixed ~A and ~S lossage were it assumed that nil got printed as "NIL"
      Fixed %floor.  It is now 326 instructions long when we do everything we
      Fixed the data-vector-{ref,set} transforms for simple vectors of
      This commit was generated by cvs2svn to compensate for changes in r1375,
      Changed %set-search-list to allow anything pathnamable instead of just
      Fixed use of sc-load-functions to be sc-move-functions.
      Fixed a use of sc-load-functions to be sc-move-functions.  Changed the place
      The fill value for alloc-g-vector must be passed in a descriptor-reg, not
      The throw target must be passed in a descriptor-reg, not an any-reg.
      The vectors for bit-bash-copy must be passed in descriptor-regs, not
      Moved definition of make-unknown-values-locations to the vm specific
      Changed the primitive-type printer to only print the lisp type if its
      Random changes necessary to incorporate load-tn fixes.  Mostly making
      Added more random exports.
      Fixed alloc-g-vector to take the fill value in either any-reg or
      Allow multiple SCs to be speced for args and results.  The wired temp uses
      This commit was generated by cvs2svn to compensate for changes in r1413,
      Initial MIPS version.
      Allow the args to unwind to be passed in either any-reg or descriptor-reg.
      Random typos.
      This commit was generated by cvs2svn to compensate for changes in r1467,
      Added type assertions around/in %primitives so that fixnums get put in
      Added buttloads of :arg-types and :result-types.
      base-characters are not allowed in descriptor-regs.
      The length in the header word doesn't include the header word itself in the
      Added :arg-types and :result-types.
      Fixed defknown of %bignum-set-length.  It returns the bignum, not the length.
      short/long float map to single/double float, not the other way around.
      Descriptor-reg shouldn't have the numeric immediate SCs listed in its
      Added lots of :arg-types and :result-types, now that the compiler lets you
      Added :arg-types and :result-types as necessary.
      Added :arg-types as necessary.
      Qualify def-buildin-type and make-named-type as being in the kernel
      Rob made some fixes to the error reporting stuff.
      Weakened the arg-types restriction on %listify-rest-args, so that the VOP
      Added :translates for sxhash-simple-string and sxhash-simple-substring.
      Added :translate for vector-sap.
      Added defknowns for %sxhash-simple-{sub,}string and vector-sap.
      Added :arg-types and :result-types to sxhash-simple-{sub,}string.
      Added %sxhash-simple-{sub,}string to kernel exports.
      Changed the hack in fixnum that was supposed to get around bignum lossage.
      Can't use #+new-compiler in FIXNUM, 'cause the wrong one will be used in
      Fixed several proclaims.
      Added a hack to get (setf sap-ref-32) to work.  Basically, the result type
      This commit was generated by cvs2svn to compensate for changes in r1516,
      Added bootstrap versions of values-type-p and copy-type-class.
      This commit was generated by cvs2svn to compensate for changes in r1521,
      Fixed print-herald to check to make sure the version specials are bound
      This commit was generated by cvs2svn to compensate for changes in r1523,
      Don't use namestring unless the thing is a pathname.  This is because
      Rewrote the define-compute-instruction macro to do the full blown correct
      Added the temp args to compute-foo-from-bar instructions.
      Added the temp args to compute-foo-from-bar instructions
      Added translates for get-header-data and set-header-data.  Added the zero
      Added defknowns for get-header-data and set-header-data.  Changed
      Added the temp arg to the compute-lra-from-code.
      Added (use-package "EXT") 'cause we need to get at symbolicate.
      Added temp arg to compute-lra-from-code, 'cause it might need one if the
      Random #+new-compiler changes to dump-array, dump-i-vector, and
      Fixed a bug introduced into default-unknown-values, where it would try to
      Nuked %displacedp and %set-array-displacedp, 'cause they were wrong and
      Added %array-fill-pointer-p to the kernel exports.
      Added a fill-pointer-p slot to the complex array header object.
      In call_into_lisp, allocate a frame size that is a multiple of 8 bytes
      Initial revision
      Moved constants and structures into core.h.  Added necessary stuff for
      Removed the pseudo-purify so that the name will not clash with the real
      Added stuff to deal with save and restore.
      Ripped out all the throw_to_top stuff, 'cause it really fucked the lisp
      Don't rely on code being set in the interrupt handler, so we will still
      Initial revision
      Added save and purify.  Ran ``make depends''
      This commit was generated by cvs2svn to compensate for changes in r1567,
      Removed the #+nil in front of the call to purify or gc.
      Added install of SIGQUIT handler.
      Added exports of get-type, get-lowtag, and get-header-data to the kernel
      Extracted make-symbol from the automatic allocators and fixed it to set the
      Fixed mumble-code-header to compute the lowtag correctly for
      Added get-lowtag, which returns the lowtag of object.  Made both it and
      Added defknowns for get-lowtag and get-type.
      Forgot to strip out the :init slot args for the slots in symbol.
      Hash-tables have to be invalidated when scavenged, not transported.
      Build a stack frame so we can backtrace reliably.
      Fixed to correspond to changes to interrupt.c
      Fixed some any-reg/descriptor-reg lossage.
      Added vop arguments to the internal errors.
      Added vop arguments to the internal errors.
      Added a note-this-location.
      Added note-this-locations to the error macros.
      Added vop arguments to the rest of the internal errors.
      Added exports of various float parameter constants from the vm package.
      Added :alloc-trans for %make-complex and %make-ratio.
      Added defknowns for %closure-index-ref, %make-complex, and %make-ratio.
      Added closure-index-ref.
      Added %closure-function, %function-header-arglist, %function-header-type,
      Added definitions for multiply-bignum-and-fixnum and multiply-fixnums.
      Fixed fneg to be fneg instead of fabs.
      Fixed defknown of make-double-float to spec the return type as double-float
      Added ext: in front of truly-the.  Changed plusp to minusp in
      Augmented emit-error-break to not call note-this-location if the vop is
      Added NIL for the vop in all the error macros.
      Added sap-ref-{single,double,descriptor}.
      Added sap-ref-single, sap-ref-double, and their setf methods.  Added
      This commit was generated by cvs2svn to compensate for changes in r1638,
      Changed short/long-floats to single/double-floats.
      Changed the define-move-vops for the move-mumble-float-arguments vops to
      Added :single and :double sized to sap-ref and sap-set.
      Changed the return type of %fixnum-with-correct-sign to be (signed-byte 32)
      Moved float-format-digits from parms.lisp to here, because parms is only
      Moved float-format-digits from the vm package to the kernel package.
      This commit was generated by cvs2svn to compensate for changes in r1665,
      Initial MIPS branch.  Just call the regular printer.
      Save the NFP before we trash CONT in known call.
      Added a copy-list to keep from modifying the source code in
      Added lots of #+pmax specific stuff.
      Added a #-new-compiler in front of the defconstant native-byte-order to
      Added get-closure-length to the kernel exports.
      Changed (vop-info-name (ir2-block-last-vop 2block)) to (vop-info-name
      Changed closure-index-ref to expect function-pointer-type things as
      Added get-closure-length.
      Added get-closure-length, which is the same as get-header-data, except that
      Added the rest of the 32bit-logical-mumbles to the kernel package.
      Removed comments from around 32bit-logical-mumbles.
      Initial revision
      Speced the type of the vector length slot as being an index.
      This commit was generated by cvs2svn to compensate for changes in r1703,
      Added two functions, assert-user-package and initial-init-function, for
      Added %proclaim to reset the default-cookie after everything is loaded.
      Don't try to use string-char-p when compiled with the new-comiler.  Just
      Initial revision
      Changed three-way-comparison to a function and fixed a bug in the :gt
      Added a load of mips:core now that I've converted it to the new object
      Use the symbol-value of the header when generating alloc-vops instead
      This commit was generated by cvs2svn to compensate for changes in r1716,
      Added stuff to check to see if XP has been initialied, and if so, use it.
      Wrapped #ifdef PRINTNOISE around all the printfs so that gcing isn't quite
      Check to see if the lowtag of the code object is a function pointer, not the
      Changed to check for a ``-monitor'' switch before calling the monitor in
      Wrapped #ifdef PRINTNOISE around all the printfs.  Wrote a ptrans_symbol
      Changed the writing n words message to be writing n bytes to be consistent.
      Put #+new-compiler in front of everything except the defstruct so that we
      Added bignum-{index,type,element-type} to the bignum exports.
      Fixed unbind-to-here to resore the original value instead of using
      Added a :target to move-foo-float-argument.
      This commit was generated by cvs2svn to compensate for changes in r1732,
      Completely rewrote the def-c-routine stuff.
      Changed to correspond to new call-out convention.
      Changed call-out to correspond to the new convention.
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r1748,
      Fixed compute-call-form to quote all the types it passes to make-alien,
      Moved phase, cis, and abs into irrat.
      Moved phase, cis, and abs here from numbers.  Commented out defconstant
      Fixed the sense of check<= and check=.
      Added set-header-data and signal-init to the kernel exports.  Added
      Moved the signal related stuff from syscall to here.
      Don't load the 4 arg registers, 'cause we now put the args in them instead
      Fixed lifetime info for fast-eql/fixnum and fast-eql-c/fixnum.
      This commit was generated by cvs2svn to compensate for changes in r1801,
      Fixed the def-c-routine.
      Added temporary versions of data-vector-ref and -set for bit, unsigned-byte
      #+nil'ed the bit-vector, unsigned-byte-2-vector, and unsigned-byte-4-vector
      This commit was generated by cvs2svn to compensate for changes in r1807,
      Changed compute-call-form to check pointer return values for NULL.  If
      This commit was generated by cvs2svn to compensate for changes in r1809,
      Complete rewrite for MIPS branch.
      Chagned int-char to code-char.
      This commit was generated by cvs2svn to compensate for changes in r1813,
      Added definition for %standard-char-p.
      This commit was generated by cvs2svn to compensate for changes in r1815,
      Fixed with-mumble-string(s) macros to not say (the simple-string foo) when
      Moved parse-lambda-list from macros.lisp to proclaim.lisp.
      Wrote the rest of the trigonometric functions and fixed the complex case
      Added vops for data-vector-{ref,set}/simple-array-{single,double}-float.
      Oops, can't use the move macro to move floating point values.  You have to
      Changed %THROW definition to not use DEFUN so that the compiler doesn't get
      Changed int-char to code-char, 'cause int-char no longer exists.
      This commit was generated by cvs2svn to compensate for changes in r1829,
      Deleted defuns of allocate-storage and deallocate-storage and replaced
      This commit was generated by cvs2svn to compensate for changes in r1834,
      Changed uses of ``string-char'' to ``base-character''
      This commit was generated by cvs2svn to compensate for changes in r1836,
      Nuked defuns of %sp-find-character{,-with-attribute} 'cause we have real
      This commit was generated by cvs2svn to compensate for changes in r1838,
      Changed all the sap %primitives to correspond to the new functional
      This commit was generated by cvs2svn to compensate for changes in r1846,
      Initial MIPS version.
      Changed the internal-error stuff to be able to record any sc.  Also allow
      Changed the move macro to use the move inst.  Changed the internal error
      Initial revision
      Added declare ignorable to the lambda created by deferr, so the args don't
      Added four new types, funcallable-instance-header and 3 unused function
      Fixed the order of arguments to setf functions.
      Added cell-setf-function vop, to be used when we want a setf-function as
      Choose between cell-setf and cell-setf-function based on whether we are
      Wrote reallocate-system-memory.
      Fixed the order of args to setf functions.
      Added reallocate-system-memory to the system exports.
      Changed a :translate of (setf %raw-bits) to %set-raw-bits.
      When generating the defknown for setf functions, put the arguments in the
      Someone (probably me) used hard-wired constants for the function-header
      Wrote bytes-needed-for-non-descriptor-stack-frame and changed the nine
      Wrote maybe-load-stack-tn, which will either load the value off the stack
      Merged MIPS branch onto trunk.
      Moved MIPS branch onto trunk; no merge necessary.
      Merged MIPS branch with the trunk.
      Moved MIPS branch onto trunk; no merge necessary.
      Merged MIPS branch with the trunk.
      Changed HAIRY-TYPE-CHECK-TEMPLATE to return check-function for any function
      Don't search read only space for symbols, 'cause there will never be any
      Changed the internal error reporting stuff to be able to deal with the
      Extended read only space and static space to 64M from 16M.
      Added socket.o and -lm to ldb.  Added compile rule for socket.c.  Ran
      Initial revision
      This commit was generated by cvs2svn to compensate for changes in r1924,
      Fixed the def-c-routine stuff.
      Use *lexical-environment*, not *fenv*.
      Use *lexical-environment*, not *venv*.
      Fixed the proclaim of continuation-type to return a ctype, not a type.
      When in the old compiler, pass lexenv-functions of *lexical-environment*
      Changed an :entry to both :block and :tagbody in an ecase.
      Changed make-old-fp-save-location and make-return-pc-save-location to
      Fixed nlx-entry-multiple to be able to deal with result tns that are
      Nuked most-positive-cost and added register-save-penalty.
      Changed lexical-environment to be a c::lexenv instead of a list.
      Deleted the :element-size of 2 for double-regs, 'cause we can't save tns
      Chagned the slot setter functions to take the arguments in the corrent order.
      Fixed random merge problems and other assorted typos.
      Fixed bogus fixnum declaration in parse-integer.
      Added register-save-penalty, %set-sap-ref-{single,double}
      Added :clear-input method.  Changed base-character to character in
      #+new-compiler'ed stuff that only works in the new compiler.  Changed
      Re-enabled the object set stuff.
      Random stuff to get define-setf-method to cross compile.
      Added CLX.  Added switched (:no-xp, :no-hemlock, :no-clx) to keep
      This commit was generated by cvs2svn to compensate for changes in r1952,
      #+clx'ed X only files.
      Initial CMU version.
      Bug in dist.
      Workaround bug in our compiler.
      This commit was generated by cvs2svn to compensate for changes in r1959,
      The expansion of with-gcontext declares the fourth value of copy-gcontext-
      Added #ifdef mips around all the mips specific stuff.
      Added system-area-pointer and weak-pointer to type-of.
      Generalized the various string search functions to take either a string or
      Added noise to count the number of times each vop is used and the number
      Fixed enable-handler to take :ignore or :default instead of a function and
      Removed {with,without}-interrupts 'cause better (i.e. working) versions
      Added *interrupts-enabled* and *interrupt-pending* to the static symbols.
      Added defknown and vop for mach::do-pending-interrupt (which just compiles
      #+nil'ed with-reply-port, 'cause none of the support stuff for it exists.
      Fixed format-print-character.  It used to call format-print-named-character
      Added an (in-package "USER") right before the save-lisp so that command
      This commit was generated by cvs2svn to compensate for changes in r1974,
      Changed CREATE-SLAVE to check the status of the process while waiting for
      This commit was generated by cvs2svn to compensate for changes in r1980,
      Changed /usr/misc/.lisp/... to /usr/misc/.cmucl/...
      Added noise to load PCL if :no-pcl isn't in *features*.  Moved the
      Changed stuff necessary to make named-call more optimal.  Now symbols have
      Changed eval-when (eval) to a #+assembler eval-when (compile eval).
      Moved the undefined-function into C land.
      Added structurep to the list of stubs.
      Changed the undefined-function trampoline from an assembly routine to
      Fixed type decl for the kind slot of a reg-spec.
      Fixed XEP-ALLOCATE-FRAME to correctly generate $CODE.
      Removed some silly move-function SC combinations, like null <-> signed-reg.
      Removed noise to automatically generate the set-symbol-function vop, 'cause
      Added vops for frobbing the function/raw-function-addr slots of symbols.
      Changed call_into_lisp to use $LIP when computing where to jump to so that
      Added number_stack_start to the machine_state.
      Added extern number_stack_start.
      Added support for special binding of *interrupts-enabled*.  Generalized
      Added noise to fix the raw function address in symbols.
      Changed the default core to /usr/misc/.cmucl/lib/lisp.core.  Added noise
      Updated re new symbol slots and new function header types.
      Added noise do deal with fixing the raw function address in symbols.
      Don't save the entire C stack segment, just whatever is used for the call
      Added a load-sap move-function.
      Initialize mach::*interrupts-enabled* and mach::*interrupt-pending* in
      Nuked *the-undefined-function*, and changed %primitives into magic
      Fixed the calculation of the offset between a function pointer and the
      Added exports of symbol-{raw-function-addr,setf-function}-slot.
      Fixed the clear-input method.
      Ripped bit/font noise out of #\ processing.
      When declaring vars as functions, you must say (type function var) not
      Changed the logeqv def-source-transform to minimize the number of lognots
      Wrote a SLEEP based on mach:unix-select.
      Fixed the calculation of raw_addr_offset.
      Fixed scavenging of symbols.  Added noise to put constants in read-only
      Added :constants argument to purify.  It gets stuck in read-only space.
      Added :constants argument to save-lisp.  It gets passed on to purify.
      Pass the compact info environment into purify as a constant.
      Fixed vector-total-size to return the correct value for strings.
      Saps are only 1 word long, not 2.
      Added a constants_root argument to purify that gets put in read only
      Added noise to primitive-type to return the structure primitive type for
      Added a structure-header-type.
      Added defknown for structurify.
      Added export of structure-header-type from the vm package.
      Added defknown for bignum::%multiply-and-add.
      Added two versions of bignum::%multiply-and-add, one for 3 args and one
      Added noise for the new header type, type_StructureHeader.  For now, it
      Deleted defknowns for these functions 'cause either they are no longer
      Added interpreter stub for %array-rank.
      Added interpreter stubs for 32bit-logical-{not,and,or,xor,nor}.
      Added exports of %mask-field and %deposit-field from the kernel package.
      Added object-not-structure-error.
      Added lots of new interpreter stubs.
      Added interpreter stubs for numerator and denominator.
      Added interpreter stubs for long-float-p and short-float-p.
      Added load of query, 'cause it got left out.
      Added several (:save-p :compute-only) so that Rob's note-this-locations
      Nuked the type common, and it's predicate.
      Changed subtract-bignum-loop to make sure it writes all the result digits.
      Fixed more bugs in multiply-bignums and try-bignum-truncate-guess.
      Changed print-frame-call-1 to generate a list and then print it so that
      Changed structurify to be a magic function.
      Added a define-vop for structurify.
      Added noise to generate structurep and check-structure.
      Nuked all the structure-vector-p noise, 'cause we now have a real
      Fixed the bootstrap version of copy-type-class.
      Fixed output-structure to use structure-ref instead of svref.
      Fixed default-structure-print to use structure-index-ref instead of svref.
      Changed fop-structure to call structurify instead of using %primitive
      Chagned a few more ``type'' types to ``ctype'' types.
      Oops, can't use length on a structure.
      Hacked fop-svset to be able to deal with structures in addition to
      Replaced all uses of %primitive structure{-index,}-{ref,set} with
      Replaced %primitive structure-ref with the magic function structure-ref.
      Replaced %primitive structure-ref with the magic function structure-ref.
      Added defknowns for structure-{length,ref,set}.
      Left out some package qualifiers.
      Added vops that translate structure-{length,ref,set}.
      Added fop-struct and fop-small-struct which read a length, make a structure
      Seperated out the structure case from the vector case, 'cause structures
      Added a structure branch to SXHASH.
      Hacked on equal and equalp to make them work now that structures are not
      This commit was generated by cvs2svn to compensate for changes in r2136,
      Merged MIPS branch onto new-compiler branch.
      Fixed dump-object to check structures for circularities.
      Put back a paren that Rob deleted.
      Removed the stuff to unintern symbols with key-event in them from the hi
      Fixed re new structure representation.
      Added (setf (info type kind 'mumble) :defined) for long-float, short-float,
      Moved the fixnum+fixnum overflow code into interrupt and set it up similar
      Added stuff to automatically trigger a GC when we exceed *gc-trigger*.
      Added noise to reset the auto-gc trigger.  Deleted all the old purify
      Enabled the sigfpe handler.
      Added lisp::maybe-gc as a static symbol.  Fixed some :type slot options
      Fixed defknown for room.
      Initial revision
      Moved the lisp heap to the same 256meg chunk of memory as the C text
      Moved the lisp heap to the same 256 meg region as the C text segment so
      Added *fixup-values* parameter.
      Fixed the fixup dumping stuff to also dump the fixup kind.
      Fixed the fixup processing stuff to also take into account the fixup kind.
      Added stuff to handle all the different fixup kinds.
      Changed the assembly routine interface to use a jump-absolute instruction
      Removed an unnecessary, incorrect type decl.
      Added ``save-vop-counts'' and ``augment-vop-counts.''
      Commented out struct-ed, because the only defstruct in it was wrong and
      Added noise to the %bignum-floor stub to keep the compiler happy.
      [Ram] Fixed FIND-OPTIONAL-DISPATCH-TYPES to not gag if there is a &rest arg in
      Added noise to keep the compiler from complaining that RES is unused.
      Added assem-routines for return-multiple and tail-call-variable.
      Fixed %typep so that it recognizes structure types that are defined in
      Oops, left some code in tail-call-variable that really needed to be done
      More sillyness.
      Deleted some noise that must have been left over from an incomplete edit.
      New we run Makefile.orig through /lib/cpp to generate a sys-type specific
      Added a :kind :normal to the make-random-tn call.
      Fixed return-multiple to compute the new stack pointer correctly, and
      Ripped out some bootstraping code that was causing every def-primitive-type
      cleaned up slightly.
      Initial revision
      Took out a (in-package "XLIB") because it's not needed (I hope).  Took
      put #ifdef PRINTNOISE/#endif around printfs.
      Moved some registers around so that we could use jal and have the return
      Fixed the reg names.
      Changed CONT to CSP and OLDCONT to OCFP.
      Don't bother saving the flags, 'cause we don't need to.
      Added SPARC registers.
      Fixed some bugs introduced with my last change.
      Conditionalize current_flags_register for the mips only.
      Generalized with #ifdefs for the sparc.
      Added printing of the auto-gc trigger and #ifdef mips'ed printing the
      Initial revision
      Corrected spelling of pattern and added some more sparc stuff.
      Initial revision
      Nuked defvar of compiler-version, 'cause it's in the compiler now.  Nuked
      Chagned the call convention for assembly routines to use jal (into the
      Moved registers around to facilitate using JAL (into the LIP) for
      Changed return-multiple and tail-call-variable to jump off to assembly
      Because the new assembly routine interface uses LIP to hold the return
      Changed fasl file parameters to conform to new fop-code-format semantics.
      Changed fop-code-format to dump an implementation/version pair instead
      Changed *current-code-format* to be a implementation/version pair.
      Added normal-load/maybe-cold-load magic around the dumping of the name
      Moved machine specific features into here.  Added a (use-package "SYSTEM")
      Moved machine specific features into a machine specific file.
      Fixed a bug at I introduced into dump-fixups.  Ooops.
      Removed some stuff that thought it knew about the cold load, but it didn't.
      Added something to fop-function-entry to check *load-print-stuff* and to
      Forgot to change the header to contain the version instead of the
      Moved dump from the mips directory to the main compiler directory.
      Fixed %%typep to call specifier-type before calling itself while processing
      Added support for multiple call conventions and chagned the output file
      Chagned to correspond to new syntax.
      Initial revision
      Moved assemfile to .../assembly and moved assembly code into a machine
      Added a ``(inst li nargs (fixnum 2))'' when we go to call the static
      Allow the args and results to be in either descriptor-reg or any-reg.
      Added load of .../assembly/mips/alloc.
      Initial revision
      Fixed re new register assignments.
      added lots of #ifdefs to conditionalize machine specific parts.
      Changed FIND-LOAD-FUNCTIONS to ignore alternate SCs that are listed in
      Moved the machine specific stuff into a machine specific file.
      Initial revision
      Added load of .../assembly/mips/support.
      Changed GENERATE-CALL-SEQUENCE to return the temporaries it wants as a
      Oops, forgot to remove some of the arguments from GENERATE-CALL-SEQUENCE
      Fixed %bignum-floor to leave the argument tns intact.
      Changed a bunch of ``inst add'' to ``inst addu''
      Rewrote large chunks to get rid of Dave code.  Do pattern matching in
      Changed predict-name to unix-namestring.
      Removed some globals that are no longer used.  Removed the
      Moved make-call-out-mumble into machine specific file c-call.lisp.
      Nuked proclaim for *sb-list*, 'cause it's gone now.
      Initial revision
      Added export for all the attributes.
      Added exports for the useful macros.  Removed undefined-value, 'cause it's
      Added exports for constructors and accessors needed by the vm specific
      Added exports for tn constructors and other functions needed by the
      Store all backend specific stuff in a structure (see backend.lisp) instead
      Use slots of *backend* instead of *sc-names*, etc for backend specific
      Use slots of *backend* instead of *sc-names*, etc for backend specific
      Initial revision
      Moved primitive-type stuff into a different file so it can be shared
      Moved primitive-object and utility functions (fixnum, static-symbol-p, etc)
      Use the define-vm-support-routine macro to define the various vm specific
      Initial revision
      Put all the vm-specific code in a vm-specific package (MIPS in this case).
      Removed defconstant of sc-number-limit, 'cause it's not really vm specific.
      Put back defvar of *any-primitive-type* so that other vm specific files
      Added exports of several vm support routines so that vm specific files
      Added exports for several functions that the backend need to get at.
      Added exports for types/accessors that are needed by vm specific files.
      Added many more exports, 'cause I missed a bunch the first time.  Added
      Fixed {meta-,}sc-allowed-by-primitive-type (you mean stuff in an eval-when
      Oops, left out a backquote.
      Nuked import of symbols from c::, 'cause they are now exported.
      Added exports of sb-name, etc.
      Save the signal mask when we hit the guard page so we can restore it.
      Use def-vm-support-routine to define the vm support routines.
      Export define-assembly-routine.
      Changed from package ``C'' to package ``MIPS''
      Moved call-out vops from subprim.lisp to c-call.lisp.
      Deleted all support for the interm RT system and cross compiling from
      Added exports for interfaces.
      Set the logical name vm: instead of mips:, 'cause that's what loadcom
      Replaced target-byte-order with (backend-byte-order *backend*).
      Changed target-fasl-file-imp and version to (backend-fasl-file-imp
      Nuked native-byte-order, 'cause that info is now in *backend*.
      Fixed ftype proclaim of defprinter-prin[1c] to allow nil for the indent.
      Look for templates in the VM package instead of the C package.
      Put package qualifier on halt.  Deleted definiton for clear-registers,
      Added lisp:: to make-fixnum and make-other-immediate-type.
      use (c:backend-byte-order *backend*) instead of vm:target-byte-order.
      Moved some symbols from the ``C'' package to the ``MIPS'' package.
      Moved some symbols from the ``C'' package to the ``MIPS'' package.
      Moved many symbols from the C package to the VM package.
      Moved FP-OFFSET from the C package to the VM package.
      Now that the vops live in the mips package, we need to import the
      Moved more symbols from the C package to the VM package.
      Added export for *native-backend*
      NULL-OFFSET is now in the MIPS package, not the C package.
      Added defenum and pad-data-block, 'cause they got left out before.  Changed
      Added export of vop-attributes
      Rewrote the defprinter stuff to use XP for pretty printing.
      Added a few c:'s 'cause the lisp package doesn't use the c package.
      Added an info-environment slot to the backend structure.
      Fixed float printing to indirect through the mumble_float structure
      This commit was generated by cvs2svn to compensate for changes in r2368,
      Added eval-when (compile load eval) around defconstant of
      Added an eval-when (compile load eval) around some defconstants, 'cause
      This commit was generated by cvs2svn to compensate for changes in r2371,
      Added an eval-when (compile load eval) around defconstants that are needed
      This commit was generated by cvs2svn to compensate for changes in r2373,
      Changed a %primitive 8bit-system-ref to a system:sap-ref-8.
      This commit was generated by cvs2svn to compensate for changes in r2375,
      Replaced mach:unix-subtestname and lisp::predict-name with
      This commit was generated by cvs2svn to compensate for changes in r2378,
      Added eval-when around defconstants 'cause the values are needed at compile
      Export unix-namestring from the extensions package, and allow the second
      Added exports and defuns for allocate-vector and make-array-header.
      Changed %primitive allocate-vector and make-array-header to just a call
      Moved all the array noise into it's own file, array-tran.lisp.
      Initial revision
      Added defknowns for allocate-vector and make-array-header.
      Added float arrays to the list of unboxed arrays.
      Make make-array-header translate make-array-header now that it is a known
      Fixed get-type to deal correctly with fixnums, list pointers, and structure
      Make allocate-vector translate itself now that it is a known function.
      Changed the way support routines are defined so that when we incompatibly
      Ack, more typos.
      Added load of array-tran
      Changed def-vm-support-routine to explicitly change *target-backend*
      Bind *backend* to *native-backend* in compile-from-stream and compile.
      Explicity frob on *target-backend* at meta compile time instead of assuming
      Turned off gc_asserts, 'cause we trust GC now.
      Added a ``restore'' command for use when starting saved cores with the
      Changed scavenge to pick off fixnums and non-oldspace pointers itself
      Changed gc_assert(0) to gc_abort(), 'cause we want to be able to compile
      Added exports for backend-instruction-formats, backend-instruction-flavors,
      Lots of stuff due to moving all the compiler backend stuff out of the C
      Moved vm:c-call later in the load order so that it is after vm:vm.
      Forgot to call length on the indices &rest arg in the aref derive-type
      Changed pause-hemlock to send a SIGSTOP instead of a SIGTSTP, and to
      Finished editor-describe-function.
      Added sparcf, mipsf, and rtf to the list of ignored file types.
      Use *target-backend* when building the name for def-vm-support-routine, not
      Changed function-info-or-lose and %defknown to change the info environment
      Don't bother binding *info-env* in set-up-function-templates, 'cause
      Supply an :initial-element for calls to make-array.
      Added an optional backend arg to sc-or-lose and friends.  It defaults to
      Pass *backend* to sc-or-lose and friends to assure we extract the info
      Export lots of symbols and don't bother to qualify defknown attributes,
      Supply the backend arg to sc-or-lose and friends when necessary to get
      Supply the backend arg to sc-or-lose and friends when necessary to get
      Export %set-sap-ref-{sap,32,16,8,single,double}, make-{single,double}-float,
      Added exports of kernel:%sp-set-{definition,plist}.
      Added exports for kernel:%set-sap-ref-{sap,32,16,8,dingle,double}.
      Added load of copyprop.
      Tuck backend info into *target-backend* instead of *backend*.
      Added lisp sigint handler so Scott doesn't have to deal with LDB.  If you
      Added exports of {single,double}-float-p, base-char-p, and
      Added export of *primitive-objects*.
      Tuck the primitive-type T into the *target-backend*, not *backend*.
      Bind *backend* to *target-backend* around the call to
      Fixed %floor so the lifetimes are correct.
      The make-string source transform was quoting the initial element, even if
      In ambiguous-files, don't merge in the name and type from defaults, and
      Extract the register names from the compiler info.  Added Blaine's
      This commit was generated by cvs2svn to compensate for changes in r2446,
      Changed uses of lisp::predict-name to ext:unix-namestring.
      Moved compiler/mips/dismips to code/pmax-disassem.
      Added :initial-elements to the make-arrays.
      Blaine's defmacro.
      Changed to use Blaine's parse-defmacro.  Stripped out lots of bootstrapping
      Initial revision
      Changed uses of lisp::parse-defmacro to conform to what Blaine's
      Took out a reference to register-name-style, 'cause it doesn't exist
      Moved &whole vars to the front of the lambda list.
      Added load of ``loop.lisp''
      Oops, forgot to change the name from ``new-loop'' to ``loop'' when I
      Moved allocate-vector and make-array-header from the vm package to the
      Nuked alloc-g-vector and make-string, 'cause they are no longer used.
      Replaced use of alloc-g-vector with a call to make-array.
      Make the termination-form for dostring optional, because it's not always
      Just call the magic function make-array-header instead of using %primitive.
      Changed a use of analyze1 to parse-defmacro.
      Ack.  Maybe this time I got defsetter correct.
      Added initial-elements to make-array calls.
      Added explicit initial-elements to uses of make-array where we needed
      Changed def-ir1-translator, def-source-transform, and
      Added a :error-fun keyword to parse-defmacro.  If it is supplied, it gets
      Moved check-mumble into the C package, so that multiple vms can get at it.
      Changed vm:target-byte-order to (c:backend-byte-order c:*backend*).
      Changed ``%primitive sxhash-simple-string'' to ``%sxhash-simple-string''
      Changed ``%primitive sxhash-simple-string'' to ``%sxhash-simple-string''
      Added exports of halt, make-fixnum, make-other-immediate-type from the C
      Fixed name of primitive-arg-count-error.  Changed uses of parse-defmacro to
      Took package qualifiers off of %primitives, because the names get
      Use the magic function structure-ref instead of the %primitive.
      Don't assume that a zero stack-frame-size is the same as no arguments.
      In alloc-number-stack-space, don't emit the add instruction if the amount
      Default-unknown-values needs to use OCFP to get at return values that don't
      Note the fact that the environment var is used when we expand the &body
      Removed lisp:: from halt, 'cause it's now exported from the C package.
      Initial revision
      Finally got around to rewritting print-directory.
      Added package iteration stuff.
      Chagned bit-vector-copy to allocate the bit-vector itself instead of
      Added eql as a static function.
      Added generic comparison assembly routines.
      Took out the duplicate funcallable-instance-header from the header types
      Oops, forgot the (:save-p t) vop option.
      Changed the make-array transform to simplify the nwords computation as
      Let-bind a special in interpreted-function-type so that we can tell when we
      Initial revision
      Don't to sleeze things with union arguments.
      Added the y reg and fsr to our expanded sigcontext.
      Initial revision
      Added sparc code inside of #ifdef/#endifs.
      Took the vm: off of make-single-float and make-double-float, 'cause they
      Took the vm: off of single-float-bits, double-float-low-bits, and
      Added defknown for %make-funcallable-instance.
      Added :set-known for the funcallable-instance function slot.
      Added ``asin''
      When using the raw-pc return style, skip past the call inst on the return.
      Fixed the code to tail-call into static-functions.  Fixed the divide
      Make sure old-mask was actually filled in before trying to restore it.
      export loop-finish from the lisp package.
      If we are not on a tty and we hit EOF, exit.
      Added defun for internal-error-arguments.
      Took out temporary compatablilty code from internal error stuff.
      Moved sigcontext into machine specific file.
      Initial revision
      Added #+pmax and #+sparc etc stuff to install kernel::internal-error on the
      Changed fp-offset to cfp-offset and old-fp-offset to ocfp-offset.
      Changed fp to cfp and old-fp to ocfp.
      The C support code now picks off internal errors, so we don't have to.
      Lots of changes in the way internal-error is used.  Internal-error is no
      Oops, have to pass the entire sigcontext into internal-error-arguments,
      Pass internal-error-argument the actual sigcontext alien instead of just a
      Pass the sigcontext alien into internal-error-arguments instead of a
      Changed the fasl file extension to ``pmaxf.''  Added kernel::interal-error
      Don't assume the size of sigcontext, use c-sizeof.
      Added sparc support for internal errors.  Changed the trap signal handler
      Added extra tests to make sure a symbol is reasonable before trying to
      Added the closure_tramp.  Added an extra NIL in the header of the
      Moved check-mumble symbols from the VM package to the C package so that the
      Added a ``features'' slot to the backend structure.
      Oops, left several two-arg-mumbles in the exported static symbols.
      Restore the signal mask to it's previous value before processing
      Added support for funcallable instances.
      Oops, had default-interrupts and ignore-interrupts switched.
      Compile with ``-O'' instead of ``-g'' on the pmax.
      Added noise to explicitly turn on internal errors, now that turning them
      Added a boolean to enable calling into lisp to handle internal errors.  If
      (Hopefully) fixed multiplication.
      Oops, was flattening the result in a delay slot in multiply.
      Forgot to initialize the quotient in fixnum-truncate and signed-truncate.
      Rewrote sxhash-simple-substring so that is it much faster (and works).
      Initial revision
      Nuked the #+new-compilers 'cause we no longer need to cross compile.
      Qualify fixup-code-object as being in the VM package.
      Qualify fixup-code-object with vm:, not lisp::.
      The LOGAND derive-type optimizer though the result was going to have no
      Added vm: where necessary now that the C package doesn't use the VM
      Set the search lists vm: and assem: conditionally.
      Added an ``alignment'' slot to the SC struct.
      Added an :alignment keyword to define-storage-class for specifying the
      Don't export sc-number-limit from the VM package.
      Nuked use-packages of VM, 'cause VM is just a nickname now.
      Added support for the new alignment slot in SCs.  Check-ok-target will
      Added exports for lots of float parameters.
      Added :alignment options to storage-class definitions.
      Added a nop between fcmp and the fb insts.
      Fixed call-into-c to leave everything in such a state that a GC will fix
      On machines other than the mips, use PSEUDO_ATOMIC_ATOMIC and
      The RAW_ADDR_OFFSET is 0 on the sparc.
      Moved the ``def-boolean-attribute vop'' form into here so that it's in the
      Moved the def-boolean-attribute vop into vmdef.lisp.
      Took the vm: off of single-float-bits and double-float-mumble-bits, 'cause
      When we grow SCs, make sure we make at least enough room for one more
      Moved the def-boolean-attribute vop into vmdef so that it is in thr
      Added vm: to all vm specific symbols, 'cause kernel no longers uses vm.
      Qualify double-float-digits as being in the VM package.
      Deleted the defconstant for mumble-float-digits, 'cause it also exists in
      Was allocating zero length bignums in generic-+ and generic--.  Shouldn't
      Added #+pmax and #+sparc as necessary.
      Fixed a lifetime bug in full-call.  ``Temp'' was being used to help compute
      Fixed unsigned-byte-32-logcount to return a fixnum in it's any-reg result
      Added exports for the symbols we want exported.  Added vm: in front of
      Export the bignum primitives from the bignum package and have the VM
      Removed the bignum:: from in front of bignum symbols, 'cause they are now
      Added bignum-type back into the vm exports, so that it will show up in the
      Added Blaine's with-hash-table-iterator.
      Added Blaine's with-package-iterator.
      Changed ``mipsf'' to ``pmaxf''
      Fixed the logand derive-type optimizer to never try to expand
      Fixed bit, (ub 2), and (un 4) data vector accessors to work on a big-endian
      Use SIGTERM instead of SIGUSR1.  Make sure the signal stack is dual-word
      Added sprac specific code:  We don't have to do anything special for
      Sun's mmu is braindamaged and can't deal with addresses in the range
      Initial revision
      Added a slot to the ir2-component to hold the dynamic-vop-count-info
      Initial revision
      If we want to collect dynamic statistics, all setup-dynamic-count-info
      When we want to collect dynamic vop counts, emit the ``count-me'' vop
      Added dyncount.
      Added the ``count-me'' vop for dynamic statistic gathering.
      Added ``code-constant-ref'' to the C exports.
      Added a vop, ``code-constant-ref,'' for extracting constants from code
      Dump vectors whos element type is subtypep (unsigned-byte 32) as int
      Added ``count-me'' vop.
      Added ``code-constant-ref''
      In destructuring-bind, pass NIL to parse-defmacro as the name, 'cause
      Cleaned up the error-fun handling.  Now all runtime calls to the error-fun
      Fixed uses of parse-defmacro re changes to it.  The error-fun now takes
      Spiffed up the error messages for all the internal errors.  Actually,
      Added a :report for type-errors and spiffed up the report for
      Added statcount.lisp
      Moved static vop counting into it's own file: statcount.
      Initial revision
      Moved static vop counting stuff into it's own file.
      Added stuff to also to record the number of bytes attributed to each vop
      Fixed loops to actually iterate over the elements of the keyword list
      Ripped out *key-finder* stuff, 'cause it wasn't used and wasn't really
      Fixed make-slot to copy-list it's &rest arg before using destructive
      When searching for a key, compare against successive elements in the key
      Fixed costs of binops so that the most reasonable ones have the lowest
      Fixed ash to use either sra or srl depending on the sc of the *argument*,
      The results of fast-truncate/fixnum are tagged-nums, not signed-nums.
      Just load pcl:pclload and let it load everything else.
      Added exports for kernel:%unary-round and assem:count-instructions.
      Oops, missed one place keyword-argument was still used.
      This commit was generated by cvs2svn to compensate for changes in r2690,
      Some bozo was assuming that all modifiers fall in the range 65505 to 65518,
      Fixed %vector-type-code to return something (simple-vector-type) if someone
      This commit was generated by cvs2svn to compensate for changes in r2693,
      Added lots of without-interrupts and without-gcing to keep them from
      Added several force-outputs to make sure prompts are output before we try
      Fixed the debugger problems caused by missing force-outputs.
      When in generic--, subtract instead of add.
      Fixed a syntax error exposed by the new defmacro.
      Need to (fixnum x) the immediates for fixnum vops.
      Had the subtract backwards in the fixnum-fixnum=>bignum case.
      Added %unary-round/{single,double}-float VOPs.
      When computing the calling frame, don't barf if the LRA is a fixnum.
      Added stuff to INTERNAL-ERROR-ARGUMENTS to deterine if the internal error
      Implement check-fixnum using taddcctv and check-list using tcc.
      Added the t (trap conditionally) instruction.
      Added defconstants for object-not-{list,structure}-trap.
      There is no need to flush the number stack from the cache when restoring,
      Flush the register windows when calling into Lisp.  Recompute %fp when
      Enabled the auto-gc trigger stuff for the sparc and changed the constants
      Lots of changes to facilitate the SPARC port.  In addition to finishing
      Changed to use make-structure to create structures directly instead of
      Nuked defun of structurify.
      Added define-primitive-object for structures.
      Cleaned up the structure defknowns.  Use structure-index instead of index
      Added deftype for structure-index.
      Structures are now represented with the structure-pointer lowtag, so
      Nuked structurify.
      We now have real structures, so test them accordingly.
      Only call INTERNAL-ERROR if internal errors have been enabled.
      Added support for structure pointers.
      Don't try to access the sigcontext-cause slot on machines other than the
      Gee, who would have though that pre-processor directives are case
      Fixed the defknown for make-structure to only have one arg.
      Added exports for make-structure and structure-index from the kernel
      Dinked the fasl file version up to 2.
      Added set-funcallable-instance-info and new structure stuff.
      Nuked structurify.
      Use the real structurep, etc.
      Make-structure is exported from the kernel package, not the C package.
      Fixed bug in a format control string.  It was ~[, which takes a number, but
      Added an eval-when around some defconstants, 'cause their value was used in
      This commit was generated by cvs2svn to compensate for changes in r2768,
      Fixed bug in spell-root-word. It assumed that it could use subseq on a
      Fixed dribble.  It no longer calls %top-level, so it is possible to use it
      Test to make sure the argument is a list when destructuring.  It used to
      Added a retry case to the permision denied error in open.
      Fixed echo streams to no longer echo unread characters twice.
      Fixed some typos in the bit-not transform.
      Someone forgot to wrap a declare around an (optimize ...).
      Fixed nlx-entry-nultiple to copy the correct number of values.
      Added funcallable-instance case to set-symbol-function.
      Use new fop-structset when fixing structures instead of fop-svset.
      Added new fop-structset for fixing up structures.  Note: fop-svset still
      Fixed a bug in which scavenge was only testing to see if the object was
      Check for the GC trigger being hit on either SIGBUS or SIGSEGV so we
      Totally re-written for the new system.
      Added load of foreign, 'cause it now exists for the new system.
      Added a call to mach:unix-sigsetmask at the start of invoke-debugger.
      Added a call to mach:unix-sigsetmask in %top-level right after the
      Put load-foreign back into the EXT package.
      Fixed to loop from the right to the left when necessary.
      Fixed a bug in the calculation for src in the final-bits=0 case.
      Fixed default-structure-print to work when *print-circle* is T.
      Moved MACHINE-TYPE and MACHINE-VERSION into machine specific files.
      This commit was generated by cvs2svn to compensate for changes in r2859,
      Removed some bogus type declarations from a DEFSETF.
      Initial revision
      Added support for the IBM PC/RT.
      Added support for the IBM PC/RT.
      Moved the with-simple-restart to be outside the call to read so that you
      Fixed %check-bound to error if the index is >= the length instead of just >
      Initial revision
      Fixed function-debug-function.
      Added new defknown/vop function-word-offset that does the same thing as
      Added defknown and vop for function-word-offset, which is the same as
      When renaming a package, don't add the new name until *after* the nicknames
      Added di::handle-breakpoint to the static symbols.
      Added breakpoint to the list of trap types.
      Added export of the ...-flag and ...-trap constants.
      Added support for trap breakpoints.  Removed a debugging write that somehow
      Initial revision
      Added breakpoint.c and ran make depend.
      Conditionalize the RT support for only on the RT.
      Removed vm: qualifier, so we can compile this file before that symbol is
      Wrapped a without-interrupts around the guts of maybe-gc so that the
      Fixed re new structure reps.
      Added breakpoint-trap and handle-breakpoint.
      Fixed %%typep of (satisfies (lambda (obj) ..)) to explicitly coerce the
      Changed types of the form (satisfies (lambda (obj) (and (tn-p obj) ...)))
      Added code-header-{ref,set} and code-instructions.
      Changed the load-code macro to deal with the fact that code objects now
      Added support for generating trace-tables.
      Pass the trace table returned by generate-code on into fasl-dump-component
      Added stuff to dump the trace table along with code objects.
      Added stuff to deal with the trace table associated with a code object.
      Added a trace-table-offset slot to code objects.
      Added exports and defknowns for code-instructions and code-header-{ref,set}.
      Added trace table constants and exports thereof.
      Account for new code-trace-table-offset slot.
      Emit trace table entries for function prologues/epilogues and call sites.
      Nuked code-constant-{ref,set}, because the new code-header-{ref,set} is
      Added vops for code-header-{ref,set}, and a :translate for code-instructions.
      On the sparc, put the kernel core in /usr/tmp so that we don't blow the
      Changed to get the name of the VM package from the backend instead of
      Added lots of calls to trace-table-entry.
      Added code-header-{ref,set} and changed code-instructions to be a magic
      Changed random defconstants back to a defenum now that Rob fixed the
      Removed defenum and pad-data-block, because they are now defined in vm-macs.
      Dinked the fasl file version.
      Nuked code-constant-{ref,set} 'cause code-header-{ref,set} are the
      Moved code-header-{ref,set} from system.lisp to cell.lisp so that it
      Removed the call to os_flush_icache because it is unnecessary and it
      Changed a use of code-constant-set to a setf of code-header-ref.
      Dinked the fasl file version, because the static symbols have moved around.
      Fixed ptrans_code to account for the new slot in code objects.
      Added defknowns for 32bit-logical routines and for shift-towards-{start,end}.
      Remover an old broken assertion, and added some new ones.
      Fixed values-list to ``move count csp-tn'' instead of ``move csp-tn count''
      Fixed INC and DEC to spec the op field as #x91 and #x93 instead of 91 and
      Fixed copy-more-args to restore the stack pointer when done.  Fixed tail-call-
      Fixed some typos.
      Fixed allocate-code-object re addition of trace-table-offset slot.
      Changed load to check the first line of files for ``FASL FILE'' instead of
      Use cas to add two registers, not cal.  Fixed sxhash routines to work.
      Added another flavor of cal that allows one to specify ``0'' as the second
      Fixed lifetimes and types for shift-towards-someplace.  Added notes for
      Fixed :if-does-not-exist nil case when the specified file didn't have a
      Fixed allocate-vector to write the allocation pointer back into the static
      Added deftransforms for 32bit-logical operations not supported by the
      Offer VOPs for the 32bit-logical ops that are supported the instruction
      Store the updated allocation pointer back into *allocation-pointer*.
      Added magic noise to allow LDB or the debugger to figure out what happened
      Fixed if-eql-fixnum-c to fixnum the immediate operand.
      Added floating point constants.
      Changed 68881 to mc68881.  Added nl0-tn.
      Added extra temporaries to the sap-ref and set VOPs to make sure all the
      Added floating point stuff.
      Rewrote everything to simplity porting to different machines.
      Fixed lots of float bugs.
      Do not list the float-reg SCs as having constant-scs, because constant
      Initial revision
      Initial revision
      Fixed a lifetime bug in def-small-data-vector-frobs that was causing #* to
      Fixed a lifetime bug in def-small-data-vector-frobs that was causing the #*
      Fixed really-copy-more-args to save the nfp before using it.
      Fixed primitive-type to handle the named-type ``structure'' in addition to
      Fixed the -normal-exponent-{min,max} constants.  Added the
      Fixed move-from-sap to call with-fixed-allocation with the correct type.
      Fixed an ``inst o'' to be an ``inst oil''.
      Hacked over several bignum vops to keep from running out of registers.
      Fixed make-call-out-result-tn to possibly return multiple TNs so we can
      Compute the LRA later during a full-call so that the lifetime info is
      Fixed set-symbol-function to correctly extract the type of the function
      Fixed type-test-aux to copy-list it's arguments before calling sort on
      Added noise so that you can spec the features from the command line.
      Fixed the -to switch.
      Added noise for the RT.
      Fixed make-call-out-argument-tns to return the number of bytes needed
      Don't trash the return values in call-into-c before we have a change to
      Fixed integer-lenght to spec the result as being in an unsigned-reg, 'cause
      Fixed the :package file option.  Added the :translate and :policy to
      Fixed make-call-out-argument-tns to return the number of bytes needed for
      Added the floating-point-modes vops, but they don't do anything yet.  I had
      Fixed two usages of load-type to spec the lowtag correctly.  Fixed
      Fixed fash-ash to actually work.
      Added noise to support multiple return values for call-out.
      Oops, I seem to have broken the single return value case for call out.
      Added RT specific stuff.
      Fixed restore-dynamic-state to correctly check for the end of the binding
      Fixed three generic-mumble routines to spec the :offset for lisp-return as
      In the unaligned, left-to-right unary copy, had the test to see if we need
      Added definitions for %raw-bits and %set-raw-bits.
      Fixed the sigcontext structure to be correct.
      Added globals start_of_tramps and end_of_tramps to the signal handling
      Fixed make-other-immediate-type.
      Added RT version of skip_instruction and sigtrap_handler.
      Fixed the case where we were iterating from the right to the left and we
      Added RT support.
      When allocating the code object, allocate the correct amount of space, not
      Finished RT version of INTERNAL-ERROR-ARGUMENTS.
      Fixed 32 bit sap refs.  There were shifting the offset up twice, once in
      Added an extra reference to suppress a bound-but-not-used warning.
      Added RT support.
      Fixed with-fp-temp to save NL0 beyond the end of the stack instead of in
      Changed check-move-function-consistency to use warn to note problems
      Only initialized the binding stack pointer when we are loading a kernel
      We don't need to save the binding stack pointer on the RT, because it's in
      We don't need to save the binding stack pointer on the RT because it's in
      Added funcallable-instance support.
      Fixed def-small-data-vector-frobs to extract the bits from the correct end
      Fixed a bug in the data-vector-ref/unsigned-byte-{1,2,4}-c VOP in which it
      Moved a few #endif's to eliminate spurious warnings.
      Added RT support for gc_trigger_hit.
      Added descriptor-reg to the SC restrictions on the source of
      Fixed data-vector-set/unsigned-byte-{1,2,4} to be big endian in addition to
      Fixed the SAP routines to align the sap to a word boundry before using it.
      Added RT support.
      Moved room.lisp before gc.lisp so that MEMORY-USAGE will have been exported
      Generic-* was doing a logical shift right instead of an arithmetic shift
      Added a ``-q'' switch to suppress some of the output.
      On the RT, the IAR is not necessarily word aligned, so don't try to cast
      Added sunos support.
      Added #include of ldb.h.
      Changed the page size parameter to a OS supplied value.
      Added sunos support.
      Moved machine/arch specific stuff into machine/arch specific files.
      Added declarations for routines that are now exported.
      Added calls to arch_init(), and {arch,os}_install_interrupt_handlers().
      Moved #define of crap_out from gc.c to here.
      Moved actual reg names into seperate files and #include them.
      Moved OS specific stuff into OS specific files.  This file just contains
      Added definition of strcasecmp for non-cmucs sites.
      Removed include of mach.h, as it's not needed (and non-mach sites don't
      Moved register names into arch specific header file.
      Added sunos support.
      Initial revision
      Initial revision
      Added include of signal.h and fixed defn of os_validate to be consistent
      Use /usr/cs/lib/cpp instead of /lib/cpp so that MACH is defined.
      Added declarations, etc. to reduce number consing.
      Made def-bignum-wrapper more intelligent so that we can wrap negate-bignum
      Changed a null test into an endp test.
      Count the instruction bytes instead of costs.
      Added stuff to def-small-data-vector-frobs to emit different code for
      Spec the cost of word, short, and byte to be 0.
      Removed binding of regs, because it's unused.
      Added function-end-breakpoint to the list of trap types.
      Added export of function-end-breakpoint-trap.
      Added function-end breapoint stuff.
      Added function-end breapoint stuff.  Fixed minor problems introduced with
      Actually, the :initial-contents keyword for make-array can be anything.  If
      Fixed make-array to allow :initial-contents to be built out of any kind
      Fixed the make-array derive type optimizer to only spec the dimensions
      Need to have an ``_'' in front of the function_end_trap_mumble symbols.
      Added noise to make sure MACH is defined when sparc-assem.s gets run
      Oops.  Was installing the SIGFPE handler on the SIGEMT signal.  Hence,
      In the single value entry point in the function-end breakpoint template,
      When returning from a function-end breakpoint, fix the LRA reg if it was
      When computing the code component from the pc in handle_fn_end_breakpoint,
      The return convention has the LRA in CODE, not LRA.
      Fixed the UNSIGNED-BYTE-32-COUNT VOP to put a fixnum in the any-reg result
      Merged old system changes.  Added noise to SETUP-CHILD to try execing
      Fixed COPY-DESCRIPTOR-TO-STREAM to set a flag when it closes the descriptor
      Check to make sure TN is not :MORE *before* checking to see if it's offset
      When using the form offset to find the source form, bind *read-suppress* to
      Changed ``fp-tn'' to ``cfp-tn'' and ``old-fp-offset'' to ``ocfp-offset''
      Just jump directly instead of loading the address into a register first,
      Just jump directly instead of loading the address into a register first,
      Changed ``fp-tn'' to ``cfp-tn'' and ``old-fp-offset'' to ``ocfp-offset''
      Added a load of syscall because we need to re-run some of the exports.
      Added def-ir1-translator for compiler-option-bind.  Not for randoms to use.
      Added ``options'' slot to the lexenv, for use in passing context into
      Fixed make-lexenv to deal with the new options slot.
      Added define-type-predicate's for scavenger-hook, code-component, and lra.
      Added defknowns for %make-scavenger-hook, scavenger-hook-p,
      Added vops for code-component-p, lra-p, and scavenger-hook-p.  The
      Added support for LRA's, Code-Component's, and Scavenger-Hook's.
      Fixed the VOPs for code-component-p, lra-p, and scavenger-hook-p.  Fixed
      Nuked #+new-compiler stuff.  Nuked with-reply-port because it's not used
      Initial revision
      Initial revision
      Changed register-p to allow TN's in the ZERO and NULL SCs, so that every
      Added MUTATOR-SELF.
      Save the non-descriptor registers in saved regs across the call into C.
      Completed previous fix.
      Fixed set-symbol-function to correctly save and restore the return address
      Save code and lra across the call into C in set-symbol-function
      Added noise for code-component-p and lra-p.
      Added filler for scavenger-hook-p.
      Don't include the binding-stack pointer in the dynamic state, because
      Explicitly use unbind-to-here during nlx recovery instead of assuming that
      Now that ir2tran deals with the BSP during unwinds, don't bother to save it
      Fixed a typo of Rob's.
      Added some changes from Miles.
      Search the CMUCLLIB search path for the core file instead of always
      This commit was generated by cvs2svn to compensate for changes in r3711,
      Don't truename the slave utility before passing it to run-program so that
      Added noise to output-random to check to see if code components have
      Patch from Miles.  Now checks the return value from os_validate.
      Patch from Miles to make work under SunOS.
      Use /usr/cs/lib/cpp under mach.
      Fixed unbind-to-here.  Had some delay-slot usage bugs.
      Fixed unbind-to-here to only load the symbol from the binding stack if we
      Moved the spaces around to free up 0x0f000000 through 0x0fffffff, because
      Moved the heap around to free up 0x0f000000...0x0fffffff, cause Mach 3.0
      Added noise to skip over comments, which start with a # and end on the end
      Added font support for the TTY.
      Allow active region highlighting on the tty.
      Instead of closing the descriptors ourself before doing the exec, set the
      Don't turn off open paren highlighting, because it works now.
      Load save at worldbuild time instead of worldload time so that sunos-os
      Added sunos support.
      Load key-event if we compile it so that the RE-INITIALIZE-KEY-EVENTS uses
      Don't set XTABS on the pty so that tabs will be passed through to Hemlock
      Don't assume signal handlers are (void *)(), 'cause under mach they are
      Fixed set-auto-gc-trigger to look for the free pointer in
      Don't assume signal handlers are (void *)(), 'cause under mach they are
      Added function-end breakpoint stuff.
      Fixed "Move Over )" to use a permanent mark instead of a temporary mark
      ran make depend.
      Added WIRE-{OUTPUT,GET}-BIGNUM and extended WIRE-{OUTPUT,GET}-OBJECT to use
      Removed MACH from the backend version, as the backend has nothing to do
      Fixed Rob's change to %deftransform.
      Added *internal-gc-trigger* to the static symbols.  Also stripped off
      Added explicit gc-trigger test.
      Added defns for ``tge'' and ``tlt''.
      Added explicit gc-trigger test.
      Ripped the auto-gc stuff out for the RT.  The GC trigger now sits in
      Always emit the TEMP temp, 'cause it's always needed on the RT now.
      Missed a spot in the last change.
      Fixed the order of the alloc pointer and the gc-trigger in the tlt inst in
      Oops, were comparing the GC trigger to the wrong register, hence taking
      Fixed the :file branch of "Help on Parse" to trim leading directory
      Fixed REALLY-RETURN-MULTIPLE to actually default the remaining registers.
      Moved the lisp mode specific code into lispmode.lisp.
      Moved the lisp mode specific parts of paren highlighting into here from
      Fixed the INTERN defknown to include nil in the type of the second return
      Fixed some places where the SI-LINE-FONTS slot was not being cleared.  This
      Fixed Bill's change to INIT-BITMAP-SCREEN-MANAGER to actually work.
      Optimized CHECK-STRUCTURE to use the conditional trap sequence a la
      Initial revision
      On the RT, we have to explicitly test the gc-trigger when allocating
      Added RT support for the GC trigger.  One the RT, we can't use the page
      Wrapped an eval-when around the declaim because defstruct is cold-loaded
      Before doing directory translations, try a probe-file of the source file
      Removed all the directory updating stuff, 'cause it didn't work and
      Fixed the check-in stuff to work better.  The flag to indicate whether or
      Another fix to the check in stuff.  [Yes, I'm testing it by checking this
      Another fix.  If the buffer gets nuked, don't pass it to change-to-buffer.
      Added entries for things like begin/end bold, underline, etc.
      Print something out for each directory groveled.
      Don't translate the check-out name unless there actually *is* a
      Fixed to use new directory structure.
      Run make depend whenever we generate the Makefile.
      Changed make depend to add the depends to Makefile so that we automatically
      Added /usr/misc/.X11/include to the INCLS.
      Compile with -O on the sparc, as it should be debugged by now.
      Added support for SYMBOL-MACROLET.  Setq and mv-setq had to change to
      Don't shadow SYMBOL-MACROLET because I've now taught PCL to deal with the
      CMUCL has a real SYMBOL-MACROLET, so use it instead of defining a macro.
      Fixed the check-in stuff to make sure "Rcs Keep Around After Unlocking" is
      Added some calls to force-output after the calls to format in
      Redid part of the symbol-macrolet support in order to keep some totally
      Added assembly-call attribute to jal.
      Changed BASE-CHARACTER to BASE-CHAR.  Nuked old-compiler bootstrapping
      This commit was generated by cvs2svn to compensate for changes in r3979,
      When converting MAKE-STRING into a MAKE-ARRAY, wrap the length with (the
      Changed base-character-reg-sc-number to base-char-reg-sc-number.
      Changed type_BaseCharacter to type_BaseChar.
      Added multiplier recoding for ub-32 * ub-32 => ub-32.
      The single-float/double-float case had been left out of truncate.
      Fixed output-weak-pointer to print to the supplied stream instead of
      Initial revision
      Quoted the types in the deftransform of the simple-bit-vector ops, because
      Don't deftype base-char under CMUCL.
      Changed to new pathnames.
      Added &allow-other-keys to the destructuring-bind in gen-field-spec-forms.
      Started adding disassembly noise.
      Added definition of FOREIGN-SYMBOL-ADDRESS.
      Initial revision
      Initial revision
      Added EXTRACT-FUNCTION-ARGS, which can be used in transforms to convert
      Fixed EXTRACT-FUNCTION-ARGS to reset the node-derived-type and
      Fixed DOCUMENTATION and %SET-DOCUMENTATION to allow any symbol for the
      Added FOP's for single and double-float vectors.
      Added MAKE-LOAD-FORM and LOAD-TIME-VALUE support.  Rewrote lots of the
      Added support for load-time-value.  Specifically, there is a new function
      Added :mumble-trans and :mumble-known for {alloc-,}value-cell{-set,-ref}.
      Added defknown for make-value-cell.
      Added load-time-value and make-load-form support.  Also removed
      Initial revision
      Removed old #-new-compiler stuff.  Fixed reference-constant to allow
      Rename the PCL package if it already exists.
      Added comf of ltv, the support for load-time-value.
      Added load of ltv.
      Put .../clisp/src/$subdir in target: also so we don't have to have
      Set lisp: to include both the build and the source areas.
      Shitloads of changes, mostly from Miles.
      Bunch o' changes from Miles.
      First cut at info for Miles disassembler.
      Changed the names of mips/mips-macs.lisp and mips/mips-insts.lisp to be
      Changed the name of mips/mips-macs and mips/mips-insts to be mips/macros
      Changes for 11/25/19 to 11/27/91 and 11/19/91 to 11/25/91.
      Fixed IR2-CONVERT-REF to correctly convert unnamed constants instead of
      Added *read-eval*.  If a #. is encountered while *read-eval* is NIL, an
      Rewrote all the dispatching stuff and many of the directives.  Now supports
      Added MAKE-CASE-FROB-STREAM which is used by the new format to handle
      Removed call to FORMAT-INIT, 'cause it no longer exists.
      Oops, forgot to change the name from ``my-format'' to ``format.''  Also
      Removed the (set-dispatch-macro-character #\# #\, #'sharp-comma), now that
      Turns out we can't have format expand the control-strings a la formatter
      Wrapped a defvar with an eval-when (compile load eval) because it's used at
      Did it again: forgot to change the name back from my-format when I was done
      Load vm:insts after vm:vm because it needs to get at some constants that
      Had two arguments to a function backwards.
      More arg order problems.
      Removed use of TAB-OVER, so I can remove pprint.lisp from the cold load.
      Several bug fixes.
      Significant rewrite to support *print-readably* at all and to better
      Changed defknowns for WRITE and WRITE-TO-STRING to include the keywords
      Don't bother deftypeing boolean, because we don't use it anymore.
      Flushed uses of DOSTRING, because the definition went away.
      Fixed lots of bugs introduced with rewrite.
      New native pretty printer!  Fully impliments the spec as outlined in CLtL2.
      Added doc strings for pretty-printer defvars.  Added a decend-into for
      Don't compile XP, because we don't load it anymore.
      Changed XP to PPRINT.
      Changed the defknown for format to allow a function instead of a
      Flushed uses of XP: because the various pretty printer symbols are now
      Changed to use native pretty printer instead of XP.
      Removed one of the two loads of pprint, because we only need one.
      11/27/91 to 12/5/91 notes.
      Changed the dispatch for cons to pprint-fill and added a dispatch for
      This commit was generated by cvs2svn to compensate for changes in r4160,
      Added a (setf (ts-stream-char-pos stream) 0) to the accept-input function
      Fixed the interpretive indexing conditional (~[...~]) to take into account
      Removed (in-package "XP") 'cause that package is history.
      Added code/final.
      Added load of code:final.
      Added finalization of opened streams.
      Fixed to install the correct instruction on non-mips machines instead of
      Initial revision
      Picked up a new version from Miles.  This is his 12/4 version verbatim.
      Removed import of XP:*PRINT-LINES*, because we no longer use XP.
      Picked up Miles' latest changes.
      Added quotes around $LISP.
      Fixed ir2-convert-reference to use symbol-value for unknown typed constants
      Bind *current-level* to 0, *print-readably* to nil, and *read-eval* to T
      Added pprint, so the pretty printer can be used in the kernel core.
      Don't load pprint because it's loaded in worldbuild now.
      Fixed spelling of descend (was decend).  Added magic to output-structure
      Actually store the change in the suffix length in the pretty-stream
      Oops, had the argument order backwards in a use of output-structure so it
      Wrapped $LISP with "..." so the expansion is syntactically correct.
      12/12/91 to 12/13/91
      Do not note undefined references when brevity=3.
      Added make-load-form-fun slot to defstruct-descriptions and annote
      Added make-load-form support.  Changed the pretty printer to not indent
      Added make-load-form support.  Changed make-hash-table to no longer
      Added make-load-form support.
      Mark vop-info's :ignore-it so that we can tuck them into ir1.
      Changed lots of defstruct slot defaults to (required-argument) to
      Fixed my change to make-hash-table to use let* instead of let.
      Only allow dumping of structures that have been explicitly allowed.
      Changed file-infos to hold namestrings instead of pathnames so they are
      Annotate leaf's and nlx-info's as being allowed as constants even though
      Fixed maybe-emit-make-load-forms to grovel the slots of structures.
      Changed file-info's to hold namestrings (i.e. simple-strings) instead of
      Make constant-fold-call call maybe-emit-make-load-forms on the resultant
      Added ``:make-load-form-fun :just-dump-it-normally'' to the primitive
      Marked continuations as :ignore-it so we can include them in ir1 as
      Annotate vop-parses as :just-dump-it-normally.
      Marked sb's as :just-dump-it-normally.
      Wrote SCRUB-CONTROL-STACK which zeros the unused non-zero portion of the
      Marked operand-parse as :just-dump-it-normally.
      In COERCE-TO-CONDITION, treat functions just like strings so people can say
      Changed SHOW-RESTARTS to also display the restart name (but only if it's
      Forgot to flush some noise left over from editing.
      Changed the FORMATTER stuff to use positional args where possible instead
      Changed/fixed all the defknowns for pathname related functions.
      Only call maybe-emit-make-load-forms when we are (producing-fasl-file).
      Changed the pathname-mumble deftypes to reflect the new pathname format.
      Initial revision
      Extensive rewrite.  The machine/filesystem independed stuff is now in
      Added pathname and removed search-list.
      Flushed some noise that was commented out.
      Load pathname instead of search-list, and load pathname and filesys much
      Fixed OPEN to deal with the fact that UNIX-NAMESTRING can return NIL.
      Fixed various places that needed to take into account the fact that
      In UNIX-NAMESTRING, treat a NIL version the same as :NEWEST.
      Added noise to support load-time-value and make-load-form in the kernel
      Fixed %ENUMERATE-FILES to deal better with pathnames that have NIL for the
      Annotate c types as just-dump-it-normally.
      Fixed merge-pathnames to actually merge in the defaults.
      Fixed %enumerate-files to skip ``.'' and ``..''.  Fixed directory to merge
      In FILE-VERIFICATION-FUNCTION, just use MERGE-PATHNAMES to do the merging,
      Fixed MERGE-RELATIVE-PATHNAMES to correspond to the new pathname semantics.
      Allow NIL components to be matched by :multi-char-wild.
      Fixed the dir translation stuff to deal with the new pathname syntax.
      Make directory return truenames.  Make complete-file and ambiguous-files
      12/13/91 to 12/19/91
      Fixed MERGE-DIRECTORIES to correctly handle the case when the second
      Added Miles' unparsing magic.
      Changed the default list printer to only print lists that start with
      Fixed FORMAT-JUSTIFICATION to assume the charpos is 0 if we can't tell from
      Merged in Miles' disassembler hooks.
      12/22/91 to 1/17/92
      Initial revision
      Fixed the multi-dim array printer to use aref on the data vector instead
      Added exports for l_set, l_incr, and l_xtnd.
      Fixed the ioctl defn stuff.
      Initial revision
      When checking to see if an object starts with a forwarding pointer, make
      Fixed PPRINT to call OUT-SYNONYM-OF on it's stream argument so that it will
      Fixed some places I used ``ltchars'' when I wanted ``(struct ltchars)''.
      Fixed some ``kbdarg'' to be ``(struct kdbarg)''.
      Deleted kbd ioctls, because they arn't used, and are probably RT specific.
      Fixed the export to export both unix-access and unix-accept, instead of
      Export things like %set-sap-ref-sap from KERNEL instead of importing them
      Added import of kernel:index and kernel:system-area-copy.
      Changed the import of a few kernel symbols to a use-package of kernel.
      Export things like *describe-print-level* from EXT, not LISP.
      Fixed PARSE-UNIX-NAMESTRING to use '(:absolute) as the directory when there
      Added ``(load "target:bootstrap" :if-does-not-exist nil)'' so that
      2/3/92 to 2/12/92
      Changed the USER package to the COMMON-LISP-USER package.
      Actually pass all the arguments to the system call in unix-readlink.
      Changed pointer< and pointer> to sap< and sap>.
      Fixed spelling of "efficency"
      Fixed unix-write to accept vectors in addition to saps.
      Merged new-alien changes onto trunk.
      Merged new-alien changes onto trunk.
      This commit was generated by cvs2svn to compensate for changes in r4530,
      Removed declaration for non-existant variables.
      Missed a place where the old aliens stuff was being used.
      This commit was generated by cvs2svn to compensate for changes in r4534,
      Changed ``mach:'' to ``unix:''.
      This commit was generated by cvs2svn to compensate for changes in r4536,
      Changed ``mach:'' to ``unix:''.  Added ``alien:'' in front of ``alien-sap''.
      Added export of ``ltchars''
      Don't try to flush alien-operators in undefine-function-name, because there
      Forgot to change extern-alien-info to heap-alien-info.
      Fixed some constant names that changed.
      Changed ``mach:rusage_self" to ``unix:rusage_self''.
      Moved gr error stuff into here, and changed it to use mach_error_string
      Changed ``mach:unix-close'' to ``unix:unix-close''.
      Added ``unix:'' in front of unix-signal-number.
      Replaces {alloc,realloc,dealloc}ate-system-memory with versions that use
      Had the syntax for def-alien-routine wrong.
      Flushed salterror, as the functionally is now covered my mach.lisp.
      Flushed salterror, as the functionally is now covered my mach.lisp.
      Fixed syntax of a use of alien:with-alien.  Fixed spelling of ``unx''.
      Changed ``mach:'' to ``unix:''.
      Added ``alien:'' in front on several uses of ``alien-sap''
      Flushed the MACH package, 'cause it's os dependent.
      Fixed sign error in os_reallocate that made it thing it should shrink the
      Changed ``mach:sigurg'' to ``unix:sigurg''
      Changed USER to COMMON-LISP-USER.  Removed IGNORABLE from the EXT exports,
      Added a few unix: where necessary.
      Fixed a use of unix-read to supply it with a system-area-pointer instead of
      Last fix didn't take.  Trying again.
      Transform %slot-addr of a pointer to a struct to %slot-addr of deref of
      Changed SUB-UNIX-EXECVE to VECTOR-SAP the program now that the SYSCALL
      Fixed COPY-DESCRIPTOR-TO-STREAM to no longer try to read directly into a
      Added a call to PROCLAIM-INIT, so that the *DEFAULT-COOKIE* and *DEFAULT-
      Fixed the doc string for UNIX-DUP to correspond to the new semantics.
      Fixed uses of UNIX-DUP and UNIX-IOCTL to conform to the new semantics.
      Use VECTOR-SAP to explicitly convert the string ibuf into a system-area-
      Accedently dropped one level of indirection while decoding the address
      2/12/92 to 2/18/92
      Allow search-lists to expand into relative pathnames by quietly merging
      Fixed DEF-ALIEN-ROUTINE to only make local alien variables with WITH-ALIEN
      More defprinter tweeks.  Added a :important keyword to deftransform that
      Added a :important keyword to deftransform that indicates that failure
      Flame out when speed>=brevity if the transform is important.
      Qualify GR-ERROR as being in the MACH package now that it is.
      Annotate most transforms as :important.  Added a derive-type optimizer
      Added some type decls so that get-internal-real-time doesn't cons.
      Hacked over unix-select to reduce consing.  Declaim unix-gettimeofday
      Don't generate argument decls in DEF-ALIEN-ROUTINE, because this inhibits
      Added a ``mach:'' in front of a use of ``gr-call*'' because it's now in
      Extracting (char *)NULL results in NIL, and depositing a NIL results in
      Changed all SAP-REF-mumble functions to take the offset in bytes.
      Moved sap-ref-{single,double} into sap.lisp because they are more sap
      Changed {read,write}-control-stack to not inherit from sap-{ref,set}
      This commit was generated by cvs2svn to compensate for changes in r4603,
      Changed all SAP-REF-mumble functions to take the offset in bytes.
      Moved float to before sap so that sap stuff can refer to float stuff instead
      IGNORABLE is now in the LISP package instead of the EXT package.
      signed-sap-ref-{8,16} operate on tagged-num's, not positive-fixnum's.
      Had the order of arguments wrong in the replacement for sap-ref-32.
      Had the derive-type optimizer for %ALIEN-FUNCALL wrong: it returns the
      Changed a bunch of underscores to hyphens to follow the new alien
      Changed FOREIGN-SYMBOL-ADDRESS to call VM:EXTERN-ALIEN-NAME to convert the
      Oops, the %ALIEN-FUNCALL derive-type optimizer was returning the
      Changed the default alien-rep type to be * instead of NIL.
      Added an :important transform for %SAP-ALIEN that always gives up so that
      Added definition of UNIX-FAST-SELECT, even though using it would result
      2/18/92 to 2/23/92
      Changed some symbol frobs around.
      Flushed uses of ``vm:'' 'cause that is the package this file lives in.
      Fixed OR control to look at the RT field instead of the RD field.
      Don't directly transform SET, so we can protect against setting T, NIL, and
      Fixed FMAKUNBOUND to return the symbol instead of T.
      SET now protects against setting T, NIL, and keywords.  (SETF
      Changed the DEFSETF for SYMBOL-FUNCTION and SYMBOL-PLIST to FSET and
      Fixed the ``mumble doesn't start with a search-list'' error message.
      Reworked the SETQ branch of EVAL to pass more cases (like setting alien
      Changed the %DEFCONSTANT transform to protect against trying to change T,
      Changed %primitive set-package to %set-symbol-package.
      Added sizes for single-float and double-float.
      Added an export of FSET from the KERNEL package.
      Use %SET-SYMBOL-VALUE instead of SET to establish the value of keywords,
      This commit was generated by cvs2svn to compensate for changes in r4642,
      Oops, was shifting by 2 instead of multiplying by 2.  There is a bit of a
      Removed the top level call to CHECK-MOVE-FUNCTION-CONSISTENCY so we can
      Initial revision
      Moved all the loads of backend specific stuff into a new file so we can
      Hacked over the stuff to load the compiler.  The backend is now put in
      Moved vm-fndb back into loadcom from loadbackend, so that the defknowns
      Fixed handling of -core.
      Fixed a bug I introduced into top level evaluations of setq that caused it
      Hacked over the sap-{ref,set}-mumble stuff.  There are now a mumble and a
      New alien changes.
      Fixed fmakunbound to not clobber the cdr of NIL.
      Don't inherit from pointer-compare, because it doens't exist anymore.  Just
      Changed STACK-REF and %SET-STACK-REF to no longer inherit from SAP-REF and
      Moved sap stuff into sap.lisp
      Moved *INTERRUPTS-ENABLED* and *INTERRUPT-PENDING* from the MACH package to
      Changed all the SAP-{REF,SET}-mumble VOPs to take the offset in bytes.
      New alien changes:  Flushed check<= & check=.  Renamed MACH::stuff to
      Set up *register-names* at compile time also, so the insts file can use it.
      Also bind *features* to the value from the backend during a compile.
      Determine which backend to load by looking at *target-backend* instead of
      Moved loads of vm-typetran and core into here from load-backend.
      Changed set-symbol-function to :translate %set-symbol-function instead of
      Moved vm-tran into loadcom.
      Moved vm-tran from loadbackend into here.
      Changed the name of ``slot'' structs to ``prim-object-slot'' so that all
      Added NEW-BACKEND for use with cross-compiling.  Some tweeks to package
      Load target:bootstrap if it's there.
      Added a ``mach:'' in front of gr-call*.
      Changed uses of pointer>, etc. to sap>.
      Load bootstrap after setup, so it can refer to fns defined in setup.
      Don't SETQ *LOAD-VERBOSE*, because the default value is now T.  Moved the
      Moved float.lisp to before sap.lisp.
      New aliens changes.
      Changed mach:unix-mumble to unix:unix-mumble.
      Moved OS-INIT into mumble-os.lisp
      Used #+mumble to make this file machine independent.
      Added use-package of UNIX.
      Added a VALUES :result-tn method.
      Added defn of ALLOCATE-SYSTEM-MEMORY-AT.
      Don't use MACH:VM-ALLOCATE, because we might not be running under mach.
      Oops.  Was passing the two haves of a double-float bass-ackwards.
      Instead of using os_zero to zero the control stack, fill it with zeros
      Added defn for os_allocate_at.
      Whenever we allocate a chunk of memory, set the protections to include
      Added some more uses of #+small to allow keep debug-info at 2 when small
      Use an explicit list of sources in ``make depend'' instead of *.c.
      2/24/92 to 3/2/92
      Protected SET against *KEYWORD-PACKAGE* being unbound, which can happen
      Added ``:verbose nil'' to the load of site-init.lisp.
      Don't qualify IGNORABLE as being in the EXT package, 'cause it's not.
      Changed the default to quiet and added a -v for verbose for the old
      Added support for a MISFEATURES file.  And if the source directory contains
      Allow LISP:AND, LISP:OR, and LISP:NOT in features lists in addition to
      Took out old MACH:: stuff that no longer exists.
      Fixed a major bug in def-alien-type where the macroexpansion wouldn't
      Fixed the $features stuff to add each feature to *features* instead of
      Some hacks to new-backend:  The misfeatures are now specified as an
      3/2/92 to 3/4/92  [16a]
      When we get a function-end breakpoint, call handle_function_end_breakpoint
      Changed a few places where ESCAPE-REGISTER was left over to
      Miles' fixes to make disassembling [mc][tf]c1 work.
      Cleaned up the header a bit.
      Added Miles' changes to allow J and JAL to refer to the fixups.
      Added Miles' changes to TAIL-CALL-VARIABLE and RETURN-MULTIPLE to use JI
      Added Miles' change to use JALI instead of LI/JR now that it exists.
      Added Miles' changes to keep errors and warnings on one line if they fit.
      Added compiled-debug-function branch to debug-function-function.
      Fixed UNIX-IOCTL to not flame out of the cmd is a ub-32 instead of a sb-32.
      Map with PROT_EXEC also in case SunOS ever starts to pay attention to
      Added a ``clean'' target that deletes the arch specific and object files.
      Given that the symbols we are exporting from ALIEN-INTERNALS actually live
      Fixed GET-EDITOR-TTY-INPUT to read the data into an c-call:unsigned-char
      3/4/92 to 3/7/92
      Export FEATUREP from EXT.
      Moved {TARGET,BACKEND}-FEATUREP into .../compiler/backend.lisp.
      Changed to use TARGET-FEATUREP to decide what to load and what not to load.
      Added defns for {TARGET-,NATIVE-,}FEATUREP.
      Added FDEFN related defknowns.
      Added define-type-predicate for FDEFN.
      Added the FDEFN related symbols.
      Added a call to FDEFN-INIT in %INITIAL-FUNCTION.
      Rewrote using fdefinition objects.
      Added FOP-FDEFINITION for use with new fdefinition objects.
      Added support for the FDEFN type.
      Added support for FDEFN objects.  Detect LRAs and CODE-COMPONENTs by
      Changed SYMBOL-FUNCTION to map to RAW-DEFINITION instead of being a
      Changed to load the function from static-function-offset relative to NIL
      Added support for fdefn objects.
      Changed uses of call_into_lisp to work with new fdefn objects.
      Removed SymbolFunction and SetSymbolFunction.  Added funcall and
      Changed closure_tramp to expect a fdefn object in CNAME instead of a
      Changed closure_tramp to expect a fdefn object in CNAME instead of a
      Removed #+serve-event conditionalation.
      Changed to use C:BACKEND-FEATUREP instead of STRING= against the backend
      Changed all sap-ref vops to take byte offsets.  Added deftransforms
      Flushed sap-ref stuff, because it was commented out and is now superceeded
      Rewrote {read,write}-control-stack now that we can't just overload the sap
      New-aliens changes.
      Changed mach:: to unix::.
      Added use-packages for ALIEN and ALIEN-INTERNALS.
      mach:: -> unix::
      nother typo
      more typos
      Can't have both a info-arg function and regular arg function.
      Fixed fmakunbound to not trash NIL and to return the correct value.
      Moved the guts of pointer-compare into base-char-compare now that
      Ripped out pointer-compare and check<= stuff.
      new alien mods
      Fixed %set-sap-ref-single to actually call single-float-bits before trying
      Changed alien-type-class sap to system-area-pointer.
      Changed alien-type-class SAP to SYSTEM-AREA-POINTER.
      Added a few more exports from alien-internals.  Renamed the sap
      Changed the sap alien-type-class to system-area-pointer.  Removed alien::
      Added SEARCH-LIST-DEFINED-P, a predicate that tells if the search list is
      Added rudiments of *current-code-location* support.  Added ``DESCRIBE''
      Merged Miles' changes that allow the use of restart names as debugger
      Don't bother warning about dynamic flow of control, because it is obvious
      Protected function-end-cookie-valid-p against running across interpreted
      Added exported special debug:*stack-top-hint*.  If it's not NIL, the
      Added FLUSH-FRAMES-ABOVE for cleaning up frames to be bound to
      Bind DEBUG:*STACK-TOP-HINT* to something useful before invoking the
      Extended find-caller-name and find-interrupted-name to also return the
      Bind debug:*stack-top-hint* before calling break.
      Added new alien-internals symbols.
      two typos.
      Optimized system-sap-{ref,set} stuff to compute base=object+offset in one
      Left out a comma in the middle of a def-source-transform.
      Added support for :fdefinition constant entries, and dump fop-fsets for
      Added a ``function definition'' info type.
      Added FDEFN changes.
      Added FDEFN changes.  Changed PSEUDO-ATOMIC re Miles' suggestions.
      Added FDEFN changes.
      New PSEUDO-ATOMIC changes
      Added FDEFN object, and removed raw-function-address and setf-function from
      Added support for static-functions in addition to static symbols.
      Added FDEFN changes.
      Pause for 5 minutes before actually building the core to allow people to
      Changed the layout of the backend structure, and added a few new fields.
      Moved *type-predicate* and *predicate-type* into the backend structure.
      Initial revision
      Added load of vm:interr.
      Added comf of .../compiler/generic/interr.
      Moved NEW-BACKEND into .../compiler/backend.lisp.
      Left out a comma so ``HEADER'' was being passed into the expansion instead
      Bind *load-verbose* to NIL.
      Chagned make-call-out-argument-tns to make-call-out-tns.
      Moved things around so we don't try to use functions before they are
      Removed a spurious &.
      Sparc pseudo-atomic changes.
      Don't set *PSEUDO-ATOMIC-{ATOMIC,INTERRUPTED}* on the sparc because pa
      Support for new pseudo-atomic.
      Pseudo-atomic change mods.
      A few more sparc pseudo-atomic mods.
      removed temporary hack.
      Changed MAKE-CALL-OUT-ARGUMENT-TNS to MAKE-CALL-OUT-TNS because it makes
      make-array-header was returning a bogus value.
      Fixed syntax error found by new defstruct parsing stuff.
      Fixed syntax error in defstruct of ir2-block found by new parsing code.
      Fixed syntax error in defstruct file-info found by new parsing code.
      Fixed define-condition to clean up the slot description before handing it
      This commit was generated by cvs2svn to compensate for changes in r4900,
      Fixed syntax of defstruct key-event now that defstruct is less forgiving.
      Spiffed up warning stuff.  It now warns at 5 minutes, 1 minute, 15 seconds,
      Fixed a syntax error exposed by the new anal defstruct.
      Fixed a syntax error uncovered by new defstruct parsing stuff.
      Removed the ``-x'' that I had added for debugging.
      3/7/92 to 3/23/92
      Fixed another stupid bug in make-array-header.
      Always initialize the update_fn field.
      Added comf of clx-ext.
      It's not a good idea to use a value before it's been computed.
      Interrupt_handle_pending only takes one arg, not three.
      BACKEND-FEATUREP was incorrectly looking at *TARGET-BACKEND* instead of
      This commit was generated by cvs2svn to compensate for changes in r4914,
      Added (DECLARE (IGNORABLE STREAM)) to the guts of the defprinter expansion
      Added #.'s in front of calls to ERROR-NUMBER-OR-LOSE so the lookup is
      Moved export for WITHOUT-{GCING,HEMLOCK} from lispinit to here.
      Moved WITH-ENABLED-INTERRUPTS here from sysmacs.lisp.
      Moved object set stuff from lispinit to here.
      Changed purify to bind *INTERNAL-GC* and then invoke the garbage collector
      Moved exports/defvars for *task-{self,data,notify}* from lispinit to here.
      Added GC-INIT to facilitate making sure set-auto-gc-trigger.  Changed
      Was testing the wrong special in ROOM when printing out whether or not the
      Fixed eval of alien variables.  We just hand it off to the real
      Fixed describe of alien variables.
      Rewrote the ub-32 logcount vop.  The new version uses an O(log2 32) algo.
      Fixed {alloc,dealloc}-number-stack-space to work with large amounts.
      Extract the error number info out of the backend at compile-time, instead
      Added BYTES-CONSED-BETWEEN-GCS, a function that returns (and sets when
      Changed CONVERT-AND-MAYBE-COMPILE to temporarily increate *bytes-consed-
      Removed the :enable-gc option, as it's no longer needed.
      Changed the way the garbage collector gets turned on.
      3/23/92 to 3/29/92
      Fixed bug in NTH-VALUE where it expanded into bogus code unless ``n'' was a
      Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack
      Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack
      Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack
      Fixed SETF of GETF to evaluate the various parts in the correct order as
      Allow SHADOW to take strings in addition to symbols as per X3J13 cleanup
      Changed the default structure printer to print slot names as keywords
      Seperated out the stuff to print symbol names into KERNEL:OUTPUT-SYMBOL-
      Changed GET-SETF-METHOD-MULTIPLE-VALUE to try to macroexpand-1 the form
      Fixed SYMBOL-MACROLET to allow declarations as per X3J13 cleanup SYMBOL-
      Changed the return value of SET-SYNTAX-FROM-CHAR from NIL to T as per X3J13
      Added ``function compiler-macro-function'' info type.  Changed some type
      Added noise to support compiler-macros.  Removed #+/- new-compiler
      Minor tweeks to conform to X3J13 cleanup MACRO-DECLARATIONS:MAKE-EXPLICIT.
      Added optional lexical-environment argument to macroexpand.  Added
      Export REALP from LISP now that it's a real function.  Minor tweek to
      two typos.
      Don't try to define the type REAL under CMUCL, because we have a real REAL.
      Fixed os_validate to actually return 0 when it couldn't allocate the
      Fixed the ``fold identity operations'' transform for *, /, and EXPT to only
      Moved lots of exports into the files that contain the thing being
      Fixed funcall_sym to remove the lowtag of the fdefn object before using it.
      MAKE-SYMBOL takes the name as it's argument, not the value, bozo.
      Fixed (setf fdefn-function) to work.
      Fixed bug in list and list* where it would give the results an other-pointer
      Boosted the fasl file version.
      Added ``byte-code-{function,closure}-type''.
      Added defknowns for function-subtype and (setf function-subtype).
      Some changes to set-fdefn-function.  Now it assumes that anything other
      Added vops for function-subtype and (setf function-subtype).
      Get the error names from the backend now that they have moved.
      Added dispatching in compile-component on *byte-compile*.
      Changed the handler-bind in debug-loop to not invoke the debugger directly.
      While scavenging, if we come across a fdefn header, we have to handle it
      Added support for type_ByteCodeFunction and type_ByteCodeClosure, two
      Added support for finding :fdefinition entries in the constants pool.
      Changed the undefined-symbol-error handler to use fdefn-name to extract out
      Fixed the assertion that Rob added to no longer assume that the functional
      Fixed ecase in %%typep for numeric types: forgot to put parens around the
      Chagned the unmatched close parenthesis warning to include the file
      Added fop-make-byte-compiled-function.
      Added the noise to dump byte-compiled components.
      Fixed MACROEXPAND-1 to pass the environment into MACRO-FUNCTION when
      Removed references to symbol-function-slot and friends because they no
      Changed describe-component to check the type of (component-info component)
      Added a block-annotation structure, which both the ir2 and the byte-code
      Moved several slots out of the ir2-block struct and into the
      Changed to no longer assume it should be making ir2-blocks.  We now make
      Added byte-code support.
      Fixed function-subtype to put a nop in the load delay slot.
      Added function-subtype and (setf function-subtype).
      Added support for byte-code compiled functions.
      Added the x86 fasl-file implementation.
      Fixed doc string for maphash to indicate that it returns NIL instead of T.
      Added ``return-single'' vop, which is the same as ``return'' but is
      Fixed pointer+ not to flame out when the second argument is an immediate
      Fixed two minor syntax errors.
      Fixed generic-* to work given the new pseudo-atomic.
      Don't try to use a register for two different values at the same time.
      Changed call_into_lisp to only allocate enough space on the C stack for the
      Changed number-stack-displacement to only take into account the space
      Changed the call-out to allocate the extra 7 words needed by the C call
      Changed arch_init to return the default core name to use, or NULL for the
      Added two includes and fixed a typo.
      Added noise to determine what kind of FP hardware we have, and to
      3/29/92 to 4/7/92
      Removed unmatched close parenthesis.
      4/7/92 to 4/30/92
      Changed fixed value unknown-return of 1 value to use the ``return-single''
      Changed to allow packing of restricted TNs in reserved locations.
      Changed DESCRIBE to allow T or NIL as the stream argument.
      Rewrote most everything.  MAKE-HASH-TABLE now conforms to the X3J13 spec.
      Added hash table accessors, and changed make-hash-table to conform to the
      Changed describe-hash-table to conform to the rewrite of hash.lisp.
      Missed a place where I changed a name.
      Forgot to set the vector subtype when depositing an entry whos hashing was
      Don't special case IN-PACKAGE, because it's now a macro.  Instead, special
      Changed IN-PACKAGE to conform to the new definition.  But if you use an
      Removed an extra ``)''.
      Changed uses of DEFINE-CONDITION to use the new syntax.
      Removed bindings of unused variables.
      Added FOP-CODE-OBJECT-FIXUP, which is needed for the x86.  Also, left in
      Forgot to decf the entries count in remhash.
      Changed lots of setfs to bindings to suppress warning about setfs causing
      Left out an argument to a function, and it got upset.
      Removed an extra ).
      Fixed a couple bugs introduced with last mods, plus a few other places
      More random changes to reduce the number of compiler notes/warnings.
      Always load MACROS and BUFMAC, because they aren't loaded by default.
      Added code to look for the EVAL situation in eval-whens, so we can
      Can't use the same name for two different variables.
      Bloody hell, more stupid bugs.
      Added :nicknames to uses of defpackage, now that it looks at them.
      Changed DEFPACKAGE to warn if there are any packages that are no longer in
      Eval %in-package directly instead of expecting the eval-when to work,
      Fixed a bug introduced into WITH-HASH-TABLE-ITERATOR.  The macrolet body
      IN-PACKAGE is no longer a function.
      Compile and dump cold-load forms before evaluating them, so they are dumped
      4/30/92 to 5/17/92
      Don't mention the x86.
      Fixed a bug in WALK-ARGLIST where it would ignore the rest of the current
      In %defpackage, pass lists of names to functions that can takes lists,
      Added an ``assembler-params'' field for the new assembler.
      Added noise to dispatch between using the old assembler and the new
      Initial revision
      Don't have C and VM use ASSEMBLER, so they can pick between the new and
      Added comf of new-assem.
      Added load of new-assem.
      Added noise to dispatch between using the old assembler and the new
      Added defpackage for new-assem.
      Changed the :type of assembler-params from list to T.
      Added an export of label-id, and fixed the in-package to the new syntax.
      Removed several unmatched )'s.
      Moved fixup stuff and label-id from assembler to C.
      Check against the difference between the new and the old use lists being
      Forgot to move make-fixup.
      Added constant single-value-return-byte-offset, which is the offset in
      Changed default-unknown-values to note the location as either a
      Missed a place where a :call-site code-location was needed.
      Added :call-site code-locations.  Changed default-unknown-values to emit
      Added constant single-value-return-byte-offset, which is the offset in
      Added :call-site code location, and changed the :unknown-return code
      Missed adding the vop arg to a call to default-unknown-values.
      Fixed tail-call and tail-call-named to be :save-p :compute-only now that
      Added trap type for after-breakpoints.
      Moved the :single-value-return code location to where backtrace expects to
      Moved the :single-value-return code location to where backtrace expects to
      Moved the :single-value-return code location to where backtrace expects to
      Extended label-elsewhere-p to accept raw positions in addition to labels.
      Added :non-local-entry code location kind, and changed dump-block-locations
      Added NOTE-NEXT-INSTRUCTION, which is like NOTE-THIS-LOCATION except that
      Added :non-local-entry code-location kind.
      Added after-breakpoint-trap trap kind.
      The function name is ``location-info-kind'' not ``location-kind.''
      Added :non-local-entry code locations.
      Missed uwp-entry when adding :non-local-entry code locations.
      Added new-assem:emit-postit.
      Qualify assem:emit-code-vector now that C doesn't use ASSEM anymore.
      Qualify assem:count-instructions now that C doesn't use ASSEM anymore.
      Fixed emit-assemble to do the right thing depending on which assembler we
      Someone changed the syntax of assem:dump-segment, but never fixed this use
      Had two args backwards in the call to dump-assemble-routines.  So it wasn't
      Fixed handle_breakpoint to be able to deal with handling breakpoints when
      Removed the rename-package of PCL because it is not needed, and it
      breakpoint_after_offset also needed to be taught that $CODE might contain
      Instead of using a hash table to map from compiled-debug-functions to the
      5/17/92 to 5/25/92
      When neither -core nor CMUCLLIB is set, actually fill in the core with the
      Note that check-fixnum is the check vop for the fixnum primitive type.  I
      If we don't compile inspect, don't try to include it in clx-library.
      Changed to install the alpha core under $clisp-3 instead of directly in the
      Switched to using BACKEND-FEATUREP instead of #+ and STRING= on the backend
      Fixed several uses of FIND to use EQUAL instead of EQL to compare function
      Implemented EMIT-POSTIT, which is needed by NOTE-NEXT-INSTRUCTION.
      Added hppa fasl file implementation.
      Added byte-annotate and byte-compile slots to the function-info structure.
      Removed the load of bit-bash, because we don't want to have to support the
      Removed the compilation of the bit-bash assemble routines, because we don't
      Fixed a minor bug in dumping byte-compiled components: wasn't dumping a
      Changed the leaf printer to know about byte compiled entries.
      Added a page-size slot to the backend structure.
      Fill in the new page-size slot in the backend structure.
      Added x86 and hppa support.
      Initial revision
      Fixed assemble-file to work with the new assembler.
      Initial revision
      Added x86 and hppa specific files.
      Changed to bind *features* to (backend-features *target-backend*) just
      Spiffed up the ASSEMBLE macro.  You can now tell it about labels defined in
      5/25/92 to 6/3/92
      Alien names do not have an underscore prepended.
      Filled in the truncate assembly routine.
      Changed circularity detection and depth abbreviation around.  OUTPUT-OBJECT
      Changed PPRINT-LOGICAL-BLOCK to no longer check the list argument itself
      Changed DEFAULT-STRUCTURE-PRINTER to conform to changes to the printer.
      Changed the DEFPRINTER expansion to error if *PRINT-READABLY* is set and to
      6/12/92 to 6/15/92
      Fixed the mask in the :branch branch of FIXUP-CODE-OBJECT.
      Fixed PACKAGE-ERROR to have a PACKAGE slot instead of a PATHNAME slot.
      Changed PROCESS-BACK-PATCHES to process any back-patches that are emitted
      Changed the defknown for PACKAGE-NAME to include NIL as a possible result,
      Fixed EMIT-VOP to take into account that the order of arguments to MOVE is
      6/15/92 to 6/22/92
      Had lots of fixnump tests backwards.
      Changed the type of *TOTAL-BYTES-CONSED* from fixnum to integer because it
      Fixed multiply.  Had the shift-and-add operands backwards.
      Added hp pa-risc and x86 support.
      Had the operands backwards to lots of uses of MOVE.
      The single value return point is 1 word past the mv return point, not 2.
      Had some more moves backwards.
      Added some type declarations so that a call to make-array gets open coded.
      Fixed MAKE-LOAD-TIME-CONSTANT-TN to quit looking once it found an matching
      Fixed sxhash-simple-substring.
      Removed *task-data* and *task-notify* because they aren't used, and I have
      6/22/92 to 7/7/92
      Fixed a use of ldwx to have the lisp object as the base instead of the
      Had the condition on an addib backwards.
      Was not-ing a value when it should have been negated.
      Fixed the broken bit of noise that I had told Sean to check in.  Yes, it
      Changed the #+nil to #+debug in front of some debugging code so that you
      Fixed internal-error-arguments.  Had to strip off the low two bits from the
      Changed to use sigcontext-program-counter instead of assuming there is an
      Added new-assembler in-core compilation support.
      Fixed unix-select to shift the masks by -32 instead of shifting -32 by the
      Fixed forget-output-blocks to also reset *all-output-blocks*.
      Generalized the static-mumble-offset routines to also consider nil a
      Left out a :nullify t for a branch that needed one.
      Added hppa and x86 support.
      Initial revision
      Had the arguments backwards in two uses of store-stack-tn.
      Fixed note-next-instruction.  The function argument to emit-postit gets
      Fixed dump-1-location to also take integer positions directly, instead of
      When the policy is either safety>speed or debug-info=3, force the
      Added hppa and x86 files.
      Bind *byte-compiling* to T and print ``Byte Compiling'' when we are byte
      Changed byte-compiler stuff to use the new-assembler.
      Added EMIT-NOP and TN-LOCATION vm support routines.
      Changed byte-compiler stuff to use new-assembler.
      Removed old assembler, and unconditionalize the disassembler now that it
      Added disassembler support.  Changed :reads and :writes stuff to call
      Initial revision
      Don't load the old assembler or old assem-opt stuff.
      7/7/92 to 7/24/92
      Fixed UNIX-FORK to actually return the error code when it fails.
      UNIX-FORK returns NIL, not -1, when it fails.
      Fixed OUTPUT-SYMBOL to no longer call CHECK-FOR-CIRCULARITY now that
      Initial revision
      Moved the (compiler-mumble "~&") from native-compile-component to compile-
      Major rewrite of many things.  New pseudo-atomic.  Merged mumble-immediate SCs
      New pseudo-atomic makes it quicker to do allocation inline instead of
      changed for new pseudo-atomic.
      Changed fp-tn to cfp-tn, etc.
      Removed the bit-bash assembly routines from the mips system.
      Removed the bit-bash assembly routines from the mips system.
      Changed the pmax system to use new-genesis.
      If genesis isn't bound, load new-genesis on the hppa, pmax, and x86.
      Removed assem-check.
      Removed assem-opt and assem-check.
      Import C:BRANCH and C:FLUSHABLE so we can export them without causing
      Also grovel over the queued branches when assigning depths, because they
      Fixed a few places where continuation-info can be NIL.
      Fixed the dependency computation noise.  I have no idea what it was doing
      Fixed schedule-pending-instructions to guarantee that the set of values
      In FORCE-PRETTY-OUTPUT, EXPAND-TABS before outputing the output buffer.
      Hacked over unix-select to actually work with nfds>32 and to be more
      Changed DEFINE-INSTRUCTION to ignore the :READS, :WRITES, and :DELAY
      7/24/92 to 7/31/92
      Added some declares to get rid of some efficiency notes.
      When generating full-call return sites, wrap it with without-scheduling so
      Wrap the stuff to turn pseudo-atomic on and off with without-scheduling so
      Wrap a WITHOUT-SCHEDULING around the mv entry-point for full-called
      Changed a note-this-location to a note-next-instruction so the scheduler
      Added :notes for shift-towards-{start,end} and fixed their second arg's
      Fixed allocation of variable-length things to compute the header correctly.
      Flushed the old assembler's instruction struct.
      Changed the pseudo-atomic-interrupted bias from 0x70000000 to 0x7f000000 so
      Removed traces of the old assembler.
      Removed traces of the old-assembler.
      Removed traces of the old assembler
      Fixed move-from-unsigned to actually treat the value as unsigned instead of
      Changed note-debug-location to return the location-info structure created,
      Fixed note-next-instruction to emit the debug-location on the original
      Flushed old-assembler stuff, and import new-assem stuff directly into the C
      Make count-vops flame out until someone fixes it to work with the new
      Make setup-dynamic-count-info flame out until someone fixes it to work with
      Changed tn-location to location-number, because we now use it to map
      Fixed FAST-ASH-C to logical shift right when handed unsigned-reg tns.
      Fixed FAST-ASH-C to logical shift right when given unsigned-regs.
      Fixed unsigned-byte-32-test to correctly handle the 2-word bignum case.
      Check to see if some part of a lambda-list is a LIST before checking to see
      Fixed quote-string to stop at the fill pointer for strings with fill
      In %defsetf, don't bother creating temp vars for constants.  This is
      Fixed move-from-unsigned to correctly make 2-word bignums.  It was using
      Fixed undefined_tramp to encode descriptor-reg again now that the sc
      %SET-FUNCALLABLE-INSTANCE-INFO is supposed to be a setter, not a reffer.
      Fixed %TEST-HEADERS to compare the lowtag against FUNCTION-POINTER-TYPE
      Fixed costs of binary arith vops.  They were way out to lunch, resulting in
      8/4/92 to 8/17/92
      Fixed simple-string accesses to be unsigned.
      Fixed to work.
      Fixed function-end and after breakpoints to work.
      Don't delete lisp.h when cleaning up.
      Instead of doing after breakpoints ourselves, use the new C function
      Added calls to os_flush_icache after each place the breakpoint code changes
      Just because we close over something doesn't mean that it's constant.  Our
      Fixed a lifetime bug in full call.  This only showed up if there were
      Don't include inspect into clx-library, because it has to be loaded after
      Explicitly load inspect after pcl instead of implicitly as part of
      Added CAT-IF-ANYTHING-CHANGED, for use with creating {clx,hemlock}-library
      Lots of changes to the schedular: instead of using lists for sets and alists
      Added meta-vmdef, the parts of vmdef that need to be loaded at compiler
      Added some more slots to vop-info so that a single generic emit function
      Seperated out all the meta-compile time stuff into meta-vmdef.lisp.
      Initial revision
      If *backend* and *native-backend* are all the same then load macros and
      Added meta-vmdef.
      Fixed a bug in WRITE-CONTROL-STACK where it tried to store the address at
      Initial revision
      Moved the ``-Xlinker -u -Xlinker'' into UNDEFSYMPATTERN so that different
      Moved the -u into UNDEFSYMPATTERN.
      Moved the -Xlinker -u -Xlinker into UNDEFSYMPATTERN.
      Initial revision
      Don't have branches in branch delay slots.
      Don't call DISASSEM:INSTALL-INST-FLAVORS if there are no inst flavors
      When printing a frame, ignore errors that occur while looking for the
      8/17/92 to 9/7/92
      Backed out pathname changes, 'cause they don't work.
      Changed ``undefineds'' stuff to be a C file that gets linked in instead of
      Changed arch_get_bad_addr to take the signal and code arguments also,
      Generalized the next-pc stuff in case more architetures show up with them.
      Changed /**/ to ## because we are now feeding it through gcc which is ansi.
      Initial revision
      Changed interrupt_maybe_gc to take the signal and code in addition to the
      Only call mach_init under mach.
      Changed arch_get_bad_addr to take the signal and code in addition to the
      Initial revision
      Initial revision
      Changed arch_get_bad_addr to take the signal and code in addition to the
      Initial revision
      Changed sparcs to use new-genesis and new startup code.
      Changed to use new startup code.
      Under SunOS, use the real C stack instead of mapping our own so that it
      Added a -DSUNOS so that it is defined.
      Changed the sigcontext defn to correspond to the changes to the C code.
      When a basic block ends immediately after a branch instruction, don't put
      Initial revision
      Changed arch_get_bad_addr to talk the signal and code in addition to the
      If we have a couple of writes and then a read the last write has to stay
      When calling vm_protect, pass FALSE instead of TRUE for set_max.
      Added code to sigfpe_handler to pick of the end-of-pseudo-atomic traps.
      Oops, save_state needs to copy the second argument into the new register
      Need to also save the return address (%i7).
      Finally got restore_state to actually work.
      Added definition for SANCTIFY-FOR-EXECUTION.
      Call SANCTIFY-FOR-EXECUTION after building any entry points, so that if the
      Compile new-genesis for everything, because everything now wants to use
      Dump a FOP-SANCTIFY-FOR-EXECUTION after dumping all the fixups.
      Call VM:SANCTIFY-FOR-EXECUTION after creating code-components.
      Added lots more exports.
      Added sanctify_for_execution
      Fixed the pending interrupt trap handler to correctly decode the immediate
      Fixed the fop-sanctify-for-execution dumping to actually work.
      Removed ``:type random'' as it is no longer needed.
      removed definitions for primitive types random and interior because they
      Fixed make-array to correctly compute the header.
      Fixed a few places where local-call incorrectly manipulated the nsp.
      Added handle-function-end-breakpoint and removed *allocation-pointer* and
      Fixed define-partial-{reffer,setter} to compute the index correctly in the
      Added support for trap_PendingInterrupt, because it is needed for
      When we get a trap_PendingInterrupt, skip over the breakpoint instruction.
      Fixed COMPUTE-OLD-NFP to compute the old nfp instead of clobbering the
      Added extra stuff necessary to make more-arg-context use the :translate
      Changed MOVE-FROM-mumble-FLOAT to do the std after the pseudo-atomic so
      When done fixing up after a pseudo-atomic-interrupted, skip past the
      Changed more-arg-context to be a :translate instead of a def-source-
      Removed the def-source-transform for more-arg-context.
      10/9/92 to 10/21/92 and 9/29/92 to 10/9/92.
      Added EXT:*HASH-TABLE-TESTS* and made MAKE-HASH-TABLE look in it for any
      SET-FUNCALLABLE-INSTANCE-INFO is a setter, not a reffer.
      Fixed %test-headers to check that the lowtag of functions is the function
      Changed the interface to user defined hash tables.  There is now a function
      Added an additional use of ~^ in pprint-flet so that (flet (nil) ...)
      Wrapped a (CATCH 'UP-AND-OUT ...) around the guts of INTERPRET-FORMAT-
      Changed enums to always take up an int to be compatable with C.  Also, sort
      Fixed pprint-lambda-list to print a space before the dot when the tail of
      Fixed a bug introduced into __sigtramp where it used some random bit to
      Only try to generate a disassembly when making a trace file if the
      Added a ``variable-lenght'' instruction attribute that indicates that the
      10/21/92 to 11/23/92:
      Bind *gensym-counter* so that it doesn't get side effected.
      Changed the function caching stuff to no longer have a macroexpand-time
      Added dylan-function-header type.
      Added defknown for dylan-function-p.
      Added support for dylan-functions.
      Added support for dylan-function-p.
      Added support for dylan funciton subtypes.
      Added support for dylan function subtypes.
      Added support for dylan function subtypes.
      11/23/92 to 12/5/92:
      Fixed MAYBE-RCS-CHECK-OUT-FILE to test to see if new-dirs of the
      Added a #.vm:dylan-function-header-type branch to OUTPUT-FUNCTION.  Also
      Increased the size of the heaps.
      Increased the size of the heaps.  Added a guard page between the various
      Fixed a bug in pprint-let that caused to to barf on (let (nil) ...).
      Changed %print-request-server to use print-unreadable-object to get rid of
      Added pretty-printer directives so that arg lists and results print better.
      Syntax error in the defstruct for synonym-stream.
      Extended INFO to take the env-list as an optional fourth argument so that
      Added :'s on the keyword names in %defknown's type proclaim.  Changed
      Added defknowns for %function-self, (setf %function-self), and
      Moved def-primitive-object into hear and changed it to expand directly into
      Moved all the def-primitive-object stuff into vm-macs.lisp.  Fixed all uses
      Changed the make-closure vop to take the length as an info argument because
      Initial revision
      Changed %primitive numerator to %numerator.  Same for denominator,
      Removed the define-for-each-primitive-object.  Added fixed-alloc and
      Added fixed-alloc and var-alloc which are used by (the new) vm-ir2tran to
      Removed the define-for-each-primitive-object because we do it all inline
      Removed the define-for-each-primitive-object.  Added slot and set-slot
      Added vm-ir2tran.
      Added vm-ir2tran
      Flushed several uses of %primitive now that functions exist to do the same.
      Changed several uses of %primitive to eqv functions now that eqv functions
      Changed %function-header-mumble to %function-mumble.
      Added an ``(in-package :c)'' to get it back into the right package.  Added
      Fixed a call to continuation-tn to have all three arguments.  Added some
      Put the eval-when back around the (declaim (optimize (safety 1))) so that
      Added some generational gc stuff under #+gengc conditionals.  Moved the
      Added defknowns for vector-length and %set-funcallable-instance-function.
      Added ANNOTATE-FUNNY-CALL for use with new define-primitive-object stuff.
      Moved the define-primitive-object related exports into here now that
      Added fdefn-function vop, because ir2tran expects to use that vop directly.
      more typos.
      Added VOP for fdefn-function, because ir2tran expects it to exist.
      Pass the type instead of the whole header to the fixed-alloc and var-alloc
      Don't have :rest-p slots contribute to the length of the primitive objects.
      Lots of gengc stuff under #+gengcs.  Fixed var-alloc, was real broken.
      Removed an unused temporary tn from list and list*.  Fixed var-alloc to
      Can't store relative to alloc-tn inside a pseudo-atomic because alloc-tn
      Also allow any-reg args to make-value-cell.
      Added arg sc restrictions to make-value-cell and make-closure.
      Changed do-inits to use make-restricted-tn instead of make-normal-tn.
      Removed some unused cruft and updated the header.
      Closure-init should be named closure-init, not closure-set.
      Fixed define-primitive-object to use T as the slot type if it is unsupplied
      Added a bunch of types to various define-primitive-objects and their slots.
      The sparc's psuedo-atomic pisses on bit 2 of alloc, so we have to mask it
      Changed kernel:code-debug-info to kernel:%code-debug-info.
      Changed di::code-debug-info to kernel:%code-debug-info.
      Changed (code-header-ref component vm:code-debug-info-slot) to
      Changed kernel:code-debug-info to kernel:%code-debug-info.
      Changed function-header-mumble to function-mumble and changed
      Changed (setf (code-header-ref code-obj vm:code-debug-info-slot) info) to
      Changed function-header-mumble to function-mumble.
      Removed export of code-debug-info because it is now %code-debug-info and in
      Changed function-header-code-offset to function-code-offset.
      Changed function-header-code-offset function-code-offset.
      Changed function-header-code-offset to function-code-offset.  Fixed file
      Changed %primitive function-mumble to %function-mumble.
      Removed a few uses of %primitive in favor of real functions.
      Enlarged the heap for the sparc.
      Fixed call_cmd to work when given a function pointer directly.
      Fixed defknown of %verify-argument-count to have * for the result type
      Changed function-header-name to %function-name and changed code-debug-info
      In do-inits, look up any-reg in the current backend instead of the target
      Changed a use of LOOP slightly to work around a bug until Paul gets it
      Rewrote lookup-host-entry to no longer use LOOP until we get a
      Changed a use of LOOP destructuring to a DESTRUCTURING-BIND because LOOP
      Changed struct function_header to struct function.
      Tweeked some stuff to inhibit some useless warnings.  Added some gengc
      Added a bunch of gengc stuff under #+gengc.
      Added a #-gengc to suppress code-from-lra because the gengc stuff has
      gengc allocation mods.
      gengc allocation mods.
      gengc mods.
      Added :cmu17 to the features list so that PCL can tell if it is in a
      Added gengc support.
      gengc mods
      Changed some messages to be less confusing.
      Changed def-source-transform to work with setf functions also.
      Changed function-header-code-offset to function-code-offset.
      Added stuff for new var-alloc and fixed-alloc vops.
      removed unused stuff.
      Changed function-header-code-offset to function-code-offset.
      Fixed COMPUTE-CALLING-FRAME to not try using %CODE-DEBUG-INFO on things
      Changed the conditional that decided were to put the kernel.core to depend
      Removed source-transforms for internal error things, because we just
      Changed internal error signaling vops to be :translates instead of being
      Changed the defknown for %verify-argument-count to be more precise.
      Chagned make-xep-lambda to declare the number of supplied arguments as an
      Added (values) to the end of %verify-argument-count so it matched the
      allocate, but protect against reading or writing, the page following each
      Don't deftype POSITION, because it is a CL symbol.
      Missed a place where I needed a #+gengc.
      Added a missing #+gengc.
      Added standard header, and changed with-compilation-unit to
      Fixed sanctify_for_execution to not run past the end of the code object and
      Replaced the FORMAT transform with one that uses FORMATTER for more
      typo: compiler-motif.log => compile-motif.log
      Changed function-header-code-offset to function-code-offset.
      Fixed make-array-header to not seg fault.
      Changed function-header-code-offset to function-code-offset.
      Initial revision
      Fixed listify-rest-arg.  It was leaving a tagged pointer to unallocated
      Moved foreign-segment-{start,size} from mumble-os.lisp into foreign.lisp.
      Moved foreign-segment-{start,size} from mumble-os.lisp into foreign.lisp.
      Added noise about the sparc-10 16f core file.
      Fixed the stuff to emulate the ``addit imm,ALLOC,ALLOC'' instruction at the
      Removed stuff to print the pid on startup.
      2/4/93 to 2/9/92
      Added OPEN-STREAM-P, changed a few explicit type checks to declares, and
      Changed HANDLE-BREAKPOINT to allow breakpoints that nobody wants.  This can
      Changed funcallable-instances to also have a lexenv and layout slot.
      Added funcallable-instance-lexenv VOP for use with new funcallable
      Changed defknown of %make-funcallable-instance to take two more args now.
      Fixed type decls in FILE-POSITION to allow :START and :END for positions.
      Changed PRIMITIVE-TYPE to return the function primitive type for the
      Store the print function in the basic-structure-class-print-function
      Fixed CIRCLE-SUBST to not bother looking down the instance-layout slot so
      Added vop for funcallable-instance-lexenv.
      Changed object-not-structure-trap to object-not-instance-trap.
      Changed object-not-structure-error to object-not-instance-error.
      On the sparc, reserve addresses #x20000000 thru #xDFFFFFFF so that MACH
      Decreased the sizes slightly so that the various segments end on a 32k
      Fixed ptrans_instance to actually return the result of calling ptrans_boxed
      Fixed GET-TYPE to actually work.
      oops.  didn't get get-type quite right.
      3/15/93 to 4/3/93
      Change (info type kind 'stream) to :instance so the defstruct doesn't flame
      Change the interface style to :tty before starting the compilation.
      Added the collection built-in-classes needed by dylan.
      Added ``:state :read-only'' to the various extendable collection classes.
      Added ``real'' built-in-class.
      4/3/93 to 4/4/93
      Fixed unbind-to-here to not dereference past the end of the binding stack.
      Changed core saving to no longer save the stacks.  Instead, when the core
      Changed save to pad the core file out to CORE_PAGESIZE bytes, so that when
      Removed (setf weak-pointer-value) and made make-weak-pointer itself the
      Added defknowns for make-weak-pointer and make-scavenger-hook, and removed
      Removed setf methods for weak-pointer slots to simplify the gengc stuff.
      Added more gengc stuff.
      Initial revision
      Added more gengc stuff.
      Removed immediate lognor stuff, because the nor inst can't handle
      Changed the fasl file version to 7 when #+gengc.  Tweeked static symbols
      Added gengc out-of-line allocators.
      Added gengc stuff.
      #-gengc'ed allocate-vector 'cause the gengc version is in alloc.lisp.
      Added gengc stuff.
      Changed the initial generations building stuff to be totally configurable.
      Fixed atan to handle zeros better.  It still isn't right because the
      Fixed string and simple-string to include generic-string and vector in
      Added weak hash table support.  Added gengc support.
      Fixed to correctly deal with having a load-word in a branch delay slot.
      Added a symbol-hash slot to symbols under the gengc system.  When symbols
      Fill in the symbol-hash slot with something random.
      Added the symbol-hash vop.
      Changed info-hash to use symbol-hash instead of %sxhash-simple-string and
      Added symbol-hash.
      Fixed some typos.
      Added some gengc stuff.
      Merged Rob's changes to new-genesis.lisp: verify the code format as soon as
      Bind *features* to (backend-features *backend*) so that things like #+gengc
      Fixed sxhash-simple-{sub,}string to save the return address on the
      Don't use load-symbol-value in the gengc system.
      Don't define a built-in class for LRA in the gengc system.
      Don't use store-symbol-value in the gengc system.
      Protected against changing constants of the form (%fdefinition-marker% foo)
      Added do-{before,after}-gc-stuff to the gengc static symbols.
      Added mutator accessors.
      In the gengc system, make without-gcing be the same as without-interrupts.
      Added stuff to fake scavenger hooks in the non-gengc system.
      Initial revision
      Wrote the gengc version of without-interrupts.
      Compile scavhook and gengc instead of room, gc, and purify for the gengc
      Filled in the before and after hooks.  Added a def-alien-routine for
      Fixed make-fixnum-descriptor to be able to deal with negative fixnums.
      Fixed %function-self, (setf %funcallable-instance-function), etc. for the
      Fixed float-to-core to handle negative floats.
      Fixed with-regs-saved to grow the control stack up instead of down.
      gengc mods
      Fixed branch-mumble-and-link instructions.
      Fixed ir2-convert-closure to correspond to new %set-function-self.
      gengc mods
      Fixed the gengc version of listify-rest-args to work.
      Fixed the core file format to include information about what blocks have
      Only interpose a weak-pointer between the hash-table-bucket-key and the
      Fixed symbol initialization stuff to correctly initialize nil.  Changed
      Fixed large-alloc to dink the suspends_disabled_count around the alloc and
      Fixed load-time-value hackery for the gengc system.  Tweeked in-package
      Fixed the gengc make-array-header to correctly compute the header word.
      Fixed the load-time-value fixup stuff to work with the gengc system.
      Added load-time-value support.
      Fixed to include ra/lip in the list of registers trashed.
      Fixed previous fix to not do anything on the non-gengc system.
      Merge multiple :ignores into one.
      Changed float comparison to translate = instead of eql.
      Changed the = transform to leave as = when comparing floats.
      Added stuff to transform EQL of floats into a comparison of the bits.
      Now that +0.0 and -0.0 are no longer eql, fixed atan to deal with them
      Fixed number-pair-to-core to allocate enough memory for the number pair.
      Added rand on the gengc system, because it is used by make-symbol which is
      Gengc mods.
      Several gengc fixes:
      missed tail-call-variable when making the return-pc descriptor-reg to
      Initial cut at rewrite of compute-calling-frame for gengc system.
      Added gengc version of ``sigcontext'' under #+gengc.
      Missed a descriptor-reg => any-reg change in define-full-call.
      Fixed var-alloc and allocate-code-object to wire a temp to RA so that pack
      Moved the compiled-frame-saved-state-chain to the end of the struct so
      In the gengc system, actually dump the trace tables.
      Added rudimentary support for funcallable-instances.
      Cleaned up find-interrupted-name a bit.  The inner loop was generating bad
      Added a ``continue'' handler in comf around the compile-file so that if
      Fixed describe-instance-parts to not flame out when handed instances that
      Added checking for division by zero.
      Fixed :clear-input to flush any unread chars.
      Remove :no-clx and :no-hemlock from *features* if they are being loaded.
      Changed bits-per-entry to tt-bits-per-entry.
      Missed a place max-offset should have been changed to tt-max-offset.
      Don't export hash-table-weak-p from the common-lisp package.
      Lots of tweeks in order to use NIL and 0 directly from the registers
      Changed data-vector-ref/simple-vector to not include null and zero as valid
      Changed generic-= and generic-/= to not assume that EQ implies =, because
      Changed two-arg-= to use = instead of using eql.
      fixed a couple typos.
      Added a stub definition for purify.
      Don't load purify when building a gengc system.
      Set up a default for modules:.  Note: we have to do it here instead of in
      Use unix-namestring on each file before passing it to the linker to get rid
      Fixed a bug in default-unknown-values where it wouldn't default the first
      Fixed a bug in default-unknown-values where it wouldn't default the first
      Added stuff to allow compile-file and compile-from-stream to be used to
      Changed comf to not force the pathname type to ``lisp'' but to default it
      Bind *error-output* to *compile-error-output* around the call to
      Initial revision
      Tweeks to allow for compiling/evaling dylan code in a slave.
      This commit was generated by cvs2svn to compensate for changes in r6383,
      Added comf of dylan.
      Include dylan in the hemlock-library.
      Changed comf to load the object file instead of the original name.
      Changed output-instance to use %print-dylan-instance to print dylan
      fixed pprint-do to not flame out if one of the binding lists is NIL.
      Initial revision
      Initial revision
      Added runprog.c
      Moved the fork/exec stuff into C, for ease in porting.
      Changed the :cmu17 feature to :cmu18.
      Moved rcs.lisp into hemlock subdir, and include it in hemlock-library.
      Also copy site-init and motifd into the release area.
      Also compile cmu-site.
      Copy cmu-site as cmu-site instead of site-init.
      Fixed namestring of a stream to not flame out if there is no pathname for
      Added transforms that flush (/ 0 foo), (floor 0 foo), etc.
      Fixed DO-SYMBOLS to iterate over the package-use-list instead of the
      Separate the 4 rm's so that if the wildcards don't match in one, they don't
      Changed around to use the new dylan parser.  Changed verify-source-files to
      Don't reference the various random symbols inside a static data structure,
      Added support for dylan symbols, keywords, and varinfo-value cell lookups.
      Added dylan-var and dylan-function-var leaf types.
      Taught print-leaf about dylan-var leafs.
      Don'e use info function info for dylan-function-var, instead get the info
      Added def-ir1-translator's for dylan support special forms %var, %set-var,
      Taught continuation-delayed-leaf about dylan-vars.
      Taught ir2-convert-ref and -set about dylan-vars.
      Changed make-load-time-constant-tn to compare infos with equal if they are
      Fixed the arg types on generic-eql-c/fixnum to restrict the constant to 9
      Only load target:code/assemfile if *backend* and *native-backend* are the
      Shadow CLASS-DIRECT-SUPERCLASSES because both kernel and pcl want to export
      Moved direct-superclasses into class.  Changed generic-array to correspond
      Fill in the direct-superclasses field.
      Added support for dylan-var leafs.  Changed typecases to etypecases so
      Added support for dylan-var leafs.
      Added support for dylan module variables.
      Passed *backend* in as the second argument to sc-number-or-lose, 'cause the
      Added a hack to keep the compiler from coalescing constants when compiling
      Write out each step's blocks in the order we allocated them, instead of
      Added support for dylan variables.
      Minor tweek to suppress a warning in the gengc system.
      Added ``:prodeed t'' to compilation of unix, so we can change constants.
      Fixed the load-type macro to base the macroexpansion on the
      Fixed various macros to base the macroexpansion on the *target-backend*s
      Fixed the :pmax branch of do-cold-fixup to not assume we are running on a
      Moved alien-value into struct.lisp.
      Fixed do-load-time-value-fixup to get the load-time-value from *load-time-
      Changed exception stuff back to signal stuff in the mutator structure.
      Changed exception stuff back to signal stuff in mutators.
      Changed interrupts-enabled to interrupts-disabled-count.
      Chagned ``suspends'' to ``interrupts'' in gengc without-interrupts.
      suspends => interrupts.
      Added gc-pending field to the mutator structure.
      Backed out the gengc ``sigcontext'' now that the gengc system is back to
      Fixed allocate-code-object to pass the number of words to large-alloc in
      Added gengc support to the byte-code dumping stuff.
      Added stub defn of gc-init.
      Fixed the code-component constructors to fill in the word of padding
      Added a make-load-form-fun for the ctype defstruct.
      Oops, need to actually stick the value-cell in the constants pool, instead
      This commit was generated by cvs2svn to compensate for changes in r6758,
      Don't choak if a :dylan-compile generates a compiler message.
      Added #+gengc (setf conditions::*handler-clusters* nil) to
      Wasn't getting the result from the correct register in the gengc version
      #-gengc'ed a bunch of stuff that doesn't work on the gengc system.
      More gengc/byte-code fixes.
      Added support for &more args
      Added c:&more.
      Added %more-arg-values.
      Added %more-arg-values.
      Added interpreter stub for %more-arg-values.
      Fixed make-core-byte-component to actually store the value cell in the
      Changed %more-arg-values to also take a start argument.
      In %more-arg-values, skip words, not bytes, when the number of values to
      Changed the ``count'' more-arg to be an index instead of a fixnum.
      Wrote %more-arg-values.
      Export single-step-breakpoint-trap, not single-step-breakpoint.
      Removed %exp1m, %log1p, and %cbrt because nobody used them, and HPUX
      #-hpux'ed utimes, getreuid, and getregid 'cause HPUX doesn't have them.
      Removed %exp1m, %log1p, and %cbrt.
      Don't flame out on more-args, 'cause they exist now.
      HP breakpoint support.
      Tweeks to support breakpoints on the hp.
      Removed %log1p, %exp1m, and %cbrt.
      Initial revision
      Added time.c
      Fixed getrusage stub to correctly compute the microseconds.
      Fixed to deal with daylight savings time better.
      Fixed decode-universal-time to correctly get the timezone info.  Rewrote
      Deal with the fact that timezones can be -24 thru 24 inclusive.  Hence we
      Fixed decoded-time routines to allow timezones of (rational -24 24) instead
      Fixed arg ordering for getf.
      Picked up Miles' changes to apropos and apropos-list that allows one to
      Fixed SOURCE-TRANSFORM-NUMERIC-TYPEP to test against REAL instead of NUMBER
      Fixed %more-arg-values to return the count instead of always returning 0.
      Changed lookup-varinfo-value to lookup-variable-value.
      Added #+hpux support for SIOCSPGRP (needed for "Typescript Slave Break" and
      On the HP, use the SIOCSPGRP ioctl instead of fcntl to turn on oob
      Added a derive-type defoptimizer for log.
      Restored the behavior of scribe-file to cd to the directory of the .mss
      Use /usr/local/cmucl instead of /usr/misc/.cmucl on hpux.
      Use /usr/local/cmucl instead of /usr/misc/.cmucl on hpux.
      Added an executable-only optional to unix-namestring so that we can expand
      Changed run-program to only try to run executables, and to flame out if
      Give a sensible error message if we can't find the slave utility (e.g.
      This commit was generated by cvs2svn to compensate for changes in r6863,
      Changed step to set-step-breakpoint because step is supposed to be the
      Default the name slot in defmacro-lambda-list-bind-errors to NIL.
      Fixed defpackage to combine multiple use, export, and import options
      Fixed coerce to call type-expand so that people can coerce to deftypes.
      Changed the byte-function and byte-closure funcallable-instances to use
      Changed main-entry to use etypecase instead of assuming that the arg is
      Fixed two-arg-gcd to correctly handle most-negative-fixnum.  Was choaking
      Changed vector to inherit from array before generic-vector.
      get-internal-run-time now works under hpux, so go ahead and use it.
      Don't warn about &rest consing if we can't figure out what the argument
      Changed coerce-to-smallest-eltype to call coerce with a vector type
      Fixed coerce to use subtypep to analyze the output type spec instead of
      Fixed %report-times to not choak if any of the function names are not
      Fixed the warning in defpackage about no longer using some packages to
      Changed the default for library: under hpux to be /usr/local/lib/cmucl/lib.
      Changed the default for lisp.core under hpux to be /usr/local/lib/cmucl/lib.
      Look in /usr/local/lib/cmucl/lib now.
      Include L2 in the set of boxed registers.
      Fixed expand-tabs to fill the correct range with spaces.
      Fixed broadcast streams to not close the component streams when the
      Use cmucl.orig, not lisp.orig, on hp-ux.
      Changed the default for Slave Utility from lisp to cmucl.
      Fixed pmax package.
      Use hppa-assem.s instead of hppa-assem.S.
      Allow for .s files in addition to .S files.
      Fixed to work.
      Look for cmucl.orig instead of lisp.orig
      Install internals.h and moved the place things get installed.
      Initial revision
      Fixed typo and changed it to no longer link in the fonts directory.
      Added a hack to allocate-vector to make sure the zero byte of a string is


CMU Common Lisp

More information about the cmucl-cvs mailing list