<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Darcs.Lock</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Darcs-Lock.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Darcs-Lock.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">darcs-2.8.3: a distributed, interactive, smart revision control system</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Darcs.Lock</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:withLock">withLock</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withLockCanFail">withLockCanFail</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a> a)</li><li class="src short"><a href="#v:withTemp">withTemp</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withOpenTemp">withOpenTemp</a> :: ((<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withStdoutTemp">withStdoutTemp</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withTempDir">withTempDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withPermDir">withPermDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withDelayedDir">withDelayedDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:withNamedTemp">withNamedTemp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:writeToFile">writeToFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:appendToFile">appendToFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:writeBinFile">writeBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:writeLocaleFile">writeLocaleFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:writeDocBinFile">writeDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:appendBinFile">appendBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:appendDocBinFile">appendDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:readBinFile">readBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:readLocaleFile">readLocaleFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:readDocBinFile">readDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:writeAtomicFilePS">writeAtomicFilePS</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:gzWriteAtomicFilePS">gzWriteAtomicFilePS</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:gzWriteAtomicFilePSs">gzWriteAtomicFilePSs</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:gzWriteDocFile">gzWriteDocFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:rmRecursive">rmRecursive</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:removeFileMayNotExist">removeFileMayNotExist</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:canonFilename">canonFilename</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:maybeRelink">maybeRelink</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:worldReadableTemp">worldReadableTemp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:tempdirLoc">tempdirLoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:editText">editText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><a href="#v:environmentHelpTmpdir">environmentHelpTmpdir</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])</li><li class="src short"><a href="#v:environmentHelpKeepTmpdir">environmentHelpKeepTmpdir</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:withLock" class="def">withLock</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withLock" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withLockCanFail" class="def">withLockCanFail</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a> a)<a href="src/Darcs-Lock.html#withLockCanFail" class="link">Source</a></p><div class="doc"><p>Tries to perform some task if it can obtain the lock, Otherwise, just gives up without doing the task </p></div></div><div class="top"><p class="src"><a name="v:withTemp" class="def">withTemp</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withTemp" class="link">Source</a></p><div class="doc"><p><code><a href="Darcs-Lock.html#v:withTemp">withTemp</a></code> safely creates an empty file (not open for writing) and returns its name. </p><p>The temp file operations are rather similar to the locking operations, in that they both should always try to clean up, so exitWith causes trouble. </p></div></div><div class="top"><p class="src"><a name="v:withOpenTemp" class="def">withOpenTemp</a> :: ((<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withOpenTemp" class="link">Source</a></p><div class="doc"><p><code><a href="Darcs-Lock.html#v:withOpenTemp">withOpenTemp</a></code> creates a temporary file, and opens it. Both of them run their argument and then delete the file. Also, both of them (to my knowledge) are not susceptible to race conditions on the temporary file (as long as you never delete the temporary file; that would reintroduce a race condition). </p></div></div><div class="top"><p class="src"><a name="v:withStdoutTemp" class="def">withStdoutTemp</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withStdoutTemp" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withTempDir" class="def">withTempDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withTempDir" class="link">Source</a></p><div class="doc"><p><code><a href="Darcs-Lock.html#v:withTempDir">withTempDir</a></code> creates an empty directory and then removes it when it is no longer needed. withTempDir creates a temporary directory. The location of that directory is determined by the contents of _darcs<em>prefs</em>tmpdir, if it exists, otherwise by <code>$DARCS_TMPDIR</code>, and if that doesn't exist then whatever your operating system considers to be a a temporary directory (e.g. <code>$TMPDIR</code> under Unix, <code>$TEMP</code> under Windows). </p><p>If none of those exist it creates the temporary directory in the current directory, unless the current directory is under a _darcs directory, in which case the temporary directory in the parent of the highest _darcs directory to avoid accidentally corrupting darcs's internals. This should not fail, but if it does indeed fail, we go ahead and use the current directory anyway. If <code>$DARCS_KEEP_TMPDIR</code> variable is set temporary directory is not removed, this can be useful for debugging. </p></div></div><div class="top"><p class="src"><a name="v:withPermDir" class="def">withPermDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withPermDir" class="link">Source</a></p><div class="doc"><p><code><a href="Darcs-Lock.html#v:withPermDir">withPermDir</a></code> is like <code><a href="Darcs-Lock.html#v:withTempDir">withTempDir</a></code>, except that it doesn't delete the directory afterwards. </p></div></div><div class="top"><p class="src"><a name="v:withDelayedDir" class="def">withDelayedDir</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="Darcs-RepoPath.html#t:AbsolutePath">AbsolutePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withDelayedDir" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withNamedTemp" class="def">withNamedTemp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> a<a href="src/Darcs-Lock.html#withNamedTemp" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:writeToFile" class="def">writeToFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#writeToFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:appendToFile" class="def">appendToFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>) -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#appendToFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:writeBinFile" class="def">writeBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#writeBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:writeLocaleFile" class="def">writeLocaleFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#writeLocaleFile" class="link">Source</a></p><div class="doc"><p>Writes a file. Differs from writeBinFile in that it writes the string encoded with the current locale instead of what GHC thinks is right. </p></div></div><div class="top"><p class="src"><a name="v:writeDocBinFile" class="def">writeDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#writeDocBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:appendBinFile" class="def">appendBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#appendBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:appendDocBinFile" class="def">appendDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#appendDocBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:readBinFile" class="def">readBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Lock.html#readBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:readLocaleFile" class="def">readLocaleFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Lock.html#readLocaleFile" class="link">Source</a></p><div class="doc"><p>Reads a file. Differs from readBinFile in that it interprets the file in the current locale instead of as ISO-8859-1. </p></div></div><div class="top"><p class="src"><a name="v:readDocBinFile" class="def">readDocBinFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="Printer.html#t:Doc">Doc</a><a href="src/Darcs-Lock.html#readDocBinFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:writeAtomicFilePS" class="def">writeAtomicFilePS</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#writeAtomicFilePS" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:gzWriteAtomicFilePS" class="def">gzWriteAtomicFilePS</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#gzWriteAtomicFilePS" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:gzWriteAtomicFilePSs" class="def">gzWriteAtomicFilePSs</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>] -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#gzWriteAtomicFilePSs" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:gzWriteDocFile" class="def">gzWriteDocFile</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="Printer.html#t:Doc">Doc</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#gzWriteDocFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:rmRecursive" class="def">rmRecursive</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#rmRecursive" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:removeFileMayNotExist" class="def">removeFileMayNotExist</a> :: <a href="Darcs-RepoPath.html#t:FilePathLike">FilePathLike</a> p => p -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Darcs-Lock.html#removeFileMayNotExist" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:canonFilename" class="def">canonFilename</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a><a href="src/Darcs-Compat.html#canonFilename" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:maybeRelink" class="def">maybeRelink</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Compat.html#maybeRelink" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:worldReadableTemp" class="def">worldReadableTemp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Darcs-Lock.html#worldReadableTemp" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tempdirLoc" class="def">tempdirLoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:FilePath">FilePath</a><a href="src/Darcs-Lock.html#tempdirLoc" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:editText" class="def">editText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a><a href="src/Darcs-Lock.html#editText" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:environmentHelpTmpdir" class="def">environmentHelpTmpdir</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])<a href="src/Darcs-Lock.html#environmentHelpTmpdir" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:environmentHelpKeepTmpdir" class="def">environmentHelpKeepTmpdir</a> :: ([<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>], [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>])<a href="src/Darcs-Lock.html#environmentHelpKeepTmpdir" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>