patch 8.2.2969: subtracting from number option fails when result is zero
Problem: Subtracting from number option fails when result is zero. (Ingo
Karkat)
Solution: Reset the string value when using the numeric value.
(closes #8351)
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index f12d810..89c1001 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -7083,6 +7083,15 @@
call assert_fails('let &scrolljump .= "j"', 'E734:')
set scrolljump&vim
+ let &foldlevelstart = 2
+ let &foldlevelstart -= 1
+ call assert_equal(1, &foldlevelstart)
+ let &foldlevelstart -= 1
+ call assert_equal(0, &foldlevelstart)
+ let &foldlevelstart = 2
+ let &foldlevelstart -= 2
+ call assert_equal(0, &foldlevelstart)
+
" Test for register
let @/ = 1
call assert_fails('let @/ += 1', 'E734:')