0.pre7.111:
[sbcl.git] / TODO
diff --git a/TODO b/TODO
index 3c6e526..6c8c147 100644 (file)
--- a/TODO
+++ b/TODO
@@ -4,40 +4,33 @@ for 0.7.0:
        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:
        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:
-       ** substantially rewrote DEFSTRUCT implementation to work
-               cleanly with EVAL-WHEN, not sleazily use DEFUN for 
-               structure functions, implement out-of-line structure
-               accessors as closures, reduce or eliminate non-ANSI
-               magicality of structure functions
-               *** made structure type tests work again
-               *** got rid of bogus warnings about "redefinition" of
-                       structure accessors
        ** made inlining DEFUN inside MACROLET work again
        ** made inlining DEFUN inside MACROLET work again
-       ** made %COMPILE set up debugging data more like the way the
-               debugger expects (and maybe even completely
-               correctly:-)
-* incompatible changes listed in NEWS:
-       ** changed debugger prompt to "5]", "5[2]", "5[3]", etc.
-       ** changed default output representation of *PRINT-ESCAPE*-ed
-               unprintable ASCII characters to #\Nul, #\Soh, etc.
-* some easy FIXMEs with high disruptive potential:
-       ** Search lists go away.
-       ** Grep for ~D and and change most of them to ~S.
+       ** bug 138 
 * more renaming in global external names:
 * more renaming in global external names:
-       ** used DEFINE-THE-FOO-THING and DEFFOO style consistently (and 
-               deprecated supported extensions named in the DEF-FOO
-               style, e.g. SB-ALIEN:DEF-ALIEN-ROUTINE)
        ** reserved DO-FOO-style names for iteration macros
        ** finished s/FUNCTION/FUN/
        ** s/VARIABLE/VAR/
        ** reserved DO-FOO-style names for iteration macros
        ** finished s/FUNCTION/FUN/
        ** s/VARIABLE/VAR/
-       ** s/TOPLEVEL/TOP-LEVEL/
+       ** perhaps s/DEF-FROB/DEF/ or s/DEF-FROB/DEFINE/
+* Perhaps rename "cold" stuff (e.g. SB-COLD and src/cold/) to "boot".
 * global style systematization:
        ** s/#'(lambda/(lambda/
 * global style systematization:
        ** s/#'(lambda/(lambda/
-       ** four-space indentation in C
+* pending patches and bug reports that go in (or else get handled
+       somehow, rejected/logged/whatever) before 0.7.0:
+       ** DIRECTORY problems (bug 139, CR patch sbcl-devel 2001-12-31)
 =======================================================================
 for early 0.7.x:
 
 =======================================================================
 for early 0.7.x:
 
-* building with CLISP (or explaining why not)
+* 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). 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
 * faster bootstrapping (both make.sh and slam.sh)
        ** added mechanisms for automatically finding dead code, and
                used them to remove dead code
 * faster bootstrapping (both make.sh and slam.sh)
        ** added mechanisms for automatically finding dead code, and
                used them to remove dead code
@@ -56,6 +49,10 @@ for early 0.7.x:
                are now implemented as closures (because
                they're structure slot accessors) won't be so
                nasty in the debugger
                are now implemented as closures (because
                they're structure slot accessors) won't be so
                nasty in the debugger
+       ** %SLOT-ACCESSOR/%SLOT-ACCESSOR stuff can probably go away,
+               since we inline expand all slot accessors into 
+               %INSTANCE-REF and the optimizer knows all it needs
+               to know about that.
 * rewrote long-standing confusing error restarts for redefining
        DEFSTRUCTs
 * outstanding embarrassments
 * rewrote long-standing confusing error restarts for redefining
        DEFSTRUCTs
 * outstanding embarrassments
@@ -87,8 +84,10 @@ for early 0.7.x:
        to remove dead symbols
 * made system handle stack overflow safely unless SAFETY is dominated
        by SPEED or SPACE
        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).
 =======================================================================
 =======================================================================
-for 1.0:
+for 0.9:
 
 * refactored in preparation for moving CLOS into cold init and merging
        SB-PCL:FOO with CL:FOO (for FOO=CLASS, FOO=CLASS-OF, etc.)
 
 * refactored in preparation for moving CLOS into cold init and merging
        SB-PCL:FOO with CL:FOO (for FOO=CLASS, FOO=CLASS-OF, etc.)
@@ -133,6 +132,10 @@ for 1.0:
        between minor maintenance releases on the stable branch (but no
        promises, sorry, since I've never tried to do this before, and 
        have no idea how much of a pain this'll be)
        between minor maintenance releases on the stable branch (but no
        promises, sorry, since I've never tried to do this before, and 
        have no idea how much of a pain this'll be)
+========================================================================
+for 1.0 (fixes of lower priority which I'd nonetheless be embarrassed
+to leave unfixed in 1.0):
+* all too many BUGS entries and FIXMEs
 =======================================================================
 other priorities, no particular time:
 
 =======================================================================
 other priorities, no particular time: