[Unison-hackers] [unison-svn] r342 - in trunk/src: . lwt system

vouillon@seas.upenn.edu vouillon at seas.upenn.edu
Thu May 28 05:22:00 EDT 2009


Author: vouillon
Date: 2009-05-28 05:21:56 -0400 (Thu, 28 May 2009)
New Revision: 342

Modified:
   trunk/src/RECENTNEWS
   trunk/src/lwt/lwt_unix.ml
   trunk/src/mkProjectInfo.ml
   trunk/src/system/system_win.ml
   trunk/src/uicommon.ml
Log:
* Fixed quotation of paths and names when writing to a preference file
* Workaround for bug in new "select" implementation in Ocaml 3.11
  (select fails with EPIPE error when monitoring a remotely closed
   file descriptor)


Modified: trunk/src/RECENTNEWS
===================================================================
--- trunk/src/RECENTNEWS	2009-05-27 16:57:57 UTC (rev 341)
+++ trunk/src/RECENTNEWS	2009-05-28 09:21:56 UTC (rev 342)
@@ -1,5 +1,13 @@
 CHANGES FROM VERSION 2.34.0
 
+* Fixed quotation of paths and names when writing to a preference file
+* Workaround for bug in new "select" implementation in Ocaml 3.11
+  (select fails with EPIPE error when monitoring a remotely closed
+   file descriptor)
+
+-------------------------------
+CHANGES FROM VERSION 2.34.0
+
 * Windows Unicode API: when a file cannot be renamed due to a sharing
   violation error or an access denied error, retry for up to 1 second,
   in case the file is temporarily opened by an indexer or an anti-virus.

Modified: trunk/src/lwt/lwt_unix.ml
===================================================================
--- trunk/src/lwt/lwt_unix.ml	2009-05-27 16:57:57 UTC (rev 341)
+++ trunk/src/lwt/lwt_unix.ml	2009-05-28 09:21:56 UTC (rev 342)
@@ -132,6 +132,11 @@
               ([], [], [])
           | Unix.Unix_error (Unix.EBADF, _, _) ->
               (List.filter bad_fd infds, List.filter bad_fd outfds, [])
+          | Unix.Unix_error (Unix.EPIPE, _, _)
+            when windows_hack && recent_ocaml ->
+            (* Workaround for a bug in Ocaml 3.11: select fails with an
+               EPIPE error when the file descriptor is remotely closed *)
+              (infds, [], [])
       in
       restart_threads !event_counter now;
       List.iter

Modified: trunk/src/mkProjectInfo.ml
===================================================================
--- trunk/src/mkProjectInfo.ml	2009-05-27 16:57:57 UTC (rev 341)
+++ trunk/src/mkProjectInfo.ml	2009-05-28 09:21:56 UTC (rev 342)
@@ -155,3 +155,4 @@
 
 
 
+

Modified: trunk/src/system/system_win.ml
===================================================================
--- trunk/src/system/system_win.ml	2009-05-27 16:57:57 UTC (rev 341)
+++ trunk/src/system/system_win.ml	2009-05-28 09:21:56 UTC (rev 342)
@@ -20,6 +20,7 @@
 Backport to stable:
 - Unix.select in lwt_unix (after some testing...)
 - fix to daylight saving changes
+- Proper quoting of path and names
 
 - Use SetConsoleOutputCP/SetConsoleCP in text mode ???
 http://www.codeproject.com/KB/cpp/unicode_console_output.aspx?display=Print

Modified: trunk/src/uicommon.ml
===================================================================
--- trunk/src/uicommon.ml	2009-05-27 16:57:57 UTC (rev 341)
+++ trunk/src/uicommon.ml	2009-05-28 09:21:56 UTC (rev 342)
@@ -360,7 +360,7 @@
   let pos = ref 0 in
   for i = 0 to len - 1 do
     match s.[i] with
-      '*' | '?' | '[' | '{' as c ->
+      '*' | '?' | '[' | '{' | '}' | ',' | '\\' as c ->
         buf.[!pos] <- '\\'; buf.[!pos + 1] <- c; pos := !pos + 2
     | c ->
         buf.[!pos] <- c; pos := !pos + 1



More information about the Unison-hackers mailing list