Commits on Aug 25, 2003
  1. 0.8.3:

    	release, tagged as sbcl_0_8_3
    William Harold Newman committed Aug 25, 2003
Commits on Aug 23, 2003

            * New bugs.
    Alexey Dejneka committed Aug 23, 2003
Commits on Aug 21, 2003

            * New bug.
    Alexey Dejneka committed Aug 21, 2003

    	Fixed hanging-on-reader-error in Darwin (and Solaris, it turns
    	... Here's the deal: lseek(), on "certain devices", has
    		"unspecified consequences"
    	... said devices include, empirically, /dev/stdin
    	... so lseek was merrily returning a success code despite
    		clearly being incapable of rewinding the input stream
    	... so in our new error-reporting for reader errors, we were
    		assuming because of the success value that we could
    		read the erroneous input into a buffer...
    	... whereas we were rather sitting there waiting for more input.
    	... So protect the rereading code with an INTERACTIVE-STREAM-P.
    csrhodes committed Aug 21, 2003

    	Partial fix for method definition protocol
    	... ANSI in its wisdom saith that the mere addition of a bogus
    		method to a generic function is not cause for signalling
    		an error.  Signal a warning instead, and defer the error
    		to when the function is called.
    	Factor out common testing code into a sourceable script, and
    	adjust the clos tests to reflect this new interpretation
    csrhodes committed Aug 21, 2003

            * Fixed new bug shown by CLOCC: EXPT type deriver tried to
              work with arbitrarily large exponents;
            * stylistic change: eliminate (case ... ('+ ...));
            * test case for the bug 45b;
            * stylistic change: stream tests should remove temporary files.
    Alexey Dejneka committed Aug 21, 2003
Commits on Aug 20, 2003

            * Partially enable VALUES declaration:
            ... PROCESS-DECLS does not accept continuation; instead it
                returns the asserted type as the second result;
            ... new macro: PROCESSING-DECLS, rebinds *LEXENV* and puts THE
                on the result, if needed;
            * IR1-CONVERT-LAMBDA-BODY and similar do not accept/pass the
              result continuation;
            * remove obsolete LEXENV-WEAKEND-TYPE-RESTRICTIONS.
    Alexey Dejneka committed Aug 20, 2003

    	When is a GO tag not a GO tag?
    	... remove stray "p" from midst of commentary :-)
    csrhodes committed Aug 20, 2003

    	IRC as a substitute for cvs diff | mail sbcl-devel
    	... purportedly fix the return-from-sigint problem on Darwin/PPC,
    		from Patrik Nordebo (KingNato)
    csrhodes committed Aug 20, 2003

    	Fix the shell suspension bug and threaded builds
    csrhodes committed Aug 20, 2003

            * New old bugs.
    Alexey Dejneka committed Aug 20, 2003
Commits on Aug 19, 2003

    	Fix READ-SEQUENCE bug (DB sbcl-devel 2003-08-19, Gerd Moellman
    	... and add a test;
    	Fix CEILING bug (PFD sbcl-devel 2003-08-19)
    	... add a test, and uncomment a bunch of now-working tests
    	One more format string badness fix.
    csrhodes committed Aug 19, 2003

    	Mostly contrib frobs
    	... merge sb-grovel string handling (Andreas Fuchs sbcl-devel
    	... hack at sb-posix designator concept until it doesn't blow
    		up when given list types;
    	... implement opendir/readdir/closedir in sb-posix
    		[not yet properly: everything is done with (* T) rather
    		than (* DIR) and (* DIRENT), but the interface is fine];
    	... add a FINISH-OUTPUT to sb-rt, so that the failing tests are
    		printed before the backtrace, not during;
    	... print ALIEN-VALUEs' alien type in PRINT-OBJECT
    csrhodes committed Aug 19, 2003

            * New optimization policy: RECOGNIZE-SELF-CALLS;
            * on x86 DATA-VECTOR-REF/SIMPLE-BASE-STRING does not use AL
    Alexey Dejneka committed Aug 19, 2003
Commits on Aug 18, 2003

    	FORMAT string deftransforms can give spurious optimization notes
    	on e.g. (COMPILE NIL '(LAMBDA (X) (ERROR X))); implement
    	checking of constant format strings via DEFOPTIMIZER OPTIMIZER
    	... also add rudimentary test of warning functionality
    csrhodes committed Aug 18, 2003

    	Slightly alleviate the bit-vector user's surprise ("mummy, why
    	does initializing a bit-vector's elements to 1 take so long?")
    	... DEFTRANSFORM FILL for the easy case.
    csrhodes committed Aug 18, 2003

    	Sparc build fix I
    	... cross-compiler versions of ASH-RIGHT-[UN]SIGNED, to stop the
    		compiler from going into an endless loop during compilation
    		of STRING :-)
    	Sparc build fix II
    	... we don't support sigreturn via call_into_lisp on anything
    		but x86 yet.
    csrhodes committed Aug 18, 2003

            * New macro SB!INT:BINDING*, uniting LET*, M-V-BIND and AWHEN;
            * add simple inference of iteration variable type;
            * SAME-LEAF-REF-P: look through CAST chains;
            * wrap all uses of handle_rt_signal into #!+sb-thread;
            * (SB-ACLREPL): CD-CMD takes one argument, not two.
    Alexey Dejneka committed Aug 18, 2003
Commits on Aug 17, 2003

            * Try to fix bug 267 = optimization issue #7: inside
              NAMED-LAMBDA replace references to a function with the same
              name with self-references;
            * ASSERT-GLOBAL-FUNCTION-DEFINITION-TYPE: do not put type
              assertions for functions with EXPLICIT-CHECK attribute;
            ... FLOAT-RADIX does not perform explicit check;
            * implement cross-compiler versions of %DPB and %WITH-ARRAY-DATA.
    Alexey Dejneka committed Aug 17, 2003

    	Rename return_to_lisp_function to arrange_return_to_lisp_function,
    	as threatened
    	SIG_INTERRUPT_THREAD presently only exists on Linux: add
    	#ifdef to avoid breaking other x86en
    	Darwin complains "union has no member named `sival_int'" in
    	handle_rt_signal.  But we're only using that in thread builds
    	anyway, so #ifdef it
    	Bug 75 (:ELEMENT-TYPE for WITH-OUTPUT-TO-STRING) was fixed in
    	some previous version: remove from BUGS file
    	Shameless autopuffery, plus some amount of transpuffery, in
    	CREDITS file.
    	Update NEWS file
    	tests/.cvsignore: don't tell me about threads-foreign-code.*
    telent committed Aug 17, 2003

            * AVER was too early in the cross compiler.
    Alexey Dejneka committed Aug 17, 2003

    	Move lines above/below LISP_FEATURE_X86 conditionals, to
    	remove non-x86 brokenness introduced by return-elsewhere
    telent committed Aug 17, 2003
Commits on Aug 16, 2003

    	Merge patch from Brian Mastenbrook for better dlfoo handling
    	on Darwin (plus more-likely cpp options, add boilerplate)
    	... reindent to 4 spaces;
    	ASSQ patch from observation by PFD sbcl-devel 2003-08-16
    	... (NOT (NULL PAIR)) plus explanatory comment;
    	Pragmatism: since not all lisps implement arrays with NIL
    	specialized-array-element-type, our cross-compiler version needs
    	to be more robust.  Symptoms: building sbcl/ppc from openmcl loses
    	in cold-init; sbcl/sparc from sbcl-0.7.x hangs in cross-compiler
    	compilation of STRING
    	... since we don't need any (ARRAY NIL)s to cross-compile SBCL,
    		the answer to SIMPLE-ARRAY-NIL-P for constant-folding
    		purposes in the cross-compiler is always NIL.
    csrhodes committed Aug 16, 2003

    	Implement INTERRUPT-THREAD, which forces another thread to
    	execute a function supplied by the caller.
    	In the process, design a mostly entirely new scheme for
    	calling Lisp code as a result of a handled signal: instead of
    	calling into Lisp directly, frob the signal context and the
    	stack to arrange that the Lisp is called after the signal
    	handler itself has returned.  This is expected to be
    	applicable to signal handlers generally (and will have portability
    	benefits), but needs them to be changed around to call it.
    	Presently it's used only for interrupt-thread (SIGRTMIN)
    	and control stack exhaustion (one branch of SIGSEGV)
    	In principle, all you need do to use this in other places is
    	call return_to_lisp_function in the signal handler, with the
    	context and the function object that you wish to be called.
    	For the x86 you also need to make sure the signal is being
    	handled on the alternate signal stack, otherwise you'll
    	overwrite your own stack frame.
    telent committed Aug 16, 2003

            * Provide cross-compiler versions of several internal
            * BIGNUM-LOGNOT VOP is the same as LOGNOT-MOD32.
    Alexey Dejneka committed Aug 16, 2003

    	Fix errors shown up by new ERROR/FORMAT code in sparc backend
    csrhodes committed Aug 16, 2003
Commits on Aug 15, 2003

    	Fix PPC (complex double-float) bug as reported on sbcl-devel
    	by Clemens Heitzinger 2003-08-12
    	... the right way, not as per CSR patch sbcl-devel, but as per
    		CSR words sbcl-devel;
    	... also fix error reporting in CERROR format DEFTRANSFORM
    		(oh, the irony).
    csrhodes committed Aug 15, 2003

            * Fix bug in ASSQ, reported by Paul Dietz;
            * FLOAT-RADIX IGNOREs its argument as was suggested by Clemens
            * fix return type declaration for FFLOOR and friends (reported
              by Paul Dietz);
            * SB-C::DESCRIBE-COMPONENT prints blocks in IR1 component "as
            * introduced "good" (transparent) modular functions;
            ... LOGAND and LOGIOR are :GOOD;
            * on X86: transform 32BIT-LOGICAL-xxx into LOGXXX; implement
              LOGXOR-MOD32; change implementation of FAST-+-MOD32: inherit
              without changes from FAST-+/UNSIGNED=>UNSIGNED :-).
            (On X86 SB-MD5 may be implemented without 32BIT-LOGICAL-xxx
            and evil TRULY-THE.)
    Alexey Dejneka committed Aug 15, 2003
Commits on Aug 14, 2003

    	Extend FORMAT string checking to ERROR, CERROR and WARN (and
    	many internal functions too)
    	... correct the surprising number of bugs that this reveals;
    	... since one of said bugs was the *INTEXP-MAX-EXPONENT* one,
    		default this to NIL and make the error non-continuable.
    csrhodes committed Aug 14, 2003

    	Build fixes for asdf-install.  Has installed a module via cliki for
    	me, so maybe it works now.
    csrhodes committed Aug 14, 2003
Commits on Aug 13, 2003

            * Fix bug in the portable implementation of SB-MD5::I;
            * add support for modular functions with argument number
              different from 2;
            * SB!C::CUT-TO-WIDTH: derive node type from the type
            * on x86 reimplement LOGNOT as a modular function and
              implement 32BIT-LOGICAL-NOT in terms of LOGNOT;
            ... remove optimization of LOGNOT with LOGAND dest.
    Alexey Dejneka committed Aug 13, 2003
Commits on Aug 12, 2003

            Initial implementation of modular functions:
            * new macro: SB!C:DEFINE-MODULAR-FUNCTION;
            * optimization of LOGAND: try to cut arguments to the needed
              number of bits;
            * implemented + with 32 bit width for x86.
    Alexey Dejneka committed Aug 12, 2003
Commits on Aug 11, 2003

            * Quick trick to optimize NJF's SHA1 portable implementation:
              replace LOGNOT with 32BIT-LOGICAL-NOT when its DEST is
              LOGAND with an argument of type (UNSIGNED-BYTE 32).
    Alexey Dejneka committed Aug 11, 2003
Commits on Aug 10, 2003
  1. <Krystof> dan-b: you've put a binary file under version control <Krys…

    …tof> was that intentional?
    telent committed Aug 10, 2003

    	A full and final answer[*] to all the people who keep asking
    	for slightly tangential software to be added to contrib: to
    	wit, a contrib module to automate the downloading and
    	installing of packages that are _not_ part of contrib.
    	* (require 'asdf-install)
    	* (asdf-install:install 'xlunit)
    	$ sbcl-asdf-install xlunit
    	See contrib/asdf-install/README for more details and scary
    	security-related muttering.
    	so that files don't have to be written such that the
    	application starts as soon as they're loaded
    	[*] Ha!
    telent committed Aug 10, 2003