Make USE_EXPAND wildcard expansion more efficient, and prevent possible
authorZac Medico <zmedico@gentoo.org>
Mon, 23 Feb 2009 23:22:08 +0000 (23:22 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 23 Feb 2009 23:22:08 +0000 (23:22 -0000)
duplicates.

svn path=/main/trunk/; revision=12703

pym/portage/__init__.py

index e5d4d5158da0c797852d10a8bdb660fff8de5aaf..4eb99c2dbdbb5acd0c364b4ac0d4495a46508455 100644 (file)
@@ -2147,10 +2147,11 @@ class config(object):
                        if has_wildcard:
                                # * means to enable everything in IUSE that's not masked
                                if has_iuse:
-                                       for x in iuse_implicit:
-                                               if x[:prefix_len] == prefix and x not in self.usemask:
-                                                       suffix = x[prefix_len:]
-                                                       var_split.append(suffix)
+                                       for suffix in has_iuse:
+                                               x = prefix + suffix
+                                               if x not in usemask:
+                                                       if suffix not in expand_flags:
+                                                               var_split.append(suffix)
                                                        use.add(x)
                                else:
                                        # If there is a wildcard and no matching flags in IUSE then