diff --git a/7.1.081 b/7.1.081 new file mode 100644 index 0000000..85b7bbb --- /dev/null +++ b/7.1.081 @@ -0,0 +1,143 @@ +To: vim-dev@vim.org +Subject: patch 7.1.081 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.1.081 +Problem: Command line completion for a shell command: "cat " + doesn't work. +Solution: Start the file name at any character that can't be in a file name. + (Martin Toft) +Files: src/ex_docmd.c + + +*** ../vim-7.1.080/src/ex_docmd.c Tue Aug 14 22:54:00 2007 +--- src/ex_docmd.c Sat Aug 18 14:58:53 2007 +*************** +*** 3281,3319 **** + + if (ea.argt & XFILE) + { +! int in_quote = FALSE; +! char_u *bow = NULL; /* Beginning of word */ + + /* + * Allow spaces within back-quotes to count as part of the argument + * being expanded. + */ + xp->xp_pattern = skipwhite(arg); +! for (p = xp->xp_pattern; *p; ) + { +! if (*p == '\\' && p[1] != NUL) + ++p; + #ifdef SPACE_IN_FILENAME +! else if (vim_iswhite(*p) && (!(ea.argt & NOSPC) || usefilter)) + #else +! else if (vim_iswhite(*p)) + #endif + { +! p = skipwhite(p); + if (in_quote) + bow = p; + else + xp->xp_pattern = p; +! --p; +! } +! else if (*p == '`') +! { +! if (!in_quote) +! { +! xp->xp_pattern = p; +! bow = p + 1; +! } +! in_quote = !in_quote; + } + mb_ptr_adv(p); + } +--- 3281,3344 ---- + + if (ea.argt & XFILE) + { +! int c; +! int in_quote = FALSE; +! char_u *bow = NULL; /* Beginning of word */ + + /* + * Allow spaces within back-quotes to count as part of the argument + * being expanded. + */ + xp->xp_pattern = skipwhite(arg); +! p = xp->xp_pattern; +! while (*p != NUL) + { +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! c = mb_ptr2char(p); +! else +! #endif +! c = *p; +! if (c == '\\' && p[1] != NUL) + ++p; ++ else if (c == '`') ++ { ++ if (!in_quote) ++ { ++ xp->xp_pattern = p; ++ bow = p + 1; ++ } ++ in_quote = !in_quote; ++ } + #ifdef SPACE_IN_FILENAME +! else if (!vim_isfilec(c) && (!(ea.argt & NOSPC) || usefilter)) + #else +! else if (!vim_isfilec(c)) + #endif + { +! while (*p != NUL) +! { +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! c = mb_ptr2char(p); +! else +! #endif +! c = *p; +! if (c == '`' || vim_isfilec(c)) +! break; +! #ifdef FEAT_MBYTE +! if (has_mbyte) +! len = (*mb_ptr2len)(p); +! else +! #endif +! len = 1; +! mb_ptr_adv(p); +! } + if (in_quote) + bow = p; + else + xp->xp_pattern = p; +! p -= len; + } + mb_ptr_adv(p); + } +*** ../vim-7.1.080/src/version.c Sat Aug 18 16:59:43 2007 +--- src/version.c Sat Aug 18 17:45:54 2007 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 81, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +194. Your business cards contain your e-mail and home page address. + + /// 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 ///