diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.051 --- a/components/vim/vim72-patches/7.2.051 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,411 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.051 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.051 -Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath(). -Solution: Add an extra argument to these functions. (Ingo Karkat) -Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro, - runtime/doc/eval.txt, runtime/doc/options.txt - - -*** ../vim-7.2.050/src/eval.c Thu Nov 20 16:11:03 2008 ---- src/eval.c Thu Nov 27 22:15:40 2008 -*************** -*** 7564,7571 **** - {"getwinposx", 0, 0, f_getwinposx}, - {"getwinposy", 0, 0, f_getwinposy}, - {"getwinvar", 2, 2, f_getwinvar}, -! {"glob", 1, 1, f_glob}, -! {"globpath", 2, 2, f_globpath}, - {"has", 1, 1, f_has}, - {"has_key", 2, 2, f_has_key}, - {"haslocaldir", 0, 0, f_haslocaldir}, ---- 7564,7571 ---- - {"getwinposx", 0, 0, f_getwinposx}, - {"getwinposy", 0, 0, f_getwinposy}, - {"getwinvar", 2, 2, f_getwinvar}, -! {"glob", 1, 2, f_glob}, -! {"globpath", 2, 3, f_globpath}, - {"has", 1, 1, f_has}, - {"has_key", 2, 2, f_has_key}, - {"haslocaldir", 0, 0, f_haslocaldir}, -*************** -*** 9557,9563 **** - else - { - /* When the optional second argument is non-zero, don't remove matches -! * for 'suffixes' and 'wildignore' */ - if (argvars[1].v_type != VAR_UNKNOWN - && get_tv_number_chk(&argvars[1], &error)) - flags |= WILD_KEEP_ALL; ---- 9557,9563 ---- - else - { - /* When the optional second argument is non-zero, don't remove matches -! * for 'wildignore' and don't put matches for 'suffixes' at the end. */ - if (argvars[1].v_type != VAR_UNKNOWN - && get_tv_number_chk(&argvars[1], &error)) - flags |= WILD_KEEP_ALL; -*************** -*** 11323,11335 **** - typval_T *argvars; - typval_T *rettv; - { - expand_T xpc; - -! ExpandInit(&xpc); -! xpc.xp_context = EXPAND_FILES; -! rettv->v_type = VAR_STRING; -! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -! NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL); - } - - /* ---- 11323,11347 ---- - typval_T *argvars; - typval_T *rettv; - { -+ int flags = WILD_SILENT|WILD_USE_NL; - expand_T xpc; -+ int error = FALSE; - -! /* When the optional second argument is non-zero, don't remove matches -! * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -! if (argvars[1].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[1], &error)) -! flags |= WILD_KEEP_ALL; -! rettv->v_type = VAR_STRING; -! if (!error) -! { -! ExpandInit(&xpc); -! xpc.xp_context = EXPAND_FILES; -! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -! NULL, flags, WILD_ALL); -! } -! else -! rettv->vval.v_string = NULL; - } - - /* -*************** -*** 11340,11353 **** - typval_T *argvars; - typval_T *rettv; - { - char_u buf1[NUMBUFLEN]; - char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); - - rettv->v_type = VAR_STRING; -! if (file == NULL) - rettv->vval.v_string = NULL; - else -! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file); - } - - /* ---- 11352,11373 ---- - typval_T *argvars; - typval_T *rettv; - { -+ int flags = 0; - char_u buf1[NUMBUFLEN]; - char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); -+ int error = FALSE; - -+ /* When the optional second argument is non-zero, don't remove matches -+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -+ if (argvars[2].v_type != VAR_UNKNOWN -+ && get_tv_number_chk(&argvars[2], &error)) -+ flags |= WILD_KEEP_ALL; - rettv->v_type = VAR_STRING; -! if (file == NULL || error) - rettv->vval.v_string = NULL; - else -! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file, -! flags); - } - - /* -*** ../vim-7.2.050/src/ex_getln.c Sat Nov 15 14:10:23 2008 ---- src/ex_getln.c Thu Nov 20 18:37:20 2008 -*************** -*** 2524,2530 **** - && ccline.xpc->xp_context != EXPAND_NOTHING - && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) - { -! int i = ccline.xpc->xp_pattern - p; - - /* If xp_pattern points inside the old cmdbuff it needs to be adjusted - * to point into the newly allocated memory. */ ---- 2524,2530 ---- - && ccline.xpc->xp_context != EXPAND_NOTHING - && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) - { -! int i = (int)(ccline.xpc->xp_pattern - p); - - /* If xp_pattern points inside the old cmdbuff it needs to be adjusted - * to point into the newly allocated memory. */ -*************** -*** 4897,4903 **** - if (s == NULL) - return FAIL; - sprintf((char *)s, "%s/%s*.vim", dirname, pat); -! all = globpath(p_rtp, s); - vim_free(s); - if (all == NULL) - return FAIL; ---- 4897,4903 ---- - if (s == NULL) - return FAIL; - sprintf((char *)s, "%s/%s*.vim", dirname, pat); -! all = globpath(p_rtp, s, 0); - vim_free(s); - if (all == NULL) - return FAIL; -*************** -*** 4938,4946 **** - * newlines. Returns NULL for an error or no matches. - */ - char_u * -! globpath(path, file) - char_u *path; - char_u *file; - { - expand_T xpc; - char_u *buf; ---- 4938,4947 ---- - * newlines. Returns NULL for an error or no matches. - */ - char_u * -! globpath(path, file, expand_options) - char_u *path; - char_u *file; -+ int expand_options; - { - expand_T xpc; - char_u *buf; -*************** -*** 4969,4978 **** - { - add_pathsep(buf); - STRCAT(buf, file); -! if (ExpandFromContext(&xpc, buf, &num_p, &p, WILD_SILENT) != FAIL -! && num_p > 0) - { -! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT); - for (len = 0, i = 0; i < num_p; ++i) - len += (int)STRLEN(p[i]) + 1; - ---- 4970,4979 ---- - { - add_pathsep(buf); - STRCAT(buf, file); -! if (ExpandFromContext(&xpc, buf, &num_p, &p, -! WILD_SILENT|expand_options) != FAIL && num_p > 0) - { -! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options); - for (len = 0, i = 0; i < num_p; ++i) - len += (int)STRLEN(p[i]) + 1; - -*** ../vim-7.2.050/src/proto/ex_getln.pro Wed May 28 16:49:01 2008 ---- src/proto/ex_getln.pro Thu Nov 20 18:27:57 2008 -*************** -*** 31,37 **** - void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); - int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches)); - int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)))); -! char_u *globpath __ARGS((char_u *path, char_u *file)); - void init_history __ARGS((void)); - int get_histtype __ARGS((char_u *name)); - void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep)); ---- 31,37 ---- - void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); - int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches)); - int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)))); -! char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options)); - void init_history __ARGS((void)); - int get_histtype __ARGS((char_u *name)); - void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep)); -*** ../vim-7.2.050/runtime/doc/eval.txt Sun Nov 9 13:43:25 2008 ---- runtime/doc/eval.txt Thu Nov 27 22:17:13 2008 -*************** -*** 1,4 **** -! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 02 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 27 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 1706,1712 **** - exists( {expr}) Number TRUE if {expr} exists - extend({expr1}, {expr2} [, {expr3}]) - List/Dict insert items of {expr2} into {expr1} -! expand( {expr}) String expand special keywords in {expr} - feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer - filereadable( {file}) Number TRUE if {file} is a readable file - filewritable( {file}) Number TRUE if {file} is a writable file ---- 1709,1715 ---- - exists( {expr}) Number TRUE if {expr} exists - extend({expr1}, {expr2} [, {expr3}]) - List/Dict insert items of {expr2} into {expr1} -! expand( {expr} [, {flag}]) String expand special keywords in {expr} - feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer - filereadable( {file}) Number TRUE if {file} is a readable file - filewritable( {file}) Number TRUE if {file} is a writable file -*************** -*** 1758,1765 **** - getwinposx() Number X coord in pixels of GUI Vim window - getwinposy() Number Y coord in pixels of GUI Vim window - getwinvar( {nr}, {varname}) any variable {varname} in window {nr} -! glob( {expr}) String expand file wildcards in {expr} -! globpath( {path}, {expr}) String do glob({expr}) for all dirs in {path} - has( {feature}) Number TRUE if feature {feature} supported - has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} - haslocaldir() Number TRUE if current window executed |:lcd| ---- 1761,1769 ---- - getwinposx() Number X coord in pixels of GUI Vim window - getwinposy() Number Y coord in pixels of GUI Vim window - getwinvar( {nr}, {varname}) any variable {varname} in window {nr} -! glob( {expr} [, {flag}]) String expand file wildcards in {expr} -! globpath( {path}, {expr} [, {flag}]) -! String do glob({expr}) for all dirs in {path} - has( {feature}) Number TRUE if feature {feature} supported - has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} - haslocaldir() Number TRUE if current window executed |:lcd| -*************** -*** 3286,3299 **** - :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') - < -! *glob()* -! glob({expr}) Expand the file wildcards in {expr}. See |wildcards| for the - use of special characters. - The result is a String. - When there are several matches, they are separated by - characters. -! The 'wildignore' option applies: Names matching one of the -! patterns in 'wildignore' will be skipped. - If the expansion fails, the result is an empty string. - A name for a non-existing file is not included. - ---- 3290,3305 ---- - :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') - < -! glob({expr} [, {flag}]) *glob()* -! Expand the file wildcards in {expr}. See |wildcards| for the - use of special characters. - The result is a String. - When there are several matches, they are separated by - characters. -! Unless the optional {flag} argument is given and is non-zero, -! the 'suffixes' and 'wildignore' options apply: Names matching -! one of the patterns in 'wildignore' will be skipped and -! 'suffixes' affect the ordering of matches. - If the expansion fails, the result is an empty string. - A name for a non-existing file is not included. - -*************** -*** 3307,3326 **** - See |expand()| for expanding special Vim variables. See - |system()| for getting the raw output of an external command. - -! globpath({path}, {expr}) *globpath()* - Perform glob() on all directories in {path} and concatenate - the results. Example: > - :echo globpath(&rtp, "syntax/c.vim") - < {path} is a comma-separated list of directory names. Each - directory name is prepended to {expr} and expanded like with -! glob(). A path separator is inserted when needed. - To add a comma inside a directory name escape it with a - backslash. Note that on MS-Windows a directory may have a - trailing backslash, remove it if you put a comma after it. - If the expansion fails for one of the directories, there is no - error message. -! The 'wildignore' option applies: Names matching one of the -! patterns in 'wildignore' will be skipped. - - The "**" item can be used to search in a directory tree. - For example, to find all "README.txt" files in the directories ---- 3313,3334 ---- - See |expand()| for expanding special Vim variables. See - |system()| for getting the raw output of an external command. - -! globpath({path}, {expr} [, {flag}]) *globpath()* - Perform glob() on all directories in {path} and concatenate - the results. Example: > - :echo globpath(&rtp, "syntax/c.vim") - < {path} is a comma-separated list of directory names. Each - directory name is prepended to {expr} and expanded like with -! |glob()|. A path separator is inserted when needed. - To add a comma inside a directory name escape it with a - backslash. Note that on MS-Windows a directory may have a - trailing backslash, remove it if you put a comma after it. - If the expansion fails for one of the directories, there is no - error message. -! Unless the optional {flag} argument is given and is non-zero, -! the 'suffixes' and 'wildignore' options apply: Names matching -! one of the patterns in 'wildignore' will be skipped and -! 'suffixes' affect the ordering of matches. - - The "**" item can be used to search in a directory tree. - For example, to find all "README.txt" files in the directories -*** ../vim-7.2.050/runtime/doc/options.txt Sat Aug 9 19:36:49 2008 ---- runtime/doc/options.txt Tue Nov 25 23:43:55 2008 -*************** -*** 1,4 **** -! *options.txt* For Vim version 7.2. Last change: 2008 Aug 06 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *options.txt* For Vim version 7.2. Last change: 2008 Nov 25 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 7472,7478 **** - {not available when compiled without the |+wildignore| - feature} - A list of file patterns. A file that matches with one of these -! patterns is ignored when completing file or directory names. - The pattern is used like with |:autocmd|, see |autocmd-patterns|. - Also see 'suffixes'. - Example: > ---- 7481,7489 ---- - {not available when compiled without the |+wildignore| - feature} - A list of file patterns. A file that matches with one of these -! patterns is ignored when completing file or directory names, and -! influences the result of |expand()|, |glob()| and |globpath()| unless -! a flag is passed to disable this. - The pattern is used like with |:autocmd|, see |autocmd-patterns|. - Also see 'suffixes'. - Example: > -*** ../vim-7.2.050/src/version.c Fri Nov 28 10:08:05 2008 ---- src/version.c Fri Nov 28 10:55:44 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 51, - /**/ - --- -Not too long ago, unzipping in public was illegal... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org ///