The following commit has been merged in the mount-fix branch:
commit 1c4b461882c94febb39a550e0fe3065208139757
Author: Crestez Dan Leonard <[email protected]>
Date: Sun Feb 7 01:05:51 2010 +0200
(mount) Fix leaking fs_* vars to the environment. Explicitly save/restore
IFS to be posix conformant.
diff --git a/contrib/mount b/contrib/mount
index 41afb07..bfa2a27 100644
--- a/contrib/mount
+++ b/contrib/mount
@@ -29,7 +29,9 @@ _reply_compgen_array()
ecur="${ecur/#$\'/\$\'}"
# Actually generate completions.
+ local oldifs="$IFS"
IFS=$'\n' eval 'COMPREPLY=(`compgen -W "$wlist" -- "${ecur}"`)'
+ IFS="$oldifs"
# Strip starting $' in reply if present in cur.
# This is necesarry because readline interprets everything after ' as a
@@ -48,10 +50,14 @@ _linux_fstab()
COMPREPLY=()
# Read and unescape values into COMPREPLY
+ local fs_spec fs_file fs_other
while read -r fs_spec fs_file fs_other; do
if [[ $fs_spec = [#]* ]]; then continue; fi
- [[ $fs_spec = */* ]] && { IFS=$'\0' eval "COMPREPLY+=( $'$fs_spec' )";
}
- [[ $fs_file = */* ]] && { IFS=$'\0' eval "COMPREPLY+=( $'$fs_file' )";
}
+ local oldifs="$IFS"
+ IFS=$'\0'
+ [[ $fs_spec = */* ]] && eval "COMPREPLY+=( $'$fs_spec' )";
+ [[ $fs_file = */* ]] && eval "COMPREPLY+=( $'$fs_file' )";
+ IFS="$oldifs"
done
_reply_compgen_array
--
bash-completion
_______________________________________________
Bash-completion-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/bash-completion-commits