After an (EQL X Y) test both X and Y shall inherit the constraints of the other. Thanks to jsnell for spotting this.
* ... for the case where a forward reference is made during compilation, and the referenced function is loaded from a pre-existing fasl while still inside the same compilation unit. (Reported by Jeremy Brown). * Tests.
…sor abuse * socket, dirent (patch from Richard Kreuter)
* Get rid of the extra wrapper lambda around fopcompiled functions * This requires making sure that functions with xeps are never let- or assignment-converted. * Fix some whitespace damage, and a few tests that were making invalid assumptions * Compilation speedup seems to be about 5% for most cases, up to 20% on high debug levels.
Broken by the recent bivalent stream fix. * Arbitrarily decide that READ-SEQUENCE into a simple-vector from a bivalent stream should read character data * More tests
When generating CLOS accessors, use the :documentation of the slot for the docstring of the method (Patch by Troels Henriksen)
It turns out that getpagesize() can return different values on different Linux kernel versions, for example on PPC where the ABI specifies the page size as 4k-65k. If getpagesize() and SB!C:*BACKEND-PAGE-SIZE* disagree, the result will be a segfault at startup. Fix this. (Thanks to David Woodhouse). * SB!SYS:GET-PAGE-SIZE and os_vm_page_size use the hardcoded SB!C:*BACKEND-PAGE-SIZE* on Linux, since getpagesize() is unreliable. * Remove the obsolete LISPOBJ() kludge in genesis for forcing values to unsigned. * Fix buffer overflow in coreparse for sufficiently small page tables. * Allow using 65k or gencgc pages (with a slightly less efficient page table structure layout).
* Patch by Richard Kreuter
Fix bug in the win32 ATANH implementation (patch by Pierre Mai)
Add limited support for LET and LET* to the fopcompiler (can only be used for binding lexical variables which aren't closed over). Speeds up McCLIM compilation by 5-10%.
non-local exit. Revert src/assembly/x86/assem-rtns.lisp changes of version 22.214.171.124. Add Win32 SEH frame to catch-block and unwind-block object definitions. Changed VOPs in src/compiler/x86/nlx.lisp to set up SEH frames for unwind-protect and unwind targets. Added Win32-specific assembly-routines to handle unwinding and unwind-protect frames. Added an SEH frame to call_into_lisp. Added a wrapper around the runtime exception handler to provide a set of continuous stack frames over the system unwind logic (which doesn't maintain EBP properly, thus breaking backtraces). Added test cases for unwinding lisp stack frames from alien code.
Add generic function STREAM-FILE-POSITION, used to provide an implementation of FILE-POSITION for Gray streams (thanks to Eric Marsden).
Handle PATHNAME-DEVICE in ASDF-INSTALL:DIRECTORIFY (thanks to Yaroslav Kavenchuk).
Signal an error for duplicate tags in a tagbody rather than looping infinitely, allow using NIL as a go tag (thanks to Stephen Wilson)
The expansion of SB-SPROF:WITH-PROFILING was missing the parameter to SAMPLES-MAX-SAMPLES, which broke :SHOW-PROGRESS (thanks to Kilian Sprotte)
Fix bug introduced in 126.96.36.199, where bogus debug variables generated for closure variables whose value cell had not yet been allocated could cause segfaults and gc crashes (reported by Cyrus Harmon and Attila Lendvai on sbcl-devel)
Remove context-restore trap. Remove sigtrap_trampoline and exception_trampoline, sigtrap_emulator, sigtrap_wrapper, and handle_win32_exception_wrapper. Change handle_exception to call HANDLE-WIN32-EXCEPTION and sigtrap_wrapper directly. Remove the saved context and exception from the SEH frame structure.
logged bugs reported by Ariel Badichi
Add RESTART-FRAME command to the debugger, reduce the runtime cost of the debug catch tags. * Change the debugger catch tag to funcall the thrown value, rather than just returning it. * Make RETURN throw a thunk that returns an appropriate value, and RESTART-FRAME throw a thunk that calls the same function again with the same arguments. * Always emit the debug catch with a static tag, rather than consing up a new tag every time the catch is entered. * To ensure that the tags are unique, the RETURN and RESTART-FRAME commands will first cons up a new tag, find the right catch-block structure on the stack, assign the new tag to the tag slot, and then throw the new tag. * Don't add the catch tags to some uninteresting (usually compiler-generated) functions, to reduce the compilation speed hit.
mkstemp(3) takes a template string as an "out" parameter. The sb-posix README states that this should be returned as a second value, so we do that. (From a user report that the template string would not get properly clobbered in post-1.0 sbcls. Ow.)
Collect output from building contribs into files in output/, for easier remote debugging. ... also a typo fix for the manual from sb-bsd-sockets documentation. (from Hedos on sbcl-devel)
Provide a better diagnostic for apparently broken SB-BSD-SOCKETS installs. Also print a better error message and return an error code from make-target-contrib.sh if any contribs fail, so that these broken installs are less likely to happen.
188.8.131.52 caused an error to be signaled for READ/WRITE-SEQUENCE on unsigned-byte vectors and bivalent streams, which broke ASDF-INSTALL. (Reported by Josip Gracin)
Suppress a spurious full warning when compiling (MAKE-LIST 0) with a (SPACE 0) policy. (Reported and fix suggested by James Knight).
Support executable cores on NetBSD (patch from Richard Kreuter on sbcl-devel).
Handle REQUIRE on non-asdf contrib modules more gracefully for :EXECUTABLE cores.
Display closed over variables in the debugger for code compiled with high debug settings. * Use :ENVIRONMENT TNs for all closure variables. * Allow the debug-info dumper to store debug information for variables that were not defined in the function whose debug information is being dumped.
Better error checking for incompatible stream / sequence types in READ-SEQUENCE and WRITE-SEQUENCE. (Patch by Tony Martinez, sbcl-devel 2006-12-05).
Suppress a bogus style-warning for MAKE-INSTANCE on a class with no slots and a non-standard metaclass. (Patch by Matthew Swank).
Fix Sparc build with gcc 4.1. (Patch from Rex Dieter).
Oops, initforms for &AUX parameters were evaluated multiple times for fast-method-functions. (Reported by Kevin Reid on sbcl-devel).