0
0
mirror of https://github.com/vim/vim.git synced 2025-09-04 21:33:48 -04:00

patch 9.0.0883: a silent mapping may cause dots on the command line

Problem:    A silent mapping may cause dots on the command line.
Solution:   Don't show dots for completion if they are not going to be removed
            again. (closes #11501)
This commit is contained in:
Bram Moolenaar 2022-11-14 22:07:45 +00:00
parent c3d27ada14
commit 698a00f55d
3 changed files with 12 additions and 2 deletions

View File

@ -234,6 +234,9 @@ The search string will not be echoed when using this mapping. Messages from
the executed command are still given though. To shut them up too, add a the executed command are still given though. To shut them up too, add a
":silent" in the executed command: > ":silent" in the executed command: >
:map <silent> ,h :exe ":silent normal /Header\r"<CR> :map <silent> ,h :exe ":silent normal /Header\r"<CR>
Note that the effect of a command might also be silenced, e.g., when the
mapping selects another entry for command line completion it won't be
displayed.
Prompts will still be given, e.g., for inputdialog(). Prompts will still be given, e.g., for inputdialog().
Using "<silent>" for an abbreviation is possible, but will cause redrawing of Using "<silent>" for an abbreviation is possible, but will cause redrawing of
the command line to fail. the command line to fail.

View File

@ -226,8 +226,13 @@ nextwild(
return FAIL; return FAIL;
} }
msg_puts("..."); // show that we are busy // If cmd_silent is set then don't show the dots, because redrawcmd() below
out_flush(); // won't remove them.
if (!cmd_silent)
{
msg_puts("..."); // show that we are busy
out_flush();
}
i = (int)(xp->xp_pattern - ccline->cmdbuff); i = (int)(xp->xp_pattern - ccline->cmdbuff);
xp->xp_pattern_len = ccline->cmdpos - i; xp->xp_pattern_len = ccline->cmdpos - i;

View File

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