X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/5e8904311f10522a2288b9d2d340964fe21028a7..8dc9439fc660ef7914d63fd8c1fc58092b5f6fa5:/libguile/objects.c diff --git a/libguile/objects.c b/libguile/objects.c index 700662ba2..3838a9c8c 100644 --- a/libguile/objects.c +++ b/libguile/objects.c @@ -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 ("", et); +#ifndef SCM_MAGIC_SNARFER #include "libguile/objects.x" +#endif } /*