summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage_util.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/portage_util.py b/pym/portage_util.py
index 995688d03..d07fe63c9 100644
--- a/pym/portage_util.py
+++ b/pym/portage_util.py
@@ -137,9 +137,13 @@ def stack_lists(lists, incremental=1):
new_list = {}
for x in lists:
for y in filter(None, x):
- if incremental and y.startswith("-"):
- if y[1:] in new_list:
- del new_list[y[1:]]
+ if incremental:
+ if y == "-*":
+ new_list.clear()
+ elif y.startswith("-"):
+ new_list.pop(y[1:], None)
+ else:
+ new_list[y] = True
else:
new_list[y] = True
return new_list.keys()