From: Zac Medico Date: Sun, 28 Oct 2007 20:30:46 +0000 (-0000) Subject: Fix SetConfig.getSetAtoms() to stop initializing ignorelist X-Git-Tag: v2.2_pre1~490 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8b4009ca329545a14173c5491dfe26a247066df2;p=portage.git 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 --- 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):