Permalink
Commits on Feb 10, 2017
  1. Backed out changeset f23fa1f7b68f

    vstinner committed Feb 10, 2017
    Sorry, I didn't want to push this change before the review :-( I was pushing a
    change into the 2.7 branch.
    
    --HG--
    extra : amend_source : 5ccadaa16d879d49694e6aa53923af3dadc82e52
  2. Issue #29465: Add Objects/call.c file

    vstinner committed Feb 10, 2017
    * Move all functions to call objects in a new Objects/call.c file.
    * Rename fast_function() to _PyFunction_FastCallKeywords().
    * Copy null_error() from Objects/abstract.c
    * Inline type_error() in call.c to not have to copy it, it was only
      called once.
    * Export _PyEval_EvalCodeWithName() since it is now called
      from call.c.
  3. Merge 3.6

    vstinner committed Feb 10, 2017
  4. Fix test_datetime on Windows

    vstinner committed Feb 10, 2017
    Issue #29100: On Windows, datetime.datetime.fromtimestamp(min_ts) fails with an
    OSError in test_timestamp_limits().
    
    --HG--
    branch : 3.6
  5. Merge 3.6

    vstinner committed Feb 10, 2017
  6. Fix test_datetime on system with 32-bit time_t

    vstinner committed Feb 10, 2017
    Issue #29100: Catch OverflowError in the new test_timestamp_limits() test.
    
    --HG--
    branch : 3.6
  7. Merge 3.6

    vstinner committed Feb 10, 2017
  8. Fix datetime.fromtimestamp(): check bounds

    vstinner committed Feb 10, 2017
    Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python
    3.6.0: check minimum and maximum years.
    
    --HG--
    branch : 3.6
  9. Merge 3.6 (fix #29519)

    ambv committed Feb 10, 2017
  10. Merge 3.5 (fix #29519)

    ambv committed Feb 10, 2017
    --HG--
    branch : 3.6
  11. Fix #29519: weakref spewing exceptions during interp finalization

    ambv committed Feb 10, 2017
    --HG--
    branch : 3.5
  12. merge 3.6

    benjaminp committed Feb 10, 2017
  13. massage English for -X descriptions a bit

    benjaminp committed Feb 10, 2017
    --HG--
    branch : 3.6
    extra : rebase_source : ec505e5a6f67b8de99356fe82a1a0fbe66e58eff
Commits on Feb 9, 2017
  1. Issue #29507: Fix _PyObject_CallFunctionVa()

    vstinner committed Feb 9, 2017
    is_size_t test was reversed. Bug spotted by INADA Naoki.
  2. Issue #29507: Update test_exceptions

    vstinner committed Feb 9, 2017
    test_unraisable() of test_exceptions expects that PyErr_WriteUnraisable(method)
    fails on repr(method).
    
    Before the previous change (7b8df4a5d81d), slot_tp_finalize() called
    PyErr_WriteUnraisable() with a PyMethodObject. In this case, repr(method) calls
    repr(self) which is BrokenRepr.__repr__() and the calls raises a new exception.
    
    After the previous change, slot_tp_finalize() uses an unbound method: repr() is
    called on a regular __del__() method which doesn't call repr(self). repr()
    doesn't fail anymore.
    
    PyErr_WriteUnraisable() doesn't call __repr__() anymore, so remove BrokenRepr
    unit test.
    
    --HG--
    extra : amend_source : c3b9b53716b52e68eec73f29ac7ce7a60e7080c3
  3. Optimize slots: avoid temporary PyMethodObject

    vstinner committed Feb 9, 2017
    Issue #29507: Optimize slots calling Python methods. For Python methods, get
    the unbound Python function and prepend arguments with self, rather than
    calling the descriptor which creates a temporary PyMethodObject.
    
    Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python
    method with self. It avoids the creation of a temporary tuple to pass
    positional arguments.
    
    Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python
    slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented
    in Python:
    
    Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%)
    
    Co-Authored-by: INADA Naoki <songofacandy@gmail.com>
    
    --HG--
    extra : amend_source : b4ac783c105f2e8712aca9add46d18450c87a6a7
  4. Null merge

    serhiy-storchaka committed Feb 9, 2017
  5. Merge issue #26355 fix from Python 3.5

    ncoghlan committed Feb 9, 2017
    --HG--
    branch : 3.6
  6. Issue #26355: Specify canonical URLs in docs pages

    ncoghlan committed Feb 9, 2017
    Add canonical header link on each page to corresponding major
    version of the documentation.
    
    Patch by Matthias Bussonnier.
    
    --HG--
    branch : 3.5
  7. Fix PyCFunction_Call() performance issue

    vstinner committed Feb 9, 2017
    Issue #29259, #29465: PyCFunction_Call() doesn't create anymore a redundant
    tuple to pass positional arguments for METH_VARARGS.
    
    Add a new cfunction_call() subfunction.
Commits on Feb 8, 2017
  1. support: temp_dir() and change_cwd() uses repr() in error message

    vstinner committed Feb 8, 2017
    Serhiy Storshaka pointed me that str(path) can emit a BytesWarning: use
    repr(path) instead.
  2. Fix refleaks if Py_EnterRecursiveCall() fails

    vstinner committed Feb 8, 2017
    Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails.
    
    --HG--
    extra : amend_source : e5c3f9331f31bed25fa38683956b1e2987b31eed
    extra : histedit_source : 337d98687609be02774d3dd2b9adeb341934df24
  3. Fix regrtest -j0 -R output

    vstinner committed Feb 8, 2017
    Write also dots into stderr, instead of stdout.
    
    --HG--
    extra : histedit_source : f772f4f7c01690c5ff3a9b3e33c33ce3aa97ae2e
  4. support: add more info on temp_dir() and change_cwd() failure

    vstinner committed Feb 8, 2017
    Log the OSError exception message.
  5. Issue #29306: Fix usage of Py_EnterRecursiveCall()

    vstinner committed Feb 8, 2017
    * *PyCFunction_*Call*() functions now call Py_EnterRecursiveCall().
    * PyObject_Call() now calls directly _PyFunction_FastCallDict() and
      PyCFunction_Call() to avoid calling Py_EnterRecursiveCall() twice per
      function call
    
    --HG--
    extra : amend_source : 2bdea491c72e92e757546df6d1a0c41000853996
Commits on Feb 7, 2017
  1. Issue #29441: Merge from 3.5

    berkerpeksag committed Feb 7, 2017
    --HG--
    branch : 3.6
  2. Issue #29441: Update examples to use async and await keywords in asyn…

    berkerpeksag committed Feb 7, 2017
    …cio-task.rst
    
    --HG--
    branch : 3.5
  3. Issue #29314: Merge with 3.5

    Mariatta committed Feb 7, 2017
    --HG--
    branch : 3.6
  4. Issue #29314: Set the stacklevel to two in asyncio.async() Deprecatio…

    Mariatta committed Feb 7, 2017
    …n Warning
    
    --HG--
    branch : 3.5