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; |