Mercurial > hg > xemacs-beta
comparison src/lisp-disunion.h @ 424:11054d720c21 r21-2-20
Import from CVS: tag r21-2-20
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:26:11 +0200 |
parents | 697ef44129c6 |
children |
comparison
equal
deleted
inserted
replaced
423:28d9c139be4c | 424:11054d720c21 |
---|---|
68 XCHARVAL The value bits of a Lisp_Object storing a Emchar | 68 XCHARVAL The value bits of a Lisp_Object storing a Emchar |
69 XREALINT The value bits of a Lisp_Object storing an integer, signed | 69 XREALINT The value bits of a Lisp_Object storing an integer, signed |
70 XUINT The value bits of a Lisp_Object storing an integer, unsigned | 70 XUINT The value bits of a Lisp_Object storing an integer, unsigned |
71 INTP Non-zero if this Lisp_Object an integer? | 71 INTP Non-zero if this Lisp_Object an integer? |
72 Qzero Lisp Integer 0 | 72 Qzero Lisp Integer 0 |
73 EQ Non-zero if two Lisp_Objects are identical | 73 EQ Non-zero if two Lisp_Objects are identical */ |
74 GC_EQ Version of EQ used during garbage collection */ | 74 |
75 | 75 |
76 typedef EMACS_INT Lisp_Object; | 76 typedef EMACS_INT Lisp_Object; |
77 | 77 |
78 #define Lisp_Type_Int_Bit (Lisp_Type_Int_Even & Lisp_Type_Int_Odd) | 78 #define Lisp_Type_Int_Bit (Lisp_Type_Int_Even & Lisp_Type_Int_Odd) |
79 #define make_obj(vartype, x) ((Lisp_Object) (x)) | 79 #define make_obj(vartype, x) ((Lisp_Object) (x)) |
81 #define make_char(x) ((Lisp_Object) (((x) << GCBITS) | Lisp_Type_Char)) | 81 #define make_char(x) ((Lisp_Object) (((x) << GCBITS) | Lisp_Type_Char)) |
82 #define VALMASK (((1UL << VALBITS) - 1UL) << GCTYPEBITS) | 82 #define VALMASK (((1UL << VALBITS) - 1UL) << GCTYPEBITS) |
83 #define XTYPE(x) ((enum Lisp_Type) (((EMACS_UINT)(x)) & ~VALMASK)) | 83 #define XTYPE(x) ((enum Lisp_Type) (((EMACS_UINT)(x)) & ~VALMASK)) |
84 #define XPNTRVAL(x) (x) /* This depends on Lisp_Type_Record == 0 */ | 84 #define XPNTRVAL(x) (x) /* This depends on Lisp_Type_Record == 0 */ |
85 #define XCHARVAL(x) ((x) >> GCBITS) | 85 #define XCHARVAL(x) ((x) >> GCBITS) |
86 #define GC_EQ(x,y) EQ (x,y) | |
87 #define XREALINT(x) ((x) >> INT_GCBITS) | 86 #define XREALINT(x) ((x) >> INT_GCBITS) |
88 #define XUINT(x) ((EMACS_UINT)(x) >> INT_GCBITS) | 87 #define XUINT(x) ((EMACS_UINT)(x) >> INT_GCBITS) |
89 #define INTP(x) ((EMACS_UINT)(x) & Lisp_Type_Int_Bit) | 88 #define INTP(x) ((EMACS_UINT)(x) & Lisp_Type_Int_Bit) |
89 #define INT_PLUS(x,y) ((x)+(y)-Lisp_Type_Int_Bit) | |
90 #define INT_MINUS(x,y) ((x)-(y)+Lisp_Type_Int_Bit) | |
91 #define INT_PLUS1(x) INT_PLUS (x, make_int (1)) | |
92 #define INT_MINUS1(x) INT_MINUS (x, make_int (1)) | |
90 | 93 |
91 #define Qzero make_int (0) | 94 #define Qzero make_int (0) |
92 #define Qnull_pointer ((Lisp_Object) 0) | 95 #define Qnull_pointer ((Lisp_Object) 0) |
93 #define XGCTYPE(x) XTYPE(x) | |
94 #define EQ(x,y) ((x) == (y)) | 96 #define EQ(x,y) ((x) == (y)) |
95 #define XSETINT(var, value) ((void) ((var) = make_int (value))) | 97 #define XSETINT(var, value) ((void) ((var) = make_int (value))) |
96 #define XSETCHAR(var, value) ((void) ((var) = make_char (value))) | 98 #define XSETCHAR(var, value) ((void) ((var) = make_char (value))) |
97 #define XSETOBJ(var, vartype, value) ((void) ((var) = make_obj (vartype, value))) | 99 #define XSETOBJ(var, vartype, value) ((void) ((var) = make_obj (vartype, value))) |
98 | 100 |