emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/lisp.h


From: Andreas Schwab
Subject: [Emacs-diffs] Changes to emacs/src/lisp.h
Date: Tue, 15 Nov 2005 08:53:10 -0500

Index: emacs/src/lisp.h
diff -c emacs/src/lisp.h:1.544 emacs/src/lisp.h:1.545
*** emacs/src/lisp.h:1.544      Wed Nov  9 23:14:19 2005
--- emacs/src/lisp.h    Tue Nov 15 13:53:09 2005
***************
*** 600,608 ****
      /* Please do not use the names of these elements in code other
         than the core lisp implementation.  Use XCAR and XCDR below.  */
  #ifdef HIDE_LISP_IMPLEMENTATION
!     Lisp_Object car_, cdr_;
  #else
!     Lisp_Object car, cdr;
  #endif
    };
  
--- 600,618 ----
      /* Please do not use the names of these elements in code other
         than the core lisp implementation.  Use XCAR and XCDR below.  */
  #ifdef HIDE_LISP_IMPLEMENTATION
!     Lisp_Object car_;
!     union
!     {
!       Lisp_Object cdr_;
!       struct Lisp_Cons *chain;
!     } u;
  #else
!     Lisp_Object car;
!     union
!     {
!       Lisp_Object cdr;
!       struct Lisp_Cons *chain;
!     } u;
  #endif
    };
  
***************
*** 615,624 ****
     invalidated at arbitrary points.)  */
  #ifdef HIDE_LISP_IMPLEMENTATION
  #define XCAR_AS_LVALUE(c) (XCONS ((c))->car_)
! #define XCDR_AS_LVALUE(c) (XCONS ((c))->cdr_)
  #else
  #define XCAR_AS_LVALUE(c) (XCONS ((c))->car)
! #define XCDR_AS_LVALUE(c) (XCONS ((c))->cdr)
  #endif
  
  /* Use these from normal code.  */
--- 625,634 ----
     invalidated at arbitrary points.)  */
  #ifdef HIDE_LISP_IMPLEMENTATION
  #define XCAR_AS_LVALUE(c) (XCONS ((c))->car_)
! #define XCDR_AS_LVALUE(c) (XCONS ((c))->u.cdr_)
  #else
  #define XCAR_AS_LVALUE(c) (XCONS ((c))->car)
! #define XCDR_AS_LVALUE(c) (XCONS ((c))->u.cdr)
  #endif
  
  /* Use these from normal code.  */
***************
*** 1275,1291 ****
  /* Lisp floating point type */
  struct Lisp_Float
    {
  #ifdef HIDE_LISP_IMPLEMENTATION
!     double data_;
  #else
!     double data;
  #endif
    };
  
  #ifdef HIDE_LISP_IMPLEMENTATION
! #define XFLOAT_DATA(f)        (XFLOAT (f)->data_)
  #else
! #define XFLOAT_DATA(f)        (XFLOAT (f)->data)
  #endif
  
  /* A character, declared with the following typedef, is a member
--- 1285,1305 ----
  /* Lisp floating point type */
  struct Lisp_Float
    {
+     union
+     {
  #ifdef HIDE_LISP_IMPLEMENTATION
!       double data_;
  #else
!       double data;
  #endif
+       struct Lisp_Float *chain;
+     } u;
    };
  
  #ifdef HIDE_LISP_IMPLEMENTATION
! #define XFLOAT_DATA(f)        (XFLOAT (f)->u.data_)
  #else
! #define XFLOAT_DATA(f)        (XFLOAT (f)->u.data)
  #endif
  
  /* A character, declared with the following typedef, is a member




reply via email to

[Prev in Thread] Current Thread [Next in Thread]