summaryrefslogtreecommitdiff
path: root/libguile/goops.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/goops.c')
-rw-r--r--libguile/goops.c13
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])