remove `chain' field from Lisp_Cons
authorBT Templeton <bpt@hcoop.net>
Wed, 11 Jul 2012 00:53:23 +0000 (20:53 -0400)
committerRobin Templeton <robin@terpri.org>
Sat, 18 Apr 2015 22:49:08 +0000 (18:49 -0400)
* src/lisp.h (struct Lisp_Cons): Remove `u.chain' field. All uses
  changed.

src/lisp.h

index 59bb19e..67d447b 100644 (file)
@@ -346,7 +346,7 @@ DEFINE_GDB_SYMBOL_END (USE_LSB_TAG)
 #define lisp_h_SYMBOLP(x) (XTYPE (x) == Lisp_Symbol)
 #define lisp_h_VECTORLIKEP(x) (XTYPE (x) == Lisp_Vectorlike)
 #define lisp_h_XCAR(c) XCONS (c)->car
-#define lisp_h_XCDR(c) XCONS (c)->u.cdr
+#define lisp_h_XCDR(c) XCONS (c)->cdr
 #define lisp_h_XCONS(a) \
    (eassert (CONSP (a)), (struct Lisp_Cons *) XUNTAG (a, Lisp_Cons))
 #define lisp_h_XHASH(a) XUINT (a)
@@ -991,14 +991,8 @@ struct Lisp_Cons
     /* Car of this cons cell.  */
     Lisp_Object car;
 
-    union
-    {
-      /* Cdr of this cons cell.  */
-      Lisp_Object cdr;
-
-      /* Used to chain conses on a free list.  */
-      struct Lisp_Cons *chain;
-    } u;
+    /* Cdr of this cons cell.  */
+    Lisp_Object cdr;
   };
 
 /* Take the car or cdr of something known to be a cons cell.  */
@@ -1016,7 +1010,7 @@ xcar_addr (Lisp_Object c)
 INLINE Lisp_Object *
 xcdr_addr (Lisp_Object c)
 {
-  return &XCONS (c)->u.cdr;
+  return &XCONS (c)->cdr;
 }
 
 /* Use these from normal code.  */