sbcl Log


Commit Date  
[e1ba5a] (13.2 kB) by Christophe Rhodes Christophe Rhodes

0.7.7.24:
Fix PROBE-FILE bug on pathnames with VERSION :UNSPECIFIC (reported
2002-09-15 on #lisp IRC)
Type declamation fix for *DISASSEM-INST-SPACE*
... declare the type after the type is defined
Try to tell Python a bit more about COMPLEX vectors
... vector arguments to VECTOR-PUSH, FILL-POINTER et al. must
be COMPLEX
Lotso BUGS; :LITTLE-ENDIAN, :MIPS, :HPPA comments

2002-09-15 14:20:22 View
Download
[740af3] (13.3 kB) by Christophe Rhodes Christophe Rhodes

0.7.4.37:
Some cleanups for OpenMCL compilation
... change one IGNORE to IGNORABLE
... delete FIXME from errors (OpenMCL can compile that now)
... NB: it still doesn't quite work for some reason;
investigation is ongoing...
Text file updates

2002-06-18 08:05:45 View
Download
[aca45f] (12.8 kB) by William Harold Newman William Harold Newman

0.7.1.41:
more ordinary name (one *FEATURES* symbol, not two)
for the opposed pair of stack-grows-upward and
stack-grows-downward concepts
...replaced old pair of features with new
:CONTROL-STACK-GROWS-DOWNWARD-NOT-UPWARD feature
...#!+STACK-GROWS-DOWNWARD becomes
#!+CONTROL-STACK-GROWS-DOWNWARD-NOT-UPWARD
...#!+STACK-GROWS-UPWARD becomes
#!-CONTROL-STACK-GROWS-DOWNWARD-NOT-UPWARD
Since references to the new STACK-EXHAUSTION stuff can be
automatically written into fasl files, the fasl file
version needs to be incremented.

2002-03-16 16:12:30 View
Download
[8286d1] (12.4 kB) by William Harold Newman William Harold Newman

0.7.1.29:
(Note that the STACK-FOO symbols introduced in this version
probably need to change, since as DB pointed out
on sbcl-devel 2002-03-04, they assume an identity
between C stack and SBCL control stack which doesn't
exist on the non-X86 ports.)
catching stack overflow, part II...
...defined *STACK-EXHAUSTION* and arranged for it to be
initialized in cold init
...added STACK-GROWS-FOOWARD to *FEATURES*, and used it to
reexpress some of the old #!+X86 conditionalization
merged APD "unbound condition slot" patch (sbcl-devel
2002-03-04), so that PARSE-DEFMACRO creates
ARG-COUNT-ERROR conditions correctly in the
(NOT (EQ ERROR-FUN 'ERROR)) case
made parse-defmacro-errors.lisp use pretty-printer
s/defmacro-lambda-list-bind-error/defmacro-ll-bind-error
added SB-DEBUG::*NESTED-DEBUG-CONDITION* to succor those of us
who like to divert ourselves by trashing print methods
bumped *DEBUG-PRINT-LEVEL* and *DEBUG-PRINT-LENGTH* so that
the new highly-structured pretty-printing :REPORT
methods for parse-defmacro-errors.lisp don't truncate
output too ludicrously

2002-03-05 03:53:04 View
Download
[b767ea] (12.1 kB) by William Harold Newman William Harold Newman

0.7.1.24:
merged CSR "build patch" 2002-02-21

2002-02-22 04:16:41 View
Download
[90ca09] (11.8 kB) by William Harold Newman William Harold Newman

0.pre7.109:
function name mess, continued...
...used NAMED-LAMBDA in DEFMACRO-MUNDANELY DEFUN
...tweaked non-toplevel handling of COLD-FSET so that it
notifies the compiler about the source name (using
NAMED-LAMBDA to do so)
deleted dead symbols from package-data-list.lisp-expr as per
APD sbcl-devel 2001-12-30
deleted bug 128 as per NJF sbcl-devel 2001-12-30
merged DB patch sbcl-devel 2001-12-30 for (mostly)
conditional-on-SB-LDB gross errors dating back to
all the global substitutions I was doing a while
ago (and added :SB-LDB to my default
customize-target-features.lisp, in hopes that maybe
I can catch more such problems myself)

2001-12-31 02:01:16 View
Download
[4eb1a6] (11.7 kB) by William Harold Newman William Harold Newman

0.pre7.74:
merged flaky6 changes back into main branch

2001-10-31 17:51:04 View
Download
[f61bdd] (11.5 kB) by William Harold Newman William Harold Newman

0.pre7.47:
deleted various long-unused GENGC stuff..
..deleted #!+GENGC conditional code
..made #!-GENGC code unconditional

2001-10-06 01:12:01 View
Download
[bf6093] (11.7 kB) by William Harold Newman William Harold Newman

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

2001-10-05 17:41:31 View
Download
[126f6a] (11.3 kB) by William Harold Newman William Harold Newman

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.

2001-08-30 00:10:56 View
Download
[4a0ab5] (11.5 kB) by William Harold Newman William Harold Newman

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.

2001-08-29 23:22:35 View
Download
[81cfdf] (14.0 kB) by William Harold Newman William Harold Newman

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

2001-07-14 04:25:14 View
Download
[dccfa0] (13.8 kB) by William Harold Newman William Harold Newman

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

2001-05-28 23:44:10 View
Download
[b19093] (13.0 kB) by William Harold Newman William Harold Newman

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.

2001-05-23 14:00:15 View
Download
[334af3] (12.7 kB) by William Harold Newman William Harold Newman

0.6.11.26:
restored CMU CL's :PROPAGATE-FLOAT-TYPE and :PROPAGATE-FUN-TYPE
functionality
changed design of CROSS-FLOAT-INFINITY-KLUDGE
renamed :PROPAGATE-FLOAT-TYPE and :PROPAGATE-FUN-TYPE
features to :SB-PROPAGATE-FLOAT-TYPE and
:SB-PROPAGATE-FUN-TYPE
renamed :CONSTRAIN-FLOAT-TYPE to :SB-CONSTRAIN-FLOAT-TYPE too
clarified TYPE-ERROR :TYPE in DEFUN SANE-PACKAGE
tweaked DEFCONSTANT handling so that CMU CL can handle the
DEFCONSTANT/DEFTYPE interaction in bit-bash.lisp
created SB-XC versions of various CL constants (e.g.
LEAST-POSITIVE-SINGLE-FLOAT) so that cross-compilation
of their DEFCONSTANT forms works more cleanly
reviewed uses of various CL constants and added SB!XC:
prefixes in compiled-on-host code: CALL-ARGUMENTS-LIMIT,
CHAR-CODE-LIMIT
split char.lisp into char.lisp and target-char.lisp so that
there'd be a suitable place to define CHAR-CODE-LIMIT
rewrote SOURCE-TRANSFORM-CXR stuff to avoid FORMAT call at
cold init time
suppressed bogus default DEFSTRUCT-generated COPY-READTABLE
hunting PROPAGATE-FOO-TYPE bug in compilation of OUTPUT-GSPACE..
..made MAKE-NUMERIC-TYPE enforce closed-bound invariant for
NUMERIC-TYPE-CLASS='INTEGER
..made MODIFIED-NUMERIC-TYPE to enforce NUMERIC-TYPE-CLASS
invariants; made slots read-only; rewrote
modify-NUMERIC-TYPE code to use MODIFIED-NUMERIC-TYPE
..moved FLET VALIDATE logic from CONSTRAIN-INTEGER-TYPE
and CONSTRAIN-FLOAT-TYPE to MAKE-NUMERIC-TYPE.
..Now COPY-NUMERIC-TYPE can go away.
..renamed BOUND-VALUE to SB!INT:TYPE-BOUND-NUMBER
factored out CTYPE-OF-NUMBER code
cross-type.lisp is type system code, so do it in SB!KERNEL.

2001-03-26 20:55:55 View
Download
[c8af15] (12.7 kB) by William Harold Newman William Harold Newman

0.6.11.24:
restored floating point infinity support..
..Grep for SB-INFINITIES matches in SBCL and fix them.
..Remove DEFMACRO INFINITE and its calls.
..added a few floating point infinity test cases

2001-03-22 13:51:36 View
Download
[83b88e] (13.1 kB) by William Harold Newman William Harold Newman

0.6.11.19:
fixed bug 88: made CROSS-TYPEP support KEYWORD, so that
(SUBTYPEP '(MEMBER :FOO) 'KEYWORD)=>T,T
made CROSS-TYPEP use EVERY/TYPE and ANY/TYPE for AND and
OR types

2001-03-20 16:49:07 View
Download
[993d5b] (12.9 kB) by William Harold Newman William Harold Newman

(belated 0.6.11.2 checkin notes):
Add missing EVAL-WHEN wrappers for DEFCONSTANT, as per bug
report from Arthur Lemmens sbcl-devel 2001-02-23..
..the use of #.MAX-VOP-TN-REFS in vmdef.lisp
..(not in the sequence of DEFENUMs in early-objdef.lisp, at
least not yet, since it caused problems when I did)
Wrap DEFUN SYMBOLICATE in EVAL-WHEN so that we don't need
to worry about using it in DEFENUM.

0.6.11.4:
some foreshadowing for reenabling :PROPAGATE-FLOAT-TYPE
and :PROPAGATE-FUN-TYPE features
CONCAT-PNAMES goes away in favor of SYMBOLICATE.

2001-02-27 18:03:28 View
Download
[e02c32] (13.4 kB) by William Harold Newman William Harold Newman

0.6.8.3: added CODE-COMPONENT slot for NO-DEBUG-INFO condition

2000-11-01 01:10:03 View
Download
[befe93] (13.4 kB) by William Harold Newman William Harold Newman

primarily intending to integrate Colin Walter's O(N) map code and
fixing BUTLAST (but doing some other stuff too, since achieving the
primary objective involved a lot of inspecting other code):

another revision of MAP stuff, part I:
* I switched over to code inspired by Colin Walters' O(N) MAP
code (from the cmucl-imp mailing list 2000 Sep 02) for the
general non-DEFTRANSFORM case.
* HIGH-SECURITY-SUPPORT error checking logic goes away, pending
part II
* I made some miscellaneous cleanups of old arity-1 code too.
* The old MAP-FOR-EFFECT, MAP-TO-LIST, and MAP-TO-SIMPLE macros,
and the old functions MAP-WITHOUT-ERRORCHECKING, and
GET-MINIMUM-LENGTH-SEQUENCES go away.
* The old #+!HIGH-SECURITY length-checking logic goes
away, to be replaced by stuff in part II.
* New O(N) functions %MAP-FOR-EFFECT, %MAP-TO-LIST, and
%MAP-TO-VECTOR are added, and MAP is redefined in terms of them.
* Add a note pointing out that since MAP-INTO has not been
rewritten to take advantage of all the new mapping technology,
it's still slow.
* Delete no-longer-used ELT-SLICE macro.

another revision of MAP stuff, part II: Peter Van Eynde might go into
a killing frenzy, or at least his ansi-test suite will gnaw SBCL to
death, unless we raise type errors on length mismatches like
(MAP '(SIMPLE-VECTOR 128) #'+ #(1 2) #(1 1)).
How to do this without clobbering efficiency? More DEFTRANSFORMs, I
think..
* MAP becomes a wrapper around %MAP. %MAP doesn't do this
kind of length checking, MAP does. The old DEFUN MAP,
DEFKNOWN MAP, and DEFTRANSFORM MAP stuff all turns into
corresponding definitions for %MAP. The wrapper is
implemented both as a DEFUN MAP and a DEFTRANSFORM MAP.
* Now make DEFTRANSFORM MAP smarter:
** If necessary, check at runtime that ARRAY-DIMENSION
matches what we pull out of SPECIFIER-TYPE.
** No test is done when SPEED > SAFETY.
** No test is needed when we can tell at compile time that
the result type doesn't specify the length of the result.
* Also add the same kind of ARRAY-DIMENSION/SPECIFIER-TYPE runtime
check to DEFUN MAP.
* While I'm at it, since DEFTRANSFORM MAP needs to think hard about
the type of the result anyway, it might as well declare what
it's figured out (TRULY-THE) to benefit any code downstream.

Start playing with MAP regression tests. Add tests/assertoid.lisp to
support future regression tests.

Once I started using the QUIT :UNIX-CODE keyword argument in my test
cases, I could see that it isn't very mnemonic. So I changed it to the
more-descriptive name :UNIX-STATUS, leaving the old name supported but
deprecated.

Oops! The old DEFTRANSFORM MAP (now DEFTRANSFORM %MAP) should really
only be done when (>= SPEED SPACE), but it wasn't declared that way.

While looking for an example of a DEFTRANSFORM with &REST arguments
to use as a model for the code in the new DEFTRANSFORM from MAP to
%MAP, I noticed that the problem of taking a list of names and
generating a corresponding list of gensyms is solved in many different
places in the code, in several ways. Also, the related problem of just
creating a list of N gensyms is solved in several places in in the
code. This seems unnecessarily error-prone and wasteful, so I went
looking for such cases and turned them into calls to MAKE-GENSYM-LIST.

another revision of MAP stuff, part III:
* Search for 'map' in the output from clocc ansi-tests/tests.lisp,
to check that the new MAP code isn't too obviously broken.
* Add some regression tests in test/map.impure.lisp.

Oops! The various %MAP-..-ARITY-1 helper functions expect a function
argument, but DEFTRANSFORM MAP can call them passing them a function
name instead.
* Change the helper functions so that they can handle
function names as arguments.
* Define %COERCE-CALLABLE-TO-FUNCTION to help with this. Note that
this seems to be what %COERCE-NAME-TO-FUNCTION meant long ago,
judging from DEFTRANSFORM %COERCE-NAME-TO-FUNCTION; so
appropriate that DEFTRANSFORM for %COERCE-CALLABLE-TO-FUNCTION.
* Use %COERCE-CALLABLE-TO-FUNCTION elsewhere that expressions
involving %COERCE-NAME-TO-FUNCTION were used previously.

deleted the old commented-out version of DEFMACRO HANDLER-CASE
(since it was marked "Delete this when the system is stable.":-)

deleted the old commented-out version of GEN-FORMAT-DEF-FORM,
since it was supposed to be safe to do so after sbcl-0.6.4

I removed the apology for not using PRINT-OBJECT everywhere in the
printer from the bugs list in the man page, since it seems to be
rather tricky to construct a test case which exposes the system's
non-PRINT-OBJECT-ness without the test case itself violating the ANSI
spec.

I updated, cleaned up, or removed outright some other outdated or
confusing entries in the BUGS file and from the bugs list on the man
page.

Now that BUTLAST no longer blows up on the new problem cases a la
(BUTLAST NIL -1), I wonder whether I could stop it from blowing
up on the old problem cases a la (BUTLAST NIL)? It looks like
a compiler problem, since the interpreted definition of BUTLAST works,
even though the compiled one doesn't. In fact, it's a declaration
problem, since LENGTH is set to -1 when LIST=NIL, but is declared
as an INDEX. (Of course it's likely also a compiler problem, since
the compiler is supposed to signal type errors for this kind of
declaration error.) I fixed the misdeclaration, and noted the
possible compiler bug in BUGS.

After writing the new revised weird type declarations for the
not-necessarily positive LENGTH, and writing explanatory comments,
;; (Despite the name, LENGTH can be -1 when when LIST is an ATOM.)
for each of the cut-and-pasted (LET ((LENGTH ..)) ..) forms in BUTLAST
and NBUTLAST, I said "screw it" -- no, that's not it, I quoted Martin
Fowler and Kent Beck: "If you see the same code structure in more than
one place, you can be sure that your program will be better if you
find a way to unify them," and "It's surprising how often you look at
thickly commented code and notice that the comments are there because
the code is bad." So I just rewrote BUTLAST and NBUTLAST. Hopefully
the new versions will be better-behaved than the old ones.

Now that the INDEX type is used in DEFUN MAKE-GENSYM-LIST, which
belongs in early-extensions.lisp, INDEX should be defined before
early-extensions.lisp, i.e. earlier than its current definition in
early-c.lisp. Move it to early-extensions.lisp. Then to make that
work, since DEF!TYPE is used to define INDEX, defbangtype.lisp needs
to precede early-extensions.lisp in stems-and-flags.lisp-expr; so move
it. Also, INDEX is defined in terms of SB!XC:ARRAY-DIMENSION-LIMIT, so
early-array.lisp needs to move before the new location of
defbangtype.lisp. And then early-vm.lisp needs to move before that, so
I might as well move the rest of the early-vm-ish stuff back too. And
then DEFTYPE is used before deftype.lisp, so I need to change DEFMACRO
DEF!TYPE to DEF!MACRO DEF!TYPE, so I need to move defbangmacro.lisp
before deftype.lisp. (This is like a trip down memory lane to the
endless tweaks and recompiles it took me to find and unravel the
twisted order dependencies which make CMU CL unbootstrappable. Ah,
those were the days..:-)

The DEFTYPEs for INDEX and POSN in early-assem.lisp duplicate
the functionality of the SB-KERNEL:INDEX type.
* Change uses of the SB-ASSEM::POSN type to uses of the INDEX type.
* Delete the SB-ASSEM::POSN type and the SB-ASSEM::MAX-POSN constant.
* Move SB-KERNEL:INDEX into SB-INT, since it's not really
just a kernel-level thing, but makes sense for implementing
user-level stuff in SB-INT and SB-EXT and SB-C (and SB-ASSEM).
* Grep for all '[a-z]:+index[^-a-z]' and rename them (or just
remove prefixes) to match new SB-INT-ness of INDEX.
* Make the SB-ASSEM package use the SB-INT package; delete
the SB-ASSEM::INDEX type and SB-ASSEM::MAX-INDEX constant.
And since as a rule anything which can see SB-INT deserves
to see SB-EXT too, make SB-ASSEM use SB-EXT as well.

2000-09-22 14:36:24 View
Download
[6d9ecc] (13.4 kB) by William Harold Newman William Harold Newman

added various /SHOW0-ish statements to help when debugging internal
error handling

The MAKE-SPECIALIZABLE-ARRAY call in DEFUN INTERNAL-ERROR-ARGUMENTS
can become MAKE-ARRAY, since M-S-A is something to make it easier to
build parts of the cross-compiler under the cross-compilation host,
and DEFUN INTERNAL-ERROR-ARGUMENTS is in x86-vm.lisp, which is not
part of the cross-compiler, and so is never compiled by the
cross-compilation host.

changed MAKE-VALID-LISP-OBJ from a MACROLET macro to a global
function, for clarity and easier debugging

deleted unused SET-VALUE macro from MACROLET in DEFERR

deleted code marked REMOVEME, accidentally left over from previous
debugging exercises

changed CONTEXT-PC-ADDR, CONTEXT-PC, CONTEXT-REGISTER-ADDR, and
CONTEXT-REGISTER functions to use unsigned representations instead of
signed representations, to conform to implicit assumptions in the
debug-int code inherited from CMU CL. (Without this, new type errors
are generated in infinite regress when we try to handle errors
involving negative fixnums, e.g. (BUTLAST NIL -1).)

tweaked stuff in test/ directory a little bit in anticipation of
setting up real regression tests

2000-09-20 18:50:02 View
Download
[a530bb] (13.4 kB) by William Harold Newman William Harold Newman

Initial revision

2000-09-18 01:26:16 View
Download