0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.1.0493: argv() and argc() only work on the current argument list

Problem:    argv() and argc() only work on the current argument list.
Solution:   Add a window ID argument. (Yegappan Lakshmanan, closes #832)
This commit is contained in:
Bram Moolenaar
2018-10-25 12:32:11 +02:00
parent bf9679ae46
commit e6e3989c1b
6 changed files with 147 additions and 34 deletions

View File

@@ -8193,9 +8193,7 @@ find_win_by_nr(
tabpage_T *tp) /* NULL for current tab page */
{
win_T *wp;
int nr;
nr = (int)get_tv_number_chk(vp, NULL);
int nr = (int)get_tv_number_chk(vp, NULL);
if (nr < 0)
return NULL;
@@ -8217,6 +8215,20 @@ find_win_by_nr(
return wp;
}
/*
* Find a window: When using a Window ID in any tab page, when using a number
* in the current tab page.
*/
win_T *
find_win_by_nr_or_id(typval_T *vp)
{
int nr = (int)get_tv_number_chk(vp, NULL);
if (nr >= LOWEST_WIN_ID)
return win_id2wp(vp);
return find_win_by_nr(vp, NULL);
}
/*
* Find window specified by "wvp" in tabpage "tvp".
*/