Fix scaffold to work with vocab-roots outside of Factor source tree. Cleanup check-vocab-root.

db4
Daniel Lee Harple 2008-12-02 16:23:54 -05:00
parent 869d4cea78
commit e609448b44
1 changed files with 6 additions and 12 deletions

View File

@ -17,23 +17,17 @@ ERROR: no-vocab vocab ;
<PRIVATE
: root? ( string -- ? ) vocab-roots get member? ;
: root? ( string -- ? ) vocab-roots get member? ;
: length-changes? ( seq quot -- ? )
dupd call [ length ] bi@ = not ; inline
: contains-dot? ( string -- ? ) ".." swap subseq? ;
: contains-separator? ( string -- ? ) [ path-separator? ] contains? ;
: check-vocab-name ( string -- string )
dup [ [ CHAR: . = ] trim ] length-changes?
[ vocab-name-contains-dot ] when
".." over subseq? [ vocab-name-contains-dot ] when
dup [ path-separator? ] contains?
[ vocab-name-contains-separator ] when ;
dup contains-dot? [ vocab-name-contains-dot ] when
dup contains-separator? [ vocab-name-contains-separator ] when ;
: check-root ( string -- string )
check-vocab-name
dup "resource:" head? [ "resource:" prepend ] unless
dup root? [ not-a-vocab-root ] unless ;
: directory-exists ( path -- )