summaryrefslogtreecommitdiff
path: root/libguile/objects.c
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2003-03-19 08:57:47 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2003-03-19 08:57:47 +0000
commit74b6d6e4565199ad868af57288316deb21742da6 (patch)
tree0f11afde780e9a0a8afddc1acaaee8cab3f46f0c /libguile/objects.c
parent5c9e7dad75a4b17581a64dcbee1a3e7dbcddaa84 (diff)
downloadguile-74b6d6e4565199ad868af57288316deb21742da6.tar.gz
* goops.c (make_class_from_template): New fourth arg:
applicablep. (scm_class_extended_generic_with_setter, scm_class_self): Fixed cpls. * smob.c (scm_set_smob_apply): Call scm_i_inherit_applicable. * goops.c, objects.c, objects.h (scm_make_extended_class): New second arg: applicablep. (scm_i_inherit_applicable): New function. * goops.c, goops.h (scm_class_applicable, scm_class_extended_accessor): New classes.
Diffstat (limited to 'libguile/objects.c')
-rw-r--r--libguile/objects.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/objects.c b/libguile/objects.c
index 4c22626c6..fe4b8b388 100644
--- a/libguile/objects.c
+++ b/libguile/objects.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1999,2000,2001, 2003 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -190,7 +190,8 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
SCM name = SCM_STRUCT_TABLE_NAME (SCM_CDR (handle));
SCM class = scm_make_extended_class (!SCM_FALSEP (name)
? SCM_SYMBOL_CHARS (name)
- : 0);
+ : 0,
+ SCM_I_OPERATORP (x));
SCM_SET_STRUCT_TABLE_CLASS (SCM_CDR (handle), class);
return class;
}