1.0.46.31: clean up mach port deallocation on x86

 * don't deallocate the exception_port port and check the return
   values from deallocating the thread and task ports
1.0.46.32: export sb-kernel::redefinition-with-defmacro

  Export sb-kernel::redefinition-with-defmacro the same way we already
  export sb-kernel:redefinition-with-defun and it's CLOS friends.
1.0.46.33: constraint: Don't substitute REFs when replacement LEAF is not visible.

  * Bug reported by Frank Duncan, additional diagnosis by Heka Treep,
patch review and revision by Nikodemus Siivola.

  * Introduce LEAF-VISIBLE-FROM-NODE-P, which verifies that the LEAF
about to be substituted is visible from the NODE to be modified.

  * Add LEAF-VISIBLE-FROM-NODE-P as an additional precondition to
calling CHANGE-REF-LEAF, which does the actual substitution.

  * And, for good measure, added a test to the test suite.
1.0.46.34: Fix tests for builds without sb-eval.

Add #+sb-evel to cases which bind sb-ext:*evaluator-mode* to :interpret.
1.0.46.35: first cut at MAP-ROOT

 Walking references from an arbitrary lisp object.
1.0.46.36: par for course, committed the wrong version of MAP-ROOT as 1.0.46.35

 This one actually works instead of having package errors.
1.0.46.37: SIMPLE-CONDITION slots are initialized with NIL if not supplied

  So says CLHS.

  When there is no format control and *PRINT-ESCAPE* is false,
  signal an error.
1.0.46.38: tad more information PACKAGE-LOCK-VIOLATION conditions

 * Add the current *PACKAGE* when the error is signaled to the
   condition.

 * Now that SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL,
   PACKAGE-LOCK-VIOLATION can inherit from SIMPLE-CONDITION instead of
   definining its own FORMAT-CONTROL and FORMAT-ARGUMENTS slots.
get rid of *EQL-SPECIALIZER-TABLE-LOCK*

  Use WITH-LOCKED-HASH-TABLE instead.
1.0.46.40: more comprehensive MAP-ROOT

 * EXT defaults to T and provides:
   ** EQL specializers on the object
   ** symbol values in other threads
   ** MACRO-FUNCTION on symbols

 * Threads map to thread-local values as well, courtesy of
   SB-THREAD::%THREAD-LOCAL-VALUES.

 * Don't report multiple references to the same object.
1.0.46.41: double-check simple functions in looks_like_valid_lisp_pointer_p

 * A function contained in a code object is always a simple function.
   Make sure that we actually have one, instead of a random location
   in the code object.
1.0.46.42: more on threads in SB-INTROSPECT:MAP-ROOT

 * Thread local values: filter out invalid values correctly (oops),
   also change SB-THREAD::%THREAD-LOCAL-REFERENCES to work on current
   thread only.

 * References from stack: SB-VM::MAP-STACK-REFERENCES walks the
   current thread stack looking for things that look like references
   to heap objects.

 * MAP-ROOT interrupts the thread it wants to check out, unless it is
   the current one -- a bit tacky, but seems preferable to stopping
   the world.
1.0.46.43: fix sb-introspect on non-threaded builds

 * put #+sb-thread around calls inspecting sb-thread::%thread-local-references
1.0.46.44: room: Fix map-stack-references for stack-grows-upward systems.

  * SAP+ is (function (system-area-pointer integer) (values
system-area-pointer)).

  * SAP- is (function (system-area-pointer system-area-pointer) (values
integer)).

  * When negating the delta in a SAP+ operation, don't use SAP-.
Instead, negate the offset.  Otherwise, you get a WARNING for passing an
integer where a system-area-pointer is expected.
1.0.47: Will be tagged as 1_0.47
1.0.47.1: fix longstanding bug in os_get_runtime_executable_path on darwin

 * in os_get_runtime_executable_path, we were wrongly assuming that
   size would be set to the actual size of the string on a successful
   call to NSGetExecutablePath. This isn't the case and we were
   setting path[1025] = '\0'; causing things to break with XCode 4's
   CLANG compiler.

 * While we're at it, we should check to make that runtime_path is not
   NULL before we free it, as there is a code path where we might end
   up trying to free runtime_path when it was NULL but
   saved_runtime_path was non-NULL.
1.0.47.2: nicer error behaviour for TRACE

  Fixed lp#740717.

  Instead of an error, warn about the undefined function and ignore
  it.

  Similar behaviour for attempts to TRACE special operators or invalid
  function names.

  (Trace is virtually always invoked interactively, which means that a
  warning about the issue interrupts the flow less than hitting the
  debugger. Also, CLHS doesn't require any errors.)
1.0.47.3: better DEFSTRUCT constructor type declarations

  Lift the argument types into the FTYPE declarations, instead
  of just having them internal to the constructor functions.

  Prior to this the declared type of MAKE-FOO after

    (DEFSTRUCT FOO (X 0.0 :TYPE SINGLE-FLOAT) (Y))

  was (FUNCTION * (VALUES FOO &OPTIONAL)), after this it
  becomes

   (FUNCTION (&KEY (:X SINGLE-FLOAT) (:Y T)) (VALUES FOO &OPTIONAL))

  as appropriate -- allowing types to propagate better, and providing
  warnings for signature mismatches even if the constructor is not
  inlined.

  Also fix whitespace damage in ntrace.lisp.
1.0.47.4: Fix slot-documentation for SB-POSIX:TERMIOS slot CC.

  * Unlike every other documentation string for a DEFINE-PROTOCOL-CLASS
slot, this one documentation string did not end in a period (#\.).
Fixed.

  * While we're at it, alter the DEFINE-PROTOCOL-CLASS macro to not
ignore DEFCLASS slot options after an :ARRAY-LENGTH option (reported
by mon_key in #lisp).
1.0.47.5: sb-posix: add read(2) and write(2)

  Patch by Daniel Lowe.

  Also add missing NEWS entries.