changeset 10340:ef58c7a5a4d6

(mark_object, mark_buffer): Don't mark buffer twice.
author Karl Heuer <kwzh@gnu.org>
date Wed, 04 Jan 1995 22:43:47 +0000
parents a54c5191fb97
children f27bcd1faf07
files src/alloc.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/alloc.c	Wed Jan 04 22:41:16 1995 +0000
+++ b/src/alloc.c	Wed Jan 04 22:43:47 1995 +0000
@@ -1524,7 +1524,10 @@
 
     case Lisp_Vectorlike:
       if (GC_BUFFERP (obj))
-	mark_buffer (obj);
+	{
+	  if (!XMARKBIT (XBUFFER (obj)->name))
+	    mark_buffer (obj);
+	}
       else if (GC_SUBRP (obj))
 	break;
       else if (GC_COMPILEDP (obj))
@@ -1753,7 +1756,7 @@
     mark_object (ptr);
 
   /* If this is an indirect buffer, mark its base buffer.  */
-  if (buffer->base_buffer)
+  if (buffer->base_buffer && !XMARKBIT (buffer->base_buffer->name))
     {
       XSETBUFFER (base_buffer, buffer->base_buffer); 
       mark_buffer (base_buffer);