]> granicus.if.org Git - python/log
python
8 years agoPyEval_CallObjectWithKeywords() doesn't inc/decref
Victor Stinner [Mon, 22 Aug 2016 22:25:01 +0000 (00:25 +0200)]
PyEval_CallObjectWithKeywords() doesn't inc/decref

Issue #27809: PyEval_CallObjectWithKeywords() doesn't increment temporary the
reference counter of the args tuple (positional arguments). The caller already
holds a strong reference to it.

8 years agoIssue #27809: methodcaller_reduce() uses fast call
Victor Stinner [Mon, 22 Aug 2016 22:23:23 +0000 (00:23 +0200)]
Issue #27809: methodcaller_reduce() uses fast call

8 years agoIssue #27809: _csv: _call_dialect() uses fast call
Victor Stinner [Mon, 22 Aug 2016 22:21:34 +0000 (00:21 +0200)]
Issue #27809: _csv: _call_dialect() uses fast call

8 years agoIssue #27809: tzinfo_reduce() uses fast call
Victor Stinner [Mon, 22 Aug 2016 22:11:04 +0000 (00:11 +0200)]
Issue #27809: tzinfo_reduce() uses fast call

8 years agoIssue #27809: PyErr_SetImportError() uses fast call
Victor Stinner [Mon, 22 Aug 2016 22:04:41 +0000 (00:04 +0200)]
Issue #27809: PyErr_SetImportError() uses fast call

8 years agoAdd _PyErr_CreateException()
Victor Stinner [Mon, 22 Aug 2016 21:59:08 +0000 (23:59 +0200)]
Add _PyErr_CreateException()

Issue #27809: Helper function optimized to create an exception: use fastcall
whenever possible.

8 years agoIssue #27809: Use _PyObject_FastCallDict()
Victor Stinner [Mon, 22 Aug 2016 21:33:13 +0000 (23:33 +0200)]
Issue #27809: Use _PyObject_FastCallDict()

Modify:

* init_subclass()
* builtin___build_class__()

Fix also a bug in init_subclass(): check for super() failure.

8 years agoPyEval_CallObjectWithKeywords() uses fast call with kwargs
Victor Stinner [Mon, 22 Aug 2016 21:26:00 +0000 (23:26 +0200)]
PyEval_CallObjectWithKeywords() uses fast call with kwargs

Issue #27809. _PyObject_FastCallDict() now supports keyword arguments, and so
the args==NULL fast-path can also be used when kwargs is not NULL.

8 years agoIssue #27809: Use _PyObject_FastCallDict()
Victor Stinner [Mon, 22 Aug 2016 21:21:55 +0000 (23:21 +0200)]
Issue #27809: Use _PyObject_FastCallDict()

Modify:

* builtin_sorted()
* classmethoddescr_call()
* methoddescr_call()
* wrapperdescr_call()

8 years agoIssue #27809: Cleanup _PyEval_EvalCodeWithName()
Victor Stinner [Mon, 22 Aug 2016 21:17:30 +0000 (23:17 +0200)]
Issue #27809: Cleanup _PyEval_EvalCodeWithName()

* Rename nm to name
* PEP 7: add { ... } to if/else blocks

8 years ago_PyFunction_FastCallDict() supports keyword args
Victor Stinner [Mon, 22 Aug 2016 21:15:44 +0000 (23:15 +0200)]
_PyFunction_FastCallDict() supports keyword args

Issue #27809:

* Rename _PyFunction_FastCall() to _PyFunction_FastCallDict()
* Rename _PyCFunction_FastCall() to _PyCFunction_FastCallDict()
*  _PyFunction_FastCallDict() now supports keyword arguments

8 years agoRename _PyObject_FastCall() to _PyObject_FastCallDict()
Victor Stinner [Mon, 22 Aug 2016 20:48:54 +0000 (22:48 +0200)]
Rename _PyObject_FastCall() to _PyObject_FastCallDict()

Issue #27809:

