+
+ delegate_completion() {
+ local prog programs
+ prog=$1
+ if has_completion $prog; then
+ shift
+ programs="$@"
+ eval "_${prog}_completion_loader() {
+ _completion_loader $prog
+ complete -F _$prog $programs
+ unset _${prog}_completion_loader
+ return 124
+ }"
+ complete -F _${prog}_completion_loader $programs
+ fi
+ }
+
+ delegate_completion make m
+ delegate_completion ping p
+ delegate_completion rsync r
+ delegate_completion ssh s
+ delegate_completion wget wget-m wget-wrapper ww
+
+ unset has_completion delegate_completion