# HG changeset patch # User Stefan Monnier # Date 1195245394 0 # Node ID 1ede747999c68d495df6e4edd9b053ddd2ef0483 # Parent c679b91efdfa37c18c89768474846261c0c4c0f8 * 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 diff -r c679b91efdfa -r 1ede747999c6 src/ChangeLog --- a/src/ChangeLog Fri Nov 16 18:50:35 2007 +0000 +++ b/src/ChangeLog Fri Nov 16 20:36:34 2007 +0000 @@ -1,7 +1,15 @@ +2007-11-16 Stefan Monnier + + * 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 - * 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 -r c679b91efdfa -r 1ede747999c6 src/alloc.c --- a/src/alloc.c Fri Nov 16 18:50:35 2007 +0000 +++ b/src/alloc.c Fri Nov 16 20:36:34 2007 +0000 @@ -2967,7 +2967,7 @@ /* 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 @@ 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 -r c679b91efdfa -r 1ede747999c6 src/lisp.h --- a/src/lisp.h Fri Nov 16 18:50:35 2007 +0000 +++ b/src/lisp.h Fri Nov 16 20:36:34 2007 +0000 @@ -348,7 +348,8 @@ 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 @@ 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));