diff options
-rw-r--r-- | pym/portage_util.py | 10 |
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() |