Steps to reproduce (core):
- Set up an editor for .txt
- Run python pwb.py pywikibot/config2.py
The 'editor' config variable should be set to the editor set up for .txt. i.e.
pywikibot configuration tries to automatically detect a text editor to use, using the Windows registry key Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids
That exists for WinXP and later versions, and documentation can be found here:
As can be seen in that documentation, the key name is relevant, and the key value is always REG_NONE (zero-length binary value)
However to find the appropriate progid within that key, pywikbot uses _winreg.EnumValue(key, 1)
As can be seen at https://docs.python.org/2/library/_winreg.html#_winreg.EnumValue , the '1' in the second parameter returns "An object that holds the value data, and whose type depends on the underlying registry type".
Changing it to _winreg.EnumValue(key, 0) causes _winreg to return "A string that identifies the value name" and suddenly the detection works correctly.
This has existed since the first version in compat/ in 2007
However, it doesnt really work as one would expect, since it hooks onto .txt, rather than .py