0
0
mirror of https://github.com/vim/vim.git synced 2025-10-28 09:27:14 -04:00

patch 9.0.0140: execute() does not use the "legacy" command modifier

Problem:    execute() does not use the "legacy" command modifier.
Solution:   pass the command modifier in sticky_cmdmod_flags. (Kota Kato,
            closes #10845)
This commit is contained in:
Kota Kato
2022-08-04 18:50:14 +01:00
committed by Bram Moolenaar
parent 398649ee44
commit 3d3f6ac098
3 changed files with 43 additions and 0 deletions

View File

@@ -142,6 +142,42 @@ def Test_cmdmod_execute()
END
v9.CheckScriptSuccess(lines)
delfunc g:TheFunc
# vim9cmd execute(cmd) executes code in vim9 script context
lines =<< trim END
vim9cmd execute("g:vim9executetest = 'bar'")
call assert_equal('bar', g:vim9executetest)
END
v9.CheckScriptSuccess(lines)
unlet g:vim9executetest
lines =<< trim END
vim9cmd execute(["g:vim9executetest1 = 'baz'", "g:vim9executetest2 = 'foo'"])
call assert_equal('baz', g:vim9executetest1)
call assert_equal('foo', g:vim9executetest2)
END
v9.CheckScriptSuccess(lines)
unlet g:vim9executetest1
unlet g:vim9executetest2
# legacy call execute(cmd) executes code in vim script context
lines =<< trim END
vim9script
legacy call execute("let g:vim9executetest = 'bar'")
assert_equal('bar', g:vim9executetest)
END
v9.CheckScriptSuccess(lines)
unlet g:vim9executetest
lines =<< trim END
vim9script
legacy call execute(["let g:vim9executetest1 = 'baz'", "let g:vim9executetest2 = 'foo'"])
assert_equal('baz', g:vim9executetest1)
assert_equal('foo', g:vim9executetest2)
END
v9.CheckScriptSuccess(lines)
unlet g:vim9executetest1
unlet g:vim9executetest2
enddef
def Test_edit_wildcards()