]> gitweb.factorcode.org Git - factor.git/commitdiff
vocabs.hierarchy: ensure-valid-root only once per root.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Jul 2012 23:17:29 +0000 (16:17 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Jul 2012 23:17:29 +0000 (16:17 -0700)
basis/vocabs/hierarchy/hierarchy.factor

index fe791df64d67349ea988b52d76269e6533fa3d68..0a5de9b4e276a9e09929f52961e510ac656558c6 100644 (file)
@@ -37,7 +37,7 @@ ERROR: vocab-root-required root ;
     [ ensure-vocab-root ] [ check-vocab-name ] bi* ;\r
 \r
 : (child-vocabs) ( root prefix -- vocabs )\r
-    ensure-vocab-root/prefix\r
+    check-vocab-name\r
     [ vocab-dir append-path dup exists? [ vocab-subdirs ] [ drop { } ] if ]\r
     [ nip [ "." append '[ _ prepend ] map! ] unless-empty ]\r
     [ drop '[ _ over vocab-dir? [ >vocab-link ] [ <vocab-prefix> ] if ] map! ]\r
@@ -48,6 +48,7 @@ ERROR: vocab-root-required root ;
     [ ((child-vocabs-recursive)) ] with each ;\r
 \r
 : (child-vocabs-recursive) ( root prefix -- seq )\r
+    [ ensure-vocab-root ] dip\r
     [ ((child-vocabs-recursive)) ] { } make ;\r
 \r
 : no-rooted ( seq -- seq' ) [ find-vocab-root not ] filter ;\r