To: vim_dev@googlegroups.com Subject: Patch 7.3.570 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.570 Problem: ":vimgrep" does not obey 'wildignore'. Solution: Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat) Files: src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/quickfix.c, src/spell.c *** ../vim-7.3.569/src/ex_cmds2.c 2012-06-20 15:48:53.000000000 +0200 --- src/ex_cmds2.c 2012-06-29 12:43:34.000000000 +0200 *************** *** 1850,1871 **** #if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO) /* * Parse a list of arguments (file names), expand them and return in ! * "fnames[fcountp]". * Return FAIL or OK. */ int ! get_arglist_exp(str, fcountp, fnamesp) char_u *str; int *fcountp; char_u ***fnamesp; { garray_T ga; int i; if (get_arglist(&ga, str) == FAIL) return FAIL; ! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data, ! fcountp, fnamesp, EW_FILE|EW_NOTFOUND); ga_clear(&ga); return i; } --- 1850,1877 ---- #if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO) /* * Parse a list of arguments (file names), expand them and return in ! * "fnames[fcountp]". When "wig" is TRUE, removes files matching 'wildignore'. * Return FAIL or OK. */ int ! get_arglist_exp(str, fcountp, fnamesp, wig) char_u *str; int *fcountp; char_u ***fnamesp; + int wig; { garray_T ga; int i; if (get_arglist(&ga, str) == FAIL) return FAIL; ! if (wig == TRUE) ! i = expand_wildcards(ga.ga_len, (char_u **)ga.ga_data, ! fcountp, fnamesp, EW_FILE|EW_NOTFOUND); ! else ! i = gen_expand_wildcards(ga.ga_len, (char_u **)ga.ga_data, ! fcountp, fnamesp, EW_FILE|EW_NOTFOUND); ! ga_clear(&ga); return i; } *** ../vim-7.3.569/src/proto/ex_cmds2.pro 2011-05-19 18:26:34.000000000 +0200 --- src/proto/ex_cmds2.pro 2012-06-29 12:43:49.000000000 +0200 *************** *** 42,48 **** int check_fname __ARGS((void)); int buf_write_all __ARGS((buf_T *buf, int forceit)); int get_arglist __ARGS((garray_T *gap, char_u *str)); ! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp)); void set_arglist __ARGS((char_u *str)); void check_arg_idx __ARGS((win_T *win)); void ex_args __ARGS((exarg_T *eap)); --- 42,48 ---- int check_fname __ARGS((void)); int buf_write_all __ARGS((buf_T *buf, int forceit)); int get_arglist __ARGS((garray_T *gap, char_u *str)); ! int get_arglist_exp __ARGS((char_u *str, int *fcountp, char_u ***fnamesp, int wig)); void set_arglist __ARGS((char_u *str)); void check_arg_idx __ARGS((win_T *win)); void ex_args __ARGS((exarg_T *eap)); *** ../vim-7.3.569/src/quickfix.c 2012-06-01 18:34:37.000000000 +0200 --- src/quickfix.c 2012-06-29 12:43:49.000000000 +0200 *************** *** 3189,3195 **** ; /* parse the list of arguments */ ! if (get_arglist_exp(p, &fcount, &fnames) == FAIL) goto theend; if (fcount == 0) { --- 3189,3195 ---- ; /* parse the list of arguments */ ! if (get_arglist_exp(p, &fcount, &fnames, TRUE) == FAIL) goto theend; if (fcount == 0) { *** ../vim-7.3.569/src/spell.c 2012-06-01 17:49:51.000000000 +0200 --- src/spell.c 2012-06-29 12:43:49.000000000 +0200 *************** *** 8553,8559 **** } /* Expand all the remaining arguments (e.g., $VIMRUNTIME). */ ! if (get_arglist_exp(arg, &fcount, &fnames) == OK) { mkspell(fcount, fnames, ascii, eap->forceit, FALSE); FreeWild(fcount, fnames); --- 8553,8559 ---- } /* Expand all the remaining arguments (e.g., $VIMRUNTIME). */ ! if (get_arglist_exp(arg, &fcount, &fnames, FALSE) == OK) { mkspell(fcount, fnames, ascii, eap->forceit, FALSE); FreeWild(fcount, fnames); *** ../vim-7.3.569/src/version.c 2012-06-29 12:54:32.000000000 +0200 --- src/version.c 2012-06-29 12:56:12.000000000 +0200 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 570, /**/ -- hundred-and-one symptoms of being an internet addict: 70. ISDN lines are added to your house on a hourly basis /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///