io.directories.search: fix inline recursive combinator compilation. fix
reversed logic for containing-directorydb4
							parent
							
								
									510f605df9
								
							
						
					
					
						commit
						2aa6ce7e8c
					
				| 
						 | 
					@ -109,19 +109,19 @@ ERROR: sequence-expected obj ;
 | 
				
			||||||
    [ file-info ] [ 2drop f ] recover ;
 | 
					    [ file-info ] [ 2drop f ] recover ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: containing-directory ( path -- path' )
 | 
					: 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 ( path -- seq )
 | 
				
			||||||
    [ qualified-directory-files ]
 | 
					    [ qualified-directory-files ]
 | 
				
			||||||
    [ drop ?parent-directory [ ?qualified-directory-files ] [ f ] if* ] recover ;
 | 
					    [ drop ?parent-directory [ ?qualified-directory-files ] [ f ] if* ] recover ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: (find-up-to-root) ( path quot -- obj )
 | 
					: (find-up-to-root) ( path  quot: ( path -- ? ) -- obj )
 | 
				
			||||||
    2dup [ ?qualified-directory-files ] dip find swap [
 | 
					    [ [ ?qualified-directory-files ] dip find swap ] 2keep rot [
 | 
				
			||||||
        2nip
 | 
					        2drop
 | 
				
			||||||
    ] [
 | 
					    ] [
 | 
				
			||||||
        drop [ ?parent-directory ] dip over
 | 
					        [ nip ?parent-directory ] dip over
 | 
				
			||||||
        [ (find-up-to-root) ] [ 2drop f ] if
 | 
					        [ (find-up-to-root) ] [ 2drop f ] if
 | 
				
			||||||
    ] if ; inline
 | 
					    ] if ; inline recursive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: find-up-to-root ( path quot -- obj )
 | 
					: find-up-to-root ( path quot -- obj )
 | 
				
			||||||
    [ normalize-path containing-directory ] dip (find-up-to-root) ; inline
 | 
					    [ normalize-path containing-directory ] dip (find-up-to-root) ; inline
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue