• Guido van Rossum's avatar
    PyObject_CallObject(): this may as well call PyEval_CallObject() · 5560b749
    Guido van Rossum yazdı
    directly, as the only thing done here (replace NULL args with an empty
    tuple) is also done there.
    
    XXX Maybe we should take one step further and equate the two at the
    macro level?  That's harder though because PyEval_Call* is declared in
    a header that's not included standard.  But it is silly that
    PyObject_CallObject calls PyEval_CallObject which calls back to
    PyObject_Call.  Maybe PyEval_CallObject should be moved into this file
    instead?  All I know is that there are too many call APIs!  The
    differences between PyObject_Call and PyEval_CallObjectWithKeywords is
    that the latter allows args to be NULL, and does explicit type checks
    for args and kwds.
    5560b749
abstract.c 38.6 KB