aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c
index 9015383b8b5..77c94f29211 100644
--- a/src/process.c
+++ b/src/process.c
@@ -1517,11 +1517,8 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */)
1517 tem = program; 1517 tem = program;
1518 } 1518 }
1519 1519
1520 /* If program file name starts with /: for quoting a magic name, 1520 /* Remove "/:" from TEM. */
1521 discard that. */ 1521 tem = remove_slash_colon (tem);
1522 if (SBYTES (tem) > 2 && SREF (tem, 0) == '/'
1523 && SREF (tem, 1) == ':')
1524 tem = Fsubstring (tem, make_number (2), Qnil);
1525 1522
1526 { 1523 {
1527 Lisp_Object arg_encoding = Qnil; 1524 Lisp_Object arg_encoding = Qnil;
@@ -3830,6 +3827,18 @@ Data that is unavailable is returned as nil. */)
3830#endif 3827#endif
3831} 3828}
3832 3829
3830/* If program file NAME starts with /: for quoting a magic
3831 name, remove that, preserving the multibyteness of NAME. */
3832
3833Lisp_Object
3834remove_slash_colon (Lisp_Object name)
3835{
3836 return
3837 ((SBYTES (name) > 2 && SREF (name, 0) == '/' && SREF (name, 1) == ':')
3838 ? make_specified_string (SSDATA (name) + 2, SCHARS (name) - 2,
3839 SBYTES (name) - 2, STRING_MULTIBYTE (name))
3840 : name);
3841}
3833 3842
3834/* Turn off input and output for process PROC. */ 3843/* Turn off input and output for process PROC. */
3835 3844