diff -r d6b7c4e77bb4 -r ab04ce6f0674 mercurial/windows.py --- a/mercurial/windows.py Sat Oct 13 16:57:28 2018 +0200 +++ b/mercurial/windows.py Fri Oct 12 17:34:45 2018 -0400 @@ -583,7 +583,8 @@ for s in scope: try: with winreg.OpenKey(s, encoding.strfromlocal(key)) as hkey: - val = winreg.QueryValueEx(hkey, valname)[0] + name = valname and encoding.strfromlocal(valname) or valname + val = winreg.QueryValueEx(hkey, name)[0] # never let a Unicode string escape into the wild return encoding.unitolocal(val) except EnvironmentError: