[Python-Dev] .clinic.c vs .c.clinic

Georg Brandl g.brandl at gmx.net
Mon Jan 20 21:14:06 CET 2014


Am 20.01.2014 21:05, schrieb Ethan Furman:
> On 01/20/2014 11:46 AM, Brett Cannon wrote:
>> On Mon, Jan 20, 2014 at 2:09 PM, Barry Warsaw wrote:
>>> On Jan 20, 2014, at 12:05 AM, Larry Hastings wrote:
>>>
>>>> Contestant 5: "Put in __clinic__ directory, add .h"
>>>>
>>>>    foo.c -> __clinic__/foo.c.h
>>>>    foo.h -> __clinic__/foo.h.h
>>>
>>> This is cached output right?
>>
>> Yes, it's generated entirely based on data provided
>>  in original source file.
>>
>>> IOW, it can be regenerated if it's missing.  If so,
>>>  this seems like a nice parallel to __pycache__.
>>>  It's mostly hidden until you want to go looking for it.
>>
>> More-or-less. The key difference is you will most likely
>> look at the generated file *once* to copy-and-paste the
>> relevant macros to paste into your source file for use
>>  (e.g. the relevant MethodDef stuff). But it's a one-time
>> thing that never has to be done again as long as you don't
>>  rename a function or method.
> 
> Won't AC put those macros in the source file for you?

No, currently it wouldn't know where to look.  And that's a good thing
because AC never should modify anything not inbetween "clinic start
generated code" and "clinic end generated code".

But Larry has said that in the future the wohl PyMethodDef array might
be generated by AC in a separate block (that you have to indicate in
the file as well).

Georg





More information about the Python-Dev mailing list