>From misc.h: /* If the debug flag is not a macro, then declare it as a global. */ #ifndef Debug extern int Debug; #endif What is the rationale for having this stuff? Why have global and macro? Why have both DEBUGGING and Debug? Is there an overview of how this debug stuff is designed?