mirror of
https://github.com/neovim/neovim.git
synced 2025-12-04 21:52:41 +00:00
unify jobstart, termopen, and system interfaces
For any of these functions, if {cmd} is a string, execute
"&shell &shellcmdflag '{cmd}'", or simply {cmd} if it's a list.
In termopen(), if the 'name' option is not supplied, try to guess using
'{cmd}' (string) or {cmd}[0] (list). Simplify ex_terminal to use the
string form of termopen().
termopen: get name from argument
Convert list_to_argv to tv_to_argv.
Helped-by: Björn Linse <@bfredl>
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: Thiago de Arruda <@tarruda>
This commit is contained in:
@@ -44,7 +44,7 @@ describe('system()', function()
|
||||
eq(127, eval('v:shell_error'))
|
||||
end)
|
||||
|
||||
describe('executes shell function', function()
|
||||
describe('executes shell function if passed a string', function()
|
||||
local screen
|
||||
|
||||
before_each(function()
|
||||
@@ -192,6 +192,13 @@ describe('system()', function()
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
||||
describe('command passed as a list', function()
|
||||
it('does not execute &shell', function()
|
||||
eq('* $NOTHING ~/file',
|
||||
eval("system(['echo', '-n', '*', '$NOTHING', '~/file'])"))
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('systemlist()', function()
|
||||
|
||||
Reference in New Issue
Block a user