summaryrefslogtreecommitdiff
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
commit30f95089ed1c8b84dd111fc5edf07b8de07401b2 (patch)
tree51c9396421f9f5d06f781b792189681df4aac8e1
parentde8ebf6226a1948e9df250abd9a42b4ccff2a5c7 (diff)
downloademacs-30f95089ed1c8b84dd111fc5edf07b8de07401b2.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
-rw-r--r--src/ChangeLog12
-rw-r--r--src/alloc.c6
-rw-r--r--src/lisp.h8
3 files changed, 18 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f0a2e29bfee..bdc58ad4639 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,7 +1,15 @@
+2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * 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
+
2007-11-15 Andreas Schwab <schwab@suse.de>
- * editfns.c (Fformat): Correctly format EMACS_INT values. Also
- take precision into account when formatting an integer.
+ * editfns.c (Fformat): Correctly format EMACS_INT values.
+ Also take precision into account when formatting an integer.
* keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
diff --git a/src/alloc.c b/src/alloc.c
index 12b7ac5e0bf..52565255a1d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2967,7 +2967,7 @@ allocate_vector (nslots)
/* Allocate other vector-like structures. */
-static struct Lisp_Vector *
+struct Lisp_Vector *
allocate_pseudovector (memlen, lisplen, tag)
int memlen, lisplen;
EMACS_INT tag;
@@ -2983,10 +2983,6 @@ allocate_pseudovector (memlen, lisplen, tag)
XSETPVECTYPE (v, tag); /* Add the appropriate tag. */
return v;
}
-#define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \
- ((typ*) \
- allocate_pseudovector \
- (VECSIZE (typ), PSEUDOVECSIZE (typ, field), tag))
struct Lisp_Hash_Table *
allocate_hash_table (void)
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));