So first question, what should `configure.ac` test for, `python3`? And is the windows `py` still relevant?
I just tested the Python 3.9 installer and it still installs the `py` launcher by default but not the real binaries.So, nothing has changed and the `py` launcher still seems like a good default for the filetype configuration.  (Btw, this installer is executed via Wine.)
`gen_api_gtkdoc.py` has had lots of contributors, so anybody know if it will run on python3?
Of course it does. My Linux machine has no Python2 installed and I still can build Geany :). I'm not completely sure but I think the MSYS2 installation on my Windows machine also has no Python2 installed.
It should test for "python" first, and then execute python -V to get the version and test for "version > 3". If either fails, it should test for "python3" and accept any version. If that fails it should report that it requires a "python version > 3".
The Python PEP requires the versioned `python3` command to be installed even if `python` is also installed, so I don't see the point of such complications, especially trying to do it in autoconf m4. If we require python3 say so and test for it.
Let's check for and use `python3` generally. As Lex said, if Python3 is available, it is available as `python3` at the very least.
Unless we make a pure windows build using the Microsoft tool chain, we should not look for "py".
Don't mix different things here. The whole thing about the `py` check is for the default value in `data/filedefs/filetypes.python.in. This is a configuration file.
@eht16 which Python does the new windows build use, one in msys2 that is called `python3` or a Windows install that still needs `py`? Can we drop the `py`?
The `py` launcher is not used when building Geany. The MSYS2 Windows builds (natively on a Windows machine as well as the cross builds) use normal `python(|2|3)` commands, in all their variants but in the same way as on non-Windows. To be clear, the official Python installer nor the `py` launcher is necessary for building Geany. We use MSYS2 packages exclusively.