* Rename _PyObject_FastCall() function to _PyObject_FastCallDict()
* Add _PyObject_FastCall(), _PyObject_CallNoArg() and _PyObject_CallArg1()
  macros calling _PyObject_FastCallDict()

8 years agoIssue #27587: Merge from 3.5
Berker Peksag [Mon, 22 Aug 2016 15:07:02 +0000 (18:07 +0300)]
Issue #27587: Merge from 3.5

8 years agoIssue #27587: Move null pointer check earlier in _PyState_AddModule()
Berker Peksag [Mon, 22 Aug 2016 15:05:56 +0000 (18:05 +0300)]
Issue #27587: Move null pointer check earlier in _PyState_AddModule()

This was found by PVS-Studio:

V595 The 'def' pointer was utilized before it was verified
against nullptr. Check lines: 286, 292. pystate.c 286

Initial patch by Christian Heimes.

8 years agoIssue #27829: libregrtest.save_env: flush stderr
Victor Stinner [Mon, 22 Aug 2016 12:29:54 +0000 (14:29 +0200)]
Issue #27829: libregrtest.save_env: flush stderr

Use flush=True to try to get a warning which is missing in buildbots.

Use also f-string to make the code shorter.

8 years agoCleanup libregrtest
Victor Stinner [Mon, 22 Aug 2016 12:28:52 +0000 (14:28 +0200)]
Cleanup libregrtest

* main.py: remove unused import
* runtest: simplify runtest_inner() parameters, reuse ns parameter

8 years agoIssue #27792: force int return type for modulo operations involving bools.
Mark Dickinson [Mon, 22 Aug 2016 11:24:46 +0000 (12:24 +0100)]
Issue #27792: force int return type for modulo operations involving bools.

8 years agoOptimize call to Python function without argument
Victor Stinner [Mon, 22 Aug 2016 10:29:42 +0000 (12:29 +0200)]
Optimize call to Python function without argument

Issue #27128. When a Python function is called with no arguments, but all
parameters have a default value: use default values as arguments for the fast
path.

8 years agoIssue #27539: Merge from 3.5.
Mark Dickinson [Mon, 22 Aug 2016 09:56:06 +0000 (10:56 +0100)]
Issue #27539: Merge from 3.5.

8 years agoIssue #27539: Fix unnormalised Fraction.__pow__ result for negative exponent and...
Mark Dickinson [Mon, 22 Aug 2016 09:50:53 +0000 (10:50 +0100)]
Issue #27539: Fix unnormalised Fraction.__pow__ result for negative exponent and base. Thanks Vedran Čačić.

8 years agoRemove main section that was only used during testing and development
Raymond Hettinger [Mon, 22 Aug 2016 03:52:26 +0000 (20:52 -0700)]
Remove main section that was only used during testing and development

8 years agoIssue #27819: Add more detail in What's New in 3.6.
Jason R. Coombs [Sun, 21 Aug 2016 20:09:27 +0000 (16:09 -0400)]
Issue #27819: Add more detail in What's New in 3.6.

8 years agoremove unused list of pgen srcs
Benjamin Peterson [Sun, 21 Aug 2016 19:53:09 +0000 (12:53 -0700)]
remove unused list of pgen srcs

8 years agoIssue #26984: int() now always returns an instance of exact int.
Serhiy Storchaka [Sun, 21 Aug 2016 17:03:08 +0000 (20:03 +0300)]
Issue #26984: int() now always returns an instance of exact int.

8 years agoIssue #21718: Merge from 3.5
Berker Peksag [Sun, 21 Aug 2016 16:41:38 +0000 (19:41 +0300)]
Issue #21718: Merge from 3.5

8 years agoIssue #21718: cursor.description is now available for queries using CTEs
Berker Peksag [Sun, 21 Aug 2016 16:38:47 +0000 (19:38 +0300)]
Issue #21718: cursor.description is now available for queries using CTEs

According to PEP 249, cursor.description must be
available for any SELECT statements, such as those
that use CTEs.

