diff options
author | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-06-25 03:11:44 +0000 |
---|---|---|
committer | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-06-25 03:11:44 +0000 |
commit | f2f3b86a5f15500dfee707d27eee9784a1626e4d (patch) | |
tree | d58c84a358497843dbdf54088e4e441bbf9447e1 /Src/pattern.c | |
parent | 3fb7cb46276374c248d24802e04d0947743d2d8d (diff) | |
download | zsh-f2f3b86a5f15500dfee707d27eee9784a1626e4d.tar.gz zsh-f2f3b86a5f15500dfee707d27eee9784a1626e4d.tar.xz zsh-f2f3b86a5f15500dfee707d27eee9784a1626e4d.zip |
Merge of 21862/21863/21870: GLOB_SUBST shouldn't swallow up backslashes in
parameter substitutions that don't match anything.
Diffstat (limited to 'Src/pattern.c')
-rw-r--r-- | Src/pattern.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Src/pattern.c b/Src/pattern.c index 393d9bf41..d8bd9ef98 100644 --- a/Src/pattern.c +++ b/Src/pattern.c @@ -260,13 +260,13 @@ static char endseg[] = { static char endstr[] = { '/', /* file only */ - '\0', Bar, Outpar, Quest, Star, Inbrack, Inpar, Inang, + '\0', Bar, Outpar, Quest, Star, Inbrack, Inpar, Inang, Bnullkeep, /* all patterns */ Tilde, Hat, Pound /* extended glob only */ }; -#define PATENDSTRLEN_NORM 9 -#define PATENDSTRLEN_EXT 12 +#define PATENDSTRLEN_NORM 10 +#define PATENDSTRLEN_EXT 13 /* Default size for pattern buffer */ @@ -1240,6 +1240,13 @@ patcomppiece(int *flagp) */ return 0; break; + case Bnullkeep: + /* + * Marker for restoring a backslash in output: + * does not match a character. + */ + return patcomppiece(flagp); + break; #ifdef DEBUG default: dputs("BUG: character not handled in patcomppiece"); |