MERGE: Closes #14768: os.path.expanduser('~/a') doesn't works correctly when HOME is '/'
This commit is contained in:
commit
b58ab2c6aa
|
@ -266,8 +266,8 @@ def expanduser(path):
|
|||
root = b'/'
|
||||
else:
|
||||
root = '/'
|
||||
userhome = userhome.rstrip(root) or userhome
|
||||
return userhome + path[i:]
|
||||
userhome = userhome.rstrip(root)
|
||||
return (userhome + path[i:]) or root
|
||||
|
||||
|
||||
# Expand paths containing shell variable substitutions.
|
||||
|
|
|
@ -300,6 +300,7 @@ class PosixPathTest(unittest.TestCase):
|
|||
with support.EnvironmentVarGuard() as env:
|
||||
env['HOME'] = '/'
|
||||
self.assertEqual(posixpath.expanduser("~"), "/")
|
||||
self.assertEqual(posixpath.expanduser("~/foo"), "/foo")
|
||||
# expanduser should fall back to using the password database
|
||||
del env['HOME']
|
||||
home = pwd.getpwuid(os.getuid()).pw_dir
|
||||
|
|
|
@ -335,6 +335,7 @@ Andrew Francis
|
|||
Martin Franklin
|
||||
Bruce Frederiksen
|
||||
Robin Friedrich
|
||||
Bradley Froehle
|
||||
Ivan Frohne
|
||||
Matthias Fuchs
|
||||
Jim Fulton
|
||||
|
|
|
@ -139,6 +139,8 @@ Library
|
|||
|
||||
- Issue #13815: TarFile.extractfile() now returns io.BufferedReader objects.
|
||||
|
||||
- Issue #14768: os.path.expanduser('~/a') doesn't works correctly when HOME is '/'.
|
||||
|
||||
- Issue #14371: Support bzip2 in zipfile module. Patch by Serhiy Storchaka.
|
||||
|
||||
- Issue #13183: Fix pdb skipping frames after hitting a breakpoint and running
|
||||
|
|
Loading…
Reference in New Issue