Add odxprint, a replacement for FSHOW which can be configured at run-time
authorDavid Lichteblau <david@lichteblau.com>
Tue, 4 Sep 2012 15:16:01 +0000 (17:16 +0200)
committerDavid Lichteblau <david@lichteblau.com>
Tue, 11 Sep 2012 10:14:50 +0000 (12:14 +0200)
commitebb604b4422ba886e70ce2e531c1f4d28d44e721
tree5c484b33a6168492667737d815b2bd853c2d88dc
parent0285aa5ff8416027932daa001b84429be2ca559b
Add odxprint, a replacement for FSHOW which can be configured at run-time

  - A new macro odxprint(flag, "fmt", ...) performs the equivalent of
    a printf("fmt", ...), but only if `flag' has been enabled at
    run-time.

  - Environment variables can be used to set flags, using either
    SBCL_DYNDEBUG="flag1 flag2 flag3" syntax, or
    SBCL_DYNDEBUG__FLAG1="nonempty string" syntax.

  - Lisp feature SB-QSHOW enables support for odxprint-based FSHOW.
    (Users who prefer to edit runtime.h to enable QSHOW can still do
    so...)  SB-QSHOW is enabled by default on Windows, where the
    odxprint mechanism was first used.

  - Implement FSHOW, FSHOW_SIGNAL on top of odxprint.  Corresponding
    flags are called fshow, fshow_signal.

  - For gencgc_verbose, support a flag of the same name, since it is
    conditional on QSHOW (inspite of not being implemented on top of
    FSHOW).

 - Does not yet support odxprint features specific to Windows debugger
   integration; output is currently directed to stderr unconditionally.

This commit backports Anton Kovalenko's Windows-specific odxprint to
POSIX and integrates it with FSHOW.
base-target-features.lisp-expr
make-config.sh
src/runtime/gencgc.c
src/runtime/interrupt.c
src/runtime/print.c
src/runtime/runtime.c
src/runtime/runtime.h
src/runtime/safepoint.c