mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
In subst_vars(), change the name of the argument from str to s to
prevent binding for str from masking use of builtin str in nested function. (This is the only case I found in the standard library where a local shadows a global or builtin. There may be others, but the regression test doesn't catch them.)
This commit is contained in:
parent
a39414b15c
commit
5e2d0764cd
1 changed files with 2 additions and 2 deletions
|
@ -142,7 +142,7 @@ def check_environ ():
|
|||
_environ_checked = 1
|
||||
|
||||
|
||||
def subst_vars (str, local_vars):
|
||||
def subst_vars (s, local_vars):
|
||||
"""Perform shell/Perl-style variable substitution on 'string'. Every
|
||||
occurrence of '$' followed by a name is considered a variable, and
|
||||
variable is substituted by the value found in the 'local_vars'
|
||||
|
@ -160,7 +160,7 @@ def subst_vars (str, local_vars):
|
|||
return os.environ[var_name]
|
||||
|
||||
try:
|
||||
return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, str)
|
||||
return re.sub(r'\$([a-zA-Z_][a-zA-Z_0-9]*)', _subst, s)
|
||||
except KeyError, var:
|
||||
raise ValueError, "invalid variable '$%s'" % var
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue