aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2014-10-01 18:18:16 +0300
committerEli Zaretskii2014-10-01 18:18:16 +0300
commitf94ec2f3c82123e284c412ca8841c57491924f85 (patch)
tree970a16cf3e1cfe351a3b3ccc19cf253a8f48867d /src
parent151b7f6cc269f8d7cf1e104622c66fffa4aa12d1 (diff)
downloademacs-f94ec2f3c82123e284c412ca8841c57491924f85.tar.gz
emacs-f94ec2f3c82123e284c412ca8841c57491924f85.zip
Don't modify the process's command name passed to start-process on MS-Windows.
src/w32proc.c (sys_spawnve): Avoid modification of the CMDNAME argument passed by the caller, when we mirror all slashes into backslashes.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/w32proc.c9
2 files changed, 15 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index de462841e0d..1effdb3a3b2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12014-10-01 Eli Zaretskii <eliz@gnu.org>
2
3 * w32proc.c (sys_spawnve): Avoid modification of the CMDNAME
4 argument passed by the caller, when we mirror all slashes into
5 backslashes.
6
12014-10-01 Dmitry Antipov <dmantipov@yandex.ru> 72014-10-01 Dmitry Antipov <dmantipov@yandex.ru>
2 8
3 * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb): 9 * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb):
diff --git a/src/w32proc.c b/src/w32proc.c
index b255c57cd7c..38452917add 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -1605,6 +1605,15 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp)
1605 program = ENCODE_FILE (full); 1605 program = ENCODE_FILE (full);
1606 cmdname = SDATA (program); 1606 cmdname = SDATA (program);
1607 } 1607 }
1608 else
1609 {
1610 char *p = alloca (strlen (cmdname) + 1);
1611
1612 /* Don't change the command name we were passed by our caller
1613 (unixtodos_filename below will destructively mirror forward
1614 slashes). */
1615 cmdname = strcpy (p, cmdname);
1616 }
1608 1617
1609 /* make sure argv[0] and cmdname are both in DOS format */ 1618 /* make sure argv[0] and cmdname are both in DOS format */
1610 unixtodos_filename (cmdname); 1619 unixtodos_filename (cmdname);