Backported from https://github.com/ghaering/pysqlite/commit/f67fa9c898a4713850e16934046f0fe2cba8c44c

Additional test cases added by me.

8 years agoUntabify Objects/longobject.c.
Mark Dickinson [Sun, 21 Aug 2016 09:33:36 +0000 (10:33 +0100)]
Untabify Objects/longobject.c.

8 years agoIssue #25604: Fix minor bug in integer true division, which could
Mark Dickinson [Sun, 21 Aug 2016 09:23:23 +0000 (10:23 +0100)]
Issue #25604: Fix minor bug in integer true division, which could
have caused off-by-one-ulp results on certain platforms.

8 years agoIssue #27662: add missing Misc/NEWS entry.
Mark Dickinson [Sun, 21 Aug 2016 08:31:44 +0000 (09:31 +0100)]
Issue #27662: add missing Misc/NEWS entry.

8 years agoIssue #27662: don't use PY_SIZE_MAX for overflow checking in List_New. Patch by Xiang...
Mark Dickinson [Sun, 21 Aug 2016 07:55:15 +0000 (08:55 +0100)]
Issue #27662: don't use PY_SIZE_MAX for overflow checking in List_New. Patch by Xiang Zhang.

8 years agoMerge #27782 fix from 3.5
Nick Coghlan [Sun, 21 Aug 2016 07:43:58 +0000 (17:43 +1000)]
Merge #27782 fix from 3.5

8 years agoIssue #27782: Fix m_methods handling in multiphase init
Nick Coghlan [Sun, 21 Aug 2016 07:41:56 +0000 (17:41 +1000)]
Issue #27782: Fix m_methods handling in multiphase init

Multi-phase extension module import now correctly allows the
``m_methods`` field to be used to add module level functions
to instances of non-module types returned from ``Py_create_mod``.

Patch by Xiang Zhang.

8 years agoIssue #27487: Merge runpy warning from 3.5
Martin Panter [Sun, 21 Aug 2016 05:07:35 +0000 (05:07 +0000)]
Issue #27487: Merge runpy warning from 3.5

8 years agoFix typo in IDLE News.
Terry Jan Reedy [Sun, 21 Aug 2016 04:20:35 +0000 (00:20 -0400)]
Fix typo in IDLE News.

8 years agoFix typo in IDLE News.
Terry Jan Reedy [Sun, 21 Aug 2016 04:18:55 +0000 (00:18 -0400)]
Fix typo in IDLE News.

8 years agoIssue #27487: Warn if submodule already imported before runpy execution
Martin Panter [Sun, 21 Aug 2016 04:07:58 +0000 (04:07 +0000)]
Issue #27487: Warn if submodule already imported before runpy execution

Also try to clarify the find_spec() error message.

8 years agoAdd 3.6.0a4 IDLE NEWS and idlelib/NEWS.txt items.
Terry Jan Reedy [Sun, 21 Aug 2016 01:43:00 +0000 (21:43 -0400)]
Add 3.6.0a4 IDLE NEWS and idlelib/NEWS.txt items.

8 years agoAdd 3.5.3 IDLE NEWS and idlelib/NEWS.txt items.
Terry Jan Reedy [Sun, 21 Aug 2016 01:41:03 +0000 (21:41 -0400)]
Add 3.5.3 IDLE NEWS and idlelib/NEWS.txt items.

8 years agoIssue #27714: Remove unneeded non-idempotent call that fails on retest.
Terry Jan Reedy [Sun, 21 Aug 2016 01:08:50 +0000 (21:08 -0400)]
Issue #27714: Remove unneeded non-idempotent call that fails on retest.

8 years agoIssue #27714: Remove unneeded non-idempotent call that fails on retest.
Terry Jan Reedy [Sun, 21 Aug 2016 01:07:38 +0000 (21:07 -0400)]
Issue #27714: Remove unneeded non-idempotent call that fails on retest.

8 years agoIssue #27819: Simply default to gztar for sdist formats by default on all platforms.
Jason R. Coombs [Sat, 20 Aug 2016 21:31:07 +0000 (17:31 -0400)]
Issue #27819: Simply default to gztar for sdist formats by default on all platforms.

