@@ -2496,9 +2496,9 @@ complete -F _minimal ''
24962496
24972497__load_completion()
24982498{
2499- local cmd=" $ {1##*/ }" dir compfile
2499+ local cmd=$1 cmdname= $ {1##*/ } dir compfile
25002500 local -a paths
2501- [[ $cmd ]] || return 1
2501+ [[ $cmdname ]] || return 1
25022502
25032503 local -a dirs=()
25042504
@@ -2523,9 +2523,9 @@ __load_completion()
25232523 dirs+=(./completions)
25242524 fi
25252525
2526- # 3) From bin directories extracted from $( realpath " $cmd " ) and PATH
2526+ # 3) From bin directories extracted from $( realpath " $cmdname " ) and PATH
25272527 local ret
2528- _comp_realcommand " $1 " && paths=(" ${ret%/* } " ) || paths=()
2528+ _comp_realcommand " $cmd " && paths=(" ${ret%/* } " ) || paths=()
25292529 _comp_split -aF : paths " $PATH "
25302530 for dir in " ${paths[@]%/ } " ; do
25312531 if [[ -d $dir && $dir == ?*/@(bin|sbin) ]]; then
@@ -2539,10 +2539,10 @@ __load_completion()
25392539 dirs+=(" ${paths[@]/%// bash-completion/ completions} " )
25402540
25412541 local backslash=
2542- if [[ $cmd == \\ * ]]; then
2543- cmd =${cmd : 1}
2542+ if [[ $cmdname == \\ * ]]; then
2543+ cmdname =${cmdname : 1}
25442544 # If we already have a completion for the " real" command, use it
2545- $( complete -p " $cmd " 2> /dev/null || echo false) " \\ $cmd " && return 0
2545+ $( complete -p " $cmdname " 2> /dev/null || echo false) " \\ $cmdname " && return 0
25462546 backslash=\\
25472547 fi
25482548
@@ -2551,7 +2551,7 @@ __load_completion()
25512551
25522552 for dir in " ${dirs[@]} " ; do
25532553 [[ -d $dir ]] || continue
2554- for compfile in " $cmd " " $cmd .bash" ; do
2554+ for compfile in " $cmdname " " $cmdname .bash" ; do
25552555 compfile=" $dir /$compfile "
25562556 # Avoid trying to source dirs as long as we support bash < 4.3
25572557 # to avoid an fd leak; https://bugzilla.redhat.com/903540
@@ -2560,31 +2560,31 @@ __load_completion()
25602560 [[ $compfile == */.?(.) ]] ||
25612561 echo " bash_completion: $compfile : is a directory" >&2
25622562 elif [[ -e $compfile ]] && . " $compfile " ; then
2563- [[ $backslash ]] && $( complete -p " $cmd " ) " \\ $cmd "
2563+ [[ $backslash ]] && $( complete -p " $cmdname " ) " \\ $cmdname "
25642564 return 0
25652565 fi
25662566 done
25672567 done
25682568
2569- # Search fallback completions named " _$cmd "
2569+ # Search fallback completions named " _$cmdname "
25702570 for dir in " ${dirs[@]} " ; do
25712571 [[ -d $dir ]] || continue
2572- compfile=" $dir /_$cmd "
2572+ compfile=" $dir /_$cmdname "
25732573 # Avoid trying to source dirs as long as we support bash < 4.3
25742574 # to avoid an fd leak; https://bugzilla.redhat.com/903540
25752575 if [[ -d $compfile ]]; then
25762576 # Do not warn with . or .. (especially the former is common)
25772577 [[ $compfile == */.?(.) ]] ||
25782578 echo " bash_completion: $compfile : is a directory" >&2
2579- elif [[ -e $compfile ]] && . " $compfile " " $cmd " ; then
2580- [[ $backslash ]] && $( complete -p " $cmd " ) " \\ $cmd "
2579+ elif [[ -e $compfile ]] && . " $compfile " " $cmdname " ; then
2580+ [[ $backslash ]] && $( complete -p " $cmdname " ) " \\ $cmdname "
25812581 return 0
25822582 fi
25832583 done
25842584
25852585 # Look up simple " xspec" completions
2586- [[ -v _xspecs[$cmd ] ]] &&
2587- complete -F _filedir_xspec " $cmd " " $backslash$cmd " && return 0
2586+ [[ -v _xspecs[$cmdname ] ]] &&
2587+ complete -F _filedir_xspec " $cmdname " " $backslash$cmdname " && return 0
25882588
25892589 return 1
25902590}
0 commit comments