remove class-environment slot, goops grubs less in the evaluator
authorAndy Wingo <wingo@pobox.com>
Fri, 27 Nov 2009 19:50:40 +0000 (20:50 +0100)
committerAndy Wingo <wingo@pobox.com>
Tue, 1 Dec 2009 20:00:25 +0000 (21:00 +0100)
commit9d019f9be0a1a7d3aaa507c9996cd5097da53875
tree1213b717cf840d383cdd2ab84ac91dfa3395b52e
parentc2c4e281988bf1c5261fde3a74566dc49d8eecf7
remove class-environment slot, goops grubs less in the evaluator

* libguile/goops.h (scm_sys_tag_body): Remove declaration of undefined
  function.
  (SCM_CLASS_CLASS_LAYOUT, scm_si_environment, SCM_N_CLASS_SLOTS)
  (scm_class_environment) Remove class environment slot and getter.

* libguile/goops.c (compute_getters_n_setters): Use scm_primitive_eval
  to produce the init thunk, instead of scm_i_eval_x; though really we
  should be doing this in Scheme.
  (scm_basic_basic_make_class, build_class_class_slots)
  (create_basic_classes, scm_class_environment): Remove class
  environment slot.
  (get_slot_value, set_slot_value): Use scm_call_1 instead of evaluator
  tricks.

* module/oop/goops.scm: Remove class-environment export, and
  environments throughout the file.
libguile/goops.c
libguile/goops.h
module/oop/goops.scm