8 years agoIssue #27692: Removed unnecessary NULL checks in exceptions.c.
Serhiy Storchaka [Sat, 20 Aug 2016 18:22:03 +0000 (21:22 +0300)]
Issue #27692: Removed unnecessary NULL checks in exceptions.c.
Patch by Xiang Zhang.

8 years agoissue26981: fix typo
Ethan Furman [Sat, 20 Aug 2016 15:56:40 +0000 (08:56 -0700)]
issue26981: fix typo

8 years agoissue26981: add _order_ compatibility shim to enum.Enum
Ethan Furman [Sat, 20 Aug 2016 14:19:31 +0000 (07:19 -0700)]
issue26981: add _order_ compatibility shim to enum.Enum

8 years agoFix more typos
Martin Panter [Sat, 20 Aug 2016 08:27:06 +0000 (08:27 +0000)]
Fix more typos

8 years agoMerge spelling fixes from 3.5
Martin Panter [Sat, 20 Aug 2016 08:26:16 +0000 (08:26 +0000)]
Merge spelling fixes from 3.5

8 years agoIssue #12982: Merge from 3.5
Berker Peksag [Sat, 20 Aug 2016 08:12:20 +0000 (11:12 +0300)]
Issue #12982: Merge from 3.5

8 years agoIssue #12982: Thanks to PEP 488, Python no longer creates .pyo files
Berker Peksag [Sat, 20 Aug 2016 08:11:52 +0000 (11:11 +0300)]
Issue #12982: Thanks to PEP 488, Python no longer creates .pyo files

8 years agoMinor spelling fixes
Martin Panter [Sat, 20 Aug 2016 08:03:06 +0000 (08:03 +0000)]
Minor spelling fixes

8 years agoIssue #27614: Merge test_docxmlrpc from 3.5
Martin Panter [Sat, 20 Aug 2016 07:39:15 +0000 (07:39 +0000)]
Issue #27614: Merge test_docxmlrpc from 3.5

8 years agoIssue #27787: Merge regrtest fixup from 3.5
Martin Panter [Sat, 20 Aug 2016 07:38:21 +0000 (07:38 +0000)]
Issue #27787: Merge regrtest fixup from 3.5

8 years agoIssue26988: remove AutoEnum
Ethan Furman [Sat, 20 Aug 2016 07:00:52 +0000 (00:00 -0700)]
Issue26988: remove AutoEnum

8 years agoIssue #27614: Avoid race in test_docxmlrpc server setup
Martin Panter [Sat, 20 Aug 2016 06:50:58 +0000 (06:50 +0000)]
Issue #27614: Avoid race in test_docxmlrpc server setup

8 years agoIssue #27787: Clean up weak references before checking for dangling threads
Martin Panter [Sat, 20 Aug 2016 06:50:14 +0000 (06:50 +0000)]
Issue #27787: Clean up weak references before checking for dangling threads

8 years agoIssue #27713: merge from 3.5
Ned Deily [Sat, 20 Aug 2016 02:13:14 +0000 (22:13 -0400)]
Issue #27713: merge from 3.5

8 years agoIssue #27713: Surpress spurious build warnings when updating importlib's
Ned Deily [Sat, 20 Aug 2016 02:12:06 +0000 (22:12 -0400)]
Issue #27713: Surpress spurious build warnings when updating importlib's
bootstrap files:
    Could not find platform dependent libraries <exec_prefix
    Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Patch by Xiang Zhang

8 years agoFix reference leak in tb_printinternal()
Victor Stinner [Sat, 20 Aug 2016 01:05:13 +0000 (03:05 +0200)]
Fix reference leak in tb_printinternal()

Issue #26823.

8 years agoIssue #27366: Fix init_subclass()
Victor Stinner [Sat, 20 Aug 2016 00:37:41 +0000 (02:37 +0200)]
Issue #27366: Fix init_subclass()

