summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-14 22:07:45 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-14 22:07:45 +0000
commit698a00f55d60043d51b1c98cbbf3f9fd10badd2f (patch)
treec3ef65282e0c2a994d8aca95f68ada9fda8bbf5f
parentc3d27ada14acd02db357f2d16347acc22cb17e93 (diff)
patch 9.0.0883: a silent mapping may cause dots on the command linev9.0.0883
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)
-rw-r--r--runtime/doc/map.txt3
-rw-r--r--src/cmdexpand.c9
-rw-r--r--src/version.c2
3 files changed, 12 insertions, 2 deletions
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index c33c9f8696..494b6290fa 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -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.
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 4f12625388..228d4bc095 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -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;
diff --git a/src/version.c b/src/version.c
index a35a172ace..7fae79d38b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 883,
+/**/
882,
/**/
881,