@@ -1961,8 +1961,8 @@ _comp_compgen_services()
19611961# one, because we set it up eagerly as completer for scripts in sysv init dirs
19621962# below.
19631963#
1964- # TODO:API: rename per conventions, rework to use vars rather than outputting
1965- _service ()
1964+ # @since 2.12
1965+ _comp_complete_service ()
19661966{
19671967 local cur prev words cword comp_args
19681968 _comp_initialize -- " $@ " || return
@@ -1981,7 +1981,7 @@ _service()
19811981 " ${sysvdirs[0]} /${prev##*/ } " 2> /dev/null) start stop"
19821982 fi
19831983} &&
1984- complete -F _service service
1984+ complete -F _comp_complete_service service
19851985
19861986_comp__init_set_up_service_completions ()
19871987{
@@ -1990,7 +1990,7 @@ _comp__init_set_up_service_completions()
19901990 for svcdir in " ${sysvdirs[@]} " ; do
19911991 _comp_expand_glob svcs ' "$svcdir"/!($_comp_backup_glob)'
19921992 for svc in " ${svcs[@]} " ; do
1993- [[ -x $svc ]] && complete -F _service " $svc "
1993+ [[ -x $svc ]] && complete -F _comp_complete_service " $svc "
19941994 done
19951995 done
19961996 unset -f " $FUNCNAME "
@@ -2353,8 +2353,8 @@ _comp_try_faketty()
23532353
23542354# This function provides simple user@host completion
23552355#
2356- # TODO:API: rename per conventions
2357- _user_at_host ()
2356+ # @since 2.12
2357+ _comp_complete_user_at_host ()
23582358{
23592359 local cur prev words cword comp_args
23602360 _comp_initialize -n : -- " $@ " || return
@@ -2366,19 +2366,19 @@ _user_at_host()
23662366 compopt -o nospace
23672367 fi
23682368}
2369- shopt -u hostcomplete && complete -F _user_at_host talk ytalk finger
2369+ shopt -u hostcomplete && complete -F _comp_complete_user_at_host talk ytalk finger
23702370
23712371# NOTE: Using this function as a helper function is deprecated. Use
23722372# `_comp_compgen_known_hosts' instead.
2373- # TODO:API: rename per conventions
2374- _known_hosts ()
2373+ # @since 2.12
2374+ _comp_complete_known_hosts ()
23752375{
23762376 local cur prev words cword comp_args
23772377 _comp_initialize -n : -- " $@ " || return
23782378
2379- # NOTE: Using `_known_hosts' as a helper function and passing options to
2380- # `_known_hosts' is deprecated: Use `_comp_compgen_known_hosts'
2381- # instead.
2379+ # NOTE: Using `_known_hosts' (the old name of `_comp_complete_known_hosts')
2380+ # as a helper function and passing options to `_known_hosts' is
2381+ # deprecated: Use `_comp_compgen_known_hosts' instead.
23822382 local -a options=()
23832383 [[ ${1-} == -a || ${2-} == -a ]] && options+=(-a)
23842384 [[ ${1-} == -c || ${2-} == -c ]] && options+=(-c)
@@ -2440,7 +2440,7 @@ _comp__included_ssh_config_files()
24402440 done
24412441}
24422442
2443- # Helper function for completing _known_hosts .
2443+ # Helper function for completing _comp_complete_known_hosts .
24442444# This function performs host completion based on ssh's config and known_hosts
24452445# files, as well as hostnames reported by avahi-browse if
24462446# BASH_COMPLETION_KNOWN_HOSTS_WITH_AVAHI is set to a non-empty value.
@@ -2663,7 +2663,7 @@ _comp_compgen_known_hosts__impl()
26632663
26642664 _comp_compgen -v known_hosts -c " $prefix$cur " ltrim_colon " ${known_hosts[@]} "
26652665}
2666- complete -F _known_hosts traceroute traceroute6 \
2666+ complete -F _comp_complete_known_hosts traceroute traceroute6 \
26672667 fping fping6 telnet rsh rlogin ftp dig drill mtr ssh-installkeys showmount
26682668
26692669# Convert the word index in `words` to the index in `COMP_WORDS`.
@@ -2761,7 +2761,7 @@ _comp_command_offset()
27612761 if (( ${# COMPREPLY[@]} == 0 )) ; then
27622762 # XXX will probably never happen as long as completion loader loads
27632763 # *something* for every command thrown at it ($cspec != empty)
2764- _minimal " ${args[@]} "
2764+ _comp_complete_minimal " ${args[@]} "
27652765 fi
27662766 elif [[ $cspec == * ' -F ' * ]]; then
27672767 # complete -F <function>
@@ -2865,7 +2865,7 @@ _comp_compgen_commands()
28652865}
28662866
28672867# @since 2.12
2868- _comp_longopt ()
2868+ _comp_complete_longopt ()
28692869{
28702870 local cur prev words cword was_split comp_args
28712871 _comp_initialize -s -- " $@ " || return
@@ -2915,7 +2915,7 @@ _comp_longopt()
29152915 fi
29162916}
29172917# makeinfo and texi2dvi are defined elsewhere.
2918- complete -F _comp_longopt \
2918+ complete -F _comp_complete_longopt \
29192919 a2ps awk base64 bash bc bison cat chroot colordiff cp \
29202920 csplit cut date df diff dir du enscript env expand fmt fold gperf \
29212921 grep grub head irb ld ldd less ln ls m4 mkdir mkfifo mknod \
@@ -2926,12 +2926,17 @@ complete -F _comp_longopt \
29262926# @since 2.12
29272927declare -Ag _comp_xspecs
29282928
2929- # TODO:API: rename per conventions
2930- _filedir_xspec ()
2929+ # @since 2.12
2930+ _comp_complete_filedir_xspec ()
29312931{
29322932 local cur prev words cword comp_args
29332933 _comp_initialize -- " $@ " || return
2934+ _comp_compgen_filedir_xspec " $1 "
2935+ }
29342936
2937+ # @since 2.12
2938+ _comp_compgen_filedir_xspec()
2939+ {
29352940 _comp_compgen_tilde && return
29362941
29372942 local ret
@@ -2960,10 +2965,10 @@ _filedir_xspec()
29602965 ${# toks[@]} -lt 1 ]] &&
29612966 _comp_compgen -av toks -c " $quoted " -- -f
29622967
2963- if ((${# toks[@]} != 0)); then
2964- compopt -o filenames
2965- COMPREPLY=( " ${toks[@]} " )
2966- fi
2968+ ((${# toks[@]} )) || return 1
2969+
2970+ compopt -o filenames
2971+ _comp_compgen -RU toks -- -W ' " ${toks[@]} " '
29672972}
29682973
29692974_comp__init_install_xspec()
@@ -3035,15 +3040,15 @@ unset -f _comp__init_install_xspec
30353040
30363041# Minimal completion to use as fallback in _comp_complete_load.
30373042# TODO:API: rename per conventions
3038- _minimal ()
3043+ _comp_complete_minimal ()
30393044{
30403045 local cur prev words cword comp_args
30413046 _comp_initialize -- " $@ " || return
30423047 compopt -o bashdefault -o default
30433048}
30443049# Complete the empty string to allow completion of '>', '>>', and '<' on < 4.3
30453050# https://lists.gnu.org/archive/html/bug-bash/2012-01/msg00045.html
3046- complete -F _minimal ''
3051+ complete -F _comp_complete_minimal ''
30473052
30483053# @since 2.12
30493054_comp_load()
@@ -3168,10 +3173,10 @@ _comp_load()
31683173
31693174 # Look up simple " xspec" completions
31703175 [[ -v _comp_xspecs[$cmdname ] || -v _xspecs[$cmdname ] ]] &&
3171- complete -F _filedir_xspec " $cmdname " " $backslash$cmdname " && return 0
3176+ complete -F _comp_complete_filedir_xspec " $cmdname " " $backslash$cmdname " && return 0
31723177
31733178 if [[ $flag_fallback_default ]]; then
3174- complete -F _minimal -- " $origcmd " && return 0
3179+ complete -F _comp_complete_minimal -- " $origcmd " && return 0
31753180 fi
31763181
31773182 return 1
0 commit comments