* Fix a bunch of tyepos, including the all-important distinction between < and >. * Correct cross-references pertaining to *INVOKE-DEBUGGER-HOOK*. * Remove cartouches from docs, as they seem to mess up the HTML output. * Remove a duplicated text about muffle-conditions, left in after a cut & paste fest.
* Fix dladdr bogosities: test if dladdr is supported on the platform, and add an ldso_stub for it if so. This so that SBCL isn't dependant on the dladdr being at the same location at runtime as it was on the build-host. Move the dummy definition for FOREIGN-SYMBOL-IN-ADDRESS to target-load, so that backtraces on target will work before foreign.lisp is built. Clean up the real F-S-I-A definition to use the :os-provides-dladdr feature. * Fix manual bogosities: generate functions signalling UNSUPPORTED-OPERATOR-ERROR for SB-BSD-SOCKETS platform-dependant sockopts on platforms where they're not supported; make these functions have the normal doctrings. This so that manual building will work on non-Linux as well. Also clean up the .sbclrc examples slightly.
* Slightly less, but hopefully more representative of reality, documentation for type checking policies. * Generally reorganize the Compiler chapter a bit, moving and renaming some sections -- eg. split "Compiler Errors" --> "Compiler Diagnostics" and "Compiler Errors". * Back out a bogus lifting of chapter @nodes into sbcl.texinfo which leaked in accidentally. * Remove references to INHIBIT-WARNINGS, leaving only a footnote.
* Include documentation, however sparse, for SB-PROFILE, SB-GRAY, and SB-SIMPLE-STREAMS. * Beginnings of restructuring the manual: lift SB-BSD-SOCKETS into a full chapter called "Networking", etc. * An unfortunate consequence of the above is that we cannot autogenerate the contrib-doc list anymore, and the contrib documentation structure is less otrhogonal and has tighter coupling to the general manual structure. Since new contribs appear relatively seldom this is hopefully not a big issue.
Implement modular ASH for non-constant positive shifts ... make sure that we only apply the transform when we know the shift count won't be misinterpreted... ... and also that we don't do the more expensive non-constant shift for constant counts; ... punt on some of the cleverness for hppa; all other platforms should be optimal. ... one test for something which went wrong in an earlier version.
Fix/bandaid for some more threading problems (though regrettably only the easy ones) ... when stopping threads for GC, if kill() fails assume this is because the thread died after outliving its parent so nothing was available to set th->state=STATE_DEAD when it exited. Mark said thread dead, Ted. (Note: still doesn't cope with pid recycling. In the unlikely-unless-malefactor-involved case that a pid previously used for a thread died after its parent and now belongs to an unrelated process which the current user has permission to kill it, it will probably die in the next GC. Exploits on a postcasrd to the usual address, please) ... interrupt_thread() now checks that the thread is one we know about (instead of just some random other process) and refuses to kill if it's not. INTERRUPT-THREAD now catches this and other errors from kill() and signals a more useful condition than the provious "unexpected system call failure" ... only the parent of a thread can identify whether it is a zombie, which it should usually do when it gets a SIG_THREAD_EXIT. It's possible that this signal may go missing if delivered during pseudoatomic or similar, so for the sake of being able to GC we ask each thread to check its children again in the stop_for_gc_handler before going to sleep Thread documentation update based on the LSM lightning talk
Restore Darwin buildability ... put sbcl.h before runtime.h in ppc-darwin-mkrospace.c. It would be nice if a compilation failure in ppc-darwin-mkrospace caused the build to abort, but I don't know if make is rich enough to express that in conjunction with the fact that compiling it is not necessary on non-ppc/darwin platforms.
Define an appropriate primitive type alias for SB!C::RAW-VECTOR; the src/compiler/*/array.lisp changes from a version or two ago should now build properly (thanks to Xophe for the alias idea). Merge changes to package-data-list.lisp-expr, including support for various 32/64-bit-isms which have not yet landed.