aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-04-17 08:14:03 +0800
committerPo Lu2023-04-17 08:14:03 +0800
commit02c214a5e00de0b17a6a80bc489acfb2ebb5c5f2 (patch)
tree2362252388ff4df94aa12fd4fd443967850829fb /src
parentfe9e48a16af1140dcc49125ad8ea35bbf9e59dfc (diff)
parent3c8167ec0f9647e6fc33e65b0a0324f96cb795ee (diff)
downloademacs-02c214a5e00de0b17a6a80bc489acfb2ebb5c5f2.tar.gz
emacs-02c214a5e00de0b17a6a80bc489acfb2ebb5c5f2.zip
Merge remote-tracking branch 'origin/master' into feature/android
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h36
-rw-r--r--src/pdumper.c4
2 files changed, 16 insertions, 24 deletions
diff --git a/src/lisp.h b/src/lisp.h
index d0017b70a5b..67dc88358d7 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -815,24 +815,24 @@ typedef struct { void const *fwdptr; } lispfwd;
815 815
816enum symbol_interned 816enum symbol_interned
817{ 817{
818 SYMBOL_UNINTERNED = 0, 818 SYMBOL_UNINTERNED, /* not interned anywhere */
819 SYMBOL_INTERNED = 1, 819 SYMBOL_INTERNED, /* interned but not in initial obarray */
820 SYMBOL_INTERNED_IN_INITIAL_OBARRAY = 2 820 SYMBOL_INTERNED_IN_INITIAL_OBARRAY /* interned in initial obarray */
821}; 821};
822 822
823enum symbol_redirect 823enum symbol_redirect
824{ 824{
825 SYMBOL_PLAINVAL = 4, 825 SYMBOL_PLAINVAL, /* plain var, value is in the `value' field */
826 SYMBOL_VARALIAS = 1, 826 SYMBOL_VARALIAS, /* var alias, value is really in the `alias' symbol */
827 SYMBOL_LOCALIZED = 2, 827 SYMBOL_LOCALIZED, /* localized var, value is in the `blv' object */
828 SYMBOL_FORWARDED = 3 828 SYMBOL_FORWARDED /* forwarding var, value is in `forward' */
829}; 829};
830 830
831enum symbol_trapped_write 831enum symbol_trapped_write
832{ 832{
833 SYMBOL_UNTRAPPED_WRITE = 0, 833 SYMBOL_UNTRAPPED_WRITE, /* normal case, just set the value */
834 SYMBOL_NOWRITE = 1, 834 SYMBOL_NOWRITE, /* constant, cannot set, e.g. nil, t, :keyword */
835 SYMBOL_TRAPPED_WRITE = 2 835 SYMBOL_TRAPPED_WRITE /* trap the write, call watcher functions */
836}; 836};
837 837
838struct Lisp_Symbol 838struct Lisp_Symbol
@@ -843,21 +843,13 @@ struct Lisp_Symbol
843 { 843 {
844 bool_bf gcmarkbit : 1; 844 bool_bf gcmarkbit : 1;
845 845
846 /* Indicates where the value can be found: 846 /* Indicates where the value can be found. */
847 0 : it's a plain var, the value is in the `value' field. 847 ENUM_BF (symbol_redirect) redirect : 2;
848 1 : it's a varalias, the value is really in the `alias' symbol.
849 2 : it's a localized var, the value is in the `blv' object.
850 3 : it's a forwarding variable, the value is in `forward'. */
851 ENUM_BF (symbol_redirect) redirect : 3;
852 848
853 /* 0 : normal case, just set the value
854 1 : constant, cannot set, e.g. nil, t, :keywords.
855 2 : trap the write, call watcher functions. */
856 ENUM_BF (symbol_trapped_write) trapped_write : 2; 849 ENUM_BF (symbol_trapped_write) trapped_write : 2;
857 850
858 /* Interned state of the symbol. This is an enumerator from 851 /* Interned state of the symbol. */
859 enum symbol_interned. */ 852 ENUM_BF (symbol_interned) interned : 2;
860 unsigned interned : 2;
861 853
862 /* True means that this variable has been explicitly declared 854 /* True means that this variable has been explicitly declared
863 special (with `defvar' etc), and shouldn't be lexically bound. */ 855 special (with `defvar' etc), and shouldn't be lexically bound. */
diff --git a/src/pdumper.c b/src/pdumper.c
index 645661060c1..628f43beb39 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -2459,10 +2459,10 @@ dump_symbol (struct dump_context *ctx,
2459 Lisp_Object object, 2459 Lisp_Object object,
2460 dump_off offset) 2460 dump_off offset)
2461{ 2461{
2462#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_999DC26DEC 2462#if CHECK_STRUCTS && !defined HASH_Lisp_Symbol_61B174C9F4
2463# error "Lisp_Symbol changed. See CHECK_STRUCTS comment in config.h." 2463# error "Lisp_Symbol changed. See CHECK_STRUCTS comment in config.h."
2464#endif 2464#endif
2465#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_ADB4F5B113) 2465#if CHECK_STRUCTS && !defined (HASH_symbol_redirect_EA72E4BFF5)
2466# error "symbol_redirect changed. See CHECK_STRUCTS comment in config.h." 2466# error "symbol_redirect changed. See CHECK_STRUCTS comment in config.h."
2467#endif 2467#endif
2468 2468