summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-05-28 21:40:52 +0200
committerBram Moolenaar <Bram@vim.org>2014-05-28 21:40:52 +0200
commitea389e910326a0b44a9c534535c1c4c8b1841388 (patch)
treee0065bab0382c8780d6a385f35ec22575a53042e
parent6f6c0f8085a5b0855f9dce8378086fd5e06a219b (diff)
updated for version 7.4.314v7.4.314
Problem: Completion messages can get in the way of a plugin. Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu)
-rw-r--r--runtime/doc/options.txt3
-rw-r--r--src/edit.c23
-rw-r--r--src/option.h3
-rw-r--r--src/screen.c5
-rw-r--r--src/version.c2
5 files changed, 24 insertions, 12 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 7c772dfcc1..f2e6e66cc7 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -6254,6 +6254,9 @@ A jump table for the options with a short description can be found at |Q_op|.
A don't give the "ATTENTION" message when an existing swap file
is found.
I don't give the intro message when starting Vim |:intro|.
+ c don't give |ins-completion-menu| messages. For example,
+ "-- XXX completion (YYY)", "match 1 of 2", "The only match",
+ "Pattern not found", "Back at original", etc.
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
diff --git a/src/edit.c b/src/edit.c
index a0ad9aaed7..94ec789769 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3854,7 +3854,8 @@ ins_compl_prep(c)
ins_compl_free();
compl_started = FALSE;
compl_matches = 0;
- msg_clr_cmdline(); /* necessary for "noshowmode" */
+ if (!shortmess(SHM_COMPLETIONMENU))
+ msg_clr_cmdline(); /* necessary for "noshowmode" */
ctrl_x_mode = 0;
compl_enter_selects = FALSE;
if (edit_submode != NULL)
@@ -5285,7 +5286,8 @@ ins_complete(c)
{
ctrl_x_mode = 0;
edit_submode = NULL;
- msg_clr_cmdline();
+ if (!shortmess(SHM_COMPLETIONMENU))
+ msg_clr_cmdline();
return FAIL;
}
@@ -5544,15 +5546,18 @@ ins_complete(c)
/* Show a message about what (completion) mode we're in. */
showmode();
- if (edit_submode_extra != NULL)
+ if (!shortmess(SHM_COMPLETIONMENU))
{
- if (!p_smd)
- msg_attr(edit_submode_extra,
- edit_submode_highl < HLF_COUNT
- ? hl_attr(edit_submode_highl) : 0);
+ if (edit_submode_extra != NULL)
+ {
+ if (!p_smd)
+ msg_attr(edit_submode_extra,
+ edit_submode_highl < HLF_COUNT
+ ? hl_attr(edit_submode_highl) : 0);
+ }
+ else
+ msg_clr_cmdline(); /* necessary for "noshowmode" */
}
- else
- msg_clr_cmdline(); /* necessary for "noshowmode" */
/* Show the popup menu, unless we got interrupted. */
if (!compl_interrupted)
diff --git a/src/option.h b/src/option.h
index 4ccde58a2b..dc56629484 100644
--- a/src/option.h
+++ b/src/option.h
@@ -212,7 +212,8 @@
#define SHM_SEARCH 's' /* no search hit bottom messages */
#define SHM_ATTENTION 'A' /* no ATTENTION messages */
#define SHM_INTRO 'I' /* intro messages */
-#define SHM_ALL "rmfixlnwaWtToOsAI" /* all possible flags for 'shm' */
+#define SHM_COMPLETIONMENU 'c' /* completion menu messages */
+#define SHM_ALL "rmfixlnwaWtToOsAIc" /* all possible flags for 'shm' */
/* characters for p_go: */
#define GO_ASEL 'a' /* autoselect */
diff --git a/src/screen.c b/src/screen.c
index aea3f75a49..87b1259110 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -42,7 +42,7 @@
*
* The part of the buffer that is displayed in a window is set with:
* - w_topline (first buffer line in window)
- * - w_topfill (filler line above the first line)
+ * - w_topfill (filler lines above the first line)
* - w_leftcol (leftmost window cell in window),
* - w_skipcol (skipped window cells of first line)
*
@@ -9683,7 +9683,8 @@ showmode()
}
#endif
#ifdef FEAT_INS_EXPAND
- if (edit_submode != NULL) /* CTRL-X in Insert mode */
+ /* CTRL-X in Insert mode */
+ if (edit_submode != NULL && !shortmess(SHM_COMPLETIONMENU))
{
/* These messages can get long, avoid a wrap in a narrow
* window. Prefer showing edit_submode_extra. */
diff --git a/src/version.c b/src/version.c
index dc5988be50..0ebf14d65d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 314,
+/**/
313,
/**/
312,