On 01/20/2014 01:47 PM, Ethan Furman wrote:
So, if I understand correctly, by moving into a sidefile approach, we will have go to a two-pass system? Once to ACify the file and run Argument Clinic on it, and then again to add in the macros?

Is this basically the same as it was with the buffer approach?

Let me paraphrase this to add context, to see if I understand your question correctly.

When you add the Argument Clinic blob to a function, Argument Clinic generates some C code. That code contains a parsing function, an "impl" function (which you implement), and a macro to paste into the correct slot in the PyMethodDef structure. The name of the macro is full_name_of_function.upper() + "_METHODDEF". However, it can be inconvenient to guess what the actual macro name is, so most people fill out the structure, run clinic.py on the C file, then go hunting for the METHODDEF macro definition to get the name. This is what you refer to as "a two-pass system": edit the file, run Argument Clinic on it, then edit it to put the METHODDEF macro in the right spot.

If that's what you meant, then: yes, and yes. It's possible to skip the second pass if you're comfortable guessing the generated name of the macro, but that's just one more thing for people to remember, and hunting for it is easier. And yes, whether it's original output or buffer or "clinic file" (I'm trying to deprecate the name "side file", it was a dumb idea), the destination Argument Clinic writes to doesn't dramatically alter what it writes.


//arry/

p.s. Your saying "macros" threw me off, as there's only one macro.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to