Am 10.02.2011 15:26, schrieb Mark Shannon: > M.-A. Lemburg wrote: >> Mark Shannon wrote: >>> Nick Coghlan wrote: >>>> On Thu, Feb 10, 2011 at 8:16 PM, Mark Shannon <ma...@dcs.gla.ac.uk> >>>> wrote: >>>>> Doing a search for the regex: "PyAPI_FUNC\([^)]*\) *Py" in .h files, >>>>> which should match API functions (functions starting _Py are >>>>> excluded) gives >>>>> the following result: >>>>> >>>>> Version matches >>>>> 3.0 717 >>>>> 3.1.3 728 >>>>> 3.2b2 743 >>>>> >>>>> It would appear the API bloat is real, >>>>> not just an artefact of updated docs. >>>> Since it doesn't account for #ifdef, a naive count like that isn't a >>>> valid basis for comparison. >>>> >>> OK. How about this: >>> >>> egrep -ho '#.*PyAPI_FUNC\([^)]*\)( |\n)*Py\w+' Include/*.h >>> finds no matches. >>> >>> egrep -ho 'PyAPI_FUNC\([^)]*\)( |\n)*Py\w+' Include/*.h | sort -u >>> >>> This finds all matches and removes duplicates, so anything defined >>> multiple time in branches of #ifdef blocks, will only be counted once. >>> >>> Version matches >>> 3.0 714 >>> 3.1.3 725 >>> 3.2b2 739 >> >> Given these numbers, I don't think the subject line really >> captures the problem accurately enough ... a 2% increase >> in number of API function per release can hardly be called >> API bloat :-) >> >>> So given, the revised numbers; >>> >>> The "what's new for 3.2" API section: >>> http://docs.python.org/dev/py3k/whatsnew/3.2.html#build-and-c-api-changes >>> lists 6 new functions, yet 14 have been added between 3.1.3 and 3.2b2. >> >> Could you identify the ones that are not yet documented ? >> >> That would be useful. > > Here's the details: > > The following API functions were removed from 3.1.3: > > PyAST_Compile
This is not correct, for example: this function is still present as a #define (and there is also a stub implementation so that extensions compiled against earlier versions can import the symbol). Georg _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com