diff options
author | Andy Wingo <wingo@pobox.com> | 2009-10-31 12:04:53 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-11-15 20:28:11 +0100 |
commit | 521ac49bdea053227c973a92e37fcc0879fa20d0 (patch) | |
tree | b29383cc2291ed2a2d485a2644d96e3f73164d98 /libguile/objects.c | |
parent | 48c7c44e70e6ba80fe16bfb179320cffb6a03996 (diff) | |
download | guile-521ac49bdea053227c973a92e37fcc0879fa20d0.tar.gz |
SCM_GENERIC_METHOD_CACHE macro splits from SCM_ENTITY_PROCEDURE
* libguile/goops.h (SCM_GENERIC_METHOD_CACHE)
(SCM_SET_GENERIC_METHOD_CACHE): Two new macros; the same as
SCM_[SET_]ENTITY_PROCEDURE, but more reflecting the reality of the
generic hack.
* libguile/eval.i.c:
* libguile/goops.c:
* libguile/objects.c:
* libguile/vm-i-system.c: Use the new macros when it is appropriate to
do so.
Diffstat (limited to 'libguile/objects.c')
-rw-r--r-- | libguile/objects.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libguile/objects.c b/libguile/objects.c index 6ce7d7c16..81b941cf4 100644 --- a/libguile/objects.c +++ b/libguile/objects.c @@ -163,7 +163,7 @@ scm_mcache_compute_cmethod (SCM cache, SCM args) SCM scm_apply_generic (SCM gf, SCM args) { - SCM cmethod = scm_mcache_compute_cmethod (SCM_ENTITY_PROCEDURE (gf), args); + SCM cmethod = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (gf), args); if (SCM_PROGRAM_P (cmethod)) return scm_vm_apply (scm_the_vm (), cmethod, args); else if (scm_is_pair (cmethod)) @@ -247,8 +247,7 @@ SCM_DEFINE (scm_set_object_procedure_x, "set-object-procedure!", 2, 0, 0, obj, SCM_ARG1, FUNC_NAME); - SCM_ASSERT (scm_valid_object_procedure_p (proc), proc, SCM_ARG2, FUNC_NAME); -SCM_SET_ENTITY_PROCEDURE (obj, proc); + SCM_SET_ENTITY_PROCEDURE (obj, proc); return SCM_UNSPECIFIED; } #undef FUNC_NAME |