vim-patch:8.1.0792: bad display if opening cmdline window from Insert completion

This commit is contained in:
Björn Linse 2019-01-26 16:57:09 +01:00
parent 2c01e79dc4
commit 2405cf8255
2 changed files with 15 additions and 3 deletions

View File

@ -7132,11 +7132,17 @@ static void ins_reg(void)
* message for it. Only call it explicitly. */ * message for it. Only call it explicitly. */
++no_u_sync; ++no_u_sync;
if (regname == '=') { if (regname == '=') {
/* Sync undo when evaluating the expression calls setline() or pos_T curpos = curwin->w_cursor;
* append(), so that it can be undone separately. */
// Sync undo when evaluating the expression calls setline() or
// append(), so that it can be undone separately.
u_sync_once = 2; u_sync_once = 2;
regname = get_expr_register(); regname = get_expr_register();
// Cursor may be moved back a column.
curwin->w_cursor = curpos;
check_cursor();
} }
if (regname == NUL || !valid_yank_reg(regname, false)) { if (regname == NUL || !valid_yank_reg(regname, false)) {
vim_beep(BO_REG); vim_beep(BO_REG);

View File

@ -51,6 +51,7 @@
#include "nvim/option.h" #include "nvim/option.h"
#include "nvim/os_unix.h" #include "nvim/os_unix.h"
#include "nvim/path.h" #include "nvim/path.h"
#include "nvim/popupmnu.h"
#include "nvim/regexp.h" #include "nvim/regexp.h"
#include "nvim/screen.h" #include "nvim/screen.h"
#include "nvim/search.h" #include "nvim/search.h"
@ -6051,7 +6052,12 @@ static int open_cmdwin(void)
/* Don't execute autocommands while creating the window. */ /* Don't execute autocommands while creating the window. */
block_autocmds(); block_autocmds();
/* don't use a new tab page */
// 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(true);
// don't use a new tab page
cmdmod.tab = 0; cmdmod.tab = 0;
cmdmod.noswapfile = 1; cmdmod.noswapfile = 1;