0.6.13:
[sbcl.git] / TODO
diff --git a/TODO b/TODO
index f0e4e39..552076d 100644 (file)
--- a/TODO
+++ b/TODO
 some things that I'd like to do in 0.6.x, in no particular order:
 -------------------------------------------------------------------------------
 PROBLEM:
-           The batch-related command line options for SBCL don't work
-       properly.
-           A small part of making them work properly is making sure that
-       verbose GC messages end up piped to error output.
-           Make sure that when the system dies due to an unhandled error
-       in batch mode, the error is printed successfully, whether
-       FINISH-OUTPUT or an extra newline or whatever is required.
-           Make sure that make.sh dies gracefully when one of the SBCLs
-       it's running dies with an error.
-MUSING:
-           Actually, the ANSI *DEBUGGER-HOOK* variable might be a better
-       place to put the die-on-unhandled-error functionality.
-FIX:
-       ??
--------------------------------------------------------------------------------
-PROBLEM:
            As long as I'm working on the batch-related command-line options,
        it would be reasonable to add one more option to "do what I'd want",
        testing standard input for non-TTY-ness and running in no-programmer
@@ -36,13 +20,6 @@ FIX:
        ?? Do it.
 -------------------------------------------------------------------------------
 PROBLEM:
-           In order to make a well-behaved backtrace when a batch program
-       terminates abnormally, it should be limited in length.
-FIX:
-       ?? Add a *DEBUG-BACKTRACE-COUNT* variable, initially set to 64,
-         to provide a default for the COUNT argument to BACKTRACE.
--------------------------------------------------------------------------------
-PROBLEM:
            I used CMU CL for years, and dozens of times I cursed the
        inadequate breakpoint-based TRACE facility which doesn't work on
        some functions, and I never realized that there's a wrapper-based
@@ -70,6 +47,9 @@ FIX:
        ?? Replace it with a system where fasl output files live in the 
          same directories as the sources and have names a la
          "foo.fasl-from-host and "foo.fasl-from-xc".
+       ?? (Perhaps something else will be required in order to port
+       to Microsoft Windows, since its filesystem doesn't have
+       symbolic links.)
 -------------------------------------------------------------------------------
 PROBLEM:
            It might be good to use the syntax (DEBUGGER-SPECIAL *PRINT-LEVEL*)
@@ -85,11 +65,6 @@ FIX:
        ??
 -------------------------------------------------------------------------------
 PROBLEM:
-           The :SB-TEST target feature should do something.
-FIX:
-       ??
--------------------------------------------------------------------------------
-PROBLEM:
            I still haven't cleaned up the cut-and-paste programming in 
                * DEF-BOOLEAN-ATTRIBUTE, DELETEF-IN, and PUSH-IN
                * SB!SYS:DEF!MACRO ASSEMBLE and SB!XC:DEFMACRO ASSEMBLE
@@ -121,21 +96,6 @@ types, or whatever, and also have no other uses as e.g. flags) and
 delete them. This should make the system core a little smaller, but
 is mostly useful just to make the source code smaller and simpler.
 
-The eventual plan is for SBCL to bootstrap itself in two phases. In
-the first phase, the cross-compilation host is any old ANSI Common
-Lisp (not necessarily SBCL) and the cross-compiler won't handle some
-optimizations because the code it uses to implement them is not
-portable. In the second phase, the cross-compilation host will be
-required to be a compatible version of SBCL, and the cross-compiler
-will take advantage of that to implement all optimizations. The
-current version of SBCL only knows how to do the first of those two
-phases, with a fully-portable cross-compiler, so some optimizations
-are not done. Probably the most important consequence of this is that
-because the fully-portable cross-compiler isn't very smart about
-dealing with immediate values which are of specialized array type
-(e.g. (SIMPLE-ARRAY (UNSIGNED-BYTE 4) 1)) the system sometimes has to
-use unnecessarily-general array types internally.
-
 adding new FOPs to provide something like CMU CL's FOP-SYMBOL-SAVE and
 FOP-SMALL-SYMBOL-SAVE functionality, so that fasl files will be more
 compact. (FOP-SYMBOL-SAVE used *PACKAGE*, which was concise but allowed