primarily intending to integrate Colin Walter's O(N) map code and
authorWilliam Harold Newman <william.newman@airmail.net>
Fri, 22 Sep 2000 14:36:24 +0000 (14:36 +0000)
committerWilliam Harold Newman <william.newman@airmail.net>
Fri, 22 Sep 2000 14:36:24 +0000 (14:36 +0000)
fixing BUTLAST (but doing some other stuff too, since achieving the
primary objective involved a lot of inspecting other code):

another revision of MAP stuff, part I:
  * I switched over to code inspired by Colin Walters' O(N) MAP
    code (from the cmucl-imp mailing list 2000 Sep 02) for the
    general non-DEFTRANSFORM case.
  * HIGH-SECURITY-SUPPORT error checking logic goes away, pending
    part II
  * I made some  miscellaneous cleanups of old arity-1 code too.
  * The old MAP-FOR-EFFECT, MAP-TO-LIST, and MAP-TO-SIMPLE macros,
    and the old functions MAP-WITHOUT-ERRORCHECKING, and
    GET-MINIMUM-LENGTH-SEQUENCES go away.
  * The old #+!HIGH-SECURITY length-checking logic goes
    away, to be replaced by stuff in part II.
  * New O(N) functions %MAP-FOR-EFFECT, %MAP-TO-LIST, and
    %MAP-TO-VECTOR are added, and MAP is redefined in terms of them.
  * Add a note pointing out that since MAP-INTO has not been
    rewritten to take advantage of all the new mapping technology,
    it's still slow.
  * Delete no-longer-used ELT-SLICE macro.

