1
0
forked from aniani/vim

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
":silent" in the executed command: >
: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().
Using "<silent>" for an abbreviation is possible, but will cause redrawing of
the command line to fail.

View File

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

View File

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