diff --git a/core/classes/classes.factor b/core/classes/classes.factor index c2b1a44f36..fefdf97f6d 100644 --- a/core/classes/classes.factor +++ b/core/classes/classes.factor @@ -196,6 +196,7 @@ GENERIC: metaclass-changed ( use class -- ) 2bi ] [ 2drop t "class" set-word-prop ] + [ 2drop f "defining-class" set-word-prop ] [ 2drop update-map+ ] [ nip ?metaclass-changed ] } 3cleave ; diff --git a/core/classes/tuple/tuple.factor b/core/classes/tuple/tuple.factor index 0f0f359657..1f5ce09bcb 100644 --- a/core/classes/tuple/tuple.factor +++ b/core/classes/tuple/tuple.factor @@ -246,16 +246,10 @@ M: tuple-class update-class [ define-tuple-prototype ] } cleave ; -! The "defining-class" word-prop is to ensure that the tuple being -! defined becomes a classoid as it's being parsed so that it can -! be used as the type of its own slots. : define-new-tuple-class ( class superclass slots -- ) - { - [ drop f f tuple-class define-class ] - [ nip "slots" set-word-prop ] - [ 2drop update-classes ] - [ 2drop f "defining-class" set-word-prop ] - } 3cleave ; + [ drop f f tuple-class define-class ] + [ nip "slots" set-word-prop ] + [ 2drop update-classes ] 3tri ; : subclasses ( class -- classes ) class-usages [ tuple-class? ] filter ;