I have a suggestion: Let's set SCM_DEBUG=1 by default for the 1.9.x
series.
Clearly, it should be easy to disable, for doing performance testing
builds or whatever. But having it on by default makes it more likely
that we'll catch some kinds of errors sooner.
There are a couple of obvious approaches:
#1: Modify the default setting in __scm.h.
The only issue I'm concerned about is a library built with -
DSCM_DEBUG=0 would still install headers that default to setting
SCM_DEBUG to 1, thus causing application code to reference symbols
like scm_error_pair_access that might not have been compiled in to the
library. I'm willing to try to go through and make such symbols
always be available, though obviously it means increasing the code
size of the installed non-debugging library with debugging code.
#2: Add a configure option for setting SCM_DEBUG, instead of setting
CPPFLAGS. Have it operate by defining SCM_DEBUG in the guile
makefiles, leaving __scm.h (including the installed copy) setting a
default of 0.
This will avoid inflicting SCM_DEBUG=1 checks on developers using the
developer releases... so, that may or may not be desirable....
Thoughts?
Ken