diff src/lisp.h @ 4979:4234fd5a7b17

fix bug #668 (compile error, not --with-debug) -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-05 Ben Wing <ben@xemacs.org> * lisp.h: * lisp.h (staticpro_nodump_1): Define staticpro_1 and staticpro_nodump_1 when not XEMACS_DEBUG. * symbols.c (defsymbol_massage_name_1): * symbols.c (defsymbol_massage_multiword_predicate): Cosmetic fixes.
author Ben Wing <ben@xemacs.org>
date Fri, 05 Feb 2010 08:09:03 -0600
parents 16112448d484
children 3c3c1d139863
line wrap: on
line diff
--- a/src/lisp.h	Fri Feb 05 05:04:43 2010 -0600
+++ b/src/lisp.h	Fri Feb 05 08:09:03 2010 -0600
@@ -4300,10 +4300,20 @@
 
 /* Call staticpro (&var) to protect static variable `var'. */
 MODULE_API void staticpro (Lisp_Object *);
+/* staticpro_1 (varptr, name) is used when we're not directly calling
+   staticpro() on the address of a Lisp variable, but on a pointer we
+   got from elsewhere.  In that case, NAME is a string describing the
+   actual variable in question.  NAME is used only for debugging purposes,
+   and hence when not DEBUG_XEMACS, staticpro_1() just calls staticpro().
+   With DEBUG_XEMACS, however, it's the reverse -- staticpro() calls
+   staticpro_1(), using the ANSI "stringize" operator to construct a string
+   out of the variable name. */
+#define staticpro_1(ptr, name) staticpro (ptr)
 
 /* Call staticpro_nodump (&var) to protect static variable `var'. */
 /* var will not be saved at dump time */
 MODULE_API void staticpro_nodump (Lisp_Object *);
+#define staticpro_nodump_1(ptr, name) staticpro_nodump (ptr)
 
 #ifdef HAVE_SHLIB
 /* Call unstaticpro_nodump (&var) to stop protecting static variable `var'. */