Mercurial > hg-stable
changeset 39659:47ac5d93d708
windows: open registry keys using unicode names
Python3 complained it must be str. While here, use a context manager to close
the key- it wouldn't wrap at 80 characters the old way, and would have had to
move anyway.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Thu, 13 Sep 2018 20:54:53 -0400 |
parents | a407f9009392 |
children | 3b421154d2ca |
files | mercurial/windows.py |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/windows.py Thu Sep 13 00:39:02 2018 -0400 +++ b/mercurial/windows.py Thu Sep 13 20:54:53 2018 -0400 @@ -554,9 +554,10 @@ scope = (scope,) for s in scope: try: - val = winreg.QueryValueEx(winreg.OpenKey(s, key), valname)[0] - # never let a Unicode string escape into the wild - return encoding.unitolocal(val) + with winreg.OpenKey(s, encoding.strfromlocal(key)) as hkey: + val = winreg.QueryValueEx(hkey, valname)[0] + # never let a Unicode string escape into the wild + return encoding.unitolocal(val) except EnvironmentError: pass