summaryrefslogtreecommitdiff
path: root/module/oop
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-01-11 22:01:47 +0100
committerAndy Wingo <wingo@pobox.com>2015-01-23 16:16:02 +0100
commit60061fe0fe50536693a34b2acd5c282f342fc7c3 (patch)
tree7e7f586c4a602c54475b662c85ee2f3b16723b5e /module/oop
parent2025a02793282b5548372939e43c72d13933853d (diff)
Incorporate %inherit-magic! into %init-layout!
* libguile/goops.c (scm_make_standard_class, scm_sys_init_layout_x): Move definitions up. Incorporate scm_sys_inherit_magic_x into scm_sys_init_layout_x. * libguile/goops.h: Remove scm_sys_init_layout_x declaration.
Diffstat (limited to 'module/oop')
-rw-r--r--module/oop/goops.scm10
1 files changed, 3 insertions, 7 deletions
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 10d63953e..67e7bf806 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -447,7 +447,6 @@
(cons z subclasses))))
dsupers)
(%prep-layout! z)
- (%inherit-magic! z dsupers)
z)))
(define <class>
@@ -2471,12 +2470,9 @@ var{initargs}."
(cons class dsubs))))
supers)
- ;; Support for the underlying structs:
-
- ;; Set the layout slot
- (%prep-layout! class)
- ;; Inherit class flags (invisible on scheme level) from supers
- (%inherit-magic! class supers)))
+ ;; Compute struct layout of instances, set the `layout' slot, and
+ ;; update class flags.
+ (%prep-layout! class)))
(define (initialize-object-procedure object initargs)
(let ((proc (get-keyword #:procedure initargs #f)))