diff options
| author | Joakim Verona | 2015-01-16 22:29:10 +0100 |
|---|---|---|
| committer | Joakim Verona | 2015-01-16 22:29:10 +0100 |
| commit | 5e2255017323c54feeaaee220175d7761a3b6ed1 (patch) | |
| tree | 3f843af60b826b63e12482301ce20745a95ede3e /src/lisp.h | |
| parent | b64675500decba1c707bc5d5c6d57f633934778f (diff) | |
| parent | 78e6ccc4a5006272b14f352e459a6d3bf52ed07b (diff) | |
| download | emacs-5e2255017323c54feeaaee220175d7761a3b6ed1.tar.gz emacs-5e2255017323c54feeaaee220175d7761a3b6ed1.zip | |
merge master
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/src/lisp.h b/src/lisp.h index b6608daa20e..e94e39a5d01 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -608,6 +608,7 @@ INLINE bool SUBRP (Lisp_Object); | |||
| 608 | INLINE bool (SYMBOLP) (Lisp_Object); | 608 | INLINE bool (SYMBOLP) (Lisp_Object); |
| 609 | INLINE bool (VECTORLIKEP) (Lisp_Object); | 609 | INLINE bool (VECTORLIKEP) (Lisp_Object); |
| 610 | INLINE bool WINDOWP (Lisp_Object); | 610 | INLINE bool WINDOWP (Lisp_Object); |
| 611 | INLINE bool TERMINALP (Lisp_Object); | ||
| 611 | INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object); | 612 | INLINE struct Lisp_Save_Value *XSAVE_VALUE (Lisp_Object); |
| 612 | INLINE struct Lisp_Symbol *(XSYMBOL) (Lisp_Object); | 613 | INLINE struct Lisp_Symbol *(XSYMBOL) (Lisp_Object); |
| 613 | INLINE void *(XUNTAG) (Lisp_Object, int); | 614 | INLINE void *(XUNTAG) (Lisp_Object, int); |
| @@ -1003,6 +1004,7 @@ XWINDOW (Lisp_Object a) | |||
| 1003 | INLINE struct terminal * | 1004 | INLINE struct terminal * |
| 1004 | XTERMINAL (Lisp_Object a) | 1005 | XTERMINAL (Lisp_Object a) |
| 1005 | { | 1006 | { |
| 1007 | eassert (TERMINALP (a)); | ||
| 1006 | return XUNTAG (a, Lisp_Vectorlike); | 1008 | return XUNTAG (a, Lisp_Vectorlike); |
| 1007 | } | 1009 | } |
| 1008 | 1010 | ||
| @@ -1065,12 +1067,6 @@ builtin_lisp_symbol (int index) | |||
| 1065 | return make_lisp_symbol (lispsym + index); | 1067 | return make_lisp_symbol (lispsym + index); |
| 1066 | } | 1068 | } |
| 1067 | 1069 | ||
| 1068 | INLINE Lisp_Object | ||
| 1069 | make_lisp_proc (struct Lisp_Process *p) | ||
| 1070 | { | ||
| 1071 | return make_lisp_ptr (p, Lisp_Vectorlike); | ||
| 1072 | } | ||
| 1073 | |||
| 1074 | #define XSETINT(a, b) ((a) = make_number (b)) | 1070 | #define XSETINT(a, b) ((a) = make_number (b)) |
| 1075 | #define XSETFASTINT(a, b) ((a) = make_natnum (b)) | 1071 | #define XSETFASTINT(a, b) ((a) = make_natnum (b)) |
| 1076 | #define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Lisp_Cons)) | 1072 | #define XSETCONS(a, b) ((a) = make_lisp_ptr (b, Lisp_Cons)) |
| @@ -3785,16 +3781,25 @@ make_uninit_sub_char_table (int depth, int min_char) | |||
| 3785 | return v; | 3781 | return v; |
| 3786 | } | 3782 | } |
| 3787 | 3783 | ||
| 3788 | extern struct Lisp_Vector *allocate_pseudovector (int, int, enum pvec_type); | 3784 | extern struct Lisp_Vector *allocate_pseudovector (int, int, int, |
| 3789 | #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ | 3785 | enum pvec_type); |
| 3790 | ((typ*) \ | 3786 | |
| 3791 | allocate_pseudovector \ | 3787 | /* Allocate partially initialized pseudovector where all Lisp_Object |
| 3792 | (VECSIZE (typ), PSEUDOVECSIZE (typ, field), tag)) | 3788 | slots are set to Qnil but the rest (if any) is left uninitialized. */ |
| 3793 | extern struct Lisp_Hash_Table *allocate_hash_table (void); | 3789 | |
| 3794 | extern struct window *allocate_window (void); | 3790 | #define ALLOCATE_PSEUDOVECTOR(type, field, tag) \ |
| 3795 | extern struct frame *allocate_frame (void); | 3791 | ((type *) allocate_pseudovector (VECSIZE (type), \ |
| 3796 | extern struct Lisp_Process *allocate_process (void); | 3792 | PSEUDOVECSIZE (type, field), \ |
| 3797 | extern struct terminal *allocate_terminal (void); | 3793 | PSEUDOVECSIZE (type, field), tag)) |
| 3794 | |||
| 3795 | /* Allocate fully initialized pseudovector where all Lisp_Object | ||
| 3796 | slots are set to Qnil and the rest (if any) is zeroed. */ | ||
| 3797 | |||
| 3798 | #define ALLOCATE_ZEROED_PSEUDOVECTOR(type, field, tag) \ | ||
| 3799 | ((type *) allocate_pseudovector (VECSIZE (type), \ | ||
| 3800 | PSEUDOVECSIZE (type, field), \ | ||
| 3801 | VECSIZE (type), tag)) | ||
| 3802 | |||
| 3798 | extern bool gc_in_progress; | 3803 | extern bool gc_in_progress; |
| 3799 | extern bool abort_on_gc; | 3804 | extern bool abort_on_gc; |
| 3800 | extern Lisp_Object make_float (double); | 3805 | extern Lisp_Object make_float (double); |