diff options
Diffstat (limited to 'pym/portage/dep')
-rw-r--r-- | pym/portage/dep/__init__.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index c5f6a0b63..382a4f611 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -1087,11 +1087,15 @@ class Atom(_atom_base): % (eapi, self), category='EAPI.incompatible') if is_valid_flag is not None and self.use.conditional: invalid_flag = None - for conditional_type, flags in self.use.conditional.items(): - for flag in flags: - if not is_valid_flag(flag): - invalid_flag = (conditional_type, flag) - break + try: + for conditional_type, flags in \ + self.use.conditional.items(): + for flag in flags: + if not is_valid_flag(flag): + invalid_flag = (conditional_type, flag) + raise StopIteration() + except StopIteration: + pass if invalid_flag is not None: conditional_type, flag = invalid_flag conditional_str = _use_dep._conditional_strings[conditional_type] |