diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2020-01-26 15:53:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-26 15:53:23 -0800 |
commit | 9dc3247850d057bca3250f26ca8d0578d6b35455 (patch) | |
tree | cfd13e38d2e4503b4194b434b94fa2d6e0646d2e /src/nvim/path.c | |
parent | 6f073ccbf464e2f2cd6d6855aa3f27ee1adcc20d (diff) | |
parent | ad272cd2d7ac6c9d28c2981169b779e146cbb5d6 (diff) | |
download | rneovim-9dc3247850d057bca3250f26ca8d0578d6b35455.tar.gz rneovim-9dc3247850d057bca3250f26ca8d0578d6b35455.tar.bz2 rneovim-9dc3247850d057bca3250f26ca8d0578d6b35455.zip |
Merge #11766 from janlazo/vim-8.1.1143
vim-patch:8.1.{1143,1144}
Diffstat (limited to 'src/nvim/path.c')
-rw-r--r-- | src/nvim/path.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/nvim/path.c b/src/nvim/path.c index a53870acb8..0142724a5b 100644 --- a/src/nvim/path.c +++ b/src/nvim/path.c @@ -1120,10 +1120,22 @@ static bool has_env_var(char_u *p) static bool has_special_wildchar(char_u *p) { for (; *p; MB_PTR_ADV(p)) { - // Allow for escaping - if (*p == '\\' && p[1] != NUL) { + // Disallow line break characters. + if (*p == '\r' || *p == '\n') { + break; + } + // Allow for escaping. + if (*p == '\\' && p[1] != NUL && p[1] != '\r' && p[1] != '\n') { p++; } else if (vim_strchr((char_u *)SPECIAL_WILDCHAR, *p) != NULL) { + // A { must be followed by a matching }. + if (*p == '{' && vim_strchr(p, '}') == NULL) { + continue; + } + // A quote and backtick must be followed by another one. + if ((*p == '`' || *p == '\'') && vim_strchr(p, *p) == NULL) { + continue; + } return true; } } |