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 %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.
-* 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)
+* more renaming (esp. for global as opposed to lexical names):
** reserved DO-FOO-style names for iteration macros
- ** finished s/FUNCTION/FUN/
- ** s/VARIABLE/VAR/
- ** s/TOPLEVEL/TOP-LEVEL/
-* global style systematization:
- ** s/#'(lambda/(lambda/
- ** four-space indentation in C
+ ** s/ARGUMENT/ARG/
+ ** perhaps s/DEF-FROB/DEF/ or s/DEF-FROB/DEFINE/
+ ** merged SB-C-CALL into SB-ALIEN
+* Perhaps rename "cold" stuff (e.g. SB-COLD and src/cold/) to "boot".
+* fixed CREDITS, since it's gone pretty stale
+* reviewed NEWS
+* 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:
-* building with CLISP (or explaining why not)
+* patches postponed until after 0.7.0:
+ ** CSR "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:
+ ** made inlining DEFUN inside MACROLET work again
+ ** (also, while working on INLINE anyway, it should 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
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
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.)
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: