Fix minor issues in the calculation of the number of parents omitted from
authorZac Medico <zmedico@gentoo.org>
Wed, 9 Apr 2008 18:04:10 +0000 (18:04 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 9 Apr 2008 18:04:10 +0000 (18:04 -0000)
the slot collision display.

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

pym/_emerge/__init__.py

index e3f8df792d0e9da73afc0265fb89611e05f9fcd9..f6532a0b6d04bbfdc5c603045c1249aa1ad67d5f 100644 (file)
@@ -1614,7 +1614,6 @@ class depgraph(object):
                                if parents:
                                        omitted_parents = 0
                                        if len(parents) > max_parents:
-                                               omitted_parents = len(parents) - max_parents
                                                pruned_list = []
                                                # When generating the pruned list, prefer instances
                                                # of DependencyArg over instances of Package.
@@ -1629,17 +1628,15 @@ class depgraph(object):
                                                                in self._slot_collision_info:
                                                                pruned_list.append(parent)
                                                for parent in parents:
-                                                       if not isinstance(parent, DependencyArg):
+                                                       if len(pruned_list) >= max_parents:
+                                                               break
+                                                       if not isinstance(parent, DependencyArg) and \
+                                                               parent not in pruned_list:
                                                                pruned_list.append(parent)
-                                                               if len(pruned_list) >= max_parents:
-                                                                       break
+                                               omitted_parents = len(parents) - len(pruned_list)
                                                parents = pruned_list
                                        msg.append(" pulled in by\n")
-                                       shown_parents = set()
                                        for parent in parents:
-                                               if parent in shown_parents:
-                                                       continue
-                                               shown_parents.add(parent)
                                                msg.append(2*indent)
                                                msg.append(str(parent))
                                                msg.append("\n")