emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/alloc.c


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/alloc.c
Date: Thu, 26 Jun 2003 19:16:05 -0400

Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.304 emacs/src/alloc.c:1.305
*** emacs/src/alloc.c:1.304     Wed Jun 25 19:27:32 2003
--- emacs/src/alloc.c   Thu Jun 26 19:16:05 2003
***************
*** 2670,2676 ****
    p->buffer = 0;
    p->bytepos = 0;
    p->charpos = 0;
!   p->chain = Qnil;
    p->insertion_type = 0;
    return val;
  }
--- 2670,2676 ----
    p->buffer = 0;
    p->bytepos = 0;
    p->charpos = 0;
!   p->next = NULL;
    p->insertion_type = 0;
    return val;
  }
***************
*** 2681,2687 ****
  free_marker (marker)
       Lisp_Object marker;
  {
!   unchain_marker (marker);
  
    XMISC (marker)->u_marker.type = Lisp_Misc_Free;
    XMISC (marker)->u_free.chain = marker_free_list;
--- 2681,2687 ----
  free_marker (marker)
       Lisp_Object marker;
  {
!   unchain_marker (XMARKER (marker));
  
    XMISC (marker)->u_marker.type = Lisp_Misc_Free;
    XMISC (marker)->u_free.chain = marker_free_list;
***************
*** 4930,4962 ****
        break;
  
      case Lisp_Misc:
!       /* FIXME: Maybe we should just use obj->mark for all?  */
!       switch (XMISCTYPE (obj))
!       {
!       case Lisp_Misc_Marker:
!         survives_p = XMARKER (obj)->gcmarkbit;
!         break;
! 
!       case Lisp_Misc_Buffer_Local_Value:
!       case Lisp_Misc_Some_Buffer_Local_Value:
!         survives_p = XBUFFER_LOCAL_VALUE (obj)->gcmarkbit;
!         break;
! 
!       case Lisp_Misc_Intfwd:
!       case Lisp_Misc_Boolfwd:
!       case Lisp_Misc_Objfwd:
!       case Lisp_Misc_Buffer_Objfwd:
!       case Lisp_Misc_Kboard_Objfwd:
!         survives_p = 1;
!         break;
! 
!       case Lisp_Misc_Overlay:
!         survives_p = XOVERLAY (obj)->gcmarkbit;
!         break;
! 
!       default:
!         abort ();
!       }
        break;
  
      case Lisp_String:
--- 4930,4936 ----
        break;
  
      case Lisp_Misc:
!       survives_p = XMARKER (obj)->gcmarkbit;
        break;
  
      case Lisp_String:
***************
*** 5240,5251 ****
              {
                Lisp_Object tem;
                if (mblk->markers[i].u_marker.type == Lisp_Misc_Marker)
!                 {
!                   /* tem1 avoids Sun compiler bug */
!                   struct Lisp_Marker *tem1 = &mblk->markers[i].u_marker;
!                   XSETMARKER (tem, tem1);
!                   unchain_marker (tem);
!                 }
                /* Set the type of the freed object to Lisp_Misc_Free.
                   We could leave the type alone, since nobody checks it,
                   but this might catch bugs faster.  */
--- 5214,5220 ----
              {
                Lisp_Object tem;
                if (mblk->markers[i].u_marker.type == Lisp_Misc_Marker)
!                 unchain_marker (&mblk->markers[i].u_marker);
                /* Set the type of the freed object to Lisp_Misc_Free.
                   We could leave the type alone, since nobody checks it,
                   but this might catch bugs faster.  */




reply via email to

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