0.7.0.6:
[sbcl.git] / TODO
diff --git a/TODO b/TODO
index 0c479a1..4ca9685 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,32 +1,17 @@
-for 0.7.0:
-
-* filed off the roughest edges (or, perhaps, at least hammered down the
-       protruding rusty nails and snipped off the trailing razor wire,
-       leaving some filing for later:-) from the monster
-       EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
-       ** made inlining DEFUN inside MACROLET work again
-       ** whatever bug it is that causes s/#'(lambda/(lambda/ to 
-               cause compilation failure in condition.lisp
-       ** perhaps function debug name quick fix, if there's an easy way
-* more renaming in global external names:
-       ** reserved DO-FOO-style names for iteration macros
-       ** finished s/FUNCTION/FUN/
-       ** s/VARIABLE/VAR/
-       ** s/TOP-LEVEL/TOPLEVEL/
-       ** perhaps s/DEF-FROB/DEF/ or s/DEF-FROB/DEFINE/
-* global style systematization:
-       ** s/#'(lambda/(lambda/
-* pending patches and bug reports that go in (or else get handled
-       somehow, rejected/logged/whatever) before 0.7.0:
-=======================================================================
 for early 0.7.x:
 
-* patches postponed until after 0.7.0:
-       ** Christophe Rhodes "rough patch to fix bug 106" 2001-10-28
-       ** Alexey Dejneka "bug 111" 2001-12-30
-* building with CLISP (or explaining why not)
+* building with CLISP (or explaining why not). This will likely involve
+       a rearrangement of the build system so that it never renames
+       the output from COMPILE-FILE, because CLISP's COMPILE-FILE
+       outputs two (!) files and as far as I can tell LOAD uses both
+       of them. Since I have other motivations for this rearrangement
+       besides CLISPiosyncrasies, I'm reasonably motivated to do it.
 * urgent EVAL/EVAL-WHEN/%COMPILE/DEFUN/DEFSTRUCT cleanup:
-       ** fixed bug 137
+       ** made inlining DEFUN inside MACROLET work again
+       ** (also, while working on INLINE anyway, it might be easy
+               to flush the old MAYBE-INLINE cruft entirely, 
+               including e.g. on the man page)
+       ** fixed bug 137 (more)
 * faster bootstrapping (both make.sh and slam.sh)
        ** added mechanisms for automatically finding dead code, and
                used them to remove dead code
@@ -40,7 +25,9 @@ for early 0.7.x:
        ** used %COMPILE where COMPILE-TOP-LEVEL used to be used
        ** removed now-redundant COMPILE-TOP-LEVEL and 
                FUNCTIONAL-KIND=:TOP-LEVEL stuff from the compiler
-       ** made FUNCTION-NAME logic work on closures, so that
+       ** (ideally, but perhaps too hard, given what I've discovered
+               about the godawful internals of function debug names):
+               made FUNCTION-NAME logic work on closures, so that
                various public functions like CL:PACKAGEP which
                are now implemented as closures (because
                they're structure slot accessors) won't be so
@@ -55,7 +42,12 @@ for early 0.7.x:
        ** cut-and-pasted DEF-BOOLEAN-ATTRIBUTE (maybe easier to fix
                now that EVAL-WHEN does what it should..)
        ** incomplete manual
-       ** :IGNORE-ERRORS-P cruft in stems-and-flags.lisp-expr
+       ** :IGNORE-ERRORS-P cruft in stems-and-flags.lisp-expr. (It's
+               reasonable to support this as a crutch when initially
+               bootstrapping from balky xc hosts with their own
+               idiosyncratic ideas of what merits FAILURE-P, but it's
+               embarrassing to have to use it when bootstrapping 
+               under SBCL!),
        ** weird double-loading (first in GENESIS, then in warm init)
                of src/assembly/target/*.lisp stuff, and the associated
                weirdness of the half-baked state (compiler almost but
@@ -80,8 +72,9 @@ for early 0.7.x:
        to remove dead symbols
 * made system handle stack overflow safely unless SAFETY is dominated
        by SPEED or SPACE
-* Probably get rid of or at least rework the fdefinition/encapsulation
-       system so that (SYMBOL-FUNCTION 'FOO) = (FDEFINITION 'FOO).
+* Either get rid of or at least rework the fdefinition/encapsulation
+       system so that (SYMBOL-FUNCTION 'FOO) is identically equal to
+       (FDEFINITION 'FOO).
 =======================================================================
 for 0.9: