From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Lg4AW-0000e2-Oo for garchives@archives.gentoo.org; Sat, 07 Mar 2009 21:34:52 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 389F0E054C; Sat, 7 Mar 2009 21:34:52 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 16F5DE054C for ; Sat, 7 Mar 2009 21:34:52 +0000 (UTC) Received: from stork.gentoo.org (stork.gentoo.org [64.127.104.133]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id B8FE464367 for ; Sat, 7 Mar 2009 21:34:51 +0000 (UTC) Received: from zmedico by stork.gentoo.org with local (Exim 4.69) (envelope-from ) id 1Lg4AV-0001f2-BG for gentoo-commits@lists.gentoo.org; Sat, 07 Mar 2009 21:34:51 +0000 To: gentoo-commits@lists.gentoo.org From: "Zac Medico (zmedico)" Subject: [gentoo-commits] portage r12777 - main/trunk/pym/portage X-VCS-Repository: portage X-VCS-Revision: 12777 X-VCS-Files: main/trunk/pym/portage/util.py X-VCS-Directories: main/trunk/pym/portage X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico Content-Type: text/plain; charset=UTF-8 Message-Id: Sender: Zac Medico Date: Sat, 07 Mar 2009 21:34:51 +0000 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: f37dc36c-d660-4a89-b80b-0c6a107f2fcd X-Archives-Hash: b96abad83de69acd7186231c211493c5 Author: zmedico Date: 2009-03-07 21:34:50 +0000 (Sat, 07 Mar 2009) New Revision: 12777 Modified: main/trunk/pym/portage/util.py Log: Fix an issue with incomplete deepcopy of _LazyItem instances inside LazyItemsDict.__deepcopy__(). Thanks to Arfrever for reporting. Modified: main/trunk/pym/portage/util.py =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- main/trunk/pym/portage/util.py 2009-03-07 20:25:19 UTC (rev 12776) +++ main/trunk/pym/portage/util.py 2009-03-07 21:34:50 UTC (rev 12777) @@ -1170,17 +1170,12 @@ memo[id(self)] =3D result for k in self: k_copy =3D deepcopy(k, memo) - if k in self.lazy_items: + if k in list(self.lazy_items): lazy_item =3D self.lazy_items[k] - try: - result.lazy_items[k_copy] =3D deepcopy(lazy_item, memo) - except TypeError: - # If deepcopy fails for a lazy singleton, try to - # evaluate the singleton and deepcopy the result. - if not lazy_item.singleton: - raise + if lazy_item.singleton: dict.__setitem__(result, k_copy, deepcopy(self[k], memo)) else: + result.lazy_items[k_copy] =3D deepcopy(lazy_item, memo) dict.__setitem__(result, k_copy, None) else: dict.__setitem__(result, k_copy, deepcopy(self[k], memo))