Mercurial > vim
diff src/testdir/test_vim9_cmd.vim @ 29599:691c8adef6f3 v9.0.0140
patch 9.0.0140: execute() does not use the "legacy" command modifier
Commit: https://github.com/vim/vim/commit/3d3f6ac09859905405f35f50b2b7c57ccf40fb47
Author: Kota Kato <peony.btn@gmail.com>
Date: Thu Aug 4 18:50:14 2022 +0100
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 04 Aug 2022 20:00:08 +0200 |
parents | a712ea475390 |
children | 2da1753e6a4a |
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -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()