Thu Sep 18 09:30:17 PDT 2008  Judah Jacobson <judah.jacobson@gmail.com>
  * Fix hang after a user input error (for example, EOF).

New patches:

[Fix hang after a user input error (for example, EOF).
Judah Jacobson <judah.jacobson@gmail.com>**20080918163017] hunk ./src/Darcs/Utils.lhs 18
                     formatPath ) where
 
 import Prelude hiding ( catch )
-import Control.Exception ( bracket, bracket_, catch, Exception(IOException) )
+import Control.Exception ( bracket, bracket_, catch, Exception(IOException), throwIO )
 import Control.Concurrent ( newEmptyMVar, takeMVar, putMVar, forkIO )
 #if !defined(WIN32) ||  __GLASGOW_HASKELL__>=609
 import Control.Concurrent ( threadWaitRead )
hunk ./src/Darcs/Utils.lhs 144
            (reset_umask rc)
            job
 
--- withThread is used to allow ctrl-C to work even while we're waiting
--- for user input.
+-- withThread is used to allow ctrl-C to work even while we're waiting for
+-- user input.  The job is run in a separate thread, and any exceptions it
+-- produces are re-thrown in the parent thread.
 withThread :: IO a -> IO a
 withThread j = do m <- newEmptyMVar
hunk ./src/Darcs/Utils.lhs 149
-                  forkIO (j >>= putMVar m)
-                  takeMVar m
+                  forkIO (runJob m)
+                  takeMVar m >>= either throwIO return
+    where runJob m = (j >>= putMVar m . Right) `catch` (putMVar m . Left)
 
 askUser :: String -> IO String
 #ifdef HAVE_HASKELINE

Context:

[Disable more record_editor tests under Windows.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080917192602
 It still appears to be failing under Cygwin.
] 
[add a couple of tests of unrecord.
David Roundy <droundy@darcs.net>**20080917133738] 
[add a few (passing) tests of pending handling in obliterate and unrecord.
David Roundy <droundy@darcs.net>**20080917130423] 
[Use putStrLn for "Cancelled." message.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080916205014] 
[remove now-unused is_addrmfile and is_addrmdir.
David Roundy <droundy@darcs.net>**20080916173136] 
[resolve issue1012: it seems to be fixed by the fix for issue709.
David Roundy <droundy@darcs.net>**20080916173116] 
[resolve issue885: fix patchSetToRepository to work with hashed.
David Roundy <droundy@darcs.net>**20080916173030] 
[resolve issue709: avoid adding changes to pending in rmpend when possible.
David Roundy <droundy@darcs.net>**20080916173002] 
[first-stage fix for issue709.
David Roundy <droundy@darcs.net>**20080916170333
 Here I fix the bug which leads to a corrupt pending being left, with a
 rmfile change but no hunk removing the contents.  This doesn't fix
 issue709, since an incorrect pending is left, it's just no longer a
 corrupt pending (i.e. it's still got the rmfile, but if you record it
 there's no problem).
] 
[add new test that we don't do anything when repairing a clean repo.
David Roundy <droundy@darcs.net>**20080916165437] 
[whitespace change in prepend.
David Roundy <droundy@darcs.net>**20080916160425] 
[make shell_harness print summary of passing tests when running bugs tests.
David Roundy <droundy@darcs.net>**20080916145820] 
[trailing whitespace cleanup in Repository.Internal.
David Roundy <droundy@darcs.net>**20080916142112] 
[tiny refactor in Internal.lhs.
David Roundy <droundy@darcs.net>**20080916155922] 
[simplify issue965 test (which took quite a while for me to figure out).
David Roundy <droundy@darcs.net>**20080916152028] 
[Test for issue691.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080916111332] 
[Throw an error when haskeline returns an EOF/EOT.
Judah Jacobson <judah.jacobson@gmail.com>**20080917180124] 
[Re-enable haskeline by default.  Require haskeline>=0.3.1 which fixes issue1050.
Judah Jacobson <judah.jacobson@gmail.com>**20080917194007] 
[Make match.pl test understand Windows dates.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080916011339
 Windows does not abbreviate its timezones.
] 
[Disable some tests that don't work under Windows.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080916000912] 
[Translate get.pl test into shell.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080916000227
 The original get.pl uses the Perl Cwd library, which seems not
 to work for purposes of this test under MSYS.
] 
[Resolve issue691: distinguish between NoArg and ReqArg in defaults parser.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080915224046] 
[Move get_default_flag type to definition.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080915220316] 
[reverse overly-invasive haddocking.
David Roundy <droundy@darcs.net>**20080915110353] 
[In darcs send if POST fails try sendmail.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914234314] 
[Grammar in Darcs.Commands.Send.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914232923] 
[Print "Successfully sent patch bundle to" only when we really sent something.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914232905] 
[Fix overzealous escaping in haddock.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080915070926] 
[Haddock documentation for English.lhs
florent.becker@ens-lyon.org**20080913143844
 Docstrings by Eric Kow
] 
[Haddock documentation for PrintPatch
florent.becker@ens-lyon.org**20080913143420] 
[Haddock documentation for Flags
florent.becker@ens-lyon.org**20080913143026] 
[Haddock documentation for Motd
florent.becker@ens-lyon.org**20080913141335
 docstring by Eric Kow
] 
[Haddock string for TheCommands
florent.becker@ens-lyon.org**20080913141040
 Docstring by Eric Kow
] 
[Run testing in temp directories to avoid collosions, fail if DarcsURL header is not found.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914223930] 
[Use tempfile() UNLINK option to automatically remove temp files at exit.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914223827] 
[Coding style in upload.cgi.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914223751] 
[Stop after we found the first DarcsURL: in patch bundle.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914220421] 
[Spaces in upload.cgi.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080914220324] 
[Really allow pull.sh test to pass on Windows.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080914211458
 
 It seems that these redirections cause an openBinaryFile failure under
 Windows.  I do not yet understand why using different names makes a
 difference, but it could provide an interesting clue.
] 
[rewrite upload.cgi so it won't need any customization by default.
David Roundy <droundy@darcs.net>**20080913171447
 The downside is that it has to do a darcs get --lazy in order to check if
 the patch can be applied.  If you define $target_repo, however, it doesn't
 need to do this (but then can only accept patches to a single
 locally-present repo).
] 
[when _darcs/prefs/post is present, use _darcs/prefs/post for To: header.
David Roundy <droundy@darcs.net>**20080913171025] 
[sketchy documentation of _darcs/prefs/post
David Roundy <droundy@darcs.net>**20080913115655] 
[ChangeLog entries for darcs 2.0.3pre1
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080914094144] 
[Disable amend-cancelling test under Cygwin.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080913213039] 
[Make binary.sh test more portable (avoid copying an exe).
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080913212843
 Under Windows, copying the exe file will result in an .exe extension
 being appended to the filename.  This confuses the test.
] 
[set default upload.cgi to work on darcs-unstable.
David Roundy <droundy@darcs.net>**20080913112227] 
[Improve upload.cgi.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912230953
 - check if patch is valid before sending
 - use sendmail to send patches or drop to maildir
] 
[Spaces and punctuation in upload.cgi.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912230827] 
[fix problem in Darcs.URL refactor pointed out by Eric.
David Roundy <droundy@darcs.net>**20080913104327] 
[Disable a pull.sh test under Windows.
Eric Kow <E.Y.Kow@brighton.ac.uk>**20080912224027
 It relies on darcs not working if we chmod u-r a file.
 This seems to have little effect in Windows.
] 
[refactor Darcs.URL to eliminate use of Regexes.
David Roundy <droundy@darcs.net>**20080912173611
 The algorithms here are not tricky, and I find this easier to read.
] 
[change is_file to return false on droundy@darcs.net:
David Roundy <droundy@darcs.net>**20080912173501] 
[clean up whitespace.
David Roundy <droundy@darcs.net>**20080912150248] 
[fix manual for optional arguments.
David Roundy <droundy@darcs.net>**20080912150231] 
[clean up whitespace.
David Roundy <droundy@darcs.net>**20080912145708] 
[add test for new --output-auto-name feature.
David Roundy <droundy@darcs.net>**20080912145648] 
[Spaces in Darcs.Commands.Send module.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912122223] 
[Make '--output-auto-name' accept optional directory argument.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912120516] 
[Add DarcsOptAbsPathOption for options with optional path argument.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912112458] 
[Refactor Darcs.Repository.Prefs.getCaches.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912055204] 
[Print warning when '--http-pipelining' option is used, but darcs is compiled without HTTP pipelining support.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912054253] 
[Do not download URL we have speculated before.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912053236] 
[Spaces and parentheses in URL module.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080912053000] 
[Coding style in Darcs.Arguments.network_options.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080911140710] 
[Resolve issue1054: --no-cache option to ignore patch caches.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080911140233] 
[Remove unused variable from configure.ac.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080911132107] 
[Comment in configure.ac.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080911115840] 
[Indentation fixes in configure.ac.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080911115117] 
[insecure printfs - fix the two that I can currently hit
Steve Cotton <steve@s.cotton.clara.co.uk>**20080910230659] 
[Formating and minor refactoring in URL.urlThread.
Dmitry Kurochkin <dmitry.kurochkin@gmail.com>**20080910061227] 
[TAG this version works.
David Roundy <droundy@darcs.net>**20080910212908] 
Patch bundle hash:
0c87acd42b34b96bc49c61a8eeea6095853636c8
