- staticpro (c_location); \
- if (EQ (*c_location, Qnull_pointer)) *c_location = Qnil; \
+ dump_add_opaque_fixnum (c_location); \
+} while (0)
+
+#define DEFVAR_SYMVAL_FWD_OBJECT(lname, c_location, forward_type, magicfun) do{ \
+ DEFVAR_SYMVAL_FWD (lname, c_location, forward_type, magicfun); \
+ { \
+ Lisp_Object *DSF_location = c_location; /* Type check */ \
+ staticpro (DSF_location); \
+ if (EQ (*DSF_location, Qnull_pointer)) *DSF_location = Qnil; \
+ } \