* fix(test): screen.lua nil index
When actual_rows and expected_rows are different avoid a nil index.
* fix(tui): resize at startup
The deleted code is not needed after 402b4e8.
It caused the condition to false positive when the function was called
more than once before startup (first normal mode). Being itself what
set the dimension and not the user, locking the size of the screen to
an incorrect size.
Make got_winch an int to mitigate: tui_grid_resize changing the size
of the host terminal between the signal handler and the call to
sigwinch_cb. Since the actual signal handler uv__signal_handle doesn't
directly call the callback, the event loop does.
Fixes#17285Fixes#15044Fixes#11330
Problem: Spelldump test sometimes hangs.
Solution: Catch the problem of the spell file not being found to avoid
hanging in the download dialog.
fc9f0fd6d1
libuv does not call callback functions(uv_signal_cb) directly from signal
handlers. Therefore, there is no need to use volatile.
Ref. 1a91b51976/src/unix/signal.c (L183)
Problem: Invalid memory use when using SpellFileMissing autocmd.
Solution: Add test case. (Dominique Pellé, closesvim/vim#7036) Fix using a window
that was closed.
d569a9e746
Skip an assert because of #3027.
Problem: Still not enough test coverage for the spell file handling.
Solution: Add spell file tests. (Yegappan Lakshmanan, closesvim/vim#6790)
b9fc192f92
Problem: Not enough test coverage for the spell file handling.
Solution: Add spell file tests. (Yegappan Lakshmanan, closesvim/vim#6763)
c8ec5fe56f
Add missing whitespace in message.
vim-patch:9.0.0031: <mods> of user command does not have correct verbose value
Problem: <mods> of user command does not have correct verbose value.
Solution: Use the value from the command modifier. (closesvim/vim#10651)
9359e8a6d9
Problem: Matchfuzzy test depends on path of current directory.
Solution: Use fnamemodify() to remove the path. (Robin Becker,
closesvim/vim#10650)
22e7e867e2
Disable -Wsuggest compile flags by default.
Although the flags are useful to see what the compiler thinks we can
improve on, it adds a lot of noise to the build output. That makes it
harder to spot actual issues that may be flagged.
Closes https://github.com/neovim/neovim/issues/19160
In the rare case that exit_event is called from process_close_handles,
it stalls waiting for the process to exit (the routine is currently
underway to do just that). This causes `job_spec.lua` to sometimes
stall.
REJECTED IDEAS:
==============================================================
1. Currently `exit_event` is placed on `main_loop.fast_events`. Would the problem
be solved by using `main_loop.events` instead?
- A: Maybe, but it will cause other problems, such as queuing exit_event()
during "Press Enter..." prompt which may result in the event not being
processed, leading to another stall.
2. Can we avoid the timer?
- A: Using a timer is just the easiest way to queue a delayed event without
causing an infinite loop in the queue currently being processed.
3. Can we avoid the new `exit_need_delay` global...
1. by using `process_is_tearing_down` instead?
- A: Can't use `process_is_tearing_down` because its semantics are different.
2. by checking a similar condition as `process_teardown`? f50135a32e/src/nvim/event/process.c (L141-L142)
```
if (!process_is_tearing_down || (kl_empty(main_loop.children) && multiqueue_empty(main_loop.events))) {
uv_timer_start(&main_loop.exit_delay_timer, exit_delay_cb, 0, 0);
return;
}
```
- A: Tried but it did not work (other stalls occurred). Maybe
exit_event() is called from a source other than
process_close_handles() and is delayed, the delayed exit_event() will
be executed before main_loop.events is processed, resulting in an
infinite loop.
* refactor(fold): update comment formatting
* refactor(fold): use post-increment/decrement
* refactor(fold): reduce scope of local variables
* refactor(fold): use booleans
Problem: Some code not covered by tests.
Solution: Add test cases. (Yegappan Lakshmanan, closesvim/vim#5645)
f0cee1971f
Cherry-pick Test_bunload_with_offset() from patch 8.2.0243
Problem: Invalid memory access when adding word with a control character to
the internal spell word list.
Solution: Disallow adding a word with control characters or a trailing
slash.
5e59ea54c0
Problem: With EXITFREE defined terminal menus are not cleared.
Solution: Also clear terminal menus. Remove condition that is always true.
(closesvim/vim#10641)
79ae152697
Problem: Command line completion not fully tested.
Solution: Add more test cases. Make help sorting stable. (Dominique Pelle,
closesvim/vim#5402)
297610ba4b
Problem: Internal error when using :popup.
Solution: When a menu only exists in Terminal mode give an error. (Naruhiko
Nishino, closesvim/vim#3765)
f42b45d719