diff options
-rw-r--r-- | libguile/ChangeLog | 3 | ||||
-rw-r--r-- | libguile/goops.c | 13 |
2 files changed, 11 insertions, 5 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog index df5177dba..ccf2dac84 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -6,6 +6,9 @@ 2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se> + * goops.c (TEST_CHANGE_CLASS): Update variable class after class + change. + * eq.c (scm_eqv_p): Turned into a primitive generic. 2003-04-16 Rob Browning <rlb@defaultvalue.org> 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]) |