diff options
author | Miles Bader <miles@gnu.org> | 2007-11-11 00:56:44 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2007-11-11 00:56:44 +0000 |
commit | f23d76bdefbd4c06e14d69e99e50d35ce91c8226 (patch) | |
tree | ded28d1da6df2d0135514bac83074f4ca1c9099a /src/lisp.h | |
parent | e2d092da5980a7d05a5428074f8eb4925fa801e8 (diff) | |
parent | a457417ee5ba797ab1c91d35ee957bb7a7f8d4b6 (diff) | |
download | emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.tar.gz emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.tar.bz2 emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.zip |
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-283
Diffstat (limited to 'src/lisp.h')
-rw-r--r-- | src/lisp.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index 62c629bd4a8..f4b93ff9dce 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -84,6 +84,20 @@ extern void die P_((const char *, const char *, int)) NO_RETURN; #ifdef ENABLE_CHECKING +/* The suppress_checking variable is initialized to 0 in alloc.c. Set + it to 1 using a debugger to temporarily disable aborting on + detected internal inconsistencies or error conditions. + + Testing suppress_checking after the supplied condition ensures that + the side effects produced by CHECK will be consistent, independent + of whether ENABLE_CHECKING is defined, or whether the checks are + suppressed at run time. + + In some cases, a good compiler may be able to optimize away the + CHECK macro altogether, e.g., if XSTRING (x) uses CHECK to test + STRINGP (x), but a particular use of XSTRING is invoked only after + testing that STRINGP (x) is true, making the test redundant. */ + #define CHECK(check,msg) (((check) || suppress_checking \ ? (void) 0 \ : die ((msg), __FILE__, __LINE__)), \ |