diff options
| -rw-r--r-- | src/lisp.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lisp.h b/src/lisp.h index bd986ec0f6c..371a7afde86 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -572,6 +572,7 @@ typedef unsigned char UCHAR; | |||
| 572 | /* Data type checking */ | 572 | /* Data type checking */ |
| 573 | 573 | ||
| 574 | #define NILP(x) (XFASTINT (x) == XFASTINT (Qnil)) | 574 | #define NILP(x) (XFASTINT (x) == XFASTINT (Qnil)) |
| 575 | #define GC_NILP(x) GC_EQ (x, Qnil) | ||
| 575 | 576 | ||
| 576 | #ifdef LISP_FLOAT_TYPE | 577 | #ifdef LISP_FLOAT_TYPE |
| 577 | #define NUMBERP(x) (XTYPE (x) == Lisp_Int || XTYPE (x) == Lisp_Float) | 578 | #define NUMBERP(x) (XTYPE (x) == Lisp_Int || XTYPE (x) == Lisp_Float) |
| @@ -582,7 +583,7 @@ typedef unsigned char UCHAR; | |||
| 582 | /* #define LISTP(x) (XTYPE ((x)) == Lisp_Cons)*/ | 583 | /* #define LISTP(x) (XTYPE ((x)) == Lisp_Cons)*/ |
| 583 | #define CONSP(x) (XTYPE ((x)) == Lisp_Cons) | 584 | #define CONSP(x) (XTYPE ((x)) == Lisp_Cons) |
| 584 | #define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) | 585 | #define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) |
| 585 | 586 | #define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) | |
| 586 | 587 | ||
| 587 | #define CHECK_LIST(x, i) \ | 588 | #define CHECK_LIST(x, i) \ |
| 588 | { if ((XTYPE ((x)) != Lisp_Cons) && !NILP (x)) x = wrong_type_argument (Qlistp, (x)); } | 589 | { if ((XTYPE ((x)) != Lisp_Cons) && !NILP (x)) x = wrong_type_argument (Qlistp, (x)); } |
| @@ -894,16 +895,17 @@ void staticpro(); | |||
| 894 | 895 | ||
| 895 | #define UNGCPRO (gcprolist = gcpro1.next) | 896 | #define UNGCPRO (gcprolist = gcpro1.next) |
| 896 | 897 | ||
| 897 | /* Evaluate expr, UNGCPRO, and then return the value of expr. */ | 898 | /* Evaluate expr, UNGCPRO, and then return the value of expr. I used |
| 899 | to have a `do ... while' clause around this to make it interact | ||
| 900 | with semicolons correctly, but this makes some compilers complain | ||
| 901 | that the while is never reached. */ | ||
| 898 | #define RETURN_UNGCPRO(expr) \ | 902 | #define RETURN_UNGCPRO(expr) \ |
| 899 | do \ | ||
| 900 | { \ | 903 | { \ |
| 901 | Lisp_Object ret_ungc_val; \ | 904 | Lisp_Object ret_ungc_val; \ |
| 902 | ret_ungc_val = (expr); \ | 905 | ret_ungc_val = (expr); \ |
| 903 | UNGCPRO; \ | 906 | UNGCPRO; \ |
| 904 | return ret_ungc_val; \ | 907 | return ret_ungc_val; \ |
| 905 | } \ | 908 | } \ |
| 906 | while (0) | ||
| 907 | 909 | ||
| 908 | /* Defined in data.c */ | 910 | /* Defined in data.c */ |
| 909 | extern Lisp_Object Qnil, Qt, Qquote, Qlambda, Qsubr, Qunbound; | 911 | extern Lisp_Object Qnil, Qt, Qquote, Qlambda, Qsubr, Qunbound; |
| @@ -1121,7 +1123,7 @@ extern Lisp_Object Qdisabled; | |||
| 1121 | extern Lisp_Object Vhelp_form, Vtop_level; | 1123 | extern Lisp_Object Vhelp_form, Vtop_level; |
| 1122 | extern Lisp_Object Fdiscard_input (), Frecursive_edit (); | 1124 | extern Lisp_Object Fdiscard_input (), Frecursive_edit (); |
| 1123 | extern Lisp_Object Fcommand_execute (), Finput_pending_p (); | 1125 | extern Lisp_Object Fcommand_execute (), Finput_pending_p (); |
| 1124 | extern Lisp_Object Qvertical_scrollbar; | 1126 | extern Lisp_Object Qvertical_scroll_bar; |
| 1125 | 1127 | ||
| 1126 | /* defined in keymap.c */ | 1128 | /* defined in keymap.c */ |
| 1127 | 1129 | ||