Empty string values for these options aren't actually allowed, but
check_opt_strings allows empty string options.
It so happens that 'scl' handles empty string like "auto", but empty 'fdc'
causes glitchiness (win_fdccol_count returns an incorrect value).
Just disallow empty string values for these options completely.
Problem: Setting 'winminheight' may cause 'lines' to change.
Solution: Also take minimal height of other tabpages into account. (vim/vim#7899)
9e813b3dea
Problem: 'scroll' option can change when setting the statusline or tabline
but the option context is not updated.
Solution: Update the script context when the scroll option is changed as a
side effect. (Christian Brabandt, closesvim/vim#7533)
746670604a
Problem: Setting 'winminheigt' does not take tabline into account.
Solution: Subtract the tabline from the available height. (closesvim/vim#7899)
39d4cab494
N/A patches for version.c:
vim-patch:8.1.0680: not easy to see what features are unavailable
Problem: Not easy to see what features are unavailable.
Solution: Highlight disabled features in the :version output. (Nazri Ramliy,
closesvim/vim#3756)
c85ffc9dab
vim-patch:8.2.2196: :version output has extra spaces in compile and link command
Problem: :version output has extra spaces in compile and link command.
Solution: Adjust QUOTESED. (closesvim/vim#7505)
abcbb0e9ad
vim-patch:8.2.2551: MS-Windows: colors test file is not installed
Problem: MS-Windows: colors test file is not installed.
Solution: Also copy runtime/colors/tools. (Ken Takata, closesvim/vim#7902)
d0bce504ec
vim-patch:8.2.2559: MS-Windows: guifont test fails on Windows XP
Problem: MS-Windows: guifont test fails on Windows XP.
Solution: Check windowsversion().
3650fd7098
It is otherwise impossible to determine which test failed sanitizer/valgrind
check. test/functional/helpers.lua module return was changed so that tests which
do not provide after_each function to get new check will automatically fail.
Problem: When removing from 'path' and then adding, a comma may go missing.
(Malcolm Rowe)
Solution: Fix the check for P_ONECOMMA. (closes#471)
174674743d
During test setup, we used to call a vimscript function(BeforeEachTest) that
attempted to restore Nvim to it's initial state as much as possible in order to
provide a clean environment for running new tests. This approach has proven to
be unreliable, as some tests leave state that can affect other tests, eventually
causing failures that are difficult to debug.
This commit changes the 'clear' function so it will restart Nvim every time it
is called, which is a slower, but more reliable solution that will simplify
spotting bugs in the future.
Some other improvements/fixes were also performed:
- Whenever an error is detected in a handler passed to "run()", the event loop
will be stopped and the error will be propagated to the main thread.
- Errors and the "cleanup()" function will always send a quit command to the
current Nvim instance. This should prevent memory starvation when running
tests under valgrind(where each Nvim instance can consume a lot of memory).
- Fixed a wrong assertion in server_requests_spec.lua. Previously the failure
was undetected in a notification handler.
- Fixed some tests to expect fully clean registers. The deleted cleanup function
used to put an empty string in every register, but that resulted in a extra
line being added.
The options_spec.lua suite has one purpose: Check if the :options commands will
throw any exception(:options is implemented by $VIMRUNTIME/optwin.vim). For this
it is best to use the `vim_command` API function since it will automatically
catch exceptions and forward them via msgpack-rpc.
Also, the option window seems to affect other tests, so call `restart` in the
teardown hook.