]> gitweb.factorcode.org Git - factor.git/commitdiff
classes: unset defining-class in define-class.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 13 Apr 2016 23:41:42 +0000 (16:41 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 13 Apr 2016 23:41:42 +0000 (16:41 -0700)
core/classes/classes.factor
core/classes/tuple/tuple.factor

index c2b1a44f367dff507ad7a0d93846e57f0fef03a8..fefdf97f6de626733c67f6844b349fdbad499fa5 100644 (file)
@@ -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 ;
index 0f0f3596572c299244b32a656c0d8833bd3c7636..1f5ce09bcba350b9466e8430bc9abaaf5bb89bbc 100644 (file)
@@ -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 ;