Handle PyTuple_New(0) failure.

8 years agopattern_subx() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 23:38:00 +0000 (01:38 +0200)]
pattern_subx() now uses fast call

Issue #27128.

8 years ago_elementtree: deepcopy() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 23:34:44 +0000 (01:34 +0200)]
_elementtree: deepcopy() now uses fast call

Issue #27128.

8 years agosys_pyfile_write_unicode() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 23:24:22 +0000 (01:24 +0200)]
sys_pyfile_write_unicode() now uses fast call

Issue #27128.

8 years agocall_trampoline() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 23:22:57 +0000 (01:22 +0200)]
call_trampoline() now uses fast call

Issue #27128.

8 years agoPyErr_PrintEx() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 22:57:43 +0000 (00:57 +0200)]
PyErr_PrintEx() now uses fast call

Issue #27128.

8 years agoimport_name() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 22:44:42 +0000 (00:44 +0200)]
import_name() now uses fast call

Issue #27128: import_name() now calls _PyObject_FastCall() to avoid the
creation of a temporary tuple.

8 years agoPyFile_WriteObject() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 22:44:04 +0000 (00:44 +0200)]
PyFile_WriteObject() now uses fast call

Issue #27128: PyFile_WriteObject() now calls _PyObject_FastCall() to avoid the
creation of a temporary tuple.

8 years agoIssue #27128: _pickle uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:59:15 +0000 (18:59 +0200)]
Issue #27128: _pickle uses fast call

Use _PyObject_FastCall() to avoid the creation of temporary tuple.

8 years agokeyobject_richcompare() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:52:35 +0000 (18:52 +0200)]
keyobject_richcompare() now uses fast call

Issue #27128: keyobject_richcompare() now calls _PyObject_FastCall() using a
small stack allocated on the C stack to avoid a temporary tuple.

8 years agocalliter_iternext() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:47:10 +0000 (18:47 +0200)]
calliter_iternext() now uses fast call

Issue #27128: calliter_iternext() now calls _PyObject_FastCall() to avoid a
temporary empty tuple.

Cleanup also the code to reduce the indentation level.

8 years agoslot_tp_iter() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:41:02 +0000 (18:41 +0200)]
slot_tp_iter() now uses fast call

Issue #27128: slot_tp_iter() now calls _PyObject_FastCall() to avoid a
temporary empty tuple.

8 years agoslot_nb_bool() now uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:28:25 +0000 (18:28 +0200)]
slot_nb_bool() now uses fast call

Issue #27128: slot_nb_bool() now calls _PyObject_FastCall() to avoid a
temporary empty tuple to call the slot function.

8 years agoIssue #27128: Cleanup slot_nb_bool()
Victor Stinner [Fri, 19 Aug 2016 16:26:05 +0000 (18:26 +0200)]
Issue #27128: Cleanup slot_nb_bool()

Use an error label to reduce the level of indentation.

8 years agoIssue #27128: slot_sq_item() uses fast call
Victor Stinner [Fri, 19 Aug 2016 16:19:42 +0000 (18:19 +0200)]
Issue #27128: slot_sq_item() uses fast call

slot_sq_item() now calls _PyObject_FastCall() to avoid the creation of a
temporary tuple of 1 item to pass the 'item' argument to the slot function.

8 years agoIssue #27128: Cleanup slot_sq_item()
Victor Stinner [Fri, 19 Aug 2016 16:17:37 +0000 (18:17 +0200)]
Issue #27128: Cleanup slot_sq_item()

* Invert condition of test to avoid levels of indentation
* Remove useless Py_XDECREF(args) in the error block
* Replace Py_XDECREF(func) with Py_DECREF(func) in the error block: func cannot
  be NULL when reaching the error block

8 years agocall_method() and call_maybe() now use fast call
Victor Stinner [Fri, 19 Aug 2016 16:05:37 +0000 (18:05 +0200)]
call_method() and call_maybe() now use fast call

