# HG changeset patch # User Matt Harbison # Date 1536886493 14400 # Node ID 47ac5d93d7080528b70fb9e6e41756ca0d9e1b27 # Parent a407f900939257680a59c5279e481cf92605b98d 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. diff -r a407f9009392 -r 47ac5d93d708 mercurial/windows.py --- 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