1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

* goops.c (TEST_CHANGE_CLASS): Update variable class after class

change.
This commit is contained in:
Mikael Djurfeldt 2003-04-17 20:45:00 +00:00
parent a75d54876c
commit f721dc1de1
2 changed files with 11 additions and 6 deletions

View file

@ -1,5 +1,8 @@
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, scm_equal_p): Turned into a primitive generics.
* snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New

View file

@ -115,12 +115,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) \
CALL_GF3 ("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])