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