From aa7f1250b0454f95f037486e0b27cdfdd225bb95 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 12 May 2008 00:01:26 +0000 Subject: Fix the variable subsitution code from bug #221755 so that variable assignments from earlier files don't leak into variable assignments from later files (except through substitution). (trunk r10294:10297) svn path=/main/branches/2.1.2/; revision=10298 --- pym/portage_util.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pym/portage_util.py') diff --git a/pym/portage_util.py b/pym/portage_util.py index e75e0cb15..b9fc90354 100644 --- a/pym/portage_util.py +++ b/pym/portage_util.py @@ -309,10 +309,11 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): if isinstance(expand, dict): # Some existing variable definitions have been # passed in, for use in substitutions. - mykeys = expand.copy() + expand_map = expand expand = True else: - mykeys = {} + expand_map = {} + mykeys = {} try: f=open(mycfg,'r') except IOError, e: @@ -371,7 +372,8 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): else: return mykeys if expand: - mykeys[key] = varexpand(val, mykeys) + mykeys[key] = varexpand(val, expand_map) + expand_map[key] = mykeys[key] else: mykeys[key] = val except SystemExit, e: -- cgit v1.2.3-1-g7c22