by Alastair Bridgewater
tests: Skip stream.impure.lisp / BUG-657183 on non-unicode.
* For some reason, #\GREEK_SMALL_LETTER_LAMDA isn't a valid
[224de3] by Joshua Elsasser
Oops, remove a debugging printenv which snuck in.
[8c4183] by Nikodemus Siivola
try to robustify test for bug-309448
We've been getting intermittent reports of it failing, but I've been unable
Other than non-SBCL causes the only thing I can think of right now is GCs
[0dda50] by Lutz Euler , pushed by Nikodemus Siivola
Tighter floating-point type constraints in some cases
CONSTRAIN-FLOAT-TYPE used to return a closed bound in some cases where
(defun foo (x)
Fix CONSTRAIN-FLOAT-TYPE so that it returns the tightest possible result
See lp#894498 for details.
[c5e9ad] by Joshua Elsasser
Insure that the test for bug 881445 runs with a large enough dynamic space.
[9cb944] by Joshua Elsasser
Skip a known failure on openbsd.
[feb345] by Joshua Elsasser
Avoid a reader error in threads.pure.lisp with non-threaded sbcl.
[b90e13] by Lutz Euler , pushed by Christophe Rhodes
Make EXPT use double-precision throughout in more cases
lp#741564 notes that a Maxima test case fails because the result of
This behaviour actually occurs for all the following combinations
(EXPT <(or rational single-float)> <(complex double-float)>)
(EXPT <(or (complex rational) (complex single-float))>
In all these cases the first step EXPT does is to calculate (LOG BASE)
Refine the type dispatch clauses in EXPT to separate these cases
Signed-off-by: Christophe Rhodes <email@example.com>
[2050b7] by Nikodemus Siivola , pushed by Nikodemus Siivola
better inner and anonymous function names
* New concept: "name context". It is either name of the outermost non-NIL
* Name anonymous functions as
(LAMBDA <lambda-list> :IN <context>)
* Name FLET and LABELS functions as
(FLET <name> :IN <context>)
(LABELS <name> :IN <context>)
Adjust tests to suit.
* Remove BLOCK-GENSYM as this fulfills the same goals, and together
[6cfdd9] by Nicolas Edel , pushed by Nikodemus Siivola
pass errno from exec() to parent in spawn()
Open a pipe, set FD_CLOEXEC.
Child: if exec() fails, grab errno and write it to pipe.
Parent: try to read from the pipe -- if you get something, it means the
Also use _exit() instead of exit() when dying in the child after exec
(Somewhat edited from Nicolas' original patch.)
Signed-off-by: Nikodemus Siivola <firstname.lastname@example.org>
[5efae2] by Paul Khuong
Plug a CTYPE leak into fasls via SETQ
Type mismatch from SETQing lexical variables used to dump CTYPE
Reported with the test case by Xach on #lisp.
[79be3b] by Nikodemus Siivola
symlinks and RENAME-FILE and DELETE-DIRECTORY
Both followed symlinks too eagerly.
* Presumably anyone doing (rename-file "link-to-foo" "bar") wants to rename
Make it so.
* It is less clear what someone doing (delete-directory "link-to-dir")
[b71b8d] by Nikodemus Siivola
extensible CAS and CAS extensions
DEFINE-CAS-EXPANDER and DEFCAS are analogous to DEFINE-SETF-EXPANDER and
(defun (cas foo) (old new ...) ...)
THis is exported from SB-EXT for users to play with, and used to implement
Add support for CAS of:
In case of SLOT-VALUE we don't yet support any optimizations or specify
(CAS SLOT-VALUE-USING-CLASS) &co
in order to support it for arbitrary instances.
Adding support for permutation vector optimization should not be too hard
[a7a9b1] by Alastair Bridgewater
Make MAKE-LISP-OBJ pickier on CHENEYGC.
* Move the valid_lisp_pointer_p() guts from gencgc.c to
* Make the lisp-side VALID-LISP-POINTER-P not-gencgc-specific.
* Always use VALID-LISP-POINTER-P in MAKE-LISP-OBJ instead of
[597c0a] by Alastair Bridgewater
gencgc: Make MAKE-LISP-OBJ of SIMPLE-FUN object addresses work.
* This turned out to be a bug in the gencgc guts,