summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-11-16 20:36:34 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-11-16 20:36:34 +0000
commit09c12897ac9e3c09b060e2d365d19d9ec62a8cab (patch)
tree54eb653398d37fa2b500e54b21a13b9c18a49048 /src/lisp.h
parenta87faef4806a38f4aee3d1fa1c24eca0cf89ccbe (diff)
downloademacs-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.h8
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));