mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-13 07:10:20 +02:00
* goops.c (TEST_CHANGE_CLASS): Update variable class after class
change.
This commit is contained in:
parent
a75d54876c
commit
f721dc1de1
2 changed files with 11 additions and 6 deletions
|
@ -1,5 +1,8 @@
|
||||||
2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
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.
|
* eq.c (scm_eqv_p, scm_equal_p): Turned into a primitive generics.
|
||||||
|
|
||||||
* snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New
|
* snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New
|
||||||
|
|
|
@ -115,12 +115,14 @@
|
||||||
#define SCM_OBJ_CLASS_REDEF(x) (SCM_STRUCT_VTABLE_DATA(x)[scm_si_redefined])
|
#define SCM_OBJ_CLASS_REDEF(x) (SCM_STRUCT_VTABLE_DATA(x)[scm_si_redefined])
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TEST_CHANGE_CLASS(obj, class) \
|
#define TEST_CHANGE_CLASS(obj, class) \
|
||||||
{ \
|
{ \
|
||||||
class = SCM_CLASS_OF (obj); \
|
class = SCM_CLASS_OF (obj); \
|
||||||
if (SCM_OBJ_CLASS_REDEF (obj) != SCM_BOOL_F) \
|
if (SCM_OBJ_CLASS_REDEF (obj) != SCM_BOOL_F) \
|
||||||
CALL_GF3 ("change-object-class", \
|
{ \
|
||||||
obj, class, SCM_OBJ_CLASS_REDEF (obj)); \
|
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])
|
#define NXT_MTHD_METHODS(m) (SCM_VELTS (m)[1])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue