diff options
author | Jeremy Olexa <darkside@gentoo.org> | 2010-05-04 16:11:48 +0000 |
---|---|---|
committer | Jeremy Olexa <darkside@gentoo.org> | 2010-05-04 16:11:48 +0000 |
commit | 88ffc0adfad33d89fb2756dc59cd7ffbf11fa1a2 (patch) | |
tree | 9c753d85fad9063566d9210ea741ba66a45e82eb | |
parent | Fix filtering of categories and packages. Bug 301582, patches by Jacek Sowiński (diff) | |
download | gentoo-bashcomp-88ffc0adfad33d89fb2756dc59cd7ffbf11fa1a2.tar.gz gentoo-bashcomp-88ffc0adfad33d89fb2756dc59cd7ffbf11fa1a2.tar.bz2 gentoo-bashcomp-88ffc0adfad33d89fb2756dc59cd7ffbf11fa1a2.zip |
Fix for new-style virtuals, bug 269498 patch by Jacek Sowiński
svn path=/trunk/; revision=99
-rw-r--r-- | gentoo | 15 |
1 files changed, 3 insertions, 12 deletions
@@ -621,26 +621,17 @@ _emerge() fi if [[ -n "${cur}" ]] ; then - if [[ ${cur} == virtual/* ]] ; then + if [[ ${cur} == */* ]] ; then words=$(\ for pd in ${portdir} ; do \ - if [[ -d ${pd}/profiles ]] ; then - find ${pd}/profiles -name virtuals -exec \ - sed -n -e 's|^\(virtual/[[:alnum:]]\+\).*$|\1|p' {} \; | \ - sort -u - fi ; \ - done) - elif [[ ${cur} == */* ]] ; then - words=$(\ - for pd in ${portdir} ; do \ builtin cd ${pd}; \ compgen -X "*metadata.xml" -G "${cur}*" ; \ done)"${sysactions}" - else + else local ww=$(\ for pd in ${portdir} ; do \ builtin cd ${pd} ; \ - compgen -S '/' -G "${cur}*"; \ + compgen -X "!@(*-*|virtual)" -S '/' -G "${cur}*"; \ done)"${sysactions}" # complete on virtuals ww="${ww} $(\ |