bash-completion/backtick-completion-boo940835.patch

44 lines
1.1 KiB
Diff

---
bash_completion | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
Index: bash-completion-2.11/bash_completion
===================================================================
--- bash-completion-2.11.orig/bash_completion
+++ bash-completion-2.11/bash_completion
@@ -1052,16 +1052,21 @@ _tilde()
_dollar()
{
local s=""
- local -i glob=0
-
+ local -i glob=0 cmd=0
shopt -q extglob && let glob++
((glob == 0)) && shopt -s extglob
[[ "$COMP_LINE" == cd* ]] && s="/"
case "$1" in
- \$\(*|\`*)
- COMPREPLY=($(compgen -c -P '$(' -S ")$s" -- ${1#??})) ;;
+ \$\(*)
+ COMPREPLY=($(compgen -c -P '$(' -S ")$s" -- ${1#??}))
+ let cmd++
+ ;;
+ \`*)
+ COMPREPLY=($(compgen -c -P '\`' -S "\`$s" -- ${1#?}))
+ let cmd++
+ ;;
\$\{*)
COMPREPLY=($(compgen -v -P '${' -S "}$s" -- ${1#??})) ;;
\$*)
@@ -1073,7 +1078,7 @@ _dollar()
if ((${#COMPREPLY[@]} > 0)) ; then
((${#COMPREPLY[@]} == 1)) && eval COMPREPLY=\(${COMPREPLY[@]}\)
- else
+ elif ((cmd == 0)); then
eval COMPREPLY=\(${1}\)
fi