diff src/symeval.h @ 211:78478c60bfcd r20-4b4

Import from CVS: tag r20-4b4
author cvs
date Mon, 13 Aug 2007 10:05:51 +0200
parents 3d6bfa290dbd
children c5d627a313b1
line wrap: on
line diff
--- a/src/symeval.h	Mon Aug 13 10:05:01 2007 +0200
+++ b/src/symeval.h	Mon Aug 13 10:05:51 2007 +0200
@@ -76,7 +76,7 @@
 };
 #define SYMBOL_VALUE_MAGIC_P(x)				\
   (LRECORDP (x)						\
-   && (XRECORD_LHEADER (x)->implementation->printer	\
+   && (XRECORD_LHEADER_IMPLEMENTATION (x)->printer	\
        == print_symbol_value_magic))
 #define XSYMBOL_VALUE_MAGIC_TYPE(v) \
 	(((struct symbol_value_magic *) XPNTR (v))->type)
@@ -300,9 +300,16 @@
 extern void defvar_mumble (CONST char *names,
                            CONST void *magic, int sizeof_magic);
 
+#ifdef USE_INDEXED_LRECORD_IMPLEMENTATION
+# define symbol_value_forward_lheader_initializer { 1, 0, 0 }
+#else
+# define symbol_value_forward_lheader_initializer \
+   { lrecord_symbol_value_forward }
+#endif
+
 #define DEFVAR_HEADER(lname, c_location, forward_type) do {	\
   static CONST struct symbol_value_forward I_hate_C		\
-   = { { { { lrecord_symbol_value_forward },			\
+   = { { { symbol_value_forward_lheader_initializer,		\
 	   (struct lcrecord_header *) (c_location), 69 },	\
          forward_type }, 0 };					\
   defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C));	\
@@ -310,7 +317,7 @@
 
 #define DEFVAR_MAGIC_HEADER(lname, c_location, forward_type, magicfun) do {	\
   static CONST struct symbol_value_forward I_hate_C				\
-   = { { { { lrecord_symbol_value_forward },					\
+   = { { { symbol_value_forward_lheader_initializer,				\
 	   (struct lcrecord_header *) (c_location), 69 }, 			\
          forward_type }, magicfun };						\
   defvar_mumble ((lname), &I_hate_C, sizeof (I_hate_C));			\