sbcl.git
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.

22 years ago0.pre7.15:
William Harold Newman [Mon, 27 Aug 2001 14:44:34 +0000 (14:44 +0000)]
0.pre7.15:
merged flaky4_branch back into the main branch
deleted :SB-INTERPRETER from base-target-features.lisp-expr
(since I realized that I dunno whether this version
builds with :SB-INTERPRETER any more, and I'm after
all trying to be nice and not check excessively
dain-bramaged nonworking versions into main branch)

22 years ago0.pre7.14.flaky4.13:
William Harold Newman [Sun, 26 Aug 2001 23:30:09 +0000 (23:30 +0000)]
0.pre7.14.flaky4.13:
(This version builds itself, and builds under CMU CL on Linux,
and could be said to have no known new bugs compared to
0.pre7.14, as long as we consider bugs 119, 120a,
120b, 122, 123, and 124 to be old bugs revealed by
the conversion, rather than new bugs introduced by the
conversion.:-| So maybe I can stop calling it flaky
now.:-)
rationalized leaving the commented-out MACROLET test in
tests/walk.impure.lisp commented out indefinitely. (See
BUGS 124.)

22 years ago0.pre7.14.flaky4.12:
William Harold Newman [Sat, 25 Aug 2001 19:12:51 +0000 (19:12 +0000)]
0.pre7.14.flaky4.12:
commented out MNA's HANDLER-CASE patch from sbcl-dev 2001-07-16
(merged in sbcl-0.6.12.51) in favor of the grotty old
THROW/CATCH code, since the MNA code causes
(DEFUN FOO1I ()
  (IF (NOT (IGNORE-ERRORS
     (MAKE-PATHNAME :HOST "FOO"
    :DIRECTORY "!BLA"
    :NAME "BAR")))
      (PRINT "OK")
      (ERROR "NOTUNLESSNOT")))
to be compiled incorrectly. (I rather suspect that
may not be a bug in the patch, but instead that the
correct code generated by the patch exercises a bug
elsewhere in the compiler.)
redid indentation in MNA HANDLER-CASE code
fixed #!+X86 (was #+X86) conditionalization in MNA
HANDLER-CASE code

22 years ago0.pre7.14.flaky4.11:
William Harold Newman [Fri, 24 Aug 2001 00:14:34 +0000 (00:14 +0000)]
0.pre7.14.flaky4.11:
fixed map-tests.impure.lisp compiler problem: in
GENERATE-BYTE-CODE-FOR-REF, replaced
COMBINATION-ARGS with BASIC-COMBINATION-ARGS, since
the CONTINUATION-DEST can be a MV-COMBINATION, not
necessarily a COMBINATION (and BASIC-COMBINATION
is a base class of both MV-COMBINATION and
COMBINATION)

22 years ago0.pre7.14.flaky4.10:
William Harold Newman [Thu, 23 Aug 2001 22:11:58 +0000 (22:11 +0000)]
0.pre7.14.flaky4.10:
fixed FLOAT-RADIX problem in float.pure.lisp
found bug 120a/120b in the #!-SB-INTERPRETER case of
POSSIBLY-AN-INTERPRETED-FRAME, and rewrote it to
work around the bug
made INTERNAL-EVAL go on to call the function even when
FAILURE-P, since that's the right thing to do when
e.g. there are type mismatch errors on code paths
which turn out never to be executed
similarly, made COMPILE set FDEFINITION even when FAILURE-P
also fixed bug in COMPILE (and added test case): it's
supposed to set MACRO-FUNCTION when NAME names a macro

22 years ago0.pre7.14.flaky4.9:
William Harold Newman [Thu, 23 Aug 2001 14:09:01 +0000 (14:09 +0000)]
0.pre7.14.flaky4.9:
(This version builds itself without :SB-INTERPRETER. Still a
few regression tests commented out, though..)
I looked at nlx stuff in byte-comp.lisp for a while, without
getting much insight. So I mailed in a bug report to
cmucl-imp@cons.org, in hopes that they'll fix it (or
maybe even have already fixed it since 18c). Meanwhile
I made a workaround, adding declarations to force the
ARRAY translator to be compiled to native code.

