[Top][All Lists]
[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;