summaryrefslogtreecommitdiff
path: root/libguile/goops.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2008-10-24 11:56:31 +0200
committerAndy Wingo <wingo@pobox.com>2008-10-25 22:58:48 +0200
commit21497600d23534b2878f82401ffaf5551fdb6efd (patch)
treee4009ae6458a6fc517d92709cde38a9a89fea128 /libguile/goops.c
parentae9ce4b786dd76d85061c5a3ceb3bb96b5ba6115 (diff)
downloadguile-21497600d23534b2878f82401ffaf5551fdb6efd.tar.gz
add `formals', `body', and `compile-env' slots to <method>
* ice-9/boot-9.scm (compile-time-environment): Return #f instead of erroring under the interpreter, a bit more sane. * libguile/goops.c (create_standard_classes): * libguile/goops.h (scm_si_formals, scm_si_body, scm_si_compile_env): * oop/goops.scm (method, initialize): Add `formals', `body', and `compile-env' slots to <method>.
Diffstat (limited to 'libguile/goops.c')
-rw-r--r--libguile/goops.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libguile/goops.c b/libguile/goops.c
index 840ddd694..89556c540 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -2420,10 +2420,14 @@ static void
create_standard_classes (void)
{
SCM slots;
- SCM method_slots = scm_list_4 (scm_from_locale_symbol ("generic-function"),
+ SCM method_slots = scm_list_n (scm_from_locale_symbol ("generic-function"),
scm_from_locale_symbol ("specializers"),
sym_procedure,
- scm_from_locale_symbol ("code-table"));
+ scm_from_locale_symbol ("code-table"),
+ scm_from_locale_symbol ("formals"),
+ scm_from_locale_symbol ("body"),
+ scm_from_locale_symbol ("compile-env"),
+ SCM_UNDEFINED);
SCM amethod_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("slot-definition"),
k_init_keyword,
k_slot_definition));