summaryrefslogtreecommitdiffstats
path: root/Python/ceval.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue 24017: fix for "async with" refcountingNick Coghlan2015-05-131-0/+2
| | | | | | * adds missing INCREF in WITH_CLEANUP_START * adds missing DECREF in WITH_CLEANUP_FINISH * adds several new tests Yury created while investigating this
* Fix warnings for PyEval_GetCoroutineWrapperYury Selivanov2015-05-121-1/+1
|
* PEP 0492 -- Coroutines with async and await syntax. Issue #24017.Yury Selivanov2015-05-121-8/+223
|
* PEP 448: additional unpacking generalizations (closes #2292)Benjamin Peterson2015-05-061-5/+159
| | | | Patch by Neil Girdhar.
* #23949: Improve tuple unpacking error messages.R David Murray2015-04-151-7/+17
| | | | Patch by Arnon Yaari.
* Issue #23571: _Py_CheckFunctionResult() now gives the name of the functionVictor Stinner2015-03-211-3/+3
| | | | | | | | | | | which returned an invalid result (result+error or no result without error) in the exception message. Add also unit test to check that the exception contains the name of the function. Special case: the final _PyEval_EvalFrameEx() check doesn't mention the function since it didn't execute a single function but a whole frame.
* Issue #23571: Restore removed assert(!PyErr_Occurred()); inVictor Stinner2015-03-161-0/+7
| | | | | | | PyEval_CallObjectWithKeywords() Sorry Serhiy, I missed your explanation because the review email was moved to my Spam folder :-(
* Issue #23571: PyObject_Call(), PyCFunction_Call() and call_function() nowVictor Stinner2015-03-061-19/+11
| | | | | | | | | | | raise a SystemError if a function returns a result and raises an exception. The SystemError is chained to the previous exception. Refactor also PyObject_Call() and PyCFunction_Call() to make them more readable. Remove some checks which became useless (duplicate checks). Change reviewed by Serhiy Storchaka.
* Issue #22883: Got rid of outdated references to PyInt and PyString in comments.Serhiy Storchaka2015-02-171-1/+1
|
* Merge 3.4 (generator)Victor Stinner2015-01-311-3/+4
|\
| * Issue #23353: Fix the exception handling of generators in PyEval_EvalFrameEx().Victor Stinner2015-01-311-3/+4
| | | | | | | | | | | | | | At entry, save or swap the exception state even if PyEval_EvalFrameEx() is called with throwflag=0. At exit, the exception state is now always restored or swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou.
* | Merge 3.4 (ceval.c)Victor Stinner2014-12-121-3/+5
|\ \ | |/
| * Issue #18028: Fix aliasing issue in READ_TIMESTAMP() of ceval.c on x86_64,Victor Stinner2014-12-121-3/+5
| | | | | | | | when Python is configure with --with-tsc. Patch written by Christian Heimes.
* | Issue #17636: Circular imports involving relative imports are now supported.Antoine Pitrou2014-10-131-2/+20
| |
* | merge 3.4Benjamin Peterson2014-06-171-0/+7
|\ \ | |/
| * check if the thread is finalizing after retaking the GILBenjamin Peterson2014-06-171-0/+7
| |
* | Issue #21205: Add a new ``__qualname__`` attribute to generator, the qualifiedVictor Stinner2014-06-161-8/+22
| | | | | | | | | | | | | | name, and use it in the representation of a generator (``repr(gen)``). The default name of the generator (``__name__`` attribute) is now get from the function instead of the code. Use ``gen.gi_code.co_name`` to get the name of the code.
* | merge 3.4 (#21209)Benjamin Peterson2014-04-141-1/+1
|\ \ | |/
| * fix sending tuples to custom generator objects with yield from (closes #21209)Benjamin Peterson2014-04-141-1/+1
| | | | | | | | Debugged by Victor.
* | PEP 465: a dedicated infix operator for matrix multiplication (closes #21176)Benjamin Peterson2014-04-101-0/+24
|/
* Issue #20437: Fixed 22 potential bugs when deleting objects references.Serhiy Storchaka2014-02-091-6/+3
|\
| * Issue #20437: Fixed 21 potential bugs when deleting objects references.Serhiy Storchaka2014-02-091-6/+3
| |
* | Issue #14432: Remove the thread state field from the frame structure. Fix aVictor Stinner2013-12-131-37/+42
| | | | | | | | | | | | | | crash when a generator is created in a C thread that is destroyed while the generator is still used. The issue was that a generator contains a frame, and the frame kept a reference to the Python state of the destroyed C thread. The crash occurs when a trace function is setup.
* | Fix refleak introduced by 4f730c045f5f (issue #18408) and unveiled by ↵Antoine Pitrou2013-11-231-8/+4
| | | | | | | | 95eea8624d05 (issue #16596).
* | Better behavior when stepping over yield[from]. Fixes issue 16596. By Xavier ↵Guido van Rossum2013-11-211-0/+5
| | | | | | | | de Gaye.
* | Issue #19512: PRINT_EXPR bytecode now uses an identifier to get sys.displayhookVictor Stinner2013-11-061-1/+2
| | | | | | | | to only create the "displayhook" string once
* | merge 3.3Benjamin Peterson2013-10-301-3/+3
|\ \ | |/
| * update commentBenjamin Peterson2013-10-301-3/+3
| |
* | Issue #18408: Add a new PyFrame_FastToLocalsWithError() function to handleVictor Stinner2013-10-291-5/+14
| | | | | | | | | | exceptions when merging fast locals into f_locals of a frame. PyEval_GetLocals() now raises an exception and return NULL on failure.
* | Close #19199: Remove ``PyThreadState.tick_counter`` fieldVictor Stinner2013-10-091-1/+0
| |
* | Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at ↵Antoine Pitrou2013-10-071-2/+2
|\ \ | |/ | | | | least one place so as to avoid regressions.
| * Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at ↵Antoine Pitrou2013-10-071-2/+2
| | | | | | | | least one place so as to avoid regressions.
* | Issue #18722: Remove uses of the "register" keyword in C code.Antoine Pitrou2013-08-131-12/+12
| |
* | Issue #17934: Add a clear() method to frame objects, to help clean up ↵Antoine Pitrou2013-08-051-0/+2
| | | | | | | | expensive details (local variables) and break reference cycles.
* | Add missing check of PyDict_SetItem()'s return value in PyEval_EvalCodeEx()Christian Heimes2013-07-201-1/+3
|\ \ | |/ | | | | CID 486647
| * Add missing check of PyDict_SetItem()'s return value in PyEval_EvalCodeEx()Christian Heimes2013-07-201-1/+3
| | | | | | | | CID 486647
| * when arguments are cells clear the locals slot (backport of #17927)Benjamin Peterson2013-05-151-2/+6
| |
* | Issue #18408: PyEval_EvalFrameEx() and PyEval_CallObjectWithKeywords() now failVictor Stinner2013-07-171-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | with an assertion error if they are called with an exception set (PyErr_Occurred()). If these functions are called with an exception set, the exception may be cleared and so the caller looses its exception. Add also assertions to PyEval_CallObjectWithKeywords() and call_function() to check if the function succeed with no exception set, or the function failed with an exception set.
* | Issue #18408: add more assertions on PyErr_Occurred() in ceval.c to detect bugsVictor Stinner2013-07-151-0/+4
| | | | | | | | earlier
* | Issue #18408: Fix PyEval_EvalFrameEx() for MemoryErrorVictor Stinner2013-07-151-1/+4
| | | | | | | | | | Don't pass a NULL traceback to PyException_SetTraceback(): pass Py_None. Passing NULL would raise a new exception.
* | Issue #18342: Use the repr of a module name for ``from ... importBrett Cannon2013-07-121-1/+1
| | | | | | | | | | | | | | | | ...`` when an ImportError occurs. Other cases had already been switched over to using the repr. Thanks to Tomasz Maćkowiak for the patch.
* | Issue #18408: ceval.c: in debug mode, convert the PyErr_Occurred() check onVictor Stinner2013-07-111-0/+4
| | | | | | | | exception (when getting NULL) to an assertion to detect bugs earlier
* | Issue #18408: Fix call_exc_trace(): if the traceback is NULL, use None whenVictor Stinner2013-07-101-3/+8
| | | | | | | | | | | | building the tuple (type, value, traceback) passed to the callback. PyTuple_Pack() does crash if an argument is NULL.
* | Issue #18408: Fix call_function() of ceval.c to handle PyTuple_New() failureVictor Stinner2013-07-081-4/+9
| | | | | | | | (in load_args()), ex: MemoryError.
* | Issue #15767: back out 8a0ed9f63c6e, finishing the removal ofBrett Cannon2013-07-041-1/+1
| | | | | | | | ModuleNotFoundError.
* | Issue #15767: Introduce ModuleNotFoundError, a subclass ofBrett Cannon2013-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ImportError. The exception is raised by import when a module could not be found. Technically this is defined as no viable loader could be found for the specified module. This includes ``from ... import`` statements so that the module usage is consistent for all situations where import couldn't find what was requested. This should allow for the common idiom of:: try: import something except ImportError: pass to be updated to using ModuleNotFoundError and not accidentally mask ImportError messages that should propagate (e.g. issues with a loader). This work was driven by the fact that the ``from ... import`` statement needed to be able to tell the difference between an ImportError that simply couldn't find a module (and thus silence the exception so that ceval can raise it) and an ImportError that represented an actual problem.
* | Fix a compilater warning on Windows 64-bitVictor Stinner2013-05-161-1/+1
| | | | | | | | idx variable is used for a tuple indexn so use Py_ssize_t (not int).
* | rather than passing locals to the class body, just execute the class body in ↵Benjamin Peterson2013-05-161-8/+0
| | | | | | | | the proper environment
* | when an argument is a cell, set the local copy to NULL (see #17927)Benjamin Peterson2013-05-121-8/+4
| |
* | #17927: Keep frame from referencing cell-ified arguments.Guido van Rossum2013-05-101-4/+12
| |