]> gitweb.factorcode.org Git - factor.git/commitdiff
io.directories.search: fix inline recursive combinator compilation. fix
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 7 May 2015 23:49:32 +0000 (16:49 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 7 May 2015 23:49:32 +0000 (16:49 -0700)
reversed logic for containing-directory

basis/io/directories/search/search.factor

index 6bd85a0ba0e2a4dd6dd2d1112ff7f67490a3b8d2..056347ec5f8cc7b6994a8a68bc589ef60527c7e3 100644 (file)
@@ -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