diff options
| author | Karl Heuer | 1994-11-15 23:38:26 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-11-15 23:38:26 +0000 |
| commit | c1a2bfad02a83f1f957e507c81fe942a40ae0dcb (patch) | |
| tree | c4bfbc3daae3a6ae5c1eebbd9feee7f1351585da /src | |
| parent | 9f56ecfc2f80a691f0e2fac1fb0c2b8ee3c20a29 (diff) | |
| download | emacs-c1a2bfad02a83f1f957e507c81fe942a40ae0dcb.tar.gz emacs-c1a2bfad02a83f1f957e507c81fe942a40ae0dcb.zip | |
(GC_INTEGERP, etc): New type-test macros for use during GC.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lisp.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index 4ac94558336..6fc58173090 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -745,45 +745,72 @@ typedef unsigned char UCHAR; | |||
| 745 | 745 | ||
| 746 | #ifdef LISP_FLOAT_TYPE | 746 | #ifdef LISP_FLOAT_TYPE |
| 747 | #define NUMBERP(x) (INTEGERP (x) || FLOATP (x)) | 747 | #define NUMBERP(x) (INTEGERP (x) || FLOATP (x)) |
| 748 | #define GC_NUMBERP(x) (GC_INTEGERP (x) || GC_FLOATP (x)) | ||
| 748 | #else | 749 | #else |
| 749 | #define NUMBERP(x) (INTEGERP (x)) | 750 | #define NUMBERP(x) (INTEGERP (x)) |
| 751 | #define GC_NUMBERP(x) (GC_INTEGERP (x)) | ||
| 750 | #endif | 752 | #endif |
| 751 | #define NATNUMP(x) (INTEGERP (x) && XINT (x) >= 0) | 753 | #define NATNUMP(x) (INTEGERP (x) && XINT (x) >= 0) |
| 754 | #define GC_NATNUMP(x) (GC_INTEGERP (x) && XINT (x) >= 0) | ||
| 752 | 755 | ||
| 753 | #define INTEGERP(x) (XTYPE ((x)) == Lisp_Int) | 756 | #define INTEGERP(x) (XTYPE ((x)) == Lisp_Int) |
| 757 | #define GC_INTEGERP(x) (XGCTYPE ((x)) == Lisp_Int) | ||
| 754 | #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) | 758 | #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) |
| 759 | #define GC_SYMBOLP(x) (XGCTYPE ((x)) == Lisp_Symbol) | ||
| 755 | #define MISCP(x) (XTYPE ((x)) == Lisp_Misc) | 760 | #define MISCP(x) (XTYPE ((x)) == Lisp_Misc) |
| 761 | #define GC_MISCP(x) (XGCTYPE ((x)) == Lisp_Misc) | ||
| 756 | #define STRINGP(x) (XTYPE ((x)) == Lisp_String) | 762 | #define STRINGP(x) (XTYPE ((x)) == Lisp_String) |
| 763 | #define GC_STRINGP(x) (XGCTYPE ((x)) == Lisp_String) | ||
| 757 | #define VECTORP(x) (XTYPE ((x)) == Lisp_Vector) | 764 | #define VECTORP(x) (XTYPE ((x)) == Lisp_Vector) |
| 765 | #define GC_VECTORP(x) (XGCTYPE ((x)) == Lisp_Vector) | ||
| 758 | #define CONSP(x) (XTYPE ((x)) == Lisp_Cons) | 766 | #define CONSP(x) (XTYPE ((x)) == Lisp_Cons) |
| 767 | #define GC_CONSP(x) (XGCTYPE ((x)) == Lisp_Cons) | ||
| 759 | #define COMPILEDP(x) (XTYPE ((x)) == Lisp_Compiled) | 768 | #define COMPILEDP(x) (XTYPE ((x)) == Lisp_Compiled) |
| 769 | #define GC_COMPILEDP(x) (XGCTYPE ((x)) == Lisp_Compiled) | ||
| 760 | #define BUFFERP(x) (XTYPE ((x)) == Lisp_Buffer) | 770 | #define BUFFERP(x) (XTYPE ((x)) == Lisp_Buffer) |
| 771 | #define GC_BUFFERP(x) (XGCTYPE ((x)) == Lisp_Buffer) | ||
| 761 | #define SUBRP(x) (XTYPE ((x)) == Lisp_Subr) | 772 | #define SUBRP(x) (XTYPE ((x)) == Lisp_Subr) |
| 773 | #define GC_SUBRP(x) (XGCTYPE ((x)) == Lisp_Subr) | ||
| 762 | #define PROCESSP(x) (XTYPE ((x)) == Lisp_Process) | 774 | #define PROCESSP(x) (XTYPE ((x)) == Lisp_Process) |
| 775 | #define GC_PROCESSP(x) (XGCTYPE ((x)) == Lisp_Process) | ||
| 763 | #ifdef MULTI_FRAME | 776 | #ifdef MULTI_FRAME |
| 764 | #define FRAMEP(x) (XTYPE ((x)) == Lisp_Frame) | 777 | #define FRAMEP(x) (XTYPE ((x)) == Lisp_Frame) |
| 778 | #define GC_FRAMEP(x) (XGCTYPE ((x)) == Lisp_Frame) | ||
| 765 | #else | 779 | #else |
| 766 | #ifdef HAVE_MOUSE | 780 | #ifdef HAVE_MOUSE |
| 767 | /* We could use this in the !HAVE_MOUSE case also, but we prefer a compile-time | 781 | /* We could use this in the !HAVE_MOUSE case also, but we prefer a compile-time |
| 768 | error message in case FRAMEP is used. */ | 782 | error message in case FRAMEP is used. */ |
| 769 | #define FRAMEP(x) (EQ (x, Fselected_frame ())) | 783 | #define FRAMEP(x) (EQ (x, Fselected_frame ())) |
| 784 | #define GC_FRAMEP(x) (GC_EQ (x, Fselected_frame ())) | ||
| 770 | #endif | 785 | #endif |
| 771 | #endif | 786 | #endif |
| 772 | #define WINDOWP(x) (XTYPE ((x)) == Lisp_Window) | 787 | #define WINDOWP(x) (XTYPE ((x)) == Lisp_Window) |
| 788 | #define GC_WINDOWP(x) (XGCTYPE ((x)) == Lisp_Window) | ||
| 773 | #define WINDOW_CONFIGURATIONP(x) (XTYPE ((x)) == Lisp_Window_Configuration) | 789 | #define WINDOW_CONFIGURATIONP(x) (XTYPE ((x)) == Lisp_Window_Configuration) |
| 790 | #define GC_WINDOW_CONFIGURATIONP(x) (XGCTYPE ((x)) == Lisp_Window_Configuration) | ||
| 774 | #ifdef LISP_FLOAT_TYPE | 791 | #ifdef LISP_FLOAT_TYPE |
| 775 | #define FLOATP(x) (XTYPE ((x)) == Lisp_Float) | 792 | #define FLOATP(x) (XTYPE ((x)) == Lisp_Float) |
| 793 | #define GC_FLOATP(x) (XGCTYPE ((x)) == Lisp_Float) | ||
| 776 | #else | 794 | #else |
| 777 | #define FLOATP(x) (0) | 795 | #define FLOATP(x) (0) |
| 796 | #define GC_FLOATP(x) (0) | ||
| 778 | #endif | 797 | #endif |
| 779 | #define OVERLAYP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Overlay) | 798 | #define OVERLAYP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Overlay) |
| 799 | #define GC_OVERLAYP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Overlay) | ||
| 780 | #define MARKERP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Marker) | 800 | #define MARKERP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Marker) |
| 801 | #define GC_MARKERP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Marker) | ||
| 781 | #define INTFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Intfwd) | 802 | #define INTFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Intfwd) |
| 803 | #define GC_INTFWDP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Intfwd) | ||
| 782 | #define BOOLFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Boolfwd) | 804 | #define BOOLFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Boolfwd) |
| 805 | #define GC_BOOLFWDP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Boolfwd) | ||
| 783 | #define OBJFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Objfwd) | 806 | #define OBJFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Objfwd) |
| 807 | #define GC_OBJFWDP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Objfwd) | ||
| 784 | #define BUFFER_OBJFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Objfwd) | 808 | #define BUFFER_OBJFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Objfwd) |
| 809 | #define GC_BUFFER_OBJFWDP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Objfwd) | ||
| 785 | #define BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Local_Value) | 810 | #define BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Local_Value) |
| 811 | #define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Local_Value) | ||
| 786 | #define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) | 812 | #define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) |
| 813 | #define GC_SOME_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) | ||
| 787 | 814 | ||
| 788 | #define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) | 815 | #define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) |
| 789 | #define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) | 816 | #define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) |