Problem: Reporting swap file when windows are split.
Solution: Close extra windows after running a test.
e5eae82bb7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests call GetSwapFileList() before it is defined.
Solution: Move the call to after defining the function. (Christopher
Plewright)
6572a90287
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests may get stuck in buffer with swap file.
Solution: Bail out when bwipe! doesn't get another buffer.
fa2533c8bb
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Stray warnings for existing swap files.
Solution: Wipe out the buffer until it has no name and no swap file.
23526d2539
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Test for catch after interrupt is flaky on MS-Windows.
Solution: Mark the test as flaky.
72b5b0d51a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Test for swapfilelist() fails on MS-Windows.
Solution: Only check the tail of the path. Mark a test as flaky.
6cf3151f0e
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: There is no way to get a list of swap file names.
Solution: Add the swapfilelist() function. Use it in the test script to
clean up. Remove deleting individual swap files.
c216a7a21a
vim-patch:9.0.1005: a failed test may leave a swap file behind
Problem: A failed test may leave a swap file behind.
Solution: Delete the swap file to avoid another test to fail. Use another
file name.
d0f8d39d20
Cherry-pick test_window_cmd.vim changes from patch 8.2.1593.
Remove FUNC_ATTR_UNUSED from eval functions as fptr is always unused.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: When a test gets stuck it just hangs forever.
Solution: Set a timeout of 30 seconds.
3bcd0ddc2d
Note: This doesn't cause test_timers.vim failures in Nvim because there
is a SetUp() function that calls timer_stopall().
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Elapsed time since testing started is not visible.
Solution: Show the elapsed time while running tests.
b9093d5009
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: When a test is slow and CI times out there is no time info.
Solution: Add the elapsed time to the "Executing" message.
daaa3d9965
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Terminal test sometimes hangs.
Solution: Add a bit more information to the test output. (issue vim/vim#11179)
a22c56a59a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: MS-Windows: "%T" time format does not appear to work.
Solution: Use "%H:%M:%S" instead.
5fbbec180b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: A failing flaky test doesn't mention the time.
Solution: Add the time for debugging. Improve error message.
06d32a0c17
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Recursively calling :defer function if it does :qa in a compiled
function.
Solution: Clear the defer entry before calling the function. (closesvim/vim#12271)
a1f2b5ddc6
Problem: Recursively calling :defer function if it does :qa.
Solution: Clear the defer entry before calling the function. (closesvim/vim#12266)
42994bf678
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Crash when using "!!" without a previous shell command.
Solution: Check "prevcmd" is not NULL. (closesvim/vim#11487)
6600447c7b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: ":!" doesn't do anything but does update the previous command.
Solution: Do not have ":!" change the previous command. (Martin Tournoij,
closesvim/vim#11372)
8107a2a8af
Co-authored-by: Bram Moolenaar <Bram@vim.org>
vim.iter wraps a table or iterator function into an `Iter` object with
methods such as `filter`, `map`, and `fold` which can be chained to
produce iterator pipelines that do not create new tables at each step.
Problem: After neovim/neovim@846a056, only the ruler for current floating or
last window without a statusline is drawn in the cmdline. This means that if the
current window is not one of these, but has no statusline, its ruler will not be
drawn anymore.
Solution: Make `showmode()` draw the ruler of the current window or the last
window in the cmdline if it has no statusline. This also maintains the
previously restored floating window case (`float->w_status_height` should be 0).
This behaviour should again match Vim, but without the overdraw it seems to do
to achieve the same effect; it calls `showmode()` to draw the ruler for the last
window without a statusline, then may draw over it in `showruler()` (which is
now `show_cursor_info_later()` in Nvim) to show the ruler for the current
window..? It's very confusing.
Also update the logic in `win_redr_ruler()` to mirror the check done in
`showmode()`, so that the ruler doesn't potentially draw over the long
ins-completion mode message in some cases.
Problem: Ruler not drawn correctly when using 'rulerformat'.
Solution: Adjust formatting depending on whether the ruler is drawn in the
statusline or the command line. (Sean Dewar, closesvim/vim#12246)
fc8a601c32
This issue was made apparent after neovim/neovim@0f1e2b6, as `showmode()` calls
`win_redr_ruler()` with `curwin` now if it's floating, rather than the last
window if there's no statusline (which usually already shares its right side
with that of the editor).
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
- vim.diagnostic.config() now accepts a function for the virtual_text.prefix
option, which allows for rendering e.g., diagnostic severities differently.
Problem: Cannot use an import in the "expr" part of 'spellsuggest'.
Solution: Set the script context when evaluating "expr" of 'spellsuggest'.
2a7aa83458
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cannot use an import in 'charconvert'.
Solution: Set the script context when evaluating 'charconvert'. Also expand
script-local functions in 'charconvert'.
f4e88f2152
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cannot use an import in 'patchexpr'.
Solution: Set the script context when evaluating 'patchexpr'. Do not
require 'patchexpr' to return a bool, it was ignored anyway.
36c2add7f8
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cannot use an import in 'indentexpr'.
Solution: Set the script context when evaluating 'indentexpr'
28e60cc088
Co-authored-by: Bram Moolenaar <Bram@vim.org>