Skip to content

Commit

Permalink
patch 8.0.0710: a job that writes to a buffer clears completion
Browse files Browse the repository at this point in the history
Problem:    A job that writes to a buffer clears command line completion.
            (Ramel Eshed)
Solution:   Do not redraw while showing the completion menu.
  • Loading branch information
brammool committed Jul 12, 2017
1 parent 8327d1d commit 8603356
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
32 changes: 13 additions & 19 deletions src/screen.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,10 @@ redraw_buf_and_status_later(buf_T *buf, int type)
{
win_T *wp;

if (wild_menu_showing != 0)
/* Don't redraw while the command line completion is displayed, it
* would disappear. */
return;
FOR_ALL_WINDOWS(wp)
{
if (wp->w_buffer == buf)
Expand Down Expand Up @@ -444,22 +448,12 @@ redraw_after_callback(void)
; /* do nothing */
else if (State & CMDLINE)
{
/* Redrawing only works when the screen didn't scroll. */
if (msg_scrolled == 0)
{
/* Redrawing only works when the screen didn't scroll. Don't clear
* wildmenu entries. */
if (msg_scrolled == 0 && wild_menu_showing == 0)
update_screen(0);
compute_cmdrow();
}
else
{
/* Redraw in the same position, so that the user can continue
* editing the command. */
compute_cmdrow();
if (cmdline_row > msg_scrolled)
cmdline_row -= msg_scrolled;
else
cmdline_row = 0;
}
/* Redraw in the same position, so that the user can continue
* editing the command. */
redrawcmdline_ex(FALSE);
}
else if (State & (NORMAL | INSERT))
Expand Down Expand Up @@ -9417,9 +9411,9 @@ setcursor(void)


/*
* insert 'line_count' lines at 'row' in window 'wp'
* if 'invalid' is TRUE the wp->w_lines[].wl_lnum is invalidated.
* if 'mayclear' is TRUE the screen will be cleared if it is faster than
* Insert 'line_count' lines at 'row' in window 'wp'.
* If 'invalid' is TRUE the wp->w_lines[].wl_lnum is invalidated.
* If 'mayclear' is TRUE the screen will be cleared if it is faster than
* scrolling.
* Returns FAIL if the lines are not inserted, OK for success.
*/
Expand Down Expand Up @@ -9502,7 +9496,7 @@ win_ins_lines(
}

/*
* delete "line_count" window lines at "row" in window "wp"
* Delete "line_count" window lines at "row" in window "wp".
* If "invalid" is TRUE curwin->w_lines[] is invalidated.
* If "mayclear" is TRUE the screen will be cleared if it is faster than
* scrolling
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -764,6 +764,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
710,
/**/
709,
/**/
Expand Down

0 comments on commit 8603356

Please sign in to comment.