The _brace_parameter completion function indicates that the expansion flags B, E, M, and R can be used with the ${foo/bar/baz} syntax. According to the documentation (zshexpn), this is not so: The following flags are meaningful with the ${...#...} or ${...%...} forms. > The S and I flags may also be used with the ${.../...} forms. > Testing and a brief glance at the source seem to confirm this, though my C is not great — please let me know if i'm mistaken. Credit to psprint in #zsh for discovering the wording problem. dana diff --git a/Completion/Zsh/Context/_brace_parameter b/Completion/Zsh/Context/_brace_parameter index f22db8895..b119ccd11 100644 --- a/Completion/Zsh/Context/_brace_parameter +++ b/Completion/Zsh/Context/_brace_parameter @@ -178,11 +178,11 @@ if [[ $PREFIX = *'${('[^\)]# ]]; then # "_:extended flags, for future expansion" "S:search substrings in #, %, / expressions" "I:search th match in #, %, / expressions" - "B:include index of beginning of match in #, %, / expressions" - "E:include index of one past end of match in #, %, / expressions" - "M:include matched portion in #, %, / expressions" + "B:include index of beginning of match in #, % expressions" + "E:include index of one past end of match in #, % expressions" + "M:include matched portion in #, % expressions" "N:include length of match in #, % expressions" - "R:include rest (unmatched portion) in #, %, / expressions" + "R:include rest (unmatched portion) in #, % expressions" ) _describe -t flags "parameter flag" flags -Q -S '' return