diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-05-08 20:29:02 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-05-08 20:29:02 +0000 |
commit | e94448aef7a0beac541c2554ac06cd191e344863 (patch) | |
tree | cf354051d5660ed8e0346a6ff96db7d5cdff3580 | |
parent | 0cb321a2715c35afc161d71401e580164405d180 (diff) | |
download | portage-e94448aef7a0beac541c2554ac06cd191e344863.tar.gz portage-e94448aef7a0beac541c2554ac06cd191e344863.tar.bz2 portage-e94448aef7a0beac541c2554ac06cd191e344863.zip |
For bug #177591, increase shell compatibility by preserving quotes in varexpand() since quote removal is handled by shlex.
svn path=/main/trunk/; revision=6505
-rw-r--r-- | pym/portage/util.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/portage/util.py b/pym/portage/util.py index aad939529..46fc6e462 100644 --- a/pym/portage/util.py +++ b/pym/portage/util.py @@ -351,13 +351,13 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): #cache expansions of constant strings cexpand={} -def varexpand(mystring,mydict={}): +def varexpand(mystring, mydict={}): newstring = cexpand.get(" "+mystring, None) if newstring is not None: return newstring """ - new variable expansion code. Removes quotes, handles \n, etc. + new variable expansion code. Preserves quotes, handles \n, etc. This code is used by the configfile code, as well as others (parser) This would be a good bunch of code to port to C. """ @@ -373,6 +373,7 @@ def varexpand(mystring,mydict={}): if (indoub): newstring=newstring+"'" else: + newstring += "'" # Quote removal is handled by shlex. insing=not insing pos=pos+1 continue @@ -380,6 +381,7 @@ def varexpand(mystring,mydict={}): if (insing): newstring=newstring+'"' else: + newstring += '"' # Quote removal is handled by shlex. indoub=not indoub pos=pos+1 continue |