patch 9.1.1437: MS-Windows: internal compile error in uc_list()

Problem:  MS-Windows: internal compile error in uc_list() with VS 17.14
          (ibear)
Solution: refactor code slightly (Mike Williams)

fixes: #17402
closes: #17464

Signed-off-by: Mike Williams <mrmrdubya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Mike Williams
2025-06-08 15:41:52 +02:00
committed by Christian Brabandt
parent 8f7256a5ee
commit 0174d8f386
3 changed files with 31 additions and 6 deletions

View File

@ -965,5 +965,24 @@ func Test_comclear_while_listing()
call StopVimInTerminal(buf)
endfunc
" Test for listing user commands.
func Test_command_list_0()
" Check space padding of attribute and name in command list
set vbs&
command! ShortCommand echo "ShortCommand"
command! VeryMuchLongerCommand echo "VeryMuchLongerCommand"
redi @"> | com | redi END
pu
let bl = matchbufline(bufnr('%'), "^ ShortCommand 0", 1, '$')
call assert_false(bl == [])
let bl = matchbufline(bufnr('%'), "^ VeryMuchLongerCommand 0", 1, '$')
call assert_false(bl == [])
bwipe!
delcommand ShortCommand
delcommand VeryMuchLongerCommand
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@ -600,17 +600,21 @@ uc_list(char_u *name, size_t name_len)
msg_putchar('|');
--len;
}
while (len-- > 0)
msg_putchar(' ');
if (len != 0)
msg_puts(&" "[4 - len]);
msg_outtrans_attr(cmd->uc_name, HL_ATTR(HLF_D));
len = (int)cmd->uc_namelen + 4;
do
if (len < 21)
{
msg_putchar(' ');
++len;
} while (len < 22);
// Field padding spaces 12345678901234567
static char spaces[18] = " ";
msg_puts(&spaces[len - 4]);
len = 21;
}
msg_putchar(' ');
++len;
// "over" is how much longer the name is than the column width for
// the name, we'll try to align what comes after.

View File

@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1437,
/**/
1436,
/**/