• INADA Naoki's avatar
    bpo-29548: Recommend PyObject_Call APIs over PyEval_Call APIs. (GH-75) · aa289a59
    INADA Naoki authored
    PyEval_Call* APIs are not documented and they doesn't respect PY_SSIZE_T_CLEAN.
    So add comment block which recommends PyObject_Call* APIs to ceval.h.
    
    This commit also changes PyEval_CallMethod and PyEval_CallFunction
    implementation same to PyObject_CallMethod and PyObject_CallFunction
    to reduce future maintenance cost.  Optimization to avoid temporary
    tuple are copied too.
    
    PyEval_CallFunction(callable, "i", (int)i) now calls callable(i) instead of
    raising TypeError.  But accepting this edge case is backward compatible.
    aa289a59
ceval.h 8.37 KB