]> granicus.if.org Git - vim/commitdiff
updated for version 7.0192
authorBram Moolenaar <Bram@vim.org>
Sat, 4 Feb 2006 00:54:59 +0000 (00:54 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 4 Feb 2006 00:54:59 +0000 (00:54 +0000)
src/os_unix.c

index 4a339f90a31f12365a3cca92e037668544cf33c6..c60ddafe5294bee12d057cdb8368035f072e1535 100644 (file)
@@ -5126,10 +5126,11 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
                else if (pat[i][j] == '\\' && pat[i][j + 1] != NUL)
                {
                    /* Remove a backslash, take char literally.  But keep
-                    * backslash before special character and inside
-                    * backticks. */
+                    * backslash inside backticks, before a special character
+                    * and before a backtick. */
                    if (intick
-                         || vim_strchr(SHELL_SPECIAL, pat[i][j + 1]) != NULL)
+                         || vim_strchr(SHELL_SPECIAL, pat[i][j + 1]) != NULL
+                         || pat[i][j + 1] == '`')
                        *p++ = '\\';
                    ++j;
                }
@@ -5356,7 +5357,8 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
        /* Space or NL separates */
        if (shell_style == STYLE_ECHO || shell_style == STYLE_BT)
        {
-           while (!(shell_style == STYLE_ECHO && *p == ' ') && *p != '\n')
+           while (!(shell_style == STYLE_ECHO && *p == ' ')
+                                                  && *p != '\n' && *p != NUL)
                ++p;
            if (p == buffer + len)              /* last entry */
                *p = NUL;