On 01/16/2014 11:46 AM, Yury Selivanov wrote:
There is just one reason for having it in C -- having it integrated in the build process, so that the generated output/sidefiles are not in the repository.
It's possible to integrate Argument Clinic into the build process without rewriting it in C. We could write a small C program that looked on your path for a suitable Python 3 interpreter, and ran Tools/clinic/clinic.py under that interpreter. If it failed to find such an interpreter it could print a warning message. Alternatively, we could add a checksum for the Clinic *input* block to the output somewhere. This would give the C tool the ability to check and see if the Clinic input had changed, and only bother to run clinic.py if it had. However, the generated output is still going to be checked in to the repository regardless. //arry/