From ea68d342f18c3d2082ce6a4fb39bd38b6af932cc Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 7 Dec 2009 09:56:58 +0100 Subject: procedures-with-setters implemented in terms of structs * libguile/tags.h (scm_tc7_pws): No more. * libguile/procs.c (scm_procedure_with_setter_p) (scm_make_procedure_with_setter, scm_procedure, scm_setter): Implement procedures-with-setters in terms of applicable structs with setters. * libguile/procs.h: Remove a big, outdated comment, and the deprecated macros. * libguile/deprecated.h (SCM_PROCEDURE_WITH_SETTER_P, SCM_PROCEDURE) (SCM_SETTER): Deprecate these. SCM_PROCEDURE and SCM_SETTER are bad names. * libguile/evalext.c (scm_self_evaluating_p): * libguile/gc.c (scm_i_tag_name): * libguile/goops.c: (scm_class_of): * libguile/print.c (iprin1): * libguile/procprop.c (scm_i_procedure_arity): * libguile/procs.c (scm_procedure_p): * libguile/debug.c (scm_procedure_source): Remove a tc7_pws case. * libguile/goops.h: * libguile/goops.c (scm_class_procedure_with_setter): Remove this class; it is subsumed by applicable_struct_with_setter. * libguile/struct.h: Update a comment. * libguile/vm-i-system.c (call, goto/args, mv-call): Remove PWS cases. --- libguile/goops.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'libguile/goops.c') diff --git a/libguile/goops.c b/libguile/goops.c index f3a28d93d..1472e4700 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -132,7 +132,7 @@ static scm_t_rstate *goops_rstate; /* These variables are filled in by the object system when loaded. */ SCM scm_class_boolean, scm_class_char, scm_class_pair; SCM scm_class_procedure, scm_class_string, scm_class_symbol; -SCM scm_class_procedure_with_setter, scm_class_primitive_generic; +SCM scm_class_primitive_generic; SCM scm_class_vector, scm_class_null; SCM scm_class_integer, scm_class_real, scm_class_complex, scm_class_fraction; SCM scm_class_unknown; @@ -240,8 +240,6 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0, return scm_class_procedure; case scm_tc7_program: return scm_class_procedure; - case scm_tc7_pws: - return scm_class_procedure_with_setter; case scm_tc7_smob: { @@ -2419,8 +2417,6 @@ create_standard_classes (void) scm_class_class, scm_class_top, SCM_EOL); make_stdcls (&scm_class_procedure, "", scm_class_procedure_class, scm_class_applicable, SCM_EOL); - make_stdcls (&scm_class_procedure_with_setter, "", - scm_class_procedure_class, scm_class_procedure, SCM_EOL); make_stdcls (&scm_class_primitive_generic, "", scm_class_procedure_class, scm_class_procedure, SCM_EOL); make_stdcls (&scm_class_port, "", -- cgit v1.2.3