*** empty log message ***
[bpt/guile.git] / libguile / gc-mark.c
index 994d3aa..456cb37 100644 (file)
@@ -166,7 +166,7 @@ scm_gc_mark_dependencies (SCM p)
 {
   register long i;
   register SCM ptr;
-  scm_t_bits cell_type;
+  SCM cell_type;
 
   ptr = p;
  scm_mark_dependencies_again:
@@ -281,6 +281,12 @@ scm_gc_mark_dependencies (SCM p)
       break;
 
     case scm_tc7_number:
+      if (SCM_TYP16 (ptr) == scm_tc16_fraction)
+       {
+         scm_gc_mark (SCM_CELL_OBJECT_1 (ptr));
+         ptr = SCM_CELL_OBJECT_2 (ptr);
+         goto gc_mark_loop;
+       }
       break;
 
     case scm_tc7_wvect: