--- ebuild.sh 2003-08-25 10:03:04.000000000 -0700 +++ ebuild.sh 2003-08-25 11:53:07.000000000 -0700 @@ -83,14 +83,16 @@ use() { local x - for x in ${USE}; do + for x in ${PUSE} ${USE}; do if [ "${x}" == "${1}" ]; then if [ -r /dev/fd/1 ]; then tty --quiet < /dev/stdout || echo "${x}" else - echo "${x}" + echo "${x}" fi return 0 + elif [ "${x}" == "-${1}" ]; then + return 1 fi done return 1 --- /tmp/emerge 2003-09-17 14:35:36.898966008 -0700 +++ emerge 2003-09-17 15:40:45.549760768 -0700 @@ -587,9 +587,17 @@ update_spinner() - myuse=portage.settings["USE"] if len(mybigkey) == 3: mytype,myroot,mykey=mybigkey + myuse=string.split(portage.settings["USE"]) + for x in portage.dep_getpuse(mykey): + if x[0]=="-": + myuse.remove(x[1:]) + myuse.append(x) + else: + myuse.remove("-"+x) + myuse.append(x) + myuse=string.join(myuse) else: mytype,myroot,mykey,myuse=mybigkey @@ -1074,13 +1082,16 @@ iuse="" if "--verbose" in myopts: + myiuse=portage.dep_getpuse(x[2]) for ebuild_iuse in string.split(portage.portdb.aux_get(x[2],["IUSE"])[0], " "): - try: - if (portage.usesplit.index(ebuild_iuse) >= 0) : - iuse=iuse+red("+"+ebuild_iuse)+" " - except ValueError: - if ebuild_iuse != "": - iuse=iuse+blue("-"+ebuild_iuse)+" " + if ebuild_iuse in myiuse: + iuse=iuse+darkred("+"+ebuild_iuse)+" " + elif "-"+ebuild_iuse in myiuse: + iuse=iuse+darkblue("-"+ebuild_iuse)+" " + elif ebuild_iuse in portage.usesplit: + iuse=iuse+red("+"+ebuild_iuse)+" " + elif ebuild_iuse != "": + iuse=iuse+blue("-"+ebuild_iuse)+" " xs=portage.pkgsplit(x[2]) if xs[2]=="r0": @@ -1842,8 +1853,8 @@ else: myvars=['GENTOO_MIRRORS', 'CONFIG_PROTECT', 'CONFIG_PROTECT_MASK', 'PORTDIR', 'DISTDIR', 'PKGDIR', 'PORTAGE_TMPDIR', 'PORTDIR_OVERLAY', - 'USE', 'COMPILER', 'CHOST', 'CFLAGS', 'CXXFLAGS','ACCEPT_KEYWORDS', - 'MAKEOPTS', 'AUTOCLEAN', 'SYNC', 'FEATURES'] + 'USE', 'PKGUSE', 'COMPILER', 'CHOST', 'CFLAGS', 'CXXFLAGS', + 'ACCEPT_KEYWORDS', 'MAKEOPTS', 'AUTOCLEAN', 'SYNC', 'FEATURES'] myvars.sort() for x in myvars: print x+'="'+portage.settings[x]+'"'