diff options
| author | prollings <patrickrollings@gmail.com> | 2016-08-04 14:22:45 +1000 | 
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2016-08-04 00:22:45 -0400 | 
| commit | 0d93cd6c46e0b81e981197c4446aceb325325b5a (patch) | |
| tree | bc736baf8ae595cc252dd91c6a7f49cd74fc4f2b /src/nvim/eval.c | |
| parent | 08d11bd42f3cacc66f3d6097ff18c50059079f14 (diff) | |
| download | rneovim-0d93cd6c46e0b81e981197c4446aceb325325b5a.tar.gz rneovim-0d93cd6c46e0b81e981197c4446aceb325325b5a.tar.bz2 rneovim-0d93cd6c46e0b81e981197c4446aceb325325b5a.zip | |
vim-patch:7.4.1557 (#5117)
Problem:    Windows cannot be identified.
Solution:   Add a unique window number to each window and functions to use it.
https://github.com/vim/vim/commit/86edef664efccbfe685906c854b9cdd04e56f2d5
Diffstat (limited to 'src/nvim/eval.c')
| -rw-r--r-- | src/nvim/eval.c | 32 | 
1 files changed, 31 insertions, 1 deletions
| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index a5333d74be..7839a7f645 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -6987,6 +6987,10 @@ static struct fst {    { "virtcol",           1, 1, f_virtcol },    { "visualmode",        0, 1, f_visualmode },    { "wildmenumode",      0, 0, f_wildmenumode }, +  { "win_getid",         0, 2, f_win_getid }, +  { "win_gotoid",        1, 1, f_win_gotoid }, +  { "win_id2tabwin",     1, 1, f_win_id2tabwin }, +  { "win_id2win",        1, 1, f_win_id2win },    { "winbufnr",          1, 1, f_winbufnr },    { "wincol",            0, 0, f_wincol },    { "winheight",         1, 1, f_winheight }, @@ -17150,6 +17154,32 @@ static void f_wildmenumode(typval_T *argvars, typval_T *rettv)      rettv->vval.v_number = 1;  } +/// "win_getid()" function +static void f_win_getid(typval_T *argvars, typval_T *rettv) +{ +  rettv->vval.v_number = win_getid(argvars); +} + +/// "win_gotoid()" function +static void f_win_gotoid(typval_T *argvars, typval_T *rettv) +{ +  rettv->vval.v_number = win_gotoid(argvars); +} + +/// "win_id2tabwin()" function +static void f_win_id2tabwin(typval_T *argvars, typval_T *rettv) +{ +  if (rettv_list_alloc(rettv) != FAIL) { +    win_id2tabwin(argvars, rettv->vval.v_list); +  } +} + +/// "win_id2win()" function +static void f_win_id2win(typval_T *argvars, typval_T *rettv) +{ +  rettv->vval.v_number = win_id2win(argvars); +} +  /*   * "winbufnr(nr)" function   */ @@ -18437,7 +18467,7 @@ static void init_tv(typval_T *varp)   * caller of incompatible types: it sets *denote to TRUE if "denote"   * is not NULL or returns -1 otherwise.   */ -static long get_tv_number(typval_T *varp) +long get_tv_number(typval_T *varp)  {    int error = FALSE; | 
