summaryrefslogtreecommitdiffstats
path: root/Python/bltinmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-30950: Convert round() to Argument Clinic. (#2740)Serhiy Storchaka2017-11-151-19/+16
|
* Add the const qualifier to "char *" variables that refer to literal strings. ↵Serhiy Storchaka2017-11-111-1/+1
| | | | (#4370)
* PEP 553 built-in breakpoint() function (bpo-31353) (#3355)Barry Warsaw2017-10-051-0/+23
| | | Implement PEP 553, built-in breakpoint() with support from sys.breakpointhook(), along with documentation and tests. Closes bpo-31353
* bpo-31588: Validate return value of __prepare__() methods (GH-3764)Oren Milman2017-09-271-0/+7
| | | | | | | | | | Class execution requires that __prepare__() methods return a proper execution namespace. Check for that immediately after calling __prepare__(), rather than passing it through to the code execution machinery and potentially triggering SystemError (in debug builds) or a cryptic TypeError (in release builds). Patch by Oren Milman.
* bpo-28411: Isolate PyInterpreterState.modules (#3575)Eric Snow2017-09-141-1/+1
| | | | | A bunch of code currently uses PyInterpreterState.modules directly instead of PyImport_GetModuleDict(). This complicates efforts to make changes relative to sys.modules. This patch switches to using PyImport_GetModuleDict() uniformly. Also, a number of related uses of sys.modules are updated for uniformity for the same reason. Note that this code was already reviewed and merged as part of #1638. I reverted that and am now splitting it up into more focused parts.
* bpo-31404: Revert "remove modules from Py_InterpreterState (#1638)" (#3565)Eric Snow2017-09-141-1/+1
| | | PR #1638, for bpo-28411, causes problems in some (very) edge cases. Until that gets sorted out, we're reverting the merge. PR #3506, a fix on top of #1638, is also getting reverted.
* bpo-28411: Remove "modules" field from Py_InterpreterState. (#1638)Eric Snow2017-09-041-1/+1
| | | sys.modules is the one true source.
* bpo-31236: Improved some error messages of min() and max().Oren Milman2017-08-211-2/+3
|
* bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make (#1955)Serhiy Storchaka2017-07-031-15/+5
| | | | | the bare METH_FASTCALL be used for functions with positional-only parameters.
* bpo-20627: Fix error message when keyword arguments are used (#2115)Sylvain2017-06-151-6/+6
|
* bpo-30592: Fixed error messages for some builtins. (#1996)Serhiy Storchaka2017-06-081-3/+3
| | | | | Error messages when pass keyword arguments to some builtins that don't support keyword arguments contained double parenthesis: "()()". The regression was introduced by bpo-30534.
* Add reference to help('FORMATTING') in format() builtin (GH-166)Amit Kumar2017-05-291-2/+4
|
* bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096)Serhiy Storchaka2017-04-191-1/+2
| | | | | | raised an error. Replace them with using concrete types API that never fails if appropriate.
* bpo-29838: Add asserts for checking results of sq_length and mq_length ↵Serhiy Storchaka2017-04-161-1/+3
| | | | | | slots. (#700) Negative result should be returned only when an error is set.
* bpo-8256: Fixed possible failing or crashing input() (#517)Serhiy Storchaka2017-03-121-5/+16
| | | | | if attributes "encoding" or "errors" of sys.stdin or sys.stdout are not set or are not strings.
* bpo-24037: Add Argument Clinic converter `bool(accept={int})`. (#485)Serhiy Storchaka2017-03-121-2/+2
|
* bpo-29556: Remove unused #include <langinfo.h> (#98)Yen Chi Hsuan2017-02-151-4/+0
| | | | | | bltinmodule.c: Added in b744ba1 and no longer necessary since d64e8a7 posixmodule.c: Added in d1cd4d4 and no longer necessary since efb00c0 pythonrun.c: Added in 73d538b and no longer necessary since d600951 sysmodule.c: Added in 5467d4c and no longer necessary since a2c17c5
* Issue #26729: Fixed __text_signature__ for sorted().Serhiy Storchaka2017-01-231-1/+1
|\ | | | | | | Patch by Erik Welch.
| * Issue #26729: Fixed __text_signature__ for sorted().Serhiy Storchaka2017-01-231-1/+1
| |\ | | | | | | | | | Patch by Erik Welch.
| | * Issue #26729: Fixed __text_signature__ for sorted().Serhiy Storchaka2017-01-231-1/+1
| | | | | | | | | | | | Patch by Erik Welch.
* | | Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-231-4/+2
| | | | | | | | | | | | possible. Patch is writen with Coccinelle.
* | | Issue #29331: Simplified argument parsing in sorted() and list.sort().Serhiy Storchaka2017-01-211-9/+5
| | |
* | | Issue #29327: Fixed a crash when pass the iterable keyword argument to sorted().Serhiy Storchaka2017-01-201-1/+2
|\ \ \ | |/ /
| * | Issue #29327: Fixed a crash when pass the iterable keyword argument to sorted().Serhiy Storchaka2017-01-201-1/+2
| | |
* | | Issue #29296: convert print() to METH_FASTCALLINADA Naoki2017-01-191-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Replace PyArg_ParseTupleAndKeywords() with _PyArg_ParseStackAndKeywords() which is more efficient to parse keywords, since it decodes only keywords (char*) from UTF-8 once, instead of decoding at each call. * METH_FASTCALL avoids the creation of a temporary tuple to pass positional arguments. Patch written by INADA Naoki, pushed by Victor Stinner.
* | | sorted() uses METH_FASTCALLVictor Stinner2017-01-171-11/+9
| | |
* | | next() uses FASTCALLVictor Stinner2017-01-171-3/+9
| | |
* | | getattr() uses METH_FASTCALLVictor Stinner2017-01-171-3/+8
| | |
* | | __build_class__() builtin uses METH_FASTCALLVictor Stinner2017-01-161-15/+9
| | |
* | | Add _PY_FASTCALL_SMALL_STACK constantVictor Stinner2016-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #28870: Add a new _PY_FASTCALL_SMALL_STACK constant, size of "small stacks" allocated on the C stack to pass positional arguments to _PyObject_FastCall(). _PyObject_Call_Prepend() now uses a small stack of 5 arguments (40 bytes) instead of 8 (64 bytes), since it is modified to use _PY_FASTCALL_SMALL_STACK.
* | | Use _PyObject_CallNoArg()Victor Stinner2016-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Replace: PyObject_CallFunctionObjArgs(callable, NULL) with: _PyObject_CallNoArg(callable)
* | | Merge #23722 from 3.6Nick Coghlan2016-12-051-5/+35
|\ \ \ | |/ /
| * | Issue #23722: improve __classcell__ compatibilityNick Coghlan2016-12-051-5/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handling zero-argument super() in __init_subclass__ and __set_name__ involved moving __class__ initialisation to type.__new__. This requires cooperation from custom metaclasses to ensure that the new __classcell__ entry is passed along appropriately. The initial implementation of that change resulted in abruptly broken zero-argument super() support in metaclasses that didn't adhere to the new requirements (such as Django's metaclass for Model definitions). The updated approach adopted here instead emits a deprecation warning for those cases, and makes them work the same way they did in Python 3.5. This patch also improves the related class machinery documentation to cover these details and to include more reader-friendly cross-references and index entries.
* | | Backed out changeset b9c9691c72c5Victor Stinner2016-12-041-4/+4
| | | | | | | | | | | | | | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs().
* | | Replace PyObject_CallFunctionObjArgs() with fastcallVictor Stinner2016-12-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func) * PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg) PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires extra work to "parse" C arguments to build a C array of PyObject*. _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack. This change is part of the fastcall project. The change on listsort() is related to the issue #23507.
* | | Added the const qualifier to char* variables that refer to readonly internalSerhiy Storchaka2016-11-201-2/+2
|/ / | | | | | | UTF-8 represenatation of Unicode objects.
* | Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSizeSerhiy Storchaka2016-11-201-4/+4
| | | | | | | | with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
* | Issue #23722: Initialize __class__ from type.__new__()Nick Coghlan2016-09-111-6/+4
| | | | | | | | | | | | | | | | | | The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann.
* | Issue #24254: Drop cls.__definition_order__.Eric Snow2016-09-081-1/+1
| |
* | Issue #27781: Change file system encoding on Windows to UTF-8 (PEP 529)Steve Dower2016-09-081-3/+5
| |
* | Avoid calling functions with an empty string as format stringVictor Stinner2016-09-061-6/+6
| | | | | | | | Directly pass NULL rather than an empty string.
* | Issue #24254: Preserve class attribute definition order.Eric Snow2016-09-051-1/+1
| |
* | MergeRaymond Hettinger2016-09-031-1/+1
|\ \ | |/
| * Issue 27936: Fix inconsistent round() behavior between float and intRaymond Hettinger2016-09-031-1/+1
| |
* | MergeRaymond Hettinger2016-08-261-2/+2
|\ \ | |/
| * Issue 19504: Change "customise" to "customize" American spelling.Raymond Hettinger2016-08-261-2/+2
| |
* | Use Py_ssize_t type for number of argumentsVictor Stinner2016-08-241-1/+1
| | | | | | | | | | Issue #27848: use Py_ssize_t rather than C int for the number of function positional and keyword arguments.
* | Issue #27809: map_next() uses fast callVictor Stinner2016-08-231-15/+31
| | | | | | | | | | Use a small stack allocated in the C stack for up to 5 iterator functions, otherwise allocates a stack on the heap memory.
* | Backed out changeset 70f88b097f60 (map_next)Victor Stinner2016-08-231-31/+15
| |
* | Issue #27809: map_next() uses fast callVictor Stinner2016-08-231-15/+31
| | | | | | | | | | Use a small stack allocated in the C stack for up to 5 iterator functions, otherwise allocates a stack on the heap memory.