summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-01-22 22:08:09 +0100
committerBram Moolenaar <Bram@vim.org>2019-01-22 22:08:09 +0100
commit9e26f7d31fbb780613fa700fe61de3e0b4ff2ef6 (patch)
treea00df42661ee8d924b48fe4f5508c10a5612cc1b
parent563bbeabcce5580e03648e687bd7ddb9626a03d9 (diff)
patch 8.1.0792: bad display if opening cmdline window from Insert completionv8.1.0792
Problem: Popup menu is displayed on top of the cmdline window if it is opened from Insert completion. (Bjorn Linse) Solution: Remove the popup menu. Restore the cursor position. (closes #3838)
-rw-r--r--src/edit.c7
-rw-r--r--src/ex_getln.c4
-rw-r--r--src/version.c2
3 files changed, 12 insertions, 1 deletions
diff --git a/src/edit.c b/src/edit.c
index 482e644e8d..852060bd26 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -8537,6 +8537,7 @@ ins_reg(void)
++no_u_sync;
if (regname == '=')
{
+ pos_T curpos = curwin->w_cursor;
# ifdef HAVE_INPUT_METHOD
int im_on = im_get_status();
# endif
@@ -8545,8 +8546,12 @@ ins_reg(void)
u_sync_once = 2;
regname = get_expr_register();
+
+ // Cursor may be moved back a column.
+ curwin->w_cursor = curpos;
+ check_cursor();
# ifdef HAVE_INPUT_METHOD
- /* Restore the Input Method. */
+ // Restore the Input Method.
if (im_on)
im_set_active(TRUE);
# endif
diff --git a/src/ex_getln.c b/src/ex_getln.c
index fc48a9b723..9400b20e82 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -7268,6 +7268,10 @@ open_cmdwin(void)
/* Don't execute autocommands while creating the window. */
block_autocmds();
+ // When using completion in Insert mode with <C-R>=<C-F> one can open the
+ // command line window, but we don't want the popup menu then.
+ pum_undisplay();
+
/* don't use a new tab page */
cmdmod.tab = 0;
cmdmod.noswapfile = 1;
diff --git a/src/version.c b/src/version.c
index f33f85090d..0aa15d72eb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -792,6 +792,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 792,
+/**/
791,
/**/
790,