[prev in list] [next in list] [prev in thread] [next in thread] 

List:       darcs-devel
Subject:    [darcs-devel] darcs patch: Simplify getCurrentDirectorySansDarcs
From:       Eric Kow <eric.kow () gmail ! com>
Date:       2007-11-19 17:47:27
Message-ID: 20071119174727.51ED215A7DF7 () dewdrop ! local
[Download RAW message or body]

I think this should do the trick... but I could have just done something cl=
umsy
again.

Mon Nov 19 05:13:26 CET 2007  Eric Kow <eric.kow@gmail.com>
  * Simplify getCurrentDirectorySansDarcs out of existence.
  =

  It was buggy and needlessly complicated.

Mon Nov 19 18:44:22 CET 2007  Eric Kow <eric.kow@gmail.com>
  * Fix corner case in sansDarcs.
  Pointed out by Kevin Quick.


["simplify-getcurrentdirectorysansdarcs-out-of-existence_.dpatch" (text/x-darcs-patch)]

New patches:

[Simplify getCurrentDirectorySansDarcs out of existence.
Eric Kow <eric.kow@gmail.com>**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
}

[Fix corner case in sansDarcs.
Eric Kow <eric.kow@gmail.com>**20071119174422
 Pointed out by Kevin Quick.
] {
hunk ./src/Darcs/Lock.lhs 182
-sansDarcs ('/':'_':'d':'a':'r':'c':'s':_) = ""
+sansDarcs "/_darcs" = ""
+sansDarcs ('/':'_':'d':'a':'r':'c':'s':'/':_) = ""
}

Context:

[TAG darcs unstable 2007-11-04
Eric Kow <eric.kow@loria.fr>**20071104235616] 
Patch bundle hash:
0171a949cea4cdf618c48922959a380e5acd8457


_______________________________________________
darcs-devel mailing list
darcs-devel@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-devel

.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic