defining a smob or port type no longer mucks exports of (oop goops)
authorAndy Wingo <wingo@pobox.com>
Fri, 1 Jul 2011 09:46:32 +0000 (11:46 +0200)
committerAndy Wingo <wingo@pobox.com>
Fri, 1 Jul 2011 09:46:32 +0000 (11:46 +0200)
commit28d0871b553a3959a6c59e2e4caec1c1509f8595
treedd505994bba4a0cd04d183e74be485263c727d1d
parent26c81c7f405c545ffe9d2dab59349d9aba146348
defining a smob or port type no longer mucks exports of (oop goops)

* libguile/goops.c (DEFVAR): Remove this helper macro, replacing its
  uses with scm_module_define, but without scm_module_export.
  (create_basic_classes, scm_init_goops_builtins): Update callers.
  (make_class_from_template, make_class_from_symbol): Change to not
  define variables for classes.  This affects ports, struct classes, and
  smob classes.

* module/oop/goops.scm: Explicitly list our exports, so there is no more
  trickery happening in C.
  (find-subclass): Private helper to grub the class hierarchy, so we can
  define bindings for smobs, ports, etc.  Use to define the classes that
  goops.c used to define -- probably a subset, but it's better to have
  them listed.
libguile/goops.c
module/oop/goops.scm