Move <class> initialization to Scheme
authorAndy Wingo <wingo@pobox.com>
Sun, 11 Jan 2015 15:27:16 +0000 (16:27 +0100)
committerAndy Wingo <wingo@pobox.com>
Fri, 23 Jan 2015 15:16:01 +0000 (16:16 +0100)
commit4702cbeb3780d0c81076bae0723a1fd544576471
tree6cb216b7cc6ddeda450996b9a1ff1f0876e1af7d
parent2b5812c64df5d91b9c827880b9a2428417e91411
Move <class> initialization to Scheme

* libguile/goops.c (scm_sys_make_root_class): Just make the
  vtable-vtable, and leave initialization to Scheme.

* libguile/struct.c (scm_i_make_vtable_vtable): Change to take a full
  list of fields, not just the extra fields.
  (scm_init_struct): Adapt to scm_i_make_vtable_vtable change.

* module/oop/goops.scm (<class>): Compute layout for <class>, and
  initialize <class> from here.
libguile/goops.c
libguile/struct.c
libguile/struct.h
module/oop/goops.scm