another revision of MAP stuff, part II: Peter Van Eynde might go into
a killing frenzy, or at least his ansi-test suite will gnaw SBCL to
death, unless we raise type errors on length mismatches like
  (MAP '(SIMPLE-VECTOR 128) #'+ #(1 2) #(1 1)).
How to do this without clobbering efficiency? More DEFTRANSFORMs, I
think..
  * MAP becomes a wrapper around %MAP. %MAP doesn't do this
    kind of length checking, MAP does. The old DEFUN MAP,
    DEFKNOWN MAP, and DEFTRANSFORM MAP stuff all turns into
    corresponding definitions for %MAP. The wrapper is
    implemented both as a DEFUN MAP and a DEFTRANSFORM MAP.
  * Now make DEFTRANSFORM MAP smarter:
    ** If necessary, check at runtime that ARRAY-DIMENSION
       matches what we pull out of SPECIFIER-TYPE.
    ** No test is done when SPEED > SAFETY.
    ** No test is needed when we can tell at compile time that
       the result type doesn't specify the length of the result.
  * Also add the same kind of ARRAY-DIMENSION/SPECIFIER-TYPE runtime
    check to DEFUN MAP.
  * While I'm at it, since DEFTRANSFORM MAP needs to think hard about
    the type of the result anyway, it might as well declare what
    it's figured out (TRULY-THE) to benefit any code downstream.

Start playing with MAP regression tests. Add tests/assertoid.lisp to
support future regression tests.

Once I started using the QUIT :UNIX-CODE keyword argument in my test
cases, I could see that it isn't very mnemonic. So I changed it to the
more-descriptive name :UNIX-STATUS, leaving the old name supported but
deprecated.

Oops! The old DEFTRANSFORM MAP (now DEFTRANSFORM %MAP) should really
only be done when (>= SPEED SPACE), but it wasn't declared that way.

While looking for an example of a DEFTRANSFORM with &REST arguments
to use as a model for the code in the new DEFTRANSFORM from MAP to
%MAP, I noticed that the problem of taking a list of names and
generating a corresponding list of gensyms is solved in many different
places in the code, in several ways. Also, the related problem of just
creating a list of N gensyms is solved in several places in in the
code. This seems unnecessarily error-prone and wasteful, so I went
looking for such cases and turned them into calls to MAKE-GENSYM-LIST.

another revision of MAP stuff, part III:
  * Search for 'map' in the output from clocc ansi-tests/tests.lisp,
    to check that the new MAP code isn't too obviously broken.
  * Add some regression tests in test/map.impure.lisp.

Oops! The various %MAP-..-ARITY-1 helper functions expect a function
argument, but DEFTRANSFORM MAP can call them passing them a function
name instead.
  * Change the helper functions so that they can handle
    function names as arguments.
  * Define %COERCE-CALLABLE-TO-FUNCTION to help with this. Note that
    this seems to be what %COERCE-NAME-TO-FUNCTION meant long ago,
    judging from DEFTRANSFORM %COERCE-NAME-TO-FUNCTION; so
    appropriate that DEFTRANSFORM for %COERCE-CALLABLE-TO-FUNCTION.
  * Use %COERCE-CALLABLE-TO-FUNCTION elsewhere that expressions
    involving %COERCE-NAME-TO-FUNCTION were used previously.

deleted the old commented-out version of DEFMACRO HANDLER-CASE
(since it was marked "Delete this when the system is stable.":-)

deleted the old commented-out version of GEN-FORMAT-DEF-FORM,
since it was supposed to be safe to do so after sbcl-0.6.4

I removed the apology for not using PRINT-OBJECT everywhere in the
printer from the bugs list in the man page, since it seems to be
rather tricky to construct a test case which exposes the system's
non-PRINT-OBJECT-ness without the test case itself violating the ANSI
spec.

I updated, cleaned up, or removed outright some other outdated or
confusing entries in the BUGS file and from the bugs list on the man
page.

Now that BUTLAST no longer blows up on the new problem cases a la
(BUTLAST NIL -1), I wonder whether I could stop it from blowing
up on the old problem cases a la (BUTLAST NIL)? It looks like
a compiler problem, since the interpreted definition of BUTLAST works,
even though the compiled one doesn't. In fact, it's a declaration
problem, since LENGTH is set to -1 when LIST=NIL, but is declared
as an INDEX. (Of course it's likely also a compiler problem, since
the compiler is supposed to signal type errors for this kind of
declaration error.) I fixed the misdeclaration, and noted the
possible compiler bug in BUGS.

After writing the new revised weird type declarations for the
not-necessarily positive LENGTH, and writing explanatory comments,
  ;; (Despite the name, LENGTH can be -1 when when LIST is an ATOM.)
for each of the cut-and-pasted (LET ((LENGTH ..)) ..) forms in BUTLAST
and NBUTLAST, I said "screw it" -- no, that's not it, I quoted Martin
Fowler and Kent Beck: "If you see the same code structure in more than
one place, you can be sure that your program will be better if you
find a way to unify them," and "It's surprising how often you look at
thickly commented code and notice that the comments are there because
the code is bad." So I just rewrote BUTLAST and NBUTLAST. Hopefully
the new versions will be better-behaved than the old ones.

Now that the INDEX type is used in DEFUN MAKE-GENSYM-LIST, which
belongs in early-extensions.lisp, INDEX should be defined before
early-extensions.lisp, i.e. earlier than its current definition in
early-c.lisp. Move it to early-extensions.lisp. Then to make that
work, since DEF!TYPE is used to define INDEX, defbangtype.lisp needs
to precede early-extensions.lisp in stems-and-flags.lisp-expr; so move
it. Also, INDEX is defined in terms of SB!XC:ARRAY-DIMENSION-LIMIT, so
early-array.lisp needs to move before the new location of
defbangtype.lisp. And then early-vm.lisp needs to move before that, so
I might as well move the rest of the early-vm-ish stuff back too. And
then DEFTYPE is used before deftype.lisp, so I need to change DEFMACRO
DEF!TYPE to DEF!MACRO DEF!TYPE, so I need to move defbangmacro.lisp
before deftype.lisp. (This is like a trip down memory lane to the
endless tweaks and recompiles it took me to find and unravel the
twisted order dependencies which make CMU CL unbootstrappable. Ah,
those were the days..:-)

The DEFTYPEs for INDEX and POSN in early-assem.lisp duplicate
the functionality of the SB-KERNEL:INDEX type.
  * Change uses of the SB-ASSEM::POSN type to uses of the INDEX type.
  * Delete the SB-ASSEM::POSN type and the SB-ASSEM::MAX-POSN constant.
  * Move SB-KERNEL:INDEX into SB-INT, since it's not really
    just a kernel-level thing, but makes sense for implementing
    user-level stuff in SB-INT and SB-EXT and SB-C (and SB-ASSEM).
  * Grep for all '[a-z]:+index[^-a-z]' and rename them (or just
    remove prefixes) to match new SB-INT-ness of INDEX.
  * Make the SB-ASSEM package use the SB-INT package; delete
    the SB-ASSEM::INDEX type and SB-ASSEM::MAX-INDEX constant.
    And since as a rule anything which can see SB-INT deserves
    to see SB-EXT too, make SB-ASSEM use SB-EXT as well.

BUGS
CREDITS
NEWS
base-target-features.lisp-expr
package-data-list.lisp-expr
stems-and-flags.lisp-expr
version.lisp-expr

diff --git a/BUGS b/BUGS
index 720e5f6..1940489 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -11,7 +11,8 @@ that someone reading it can reproduce the problem, i.e. don't write
      PRINT-OBJECT doesn't seem to work with *PRINT-LENGTH*. Is this a bug?
 but instead
      Subject: apparent bug in PRINT-OBJECT (or *PRINT-LENGTH*?)
-     Under sbcl-1.2.3, when I compile and load the file
+     In sbcl-1.2.3 running under OpenBSD 4.5 on my Alpha box, when
+     I compile and load the file
        (DEFSTRUCT (FOO (:PRINT-OBJECT (LAMBDA (X Y)
                                        (LET ((*PRINT-LENGTH* 4))
                                          (PRINT X Y)))))
@@ -31,14 +32,10 @@ KNOWN BUGS
 (There is also some information on bugs in the manual page and in the
 TODO file. Eventually more such information may move here.)
 
-* (DESCRIBE NIL) causes an endless loop.
-
 * The FUNCTION special operator doesn't check properly whether its
   argument is a function name. E.g. (FUNCTION (X Y)) returns a value
-  instead of failing with an error.
-
-* (DESCRIBE 'GF) fails where GF is the name of a generic function:
-  The function SB-IMPL::DESCRIBE-INSTANCE is undefined.
+  instead of failing with an error. (Later attempting to funcall the
+  value does cause an error.)
 
 * Failure in initialization files is not handled gracefully -- it's 
   a throw to TOP-LEVEL-CATCHER, which is not caught until we enter
@@ -53,8 +50,6 @@ TODO file. Eventually more such information may move here.)
        * (COMPILED-FUNCTION-P #'FOO)
        T
 
-* The CL:STEP macro is undefined.
-
 * DEFSTRUCT should almost certainly overwrite the old LAYOUT information
   instead of just punting when a contradictory structure definition
   is loaded.
@@ -777,3 +772,33 @@ SBCL: (("blah") ("blah2"))
        :LET fell through ECASE expression.
   Very likely the patch discussed there is appropriate for SBCL
   as well, but I don't understand it, so I didn't apply it.
+
+* The implementation of #'+ returns its single argument without
+  type checking, e.g. (+ "illegal") => "illegal".
+
+* In sbcl-0.6.7, there is no doc string for CL:PUSH, probably 
+  because it's defined with the DEFMACRO-MUNDANELY macro and something
+  is wrong with doc string setting in that macro.
+
+* Attempting to use COMPILE on something defined by DEFMACRO fails:
+       (DEFMACRO FOO (X) (CONS X X))
+       (COMPILE 'FOO)
+Error in function C::GET-LAMBDA-TO-COMPILE:
+   #<Closure Over Function "DEFUN (SETF MACRO-FUNCTION)" {480E21B1}> was defined in a non-null environment.
+
+* In sbcl-0.6.7, the compiler accepted a bogus declaration
+  (TYPE INDEX LENGTH) in the definition of BUTLAST, and then died
+  with infinite regress of errors when the BUTLAST function was
+  executed with a LIST=NIL which would cause LENGTH to be -1.
+  I fixed the bogus declaration, but I should come back and see
+  whether the system's inability to recover from the bogus declaration
+  (by signalling a TYPE-ERROR and dropping into the debugger) was 
+  a compiler problem which remains to be fixed, or one of the 
+  unrelated infinite-regress-errors problems, many related to 
+  revised signal handling, which were fixed around the same time.
+
+* Even when FINISH-OUTPUT is called, the system doesn't in general
+  flush the last line of output unless it's terminated by a newline.
+  (This is particularly annoying because several Lisp functions like
+  PRINT *precede* their output with a newline, instead of following
+  it with a newline.)
diff --git a/CREDITS b/CREDITS
index ecb7143..ecb2ffd 100644 (file)
--- a/CREDITS
+++ b/CREDITS
@@ -491,3 +491,6 @@ Raymond Wiker ported sbcl-0.6.3 back to FreeBSD, restoring the
 ancestral CMU CL support for FreeBSD and updating it for the changes
 made from FreeBSD version 3 to FreeBSD version 4.
 
+Colin Walters' O(N) implementation of the general case of MAP on the
+cmucl-imp@cons.org mailing list was the inspiration for similar MAP
+code in sbcl-0.6.8.
diff --git a/NEWS b/NEWS
index ef34065..f504316 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -476,7 +476,9 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
   and that caused the system to bomb out with infinite regress
   when trying to recover from type errors involving signed values,
   e.g. (BUTLAST '(1 2 3) -1).)
-?? The system now uses code based on Colin Walters' O(N)
+* (BUTLAST NIL) and (NBUTLAST NIL) now return NIL as they should.
+  (This was one of the bugs Peter Van Eynde reported back in July.)
+* The system now uses code inspired by Colin Walters' O(N)
   implementation of MAP (from the cmucl-imp@cons.org mailing
   list, 2 September 2000) when it can't use a DEFTRANSFORM to
   inline the MAP operation, and there is more than one
@@ -486,8 +488,7 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
   of the general M-argument sequence-of-length-N case required
   O(M*N*N) time when any of the sequence arguments were LISTs.)
 ?? Raymond Wiker's port of CMU CL's RUN-PROGRAM has been added.
-(?? Don't forget to mention Colin Walters and Raymond Wiker in the
-  CREDITS file.)
+(?? Don't forget to mention Raymond Wiker in the CREDITS file.)
 ?? The debugger now flushes standard output streams before it begins
   its output ("debugger invoked" and so forth).
 ?? The patch for the SUBSEQ bug reported on the cmucl-imp mailing
@@ -497,6 +498,10 @@ changes in sbcl-0.6.8 relative to sbcl-0.6.7:
   a bug in SUBSEQ and <a bug in ??>.)
 ?? A bug in signal handling which kept TRACE from working on OpenBSD
   has been fixed.
+  ?? Remember to remove this from the port-specific section of BUGS.
 ?? The signal handling bug reported by Martin Atzmueller on 
   sbcl-devel 13 September 2000, which caused the debugger to 
   get confused after a Ctrl-C interrupt under ILISP, has been fixed.
+?? The QUIT :UNIX-CODE keyword argument has been renamed to 
+  QUIT :UNIX-STATUS. (The old name is still supported, but 
+  deprecated.)
index 43e1009..5a15461 100644 (file)
@@ -97,7 +97,7 @@
  ;; If you want to be able to use the extra debugging information,
  ;; therefore, be sure to keep the sources around, and run with the
  ;; readtable configured so that the system sources can be read.
- ;:sb-show
+ ; :sb-show
 
  ;; Enable extra debugging output in the assem.lisp assembler/scheduler
  ;; code. (This is the feature which was called :DEBUG in the
index b148a64..2b16cf6 100644 (file)
@@ -77,7 +77,7 @@
  #s(sb-cold:package-data
     :name "SB!ASSEM"
     :doc "private: the assembler, used by the compiler"
-    :use ("CL")
+    :use ("CL" "SB!INT" "SB!EXT")
     :export ("ASSEMBLY-UNIT"
 
              "*ASSEM-SCHEDULER-P*"
              "VARIABLE-LENGTH"
              "SEGMENT-COLLECT-DYNAMIC-STATISTICS"
 
-             ;; In classic CMU CL, these symbols were explicitly imported by
-             ;; package C. Since package C uses package ASSEM (and no
-             ;; other package does) it seems cleaner to export these symbols
-             ;; from package ASSEM instead. I hope nothing breaks..
-             ;;   -- WHN 19990220
+            ;; FIXME: These are in the SB-ASSEM package now, but
+             ;; (left over from CMU CL) are defined in files which
+             ;; are IN-PACKAGE SB-C. It would probably be cleaner
+             ;; to move at least most of them to files which are
+             ;; IN-PACKAGE SB-ASSEM.
              "BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
              "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))
 
@@ -685,6 +685,9 @@ retained, possibly temporariliy, because it might be used internally."
              "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE" "FORM-FEED-CHAR-CODE"
              "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
 
+             ;; handy user-level/basically-portable DEFTYPEs
+             "INDEX" 
+
              ;; nonstandard type predicates
              "INSTANCEP"
              "DOUBLE-FLOATP"
@@ -706,8 +709,9 @@ retained, possibly temporariliy, because it might be used internally."
              ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
              "CONSTANT-ARGUMENT"
 
-             ;; not used any more? (and not appropriate in SB!EXT, since
-             ;; SPECIAL things are so obnoxious in Common Lisp)
+             ;; FIXME: Maybe this isn't used any more? And if it is,
+             ;; it probably needs a better name, since SPECIAL things
+             ;; are so obnoxious in Common Lisp.
              "E"
 
              ;; various internal defaults
@@ -720,7 +724,9 @@ retained, possibly temporariliy, because it might be used internally."
              "DEFUN-CACHED"
 
              ;; time
-             "FORMAT-DECODED-TIME" "FORMAT-UNIVERSAL-TIME" "PARSE-TIME"
+             "FORMAT-DECODED-TIME"
+             "FORMAT-UNIVERSAL-TIME"
+             "PARSE-TIME"
 
              ;; indenting
              "MAKE-INDENTING-STREAM"
@@ -764,12 +770,13 @@ retained, possibly temporariliy, because it might be used internally."
              "REQUIRED-ARGUMENT"
              "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package %UNIX
              "FEATUREP"
-             "FLUSH-STANDARD-OUTPUT"
+             "FLUSH-STANDARD-OUTPUT-STREAMS"
+             "MAKE-GENSYM-LIST"
 
-             ;; These could be moved back into SB!EXT if someone has compelling
-             ;; reasons, but hopefully we can get by without supporting them,
-             ;; at least not as publicly accessible things with fixed
-             ;; interfaces.
+             ;; These could be moved back into SB!EXT if someone has
+             ;; compelling reasons, but hopefully we can get by
+             ;; without supporting them, at least not as publicly
+             ;; accessible things with fixed interfaces.
              "DEFAULT-DIRECTORY"
              "FILE-COMMENT"
              "GET-FLOATING-POINT-MODES" "SET-FLOATING-POINT-MODES"
@@ -830,7 +837,7 @@ is a good idea, but see SB-SYS for blurring of boundaries."
              "%HYPOT" "%INSTANCE-SET-CONDITIONAL" "%LDB"
              "%LOG" "%LOGB" "%LOG10" "%LOG1P" "%LONG-FLOAT"
              "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE" "%MAKE-RATIO"
-            "%MAP-TO-SIMPLE-VECTOR-ARITY-1" "%MAP-TO-LIST-ARITY-1"
+             "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1" "%MAP-TO-LIST-ARITY-1"
             "%MAP-TO-NIL-ON-SEQUENCE" "%MAP-TO-NIL-ON-SIMPLE-VECTOR"
              "%MAP-TO-NIL-ON-VECTOR" "%MASK-FIELD" "%NEGATE" "%POW"
              "%RAW-BITS" "%RAW-REF-COMPLEX-DOUBLE"
@@ -937,7 +944,7 @@ is a good idea, but see SB-SYS for blurring of boundaries."
              "HAIRY-DATA-VECTOR-REF" "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE"
              "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
              "HANDLE-CIRCULARITY" "IGNORE-IT"
-             "INDEX" "INDEX-TOO-LARGE-ERROR" "INTEGER-DECODE-DOUBLE-FLOAT"
+             "INDEX-TOO-LARGE-ERROR" "INTEGER-DECODE-DOUBLE-FLOAT"
              "INTEGER-DECODE-LONG-FLOAT" "INTEGER-DECODE-SINGLE-FLOAT"
              "INTERNAL-ERROR" "INTERNAL-TIME"
              "INVALID-ARGUMENT-COUNT-ERROR" "INVALID-ARRAY-INDEX-ERROR"
@@ -1026,7 +1033,8 @@ is a good idea, but see SB-SYS for blurring of boundaries."
              #!+gengc "*SAVED-STATE-CHAIN*"
              "SCALE-DOUBLE-FLOAT" "SCALE-LONG-FLOAT"
              "SCALE-SINGLE-FLOAT"
-             "SEQUENCE-END" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
+             "SEQUENCE-END" "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
+             "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
              "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "SIGNED-BYTE-32-P"
              "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
              "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
@@ -1084,12 +1092,14 @@ is a good idea, but see SB-SYS for blurring of boundaries."
              "VALUES-TYPES" "VALUES-TYPES-INTERSECT" "VECTOR-T-P"
              "VECTOR-TO-VECTOR*" "VECTOR-TO-SIMPLE-STRING*"
              "VECTOR-TO-BIT-VECTOR*" "VECTOR-TO-SIMPLE-BIT-VECTOR*"
+             "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH"
              "WITH-CIRCULARITY-DETECTION" "WITH-TYPE-CACHES"
              "WRONG-NUMBER-OF-INDICES-ERROR"
 
              "FDEFN" "MAKE-FDEFN" "FDEFN-P"
              "FDEFN-NAME" "FDEFN-FUNCTION"
              "FDEFN-MAKUNBOUND" "%COERCE-NAME-TO-FUNCTION"
+             "%COERCE-CALLABLE-TO-FUNCTION"
              "FUNCTION-SUBTYPE" "*MAXIMUM-ERROR-DEPTH*"
              "%SET-SYMBOL-PLIST" "INFINITE-ERROR-PROTECT"
              "FIND-CALLER-NAME"
index 68f37d9..775ef25 100644 (file)
  ("code/uncross")
  ("code/early-defbangmethod")
 
+ ("code/defbangtype")
+ ("code/defbangmacro")
+
+ ;; for various constants e.g. SB!VM:*TARGET-MOST-POSITIVE-FIXNUM* and
+ ;; SB!VM:LOWTAG-BITS, needed by "early-objdef" and others
+ ("compiler/generic/early-vm")
+ ("compiler/generic/early-vm-macs")
+ ("compiler/generic/early-objdef")
+ ("compiler/target/parms")
+ ("code/early-array") ; needs "early-vm" numbers
+
  ("code/parse-body")       ; on host for PARSE-BODY
  ("code/parse-defmacro")   ; on host for PARSE-DEFMACRO
  ("code/early-defboot")    ; on host for FILE-COMMENT, DO-ANONYMOUS, etc.
 
  ("code/specializable-array")
 
- ;; for various constants e.g. SB!VM:*TARGET-MOST-POSITIVE-FIXNUM* and
- ;; SB!VM:LOWTAG-BITS, needed by "early-objdef" and others
- ("compiler/generic/early-vm")
- ("compiler/generic/early-vm-macs")
- ("compiler/generic/early-objdef")
- ("compiler/target/parms")
- ("code/early-array") ; needs "early-vm" numbers
  ("code/early-cl")
  ("code/early-load")
 
  ;;; compiler (and a few miscellaneous :NOT-HOST files whose
  ;;; dependencies make it convenient to stick them here)
 
-; replaced with defbangtype.lisp in sbcl-0.6.2
-; ;; There are some things (e.g. the type SB!KERNEL:INDEX) which are
-; ;; used early in the compiler in both host and target forms (i.e.
-; ;; SB!KERNEL:INDEX defined to cross-compilation host and
-; ;; SB!KERNEL:INDEX defined to cross-compiler itself).
-; ("code/early-ugly-duplicates")
-
- ("code/defbangtype")
-
  ("compiler/early-c")
  ("code/numbers")
 
  ("code/typedefs")
 
- ("code/defbangmacro")
+ ;; ("code/defbangmacro" was here until sbcl-0.6.7.3.)
 
  ("compiler/macros")
  ("compiler/generic/vm-macs")
   ;; compilation, for now we blithely ignore them and press on to more
   ;; pressing problems. Someday, though, it would be nice to figure out
   ;; what the problem is and fix it.. -- WHN 19990323
-  ;; FIXME: This problem doesn't seem to occur in the cross-compiler. 
-  ;; Check whether it occurs when compiling with the final target SBCL.
-  ;; If it doesn't, we can punt the KLUDGE message.
   :ignore-failure-p)
  ("compiler/target/pred")
  ("compiler/target/type-vops")
  #!+sb-interpreter ("compiler/eval"      :not-host)
 
  ("code/debug" :not-host) ; maybe should be :BYTE-COMPILE T
- ;; FIXME: This has been moved to warm init, and should be deleted here.
- #+nil ("code/ntrace" :not-host) ; maybe should be :BYTE-COMPILE T
 
  ;; These can't be compiled until CONDITION and DEFINE-CONDITION
  ;; are defined, and they also use SB-DEBUG:*STACK-TOP-HINT*.
index ec6008f..90f18f6 100644 (file)
@@ -15,4 +15,4 @@
 ;;; versions, and a string a la "0.6.5.12" is used for versions which
 ;;; aren't released but correspond only to CVS tags or snapshots.
 
-"0.6.7.2"
+"0.6.7.3"