1
0
forked from aniani/vim

patch 9.0.1631: passing wrong variable type to option gives multiple errors

Problem:    Passing a wrong variable type to an option gives multiple errors.
Solution:   Bail out early on failure. (closes #12504)
This commit is contained in:
zeertzjq
2023-06-14 16:39:54 +01:00
committed by Bram Moolenaar
parent 8d687a7424
commit 4c7cb372c1
9 changed files with 161 additions and 124 deletions

View File

@@ -266,15 +266,35 @@ endfunc
func Test_let_option_error()
let _w = &tw
let &tw = 80
call assert_fails('let &tw .= 1', 'E734:')
call assert_fails('let &tw .= 1', ['E734:', 'E734:'])
call assert_fails('let &tw .= []', ['E734:', 'E734:'])
call assert_fails('let &tw = []', ['E745:', 'E745:'])
call assert_fails('let &tw += []', ['E745:', 'E745:'])
call assert_equal(80, &tw)
let &tw = _w
let _w = &autoread
let &autoread = 1
call assert_fails('let &autoread .= 1', ['E734:', 'E734:'])
call assert_fails('let &autoread .= []', ['E734:', 'E734:'])
call assert_fails('let &autoread = []', ['E745:', 'E745:'])
call assert_fails('let &autoread += []', ['E745:', 'E745:'])
call assert_equal(1, &autoread)
let &autoread = _w
let _w = &fillchars
let &fillchars = "vert:|"
call assert_fails('let &fillchars += "diff:-"', 'E734:')
call assert_fails('let &fillchars += "diff:-"', ['E734:', 'E734:'])
call assert_fails('let &fillchars += []', ['E734:', 'E734:'])
call assert_fails('let &fillchars = []', ['E730:', 'E730:'])
call assert_fails('let &fillchars .= []', ['E730:', 'E730:'])
call assert_equal("vert:|", &fillchars)
let &fillchars = _w
call assert_fails('let &nosuchoption = 1', ['E355:', 'E355:'])
call assert_fails('let &nosuchoption = ""', ['E355:', 'E355:'])
call assert_fails('let &nosuchoption = []', ['E355:', 'E355:'])
call assert_fails('let &t_xx = []', ['E730:', 'E730:'])
endfunc
" Errors with the :let statement