Here's another improved patch. Adding an hyphen `-' to [EMAIL PROTECTED]' will circumvent an error "Unbound variable" when `set -u' is in effect.
Regards, Freddy
=== modified file 'bash_completion' --- bash_completion 2008-10-10 19:01:59 +0000 +++ bash_completion 2008-10-20 16:03:48 +0000 @@ -270,15 +270,23 @@ _expand || return 0 local toks=( ) tmp - while read -r tmp; do - [[ -n $tmp ]] && [EMAIL PROTECTED] - done < <( compgen -d -- "$(quote_readline "$cur")" ) + toks=( [EMAIL PROTECTED] $( + compgen -d -- "$(quote_readline "$cur")" | { + while read -r tmp; do + [[ -n $tmp ]] && echo $tmp + done + } + )) if [[ "$1" != -d ]]; then xspec=${1:+"!*.$1"} - while read -r tmp; do - [[ -n $tmp ]] && [EMAIL PROTECTED] - done < <( compgen -f -X "$xspec" -- "$(quote_readline "$cur")" ) + toks=( [EMAIL PROTECTED] $( + compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | { + while read -r tmp; do + [[ -n $tmp ]] && echo $tmp + done + } + )) fi COMPREPLY=( "[EMAIL PROTECTED]" "[EMAIL PROTECTED]" ) @@ -9572,13 +9580,21 @@ local toks=( ) tmp - while read -r tmp; do - [[ -n $tmp ]] && [EMAIL PROTECTED] - done < <( compgen -d -- "$(quote_readline "$cur")" ) + toks=( [EMAIL PROTECTED] $( + compgen -d -- "$(quote_readline "$cur")" | { + while read -r tmp; do + [[ -n $tmp ]] && echo $tmp + done + } + )) - while read -r tmp; do - [[ -n $tmp ]] && [EMAIL PROTECTED] - done < <( eval compgen -f -X $xspec -- "\$(quote_readline "\$cur")" ) + toks=( [EMAIL PROTECTED] $( + eval compgen -f -X $xspec -- "\$(quote_readline "\$cur")" | { + while read -r tmp; do + [[ -n $tmp ]] && echo $tmp + done + } + )) COMPREPLY=( "[EMAIL PROTECTED]" ) } === modified file 'contrib/ssh' --- contrib/ssh 2008-09-27 10:58:42 +0000 +++ contrib/ssh 2008-10-19 21:12:07 +0000 @@ -74,9 +74,9 @@ } complete -F _scp $nospace scp -# ssh-copy-id(1) completion +# ssh_copy_id(1) completion # -_ssh-copy-id() { +_ssh_copy_id() { local cur prev COMPREPLY=() @@ -96,5 +96,5 @@ return 0 } -complete -F _ssh-copy-id $filenames ssh-copy-id -} \ No newline at end of file +complete -F _ssh_copy_id $filenames ssh-copy-id +}