summaryrefslogtreecommitdiffstats
path: root/Objects/dictobject.c
Commit message (Collapse)AuthorAgeFilesLines
* [3.5] bpo-27945: Fixed various segfaults with dict. (GH-1657) (#1678)Serhiy Storchaka2017-05-201-29/+51
| | | | Based on patches by Duane Griffin and Tim Mitchell. (cherry picked from commit 753bca3934a7618a4fa96e107ad1c5c18633a683)
* bpo-24274: fix comment in dictobject.c (GH-194)INADA Naoki2017-02-201-1/+1
|
* bpo-29438: Fixed use-after-free in key sharing dict (#40)INADA Naoki2017-02-131-6/+4
|
* Issue #28969: Fixed race condition in C implementation of functools.lru_cache.Serhiy Storchaka2017-01-121-8/+23
| | | | | KeyError could be raised when cached function with full cache was simultaneously called from differen threads with the same uncached arguments.
* Issue #28427: old keys should not remove new values fromAntoine Pitrou2016-12-271-25/+56
| | | | WeakValueDictionary when collecting from another thread.
* Issue #28147: Fix a memory leak in split-table dictionariesINADA Naoki2016-12-201-6/+15
| | | | setattr() must not convert combined table into split table.
* Issue #28189: dictitems_contains no longer swallows compare errors.Raymond Hettinger2016-09-191-1/+1
| | | | (Patch by Xiang Zhang)
* #20647: Update dictobject.c comments to account for randomized string hashes.R David Murray2016-07-101-8/+5
| | | | Patch by Jaysinh Shukla.
* Issue #26494: Fixed crash on iterating exhausting iterators.Serhiy Storchaka2016-03-301-3/+3
| | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator.
* merge 3.4 (closes #26478)Benjamin Peterson2016-03-041-5/+4
|\
| * properly use the ObjArgs variant of CallMethod in dictview binary operations ↵Benjamin Peterson2016-03-041-5/+4
| | | | | | | | (closes #26478)
* | Add _PyThreadState_UncheckedGet()Victor Stinner2016-01-201-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #26154: Add a new private _PyThreadState_UncheckedGet() function which gets the current thread state, but don't call Py_FatalError() if it is NULL. Python 3.5.1 removed the _PyThreadState_Current symbol from the Python C API to no more expose complex and private atomic types. Atomic types depends on the compiler or can even depend on compiler options. The new function _PyThreadState_UncheckedGet() allows to get the variable value without having to care of the exact implementation of atomic types. Changes: * Replace direct usage of the _PyThreadState_Current variable with a call to _PyThreadState_UncheckedGet(). * In pystate.c, replace direct usage of the _PyThreadState_Current variable with the PyThreadState_GET() macro for readability. * Document also PyThreadState_Get() in pystate.h
* | dictobject.c(dict_sizeof): Make it static again.doko@ubuntu.com2016-01-141-1/+1
| |
* | Issue #25914: Fixed and simplified OrderedDict.__sizeof__.Serhiy Storchaka2015-12-221-3/+9
| |
* | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-1/+1
| | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
* | Issue #24483: C implementation of functools.lru_cache() now calculates key'sSerhiy Storchaka2015-10-021-0/+37
| | | | | | | | hash only once.
* | merge 3.4 (#24407)Benjamin Peterson2015-07-051-7/+19
|\ \ | |/
| * merge 3.3 (#24407)Benjamin Peterson2015-07-051-7/+19
| |\
| | * protect against mutation of the dict during insertion (closes #24407)Benjamin Peterson2015-07-051-7/+19
| | |
* | | Issue #16991: Add a C implementation of collections.OrderedDict.Eric Snow2015-05-301-172/+165
| | |
* | | PEP 448: additional unpacking generalizations (closes #2292)Benjamin Peterson2015-05-061-3/+3
| | | | | | | | | | | | Patch by Neil Girdhar.
* | | Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-40/+4
| | |
* | | Issue #22653: Fix an assertion failure in debug mode when doing a reentrant ↵Antoine Pitrou2014-10-171-3/+3
|\ \ \ | |/ / | | | | | | dict insertion in debug mode.
| * | Issue #22653: Fix an assertion failure in debug mode when doing a reentrant ↵Antoine Pitrou2014-10-171-3/+3
| | | | | | | | | | | | dict insertion in debug mode.
* | | Issue 21101: Internal API for dict getitem and setitem where the hash value ↵Raymond Hettinger2014-05-031-0/+56
|/ / | | | | | | is known.
* | Issue #20530: Argument Clinic's signature format has been revised again.Larry Hastings2014-02-091-4/+8
| | | | | | | | | | | | | | The new syntax is highly human readable while still preventing false positives. The syntax also extends Python syntax to denote "self" and positional-only parameters, allowing inspect.Signature objects to be totally accurate for all supported builtins in Python 3.4.
* | Issue #20326: Argument Clinic now uses a simple, unique signature toLarry Hastings2014-01-281-5/+5
| | | | | | | | | | | | | | | | | | | | annotate text signatures in docstrings, resulting in fewer false positives. "self" parameters are also explicitly marked, allowing inspect.Signature() to authoritatively detect (and skip) said parameters. Issue #20326: Argument Clinic now generates separate checksums for the input and output sections of the block, allowing external tools to verify that the input has not changed (and thus the output is not out-of-date).
* | Issue #20390: Small fixes and improvements for Argument Clinic.Larry Hastings2014-01-261-5/+4
| |
* | Issue #20189: Four additional builtin types (PyTypeObject,Larry Hastings2014-01-241-21/+50
| | | | | | | | | | | | PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type) have been modified to provide introspection information for builtins. Also: many additional Lib, test suite, and Argument Clinic fixes.
* | Fix minor bug in dict.__contains__ docstring.Meador Inge2014-01-141-3/+3
| | | | | | | | | | When dict got clinicized in 8fde1a2c94dc for Issue #16612 an erroneous trailing quote was left in the clinic docstring summary line.
* | Issue #19273: The marker comments Argument Clinic uses have been changedLarry Hastings2014-01-071-6/+6
| | | | | | | | to improve readability.
* | Issue #19674: inspect.signature() now produces a correct signatureLarry Hastings2013-11-231-5/+8
| | | | | | | | for some builtins.
* | Issue #19646: repr(dict) now uses _PyUnicodeWriter API for better performancesVictor Stinner2013-11-191-55/+54
| |
* | Argument Clinic: rename "self" to "module" for module-level functions.Larry Hastings2013-11-181-1/+1
| |
* | Issue #19512: Add a new _PyDict_DelItemId() function, similar toVictor Stinner2013-11-061-0/+9
| | | | | | | | PyDict_DelItemString() but using an identifier for the key
* | Issue #16612: Add "Argument Clinic", a compile-time preprocessorLarry Hastings2013-10-191-6/+24
| | | | | | | | for C files to generate argument parsing code. (See PEP 436.)
* | Factor-out the common code for setting a KeyError.Raymond Hettinger2013-09-021-18/+4
| |
* | Issue #18722: Remove uses of the "register" keyword in C code.Antoine Pitrou2013-08-131-39/+39
| |
* | Issue #18520: Fix _PyDict_GetItemId(), suppress _PyUnicode_FromId() errorVictor Stinner2013-07-221-1/+3
| | | | | | | | | | As PyDict_GetItem(), _PyDict_GetItemId() suppresses all errors that may occur, for historical reasons.
* | Issue #18408: Fix dict_repr(), don't call PyObject_Repr() with an exception setVictor Stinner2013-07-171-0/+3
| | | | | | | | | | PyObject_Repr() can removes the current exception. For example, module_repr() calls PyErr_Clear() if calling loader.module_repr(mod) failed.
* | Issue #18408: dict_new() now fails on new_keys_object() errorVictor Stinner2013-07-161-10/+9
| | | | | | | | Pass the MemoryError exception to the caller, instead of using empty keys.
* | Cleanup dictobject.cVictor Stinner2013-07-161-17/+19
| |
* | Issue #18408: Fix PyDict_GetItemString(), suppress PyUnicode_FromString() errorVictor Stinner2013-07-161-1/+3
| | | | | | | | | | As PyDict_GetItem(), PyDict_GetItemString() suppresses all errors that may occur for historical reasons.
* | Issue #18408: Fix PyDict_New() to handle correctly new_keys_object() failureVictor Stinner2013-07-081-1/+5
| | | | | | | | (MemoryError).
* | mergeRaymond Hettinger2013-05-171-7/+11
|\ \ | |/
| * Issue #17563: Fix dict resize performance regression.Raymond Hettinger2013-05-171-7/+11
| |
* | Touch up grammar for dict.update() docstring.Brett Cannon2013-05-111-4/+4
| |
* | fix warning (closes #17327)Benjamin Peterson2013-03-081-1/+1
| |
* | Add PyDict_SetDefault. (closes #17327)Benjamin Peterson2013-03-081-11/+23
| | | | | | | | Patch by Stefan Behnel and I.
* | merge 3.3 (#17328)Benjamin Peterson2013-03-041-2/+2
|\ \ | |/