22 years ago0.pre7.14.flaky4.8:
William Harold Newman [Thu, 23 Aug 2001 01:15:32 +0000 (01:15 +0000)]
0.pre7.14.flaky4.8:
(This version presumably builds itself, because I didn't make
any very exciting changes since the last version that
built itself; but I haven't actually tested.)
We no longer need the distinction between PARSE-ALIEN-TYPE and
%PARSE-ALIEN-TYPE, and it obscured the
couldn't-byte-compile-FIND-ESCAPE-FRAME bug, so I
eliminated it.
I didn't fix the couldn't-byte-compile-FIND-ESCAPED-FRAME bug,
but I find a much simpler test case which exercises
the underlying bug, now recorded in BUGS as 119.

22 years ago0.pre7.14.flaky4.7:
William Harold Newman [Wed, 22 Aug 2001 12:52:02 +0000 (12:52 +0000)]
0.pre7.14.flaky4.7:
rewrote UNIX-FAST-SELECT as an inline function (and
resurrected all the old argument DECLAREs)
fixed weirdness in DISASSEMBLE..
..Why does it use a different output format for
(DISASSEMBLE (SB-DEBUG:ARG 0)) from the debugger
prompt (where it properly inserts a space between
bytecode and translation) and display of the
same function with
(DISASSEMBLE (SB-XC:MACRO-FUNCTION 'SB!EXT:WITH-ALIEN))
from the main command prompt? I think it's weirdness
with "~12T" in DISASSEM-BYTE-SAP. Try changing to
" ~14T" instead.
..Why does it stop output from disassembly of byte-compiled
WITH-ALIEN at byte 83, when that looks like a
completely unnatural stopping point? It seems to be
that *PRINT-LINES* is rebound to a small value, and
then the outer PPRINT-LOGICAL-BLOCK (used to prepend
#\; to each line of output) tests the current
dynamical value and bails out. So make PRETTY-STREAM
grab the *PRINT-LINES* value at ctor time and use that,
rather than the dynamic value, when deciding whether
to truncate output
bumped fasl file version number since PRETTY-STREAM layout
changed

22 years ago0.pre7.14.flaky4.6:
William Harold Newman [Wed, 22 Aug 2001 00:10:25 +0000 (00:10 +0000)]
0.pre7.14.flaky4.6:
(This version can bootstrap itself without :SB-INTERPRETER.
However, it can't pass all the original regression
tests, and I even had to disable some code in
debug-int.lisp in order to get it to build, so more
work is needed before it becomes unflaky.)
I wasn't making much progress on figuring out why the system
can't cross-compile FIND-ESCAPED-FRAME when
bootstrapping itself without :SB-INTERPRETER, so I
I just stubbed out FIND-ESCAPED-FRAME.
deleted unused 'find . | xargs egrep tty-process-group' stuff
deleted unused SIGMASK macro
deleted unused UNIX-SIGBLOCK and UNIX-SIGPAUSE functions
moved F(sigsetmask) out of __*BSD__ conditionalization in
undefineds.h so that GENESIS could find it (I dunno
how it found it before. Perhaps old references
to sigblock or sigpause caused sigsetmask to be
slurped in too?)

22 years ago0.pre7.14.flaky4.5:
William Harold Newman [Tue, 21 Aug 2001 19:58:13 +0000 (19:58 +0000)]
0.pre7.14.flaky4.5:
(Oops: In the previous version, I worked on "reimplemented
ONCE-ONLY so it expands into a single LET, so that
DECLAREs inside work as they should" enough that I
put it into the commit notes, but then I realized
that using an inline function is a nice way to solve
the UNIX-FAST-SELECT problemm, so I undid the ONCE-ONLY
changes, but forgot to clean up the commit notes.)
(This version builds under sbcl-0.6.13 with :SB-SHOW, and
without :SB-INTERPRETER, in target *FEATURES*. Now
maybe I can use the result to figure out why it can't
build itself.)
Maybe we don't need the extra space in DISASSEM-BYTE-COMPONENT
after all.
added :IGNORE-FAILURE-P for src/cold/cold-init in order to
build with :SB-SHOW
got rid of various early /SHOWs (before the definition of
UNWIND in assem-rtns.lisp is loaded) so that the system
could cold init
chopped make-target-2.sh *PRINT-LEVEL* back down to 5 so that
/SHOW statements terminate before hell freezes over

22 years ago0.pre7.14.flaky4.4:
William Harold Newman [Mon, 20 Aug 2001 23:05:35 +0000 (23:05 +0000)]
0.pre7.14.flaky4.4:
(This version still can't build itself, dying in
cross-compilation of debug-int.lisp.)
revised FUNCALL-IN-MACROLET-LEXENV to look more like
FUNCALL-IN-SYMBOL-MACROLET-LEXENV
reimplemented ONCE-ONLY so it expands into a single LET,
so that DECLAREs inside work as they should
commented out bogus macroexpansion-time DECLAREs in
UNIX-FAST-SELECT

22 years ago0.pre7.14.flaky4.3:
William Harold Newman [Mon, 20 Aug 2001 19:56:23 +0000 (19:56 +0000)]
0.pre7.14.flaky4.3:
(This version builds under sbcl-0.6.12.1, but can't build
itself, dying in cross-compilation of string.lisp.)
added missing space in NEXT-BYTE in DISASSEM-BYTE-SAP
removed bogus DECLAIM (TYPE SYMBOL *SHEBANG-FEATURES*)
reenabled COMPILE 'IN-HOST-COMPILATION-MODE

22 years ago0.pre7.14.flaky4.2:
William Harold Newman [Mon, 20 Aug 2001 18:09:16 +0000 (18:09 +0000)]
0.pre7.14.flaky4.2:
don't need to load src/cold/shared.lisp twice in make-host-1.sh
corrected the sense of #!-SB-INTERPRETER case of
INTERNAL-APPLY-LOOP hack in debug-int.lisp

22 years ago0.pre7.14.flaky4.1:
William Harold Newman [Mon, 20 Aug 2001 16:54:04 +0000 (16:54 +0000)]
0.pre7.14.flaky4.1:
(This version builds under older versions of SBCL, but can't
build under itself, dying somewhere in
defun-load-or-cload-xcompiler.lisp.)
fixed (FUNCALL (COMPILE NIL (LAMBDA (X) (+ X 2))) 3) problem
under new #!-SB-INTERPRETER implementation of EVAL..
..should usually be quoted, (COMPILE NIL '(LAMBDA ..))
..When it's not quoted, so that under the new EVAL the LAMBDA
will be a (byte-)compiled function, COMPILE shouldn't
fail, it should pass the compiled function through.
deleted unused *BACKEND-INFO-ENVIRONMENT*

22 years ago0.pre7.14.flaky4:
William Harold Newman [Mon, 20 Aug 2001 14:28:33 +0000 (14:28 +0000)]
0.pre7.14.flaky4:
(This version builds without :SB-INTERPRETER, and sort of
works (after commenting out half a dozen regression
tests) but can't bootstrap itself because of its
inability to FUNCALL a COMPILEd function in the
interpreter. The debugger is also broken.)
trying to get things to work better without :SB-INTERPRETER..
..redid EVAL-WHEN handling....
....moved all top-level-EVAL-WHEN handling into
PROCESS-TOP-LEVEL-FORM
....made DEF-IR1-TRANSLATOR EVAL-WHEN handle only the
(trivial) non-top-level-form case
....deleted DO-EVAL-WHEN-STUFF
....added COMPILE-TIME-TOO-P arguments to
PROCESS-TOP-LEVEL-FORM and friends
....wrote PARSE-EVAL-WHEN-SITUATIONS
deleted unused %%DEFCONSTANT reference in byte-comp.lisp
Now that EVAL-WHEN is handled differently, we end up in
DEFUN %DEFUN instead of DEF-IR1-TRANSLATOR %DEFUN
at cross-compile time. Now that EVAL-WHEN is
becoming sane, the day may be approaching that those
can become the same, but for now, I just decorated
DEFUN %DEFUN with readmacros so it won't try to do
impossible things at cross-compilation time.
moved *UNIVERSAL-FUNCTION-TYPE* into SB!KERNEL exports
renamed PROCESS-SOURCE to SUB-SUB-COMPILE-FILE
set *TOP-LEVEL-LAMBDA-MAX* to 1 so the %COMPILER-DEFSTRUCT
hack in PROCESS-TOP-LEVEL-FORM can go away
Now that EVAL-WHEN is handled differently, the system stumbles
over other new problems. Debugging non-ANSI cruft is
no fun, so try to ANSIfy out of the problem, rushing
boldly where no angel has tread before..
..made PROCESS-TOP-LEVEL-FORM handle SYMBOL-MACROLET
..factored handle-SYMBOL-MACROLET logic into
DO-SYMBOL-MACROLET-STUFF (analogous to
DO-MACROLET-STUFF) to support this
..renamed DO-SYMBOL-MACROLET-STUFF and
DO-MACROLET-STUFF to
FUNCALL-IN-SYMBOL-MACROLET-LEXENV and
FUNCALL-IN-MACROLET-LEXENV
..redid PROCESS-TOP-LEVEL-LOCALLY so that it can be used to
help implement MACROLET and SYMBOL-MACROLET
Messing with EVAL-WHEN situations isn't a very understandable
way to suppress enclosed EVAL-WHEN magic. Instead,
use an enclosing LET to suppress top-level-formness.
hacked globaldb.lisp so the cross-compiler won't nuke its own
*INFO-CLASSES* and *INFO-TYPES* while cross-compiling
the target compiler
For some reason, (FLOAT-RADIX "notfloat") => 2, as in the bad
old days. For now, suppress that regression test and
go on. (Getting the happy path to work again is more
urgent than getting error handling right.)
commented out a time.pure.lisp test too, since interpreted
FUNCALL and COMPILE aren't playing nicely right now
commented out a map-tests.impure.lisp test too, since it
trips over what looks like it might be an obscure
byte compiler problem and I hope I can get other stuff
to work OK without it before returning to it
commented out a pathnames.impure.lisp test too, since
interpreted ASSERT isn't working right
commented out some tests in type.impure.lisp for similar reasons
commented out walk.impure.lisp test (Maybe the common theme
in many of these problems is inability to handle
IGNORE-ERRORS in the new interpreter?)

22 years ago0.pre7.14:
William Harold Newman [Fri, 17 Aug 2001 15:10:47 +0000 (15:10 +0000)]
0.pre7.14:
(Oops, I was wrong before -- I made a typo when I thought I
was deleting :SB-INTERPRETER from target *FEATURES*,
so I didn't test what I thought I tested, and
0.pre7.13 didn't actually work without
:SB-INTERPRETER.)
So, now to make things actually work without :SB-INTERPRETER..
..saved a few things
* CL:LAMBDA-PARAMETERS-LIMIT
* CL:MULTIPLE-VALUES-LIMIT
* CL:CALL-ARGUMENTS-LIMIT
from src/compiler/eval.lisp in early-c.lisp
..SB!EVAL can't be conditional on :SB-INTERPRETER, since it's
the home of stuff like the 'eval stack' (also used
by the byte interpreter).
..made INTERPRETED-FUNCTION-NAME hacking conditional on
:SB-INTERPRETER
..made other SB!EVAL:FOO stuff conditional on :SB-INTERPRETER
..s/#+!sb-show/#!+sb-show/ (Isn't it Perl that Lispers slam
for accepting line noise as valid input?)
..raised make-target-2.sh *PRINT-LENGTH* and *PRINT-LEVEL* to
10 so that
compilation aborted because of input error:
  #S(SB-C::INPUT-ERROR-IN-COMPILE-FILE
     :ACTUAL-INITARGS (ERROR
                       #S(READER-ERROR
                          :ACTUAL-INITARGS (STREAM # FORMAT-CONTROL
                                            no dispatch function defined for ~S
                                            FORMAT-ARGUMENTS ...)
                          :ASSIGNED-SLOTS NIL))
     :ASSIGNED-SLOTS NIL)
would no longer have key information elided
..s/failed-aver-type/failed-enforce-type/
..(This version still doesn't work without :SB-INTERPRETER,
but it does have some progress, and at least it still
works with :SB-INTERPRETER, so I'm checking it in.)

22 years ago0.pre7.13:
William Harold Newman [Thu, 16 Aug 2001 19:40:49 +0000 (19:40 +0000)]
0.pre7.13:
preparing to delete IR1 interpreter..
..defined #!-SB-INTERPRETER implementation of INTERNAL-EVAL
..(Now the system builds and runs and builds itself even
when :SB-INTERPRETER is suppressed in
customize-target-features.lisp.)

22 years ago0.pre7.12:
William Harold Newman [Thu, 16 Aug 2001 13:59:55 +0000 (13:59 +0000)]
0.pre7.12:
redid DEFCONSTANT-EQX to be less needlessly arcane

22 years ago0.pre7.11:
William Harold Newman [Tue, 14 Aug 2001 14:03:01 +0000 (14:03 +0000)]
0.pre7.11:
sbcl.1 fixes from Christophe Rhodes
other sbcl.1 tweaking

22 years ago0.pre7.10:
William Harold Newman [Sat, 11 Aug 2001 23:36:57 +0000 (23:36 +0000)]
0.pre7.10:
added DEFKNOWN .. NIL for DO-ARG-COUNT-ERROR, to suppress
lotso undefined warnings and to let the compiler
identify lotso dead code
bumped default GC interval up to 4M bytes (from 2M bytes)

22 years ago0.pre7.9:
William Harold Newman [Fri, 10 Aug 2001 18:50:46 +0000 (18:50 +0000)]
0.pre7.9:
merged Dan Barlow patch from sbcl-devel 2001-08-10 (fix for
TRACE on Alpha, fix for os_flush_icache() on Alpha,
fix for environ in shared libs, and misc. tidying)

22 years ago0.pre7.8:
William Harold Newman [Fri, 10 Aug 2001 14:43:17 +0000 (14:43 +0000)]
0.pre7.8:
(The old CMU CL documentation is now available from
<ftp://sbcl.sourceforge.net/pub/sbcl/cmucl-docs.tar.bz2>.)
tweaked docs/.cvsignore so that if you like keeping the old
CMU CL documentation in the old place, CVS doesn't
pester you about it

22 years ago0.pre7.7:
William Harold Newman [Thu, 9 Aug 2001 13:41:40 +0000 (13:41 +0000)]
0.pre7.7:
deleted old CMU CL documentation (so now when I screw up my
working copy and have to "cvs checkout" again, it goes
faster:-)

22 years ago0.pre7.6:
William Harold Newman [Thu, 9 Aug 2001 02:43:54 +0000 (02:43 +0000)]
0.pre7.6:
removed REMOVEME stuff
more LOOP cleanups..
..LOOP-GENTEMP looks no better than GENTEMP. Use GENSYM instead.
..removed old Genera-only HIDE-VARIABLE-REFERENCE and
HIDE-VARIABLE-REFERENCES stuff in loop.lisp
..converted *LOOP-REAL-DATA-TYPE* to 'REAL

22 years ago0.pre7.5:
William Harold Newman [Wed, 8 Aug 2001 22:46:16 +0000 (22:46 +0000)]
0.pre7.5:
moved remaining contrib/*-extras.lisp stuff to main system
deleted unused *CHAR=-FUNCTIONS*
Since some of the new transforms use LOOP, and are used in
cross-compilation, it'd be nice if LOOP worked more
correctly in cross-compilation..
..changed SUBTYPEP to SB!XC:SUBTYPEP in loop.lisp
..changed TYPEP to SB!XC:TYPEP in loop.lisp
Now that LOOP calls SB!XC:TYPEP, CROSS-TYPEP needs to be smart
enough to type-expand its arguments, so that e.g.
(SB!XC:TYPEP 0 'INDEX) works.
moved definition of INDEX-OR-MINUS-1 type alongside INDEX
deleted obsolute LOOP NODECLARE stuff
miscellaneous other tidying in loop.lisp
added various bug 117 workarounds so SBCL code builds without
bogus WARNINGs from FIND/POSITION inline expansions

22 years ago0.pre7.4:
William Harold Newman [Wed, 8 Aug 2001 17:21:59 +0000 (17:21 +0000)]
0.pre7.4:
moved more contrib/*-extras.lisp stuff to main system..
..TRUNCATE, FLOOR, and CEILING
..SORT
..VECTOR-PUSH-EXTEND
tweaked TRUNCATE, FLOOR, and CEILING DEFTRANSFORMs so that
they work when &OPTIONAL argument is missing

22 years ago0.pre7.3:
William Harold Newman [Wed, 8 Aug 2001 15:06:17 +0000 (15:06 +0000)]
0.pre7.3:
moved more contrib/*-extras.lisp stuff to main system..
..INDEX-OR-MINUS-1
..FILL
..COERCE

22 years ago0.pre7.2:
William Harold Newman [Wed, 8 Aug 2001 02:38:01 +0000 (02:38 +0000)]
0.pre7.2:
converted WITH-ARRAY-DATA and %WITH-ARRAY-DATA-MACRO from
DEFMACRO to DEF!MACRO so that they (and the
soon-to-be-merged DEFTRANSFORMs which use them) can be
used arbitrarily early in the target build sequence

22 years ago0.pre7.1:
William Harold Newman [Wed, 8 Aug 2001 01:55:55 +0000 (01:55 +0000)]
0.pre7.1:
moved new WITH-ARRAY-DATA stuff from contrib/*-extras.lisp
to main SBCL system

22 years ago0.6.13:
William Harold Newman [Mon, 6 Aug 2001 18:02:54 +0000 (18:02 +0000)]
0.6.13:
"We release no software before its time.":-| (Hopefully the
interval between 0.6.13 and 0.7.0 will be shorter
than the interval between 0.6.12 and 0.6.13..)

22 years ago0.6.12.65:
William Harold Newman [Sun, 5 Aug 2001 16:27:39 +0000 (16:27 +0000)]
0.6.12.65:
removed redundant-in-SBCL FBOUNDP 'COMPILE test in
pprint.lisp's COMPUTE-TEST-FN
merged MNA INSPECT patches (sbcl-devel 2001-08-02)
renamed INSPECT-related service functions from DESCRIBE-FOO
to INSPECTED-FOO
renamed SHOW-HELP, INPUT-LOOP, and stuff to be more
INSPECT-related
rewrote the CONS method so that (INSPECT '(1 . 2)) works
renamed NUMBERED-PARTS to NAMED-P
redid the list return value from INSPECTED-PARTS as multiple
VALUES
made INSPECT work recursively instead of maintaining an
explicit *INSPECT-OBJECT-STACK*
defined SB-EXT:*INSPECTED*
removed 'redisplay'/'recompute' distinction in INSPECT,
since I can't see what it's good for (but I'd
cheerfully restore it if someone can explain)

22 years ago0.6.12.64:
William Harold Newman [Sat, 4 Aug 2001 23:52:15 +0000 (23:52 +0000)]
0.6.12.64:
removed duplicate DEFKNOWNs for other compiler/x86/system.lisp
stuff following the same approach as in 0.6.12.63
removed other duplicate DEFKNOWNs by simple deletion
tweaked DEF!MACRO DEFKNOWN so that it now handles duplicate
DEFKNOWNs with CERROR instead of WARN

22 years ago0.6.12.63:
William Harold Newman [Thu, 2 Aug 2001 18:29:46 +0000 (18:29 +0000)]
0.6.12.63:
added code to report what's being overwritten by a duplicate
DEFKNOWN
removed duplicate DEFKNOWN for
(SETF %FUNCALLABLE-INSTANCE-FUNCTION), at the cost of
much entrail-reading and a lengthy KLUDGE note

22 years ago0.6.12.62:
William Harold Newman [Thu, 2 Aug 2001 14:18:09 +0000 (14:18 +0000)]
0.6.12.62:
made DEFMACRO DEFKNOWN check for duplicate DEFKNOWNs
(I want to remove the duplicate DEFKNOWNs, but currently doing
that makes make.sh die in src/pcl/walk.lisp. So I've
put the duplicate DEFKNOWNs back, and things work
again. Since by now I have a strong conditioned reflex
"working version"=>"CVS checkin", I'll check this in
before going on to try to figure out which duplicate
DEFKNOWNs are important and why.)

22 years ago0.6.12.61:
William Harold Newman [Wed, 1 Aug 2001 18:02:29 +0000 (18:02 +0000)]
0.6.12.61:
copied transforms for TRUNCATE, FLOOR, and CEILING from
CMU CL 18c. (Like various other efficiency fixes,
they're in contrib/compiler-extras.lisp instead
of the main system. My plan is to merge all the
contrib/*-extra.lisp stuff into the main system
in version 0.7.x.)

22 years ago0.6.12.60:
William Harold Newman [Wed, 1 Aug 2001 17:39:39 +0000 (17:39 +0000)]
0.6.12.60:
merged MNA clean-up-PCL-code-walker patch

22 years ago0.6.12.59:
William Harold Newman [Wed, 1 Aug 2001 02:06:18 +0000 (02:06 +0000)]
0.6.12.59:
simplified *N-BYTES-FREED-OR-PURIFIED-PCOUNTER* to
*N-BYTES-FREED-OR-PURIFIED*, an ordinary UNSIGNED-BYTE
cleared *N-BYTES-FREED-OR-PURIFIED* on program startup

22 years ago0.6.12.49:
William Harold Newman [Mon, 30 Jul 2001 19:30:33 +0000 (19:30 +0000)]
0.6.12.49:
made verbose GC output report GET-INTERNAL-RUN-TIME when each
GC happens, so that when you reading a log containing
many verbose GC messages, you have a better chance of
grokking what happened
fixed POSIX-GETENV doc string after Alexey Dejneka pointed out
that it was wrong

0.6.12.50:
removed some #+OpenBSD stubifications, since FILE-LENGTH is no
longer completely broken on OpenBSD now
fixed the skip-trailing-whitespace logic in READ so it no
longer requires a second Ctrl-D char to return EOF

0.6.12.51:
merged MNA HANDLER-CASE patch: Since the compiler seems to be
smart enough to handle it now, use lexical scoping
again instead of the previous dynamic scoping
workaround; and also do #+X86 (FLOAT-WAIT).

0.6.12.52:
quasimerged MNA fix-GCC-warnings patch (sbcl-devel
2001-07-17), editing the source by hand
also made other tweaks to fix GCC warnings
fixed memory leak in wrapped_readlink()

0.6.12.53:
merged MNA port of rtoy COERCE and ARRAY-ELEMENT-TYPE
DEFOPTIMIZERs from CMU CL (sbcl-devel 2001-07-16)
merged MNA port of rtoy irrational math fixes (sbcl-devel
2001-07-16)
added MNA regression tests of irrational functions

0.6.12.54:
merged MNA port of cachopo COPY-READTABLE fix (sbcl-devel
2001-07-17)
merged MNA port of mai DESCRIBE-a-class fix (sbcl-devel
2001-07-17)

0.6.12.55:
added distclean.sh to remove stuff like
customize-target-features.lisp
DEFCONSTANT *FOO* now issues a STYLE-WARNING.
factored out LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P to support this
removed call to no-longer-defined OUTPUT-INTERPRETED-FUNCTION
in PRINT-OBJECT method for INTERPRETED-FUNCTION (which
will hopefully go away real soon anyway)

0.6.12.56:
fixed bug 26: ARRAY-DISPLACEMENT now returns (VALUES NIL 0)
for undisplaced arrays.
fixed bug 55: DEFMACRO-MUNDANELY no longer ignores DOC.
DEFMACRO-MUNDANELY should be in SB-INT.

0.6.12.57:
set default for *DERIVE-FUNCTION-TYPES* to NIL (i.e. ANSI
behavior)
overrode the default within the cross-compiler, so that SBCL
itself is still built the old static efficient way

0.6.12.58:
fixed the DCONSING carry case in PROFILE
ported CMU CL fix to FILL-POINTER-OUCH (Tim Moore's fix
to Janne Rinta-Manty's bug report)
added MNA fix for FIX-CORE-SOURCE-INFO

22 years ago0.6.12.49:
William Harold Newman [Mon, 30 Jul 2001 16:15:21 +0000 (16:15 +0000)]
0.6.12.49:
made verbose GC output report GET-INTERNAL-RUN-TIME when each
GC happens, so that when you reading a log containing
many verbose GC messages, you have a better chance of
grokking what happened
fixed POSIX-GETENV doc string after Alexey Dejneka pointed out
that it was wrong

22 years ago0.6.12.48:
William Harold Newman [Sat, 14 Jul 2001 04:25:14 +0000 (04:25 +0000)]
0.6.12.48:
made ldb conditional on :SB-LDB in *FEATURES*. (Dan Barlow
likes having the system stop on an ldb> prompt even
when running as a batch program, but for me it's a
nuisance. I want sh make.sh to terminate when it hits
an error, period, since typically I make it beep when
it's done. And since ldb isn't really appropriate for
the problems that ordinary users have to deal with,
it should be reasonable to suppress it by default,
which is an overkill way to keep my system from
stopping on an ldb> prompt.)
more gencgc tidying..
..hardwired enable_pointer_filter conditionalization to
always be enabled
..renamed the PTR() and Pointerp() macros to
native_pointer() and is_lisp_pointer() inline
functions

22 years ago0.6.12.47:
William Harold Newman [Fri, 13 Jul 2001 03:39:38 +0000 (03:39 +0000)]
0.6.12.47:
more poking around in gencgc, tweaking comments and formatting
and names
deleted "#ifdef CONTROL_STACKS" stuff

22 years ago0.6.12.46:
William Harold Newman [Thu, 12 Jul 2001 23:15:12 +0000 (23:15 +0000)]
0.6.12.46:
(got confused, thought GENCGC was excessively conservative,
tried to fix it, then backed out)
tweaked a lot of comments and some names in gencgc.c
made GENESIS systematically propagate *SHEBANG-FEATURES*
entries into #define's in sbcl.h. (This isn't currently
used for anything -- I wrote it to support my confused
make-GENCGC-less-conservative effort, which no longer
exists. However, it seems harmless and could be useful
e.g. for making C-level code depend on SB-SHOW, so I
left it in.)

22 years ago0.6.12.45:
William Harold Newman [Wed, 11 Jul 2001 00:03:02 +0000 (00:03 +0000)]
0.6.12.45:
(This version/commit actually includes some stuff from the Dave
MacDonald patch logged in the 0.6.12.44 message, since
CVS got stuck somehow and didn't finish that commit.)
(and also left a stale lock in place for days..)
some *EVAL-STACK* fixes..
..removed CURRENT-STACK-POINTER macro, since (1) its name is
confusing (suggesting the system stack, not the eval
stack; especially since the CURRENT-STACK-POINTER vop
*does* refer to the system stack!) and (2) abstracting
away the fact that this is a special variable is,
given the INTERPRETER-GC-HOOK hack to scrub the eval
stack, an unfortunate invitation to subtle GC bugs
..renamed STACK-COPY to EVAL-STACK-COPY
..made *EVAL-STACK-TRACE* stuff dependent on #!+SB-SHOW
..renamed EVAL-STACK-SET-TOP to EVAL-STACK-RESET-TOP
I also made *INTERNAL-APPLY-NODE-TRACE* stuff dependent on
#!+SB-SHOW, even though in retrospect that was
probably silly, since it's only in IR1 interpreter
code, which I hope to blow away next month anyway.

22 years ago0.6.12.44:
William Harold Newman [Fri, 6 Jul 2001 13:30:59 +0000 (13:30 +0000)]
0.6.12.44:
merged Dave MacDonald patch (sbcl-devel 2001-07-04): cleanup
of COMPILE-FILE cruft left over from transition to
compiling only one file at a time; plus a few
WHN modifications..
..INDEX isn't actually ignored in FIND-SOURCE-ROOT
..(IF (PATHNAMEP X) X (PATHNAME X)) => (PATHNAME X)
..more-explicit names in general
..expanded remaining FIND-FILE-INFO call into something which
still works now that DEFUN FIND-FILE-INFO is gone
Also, while I'm at it, SOURCE-INFO-FILE-INFO is a better
name than SOURCE-INFO-FILE.

22 years ago0.6.12.43:
William Harold Newman [Sat, 30 Jun 2001 21:47:55 +0000 (21:47 +0000)]
0.6.12.43:
made PEEK-CHAR check its argument type explicitly, so
it will issue a TYPE-ERROR on e.g.
(WITH-INPUT-FROM-STRING (S "SZ[19]")
    (PEEK-CHAR S))
instead doing PEEK-CHAR on *STANDARD-INPUT*
fixed completely-broken bignum-sized-consing code path in
profile.lisp (Code coverage testing? What's that?:-)
merged MNA/CMUCL compiler bug collection (sbcl-devel
2001-06-25) to BUGS

22 years ago0.6.12.42:
William Harold Newman [Mon, 25 Jun 2001 16:05:39 +0000 (16:05 +0000)]
0.6.12.42:
more profiling stuff..
..rearranged DCONSING arithmetic in profile wrappers so that
accounting for small amounts of wrapped consing almost
always works without extra consing overhead in the
wrapper
..made calibrate-PROFILE-overhead code run longer
MNA pointed out that bug 59 was fixed a while ago.
MNA comment clarifications sbcl-devel 2001-06-25
removed bogus QUIT from stream.pure.lisp, so that the
subsequent *.pure.lisp tests get executed

22 years ago0.6.12.41:
William Harold Newman [Sun, 24 Jun 2001 15:54:39 +0000 (15:54 +0000)]
0.6.12.41:
removed various REMOVEME stuff
more profiling/PCOUNTER stuff..
..restored "grep ';.*decla.*type'" stuff in profile.lisp,
and did other un-fluidifications of pcounter.lisp
and profile.lisp
..converted various PCOUNTER-related DECLAIMs to DEFKNOWNs

22 years ago0.6.12.40:
William Harold Newman [Sun, 24 Jun 2001 13:13:42 +0000 (13:13 +0000)]
0.6.12.40:
fixed bug 107: (WRITE #*101 :RADIX T :BASE 36) now does
the right thing.

22 years ago0.6.12.39:
William Harold Newman [Sun, 24 Jun 2001 01:32:55 +0000 (01:32 +0000)]
0.6.12.39:
removed some stuff checking for profile monotonicity (since
now I know that OpenBSD get-internal-run-time *isn't*
monotonic, since OpenBSD getrusage() isn't monotonic:
bug kernel/1065. I've now patched my OpenBSD 2.9 to
fix this enough to make GET-INTERNAL-RUN-TIME
monotonic, and I'll submit the patch to the OpenBSD
maintainers once I straighten out how to diff against
the patch branch.)
tweaked GET-BYTES-CONSED (aiming to minimize consing in
profile.lisp)..
..replaced *TOTAL-BYTES-CONSED* with
*N-BYTES-FREED-OR-PURIFIED-PCOUNTER*
..deleted *LAST-BYTES-IN-USE*
..added DEFKNOWN GET-BYTES-CONSED
..incompatible change: made GET-BYTES-CONSED return the
number of bytes consed since the system was started,
not since the first time the function was called
..renamed GC-COLD-INIT-OR-REINIT, since it's only actually
called at reinit time
fixed *BYTES-CONSED-BETWEEN-GCS* FIXME; and now
DEFAULT-BYTES-CONSED-BETWEEN-GCS no longer needs
to be a named definition
deleted unused *GC-INHIBIT-HOOK*

22 years ago0.6.12.38:
William Harold Newman [Sat, 23 Jun 2001 16:26:55 +0000 (16:26 +0000)]
0.6.12.38:
tweaked PCOUNTER stuff in anticipation of future changes
in GET-BYTES-CONSED..
..moved PCOUNTER code from profile.lisp to new pcounter.lisp
..exported PCOUNTER stuff from SB-INT

22 years ago0.6.12.37;
William Harold Newman [Fri, 22 Jun 2001 23:34:21 +0000 (23:34 +0000)]
0.6.12.37;
fixed bug 24: COMPILE-FILE handles READER-ERROR now, instead
of dropping you into the debugger.
READ-FOR-COMPILE-FILE now fills the role of the old
CAREFUL-READ code.
deleted now-unused NORMAL-READ-ERROR, IGNORE-ERROR-FORM,
and UNEXPECTED-EOF-ERROR
made slam.sh use a crude make-ish timestamp hack to choose
which files to re-cross-compile

22 years ago0.6.12.36:
William Harold Newman [Fri, 22 Jun 2001 16:21:22 +0000 (16:21 +0000)]
0.6.12.36:
fixed DIRECTORY/TRUENAME/symlink failure as proposed by DB
(sbcl-devel 2001-06-13, plus following discussion),
mostly by tweaking UNIX-READ-LINKS
In tweaking UNIX-READ-LINKS, I also redid it so that it would
handle pathnames of any length.
rewrote UNIX-READLINK to use wrapped_readlink(), handling
paths of any length
incompatible change: The old CMU-CL-style DIRECTORY options
(:ALL, :FOLLOW-LINKS, and :CHECK-FOR-SUBDIRS) are no
longer supported, so DIRECTORY always does the abstract
Common-Lisp-y thing, i.e. :ALL T :FOLLOW-LINKS T
:CHECK-FOR-SUBDIRS T.
added some DIRECTORY and TRUENAME test cases
fixed stupid gross errors in 0.6.12.35 test cases (Evidently I
neglected to run them before..)

22 years ago0.6.12.35:
William Harold Newman [Sat, 16 Jun 2001 13:18:13 +0000 (13:18 +0000)]
0.6.12.35:
null-*PRINT-LENGTH* bugfix in structure printing (from Alexey
Dejneka sbcl-devel 2001-06-14)
merged Eric Marsden ANSI compliance fixes (from cmucl-imp
2001-06-15); except that I skipped the ones in
eval-comp.lisp because I hope to get rid of the IR1
interpreter completely sometime in the next few months,
and I skipped COMPILER-ERROR-is-PROGRAM-ERROR because
(1) I think not all compiler errors are program errors
(e.g. type errors or i/o errors) and (2) SBCL mostly
handles COMPILER-ERRORs before the user sees them
anyway, so I couldn't think of a test case where this
matters

22 years ago0.6.12.34:
William Harold Newman [Wed, 13 Jun 2001 17:19:45 +0000 (17:19 +0000)]
0.6.12.34:
belatedly bumped fasl file version number because the inline
type test patches changed the layout of STREAM
Bug 23 is fixed, so delete it from BUGS.
merged MNA fixes for tests/interface.lisp (sbcl-devel
2001-06-12)

22 years ago0.6.12.33:
William Harold Newman [Tue, 12 Jun 2001 19:24:47 +0000 (19:24 +0000)]
0.6.12.33:
added a few more type test regression tests
merged MNA port of DTC CMU CL inline type test patches
(sbcl-devel 2001-05-28)

22 years ago0.6.12.32:
William Harold Newman [Tue, 12 Jun 2001 17:08:45 +0000 (17:08 +0000)]
0.6.12.32:
fixed REMOVEME problem in filesys.lisp by preinitializing
*DEFAULT-PATHNAME-DEFAULTS* just before the #'PATHNAME
call used to truly initialize it
deleted src/pcl/structure-class.lisp, since MNA pointed out
that it's unused

22 years ago0.6.12.31:
William Harold Newman [Tue, 12 Jun 2001 02:12:50 +0000 (02:12 +0000)]
0.6.12.31:
finished getting rid of %PRIMITIVE SB!C:BYTE-BLT in favor of
SB!KERNEL:%BYTE-BLT
Now there are no primitive translators, so everything
"grep -i primitive.translator" can go away.
deleted not-much-use stuff related to %SP-STRING-SEARCH,
%SP-FIND-CHARACTER, and %SP-REVERSE-FIND-CHARACTER
deleted unused %SP-SKIP-CHARACTER, %SP-REVERSE-SKIP-CHARACTER,
and MAYBE-SAP-MAYBE-STRING

22 years ago0.6.12.30:
William Harold Newman [Mon, 11 Jun 2001 20:56:45 +0000 (20:56 +0000)]
0.6.12.30:
fixed another overflow for big buffers (in GENESIS, when
#!+SB-SHOW, when reading)
started getting rid of %PRIMITIVE SB!C:BYTE-BLT in favor of
SB!KERNEL:%BYTE-BLT
deleted unused %SP-REVERSE-FIND-CHARACTER-WITH-ATTRIBUTE,
%SP-BYTE-BLT, and %SP-FIND-CHARACTER-WITH-ATTRIBUTE
merged MNA prepare-for-inline-type-tests patches (sbcl-devel
2001-06-11)

22 years ago0.6.12.29:
William Harold Newman [Mon, 11 Jun 2001 13:44:07 +0000 (13:44 +0000)]
0.6.12.29:
cleanups pending from flaky2_branch and SB!FASL-package
adventures, part II (more deleting)..
..!COLD-INIT doesn't need to be a static symbol.
..Does FDEFINITION-OBJECT need to be a static symbol? No.
..Do we need the mysterious COLD-SETs of function
values at the beginning of FINISH-SYMBOLS
in genesis.lisp? No.
..fasl version number change since !COLD-INIT is gone from
*STATIC-SYMBOLS*

22 years ago0.6.12.28:
William Harold Newman [Sun, 10 Jun 2001 18:28:19 +0000 (18:28 +0000)]
0.6.12.28:
cleanups pending from flaky2_branch and SB!FASL-package
adventures, part I (deleting stale stuff)..
..deleted "blue bag" stuff
..deleted WANT_CGC and ibmrt stuff
..deleted x86-cgc stuff
..deleted "grep -i 'spare-[0-9]'" stuff
..deleted *SCAVENGE-READ-ONLY-SPACE*
..bumped fasl version number since *SCAVENGE-READ-ONLY-SPACE*
is gone from *STATIC-SYMBOLS*

22 years ago(Oops!):
William Harold Newman [Fri, 8 Jun 2001 16:37:07 +0000 (16:37 +0000)]
(Oops!):
(I screwed up the attributions in two earlier commits. The
inline type test stuff referred to in the 0.6.12.24
commit message was originally due to Douglas Thomas
Crosher, not Pierre Mai; and although two of the bug
fixes in the PCL patch merged in 0.6.12.25 were
originally due to Pierre Mai and only ported by
Martin Atzmueller, most of that patch was original
work by Martin Atzmueller.)

0.6.12.27:
DB's bugfix for CIRCULAR-LIST-P sbcl-devel 2001-06-08
minor profiling fixes
(The SIGILL problem above seems to've been SBCL/OpenBSD's way
of reporting an infinite recursion error. It *would*
be nice to catch infinite recursion cleanly someday..)

23 years ago0.6.12.26:
William Harold Newman [Thu, 7 Jun 2001 20:27:34 +0000 (20:27 +0000)]
0.6.12.26:
(This version has some REMOVEME stuff in it to help me
debug a PROFILE failure which seemed to be related to
nonmonotonicity of GET-INTERNAL-RUN-TIME, and which
then morphed into a SIGILL problem (all on OpenBSD).
I don't think those should cause any failures for
other systems, so I left 'em in for now.)
deleted old SPARC-only UNIX-TIMES implementation of
GET-INTERNAL-RUN-TIME
munged the code in profile.lisp hunting, so far unsuccessfully,
for "-1 is not UNSIGNED-BYTE" problem
added temporary test for monotonicity of GET-INTERNAL-RUN-TIME
moved the definition of *BEFORE-SAVE-INITIALIZATIONS*
earlier so things should work for the right reason
deleted unused INDENTING-FURTHER
separated x86 SIGILL handling from SIGTRAP handling

23 years ago0.6.12.25:
William Harold Newman [Thu, 7 Jun 2001 19:22:26 +0000 (19:22 +0000)]
0.6.12.25:
merged MNA port of Pierre Mai fixes for PCL stuff (sbcl-devel
2001-05-30)
renamed tests/pcl.impure.lisp to tests/clos.impure.lisp, to be
consistent with tests/clos.test.sh
reverted the part of the patch which nuked the
INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS call, as per
my sbcl-devel mail 2001-06-07

23 years ago0.6.12.24:
William Harold Newman [Thu, 7 Jun 2001 17:15:54 +0000 (17:15 +0000)]
0.6.12.24:
added a few tests as examples of what I'd like to have before
merging the Mai/Atzmueller inline type test patches
merged DB Alpha-dynamic-loading patches (sbcl-devel 2001-05-11)

23 years ago0.6.12.23:
William Harold Newman [Thu, 7 Jun 2001 13:01:24 +0000 (13:01 +0000)]
0.6.12.23:
merged flaky2_branch back into main branch

23 years ago0.6.12.21.flaky2.2:
William Harold Newman [Wed, 6 Jun 2001 22:59:07 +0000 (22:59 +0000)]
0.6.12.21.flaky2.2:
(This version seems not to be flaky any more. I'm just
checking it in as a halfway step to merging it
back into the main branch.
tweaked scavenge() argument handling so that it's easier to see
what was going on when we look at it with gdb
deleted unused undocumented DIRECT_SCAV stuff
deleted unused undocumented SC_NS_GEN_CK stuff
stopped tests/interface.pure.lisp from generating un-GC-able
nonsense values when a SYMBOL-FUNCTION is a closure;
and tried to make it more accurately check for
undocumented external functions as well

23 years ago(no version):
William Harold Newman [Wed, 6 Jun 2001 21:45:48 +0000 (21:45 +0000)]
(no version):
updating/committing again to get CVS to recognize deletion
of early-load and addition of early-fasl

23 years ago0.6.12.22:
William Harold Newman [Wed, 6 Jun 2001 21:43:50 +0000 (21:43 +0000)]
0.6.12.22:
DB logical pathname and COMPILE-FILE-PATHNAME patch from
sbcl-devel 2001-06-01
made FASL file version number independent of CPU type; also
made byte FASL file version number the same
many many changes more or less related to changing the FASL
file version number..
..created SB!FASL package to hold stuff like +FASL-FILE-VERSION+
which is common to loading and dumping
..renamed early-load.lisp to early-fasl.lisp
..renamed FASL-FILE stuff to FASL-OUTPUT
..*LAP-OUTPUT-FILE* doesn't need to be special (and so is
renamed to LAP-FASL-OUTPUT).
..exported FAST-READ stuff from SB-INT, so that it's visible
in SB-FASL
..deleted old stale load-related variables
*LOAD-BYTE-COMPILED-CODE-TO-DYNAMIC-SPACE*
*LOAD-X86-TLF-TO-DYNAMIC-SPACE*
*ENABLE-DYNAMIC-SPACE-CODE*
(hardwiring code which referred to them to use their
effectively-constant values T, NIL, T instead). (Now
we no longer need to worry about what package they're
in..)
..made some symbols external to SB-KERNEL so that
now-in-SB-FASL code could find them (and so that
some of the old :: prefixes could go away):
*FREE-INTERRUPT-CONTEXT-INDEX*,
*!INITIAL-FOO* for all FOO,
*CURRENT-CATCH-BLOCK*,
*CURRENT-UNWIND-PROTECT-BLOCK*,
*PSEUDO-ATOMIC-ATOMIC*, *PSEUDO-ATOMIC-INTERRUPTED*
..deleted unneeded "SB!IMPL::" prefixes for various
other *STATIC-SYMBOLS*-related symbols which're
exported (mostly from SB-KERNEL) already
..deleted unused %INITIAL-FUNCTION (smashing Alpha
*STATIC-SYMBOLS* indices)
suppressed some stuff in side-effectful-pathnames.test.sh
until we merge the DB cleanups from flaky2_branch

23 years ago0.6.12.21.flaky2.1:
William Harold Newman [Sun, 3 Jun 2001 14:58:59 +0000 (14:58 +0000)]
0.6.12.21.flaky2.1:
Since enabling QSHOW and QSHOW_SIGNALS showed that a relatively
early symptom of the memory-corruption problem is
dereferencing a 0 pointer, I added special handling
for not-our-responsibility SIGSEGV/SIGBUS in
gencgc.c.

23 years ago0.6.12.21.flaky2:
William Harold Newman [Thu, 31 May 2001 21:12:04 +0000 (21:12 +0000)]
0.6.12.21.flaky2:
(This version has a flaky GC/memory-corruption problem. It's
perfectly repeatable both on my OpenBSD box and on
my Linux box -- just "sh run-tests.sh" -- which is
why I thought it was worth saving this before I
messed with it too much. But it's flaky in that all
sorts of little harmless-looking program or test
changes made while trying to isolate the problem can
cause it to vanish.)
Dan Barlow's logical pathname tests sbcl-devel 2001-05-31
added DEFUN SANE-DEFAULT-PATHNAME-DEFAULTS
made all relative-to-absolute conversions go through
*DEFAULT-PATHNAME-DEFAULTS*, so Unix current directory
is only used to initialize *DEFAULT-PATHNAME-DEFAULTS*
(and thus UNIX-MAYBE-PREPEND-CURRENT-DIRECTORY goes
away)

23 years ago0.6.12.21:
William Harold Newman [Wed, 30 May 2001 23:02:35 +0000 (23:02 +0000)]
0.6.12.21:
(realized I was confused about DEFAULT-DIRECTORY ('cause it's
in SB-INT, not SB-INT) so it doesn't need to be
marked deprecated after all. As I get older, perhaps I
should work on smaller systems..)
deleted unused %SET-DEFAULT-DIRECTORY stuff
deleted related Unix chdir() stuff
rewrote UNIX-CURRENT-DIRECTORY to use getcwd() and do its
own error-handling; got rid of DEFAULT-DIRECTORY
deleted related Unix getwd() stuff
restored SIZE-T (but this time through grovel_headers.c)
in order to interface to getcwd() more cleanly
deleted commented-out clutter in ldso-stubs.S
renamed UNIX-CURRENT-DIRECTORY to POSIX-GETCWD, and made
POSIX-GETCWD/ variant to do the old CMU-CL-style
trailing #\/ thing

23 years ago0.6.12.20:
William Harold Newman [Wed, 30 May 2001 01:19:51 +0000 (01:19 +0000)]
0.6.12.20:
made monitor.c quit() command read from the same stream
as the other ldb commands
renamed monitor.c devtty stuff to ldb_in
miscellaneous other tidying up in monitor.c

23 years ago0.6.12.19:
William Harold Newman [Wed, 30 May 2001 00:01:23 +0000 (00:01 +0000)]
0.6.12.19:
deprecated #'SB-EXT:DEFAULT-DIRECTORY, since
*DEFAULT-PATHNAME-DEFAULTS* is the ANSI way to do it
failed to get rid of DEFVAR *DEFAULT-PATHNAME-DEFAULTS*
initialization, since someone is using this var
too early in cold init. Maybe next time..
removed stale (SEARCH-LIST "default:") stuff
deleted unused CADDR-T, DADDR-T, QADDR-T, QUAD-T, UQUAD-T,
SIZE-T, SSIZE-T, +MAX-S-LONG+, +MAX-U-LONG+, SWBLK-T

23 years ago0.6.12.18:
William Harold Newman [Mon, 28 May 2001 23:44:10 +0000 (23:44 +0000)]
0.6.12.18:
added code to initialize *DEFAULT-PATHNAME-DEFAULTS*,
to start making it a little more ANSI
started documenting visible-in-the-interface variables
whose old values are discarded when a core is saved
and loaded (e.g. *DEFAULT-PATHNAME-DEFAULTS*)
tweaked side-effectful-pathnames.test.sh so it
accepts the new more-ANSI behavior of
*DEFAULT-PATHNAME-DEFAULTS*
hacked LOAD to physicalize pathnames before merging them,
to work around apparent MERGE-PATHNAMES problems
and let tests/filesys.pure.lisp work with new
nontrivial *DEFAULT-PATHNAME-DEFAULTS*; also
hacked COMPILE-FILE-PATHNAME similarly
factored out DEFUN PHYSICALIZE-PATHNAME
made FILE-LENGTH "work" (up to 32 bits) on OpenBSD again

23 years ago0.6.12.17:
William Harold Newman [Sun, 27 May 2001 15:20:15 +0000 (15:20 +0000)]
0.6.12.17:
revised address map for OpenBSD (fixing memory corruption
problem)

23 years ago0.6.12.16:
William Harold Newman [Sun, 27 May 2001 13:02:55 +0000 (13:02 +0000)]
0.6.12.16:
made LOAD handle EXTERNAL-FORMAT just the same way as
COMPILE-FILE already did, refusing any value other
than :DEFAULT
removed unused (and deprecated on OpenBSD) setregid/setreuid
stuff
converted "i386" to "__i386__" at various
"egrep 'def.*[^_]i386'" locations
added src/runtime/trymap.c (and noted that trymap fails for
the mapped area which the OpenBSD port uses for its
control stack, so now the mystery is no longer why
the OpenBSD port now complains about memory faults,
but why the OpenBSD port ever worked in the past)

23 years ago0.6.12.15:
William Harold Newman [Sat, 26 May 2001 20:33:48 +0000 (20:33 +0000)]
0.6.12.15:
turned interrupt_install_low_level_handler() into
undoably_install_low_level_interrupt_handler(), which
uses atexit() to arrange for the handler to be removed
at exit, for tidiness in general and specifically
because without the the interaction between the GC
and the exit()-time segfaults caused by memory
corruption is making it tricky to debug the
OpenBSD port

23 years ago0.6.12.14:
William Harold Newman [Fri, 25 May 2001 22:52:31 +0000 (22:52 +0000)]
0.6.12.14:
fixes from Arthur Lemmens' 2001-05-05 sbcl-devel message I..
..wrapped an EVAL-WHEN around the definition of +EMPTY-HT-SLOT+
..removed irrelevant COUNT term in in LOOP form in
compiler/x86/call.lisp
..moved DEFCONDITION SIMPLE-TYPE-ERROR from error.lisp to
late-target-error.lisp
..moved DEFUN DO-PENDING-INTERRUPT from signal.lisp to
target-signal.lisp, since its definition ("magically
converted to a BREAK instruction") only makes sense
to Python (and causes a warning in Lispworks)

23 years ago0.6.12.13:
William Harold Newman [Wed, 23 May 2001 14:00:15 +0000 (14:00 +0000)]
0.6.12.13:
set up :SB-AFTER-XC-CORE feature so slam.sh is more convenient
The various core address mismatch states should be fatal
errors, not just fprintf()s.

23 years ago0.6.12.12:
William Harold Newman [Tue, 22 May 2001 16:10:46 +0000 (16:10 +0000)]
0.6.12.12:
(I went hunting unsuccessfully OpenBSD GC problems, didn't
find them, and made small cleanups instead.)
Dan Barlow's way of dealing with 64-bit slots in wrapped_stat
is better than mine, and it's possible that mine is
even responsible for my OpenBSD memory corruption
problems, so convert the wrapped_st_size slot to
32 bits.
also renamed DB's my_dev_t to more-explicit ffi_dev_t

23 years ago0.6.12.11:
William Harold Newman [Sun, 20 May 2001 19:34:35 +0000 (19:34 +0000)]
0.6.12.11:
added #\% prefixes for names of helper functions in hash table
stuff, so they won't look so friendly and supportedish
bumped fasl file version number for the new hash table forms
restored support for compiler trace output (inspired by
MNA's patch, but controlled by the CMU-CL-style
&KEY arg interface, not a special variable)
tweaked other &KEY options of COMPILE-FILE: no more
:ENTRY-POINTS, and anticipating deprecating other stuff

23 years ago0.6.12.10:
William Harold Newman [Sun, 20 May 2001 12:53:51 +0000 (12:53 +0000)]
0.6.12.10:
MNA sbcl-devel 2001-05-12 "logical pathname patch & readable
hashtables" patch

23 years ago0.6.12.9:
William Harold Newman [Sat, 19 May 2001 19:59:08 +0000 (19:59 +0000)]
0.6.12.9:
merged MNA port sbcl-devel 2001-05-11 of Tim Moore CMU CL
improved disassembly patch
miscellaneous other SBCLification and modernization of
target-disassem.lisp

23 years ago0.6.12.8:
William Harold Newman [Sat, 19 May 2001 01:03:02 +0000 (01:03 +0000)]
0.6.12.8:
merged flaky1 branch back into main branch, now that it's
stable again.
(Dan Barlow's email on sbcl-devel warned that one problem
with branches is that useful checkin comments
end up being hard to find when they're stuck on
branches. I'll check the cvs2cl.pl output
after this checkin, and if it doesn't include
the notes for the various checkins on
the flaky1 branch, I'll make another checkin
below just as an excuse to add log notes which
copy or summarize them.)
The flaky1 branch was rather a lot of work for what turned
out to be not very many fixes. ("The discipline of
refactoring is hard to learn and easy to
lose sight of, even if only for a moment. I
still lose sight more often than I care to admit.
I'll do two or three refactorings in a row without
rerunning the test cases. Of course I can get away
with it. I'm confident. I've practiced. Boom! A
test fails, and I can't see which of my changes
caused the problem. At this moment, you will be
mightily tempted to just debug your way out of
trouble. After all, you got those tests to run
in the first place. How hard could it be to get
them running again? Stop. You are out of control,
and you have no idea what it will take to get back
in control by going forward. Go back to your
last known good configuration after each one."
-- Kent Beck, on pp. 410-411 in Martin Fowler's
_Refactoring_)

23 years ago0.6.12.7.flaky1.2:
William Harold Newman [Sat, 19 May 2001 00:13:14 +0000 (00:13 +0000)]
0.6.12.7.flaky1.2:
(This version seems not to be flaky any more, and so should
be the end of the flaky1 branch: I'm just checking
it in in preparation for "cvs update -j flaky1" or some
such thing to merge the changes back into the main
branch.)
tweaked run-tests.sh machinery to use an absolute path for
SBCL, on general principles and specifically so that
Dan Barlow's new ENSURE-DIRECTORIES-EXIST tests can run
made (UNIX-NAMESTRING "") equivalent to (UNIX-NAMESTRING "."),
as the simplest way to make ENSURE-DIRECTORIES-EXIST
work for relative pathnames. (As per Dan's 2001-05-18
sbcl-devel mail, it can't be ANSI conforming until
*DEFAULT-PATHNAME-DEFAULTS* is made ANSI, and that's
too messy for now, so just do the simple thing.)
dropped search list support from UNIX-NAMESTRING while I was
at it, since search lists ain't supported no more
removed undocumented hardly-used EXECUTABLE-ONLY arg from
UNIX-NAMESTRING, moving the "is it executable?" test
into run-program.lisp
removed REMOVEME stuff

23 years ago0.6.12.7.flaky1.1:
William Harold Newman [Fri, 18 May 2001 13:22:50 +0000 (13:22 +0000)]
0.6.12.7.flaky1.1:
(As per Daniel Barlow sbcl-devel 2001-05-17, the removal of
the mysterious "" special case in UNIX-STAT will
probably keep this version from building itself,
so I didn't even try. It does, however, at least
do "sh run-tests.sh" successfully.)
fixed declaration in %EXTRACT-STAT-RESULTS so that the
system won't have to interpret the alien reference
at runtime on every call to the function
I found how to fix the boot/gencgc/purify problem which was
leaving initial-function unmapped -- I could copy
current_region_free_pointer into
boxed_region.free_pointer just before
gc_alloc_update_page_pages() in save.c. However,
that left me with other flaky GC problems. So I gave
up my GC hacking in this version as a bad job, and
copied original 0.6.12.7 GC-related files over
the modified versions: gencgc.c, save.c, purify.c,
gc.lisp, save.lisp
made %EXTRACT-STAT-RESULTS inline to suppress an apparent
memory corruption bug

23 years ago0.6.12.7.flaky1:
William Harold Newman [Tue, 15 May 2001 14:08:31 +0000 (14:08 +0000)]
0.6.12.7.flaky1:
(This system state is seriously screwed up. It did build,
both on Linux and on OpenBSD, but signalled an
error after writing out sbcl.core on OpenBSD, and
although it runs a little both on Linux and on
OpenBSD, it hangs in the regression tests. It
also has some temporary hacks marked REMOVEME,
including one which suppresses PURIFY when
building the system (!).)
made the system build on OpenBSD again..
..stubbed stuff out as a quick fix to the problem of FFI to
64-bit stat.st_size
tried to make the system run on OpenBSD again..
..initialized current_dynamic_space, since it's now used
instead of DYNAMIC_SPACE_START in PURIFY
..added new assertions about GENCGC alloc_region stuff being
reset when it should be
renamed Lisp-level struct stat stuff to struct wrapped_stat
tried to tidy up Lisp-level stat stuff; removed mysterious
(STRING= NAME "") behavior from UNIX-STAT
added slam.sh to help in low-level compile-and-try cycle
pulled alloc_region-is-reset logic out into separate
functions, and added more assertions on it (hunting
for a bug which broke the old assertions)
renamed gc_alloc_large to gc_alloc_possibly_large, and
gc_quick_alloc_large_unboxed to
gc_quick_alloc_unboxed_possibly_large
enabled various GC checks, e.g. gencgc_zero_check=1
deleted unused (and bizarre..) gencgc_verify_zero_fill()
turned off PURIFY in order to get the system to build, since
PURIFY seems to be misbehaving (leaving INIT-FUNCTION
above the cutoff address..)