Skip to content

Commit

Permalink
patch 8.1.2037: can call win_gotoid() in cmdline window
Browse files Browse the repository at this point in the history
Problem:    Can call win_gotoid() in cmdline window.
Solution:   Disallow switching windows. (Yasuhiro Matsumoto, closes #4940)
  • Loading branch information
brammool committed Sep 15, 2019
1 parent 1ac90b4 commit a046b37
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 17 deletions.
35 changes: 18 additions & 17 deletions src/evalwindow.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,22 +50,6 @@ win_getid(typval_T *argvars)
return 0;
}

static int
win_gotoid(typval_T *argvars)
{
win_T *wp;
tabpage_T *tp;
int id = tv_get_number(&argvars[0]);

FOR_ALL_TAB_WINDOWS(tp, wp)
if (wp->w_id == id)
{
goto_tabpage_win(tp, wp);
return 1;
}
return 0;
}

static void
win_id2tabwin(typval_T *argvars, list_T *list)
{
Expand Down Expand Up @@ -705,7 +689,24 @@ f_win_getid(typval_T *argvars, typval_T *rettv)
void
f_win_gotoid(typval_T *argvars, typval_T *rettv)
{
rettv->vval.v_number = win_gotoid(argvars);
win_T *wp;
tabpage_T *tp;
int id = tv_get_number(&argvars[0]);

#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
emsg(_(e_cmdwin));
return;
}
#endif
FOR_ALL_TAB_WINDOWS(tp, wp)
if (wp->w_id == id)
{
goto_tabpage_win(tp, wp);
rettv->vval.v_number = 1;
return;
}
}

/*
Expand Down
10 changes: 10 additions & 0 deletions src/testdir/test_cmdline.vim
Original file line number Diff line number Diff line change
Expand Up @@ -734,3 +734,13 @@ func Test_cmdline_overstrike()

let &encoding = encoding_save
endfunc

func Test_cmdwin_bug()
let winid = win_getid()
sp
try
call feedkeys("q::call win_gotoid(" .. winid .. ")\<CR>:q\<CR>", 'x!')
catch /^Vim\%((\a\+)\)\=:E11/
endtry
bw!
endfunc
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -757,6 +757,8 @@ static char *(features[]) =

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

0 comments on commit a046b37

Please sign in to comment.