sbcl.git
22 years ago0.pre7.88:
William Harold Newman [Wed, 12 Dec 2001 18:33:40 +0000 (18:33 +0000)]
0.pre7.88:
s/ir2-physenv-environment/ir2-physenv-closure/
changed most ~D in FORMAT strings to ~W
changed debugger prompt to "5]", "5[2]", "5[3]", etc.

22 years ago0.pre7.87:
William Harold Newman [Wed, 12 Dec 2001 04:03:11 +0000 (04:03 +0000)]
0.pre7.87:
merged flaky7_branch back into main branch

22 years ago0.pre7.86.flaky7.27:
William Harold Newman [Wed, 12 Dec 2001 03:26:57 +0000 (03:26 +0000)]
0.pre7.86.flaky7.27:
(Now DISASSEMBLE 'PRINT produces reasonable-looking output.
In fact, AFAIK it's not flaky any more, so it should
(finally!) be mergeable back into the main branch.)
made GET-FUNCTION-SEGMENTS return a list (as its comments
claim it does, and as its callers expect) even in the
(NULL SEGMENTS) case
renamed DEFUN REQUIRED-ARG to be consistent with all the
previously-renamed MISSING-ARG calls

22 years ago0.pre7.86.flaky7.26:
William Harold Newman [Sat, 8 Dec 2001 22:24:15 +0000 (22:24 +0000)]
0.pre7.86.flaky7.26:
Duh. WITH-SIMPLE-RESTART doesn't restart its operation. So it's
not a compiler bug, just the lack of an outer LOOP
wrapper in TOPLEVEL-REPL, which has been blowing the
system up. Gads.

22 years ago0.pre7.86.flaky7.25:
William Harold Newman [Sat, 8 Dec 2001 15:44:23 +0000 (15:44 +0000)]
0.pre7.86.flaky7.25:
(This passes regression tests, and seems to be a good thing in
principle, but alas the generalization to include
ENTRYs still doesn't fix the debugger restart problem.)
generalized LAMBDA-CALLS-OR-CLOSES to include ENTRYs

22 years ago0.pre7.86.flaky7.24:
William Harold Newman [Thu, 6 Dec 2001 17:15:02 +0000 (17:15 +0000)]
0.pre7.86.flaky7.24:
I've come to suspect that the debugger/restart/QUIT problem
has to do with the same closure/component bug I
fixed above, except for closures over NLXs instead
of over LAMBDA-VARs. So I'd like to generalize the
LAMBDA-REFERS-TO-VARS fix to deal with NLXs as well.
In preparation for that...
...merged LAMBDA-REFERS-TO-VARS and LAMBDA-CALLS into
LAMBDA-CALLS-OR-CLOSES

22 years ago0.pre7.86.flaky7.23:
William Harold Newman [Thu, 6 Dec 2001 03:33:02 +0000 (03:33 +0000)]
0.pre7.86.flaky7.23:
about that debugger/restart/QUIT problem...
...added various new /SHOW-ish cruft
...rewrote HANDLER-BIND to be more nearly clearly compatible
with ANSI HANDLER-BIND clause syntax
The RESTART-NAME slot is constant and holds a symbol.

22 years ago0.pre7.86.flaky7.22:
William Harold Newman [Wed, 5 Dec 2001 18:12:06 +0000 (18:12 +0000)]
0.pre7.86.flaky7.22:
removed various /SHOW-ish cruft
about that debugger/restart/QUIT problem...
...revived SB-DI:FRAME-CATCHES enough that (BREAK), F 4,
(SB-DI::FRAME-CATCHES SB-DEBUG::*CURRENT-FRAME*)
shows %END-OF-THE-WORLD
...exported SB-VM:*CURRENT-CATCH-BLOCK* to support this

22 years ago0.pre7.86.flaky7.21:
William Harold Newman [Tue, 4 Dec 2001 22:33:31 +0000 (22:33 +0000)]
0.pre7.86.flaky7.21:
removed REMOVEME stuff

22 years ago0.pre7.86.flaky7.20:
William Harold Newman [Tue, 4 Dec 2001 21:51:42 +0000 (21:51 +0000)]
0.pre7.86.flaky7.20:
(This version bootstrapped successfully from 0.6.13, passed
regression tests, served as its own bootstrap host,
and passed regression tests again. But it still has
debugger/signal/whatever problems, so that A doesn't
work from the debugger prompt, and after it fails,
(SB-EXT:QUIT) doesn't work either.)
The failure in clocc-ansi-test was in the find-the-home-lambda
part of the new code which updates LAMBDA-REFERS-TO-VAR
in IR1 translation of SETQ. We try to find the home
lambda by looking backwards through continuations,
but in the (SETQ X 3) form in
      (SETQ X 2)
      (RETURN-FROM STOP)
      (SETQ X 3))
it doesn't work to look backwards. (To make a point
which eluded me for a while, this isn't a bug in the
way that continuations are set up, it's because the
(SETQ X 3) form is orphaned by the way that control
always jumps out through RETURN-FROM, so that the
(SETQ X 3) form effectively has no home lambda.) So...
...redid CONTINUATION-HOME-LAMBDA in terms of
CONTINUATION-HOME-LAMBDA-OR-NULL, and BLOCK-HOME-LAMBDA
in terms of BLOCK-HOME-LAMBDA-OR-NULL
...made the update-LAMBDA-REFERS-TO-VAR code accept a NIL
answer from CONTINUATION-HOME-LAMBDA-OR-NULL

