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:
parent
ed54567c7c
commit
73cad916c8
2 changed files with 13 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue