[Bash-completion-commits] ./current r1197: Fixed ugly bug:

David Paleino d.paleino at gmail.com
Sat Oct 25 12:33:12 UTC 2008


------------------------------------------------------------
revno: 1197
committer: David Paleino <d.paleino at gmail.com>
branch nick: current
timestamp: Sat 2008-10-25 14:33:12 +0200
message:
  Fixed ugly bug:
  "cd /b<TAB>" returned "cd /" with Freddy Vulto's code (see #502804)
modified:
  bash_completion
-------------- next part --------------
=== modified file 'bash_completion'
--- a/bash_completion	2008-10-24 20:12:09 +0000
+++ b/bash_completion	2008-10-25 12:33:12 +0000
@@ -269,10 +269,18 @@
 
 	_expand || return 0
 
+	local toks=( ) tmp
+	
 	toks=( ${toks[@]} $(
 		compgen -d -- "$(quote_readline "$cur")" | {
 			while read -r tmp; do
-				[[ -n $tmp ]] && echo $tmp
+				# TODO: I've removed a "[ -n $tmp ] &&" before,
+				#       and everything works again. If this bug
+				#       suddenly appears again (i.e. "cd /b<TAB>"
+				#       becomes "cd /"), remember to check for
+				#       other similar conditionals (here and
+				#       _filedir_xspec()). --David
+				echo $tmp
 			done
 		}
 	))
@@ -282,7 +290,7 @@
 		toks=( ${toks[@]} $(
 			compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | {
 				while read -r tmp; do
-					[[ -n $tmp ]] && echo $tmp
+					[ -n $tmp ] && echo $tmp
 				done
 			}
 		))
@@ -9577,10 +9585,12 @@
 	xspec=${xspec#*-X }
 	xspec=${xspec%% *}
 
+	local toks=( ) tmp
 	toks=( ${toks[@]} $(
 		compgen -d -- "$(quote_readline "$cur")" | {
 			while read -r tmp; do
-				[[ -n $tmp ]] && echo $tmp
+				# see long TODO comment in _filedir() --David
+				echo $tmp
 			done
 		}
 	))
@@ -9588,7 +9598,7 @@
 	toks=( ${toks[@]} $(
 		eval compgen -f -X $xspec -- "\$(quote_readline "\$cur")" | {
 			while read -r tmp; do
-				[[ -n $tmp ]] && echo $tmp
+				[ -n $tmp ] && echo $tmp
 			done
 		}
 	))



More information about the Bash-completion-commits mailing list