Issue #27128. The call_method() and call_maybe() functions of typeobject.c now
use fast call for empty format string to avoid the creation of a temporary
empty tuple.

8 years agoCleanup call_method() and call_maybe()
Victor Stinner [Fri, 19 Aug 2016 16:01:41 +0000 (18:01 +0200)]
Cleanup call_method() and call_maybe()

Issue #27128. Move va_start/va_end around Py_VaBuildValue().

8 years agoMerge 3.5 (fix refleak in call_maybe())
Victor Stinner [Fri, 19 Aug 2016 15:58:30 +0000 (17:58 +0200)]
Merge 3.5 (fix refleak in call_maybe())

8 years agoFix a refleak in call_maybe()
Victor Stinner [Fri, 19 Aug 2016 15:58:12 +0000 (17:58 +0200)]
Fix a refleak in call_maybe()

Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.

8 years agoregrtest: replace "Result:" with "Tests result:"
Victor Stinner [Fri, 19 Aug 2016 15:54:25 +0000 (17:54 +0200)]
regrtest: replace "Result:" with "Tests result:"

8 years agoMerge 3.5 (fix refleak in call_method)
Victor Stinner [Fri, 19 Aug 2016 15:52:08 +0000 (17:52 +0200)]
Merge 3.5 (fix refleak in call_method)

8 years agoFix a refleak in call_method()
Victor Stinner [Fri, 19 Aug 2016 15:51:49 +0000 (17:51 +0200)]
Fix a refleak in call_method()

Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.

8 years agocontains and rich compare slots use fast call
Victor Stinner [Fri, 19 Aug 2016 15:48:51 +0000 (17:48 +0200)]
contains and rich compare slots use fast call

Issue #27128. Modify slot_sq_contains() and slot_tp_richcompare() to use fast
call to avoid a temporary tuple to pass a single positional parameter.

8 years agoFix PyObject_Call() parameter names
Victor Stinner [Fri, 19 Aug 2016 15:12:23 +0000 (17:12 +0200)]
Fix PyObject_Call() parameter names

Issue #27128: arg=>args, kw=>kwargs.

Same change for PyEval_CallObjectWithKeywords().

8 years agoAvoid call_function_tail() for empty format str
Victor Stinner [Fri, 19 Aug 2016 15:04:54 +0000 (17:04 +0200)]
Avoid call_function_tail() for empty format str

Issue #27128, PyObject_CallFunction(), _PyObject_FastCall() and callmethod():
if the format string of parameters is empty, avoid the creation of an empty
tuple: call _PyObject_FastCall() without parameters.

8 years agoPEP 7: add {...} around null_error() in abstract.c
Victor Stinner [Fri, 19 Aug 2016 14:59:55 +0000 (16:59 +0200)]
PEP 7: add {...} around null_error() in abstract.c

Issue #27128.

8 years agoIssue #27801: Skip test_update_lines_cols when update_lines_cols() is not available
Berker Peksag [Fri, 19 Aug 2016 14:59:01 +0000 (17:59 +0300)]
Issue #27801: Skip test_update_lines_cols when update_lines_cols() is not available

8 years agoCleanup callmethod()
Victor Stinner [Fri, 19 Aug 2016 14:56:49 +0000 (16:56 +0200)]
Cleanup callmethod()

Make callmethod() less weird: don't decrement func reference counter,
the caller is now responsible to do that.

Issue #27128.

8 years agoCleanup call_function_tail()
Victor Stinner [Fri, 19 Aug 2016 14:50:49 +0000 (16:50 +0200)]
Cleanup call_function_tail()

Make call_function_tail() less weird: don't decrement args reference counter,
the caller is now responsible to do that. The caller now also checks if args is
NULL.

Issue #27128.

8 years agocall_function_tail() uses fast call
Victor Stinner [Fri, 19 Aug 2016 14:44:19 +0000 (16:44 +0200)]
call_function_tail() uses fast call

Issue #27128: Modify call_function_tail() to use _PyObject_FastCall() when args
is not a tuple to avoid the creation of a temporary tuple.

