This could still get false positive matches on things like: /foo/ _darcs_is_great/bar/baz (although it nicely sidesteps any impossible cases :-).
-KQ On 18 Nov 2007, at 9:13 PM, Eric Kow wrote: > Oops! Amended version. > > Mon Nov 19 05:13:26 CET 2007 Eric Kow <[EMAIL PROTECTED]> > * Simplify getCurrentDirectorySansDarcs out of existence. > > It was buggy and needlessly complicated. > > > New patches: > > [Simplify getCurrentDirectorySansDarcs out of existence. > Eric Kow <[EMAIL PROTECTED]>**20071119041326 > > It was buggy and needlessly complicated. > ] { > hunk ./src/Darcs/Lock.lhs 36 > -import Data.List ( isPrefixOf, inits ) > hunk ./src/Darcs/Lock.lhs 63 > -#include "impossible.h" > hunk ./src/Darcs/Lock.lhs 175 > - look_for_tmp [] = try_directory "/tmp" > getCurrentDirectorySansDarcs > + look_for_tmp [] = try_directory "/tmp" (sansDarcs `fmap` > getCurrentDirectory) > hunk ./src/Darcs/Lock.lhs 180 > -getCurrentDirectorySansDarcs :: IO FilePath > -getCurrentDirectorySansDarcs = do > - c <- getCurrentDirectory > - case drop 5 $ reverse $ takeWhile no_darcs $ inits c of > - [] -> impossible > - (d:_) -> return d > - where no_darcs x = not $ "_darcs" `isPrefixOf` x > +sansDarcs :: FilePath -> FilePath > +sansDarcs "" = "" > +sansDarcs ('/':'_':'d':'a':'r':'c':'s':_) = "" > +sansDarcs (x:xs) = x : sansDarcs xs > } > > Context: > > [TAG darcs unstable 2007-11-04 > Eric Kow <[EMAIL PROTECTED]>**20071104235616] > Patch bundle hash: > 7ce6830afbed903a55c05dc1fb803b2143481e1d > _______________________________________________ > darcs-devel mailing list > darcs-devel@darcs.net > http://lists.osuosl.org/mailman/listinfo/darcs-devel _______________________________________________ darcs-devel mailing list darcs-devel@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-devel