diff options
author | Rui Abreu Ferreira <rap-ep@gmx.com> | 2017-03-30 23:41:52 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-04-12 02:10:34 +0200 |
commit | d31d177a0c2c9997c2cdb04975bc3354b9a23fb8 (patch) | |
tree | 75dbeb01938301ef572ac83c7191246ba8b6fd34 /test/functional/terminal/edit_spec.lua | |
parent | f3cc843755a6d638ada77dc31721aa53b3ff2364 (diff) | |
download | rneovim-d31d177a0c2c9997c2cdb04975bc3354b9a23fb8.tar.gz rneovim-d31d177a0c2c9997c2cdb04975bc3354b9a23fb8.tar.bz2 rneovim-d31d177a0c2c9997c2cdb04975bc3354b9a23fb8.zip |
win: default shellxescape, shellxquote to empty
Calling cmd.exe in Windows follows a very different pattern from Vim.
The primary difference is that Vim does a nested call to cmd.exe, e.g.
the following call in Vim
system('echo a 2>&1')
spawns the following processes
"C:\Program Files (x86)\Vim\vim80\vimrun" -s C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIoC169.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c (echo a 2>&1
>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2>&1)
The escaping with ^ is needed because cmd.exe calls itself and needs to
preserve the special metacharacters for the last call. However in nvim
no nested call is made, system('') spawns a single cmd.exe process.
Setting shellxescape to "" disables escaping with ^.
The previous default for shellxquote=( wrapped any command in
parenthesis, in Vim this is more meaningful due to the use of tempfiles
to store the output and redirection (also see &shellquote). There is
a slight benefit in having the default be empty because some expressions
that run in console will not run within parens e.g. due to unbalanced
double quotes
system('echo "a b')
Diffstat (limited to 'test/functional/terminal/edit_spec.lua')
-rw-r--r-- | test/functional/terminal/edit_spec.lua | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/test/functional/terminal/edit_spec.lua b/test/functional/terminal/edit_spec.lua index f691a58f6c..d2b2d8a60c 100644 --- a/test/functional/terminal/edit_spec.lua +++ b/test/functional/terminal/edit_spec.lua @@ -8,7 +8,6 @@ local command = helpers.command local meths = helpers.meths local clear = helpers.clear local eq = helpers.eq -local iswin = helpers.iswin describe(':edit term://*', function() local get_screen = function(columns, lines) @@ -46,11 +45,8 @@ describe(':edit term://*', function() local bufcontents = {} local winheight = curwinmeths.get_height() local buf_cont_start = rep_size - sb - winheight + 2 - local function bufline (i) - return (iswin() and '%d: (foobar)' or '%d: foobar'):format(i) - end for i = buf_cont_start,(rep_size - 1) do - bufcontents[#bufcontents + 1] = bufline(i) + bufcontents[#bufcontents + 1] = ('%d: foobar'):format(i) end bufcontents[#bufcontents + 1] = '' bufcontents[#bufcontents + 1] = '[Process exited 0]' |