diff --git a/ChangeLog b/ChangeLog index e7bd54f05..6b74faefc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-12-28 Barton E. Schaefer + + * 32186: Completion/Base/Completer/_expand: fix bad backreference; + handle glob patterns that include backslashed quote characters + 2013-12-26 Barton E. Schaefer * unposted (cf. Jun Takimoto: 32184): Test/comptest, diff --git a/Completion/Base/Completer/_expand b/Completion/Base/Completer/_expand index 44954a2a8..e52144cb7 100644 --- a/Completion/Base/Completer/_expand +++ b/Completion/Base/Completer/_expand @@ -103,8 +103,8 @@ subd=("$exp[@]") # Now try globbing. [[ "$force" = *g* ]] || zstyle -T ":completion:${curcontext}:" glob && - eval 'exp=( ${~exp//(#b)\\[ -]/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null + eval 'exp=( ${~exp//(#b)\\([ \"'"\'"' +])/$match[1]} ); exp=( ${(q)exp} )' 2>/dev/null ### Don't remember why we once used this instead of the (q) above. # eval 'exp=( ${~exp} ); exp=( ${exp//(#b)([][()|*?^#~<>\\=])/\\${match[1]}} )' 2>/dev/null