summaryrefslogtreecommitdiffstatshomepage
path: root/test/functional/vimscript/eval_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2026-02-14 10:49:39 +0800
committerGitHub <noreply@github.com>2026-02-14 10:49:39 +0800
commit1a1a60bd0526b76ae232cc59cd1eaf5ad3ce9e77 (patch)
tree4576137ace5b3095fe9c2762beb8f34f8e9e1302 /test/functional/vimscript/eval_spec.lua
parenta17d39314d1bda465449cf133e6700abe5abf46f (diff)
fix(terminal): resuming doesn't work with command in fish (#37857)
Problem: Resuming terminal process doesn't work with command in fish. Solution: Send SIGCONT to the entire process group. Use killpg() like what bash and zsh do on `fg`: https://cgit.git.savannah.gnu.org/cgit/bash.git/tree/jobs.c?id=637f5c8696a6adc9b4519f1cd74aa78492266b7f#n3928 https://sourceforge.net/p/zsh/code/ci/77045ef899e53b9598bebc5a41db93a548a40ca6/tree/Src/jobs.c#l2674 https://sourceforge.net/p/zsh/code/ci/77045ef899e53b9598bebc5a41db93a548a40ca6/tree/Src/signals.c#l538 Install fish on CI to test this.
Diffstat (limited to 'test/functional/vimscript/eval_spec.lua')
-rw-r--r--test/functional/vimscript/eval_spec.lua7
1 files changed, 3 insertions, 4 deletions
diff --git a/test/functional/vimscript/eval_spec.lua b/test/functional/vimscript/eval_spec.lua
index 49cb5cfee5..29f17fee19 100644
--- a/test/functional/vimscript/eval_spec.lua
+++ b/test/functional/vimscript/eval_spec.lua
@@ -24,6 +24,7 @@ local eval = n.eval
local command = n.command
local write_file = t.write_file
local api = n.api
+local fn = n.fn
local sleep = vim.uv.sleep
local assert_alive = n.assert_alive
local poke_eventloop = n.poke_eventloop
@@ -88,10 +89,8 @@ describe('backtick expansion', function()
end)
it('with shell=fish', function()
- if eval("executable('fish')") == 0 then
- pending('missing "fish" command')
- return
- end
+ t.skip(fn.executable('fish') == 0, 'missing "fish" command')
+
command('set shell=fish')
command(':silent args `echo ***2`')
eq({ 'file2' }, eval('argv()'))