GCC to accept any (yes, any) pointer as the argument of
a function declared to accept a Lisp_Object. */
struct nosuchstruct *v;
GCC to accept any (yes, any) pointer as the argument of
a function declared to accept a Lisp_Object. */
struct nosuchstruct *v;
#define XREALINT(x) ((x).s.val)
#define XUINT(x) ((x).u.val)
#define XTYPE(x) ((x).gu.type)
#define XREALINT(x) ((x).s.val)
#define XUINT(x) ((x).u.val)
#define XTYPE(x) ((x).gu.type)
#define EQ(x,y) ((x).v == (y).v)
#define INTP(x) ((x).s.bits)
#define EQ(x,y) ((x).v == (y).v)
#define INTP(x) ((x).s.bits)
-#define GC_EQ(x,y) EQ (x, y)
+#define INT_PLUS(x,y) make_int (XINT (x) + XINT (y))
+#define INT_MINUS(x,y) make_int (XINT (x) - XINT (y))
+#define INT_PLUS1(x) make_int (XINT (x) + 1)
+#define INT_MINUS1(x) make_int (XINT (x) - 1)
/* Convert between a (void *) and a Lisp_Object, as when the
Lisp_Object is passed to a toolkit callback function */
#define VOID_TO_LISP(larg,varg) \
((void) ((larg).v = (struct nosuchstruct *) (varg)))
#define CVOID_TO_LISP(larg,varg) \
/* Convert between a (void *) and a Lisp_Object, as when the
Lisp_Object is passed to a toolkit callback function */
#define VOID_TO_LISP(larg,varg) \
((void) ((larg).v = (struct nosuchstruct *) (varg)))
#define CVOID_TO_LISP(larg,varg) \
/* Convert a Lisp_Object into something that can't be used as an
lvalue. Useful for type-checking. */
/* Convert a Lisp_Object into something that can't be used as an
lvalue. Useful for type-checking. */