From 8b4009ca329545a14173c5491dfe26a247066df2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 28 Oct 2007 20:30:46 +0000 Subject: Fix SetConfig.getSetAtoms() to stop initializing ignorelist in the parameter list since otherwise the ignorelist persists between calls and causes unpredictable results for callers. svn path=/main/trunk/; revision=8333 --- pym/portage/sets/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pym/portage/sets/__init__.py b/pym/portage/sets/__init__.py index 9f562820b..940aa1020 100644 --- a/pym/portage/sets/__init__.py +++ b/pym/portage/sets/__init__.py @@ -94,14 +94,17 @@ class SetConfig(SafeConfigParser): self.aliases = shortnames return self.aliases - def getSetAtoms(self, setname, ignorelist=[]): + def getSetAtoms(self, setname, ignorelist=None): myset = self.getSetsWithAliases()[setname] myatoms = myset.getAtoms() - ignorelist.append(setname) + if ignorelist is None: + ignorelist = set() + ignorelist.add(setname) for n in myset.getNonAtoms(): if n[0] == SETPREFIX and n[1:] in self.aliases: if n[1:] not in ignorelist: - myatoms.update(self.getSetAtoms(n[1:])) + myatoms.update(self.getSetAtoms(n[1:], + ignorelist=ignorelist)) return myatoms def make_default_config(settings, trees): -- cgit v1.2.3-1-g7c22