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
+}

Reply via email to