From bf3f4666887c8f28404898ed3a7728cdd1736dc0 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 15 Jul 2012 16:17:29 -0700 Subject: [PATCH] vocabs.hierarchy: ensure-valid-root only once per root. --- basis/vocabs/hierarchy/hierarchy.factor | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ] [ ] 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 ;