summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Luther2010-06-26 05:14:17 (GMT)
committerZac Medico2010-06-27 22:18:32 (GMT)
commit10c7d5d1a1329f846baad3659486c276dafddbba (patch)
tree0f5789c80e36b14e539505289f27a05436707edd
parenteb664f5c5944e8cf4ee2133b8efb78ac754fc96b (diff)
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