From 0fd7dcd398938e005594f390056acefbd337cb25 Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Fri, 18 Apr 2003 08:19:03 +0000 Subject: [PATCH] goops.c (TEST_CHANGE_CLASS): Update variable class after class change. --- libguile/ChangeLog | 3 +++ 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 + * 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 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])