]> gitweb.factorcode.org Git - factor.git/commitdiff
vocabs: when forgetting vocab foo, also forget foo.private.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 15 Mar 2021 19:37:09 +0000 (12:37 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 15 Mar 2021 19:37:09 +0000 (12:37 -0700)
core/vocabs/vocabs.factor

index 419219b0c63954246e9666d3518d16d6d867994a..87ca67325a83708b649b37efb5e5fe65cc6fe4ab 100644 (file)
@@ -130,11 +130,22 @@ M: vocab-spec >vocab-link ;
 
 M: object >vocab-link dup lookup-vocab [ ] [ <vocab-link> ] ?if ;
 
-: forget-vocab ( vocab -- )
+<PRIVATE
+
+: (forget-vocab) ( vocab -- )
     [ vocab-words forget-all ]
     [ vocab-name dictionary get delete-at ]
     [ notify-vocab-observers ] tri ;
 
+PRIVATE>
+
+: forget-vocab ( vocab -- )
+    [ (forget-vocab) ] [
+        vocab-name dup ".private" tail? [ drop ] [
+            ".private" append (forget-vocab)
+        ] if
+    ] bi ;
+
 M: vocab-spec forget* forget-vocab ;
 
 SYMBOL: require-hook