changeset 85764:e12efff1fa77

Comment the ENABLE_CHECKING version of the CHECK macro.
author Ken Raeburn <raeburn@raeburn.org>
date Mon, 29 Oct 2007 18:15:02 +0000
parents 3b291390be13
children f1a78e8d37f0
files src/lisp.h
diffstat 1 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lisp.h	Mon Oct 29 16:45:23 2007 +0000
+++ b/src/lisp.h	Mon Oct 29 18:15:02 2007 +0000
@@ -84,6 +84,20 @@
 
 #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__)),	\