summaryrefslogtreecommitdiff
path: root/libguile/objects.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-10-31 12:04:53 +0100
committerAndy Wingo <wingo@pobox.com>2009-11-15 20:28:11 +0100
commit521ac49bdea053227c973a92e37fcc0879fa20d0 (patch)
treeb29383cc2291ed2a2d485a2644d96e3f73164d98 /libguile/objects.c
parent48c7c44e70e6ba80fe16bfb179320cffb6a03996 (diff)
downloadguile-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.c5
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