procedures-with-setters implemented in terms of structs
authorAndy Wingo <wingo@pobox.com>
Mon, 7 Dec 2009 08:56:58 +0000 (09:56 +0100)
committerAndy Wingo <wingo@pobox.com>
Mon, 7 Dec 2009 08:56:58 +0000 (09:56 +0100)
commitea68d342f18c3d2082ce6a4fb39bd38b6af932cc
tree4042d77651542b93ab97b203167183db651df35b
parentce65df9f09577e4f566b467ee8647617204b9b40
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.
13 files changed:
libguile/debug.c
libguile/deprecated.h
libguile/evalext.c
libguile/gc.c
libguile/goops.c
libguile/goops.h
libguile/print.c
libguile/procprop.c
libguile/procs.c
libguile/procs.h
libguile/struct.h
libguile/tags.h
libguile/vm-i-system.c