comparison src/eval.c @ 14964:2c0bfa167468 v8.1.0493

patch 8.1.0493: argv() and argc() only work on the current argument list commit https://github.com/vim/vim/commit/e6e3989c1b3f18907a0c305712b867e9a3821369 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Oct 25 12:32:11 2018 +0200 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 https://github.com/vim/vim/issues/832)
author Bram Moolenaar <Bram@vim.org>
date Thu, 25 Oct 2018 12:45:05 +0200
parents 162d79d273e6
children c5ec5ddbe814
comparison
equal deleted inserted replaced
14963:81993fcbec84 14964:2c0bfa167468
8191 find_win_by_nr( 8191 find_win_by_nr(
8192 typval_T *vp, 8192 typval_T *vp,
8193 tabpage_T *tp) /* NULL for current tab page */ 8193 tabpage_T *tp) /* NULL for current tab page */
8194 { 8194 {
8195 win_T *wp; 8195 win_T *wp;
8196 int nr; 8196 int nr = (int)get_tv_number_chk(vp, NULL);
8197
8198 nr = (int)get_tv_number_chk(vp, NULL);
8199 8197
8200 if (nr < 0) 8198 if (nr < 0)
8201 return NULL; 8199 return NULL;
8202 if (nr == 0) 8200 if (nr == 0)
8203 return curwin; 8201 return curwin;
8213 break; 8211 break;
8214 } 8212 }
8215 if (nr >= LOWEST_WIN_ID) 8213 if (nr >= LOWEST_WIN_ID)
8216 return NULL; 8214 return NULL;
8217 return wp; 8215 return wp;
8216 }
8217
8218 /*
8219 * Find a window: When using a Window ID in any tab page, when using a number
8220 * in the current tab page.
8221 */
8222 win_T *
8223 find_win_by_nr_or_id(typval_T *vp)
8224 {
8225 int nr = (int)get_tv_number_chk(vp, NULL);
8226
8227 if (nr >= LOWEST_WIN_ID)
8228 return win_id2wp(vp);
8229 return find_win_by_nr(vp, NULL);
8218 } 8230 }
8219 8231
8220 /* 8232 /*
8221 * Find window specified by "wvp" in tabpage "tvp". 8233 * Find window specified by "wvp" in tabpage "tvp".
8222 */ 8234 */