diff src/lisp.h @ 371:cc15677e0335 r21-2b1

Import from CVS: tag r21-2b1
author cvs
date Mon, 13 Aug 2007 11:03:08 +0200
parents a4f53d9b3154
children 6240c7796c7a
line wrap: on
line diff
--- a/src/lisp.h	Mon Aug 13 11:01:58 2007 +0200
+++ b/src/lisp.h	Mon Aug 13 11:03:08 2007 +0200
@@ -528,7 +528,7 @@
   Lisp_Type_Int,
 
   /* XRECORD_LHEADER (object) points to a struct lrecord_header
-     lheader->implementation determines the type (and GC behavior)
+     lheader->implementation determines the type (and GC behaviour)
      of the object. */
   Lisp_Type_Record,
 
@@ -960,7 +960,7 @@
   struct lrecord_header lheader;
   Lisp_Object next;
   long size;
-  unsigned long bits[1];
+  unsigned int bits[1];
 };
 
 DECLARE_LRECORD (bit_vector, struct Lisp_Bit_Vector);
@@ -1003,9 +1003,9 @@
 {
   unsigned int ui = (unsigned int) i;
   if (value)
-    (v)->bits[ui >> LONGBITS_LOG2] |= (1UL << (ui & (LONGBITS_POWER_OF_2 - 1)));
+    (v)->bits[ui >> LONGBITS_LOG2] |= (1 << (ui & (LONGBITS_POWER_OF_2 - 1)));
   else
-    (v)->bits[ui >> LONGBITS_LOG2] &= ~(1UL << (ui & (LONGBITS_POWER_OF_2 - 1)));
+    (v)->bits[ui >> LONGBITS_LOG2] &= ~(1 << (ui & (LONGBITS_POWER_OF_2 - 1)));
 }
 
 /* Number of longs required to hold LEN bits */
@@ -1027,25 +1027,9 @@
   struct Lisp_String *name;
   Lisp_Object value;
   Lisp_Object function;
+  /* non-nil if the symbol is interned in Vobarray */
+  Lisp_Object obarray;
   Lisp_Object plist;
- /* Information on obarray status of the symbol.  Each symbol can be
-    interned into one and only one obarray during its life-time.  An
-    interned symbol can be uninterned, but the reverse does not hold
-    true.  We need to know whether the symbol is interned to Vobarray
-    (for the purposes of printing), and whether the symbol is
-    interned anywhere at all.  We also need to know whether the
-    symbol is being referenced through a pure structure.
-
-    The .obarray_flags field is an integer mask with the following
-    meanings for bits:
-
-    * 1 - symbol is interned somewhere;
-    * 2 - symbol is interned to Vobarray;
-    * 4 - symbol is referenced by a pure structure.
-
-    All of this is unneeded in 21.2, which does not have pure space in
-    our sense of the word, thanks to Olivier.  */
- int obarray_flags;
 };
 
 #define SYMBOL_IS_KEYWORD(sym) (string_byte (XSYMBOL(sym)->name, 0) == ':')
@@ -1079,9 +1063,6 @@
 #define symbol_function(s) ((s)->function)
 #define symbol_plist(s) ((s)->plist)
 
-#define symbol_obarray_flags(s) ((s)->obarray_flags)
-#define XSYMBOL_OBARRAY_FLAGS(x) (XSYMBOL (x)->obarray_flags)
-
 /*********** subr ***********/
 
 typedef Lisp_Object (*lisp_fn_t) (void);
@@ -1722,7 +1703,7 @@
 #define NNGCPRO5(v1,v2,v3,v4,v5) \
  debug_gcpro5 (__FILE__, __LINE__,&nngcpro1,&nngcpro2,&nngcpro3,&nngcpro4,\
 	       &nngcpro5,&v1,&v2,&v3,&v4,&v5)
-#define NNUNGCPRO \
+#define NUNNGCPRO \
  debug_ungcpro(__FILE__, __LINE__,&nngcpro1)
 
 #else /* ! DEBUG_GCPRO */
@@ -2807,8 +2788,7 @@
 extern Lisp_Object Vconsole_list, Vcontrolling_terminal;
 extern Lisp_Object Vcurrent_compiled_function_annotation, Vcurrent_load_list;
 extern Lisp_Object Vcurrent_mouse_event, Vcurrent_prefix_arg, Vdata_directory;
-extern Lisp_Object Vdirectory_sep_char, Vdisabled_command_hook;
-extern Lisp_Object Vdoc_directory, Vinternal_doc_file_name;
+extern Lisp_Object Vdisabled_command_hook, Vdoc_directory, Vinternal_doc_file_name;
 extern Lisp_Object Vecho_area_buffer, Vemacs_major_version;
 extern Lisp_Object Vemacs_minor_version, Vexec_directory, Vexec_path;
 extern Lisp_Object Vexecuting_macro, Vfeatures, Vfile_domain;