From: Zac Medico Date: Wed, 5 Oct 2011 19:51:05 +0000 (-0700) Subject: match_to_list: preserve order X-Git-Tag: v2.2.0_alpha62~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fcc8105402dc5f0b55aacff0368a5977e271ec3d;p=portage.git match_to_list: preserve order This allows us to properly test behavior of best_match_to_list with different permutations of the input. --- diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index 8c65d669f..154b8a23e 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -1776,7 +1776,14 @@ def match_to_list(mypkg, mylist): @rtype: List @return: A unique list of package atoms that match the given package atom """ - return [ x for x in set(mylist) if match_from_list(x, [mypkg]) ] + matches = set() + result = [] + pkgs = [mypkg] + for x in mylist: + if x not in matches and match_from_list(x, pkgs): + matches.add(x) + result.append(x) + return result def best_match_to_list(mypkg, mylist): """