diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2007-11-16 20:36:34 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2007-11-16 20:36:34 +0000 |
commit | 09c12897ac9e3c09b060e2d365d19d9ec62a8cab (patch) | |
tree | 54eb653398d37fa2b500e54b21a13b9c18a49048 /src/lisp.h | |
parent | a87faef4806a38f4aee3d1fa1c24eca0cf89ccbe (diff) | |
download | emacs-09c12897ac9e3c09b060e2d365d19d9ec62a8cab.tar.gz |
* alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
(allocate_pseudovector): Make non-static.
* lisp.h (enum pvec_type): New tag PVEC_OTHER.
(allocate_pseudovector): Declare.
(ALLOCATE_PSEUDOVECTOR): Move from alloc.c
Diffstat (limited to 'src/lisp.h')
-rw-r--r-- | src/lisp.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lisp.h b/src/lisp.h index 89c26b4f1f9..0d351e92895 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -348,7 +348,8 @@ enum pvec_type PVEC_BUFFER = 0x20000, PVEC_HASH_TABLE = 0x40000, PVEC_TERMINAL = 0x80000, - PVEC_TYPE_MASK = 0xffe00 + PVEC_OTHER = 0x100000, + PVEC_TYPE_MASK = 0x1ffe00 #if 0 /* This is used to make the value of PSEUDOVECTOR_FLAG available to GDB. It doesn't work on OS Alpha. Moved to a variable in @@ -2606,6 +2607,11 @@ EXFUN (Fmake_char_table, 2); extern Lisp_Object make_sub_char_table P_ ((Lisp_Object)); extern Lisp_Object Qchar_table_extra_slots; extern struct Lisp_Vector *allocate_vector P_ ((EMACS_INT)); +extern struct Lisp_Vector *allocate_pseudovector P_ ((int memlen, int lisplen, EMACS_INT tag)); +#define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ + ((typ*) \ + allocate_pseudovector \ + (VECSIZE (typ), PSEUDOVECSIZE (typ, field), tag)) extern struct Lisp_Vector *allocate_other_vector P_ ((EMACS_INT)); extern struct Lisp_Hash_Table *allocate_hash_table P_ ((void)); extern struct window *allocate_window P_ ((void)); |