* gc.c: (scm_gc_mark_dependencies): use SCM_EQ_P for SCMs, not
authorMichael Livshin <mlivshin@bigfoot.com>
Sun, 24 Dec 2000 09:54:24 +0000 (09:54 +0000)
committerMichael Livshin <mlivshin@bigfoot.com>
Sun, 24 Dec 2000 09:54:24 +0000 (09:54 +0000)
'=='.  also, return after calling `scm_gc_mark'.

libguile/ChangeLog
libguile/gc.c

index 9077d13..262a3ab 100644 (file)
@@ -1,3 +1,8 @@
+2000-12-24  Michael Livshin  <mlivshin@bigfoot.com>
+
+       * gc.c: (scm_gc_mark_dependencies): use SCM_EQ_P for SCMs, not
+       '=='.  also, return after calling `scm_gc_mark'.
+
 2000-12-24  Michael Livshin  <mlivshin@bigfoot.com>
 
        * gc.c: (scm_gc_mark_dependencies): new function.  like
index ebafc9f..b1095d1 100644 (file)
@@ -1125,10 +1125,11 @@ gc_mark_loop:
 gc_mark_nimp:
   
 #ifdef MARK_DEPENDENCIES
-  if (ptr == p)
+  if (SCM_EQ_P (ptr, p))
     return;
 
   scm_gc_mark (ptr);
+  return;
 
 gc_mark_loop_first_time:
 #endif
@@ -1381,13 +1382,13 @@ gc_mark_loop_first_time:
     def:
       SCM_MISC_ERROR ("unknown type", SCM_EOL);
     }
+#undef RECURSE
 }
 #undef FUNC_NAME
 
 #ifndef MARK_DEPENDENCIES
 
 #undef MARK
-#undef RECURSE
 #undef FNAME
 
 /* And here we define `scm_gc_mark_dependencies', by including this
@@ -1399,7 +1400,6 @@ gc_mark_loop_first_time:
 #include "gc.c"
 #undef MARK_DEPENDENCIES
 #undef MARK
-#undef RECURSE
 #undef FNAME