--- old_emerge.sh 2008-06-09 15:46:53.000000000 +0200 +++ new_emerge.sh 2008-06-09 16:13:15.000000000 +0200 @@ -238,7 +238,7 @@ fi ; done); else if [[ ${cur} == */* ]]; then - words=$( for pd in ${portdir} ; do builtin cd ${pd}; compgen -X "*metadata.xml" -G "${cur}*" ; done)"${sysactions}""${eactions}"; + words=$( eix "${cur}"|grep '^\*'|cut -c 3- )"${sysactions}""${eactions}"; else local ww=$( for pd in ${portdir} ; do builtin cd ${pd} ; compgen -S '/' -G "${cur}*"; done)"${sysactions}""${eactions}"; ww="${ww} $( for pd in ${portdir} ; do if [[ -d ${pd}/profiles ]] ; then @@ -266,7 +266,7 @@ COMPREPLY=($(compgen -W "${words}" -- ${cur})); fi; if [[ -z "${COMPREPLY}" ]]; then - words="$( for pd in ${portdir} ; do builtin cd ${pd}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [[ -d $i ]] && echo ${i##*/}; done ; done)"; + words="$( eix ${cur}|grep '^\*'|sed 's@.*/@@' )"; COMPREPLY=($(compgen -W "${words}" -- ${cur})); fi; return 0