Fix bug #19141 with UNCs in w32-shell-execute.

src/w32fns.c (Fw32_shell_execute): Convert forward slashes in
 DOCUMENT to backslashes, if DOCUMENT is a file.
This commit is contained in:
Eli Zaretskii 2014-11-25 19:04:14 +02:00
parent ed54567c7c
commit 73cad916c8
2 changed files with 13 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2014-11-25 Eli Zaretskii <eliz@gnu.org>
* w32fns.c (Fw32_shell_execute): Convert forward slashes in
DOCUMENT to backslashes, if DOCUMENT is a file. (Bug#19141)
2014-11-25 Ulrich Müller <ulm@gentoo.org>
* Makefile.in (temacs$(EXEEXT)): Use consistent flag settings

View file

@ -6987,7 +6987,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);
}