aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-06-26 05:14:17 (GMT)
committerZac Medico <zmedico@gentoo.org>2010-06-27 22:18:32 (GMT)
commit10c7d5d1a1329f846baad3659486c276dafddbba (patch)
tree0f5789c80e36b14e539505289f27a05436707edd
parentmisc-functions.sh fix for baselayout (diff)
downloadportage-10c7d5d1a1329f846baad3659486c276dafddbba.zip
portage-10c7d5d1a1329f846baad3659486c276dafddbba.tar.gz
portage-10c7d5d1a1329f846baad3659486c276dafddbba.tar.bz2
Make --deselect handle all cases of atoms/sets on the cmd line and in @world (bug 325591)
-rw-r--r--pym/_emerge/actions.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 9e2c88f..bc01348 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1182,11 +1182,13 @@ def action_deselect(settings, trees, opts, atoms):
for atom in world_set:
for arg_atom in expanded_atoms:
if arg_atom.startswith(SETPREFIX):
- if arg_atom == atom:
+ if atom.startswith(SETPREFIX) and \
+ arg_atom == atom:
discard_atoms.add(atom)
break
else:
- if arg_atom.intersects(atom) and \
+ if not atom.startswith(SETPREFIX) and \
+ arg_atom.intersects(atom) and \
not (arg_atom.slot and not atom.slot):
discard_atoms.add(atom)
break