]> code.delx.au - gnu-emacs/blobdiff - src/w32fns.c
Merge branch 'emacs-24'.
[gnu-emacs] / src / w32fns.c
index e51497043354456274cdcc026540fa2b02ff05a8..fc10e74cdff3dcb1a00c6932f47637e3cb20f60e 100644 (file)
@@ -7011,7 +7011,14 @@ a ShowWindow flag:
       Lisp_Object absdoc_encoded = ENCODE_FILE (absdoc);
 
       if (faccessat (AT_FDCWD, SSDATA (absdoc_encoded), F_OK, AT_EACCESS) == 0)
-       document = absdoc_encoded;
+       {
+         /* ShellExecute fails if DOCUMENT is a UNC with forward
+            slashes (expand-file-name above converts all backslashes
+            to forward slashes).  Now that we know DOCUMENT is a
+            file, we can mirror all forward slashes into backslashes.  */
+         unixtodos_filename (SSDATA (absdoc_encoded));
+         document = absdoc_encoded;
+       }
       else
        document = ENCODE_FILE (document);
     }