patch 8.2.1489: Vim9: error when setting an option with setbufvar()
Problem: Vim9: error when setting an option with setbufvar().
Solution: Do not get a number from a string value. (closes #6740)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index ad59844..1f0fd1c 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1391,6 +1391,18 @@
eval expand('.')->readdirex({e -> e.name[0] !=# '.'})
enddef
+def Test_setbufvar()
+ setbufvar(bufnr('%'), '&syntax', 'vim')
+ assert_equal('vim', &syntax)
+ setbufvar(bufnr('%'), '&ts', 16)
+ assert_equal(16, &ts)
+ settabwinvar(1, 1, '&syntax', 'vam')
+ assert_equal('vam', &syntax)
+ settabwinvar(1, 1, '&ts', 15)
+ assert_equal(15, &ts)
+ setlocal ts=8
+enddef
+
def Fibonacci(n: number): number
if n < 2
return n