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 [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/alloc.c [lexbind]
Date: Tue, 06 Jul 2004 07:13:04 -0400

Index: emacs/src/alloc.c
diff -c emacs/src/alloc.c:1.272.2.6 emacs/src/alloc.c:1.272.2.7
*** emacs/src/alloc.c:1.272.2.6 Tue Apr 27 14:11:01 2004
--- emacs/src/alloc.c   Tue Jul  6 09:14:34 2004
***************
*** 844,850 ****
    free_ablock = ablock;
    /* Update busy count.  */
    ABLOCKS_BUSY (abase) = (struct ablocks *) (-2 + (long) ABLOCKS_BUSY 
(abase));
!   
    if (2 > (long) ABLOCKS_BUSY (abase))
      { /* All the blocks are free.  */
        int i = 0, aligned = (long) ABLOCKS_BUSY (abase);
--- 844,850 ----
    free_ablock = ablock;
    /* Update busy count.  */
    ABLOCKS_BUSY (abase) = (struct ablocks *) (-2 + (long) ABLOCKS_BUSY 
(abase));
! 
    if (2 > (long) ABLOCKS_BUSY (abase))
      { /* All the blocks are free.  */
        int i = 0, aligned = (long) ABLOCKS_BUSY (abase);
***************
*** 4977,4982 ****
--- 4977,4990 ----
        break;
  
      case Lisp_Misc:
+       if (XMISCTYPE (obj) == Lisp_Misc_Free)
+       {
+         /* This is (probably) a freed marker which may still exist on
+            a buffer undo list, so accept it here, as check below will
+            fail (not live).  KFS 2004-05-17 */
+         XMARKER (obj)->gcmarkbit = 1;
+         break;
+       }
        CHECK_ALLOCATED_AND_LIVE (live_misc_p);
        if (XMARKER (obj)->gcmarkbit)
        break;




reply via email to

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