comparison src/evalfunc.c @ 11225:d3415ec1cdaf v8.0.0499

patch 8.0.0499: taglist() does not prioritize tags for a buffer commit https://github.com/vim/vim/commit/c6aafbaf3ea755e3ab4ee2e3045911126a08b038 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Mar 21 17:09:10 2017 +0100 patch 8.0.0499: taglist() does not prioritize tags for a buffer Problem: taglist() does not prioritize tags for a buffer. Solution: Add an optional buffer argument. (Duncan McDougall, closes https://github.com/vim/vim/issues/1194)
author Christian Brabandt <cb@256bit.org>
date Tue, 21 Mar 2017 17:15:05 +0100
parents 2e4877acfe0a
children 918942a3b0ef
comparison
equal deleted inserted replaced
11224:4c0b53b8bfd6 11225:d3415ec1cdaf
822 {"systemlist", 1, 2, f_systemlist}, 822 {"systemlist", 1, 2, f_systemlist},
823 {"tabpagebuflist", 0, 1, f_tabpagebuflist}, 823 {"tabpagebuflist", 0, 1, f_tabpagebuflist},
824 {"tabpagenr", 0, 1, f_tabpagenr}, 824 {"tabpagenr", 0, 1, f_tabpagenr},
825 {"tabpagewinnr", 1, 2, f_tabpagewinnr}, 825 {"tabpagewinnr", 1, 2, f_tabpagewinnr},
826 {"tagfiles", 0, 0, f_tagfiles}, 826 {"tagfiles", 0, 0, f_tagfiles},
827 {"taglist", 1, 1, f_taglist}, 827 {"taglist", 1, 2, f_taglist},
828 #ifdef FEAT_FLOAT 828 #ifdef FEAT_FLOAT
829 {"tan", 1, 1, f_tan}, 829 {"tan", 1, 1, f_tan},
830 {"tanh", 1, 1, f_tanh}, 830 {"tanh", 1, 1, f_tanh},
831 #endif 831 #endif
832 {"tempname", 0, 0, f_tempname}, 832 {"tempname", 0, 0, f_tempname},
3587 if (lnum < 0) 3587 if (lnum < 0)
3588 lnum = 0; 3588 lnum = 0;
3589 fold_count = foldedCount(curwin, lnum, &foldinfo); 3589 fold_count = foldedCount(curwin, lnum, &foldinfo);
3590 if (fold_count > 0) 3590 if (fold_count > 0)
3591 { 3591 {
3592 text = get_foldtext(curwin, lnum, lnum + fold_count - 1, &foldinfo, buf); 3592 text = get_foldtext(curwin, lnum, lnum + fold_count - 1,
3593 &foldinfo, buf);
3593 if (text == buf) 3594 if (text == buf)
3594 text = vim_strsave(text); 3595 text = vim_strsave(text);
3595 rettv->vval.v_string = text; 3596 rettv->vval.v_string = text;
3596 } 3597 }
3597 #endif 3598 #endif
12265 * "taglist()" function 12266 * "taglist()" function
12266 */ 12267 */
12267 static void 12268 static void
12268 f_taglist(typval_T *argvars, typval_T *rettv) 12269 f_taglist(typval_T *argvars, typval_T *rettv)
12269 { 12270 {
12271 char_u *fname = NULL;
12270 char_u *tag_pattern; 12272 char_u *tag_pattern;
12271 12273
12272 tag_pattern = get_tv_string(&argvars[0]); 12274 tag_pattern = get_tv_string(&argvars[0]);
12273 12275
12274 rettv->vval.v_number = FALSE; 12276 rettv->vval.v_number = FALSE;
12275 if (*tag_pattern == NUL) 12277 if (*tag_pattern == NUL)
12276 return; 12278 return;
12277 12279
12280 if (argvars[1].v_type != VAR_UNKNOWN)
12281 fname = get_tv_string(&argvars[1]);
12278 if (rettv_list_alloc(rettv) == OK) 12282 if (rettv_list_alloc(rettv) == OK)
12279 (void)get_tags(rettv->vval.v_list, tag_pattern); 12283 (void)get_tags(rettv->vval.v_list, tag_pattern, fname);
12280 } 12284 }
12281 12285
12282 /* 12286 /*
12283 * "tempname()" function 12287 * "tempname()" function
12284 */ 12288 */