summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/_config/features_set.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/package/ebuild/_config/features_set.py')
-rw-r--r--pym/portage/package/ebuild/_config/features_set.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/pym/portage/package/ebuild/_config/features_set.py b/pym/portage/package/ebuild/_config/features_set.py
index a39fb89dc..62236fd89 100644
--- a/pym/portage/package/ebuild/_config/features_set.py
+++ b/pym/portage/package/ebuild/_config/features_set.py
@@ -115,15 +115,14 @@ class features_set(object):
to persist for future config.regenerate() calls.
"""
overrides_set = set(self._settings._features_overrides)
- if len(overrides_set) < len(self._settings._features_overrides):
- positive = set()
- negative = set()
- for x in self._settings._features_overrides:
- if x[:1] == '-':
- positive.discard(x[:1])
- negative.add(x[:1])
- else:
- positive.add(x)
- negative.discard(x)
- self._settings._features_overrides[:] = \
- list(positive) + list(negative)
+ positive = set()
+ negative = set()
+ for x in self._settings._features_overrides:
+ if x[:1] == '-':
+ positive.discard(x[1:])
+ negative.add(x[1:])
+ else:
+ positive.add(x)
+ negative.discard(x)
+ self._settings._features_overrides[:] = \
+ list(positive) + list('-' + x for x in negative)