mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +02:00
* 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.
This commit is contained in:
parent
5c9e7dad75
commit
74b6d6e456
6 changed files with 126 additions and 23 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue