# HG changeset patch # User vimboss # Date 1139014499 0 # Node ID 14fc0209d8c881805698f669d734bfe69a732d55 # Parent bc95c6c4bac13d4a0f8a4bd6ec10f495d3fa5eea updated for version 7.0192 diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -5126,10 +5126,11 @@ mch_expand_wildcards(num_pat, pat, num_f 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_f /* 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;