summaryrefslogtreecommitdiffstats
path: root/Include/pyerrors.h
Commit message (Collapse)AuthorAgeFilesLines
* bpo-33818: PyExceptionClass_Name() will now return "const char *". (GH-7581)Serhiy Storchaka2018-06-151-3/+2
|
* Clean up after bpo-33738. (GH-7627)Serhiy Storchaka2018-06-111-2/+1
| | | | | * Add declarations even if they are overridden by macros. * Make the declaration and the definition of PyExceptionClass_Name consistent.
* bpo-33738: Address review comments in GH #7477 (GH-7585)Christian Tismer2018-06-101-2/+2
|
* bpo-33738: Fix macros which contradict PEP 384 (GH-7477)Christian Tismer2018-06-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During development of the limited API support for PySide, we saw an error in a macro that accessed a type field. This patch fixes the 7 errors in the Python headers. Macros which were not written as capitals were implemented as function. To do the necessary analysis again, a script was included that parses all headers and looks for "->tp_" in serctions which can be reached with active limited API. It is easily possible to call this script as a test. Error listing: ../../Include/objimpl.h:243 #define PyObject_IS_GC(o) (PyType_IS_GC(Py_TYPE(o)) && \ (Py_TYPE(o)->tp_is_gc == NULL || Py_TYPE(o)->tp_is_gc(o))) Action: commented only ../../Include/objimpl.h:362 #define PyType_SUPPORTS_WEAKREFS(t) ((t)->tp_weaklistoffset > 0) Action: commented only ../../Include/objimpl.h:364 #define PyObject_GET_WEAKREFS_LISTPTR(o) \ ((PyObject **) (((char *) (o)) + Py_TYPE(o)->tp_weaklistoffset)) Action: commented only ../../Include/pyerrors.h:143 #define PyExceptionClass_Name(x) \ ((char *)(((PyTypeObject*)(x))->tp_name)) Action: implemented function ../../Include/abstract.h:593 #define PyIter_Check(obj) \ ((obj)->ob_type->tp_iternext != NULL && \ (obj)->ob_type->tp_iternext != &_PyObject_NextNotImplemented) Action: implemented function ../../Include/abstract.h:713 #define PyIndex_Check(obj) \ ((obj)->ob_type->tp_as_number != NULL && \ (obj)->ob_type->tp_as_number->nb_index != NULL) Action: implemented function ../../Include/abstract.h:924 #define PySequence_ITEM(o, i)\ ( Py_TYPE(o)->tp_as_sequence->sq_item(o, i) ) Action: commented only
* bpo-30697: Fix PyErr_NormalizeException() when no memory (GH-2327)xdegaye2017-10-261-2/+0
|
* Move exc state to generator. Fixes bpo-25612 (#1773)Mark Shannon2017-10-221-0/+1
| | | Move exception state information from frame objects to coroutine (generator/thread) object where it belongs.
* Delete sigcheck.c since it appears unused (#1723)Segev Finer2017-05-251-1/+1
|
* Issue #29058: All stable API extensions added after Python 3.2 are nowSerhiy Storchaka2016-12-271-3/+18
|\ | | | | | | | | available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.
| * Issue #29058: All stable API extensions added after Python 3.2 are nowSerhiy Storchaka2016-12-271-3/+18
| | | | | | | | | | available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.
* | Issue #19569: Compiler warnings are now emitted if use most of deprecatedSerhiy Storchaka2016-11-201-5/+5
|/ | | | functions.
* Issue #28410: Added _PyErr_FormatFromCause() -- the helper for raisingSerhiy Storchaka2016-10-211-0/+11
| | | | | | | | new exception with setting current exception as __cause__. _PyErr_FormatFromCause(exception, format, args...) is equivalent to Python raise exception(format % args) from sys.exc_info()[1]
* Issue #15767: Use ModuleNotFoundError.Eric Snow2016-09-071-0/+3
|
* Issue #15767: Add ModuleNotFoundError.Eric Snow2016-09-071-0/+1
|
* Issue #19235: Add new RecursionError exception. Patch by Georg Brandl.Yury Selivanov2015-07-031-0/+1
|
* PEP 0492 -- Coroutines with async and await syntax. Issue #24017.Yury Selivanov2015-05-121-0/+1
|
* Issue #22869: Split pythonrun into two modulesNick Coghlan2014-11-201-0/+1
| | | | | | | - interpreter startup and shutdown code moved to a new pylifecycle.c module - Py_OptimizeFlag moved into the new module with the other global flags
* Issue #21715: Extracted shared complicated code in the _io module to newSerhiy Storchaka2014-10-081-1/+3
|\ | | | | | | _PyErr_ChainExceptions() function.
| * Issue #21715: Extracted shared complicated code in the _io module to newSerhiy Storchaka2014-10-081-1/+3
| | | | | | | | _PyErr_ChainExceptions() function.
* | Issue #18711: Add a new `PyErr_FormatV` function, similar to `PyErr_Format` ↵Antoine Pitrou2014-09-301-0/+6
|/ | | | but accepting a `va_list` argument.
* Issue #20517: Removed unnecessary new (short-lived) functions from PyErr.Larry Hastings2014-02-101-25/+0
|
* Issue #20517: Functions in the os module that accept two filenamesLarry Hastings2014-02-101-0/+30
| | | | | | now register both filenames in the exception on failure. This required adding new C API functions allowing OSError exceptions to reference two filenames instead of one.
* Issue #19526: Exclude all new API from the stable ABI.Martin v. Löwis2014-01-031-0/+6
|
* Issue #16136: Remove VMS support and VMS-related codeChristian Heimes2013-12-211-3/+0
|
* Close #17828: better handling of codec errorsNick Coghlan2013-11-131-0/+22
| | | | | | | | - output type errors now redirect users to the type-neutral convenience functions in the codecs module - stateless errors that occur during encoding and decoding will now be automatically wrapped in exceptions that give the name of the codec involved
* Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at ↵Antoine Pitrou2013-10-071-1/+1
|\ | | | | | | 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-1/+1
| | | | | | | | least one place so as to avoid regressions.
* | Factor-out the common code for setting a KeyError.Raymond Hettinger2013-09-021-0/+1
| |
* | Close #11619: The parser and the import machinery do not encode UnicodeVictor Stinner2013-08-261-0/+7
| | | | | | | | filenames anymore on Windows.
* | Issue #15767: back out 8a0ed9f63c6e, finishing the removal ofBrett Cannon2013-07-041-1/+0
| | | | | | | | ModuleNotFoundError.
* | Issue #15767: Revert 3a50025f1900 for ModuleNotFoundErrorBrett Cannon2013-07-041-3/+0
| |
* | Issue #15767: Touch up ModuleNotFoundError usage by import.Brett Cannon2013-06-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Forgot to raise ModuleNotFoundError when None is found in sys.modules. This led to introducing the C function PyErr_SetImportErrorSubclass() to make setting ModuleNotFoundError easier. Also updated the reference docs to mention ModuleNotFoundError appropriately. Updated the docs for ModuleNotFoundError to mention the None in sys.modules case. Lastly, it was noticed that PyErr_SetImportError() was not setting an exception when returning None in one case. That issue is now fixed.
* | Issue #15767: Introduce ModuleNotFoundError, a subclass ofBrett Cannon2013-06-121-0/+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.
* use char instead of int to please T_BOOL (closes #15597)Benjamin Peterson2012-08-091-1/+1
|
* Issue #13783: the PEP 380 implementation no longer expands the public C APINick Coghlan2012-06-171-3/+0
|
* __GNUC__ does not imply gcc version is present, so just check for version ↵Benjamin Peterson2012-06-041-1/+1
| | | | (closes #14994)
* PEP 415: Implement suppression of __context__ display with an exception ↵Benjamin Peterson2012-05-151-2/+2
| | | | | | attribute This replaces the original PEP 409 implementation. See #14133.
* Issue #14098: New functions PyErr_GetExcInfo and PyErr_SetExcInfo.Martin v. Löwis2012-04-191-0/+2
| | | | Patch by Stefan Behnel.
* Fix #14600. Correct reference handling and naming of ImportError convenience ↵Brian Curtin2012-04-171-3/+2
| | | | function
* put PyImportErrorObject with its brothersBenjamin Peterson2012-04-131-7/+7
|
* Issue #1559549: Add 'name' and 'path' attributes to ImportError.Brett Cannon2012-04-131-0/+13
| | | | | | | | Currently import does not use these attributes as they are planned for use by importlib (which will be another commit). Thanks to Filip Gruszczyński for the initial patch and Brian Curtin for refining it.
* Close issue #6210: Implement PEP 409Nick Coghlan2012-02-261-0/+1
|
* Implement PEP 380 - 'yield from' (closes #11682)Nick Coghlan2012-01-131-0/+7
|
* PEP 3151 / issue #12555: reworking the OS and IO exception hierarchy.Antoine Pitrou2011-10-121-12/+30
|
* Implement PEP 393.Martin v. Löwis2011-09-281-0/+6
|
* Closes #11210: Remove PyErr_SetFromWindowsErrWithFilenameObject() of pyerrors.hVictor Stinner2011-03-211-2/+0
| | | | PyErr_SetFromWindowsErrWithFilenameObject() was never implemented.
* Issue #8914: fix various warnings from the Clang static analyzer v254.Brett Cannon2011-02-221-1/+11
|
* Issue #10780: Remove commas at the end of the argument listVictor Stinner2010-12-281-2/+2
| | | | Forbidden in C, stupid language!
* Issue #10780: PyErr_SetFromWindowsErrWithFilename() andVictor Stinner2010-12-281-2/+2
| | | | | PyErr_SetExcFromWindowsErrWithFilename() decode the filename from the filesystem encoding instead of UTF-8.
* Issue #9738: Document encodings of error and warning functionsVictor Stinner2010-12-271-11/+46
|
* Merge branches/pep-0384.Martin v. Löwis2010-12-031-2/+16
|