diff options
Diffstat (limited to 'libguile/goops.c')
-rw-r--r-- | libguile/goops.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libguile/goops.c b/libguile/goops.c index 02c18baac..6eac27ef0 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -91,11 +91,14 @@ #define SCM_OBJ_CLASS_REDEF(x) (SCM_STRUCT_VTABLE_DATA(x)[scm_si_redefined]) */ -#define TEST_CHANGE_CLASS(obj, class) \ - { \ - class = SCM_CLASS_OF (obj); \ - if (SCM_OBJ_CLASS_REDEF (obj) != SCM_BOOL_F) \ - scm_change_object_class (obj, class, SCM_OBJ_CLASS_REDEF (obj)); \ +#define TEST_CHANGE_CLASS(obj, class) \ + { \ + class = SCM_CLASS_OF (obj); \ + if (SCM_OBJ_CLASS_REDEF (obj) != SCM_BOOL_F) \ + { \ + scm_change_object_class (obj, class, SCM_OBJ_CLASS_REDEF (obj));\ + class = SCM_CLASS_OF (obj); \ + } \ } #define NXT_MTHD_METHODS(m) (SCM_VELTS (m)[1]) |