Merge remote-tracking branch 'origin/master' into feature/android

This commit is contained in:
Po Lu 2023-04-17 08:14:03 +08:00
commit 02c214a5e0
2 changed files with 16 additions and 24 deletions

View file

@ -815,24 +815,24 @@ typedef struct { void const *fwdptr; } lispfwd;
enum symbol_interned
{
SYMBOL_UNINTERNED = 0,
SYMBOL_INTERNED = 1,
SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2
SYMBOL_UNINTERNED, /* not interned anywhere */
SYMBOL_INTERNED, /* interned but not in initial obarray */
SYMBOL_INTERNED_IN_INITIAL_OBARRAY /* interned in initial obarray */
};
enum symbol_redirect
{
SYMBOL_PLAINVAL = 4,
SYMBOL_VARALIAS = 1,
SYMBOL_LOCALIZED = 2,
SYMBOL_FORWARDED = 3
SYMBOL_PLAINVAL, /* plain var, value is in the `value' field */
SYMBOL_VARALIAS, /* var alias, value is really in the `alias' symbol */
SYMBOL_LOCALIZED, /* localized var, value is in the `blv' object */
SYMBOL_FORWARDED /* forwarding var, value is in `forward' */
};
enum symbol_trapped_write
{
SYMBOL_UNTRAPPED_WRITE = 0,
SYMBOL_NOWRITE = 1,
SYMBOL_TRAPPED_WRITE = 2
SYMBOL_UNTRAPPED_WRITE, /* normal case, just set the value */
SYMBOL_NOWRITE, /* constant, cannot set, e.g. nil, t, :keyword */
SYMBOL_TRAPPED_WRITE /* trap the write, call watcher functions */
};
struct Lisp_Symbol
@ -843,21 +843,13 @@ struct Lisp_Symbol
{
bool_bf gcmarkbit : 1;
/* Indicates where the value can be found:
0 : it's a plain var, the value is in the `value' field.
1 : it's a varalias, the value is really in the `alias' symbol.
2 : it's a localized var, the value is in the `blv' object.
3 : it's a forwarding variable, the value is in `forward'. */
ENUM_BF (symbol_redirect) redirect : 3;
/* Indicates where the value can be found. */
ENUM_BF (symbol_redirect) redirect : 2;
/* 0 : normal case, just set the value
1 : constant, cannot set, e.g. nil, t, :keywords.
2 : trap the write, call watcher functions. */
ENUM_BF (symbol_trapped_write) trapped_write : 2;
/* Interned state of the symbol. This is an enumerator from
enum symbol_interned. */
unsigned interned : 2;
/* Interned state of the symbol. */
ENUM_BF (symbol_interned) interned : 2;
/* True means that this variable has been explicitly declared
special (with `defvar' etc), and shouldn't be lexically bound. */

View file

@ -2459,10 +2459,10 @@ dump_symbol (struct dump_context *ctx,
Lisp_Object object,
dump_off offset)
{
#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_999DC26DEC
#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_61B174C9F4
# error "Lisp_Symbol changed. See CHECK_STRUCTS comment in config.h."
#endif
#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_ADB4F5B113)
#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_EA72E4BFF5)
# error "symbol_redirect changed. See CHECK_STRUCTS comment in config.h."
#endif