call_function_tail() is used by:

* PyObject_CallFunction()
* PyObject_CallMethod()
* _PyObject_CallMethodId()

8 years agoPyEval_CallObjectWithKeywords() uses fast call
Victor Stinner [Fri, 19 Aug 2016 14:42:42 +0000 (16:42 +0200)]
PyEval_CallObjectWithKeywords() uses fast call

Issue #27128: Modify PyEval_CallObjectWithKeywords() to use
_PyObject_FastCall() when args==NULL and kw==NULL. It avoids the creation of a
temporary empty tuple for positional arguments.

8 years agoAdd _PyObject_FastCall()
Victor Stinner [Fri, 19 Aug 2016 14:11:43 +0000 (16:11 +0200)]
Add _PyObject_FastCall()

Issue #27128: Add _PyObject_FastCall(), a new calling convention avoiding a
temporary tuple to pass positional parameters in most cases, but create a
temporary tuple if needed (ex: for the tp_call slot).

The API is prepared to support keyword parameters, but the full implementation
will come later (_PyFunction_FastCall() doesn't support keyword parameters
yet).

Add also:

* _PyStack_AsTuple() helper function: convert a "stack" of parameters to
  a tuple.
* _PyCFunction_FastCall(): fast call implementation for C functions
* _PyFunction_FastCall(): fast call implementation for Python functions

8 years agoIssue #27801: Merge from 3.5
Berker Peksag [Fri, 19 Aug 2016 14:59:31 +0000 (17:59 +0300)]
Issue #27801: Merge from 3.5

8 years agoFix a clang warning in grammar.c
Victor Stinner [Fri, 19 Aug 2016 13:11:56 +0000 (15:11 +0200)]
Fix a clang warning in grammar.c

Clang is smarter than GCC and emits a warning for dead code after a function
declared with __attribute__((__noreturn__)) (Py_FatalError).

8 years agoIssue #12946: Remove dead code in PyModule_GetDict
Berker Peksag [Fri, 19 Aug 2016 09:00:13 +0000 (12:00 +0300)]
Issue #12946: Remove dead code in PyModule_GetDict

PyModule_NewObject already sets md_dict to PyDict_New():

    m->md_dict = PyDict_New();

8 years agoIssue #12946: Merge from 3.5
Berker Peksag [Fri, 19 Aug 2016 08:52:08 +0000 (11:52 +0300)]
Issue #12946: Merge from 3.5

8 years agoIssue #12946: Document that PyModule_GetDict can fail in some cases
Berker Peksag [Fri, 19 Aug 2016 08:51:39 +0000 (11:51 +0300)]
Issue #12946: Document that PyModule_GetDict can fail in some cases

8 years agoIssue #27157: Make only type() itself accept the one-argument form
Berker Peksag [Fri, 19 Aug 2016 08:04:07 +0000 (11:04 +0300)]
Issue #27157: Make only type() itself accept the one-argument form

Patch by Eryk Sun and Emanuel Barry.

8 years agoRewrap long lines in Misc/NEWS.
R David Murray [Fri, 19 Aug 2016 01:45:12 +0000 (21:45 -0400)]
Rewrap long lines in Misc/NEWS.

Also moved news item for #2466 to the correct place.

8 years agoRewrap long lines in Misc/NEWS.
R David Murray [Fri, 19 Aug 2016 01:40:48 +0000 (21:40 -0400)]
Rewrap long lines in Misc/NEWS.

8 years agoMerge: #2466: ismount now recognizes mount points user can't access.
R David Murray [Fri, 19 Aug 2016 01:31:13 +0000 (21:31 -0400)]
Merge: #2466: ismount now recognizes mount points user can't access.

8 years ago#2466: ismount now recognizes mount points user can't access.
R David Murray [Fri, 19 Aug 2016 01:27:48 +0000 (21:27 -0400)]
#2466: ismount now recognizes mount points user can't access.

Patch by Robin Roth, reviewed by Serhiy Storchaka, comment wording
tweaked by me.