Problem: The visual selection size is not displayed in the showcmd area
when entering visual mode from a script or mapping, because
char_avail() incorrectly reports input as pending. This causes
test failure on CI with the ASAN CI runner.
Solution: Replace char_avail() with explicit checks for an empty stuff
buffer, empty typeahead buffer, and not running a script
(zeertzjq).
related: #19801
closes: #19824
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
if (!p_sc)
return;
- if (VIsual_active && !char_avail())
+ if (VIsual_active
+ && stuff_empty() && typebuf.tb_len == 0 && !using_script())
{
int cursor_bot = LT_POS(VIsual, curwin->w_cursor);
long lines;
call writefile(lines, 'XTest_visual_block_autoselect', 'D')
let buf = RunVimInTerminal('-S XTest_visual_block_autoselect', {'rows': 10})
- call TermWait(buf)
call VerifyScreenDump(buf, 'Test_visual_block_hl_with_autoselect_1', {})
call term_sendkeys(buf, 'l')
call VerifyScreenDump(buf, 'Test_visual_block_hl_with_autoselect_2', {})
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 256,
/**/
255,
/**/