[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-24 73cad91 01/01: Fix bug #19141 with UNCs in w32-sh
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-24 73cad91 01/01: Fix bug #19141 with UNCs in w32-shell-execute. |
Date: |
Tue, 25 Nov 2014 17:05:27 +0000 |
branch: emacs-24
commit 73cad916c8a225dac3bd0abd116a89ce52052574
Author: Eli Zaretskii <address@hidden>
Date: Tue Nov 25 19:04:14 2014 +0200
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.
---
src/ChangeLog | 5 +++++
src/w32fns.c | 9 ++++++++-
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index b17f719..23fd46b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-25 Eli Zaretskii <address@hidden>
+
+ * 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 <address@hidden>
* Makefile.in (temacs$(EXEEXT)): Use consistent flag settings
diff --git a/src/w32fns.c b/src/w32fns.c
index bc95005..8bd5e81 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-24 73cad91 01/01: Fix bug #19141 with UNCs in w32-shell-execute.,
Eli Zaretskii <=