* alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
[bpt/guile.git] / libguile / objects.c
index 700662b..3838a9c 100644 (file)
@@ -191,7 +191,7 @@ scm_class_of (SCM x)
                {
                  SCM name = SCM_STRUCT_TABLE_NAME (SCM_CDR (handle));
                  SCM class = scm_make_extended_class (SCM_NFALSEP (name)
-                                                      ? SCM_ROCHARS (name)
+                                                      ? SCM_SYMBOL_CHARS (name)
                                                       : 0);
                  SCM_SET_STRUCT_TABLE_CLASS (SCM_CDR (handle), class);
                  return class;
@@ -276,7 +276,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args)
                 [scm_si_hashsets + hashset];
            ls = SCM_CDR (ls);
          }
-       while (--j && SCM_NIMP (ls));
+       while (j-- && SCM_NIMP (ls));
       i &= mask;
       end = i;
     }
@@ -296,7 +296,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args)
            ls = SCM_CDR (ls);
            z = SCM_CDR (z);
          }
-       while (--j && SCM_NIMP (ls));
+       while (j-- && SCM_NIMP (ls));
       /* Fewer arguments than specifiers => CAR != ENV */
       if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z))))
        goto next_method;
@@ -484,7 +484,9 @@ scm_init_objects ()
   SCM_SET_CLASS_DESTRUCTOR (et, scm_struct_free_entity);
   scm_sysintern ("<entity>", et);
 
+#ifndef SCM_MAGIC_SNARFER
 #include "libguile/objects.x"
+#endif
 }
 
 /*