aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPaul Eggert2011-10-29 10:33:13 -0700
committerPaul Eggert2011-10-29 10:33:13 -0700
commit8d0eb4c275581847990b85dbb350caa3df9e653f (patch)
treec161f977d59ac3103b04dc0f4aea57c83436a456 /src/lisp.h
parent929bb973dd3faf1655f03ac758942d5b009354ad (diff)
parent196e41e4aec1a44ec5b6e9bed485185ba872ae67 (diff)
downloademacs-8d0eb4c275581847990b85dbb350caa3df9e653f.tar.gz
emacs-8d0eb4c275581847990b85dbb350caa3df9e653f.zip
Merge from trunk.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 17f1705675e..7b1be98bd22 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -162,7 +162,7 @@ extern int suppress_checking EXTERNALLY_VISIBLE;
162 162
163/* First, try and define DECL_ALIGN(type,var) which declares a static 163/* First, try and define DECL_ALIGN(type,var) which declares a static
164 variable VAR of type TYPE with the added requirement that it be 164 variable VAR of type TYPE with the added requirement that it be
165 TYPEBITS-aligned. */ 165 TYPEBITS-aligned. */
166#ifndef NO_DECL_ALIGN 166#ifndef NO_DECL_ALIGN
167# ifndef DECL_ALIGN 167# ifndef DECL_ALIGN
168# if HAVE_ATTRIBUTE_ALIGNED 168# if HAVE_ATTRIBUTE_ALIGNED
@@ -1089,11 +1089,9 @@ enum symbol_redirect
1089 SYMBOL_PLAINVAL = 4, 1089 SYMBOL_PLAINVAL = 4,
1090 SYMBOL_VARALIAS = 1, 1090 SYMBOL_VARALIAS = 1,
1091 SYMBOL_LOCALIZED = 2, 1091 SYMBOL_LOCALIZED = 2,
1092 SYMBOL_FORWARDED = 3 1092 SYMBOL_FORWARDED = 3
1093}; 1093};
1094 1094
1095/* In a symbol, the markbit of the plist is used as the gc mark bit */
1096
1097struct Lisp_Symbol 1095struct Lisp_Symbol
1098{ 1096{
1099 unsigned gcmarkbit : 1; 1097 unsigned gcmarkbit : 1;
@@ -1102,8 +1100,7 @@ struct Lisp_Symbol
1102 0 : it's a plain var, the value is in the `value' field. 1100 0 : it's a plain var, the value is in the `value' field.
1103 1 : it's a varalias, the value is really in the `alias' symbol. 1101 1 : it's a varalias, the value is really in the `alias' symbol.
1104 2 : it's a localized var, the value is in the `blv' object. 1102 2 : it's a localized var, the value is in the `blv' object.
1105 3 : it's a forwarding variable, the value is in `forward'. 1103 3 : it's a forwarding variable, the value is in `forward'. */
1106 */
1107 enum symbol_redirect redirect : 3; 1104 enum symbol_redirect redirect : 3;
1108 1105
1109 /* Non-zero means symbol is constant, i.e. changing its value 1106 /* Non-zero means symbol is constant, i.e. changing its value
@@ -1120,15 +1117,12 @@ struct Lisp_Symbol
1120 unsigned declared_special : 1; 1117 unsigned declared_special : 1;
1121 1118
1122 /* The symbol's name, as a Lisp string. 1119 /* The symbol's name, as a Lisp string.
1123
1124 The name "xname" is used to intentionally break code referring to 1120 The name "xname" is used to intentionally break code referring to
1125 the old field "name" of type pointer to struct Lisp_String. */ 1121 the old field "name" of type pointer to struct Lisp_String. */
1126 Lisp_Object xname; 1122 Lisp_Object xname;
1127 1123
1128 /* Value of the symbol or Qunbound if unbound. If this symbol is a 1124 /* Value of the symbol or Qunbound if unbound. Which alternative of the
1129 defvaralias, `alias' contains the symbol for which it is an 1125 union is used depends on the `redirect' field above. */
1130 alias. Use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros to get
1131 and set a symbol's value, to take defvaralias into account. */
1132 union { 1126 union {
1133 Lisp_Object value; 1127 Lisp_Object value;
1134 struct Lisp_Symbol *alias; 1128 struct Lisp_Symbol *alias;
@@ -1323,7 +1317,7 @@ struct Lisp_Misc_Any /* Supertype of all Misc types. */
1323 enum Lisp_Misc_Type type : 16; /* = Lisp_Misc_??? */ 1317 enum Lisp_Misc_Type type : 16; /* = Lisp_Misc_??? */
1324 unsigned gcmarkbit : 1; 1318 unsigned gcmarkbit : 1;
1325 int spacer : 15; 1319 int spacer : 15;
1326 /* Make it as long as "Lisp_Free without padding". */ 1320 /* Make it as long as "Lisp_Free without padding". */
1327 void *fill; 1321 void *fill;
1328}; 1322};
1329 1323
@@ -3635,7 +3629,7 @@ extern void init_system_name (void);
3635 3629
3636#define SWITCH_ENUM_CAST(x) (x) 3630#define SWITCH_ENUM_CAST(x) (x)
3637 3631
3638/* Use this to suppress gcc's warnings. */ 3632/* Use this to suppress gcc's warnings. */
3639#ifdef lint 3633#ifdef lint
3640 3634
3641/* Use CODE only if lint checking is in effect. */ 3635/* Use CODE only if lint checking is in effect. */