diff options
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 26 |
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); | |||
| 4010 | EMACS_UINT sxhash (Lisp_Object); | 4003 | EMACS_UINT sxhash (Lisp_Object); |
| 4011 | Lisp_Object hashfn_user_defined (Lisp_Object, struct Lisp_Hash_Table *); | 4004 | Lisp_Object hashfn_user_defined (Lisp_Object, struct Lisp_Hash_Table *); |
| 4012 | Lisp_Object make_hash_table (struct hash_table_test, EMACS_INT, float, float, | 4005 | Lisp_Object make_hash_table (struct hash_table_test, EMACS_INT, float, float, |
| 4013 | Lisp_Object, bool); | 4006 | Lisp_Object); |
| 4014 | ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object *); | 4007 | ptrdiff_t hash_lookup (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object *); |
| 4015 | ptrdiff_t hash_put (struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, | 4008 | ptrdiff_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. */ |
| 4179 | extern void *my_heap_start (void); | 4172 | extern void *my_heap_start (void); |
| 4180 | extern void check_pure_size (void); | ||
| 4181 | unsigned char *resize_string_data (Lisp_Object, ptrdiff_t, int, int); | 4173 | unsigned char *resize_string_data (Lisp_Object, ptrdiff_t, int, int); |
| 4182 | extern void malloc_warning (const char *); | 4174 | extern void malloc_warning (const char *); |
| 4183 | extern AVOID memory_full (size_t); | 4175 | extern AVOID memory_full (size_t); |
| @@ -4236,11 +4228,8 @@ extern Lisp_Object list4 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); | |||
| 4236 | extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, | 4228 | extern Lisp_Object list5 (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, |
| 4237 | Lisp_Object); | 4229 | Lisp_Object); |
| 4238 | extern Lisp_Object listn (ptrdiff_t, Lisp_Object, ...); | 4230 | extern Lisp_Object listn (ptrdiff_t, Lisp_Object, ...); |
| 4239 | extern 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 | ||
| 4245 | enum gc_root_type | 4234 | enum gc_root_type |
| 4246 | { | 4235 | { |
| @@ -4313,18 +4302,8 @@ extern Lisp_Object make_uninit_multibyte_string (EMACS_INT, EMACS_INT); | |||
| 4313 | extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t); | 4302 | extern Lisp_Object make_string_from_bytes (const char *, ptrdiff_t, ptrdiff_t); |
| 4314 | extern Lisp_Object make_specified_string (const char *, | 4303 | extern Lisp_Object make_specified_string (const char *, |
| 4315 | ptrdiff_t, ptrdiff_t, bool); | 4304 | ptrdiff_t, ptrdiff_t, bool); |
| 4316 | extern Lisp_Object make_pure_string (const char *, ptrdiff_t, ptrdiff_t, bool); | ||
| 4317 | extern Lisp_Object make_pure_c_string (const char *, ptrdiff_t); | ||
| 4318 | extern void pin_string (Lisp_Object string); | 4305 | extern void pin_string (Lisp_Object string); |
| 4319 | 4306 | ||
| 4320 | /* Make a string allocated in pure space, use STR as string data. */ | ||
| 4321 | |||
| 4322 | INLINE Lisp_Object | ||
| 4323 | build_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 | ||
| 4337 | extern Lisp_Object pure_cons (Lisp_Object, Lisp_Object); | ||
| 4338 | extern Lisp_Object make_vector (ptrdiff_t, Lisp_Object); | 4316 | extern Lisp_Object make_vector (ptrdiff_t, Lisp_Object); |
| 4339 | extern struct Lisp_Vector *allocate_nil_vector (ptrdiff_t) | 4317 | extern struct Lisp_Vector *allocate_nil_vector (ptrdiff_t) |
| 4340 | ATTRIBUTE_RETURNS_NONNULL; | 4318 | ATTRIBUTE_RETURNS_NONNULL; |