diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_git | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 34be26e2e..0e7d1e023 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-03-11 Daniel Shahaf <d.s@daniel.shahaf.name> + + * 38129: Completion/Unix/Command/_git: Fix __git_ignore_line's + treatment of shell and pattern metacaracters. + 2016-03-10 Daniel Shahaf <d.s@daniel.shahaf.name> * 38128: Completion/Unix/Command/_git: Fix completion of diffs diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 6c88ad073..e3d7231d3 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -4956,7 +4956,7 @@ __git_committish_range_last () { (( $+functions[__git_pattern_escape] )) || __git_pattern_escape () { - print -r -n ${1//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH} + print -r -n - ${(b)1} } (( $+functions[__git_is_type] )) || @@ -5048,9 +5048,9 @@ __git_ignore_line () { declare -a ignored ignored=() ((CURRENT > 1)) && - ignored+=(${line[1,CURRENT-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) + ignored+=(${(bQ)line[1,CURRENT-1]}) ((CURRENT < $#line)) && - ignored+=(${line[CURRENT+1,-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) + ignored+=(${(bQ)line[CURRENT+1,-1]}) $* -F ignored } |