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: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/lisp.h
Date: Wed, 25 Jun 2003 19:16:30 -0400

Index: emacs/src/lisp.h
diff -c emacs/src/lisp.h:1.456 emacs/src/lisp.h:1.457
*** emacs/src/lisp.h:1.456      Fri May 23 14:14:36 2003
--- emacs/src/lisp.h    Wed Jun 25 19:16:30 2003
***************
*** 511,517 ****
  
  /* Construct a Lisp_Object from a value or address.  */
  
! #define XSETINT(a, b) XSET (a, Lisp_Int, b)
  #define XSETCONS(a, b) XSET (a, Lisp_Cons, b)
  #define XSETVECTOR(a, b) XSET (a, Lisp_Vectorlike, b)
  #define XSETSTRING(a, b) XSET (a, Lisp_String, b)
--- 511,517 ----
  
  /* Construct a Lisp_Object from a value or address.  */
  
! #define XSETINT(a, b) (a) = make_number (b)
  #define XSETCONS(a, b) XSET (a, Lisp_Cons, b)
  #define XSETVECTOR(a, b) XSET (a, Lisp_Vectorlike, b)
  #define XSETSTRING(a, b) XSET (a, Lisp_String, b)
***************
*** 591,596 ****
--- 591,598 ----
    } up;
    unsigned int up_obj : 1;
  
+   unsigned gcmarkbit : 1;
+ 
    /* The remaining components are `properties' of the interval.
       The first four are duplicates for things which can be on the list,
       for purposes of speed.  */
***************
*** 879,884 ****
--- 881,888 ----
  
  struct Lisp_Symbol
  {
+   unsigned gcmarkbit : 1;
+ 
    /* Non-zero means symbol serves as a variable alias.  The symbol
       holding the real value is found in the value slot.  */
    unsigned indirect_variable : 1;
***************
*** 1088,1094 ****
  struct Lisp_Free
    {
      int type : 16;    /* = Lisp_Misc_Free */
!     int spacer : 16;
      union Lisp_Misc *chain;
    };
  
--- 1092,1099 ----
  struct Lisp_Free
    {
      int type : 16;    /* = Lisp_Misc_Free */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      union Lisp_Misc *chain;
    };
  
***************
*** 1096,1102 ****
  struct Lisp_Marker
  {
    int type : 16;              /* = Lisp_Misc_Marker */
!   int spacer : 15;
    /* 1 means normal insertion at the marker's position
       leaves the marker after the inserted text.  */
    unsigned int insertion_type : 1;
--- 1101,1108 ----
  struct Lisp_Marker
  {
    int type : 16;              /* = Lisp_Misc_Marker */
!   unsigned gcmarkbit : 1;
!   int spacer : 14;
    /* 1 means normal insertion at the marker's position
       leaves the marker after the inserted text.  */
    unsigned int insertion_type : 1;
***************
*** 1123,1129 ****
  struct Lisp_Intfwd
    {
      int type : 16;    /* = Lisp_Misc_Intfwd */
!     int spacer : 16;
      EMACS_INT *intvar;
    };
  
--- 1129,1136 ----
  struct Lisp_Intfwd
    {
      int type : 16;    /* = Lisp_Misc_Intfwd */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      EMACS_INT *intvar;
    };
  
***************
*** 1134,1140 ****
  struct Lisp_Boolfwd
    {
      int type : 16;    /* = Lisp_Misc_Boolfwd */
!     int spacer : 16;
      int *boolvar;
    };
  
--- 1141,1148 ----
  struct Lisp_Boolfwd
    {
      int type : 16;    /* = Lisp_Misc_Boolfwd */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      int *boolvar;
    };
  
***************
*** 1145,1151 ****
  struct Lisp_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Objfwd */
!     int spacer : 16;
      Lisp_Object *objvar;
    };
  
--- 1153,1160 ----
  struct Lisp_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Objfwd */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      Lisp_Object *objvar;
    };
  
***************
*** 1154,1160 ****
  struct Lisp_Buffer_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Buffer_Objfwd */
!     int spacer : 16;
      int offset;
    };
  
--- 1163,1170 ----
  struct Lisp_Buffer_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Buffer_Objfwd */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      int offset;
    };
  
***************
*** 1188,1194 ****
    {
      int type : 16;      /* = Lisp_Misc_Buffer_Local_Value
                           or Lisp_Misc_Some_Buffer_Local_Value */
!     int spacer : 13;
  
      /* 1 means this variable is allowed to have frame-local bindings,
         so check for them when looking for the proper binding.  */
--- 1198,1205 ----
    {
      int type : 16;      /* = Lisp_Misc_Buffer_Local_Value
                           or Lisp_Misc_Some_Buffer_Local_Value */
!     unsigned gcmarkbit : 1;
!     int spacer : 12;
  
      /* 1 means this variable is allowed to have frame-local bindings,
         so check for them when looking for the proper binding.  */
***************
*** 1224,1230 ****
  struct Lisp_Overlay
    {
      int type : 16;    /* = Lisp_Misc_Overlay */
!     int spacer : 16;
      Lisp_Object start, end, plist;
    };
  
--- 1235,1242 ----
  struct Lisp_Overlay
    {
      int type : 16;    /* = Lisp_Misc_Overlay */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      Lisp_Object start, end, plist;
    };
  
***************
*** 1233,1239 ****
  struct Lisp_Kboard_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Kboard_Objfwd */
!     int spacer : 16;
      int offset;
    };
  
--- 1245,1252 ----
  struct Lisp_Kboard_Objfwd
    {
      int type : 16;    /* = Lisp_Misc_Kboard_Objfwd */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      int offset;
    };
  
***************
*** 1242,1248 ****
  struct Lisp_Save_Value
    {
      int type : 16;    /* = Lisp_Misc_Save_Value */
!     int spacer : 16;
      void *pointer;
      int integer;
    };
--- 1255,1262 ----
  struct Lisp_Save_Value
    {
      int type : 16;    /* = Lisp_Misc_Save_Value */
!     unsigned gcmarkbit : 1;
!     int spacer : 15;
      void *pointer;
      int integer;
    };




reply via email to

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