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)
++no_u_sync;
if (regname == '=')
{
+ pos_T curpos = curwin->w_cursor;
# ifdef HAVE_INPUT_METHOD
int im_on = im_get_status();
# endif
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
/* 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;
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 792,
/**/
791,
/**/