From 2aa6ce7e8c64587a578164f4c32a101baa086346 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Thu, 7 May 2015 16:49:32 -0700 Subject: [PATCH] io.directories.search: fix inline recursive combinator compilation. fix reversed logic for containing-directory --- basis/io/directories/search/search.factor | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/basis/io/directories/search/search.factor b/basis/io/directories/search/search.factor index 6bd85a0ba0..056347ec5f 100644 --- a/basis/io/directories/search/search.factor +++ b/basis/io/directories/search/search.factor @@ -109,19 +109,19 @@ ERROR: sequence-expected obj ; [ file-info ] [ 2drop f ] recover ; : containing-directory ( path -- path' ) - dup ?file-info directory? [ parent-directory ] when ; + dup ?file-info directory? [ parent-directory ] unless ; : ?qualified-directory-files ( path -- seq ) [ qualified-directory-files ] [ drop ?parent-directory [ ?qualified-directory-files ] [ f ] if* ] recover ; -: (find-up-to-root) ( path quot -- obj ) - 2dup [ ?qualified-directory-files ] dip find swap [ - 2nip +: (find-up-to-root) ( path quot: ( path -- ? ) -- obj ) + [ [ ?qualified-directory-files ] dip find swap ] 2keep rot [ + 2drop ] [ - drop [ ?parent-directory ] dip over + [ nip ?parent-directory ] dip over [ (find-up-to-root) ] [ 2drop f ] if - ] if ; inline + ] if ; inline recursive : find-up-to-root ( path quot -- obj ) [ normalize-path containing-directory ] dip (find-up-to-root) ; inline