Try to minimize Mach dependencies on Darwin; in particular, use POSIX
signal handling to handle exceptions (as is done on other *nix platforms.)

Use sigaltstack() on Darwin; it still seems to have problems, but at least
doesn't (usually) try to force all threads to use the same alt stack.  (That
just never gets old somehow ...)

Lots of stuff removed; lots of (mostly small, mostly obvious) changes to
support the above.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15470 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Don't use uninitalized stack.ss_size in setup_sigaltstack().


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15471 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Work around the fact that OSX 10.5 doesn't set info->si_code on SIGFPE.
(Hope that the workaround works for later releases, which seem to bother
to get things like this right.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15472 8bdb8f1d-59ce-db11-9e41-0016172a54ae

Ensure that darwin_sigreturn() is prototyped on platforms where it's
used.

Remove some remaining Mach-isms (notably the paging info stuff used
by GC-VERBOSE; just use getrusage()).

Make sure that the right headers are included in threads.h, to support
the remaining Mach-ism (use of Mach semaphores.  Apple still doesn't
implement POSIX semaphores, though the functions have been prototyped
for several years now.)

This builds without warnings or errors on 10.8.1 with Xcode 4.4's
toolchain.  It -may- address the problems described in ticket:1019.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15473 8bdb8f1d-59ce-db11-9e41-0016172a54ae
CONGRUENT-LAMBDA-LISTS-P: if gf's lambda list has &allow-other-keys,
don't check explicit keywords.  Fixes ticket:1018 in the trunk.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15474 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Comment out redundant and wrong definition of #'choose-directory-dialog.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15475 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Crude support for declaring that Objective-C classes implement
formal protocols.

Example:

(defclass some-objc-class (ns:ns-object)
  ((slot1 :accessor slot1 :foreign-type :id))
  (:metaclass ns:+ns-object)
  (:objc-protocols "NSTextInput" "NSCopying"))

See ticket:453.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15476 8bdb8f1d-59ce-db11-9e41-0016172a54ae

COPY-LIST: if we find that the list is "fairly long", check to see
if it's "very long" and change algorithm if so.

CHECK-SEQUENCE-BOUNDS: take length as an &optional arg, since some
callers may want to avoid doing LENGTH multiple times.

CONSTANTLY: return #'TRUE or #'FALSE if appropriate.

REMOVE, REMOVE-IF, REMOVE-IF-NOT: build result, don't do destructive
operations on copy.  (Fixes ticket:1015 in the trunk, though other
sequence functions may do similar things.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15477 8bdb8f1d-59ce-db11-9e41-0016172a54ae
remove stray #\v

git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15480 8bdb8f1d-59ce-db11-9e41-0016172a54ae
CONSTANT-REF prototype for PPC.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15487 8bdb8f1d-59ce-db11-9e41-0016172a54ae
CONSTANT-REF prototype for ARM.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15488 8bdb8f1d-59ce-db11-9e41-0016172a54ae
CONSTANT-REF prototypes for x86{64,32}.

CONSTANTLY: copy the CONSTANT-REF prototype and change its first constant,
rather than making a closure.  (Calling the result is a few times faster.)


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15489 8bdb8f1d-59ce-db11-9e41-0016172a54ae
Actually bother to get x8632 version of CONSTANT-REF right.


git-svn-id: http://svn.clozure.com/publicsvn/openmcl/trunk/source@15490 8bdb8f1d-59ce-db11-9e41-0016172a54ae