22 years ago0.pre7.86.flaky7.19:
William Harold Newman [Tue, 4 Dec 2001 17:50:00 +0000 (17:50 +0000)]
0.pre7.86.flaky7.19:
(bootstraps itself and gets through many regression tests,
but dies in clocc-ansi-test :SECTION5-LEGACY-699)
The obvious version of scavenging closure-over relationships
still wanders into deleted lambdas, and when I stop
it from wandering into deleted lambdas, the compiler
fails in UNCONVERT-TAIL-CALLS when cross-compiling
pprint.lisp. The problem is that a CONTINUATION-DEST
is NIL when UNCONVERT-TAIL-CALLS is expecting it to
be a NODE. So I looked at the description of DEST in
DEFSTRUCT CONTINUATION, and looking at the way that the
CONTINUATION-DEST is used in UNCONVERT-TAIL-CALLS and...
...made UNCONVERT-TAIL-CALLS handle null values of THIS-CALL
(treating them as "can't possibly be one of the
matches that I'm looking for")

22 years ago0.pre7.86.flaky7.18:
William Harold Newman [Tue, 4 Dec 2001 03:52:00 +0000 (03:52 +0000)]
0.pre7.86.flaky7.18:
When I tried to scavenge closure-over relationships in an
earlier failed version (never checked in) I got some
weird failures related to scavenging into deleted
lambdas. In anticipation of reencountering this
problem soon, add some logic to the LAMBDA-CALLS
scavenging to prevent it from happening there, and
an assertion that it never does.

22 years ago0.pre7.86.flaky7.17:
William Harold Newman [Mon, 3 Dec 2001 14:27:58 +0000 (14:27 +0000)]
0.pre7.86.flaky7.17:
(still works as well as before, still fails in
pathnames.impure.lisp the same way as before, since all
the changes are still only preparation for a real fix)
removed various INLINEs in ir1util.lisp, to ease debugging and
because I hope sometime next year to be doing some
profiling on the compiler (so that if they really need
to be inlined, I should soon find out)
making FIND-INITIAL-DFO recognize closure dependencies...
...rearranged DFO-SCAVENGE-DEPENDENCY-GRAPH in preparation for
walking through LAMBDA-REFERS-TO-VARS as well as
LAMBDA-CALLS

22 years ago0.pre7.86.flaky7.16:
William Harold Newman [Sun, 2 Dec 2001 20:06:58 +0000 (20:06 +0000)]
0.pre7.86.flaky7.16:
(still works as well as before, still fails in
pathnames.impure.lisp the same way as before, since all
the changes are still only preparation for a real fix)
making FIND-INITIAL-DFO recognize closure dependencies,
continued...
...In order to make the information conveniently available
for DFO-SCAVENGE-DEPENDENCY-GRAPH, add a new slot
LAMBDA-REFERS-TO-VARS, analogous to LAMBDA-CALLS.
...made IR1-CONVERT-VARIABLE and DEF-IR1-TRANSLATOR SETQ
set LAMBDA-REFERS-TO-VARS as appropriate
...wrote untidy CONTINUATION-HOME-LAMBDA to support this
...tweaked CONTINUATION-STARTS-BLOCK and LINK-BLOCKS so that
when IR1-CONVERT-IF uses them it sets up links early
enough to let CONTINUATION-HOME-LAMBDA work
...made merge-LETs logic merge LAMBDA-REFERS-TO-VARS as it
already merged LAMBDA-CALLS

22 years ago0.pre7.86.flaky7.15:
William Harold Newman [Sun, 2 Dec 2001 14:38:13 +0000 (14:38 +0000)]
0.pre7.86.flaky7.15:
s/walk-home/scavenge-home/ for consistency with old renamings
DTC's analysis of the regression test bug is that Python is
losing a variable because its home CLAMBDA is in one
COMPONENT while the closing-over CLAMBDA is in another
COMPONENT, and the one-COMPONENT-at-a-time physical
environment analysis isn't up to the challenge. Thus
Python deletes the apparently-unused variable and
things deteriorate from there. He produced a fix
involving special-casing top-level variables so that
physenv analysis never deletes them, but neither he
nor I was convinced that this covers all the bases.
So I'll try another approach, making FIND-INITIAL-DFO
treat the home/closure relationship as just as much
of a physical dependency as a function call, and so
prevent separation of the two CLAMBDAs into different
components. Thus...
...s/call-graph/dependency-graph/ to reflect intended
new behavior

22 years ago0.pre7.86.flaky7.14:
William Harold Newman [Thu, 29 Nov 2001 17:12:46 +0000 (17:12 +0000)]
0.pre7.86.flaky7.14:
trivial changes made while hunting for the regression test bug

22 years ago0.pre7.86.flaky7.13:
William Harold Newman [Mon, 26 Nov 2001 21:31:40 +0000 (21:31 +0000)]
0.pre7.86.flaky7.13:
restored *PRINT-PRETTY* default

22 years ago0.pre7.86.flaky7.12:
William Harold Newman [Mon, 26 Nov 2001 03:53:07 +0000 (03:53 +0000)]
0.pre7.86.flaky7.12:
(now bootstraps successfully even without :SB-SHOW)
made unbound-PRINT-OBJECT hack unconditional

22 years ago0.pre7.86.flaky7.11:
William Harold Newman [Sun, 25 Nov 2001 23:21:05 +0000 (23:21 +0000)]
0.pre7.86.flaky7.11:
(now bootstraps successfully, at least when :SB-SHOW to
enable the new unbound-PRINT-OBJECT recovery stuff)
added #!+SB-SHOW mechanism to catch and recover from
unbound-PRINT-OBJECT gotchas in PCL bootstrapping

22 years ago0.pre7.86.flaky7.10:
William Harold Newman [Sat, 24 Nov 2001 22:54:58 +0000 (22:54 +0000)]
0.pre7.86.flaky7.10:
(now gets to src/pcl/print-object.lisp in warm init before
dying)
s/function/fun/ in DEFSTRUCT PPRINT-DISPATCH-ENTRY to match
the s/function/fun/ in slot accessor names elsewhere

22 years ago0.pre7.86.flaky7.9:
William Harold Newman [Sat, 24 Nov 2001 18:48:21 +0000 (18:48 +0000)]
0.pre7.86.flaky7.9:
(can now do (SB!DI:TOP-FRAME) at cold toplevel prompt without
crashing)
fixed %DEFAULT-STRUCTURE-UGLY-PRINT call in
DEFAULT-STRUCTURE-PRINT

22 years ago0.pre7.86.flaky7.8:
William Harold Newman [Wed, 14 Nov 2001 16:28:30 +0000 (16:28 +0000)]
0.pre7.86.flaky7.8:
found that suppressing the pretty printer lets the system limp
into warm init (then die around assem-rtns.lisp)

22 years ago0.pre7.86.flaky7.7:
William Harold Newman [Wed, 14 Nov 2001 02:25:54 +0000 (02:25 +0000)]
0.pre7.86.flaky7.7:
split REPL out of TOPLEVEL-REPL, partly for style, partly as
part of a hack to try in debugging
REPL shouldn't need two levels of LOOP.

22 years ago0.pre7.86.flaky7.6:
William Harold Newman [Tue, 13 Nov 2001 16:05:27 +0000 (16:05 +0000)]
0.pre7.86.flaky7.6:
(This version makes it all the way through xc, then dies
shortly after TOPLEVEL-INIT.)
I guess PLACEHOLDER-FENV is more persistent than I realized, so
old CMU CL code to modify it is actually important, so
SBCL should modify it too.

22 years ago0.pre7.86.flaky7.5:
William Harold Newman [Mon, 12 Nov 2001 23:40:25 +0000 (23:40 +0000)]
0.pre7.86.flaky7.5:
(gets through the typep.lisp problem of flaky7.4, now dies
in xc of srctran, apparently because the LABELS code
is still broken)
s/find-lambda-vars/make-lambda-vars/
s/compute-closure/add-lambda-vars-and-let-vars-to-closures/
The old logic in CLOSE-OVER implicitly relied on LEAF-REFS
being completely set up before any CLOSE-OVERs were
called, else CLOSE-OVER could terminate prematurely
in the (MEMBER THING (PHYSENV-CLOSURE)) clause.
It looks as though it might even be the cause of the
failure in xc of typep.lisp. Since I'm finding it
difficult to grok, must less debug the order in which
the compiler initializes and mutates things, any order
dependency is the enemy, so rewrite it so that
it floods more systematically.

22 years ago0.pre7.86.flaky7.4:
William Harold Newman [Mon, 12 Nov 2001 00:02:37 +0000 (00:02 +0000)]
0.pre7.86.flaky7.4:
(This version dies with an AVER failure in FIND-IN-PHYSENV
again, this time in xc of typep.lisp. Maybe, since
I'm now substantially more knowledgeable about
PHYSENVs than I was a few weeks ago, this will be
easier to debug.)
fixed bug which caused target-sxhash problem. PAIRLIS: "The
new pairs may appear in the resulting association list
in either forward or backward order." Egads. This is
why the xc dies in target-sxhash: It's not a problem
in &OPTIONAL handling, it's that I used (PAIRLIS ...)
in a recent rewrite of LABELS as though it were
(MAPCAR #'CONS ...), and the code breaks because
PAIRLIS reverses the order on me. So..
..Rewrite DEF-IR1-TRANSLATOR LABELS more thoroughly, so it
loses its dependence on the order of PLACEHOLDER-FENV.

22 years ago0.pre7.86.flaky7.3:
William Harold Newman [Sun, 11 Nov 2001 17:13:36 +0000 (17:13 +0000)]
0.pre7.86.flaky7.3:
(This version cross-compiles all the way up to target-sxhash,
where it dies with some sort of bug in &OPTIONAL
arguments in FLET.)
s/physenv-function/physenv-lambda/
PHYSENV-LAMBDA is read-only.
PRE-PHYSENV-ANALYZE-TOPLEVEL does COMPUTE-CLOSURE on all
the LETs of each CLAMBDA.
PREALLOCATE-PHYSENVS-FOR-TOPLEVELISH-LAMBDAS, which
is supposed to play the same role, does not. What
bozo wrote that?:-( Ahem. So..
..Since there's never a good reason to call COMPUTE-CLOSURE
on CLAMBDA without calling it on its LETs as well,
and since I've demonstrated that it's an attractive
nuisance, I'll try to make it less attractive, by
making COMPUTE-CLOSURE automatically run over all the
the LETs, and moving the old COMPUTE-CLOSURE code into
an FLET hidden by the new COMPUTE-CLOSURE interface.

22 years ago0.pre7.86.flaky7.2:
William Harold Newman [Sat, 10 Nov 2001 21:10:56 +0000 (21:10 +0000)]
0.pre7.86.flaky7.2:
(still dies with the same assertion failure)
factored out some idioms..
..LAMBDA-BLOCK
..LAMBDA-COMPONENT (previously known as CLAMBDA-COMPONENT)
s/entry-function/entry-fun/
s/tail-set-functions/tail-set-funs/

22 years ago0.pre7.86.flaky7.1:
William Harold Newman [Sat, 10 Nov 2001 17:30:36 +0000 (17:30 +0000)]
0.pre7.86.flaky7.1:
(still dies with the same assertion failure)
reexpressing things in an effort to understand them..
..renamed DFO-WALK-CALL-GRAPH to DFO-SCAVENGE-CALL-GRAPH
..s/new-function/new-fun/
..s/reanalyze-function/reanalyze-fun/
..s/local-call-analyze-until-done/locall-analyze-clambdas-until-done/
..s/local-call-analyze/locall-analyze-component/
..s/local-call-analyze-1/locall-analyze-fun-1/

22 years ago0.pre7.86.flaky7:
William Harold Newman [Tue, 6 Nov 2001 22:21:54 +0000 (22:21 +0000)]
0.pre7.86.flaky7:
(This version dies early in cross-compilation with an assertion
failure, perhaps because PRE-PHYSENV-ANALYZE-TOPLEVEL
isn't being called on the right stuff.)
tried to straighten out function names and debug names,
splitting LEAF-NAME into LEAF-SOURCE-NAME and
LEAF-DEBUG-NAME and making both SOURCE-NAME and
DEBUG-NAME read-only..
..IR1-CONVERT-LAMBDA gets both :SOURCE-NAME and :DEBUG-NAME
keyword arguments, and then IR1-CONVERT-LAMBDA-BODY
and IR1-CONVERT-HAIRY-LAMBDA and
IR1-CONVERT-INLINE-LAMBDA do too
..defined DEBUG-NAMIFY to support this
..deleted no-longer-used COMPILE-FIX-FUN-NAME (and made mental
note that it's probably the reason that old COMPILE
got function debug name right even though %COMPILE
doesn't)
removed no-longer-used PRIMITIVE-TRANSLATOR stuff
noticed that LAMBDA-VARS is read-only

22 years ago0.pre7.86:
William Harold Newman [Sun, 4 Nov 2001 01:07:06 +0000 (01:07 +0000)]
0.pre7.86:
s/top-level/toplevel/, to conform with ANSI EVAL-WHEN
situation names

22 years ago0.pre7.85:
William Harold Newman [Sat, 3 Nov 2001 20:45:15 +0000 (20:45 +0000)]
0.pre7.85:
verified that LAMBDA-NAME isn't just for debugging, but can
break the compiler, too:-(

22 years ago0.pre7.84:
William Harold Newman [Fri, 2 Nov 2001 17:10:41 +0000 (17:10 +0000)]
0.pre7.84:
merged AD patch to remove :GLOBAL-VAR :KIND :CONSTANT
(sbcl-devel 2001-10-02)

22 years ago0.pre7.83:
William Harold Newman [Fri, 2 Nov 2001 16:17:07 +0000 (16:17 +0000)]
0.pre7.83:
deleted unused FAST-SYMBOL-FUNCTION and
OBJECT-NOT-FUNCTION-OR-SYMBOL-ERROR
replaced %COERCE-NAME-TO-FUNCTION and RAW-DEFINITION
with %COERCE-NAME-TO-FUN
s/coerce-callable-to-function/coerce-callable-to-fun/
removed FSET in favor of (SETF SYMBOL-FUNCTION)

22 years ago0.pre7.82:
William Harold Newman [Thu, 1 Nov 2001 21:53:27 +0000 (21:53 +0000)]
0.pre7.82:
s/static-function/static-fun/
another DEFSTRUCT cleanup..
..rewrote structure constructor form to try to make it more
concise and readable

22 years ago0.pre7.81:
William Harold Newman [Thu, 1 Nov 2001 20:24:55 +0000 (20:24 +0000)]
0.pre7.81:
DEFSTRUCT cleanups..
..got rid of old SLOT-ACCESSOR-FORM in favor of
%ACCESSOR-PLACE-FORM, so that now information about
the different types of raw slots is more nearly
centralized in *RAW-SLOT-DATA-LIST*
..moved target-only stuff from near %TARGET-DEFSTRUCT call in
%DEFSTRUCT into %TARGET-DEFSTRUCT
miscellaneous cleanups..
..added (SETQ *PRINT-CIRCLE* T) to the before-proper-printing
hacks in make-target-2.sh
fixed stupid *PRINT-CIRCLE*-related bug in OUTPUT-OBJECT
(introduced in the 0.pre7.76 changes)

22 years ago0.pre7.80:
William Harold Newman [Thu, 1 Nov 2001 18:39:01 +0000 (18:39 +0000)]
0.pre7.80:
fixed raw slot accessor stuff so that it indexes correctly
when it's looking at raw data (rescaling the index by
the element size, as the old DEFUN SLOT-ACCESSOR-FORM
code did but my new code doesn't)
redid *RAW-TYPE->RAWREF-FUN-NAME* as *RAW-SLOT-DATA-LIST*
to support this

22 years ago0.pre7.79:
William Harold Newman [Thu, 1 Nov 2001 14:16:40 +0000 (14:16 +0000)]
0.pre7.79:
added %COMPILER-DEFSTRUCT-generated inline expansions
for type predicates
removed predicate DEFUN from macroexpansion of DEFSTRUCT
(so that now %DEFSTRUCT-generated closures and
%COMPILER-DEFSTRUCT-generated inline expansions do
everything)
moved definitions of SPECIFIER-TYPE stuff later in
early-type.lisp, after DEFSTRUCT VALUES-TYPE, so that
the VALUES-TYPE-P call there can be inlined

22 years ago0.pre7.78:
William Harold Newman [Thu, 1 Nov 2001 02:21:15 +0000 (02:21 +0000)]
0.pre7.78:
miscellaneous DEFSTRUCT-related cleanups..
..There are no longer DEFSTRUCTs in defstruct.lisp itself,
so DEFSTRUCT-parsing stuff no longer needs to be
wrapped in EVAL-WHEN.
..moved DEFUN SLOT-ACCESSOR-FUNS to target-defstruct.lisp
..removed lotso /SHOW stuff from defstruct.lisp
..removed REMOVEMEs

22 years ago0.pre7.77:
William Harold Newman [Thu, 1 Nov 2001 00:11:47 +0000 (00:11 +0000)]
0.pre7.77:
removed slot accessor DEFUNs from macroexpansion of DEFSTRUCT
(so that now %DEFSTRUCT-generated closures and
%COMPILER-DEFSTRUCT-generated inline expanders
do everything)

22 years ago0.pre7.76:
William Harold Newman [Wed, 31 Oct 2001 21:38:18 +0000 (21:38 +0000)]
0.pre7.76:
As long as I'm testing whether the old code works as an xc
host, I might as well make some pending cleanups..
..made CERROR use COERCE-CONDITION directly instead of
trying to screen it from the already-a-CONDITION case
..renamed stems-and-flags.lisp-expr to build-order.lisp-expr
(taking a hint from the explanatory comment at head
of file:-)
..factored should-we-CHECK-IT logic out of OUTPUT-OBJECT into
COMPOUND-OBJECT-P, and shared it with DUMP-OBJECT
..renamed CIRCULAR-LIST-P to CYCLIC-LIST-P
..factored out UNIQUELY-IDENTIFIED-BY-PRINT-P too
..deleted unused INSTANCE-SET-CONDITIONAL and INSTANCE-XADD
stuff

22 years ago0.pre7.75:
William Harold Newman [Wed, 31 Oct 2001 19:42:57 +0000 (19:42 +0000)]
0.pre7.75:
merged MNA READ-SEQUENCE and WRITE-SEQUENCE patch
("Re: .. horks" sbcl-devel 2001-10-23)
renamed LISP-STREAM to ANSI-STREAM
renamed lisp-stream.lisp to ansi-stream.lisp
renamed ANSI-STREAM-related IN-BUFFER-FOO stuff to
ANSI-STREAM-IN-BUFFER-FOO
renamed +IN-BUFFER-EXTRA+ to +ANSI-STREAM-IN-BUFFER-EXTRA+
renamed ANSI-STREAM-IN-BUFFER-TYPE to ANSI-STREAM-IN-BUFFER
(If you have half a dozen namespaces, why not
use them?:-|)

22 years ago0.pre7.74:
William Harold Newman [Wed, 31 Oct 2001 17:51:04 +0000 (17:51 +0000)]
0.pre7.74:
merged flaky6 changes back into main branch

22 years ago0.pre7.73:
William Harold Newman [Wed, 17 Oct 2001 22:15:17 +0000 (22:15 +0000)]
0.pre7.73:
added more tests for DEFSTRUCT
Don't proclaim/declaim instance types in DEFSTRUCT :TYPE LIST
or DEFSTRUCT :TYPE VECTOR (because they're not known
to the type system in those cases).

22 years ago0.pre7.72:
William Harold Newman [Wed, 17 Oct 2001 18:37:52 +0000 (18:37 +0000)]
0.pre7.72:
merged two AD patches from sbcl-devel 2001-10-17..
.."inconsistency in FIND", fixing bug in %FIND-POSITION stuff
.."bug in APROPOS-LIST"
added tests for these bugs

22 years ago0.pre7.71:
William Harold Newman [Wed, 17 Oct 2001 13:43:22 +0000 (13:43 +0000)]
0.pre7.71:
added new closures for out-of-line slot accessors (but didn't
actually hook them into %DEFSTRUCT yet)
added typecheckfuns.lisp to stems-and-flags
made %DEFSTRUCT FOO clear (GETHASH 'FOO *TYPECHECKFUNS*)
made typecheckfuns.lisp initialized in cold init

22 years ago0.pre7.70:
William Harold Newman [Wed, 17 Oct 2001 13:39:26 +0000 (13:39 +0000)]
0.pre7.70:
The definition of functions using INFO :FOO :BAR can't safely
be mixed among the definitions of info classes (like
:FOO) and types (like :BAR). This is a misfeature, but
even though it's just bitten me I've got many more
urgent things to do than fixing it, so I just moved
the definition of DEFUN FUN-NAME-INLINE-EXPANSION from
globaldb.lisp into info-functions.lisp.

22 years ago0.pre7.69:
William Harold Newman [Tue, 16 Oct 2001 21:01:52 +0000 (21:01 +0000)]
0.pre7.69:
added current draft of typecheckfuns.lisp to CVS (but not to
stems-and-flags yet)
--
cvs add typecheckfuns.lisp

22 years ago0.pre7.68:
William Harold Newman [Tue, 16 Oct 2001 17:26:15 +0000 (17:26 +0000)]
0.pre7.68:
more name systematization..
..s/variable-length/var-length/
..s/variable-name/ambiguous-var-name/
..s/fast-read-variable-integer/fast-read-var-u-integer/
..s/variable-lexical-p/var-lexical-p/
..s/variable-special-p/var-special-p/
..s/variable-globally-special-p/var-globally-special-p/
..s/variable-declaration/var-declaration/
..s/variable-same/var-same/
merged AD's fix-TRACE-nesting patch (sbcl-devel 2001-10-16)
also went back to the original sources to try to see
how this got

22 years ago0.pre7.67:
William Harold Newman [Tue, 16 Oct 2001 03:12:06 +0000 (03:12 +0000)]
0.pre7.67:
cleaned up miscellaneous FTYPE proclamation stuff..
..I changed my mind: PROCLAIM-AS-FUN-NAME is appropriate
in PROCLAIM INLINE and PROCLAIM NOTINLINE after all.
..got rid of separate PROCLAIM-AS-DEFSTRUCT-FUN-NAME in
favor of ordinary PROCLAIM FTYPE
..moved remove-from-*FREE-FUNCTIONS* logic from
%COMPILER-DEFSTRUCT to PROCLAIM-AS-FUN-NAME
..PROCLAIM-AS-FUN-NAME doesn't need to return NAME. Nor
CHECK-FUN-NAME neither.
..When %COMPILER-DEFSTRUCT sets the inline expansions of
slot functions, it should proclaim their ftype too.
Now that %COMPILER-DEFSTRUCT wants SB!XC:PROCLAIM, I
rearranged things to make SB!XC:PROCLAIM available
sooner, moving src/compiler/proclaim, and the
src/compiler/knownfun that it depends on, earlier
in stems-and-flags

22 years ago0.pre7.66:
William Harold Newman [Tue, 16 Oct 2001 00:46:33 +0000 (00:46 +0000)]
0.pre7.66:
got rid of now-redundant :ACCESSOR-FOR stuff, hoping that
henceforth slot accessors can truly be ordinary
functions with ordinary inline expansions instead of
hybrid non-ANSI weirdosities

22 years ago0.pre7.65:
William Harold Newman [Mon, 15 Oct 2001 22:18:43 +0000 (22:18 +0000)]
0.pre7.65:
tweaked things (making %COMPILER-DEFSTRUCT responsible
for setting inline expansions) so that whenever
INFO :FUNCTION :ACCESSOR-FOR is set the inline
expansion always exists too
defined NTH-WITH-SANE-ARG-ORDER to support future
generalization of new DEFSTRUCT code to :TYPE LIST
s/defined-function/defined-fun/
The manual can be formatted into HTML with openjade now, at
least on my system, and probably also on other systems
which use the same absolute filename for docbook.dsl
as OpenBSD 2.9 does.

22 years ago0.pre7.64:
William Harold Newman [Mon, 15 Oct 2001 17:23:48 +0000 (17:23 +0000)]
0.pre7.64:
merged AD patch to fix new DECLAIM FTYPE in DEF-ALIEN-ROUTINE
so that it actually DECLAIMs argument types (instead of
bogusly DECLAIMing the code to generate argument types)
started tweaking doc/ stuff to work with openjade (but doesn't
work yet, at least with my current openjade/DocBook
setup)

22 years ago0.pre7.63:
William Harold Newman [Sun, 14 Oct 2001 03:48:05 +0000 (03:48 +0000)]
0.pre7.63:
made tests/*clocc-ansi* stuff work with my patched version
of clocc/src/tools/ansi-test/
(submitted ansi-test patch to clocc-devel)
added tests/defstruct.impure.lisp
redefined RAISES-ERROR? to allow error subtype to be specified
changed INTERNAL-TIME-UNITS-PER-SECOND to 1000
removed redundant type.pure.lisp code from time.pure.lisp,
since evidently I was a mite groggy when copying
copyright-and-whatnot boilerplate into time.pure.lisp
finally updated fasl file version

22 years ago0.pre7.62:
William Harold Newman [Sun, 14 Oct 2001 00:08:38 +0000 (00:08 +0000)]
0.pre7.62:
added first draft of tests/*clocc-ansi* stuff
applied Alexey Dejneka's fixes from sbcl-devel 2001-10-13..
..exported RETURN-PC-SAVE-OFFSET from SB!VM as per
"broken debugger" message
..fixed PARSE-COMPILED-DEBUG-BLOCKS along the lines of
"debugger errors" message (DEBUG-FUNCTION vs.
DEBUG-FUN, argh!)
s/about-to-modify/about-to-modify-symbol-value/
INDEX is in SB-INT now, so it doesn't need package prefixes
anywhere any more.
exported SC-OFFSET from SB-C

22 years ago0.pre7.61:
William Harold Newman [Sat, 13 Oct 2001 02:44:15 +0000 (02:44 +0000)]
0.pre7.61:
OK, that's enough renaming for a while. I'm tired of rebuilding
taking so long, and from the long compile times of the
DEFSTRUCT-heavy files like node.lisp, the use of
DEFUN instead of closures to define structure
accessors is likely to be contributing, and
that's something I wanted to fix anyway. So in
preparation for removing DEFUNs from DEFSTRUCT
macroexpansion..
..hacked the definition of INFO :FUNCTION :INLINE-EXPANSION
so that it will accept FUNCTION values as well as
lambda expressions, with the nonobvious but convenient
interpretation that the function is to be called
to get a lambda expression.
..wrote FUN-NAME-INLINE-EXPANSION to support this
..renamed other FUNCTION-NAME stuff to have parallel names
..renamed INFO :FUNCTION :INLINE-EXPANSION to
INFO :FUNCTION :INLINE-EXPANSION-DESIGNATOR
..renamed CLASS-STRUCTURE-P to DD-CLASS-P, since I keep
forgetting exactly what CLASS-STRUCTURE-P means
(and vice versa, forgetting the name for this property)
tweaked representation of INFO :VARIABLE :CONSTANT-VALUE so
that it returns only a single value, so that we no
longer need the complexity of VALUES-returning INFO
entries, so that the type declaration of the return
value doesn't wander into the twilight zone of
whether T is a (VALUES T T) and similar questions
that ANSI seems not to've considered
restructured compiler-macro implementation of INFO to
avoid the (VALUES T T) ambiguity
rewrote FIND-FREE-VARIABLE to use bare
(EQL (INFO :VARIABLE :KIND ..) :CONSTANT) instead
of messing with the second value return from
(INFO :VARIABLE :CONSTANT-VALUE ..); and checked that
there are no other uses of the second value
split #'SYMBOL-SELF-EVALUATING-P out of #'ABOUT-TO-MODIFY, and
used it in INFO instead of the funky special casing
of T and NIL in :DEFAULT of INFO :VARIABLE :KIND and
elsewhere
copied Christophe Rhodes' *BACKEND-FEATURES* documentation
from the CLiki SBCL internals site and pasted them
into the source code

22 years ago0.pre7.60:
William Harold Newman [Thu, 11 Oct 2001 14:05:25 +0000 (14:05 +0000)]
0.pre7.60:
more renaming..
..renamed BYTE-BITS to N-BYTE-BITS
..renamed WORD-BYTES to N-WORD-BYTES
got rid of various redundant SB!VM: prefixes
exported LRA-SAVE-OFFSET, OCFP-SAVE-OFFSET, and NFP-SAVE-OFFSET
from SB!VM, since debug internals need 'em

22 years ago0.pre7.59:
William Harold Newman [Thu, 11 Oct 2001 01:09:15 +0000 (01:09 +0000)]
0.pre7.59:
cleanup after widetag renaming in 0.pre7.58..
..renamed %VECTOR-TYPE-CODE to VECTOR-WIDETAG-AND-N-BITS
..renamed %COMPLEX-VECTOR-TYPE-CODE to COMPLEX-VECTOR-WIDETAG
..renamed DEFINE-PRIMITIVE-OBJECT :HEADER to :WIDETAG
..renamed PRIMITIVE-OBJECT-HEADER to PRIMITIVE-OBJECT-WIDETAG
renamed WORD-BITS to N-WORD-BITS

22 years ago0.pre7.58:
William Harold Newman [Wed, 10 Oct 2001 22:44:30 +0000 (22:44 +0000)]
0.pre7.58:
(aside: I screwed up CVS checkin somehow on the last version.
My local backend.lisp was modified by CR's patch but
for some reason didn't make it into the CVS repository.
Hopefully this checkin will take care of the problem.)
renamed the 8-bit tag codes from FOO-TYPE to FOO-WIDETAG,
and from type_FooBar to FOO_BAR_WIDETAG. (I used
WIDETAG instead of just TAG because I figure as long
as I'm trying to reduce the ambiguities of TYPE in old
names, I might as well minimize the ambiguity of TAG
(in the sense of THROW/CATCH) in the new names too.)
also s/fun-header-types/fun-header-widetags/
renamed TYPE-BITS to N-WIDETAG-BITS, and TYPE-MASK to
WIDETAG-MASK
renamed TypeOf to widetag_of
renamed lowtagof to lowtag_of
renamed LOWTAG-BITS to N-LOWTAG-BITS
renamed TYPE_MASK to WIDETAG_MASK
renamed N_TYPE_BITS to N_WIDETAG_BIGS

22 years ago0.pre7.57:
William Harold Newman [Mon, 8 Oct 2001 23:40:00 +0000 (23:40 +0000)]
0.pre7.57:
merged Christophe Rhodes VOPs-conditional-on-target-variant
patches (sbcl-devel 2001-10-08)

22 years ago0.pre7.56:
William Harold Newman [Mon, 8 Oct 2001 21:39:51 +0000 (21:39 +0000)]
0.pre7.56:
renamed the 3-bit lowtag codes from FOO-TYPE to FOO-LOWTAG,
e.g. FUN-POINTER-LOWTAG, to make it clear that
they're not parallel to the 8-bit codes like
SIMPLE-FUN-HEADER-TYPE, or to things like FUN-TYPE
used to represent (SPECIFIER-TYPE '(FUNCTION ..))
and in C, renamed 'em from type_FooBar to FOO_BAR_LOWTAG
also renamed some tag- and low-level-type-related names
in runtime.h to be less quirky: ALL_UPPERCASE for
constants, inline functions instead of macros
The TRACE-TABLE-FOO things no longer need to be copied into
sbcl.h by GENESIS, because C code no longer uses them.
--
Don't forget to update the DEFENUM in early-objdef.lisp.
Don't forget to update the GENESIS code which copies
them into sbcl.h.

22 years ago0.pre7.55:
William Harold Newman [Mon, 8 Oct 2001 16:21:30 +0000 (16:21 +0000)]
0.pre7.55:
renamed low level function-as-opposed-to-closure objects
as SIMPLE-FUN to disambiguate the old nasty
(DEFPARAMETER *FUNCTION-HEADER-TYPES*
  (LIST FUNCALLABLE-INSTANCE-HEADER-TYPE
FUNCTION-HEADER-TYPE ; <- source of confusion
CLOSURE-FUNCTION-HEADER-TYPE
CLOSURE-HEADER-TYPE))
..generally s/%function/%simple-fun/
..also s/%fun-type/%simple-fun-type/
..s/function-code-header/fun-code-header/
..Generally matches to "-i 'function.*header'" become
corresponding 'simple.*fun.*header'.
s/function-header-word/simple-fun-header-word/
s/function-pointer-type/fun-pointer-type/
..also similarly matches to 'function.*slot'
CHECK-FUNCTION-OR-SYMBOL is no longer used, probably because
function names can be (SETF FOO) now. Delete it.
Similarly, SYMBOL-FUNCTION-SLOT is no longer used. Delete it.
Dunno why SYMBOL-SETF-FUNCTION-SLOT is no longer used --
FDEFNs, probably -- but by now you know the drill.
and SYMBOL-RAW-FUNCTION-ADDR-SLOT, too
back to SIMPLE-FUN and friends..
.."closure.*function.*header" to "closure.*fun.*header"
..s/scav_function_header/scav_fun_header/
..tweaked DEFINE-PRIMITIVE-OBJECT (FUNCTION ..) to use
SIMPLE-FUN name
..s/%fun-type/%simple-fun-type/
..s/%fun-name/%simple-fun-name/
..s/%fun-arglist/%simple-fun-arglist/
..s/%fun-self/%simple-fun-self/
..s/%fun-next/%simple-fun-next/
Also substitute s/function/fun/ in slot names defined in
objdef.lisp, e.g. CLOSURE-FUN.

22 years ago0.pre7.54:
William Harold Newman [Mon, 8 Oct 2001 02:34:15 +0000 (02:34 +0000)]
0.pre7.54:
(Incidentally, I've pretty much given up on incrementing the
fasl file version number on every renaming. Eventually
I'll bump it, with a very high level summary comment.)
back to standard abbrev. FUN for "object of type FUNCTION"..
..find . -name *.lisp | xargs egrep -i '[^a-z:]:function-'
..and 'function-end'
..and 'function-start'
..and 'FunctionEnd' and 'FunctionStart' and 'function.end'
..and 'function-type'
..but SB-EXT:*DERIVE-FUNCTION-TYPES* remains the same

22 years ago0.pre7.53:
William Harold Newman [Sun, 7 Oct 2001 22:10:02 +0000 (22:10 +0000)]
0.pre7.53:
deleted dead code related to MINIMAL-DEBUG-FUNs..
..find . -name *.lisp | xargs egrep -i 'uncompact-function-map'
..and 'make-uncompacted-debug-fun'
..and '\*uncompacted-function-maps\*'
..and 'debug-fun-minimal-p'
..and 'dump-1-minimal-dfun'
..and 'minimal-debug'
..also s/get-debug-info-function-map/debug-info-function-map/
Then in the spirit of renaming object-of-type-FUNCTION to FUN,
as begun in 0.pre7.52, s/function-map/fun-map/.

22 years ago0.pre7.52:
William Harold Newman [Sun, 7 Oct 2001 20:58:14 +0000 (20:58 +0000)]
0.pre7.52:
standard abbreviation FUN for "object of type FUNCTION" (or
some other kind of function when qualified, e.g.
DEBUG-FUN) in global internal names..
..find . -name *.lisp | xargs egrep -i 'debug-function'
..and 'debug-fun-function'
..and 'function-debug'
..and 'frame-function'

22 years ago0.pre7.51:
William Harold Newman [Sat, 6 Oct 2001 22:31:20 +0000 (22:31 +0000)]
0.pre7.51:
The LAMBDAS slot of ENVIRONMENT isn't used? Delete it.
renamed ENVIRONMENT structure to PHYSENV to reflect
my understanding from reverse engineering while
working on flaky5_branch
renamed IR2-ENVIRONMENT structure to IR2-PHYSENV
rename envanal.lisp to physenvanal.lisp
bumped fasl file version number (should have done that last
version too, since new low-level type codes are not
good for binary compatibility, oops..)

22 years ago0.pre7.50:
William Harold Newman [Sat, 6 Oct 2001 19:54:38 +0000 (19:54 +0000)]
0.pre7.50:
deleting more old byte-compiler/byte-interpreter stuff..
..find . -name *.lisp | xargs egrep -i 'byte.*interp'
..and egrep -i 'interp.*byte'
..and egrep -i 'byte.*component'
..and egrep -i 'interpreted-frame'
..and egrep -i 'byte.*code'
..and egrep -i 'byte.*fun'
..and egrep -i 'byte.*closure'
..no longer need POSSIBLY-AN-INTERPRETED-FRAME or
FRAME-REAL-FRAME, and some nearby debug-int.lisp stuff
gets simpler too
s/"Returns /"Return / in doc strings (and impatiently try to
make corresponding grammatical changes too)
s/immediate-types/*immediate-types*/
s/function-header-types/*function-header-types*/

22 years ago0.pre7.49:
William Harold Newman [Sat, 6 Oct 2001 17:18:30 +0000 (17:18 +0000)]
0.pre7.49:
deleting old byte-compiler/byte-interpreter stuff..
..find . -name *byte*lisp | xargs rm
..find . -name *.lisp | xargs egrep -i 'byte.*comp'

22 years ago0.pre7.48:
William Harold Newman [Sat, 6 Oct 2001 13:34:18 +0000 (13:34 +0000)]
0.pre7.48:
deleted remaining conditional-on-GENGC-feature stuff (except
what's in Alpha, where I don't have an Alpha to test
the changes on)
did "egrep -i gengc" and removed what I found
(deleted some byte code stuff too, instead of trying to
selectively remove gengc conditionalization within it)
removed UNUSED slot in SYMBOL: We don't have any bootstrapping
issues at cross-compile time which require us to
maintain the same layout in the target as in the host

22 years ago0.pre7.47:
William Harold Newman [Sat, 6 Oct 2001 01:12:01 +0000 (01:12 +0000)]
0.pre7.47:
deleted various long-unused GENGC stuff..
..deleted #!+GENGC conditional code
..made #!-GENGC code unconditional

22 years ago0.pre7.46:
William Harold Newman [Fri, 5 Oct 2001 23:59:26 +0000 (23:59 +0000)]
0.pre7.46:
various refactorings and tidying..
..redid the hairy remove-ourselves-from-tail-set mess in
MERGE-LETS as a separate function,
DEPART-FROM-TAIL-SET
..split diagnostic/reporting stuff (starting around
(DECLAIM (SPECIAL *CURRENT-PATH*)) out of ir1util.lisp
into ir1report.lisp
..moved UNIX-HOST stuff around in an effort to get rid
of compiler not-defined-(yet) warnings
..split target-pathname.lisp out of pathname.lisp to support
this
..moved target-only HOST stuff from pathname.lisp (which is
built both on host and target) to filesys.lisp (which
is flagged as :NOT-HOST in stems-and-flags.lisp-expr)
..Since there's no longer any numbers.lisp or
host-numbers.lisp to contrast to, target-numbers.lisp
really ought to be called numbers.lisp.
..split ir1-translators.lisp out of ir1tran.lisp (as per FIXME)
..moved IDENTITY, COMPLEMENT, and CONSTANTLY out of list.lisp
into funutils.lisp

22 years ago0.pre7.45:
William Harold Newman [Fri, 5 Oct 2001 20:02:24 +0000 (20:02 +0000)]
0.pre7.45:
added test cases for BUTLAST/NBUTLAST functions, rewrote the
functions (again..) (and fantasized about someday
learning to write correct code..)

22 years ago merged AD sbcl-devel 2001-10-05 LOOP patches..
William Harold Newman [Fri, 5 Oct 2001 17:41:31 +0000 (17:41 +0000)]
merged AD sbcl-devel 2001-10-05 LOOP patches..
..Variable *LOOP-DESTRUCTURING-HOOKS* is checked three times,
but set nowhere: remove.
..Declare WITH-introduced variables.
..bug 103: Forms after INITIALLY, FINALLY, DO must be compound
forms.
added test cases for second and third patches
fixed bug in third patch: missing argument in LOOP-ERROR
tweaked suggested *SHEBANG-FEATURES* customization procedure
text sorta along the lines suggested by Nathan Froyd

22 years ago0.pre7.43:
William Harold Newman [Fri, 5 Oct 2001 14:47:27 +0000 (14:47 +0000)]
0.pre7.43:
testing..
..current working copy builds under sbcl-0.6.13 on OpenBSD/x86
..current working copy builds with :SB-SHOW on OpenBSD/x86
..fresh "cvs co", with no customize-target-features.lisp or
anything, builds under cmucl-18c on Linux/x86

22 years ago0.pre7.42:
William Harold Newman [Thu, 4 Oct 2001 22:16:54 +0000 (22:16 +0000)]
0.pre7.42:
merged three Alexey Dejneka sbcl-devel patches..
.."bug 49-b*" 2001-09-30
.."bug 81" 2001-09-30
.."compiler/interpreter disagreement" 2001-10-02

22 years ago0.pre7.41:
William Harold Newman [Thu, 4 Oct 2001 20:18:20 +0000 (20:18 +0000)]
0.pre7.41:
fixed bug 126 Alexey Dejneka's way after all: I gave up on my
fancy distinction between high-level and low-level
default initial elements once I realized that the
code (1) had to be changed in two different places
(DEFTRANSFORM MAKE-ARRAY and DEFUN MAKE-ARRAY) and
(2) was nasty enough that it'd have to be substantially
rewritten in both places

22 years ago0.pre7.40:
William Harold Newman [Thu, 4 Oct 2001 17:38:45 +0000 (17:38 +0000)]
0.pre7.40:
preparing for fixing bug 126, not changing the meaning of the
code, just trying to make it easier for me to follow

22 years ago0.pre7.39:
William Harold Newman [Wed, 3 Oct 2001 20:03:25 +0000 (20:03 +0000)]
0.pre7.39:
merged MNA fd-stream.lisp patch (sbcl-devel 2001-09-10)
merged AD EXPAND-DEFGENERIC patch (sbcl-devel 2001-09-10)
stuffed DEFUN EXPAND-DEFGENERIC into DEFMACRO DEFGENERIC
merged AD DIRECTORY patch (sbcl-devel 2001-09-22)
swapped FunctionPointer and InstancePointer type codes for PPC
convenience (as per dan sbcl-devel 2001-09-22)
incremented fasl file version number again
tweaked clean.sh so it will delete CVS update crud

22 years ago0.pre7.38:
William Harold Newman [Wed, 3 Oct 2001 15:20:43 +0000 (15:20 +0000)]
0.pre7.38:
(flaky5_branch RIP. There are still problems: debugging data
going astray, and new DEFUN of inline FOO being too
wimpy. But it seems better than 0.pre7.37. So..)
merged flaky5_branch back onto the main branch

22 years ago0.pre7.37:
William Harold Newman [Thu, 6 Sep 2001 23:50:43 +0000 (23:50 +0000)]
0.pre7.37:
merged %COMPILER-TRULY-DEFSTRUCT into %COMPILER-DEFSTRUCT
The '%.*defstruct' operators no longer need to be exported.
made PROCLAIM-AS-FUNCTION not complain about redefinition
unless the function name is actually fbound (not just
noted as accessor in info database)
moved some function definitions from proclaim.lisp to
info-functions.lisp so they'd be available earlier

22 years ago0.pre7.36
William Harold Newman [Wed, 5 Sep 2001 23:41:07 +0000 (23:41 +0000)]
0.pre7.36
(This version still issues bogus redefinition warnings and
still builds structure slot accessors without enough
type checks, but at least it works well enough to
build itself.)
replaced old 'def-ir1.*defstruct' magic with new ANSI
EVAL-WHEN magic
merged %%COMPILER-DEFSTRUCT into %COMPILER-DEFSTRUCT
renamed %COMPILER-DEFSTRUCT to %COMPILER-TRULY-DEFSTRUCT
renamed %COMPILER-ONLY-DEFSTRUCT to %COMPILER-DEFSTRUCT
renamed EXPANDER-FOR-DEFSTRUCT to !EXPANDER-FOR-DEFSTRUCT
renamed PARSE-1-OPTION to PARSE-1-DD-OPTION
renamed DO-INCLUSION-STUFF to DO-DD-INCLUSION-STUFF
did some other renaming too

22 years ago0.pre7.35:
William Harold Newman [Wed, 5 Sep 2001 21:35:06 +0000 (21:35 +0000)]
0.pre7.35:
(This version issues lots of bogus redefinition warnings, and
also fails in type.impure.lisp because it builds
structure slot accessors without enough type checks
(and so doesn't catch some kinds of improper usage).
Both of these problems seem to be symptoms of doing
things out of order in the macroexpansion and
compilation of DEFSTRUCT. Hopefully I can get rid of
these problems soon in the process of getting rid of
old 'def-ir1.*defstruct' constructs in favor of new
ANSI EVAL-WHEN-based constructs.)
renamed DSD-ACCESSOR to DSD-ACCESSOR-NAME
renamed DD-PREDICATE to DD-PREDICATE-NAME
undid KLUDGE/FIXME in DEFMACRO-MUNDANELY DECLAIM: Now that
EVAL-WHEN behaves better, we don't need it.
PROCLAIM INLINE shouldn't PROCLAIM-AS-FUNCTION-NAME (both in
principle and also because right now it's causing
problems in DEFSTRUCT)
PROCLAIM-AS-FUNCTION-NAME shouldn't blow away a structure class
just because it happens to use the same name for one of
its slot accessors (just as PROCLAIM INLINE change)
made DESCRIBE smarter about SETF functions

22 years ago0.pre7.34:
William Harold Newman [Wed, 5 Sep 2001 04:22:32 +0000 (04:22 +0000)]
0.pre7.34:
merged MNA "small defstruct patch" sbcl-devel 2001-09-03

22 years ago0.pre7.33:
William Harold Newman [Wed, 5 Sep 2001 01:37:37 +0000 (01:37 +0000)]
0.pre7.33:
fixed (LOOP FOR KEY BEING EACH HASH-KEY IN HASH COLLECT KEY)
bug reported by Alexey Dejneka on sbcl-devel 2001-09-03
some package cleanup in preparation for making byte-interp.lisp
IN-PACKAGE SB!BYTECODE..
..exported &MORE from SB!INT instead of SB!C
..exported MAKE-VALUE-CELL, VALUE-CELL-REF, and VALUE-CELL-SET
from SB!KERNEL instead of SB!C, so that they're visible
in SB!BYTECODE.
also put &MORE onto the LAMBDA-LIST-KEYWORDS list
added SB-XC prefixes to LAMBDA-LIST-KEYWORDS usage
rearranged macroexpand/uncross/eval operations in
cross-compiler PROCESS-TOP-LEVEL-FORM so xcompiling
DEFCONSTANT-EQX SB!XC:LAMBDA-LIST-KEYWORDS will
redefine SB-XC:LAMBDA-LIST-KEYWORDS instead of
CL:LAMBDA-LIST-KEYWORDS
tweaked PARSE-1-DSD so that it always sets DSD-ACCESSOR,
dropping CMU CL's "don't shadow inherited accessor"
special case

22 years ago0.pre7.32:
William Harold Newman [Mon, 3 Sep 2001 02:26:26 +0000 (02:26 +0000)]
0.pre7.32:
merged Alexey Dejneka's WRITE-STRING/WRITE-LINE fix
rewrote WRITE-STRING to use a simplified, unconditional
version of the old HIGH-SECURITY code
WRITE-STRING* is always used with four arguments, so the
&OPTIONALness of its arguments is unnecessary
generality, so get rid of it. Then, since its
calling convention has changed, rename it to
%WRITE-STRING.
WRITE-LINE can be made a lot simpler by reusing WRITE-STRING,
and then WRITE-LINE* isn't needed at all.

22 years ago0.pre7.31:
William Harold Newman [Sun, 2 Sep 2001 23:03:44 +0000 (23:03 +0000)]
0.pre7.31:
merged MNA "cleanups" patch from sbcl-devel 2001-08-31
got rid of INDEXV-USER-SPECIFIED-P completely, since MNA
points out that it's unused
got rid of ignored FORM arg in definition of %PRIMITIVE, too

22 years ago rewrite of DEFMACRO DEFCLASS, inspired by but different from
William Harold Newman [Sun, 2 Sep 2001 21:44:48 +0000 (21:44 +0000)]
rewrite of DEFMACRO DEFCLASS, inspired by but different from
MNA's "defclass" patch from sbcl-devel 2001-08-31..
..don't need DEFUN EXPAND-DEFCLASS distinct from
DEFMACRO DEFCLASS
..Don't do INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS at
macroexpansion time, but instead at
EVAL-WHEN (COMPILE LOAD EVAL) time.

22 years ago0.pre7.29:
William Harold Newman [Sun, 2 Sep 2001 17:28:32 +0000 (17:28 +0000)]
0.pre7.29:
merged MNA EVAL-WHEN patch from sbcl-devel 2001-08-31 (doing
nothing at toplevel unless :EXECUTE)
rewrote the logic in the rest of the same EVAL-WHEN clause (not
trying to change its behavior, just to express it more
nicely)
The implementation of EVAL doesn't actually belong IN-PACKAGE
SB!BYTECODE. Put it in SB!IMPL instead.
deleted duplicate definition of SB-KERNEL:*EVAL-STACK-TOP*
moved definition of IGNORE-ERRORS src/code/macros (as
DEFMACRO-MUNDANELY at build-the-cross-compiler time) so
it can be used in target code in src/code/extensions
(although that turns out not to help, since it expands
into HANDLER-CASE, which wants to be defined later..)
added src/code/late-extensions.lisp to hold things like
LIST-WITH-LENGTH-P which want to have some of the
Lisp system set up before they're defined
renamed src/code/extensions.lisp to
src/code/early-extensions.lisp (since now there's
a corresponding late-extensions.lisp again)
moved POSITIVE-PRIMEP to src/code/late-extensions.lisp,
deleted src/code/numbers.lisp
limited POSITIVE-PRIMEP to FIXNUM and moved it to SB!INT
merged MNA "eval-when problems -- fix" patch from sbcl-devel
2001-09-01 (IR1-converting EVAL-WHEN (with no forms)
even in "the forms in the body are ignored" case,
instead of just skipping IR1 conversion completely
and leaving START and CONT dangling in the wind)
since I'm doing related filename and stems-and-flags cleanup
 anyway..
..renamed src/code/early-target-error.lisp to
src/code/target-error.lisp
..renamed src/code/late-target-error.lisp to
src/code/condition.lisp

22 years ago0.pre7.28:
William Harold Newman [Sun, 2 Sep 2001 14:17:37 +0000 (14:17 +0000)]
0.pre7.28:
changed fasl file extension to .fasl
Since fasl file extensions aren't backend-dependent any more,
now they're controlled by *FASL-FILE-TYPE* instead
of *BACKEND-FASL-FILE-TYPE*.

22 years ago0.pre7.27:
William Harold Newman [Fri, 31 Aug 2001 17:59:39 +0000 (17:59 +0000)]
0.pre7.27:
cleanup of leftover search list stuff..
..got rid of ENUMERATE-SEARCH-LIST
..renamed DEF!STRUCT SEARCH-LIST to LOGICAL-HOSTNAME, since
it's now used only to represent the stuff before the
colon in logical pathnames

22 years ago0.pre7.25:
William Harold Newman [Thu, 30 Aug 2001 00:10:56 +0000 (00:10 +0000)]
0.pre7.25:
got rid of :SB-CONSTRAIN-FLOAT-TYPE as a separate target
*FEATURES* option controlling the build (instead
hardwiring it to always be on)
removed some CROSS-FLOAT-INFINITY-KLUDGE SB-XC-HOST
conditionalization from srctran..
..Defining support functions is ok, as long as we don't
actually execute the paths which mess with floating
point infinities.
..Stuff which doesn't use floats should be OK, too: ASH,
LOGNOT, LOGAND, LOGIOR, LOGXOR..
..Things which work with integers exclusively (not floats)
should be safe.

22 years ago0.pre7.24:
William Harold Newman [Wed, 29 Aug 2001 23:22:35 +0000 (23:22 +0000)]
0.pre7.24:
got rid of :SB-PROPAGATE-FLOAT-TYPE and
:SB-PROPAGATE-FUN-TYPE as separate target *FEATURES*
options controlling the build, instead hardwiring
them to always on; and rewrote
CROSS-FLOAT-INFINITY-KLUDGE so that stuff like
#!+sb-propagate-foo-type
becomes
#-sb-xc-host ; (See CROSS-FLOAT-INFINITY-KLUDGE.)
instead; and similarly stuff like
#!-sb-propagate-foo-type
becomes
#+sb-xc-host ; (See CROSS-FLOAT-INFINITY-KLUDGE.)
--
Remember to delete 'em from base-target-features.lisp-expr.
Build SBCL with itself to test this change, since I had so
much trouble with it.
Document :SB-PROPAGATE-FOO-TYPE changes in NEWS.
Crib "what is CROSS-FLOAT-INFINITY-KLUDGE" text.

22 years ago0.pre7.22:
William Harold Newman [Tue, 28 Aug 2001 03:55:51 +0000 (03:55 +0000)]
0.pre7.22:
used %FUNCALL-IN-FOOMACROLET-LEXENV for SYMBOL-MACROLET too
(this time noticing that (MAKE-LEXENV :FUNCTIONS ..)
isn't the same as (MAKE-LEXENV :VARIABLES ..)!)

22 years ago0.pre7.21:
William Harold Newman [Tue, 28 Aug 2001 03:10:15 +0000 (03:10 +0000)]
0.pre7.21:
..factored out some shared logic into
%FUNCALL-IN-FOOMACROLET-LEXENV (though SYMBOL-MACROLET
was left alone for now, since I had problems with it
last time)

22 years ago0.pre7.20:
William Harold Newman [Mon, 27 Aug 2001 20:10:06 +0000 (20:10 +0000)]
0.pre7.20:
more post-IR1-interpreter cleanup: grepped down and killed
things matching FOR-INTERPRETER, COMPILE-FOR-EVAL,
DEBUGGING-INTERPRETER, EVAL-IN-FRAME, and LAMBDA-EVAL
deleted unused ALIEN:ALIEN-BOOLEAN symbol
(Now that the IR1 interpreter is gone, and some other code too,
this version has some 3400 (or 2.5%) fewer lines of
Lisp source code than sbcl-0.6.13 did.)

22 years ago0.pre7.19:
William Harold Newman [Mon, 27 Aug 2001 19:01:02 +0000 (19:01 +0000)]
0.pre7.19:
various avante-garde mostly-post-IR1-interpreter-ism
reinterpretation of debug-int.lisp..
..grepped down and killed things matching 'interpreted-debug-'
..grepped down and killed things matching 'interpreted-code-'
..added :CONSTRUCTOR NIL to the abstract base class
DEBUG-FUNCTION
..deleted unused debug-vm.lisp
..deleted redundant SETF DOCUMENTATION operations (and updated
corresponding slot comments in DEF!STRUCT DEBUG-SOURCE
in some cases)
..no need for DEBUG-SOURCE-ROOT-NUMBER to be inline

22 years ago0.pre7.18:
William Harold Newman [Mon, 27 Aug 2001 17:19:25 +0000 (17:19 +0000)]
0.pre7.18:
miscellaneous post-IR1-interpreter cleanup..
..put all of eval.lisp into the SB-BYTECODE package
..made SB-BYTECODE package use SB-EXT, as other packages do
..deleted INTERPRETED-FUNCTION stuff
..renamed INTERNAL-EVAL (external) to %EVAL (internal)
..moved eval.lisp after globaldb.lisp in
stems-and-flags.lisp-expr, so that it can use the
compiler macro form of INFO instead of full call
..moved FIND-IF-IN-CLOSURE from SB!SYS (which is supposed to
be system-dependent stuff) into SB!KERNEL; and then
made it a private function, since it's only used in
one place anyway

22 years ago0.pre7.17:
William Harold Newman [Mon, 27 Aug 2001 16:11:46 +0000 (16:11 +0000)]
0.pre7.17:
now you don't see it, now you do: re-cvs-committed
src/code/eval.lisp, so that now, I hope, CVS and I
agree that my initial "cvs remove" has been revoked
by my more recent "cvs add"

22 years ago0.pre7.16.1:
William Harold Newman [Mon, 27 Aug 2001 16:09:28 +0000 (16:09 +0000)]
0.pre7.16.1:
(trying to unscrew the state of src/code/eval.lisp, since
since CVS apparently *doesn't* think that "cvs add"
undoes "cvs remove" when there is no intervening
"cvs commit")

22 years ago0.pre7.16:
William Harold Newman [Mon, 27 Aug 2001 16:07:41 +0000 (16:07 +0000)]
0.pre7.16:
Since this version builds nicely without :SB-INTERPRETER now,
I can burn the bridges. Die, ill-begotten writhing
mass of wacky special cases, crude hackery, and
never-say-die ANSI-non-compliance! Begone back to the
bit bucket that barfed you!..
..deleted :SB-INTERPRETER stuff everywhere
..deleted src/code/eval.lisp, src/compiler/eval-comp.lisp,
and src/compiler/eval.lisp
..renamed SB-EVAL package to SB-BYTECODE
..renamed target-eval.lisp to eval.lisp (possibly confusing
CVS; dunno what happens with "cvs remove" followed by
"cvs add" without an intervening commit, but will soon
find out:-)
FUNCTION-DEBUG-FUNCTION should use ECASE to signal an error
when it's confused, instead of just dropping a NIL
into the bowels of the debugger and waiting to see
what breaks later.
TRY-TO-RENAME-INTERPRETED-FUNCTION-AS-MACRO goes away.