[Python-Dev] The docstring hack for signature information has to go
Georg Brandl
g.brandl at gmx.net
Wed Feb 5 17:04:12 CET 2014
Am 05.02.2014 14:52, schrieb "Martin v. Löwis":
> Am 03.02.14 15:43, schrieb Larry Hastings:
>> A: We create a PyMethodDefEx structure with an extra field: "const char
>> *signature". We add a new METH_SIGNATURE (maybe just METH_SIG?) flag to
>> the flags, indicating that this is an extended structure. When
>> iterating over the PyMethodDefs, we know how far to advance the pointer
>> based on this flag.
>>
>> B: Same as A, but we add three unused pointers (void *reserved1 etc) to
>> PyMethodDefEx to give us some room to grow.
>>
>> C: Same as A, but we add two fields to PyMethodDefEx. The second new
>> field identifies the "version" of the structure, telling us its size
>> somehow. Like the lStructSize field of the OPENFILENAME structure in
>> Win32. I suspect YAGNI.
>
> D: Add a new type slot for method signatures. This would be a
> tp_signature field, along with a new slot id Py_tp_signature. The
> signature field itself could be
>
> struct PyMethodSignature {
> char *method_name;
> char *method_signature;
> };
Mostly unrelated question while seeing the "char *" here: do we (or do we
want to) support non-ASCII names for functions implemented in C?
Georg
More information about the Python-Dev
mailing list