aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h26
1 files changed, 2 insertions, 24 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 7a7d2e79979..7be2e5d38dc 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -859,9 +859,6 @@ struct Lisp_Symbol
859 special (with `defvar' etc), and shouldn't be lexically bound. */ 859 special (with `defvar' etc), and shouldn't be lexically bound. */
860 bool_bf declared_special : 1; 860 bool_bf declared_special : 1;
861 861
862 /* True if pointed to from purespace and hence can't be GC'd. */
863 bool_bf pinned : 1;
864
865 /* The symbol's name, as a Lisp string. */ 862 /* The symbol's name, as a Lisp string. */
866 Lisp_Object name; 863 Lisp_Object name;
867 864
@@ -2426,12 +2423,8 @@ struct Lisp_Hash_Table
2426 /* Index of first free entry in free list, or -1 if none. */ 2423 /* Index of first free entry in free list, or -1 if none. */
2427 ptrdiff_t next_free; 2424 ptrdiff_t next_free;
2428 2425
2429 /* True if the table can be purecopied. The table cannot be
2430 changed afterwards. */
2431 bool purecopy;
2432
2433 /* True if the table is mutable. Ordinarily tables are mutable, but 2426 /* True if the table is mutable. Ordinarily tables are mutable, but
2434 pure tables are not, and while a table is being mutated it is 2427 some tables are not, and while a table is being mutated it is
2435 immutable for recursive attempts to mutate it. */ 2428 immutable for recursive attempts to mutate it. */
2436 bool mutable; 2429 bool mutable;
2437 2430
@@ -4010,7 +4003,7 @@ EMACS_UINT hash_string (char const *, ptrdiff_t);
4010EMACS_UINT sxhash (Lisp_Object); 4003EMACS_UINT sxhash (Lisp_Object);
4011Lisp_Object hashfn_user_defined (Lisp_Object, struct Lisp_Hash_Table *); 4004Lisp_Object hashfn_user_defined (Lisp_Object, struct Lisp_Hash_Table *);
4012Lisp_Object make_hash_table (struct hash_table_test, EMACS_INT, float, float, 4005Lisp_Object make_hash_table (struct hash_table_test, EMACS_INT, float, float,
4013 Lisp_Object, bool); 4006 Lisp_Object);
4014ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object *); 4007ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object *);
4015ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, 4008ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object,
4016 Lisp_Object); 4009 Lisp_Object);
@@ -4177,7 +4170,6 @@ extern void parse_str_as_multibyte (const unsigned char *, ptrdiff_t,
4177 4170
4178/* Defined in alloc.c. */ 4171/* Defined in alloc.c. */
4179extern void *my_heap_start (void); 4172extern void *my_heap_start (void);
4180extern void check_pure_size (void);
4181unsigned char *resize_string_data (Lisp_Object, ptrdiff_t, int, int); 4173unsigned char *resize_string_data (Lisp_Object, ptrdiff_t, int, int);
4182extern void malloc_warning (const char *); 4174extern void malloc_warning (const char *);
4183extern AVOID memory_full (size_t); 4175extern AVOID memory_full (size_t);
@@ -4236,11 +4228,8 @@ extern Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object);
4236extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, 4228extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object,
4237 Lisp_Object); 4229 Lisp_Object);
4238extern Lisp_Object listn (ptrdiff_t, Lisp_Object, ...); 4230extern Lisp_Object listn (ptrdiff_t, Lisp_Object, ...);
4239extern Lisp_Object pure_listn (ptrdiff_t, Lisp_Object, ...);
4240#define list(...) \ 4231#define list(...) \
4241 listn (ARRAYELTS (((Lisp_Object []) {__VA_ARGS__})), __VA_ARGS__) 4232 listn (ARRAYELTS (((Lisp_Object []) {__VA_ARGS__})), __VA_ARGS__)
4242#define pure_list(...) \
4243 pure_listn (ARRAYELTS (((Lisp_Object []) {__VA_ARGS__})), __VA_ARGS__)
4244 4233
4245enum gc_root_type 4234enum gc_root_type
4246{ 4235{
@@ -4313,18 +4302,8 @@ extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT);
4313extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t); 4302extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t);
4314extern Lisp_Object make_specified_string (const char *, 4303extern Lisp_Object make_specified_string (const char *,
4315 ptrdiff_t, ptrdiff_t, bool); 4304 ptrdiff_t, ptrdiff_t, bool);
4316extern Lisp_Object make_pure_string (const char *, ptrdiff_t, ptrdiff_t, bool);
4317extern Lisp_Object make_pure_c_string (const char *, ptrdiff_t);
4318extern void pin_string (Lisp_Object string); 4305extern void pin_string (Lisp_Object string);
4319 4306
4320/* Make a string allocated in pure space, use STR as string data. */
4321
4322INLINE Lisp_Object
4323build_pure_c_string (const char *str)
4324{
4325 return make_pure_c_string (str, strlen (str));
4326}
4327
4328/* Make a string from the data at STR, treating it as multibyte if the 4307/* Make a string from the data at STR, treating it as multibyte if the
4329 data warrants. */ 4308 data warrants. */
4330 4309
@@ -4334,7 +4313,6 @@ build_string (const char *str)
4334 return make_string (str, strlen (str)); 4313 return make_string (str, strlen (str));
4335} 4314}
4336 4315
4337extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object);
4338extern Lisp_Object make_vector (ptrdiff_t, Lisp_Object); 4316extern Lisp_Object make_vector (ptrdiff_t, Lisp_Object);
4339extern struct Lisp_Vector *allocate_nil_vector (ptrdiff_t) 4317extern struct Lisp_Vector *allocate_nil_vector (ptrdiff_t)
4340 ATTRIBUTE_RETURNS_NONNULL; 4318 ATTRIBUTE_RETURNS_NONNULL;