Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 23068:2f034cb0a046 v8.2.2080
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Commit: https://github.com/vim/vim/commit/ea87069d7814497181483877651aef6d97182120
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 2 14:24:30 2020 +0100
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Problem: Vim9: no proper error message for using s:var in for loop.
Solution: Give a specific error.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 02 Dec 2020 14:30:03 +0100 |
parents | b3124656f050 |
children | 4b398a229b0b |
comparison
equal
deleted
inserted
replaced
23067:d65e8d80869b | 23068:2f034cb0a046 |
---|---|
1880 CheckScriptFailure(['def Func(arg: any)', 'for arg in range(5)', 'enddef', 'defcompile'], 'E1006:') | 1880 CheckScriptFailure(['def Func(arg: any)', 'for arg in range(5)', 'enddef', 'defcompile'], 'E1006:') |
1881 CheckDefFailure(['for i in "text"'], 'E1012:') | 1881 CheckDefFailure(['for i in "text"'], 'E1012:') |
1882 CheckDefFailure(['for i in xxx'], 'E1001:') | 1882 CheckDefFailure(['for i in xxx'], 'E1001:') |
1883 CheckDefFailure(['endfor'], 'E588:') | 1883 CheckDefFailure(['endfor'], 'E588:') |
1884 CheckDefFailure(['for i in range(3)', 'echo 3'], 'E170:') | 1884 CheckDefFailure(['for i in range(3)', 'echo 3'], 'E170:') |
1885 enddef | |
1886 | |
1887 def Test_for_loop_script_var() | |
1888 # cannot use s:var in a :def function | |
1889 CheckDefFailure(['for s:var in range(3)', 'echo 3'], 'E1101:') | |
1890 | |
1891 # can use s:var in Vim9 script, with or without s: | |
1892 var lines =<< trim END | |
1893 vim9script | |
1894 var total = 0 | |
1895 for s:var in [1, 2, 3] | |
1896 total += s:var | |
1897 endfor | |
1898 assert_equal(6, total) | |
1899 | |
1900 total = 0 | |
1901 for var in [1, 2, 3] | |
1902 total += var | |
1903 endfor | |
1904 assert_equal(6, total) | |
1905 END | |
1885 enddef | 1906 enddef |
1886 | 1907 |
1887 def Test_for_loop_unpack() | 1908 def Test_for_loop_unpack() |
1888 var lines =<< trim END | 1909 var lines =<< trim END |
1889 var result = [] | 1910 var result = [] |