Serhiy Storchaka
ac20e0f98d
bpo-1617161: Make the hash and equality of methods not depending on the value of self. (GH-7848)
...
* The hash of BuiltinMethodType instances no longer depends on the hash
of __self__. It depends now on the hash of id(__self__).
* The hash and equality of ModuleType and MethodWrapperType instances no
longer depend on the hash and equality of __self__. They depend now on
the hash and equality of id(__self__).
* MethodWrapperType instances no longer support ordering.
2018-07-31 09:18:24 +03:00
Oren Milman
d019bc8319
bpo-31787: Prevent refleaks when calling __init__() more than once (GH-3995)
2018-02-13 19:28:33 +09:00
Antoine Pitrou
1f1a34c314
bpo-32379: Faster MRO computation for single inheritance ( #4932 )
...
* bpo-32379: Faster MRO computation for single inheritance
2017-12-20 15:58:21 +01:00
Serhiy Storchaka
205e00c5cf
bpo-29914: Fix default implementations of __reduce__ and __reduce_ex__(). ( #843 )
...
object.__reduce__() no longer takes arguments, object.__reduce_ex__() now
requires one argument.
2017-04-08 09:52:59 +03:00
Xiang Zhang
c393ee8589
bpo-24329: allow __qualname__ and __classcell__ in __slots__ (GH-495)
2017-03-08 11:18:49 +08:00
Serhiy Storchaka
d908fd9ee1
bpo-29695: Fixed tests after removing keyword args support in some basic type constructors. (GH-520)
2017-03-06 11:08:59 -08:00
Serhiy Storchaka
386072ebe0
Merge from 3.6.
2016-12-14 19:54:38 +02:00
Serhiy Storchaka
49010ee323
Revert changeset 1f31bf3f76f5 (issue5322) except tests.
2016-12-14 19:52:17 +02:00
Serhiy Storchaka
5adfac2c1b
Issue #5322 : Fixed setting __new__ to a PyCFunction inside Python code.
...
Original patch by Andreas Stührk.
2016-12-02 08:42:43 +02:00
Serhiy Storchaka
0c78634d78
Issue #5322 : Fixed setting __new__ to a PyCFunction inside Python code.
...
Original patch by Andreas Stührk.
2016-12-07 11:26:49 +02:00
Martin Panter
0be894b2f6
Issue #27895 : Spelling fixes (Contributed by Ville Skyttä).
2016-09-07 12:03:06 +00:00
Victor Stinner
742da040db
Implement compact dict
...
Issue #27350 : `dict` implementation is changed like PyPy. It is more compact
and preserves insertion order.
_PyDict_Dummy() function has been removed.
Disable test_gdb: python-gdb.py is not updated yet to the new structure of
compact dictionaries (issue #28023 ).
Patch written by INADA Naoki.
2016-09-07 17:40:12 -07:00
Raymond Hettinger
15f44ab043
Issue #27895 : Spelling fixes (Contributed by Ville Skyttä).
2016-08-30 10:47:49 -07:00
Benjamin Peterson
ab078e9ed1
Backed out changeset af29d89083b3 ( closes #25548 ) ( closes #27498 )
2016-07-13 21:13:29 -07:00
Kushal Das
5801ecb440
Issue #25548 : Showing memory address of class objects in repl
2016-06-04 16:21:13 -07:00
Benjamin Peterson
6ca4260219
merge 3.5
2016-05-28 14:05:11 -07:00
Benjamin Peterson
c352620c92
backout 3c9512d8ac0d
2016-05-28 14:04:40 -07:00
Martin Panter
1ce738e08f
Merge typo fixes from 3.5
2016-05-08 14:02:35 +00:00
Martin Panter
f0564164ba
Fix typos in comments, documentation and test method names
2016-05-08 13:48:10 +00:00
Benjamin Peterson
2c028492d4
merge 3.5 ( #25731 )
2016-01-18 21:18:35 -08:00
Benjamin Peterson
9ad11544bf
set tp_new from the class in the hierarchy that actually owns the descriptor ( closes #25731 )
...
Debugging by Eryk Sun.
2016-01-18 21:11:18 -08:00
Serhiy Storchaka
6a50e79130
Issue #24097 : Fixed crash in object.__reduce__() if slot name is freed inside
...
__getattr__. Original patch by Antoine Pitrou.
2015-11-25 18:35:15 +02:00
Serhiy Storchaka
670d78abc5
Issue #24097 : Fixed crash in object.__reduce__() if slot name is freed inside
...
__getattr__. Original patch by Antoine Pitrou.
2015-11-25 18:34:19 +02:00
Serhiy Storchaka
d28bb624d1
Issue #24097 : Fixed crash in object.__reduce__() if slot name is freed inside
...
__getattr__. Original patch by Antoine Pitrou.
2015-11-25 18:33:29 +02:00
Serhiy Storchaka
20d15b5100
Issue #24164 : Fixed test_descr: __getnewargs_ex__ now is supported in protocols 2 and 3.
2015-10-11 17:52:09 +03:00
Serhiy Storchaka
9c8213fbc1
No longer skip tests for classes with __getnewargs_ex__. The copy module
...
already supports reduce protocol 4 (issue #20289 ).
2015-10-11 17:48:28 +03:00
Serhiy Storchaka
1ddbb8cf47
Cleanup test_descr: remove C8 that is the same as C3.
2015-10-11 17:43:12 +03:00
Serhiy Storchaka
1fdc80b55f
Cleanup test_descr: remove C8 that is the same as C3.
2015-10-11 17:42:39 +03:00
Benjamin Peterson
59dc696821
merge 3.4 ( #24806 )
2015-10-06 19:42:02 -07:00
Benjamin Peterson
bd6c41a185
prevent unacceptable bases from becoming bases through multiple inheritance ( #24806 )
2015-10-06 19:36:54 -07:00
Guido van Rossum
7d293ee97d
Issue #24912 : Prevent __class__ assignment to immutable built-in objects.
2015-09-04 20:54:07 -07:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Raymond Hettinger
eac503aeac
Issue #24064 : Property() docstrings are now writeable.
...
(Patch by Berker Peksag.)
2015-05-13 01:09:59 -07:00
Antoine Pitrou
a63cc21234
Issue #23726 : Don't enable GC for user subclasses of non-GC types that don't add any new fields.
...
Patch by Eugene Toder.
2015-04-13 20:10:06 +02:00
Serhiy Storchaka
c2ccce791c
Issue #23641 : Cleaned out legacy dunder names from tests and docs.
...
Fixed 2 to 3 porting bug in pynche.ColorDB.
Added few tests for __truediv__, __floordiv__ and __matmul__.
2015-03-12 22:01:30 +02:00
Serhiy Storchaka
a60c2fe480
Issue #23641 : Cleaned out legacy dunder names from tests and docs.
...
Fixed 2 to 3 porting bug in pynche.ColorDB.
2015-03-12 21:56:08 +02:00
Benjamin Peterson
6c62ac1a01
merge 3.4 ( #22735 )
2015-02-05 22:29:46 -05:00
Benjamin Peterson
104b9e0cca
fix many custom mro() edge cases and improve code quality ( #22735 )
...
Patch by Eldar Abusalimov.
2015-02-05 22:29:14 -05:00
Benjamin Peterson
9d4cbcc86b
allow changing __class__ between a heaptype and non-heaptype in some cases ( closes #22986 )
...
Patch by Nathaniel Smith.
2015-01-30 13:33:42 -05:00
Serhiy Storchaka
707b5ccde5
Issue #22783 : Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX
...
opcode if possible.
2014-12-16 19:43:46 +02:00
Benjamin Peterson
48ad7c0b01
use __qualname__ to compute bound method repr ( closes #21389 )
...
Patch from Steven Barker.
2014-08-20 18:41:57 -05:00
Charles-François Natali
6315ffa339
Merge.
2014-06-20 22:41:21 +01:00
Terry Jan Reedy
af9eb9628d
Issue #21768 : fix NameError in test_pydescr. Patch by Claudiu Popa.
2014-06-20 15:16:35 -04:00
Benjamin Peterson
d51374ed78
PEP 465: a dedicated infix operator for matrix multiplication ( closes #21176 )
2014-04-09 23:55:56 -04:00
Benjamin Peterson
2a6053468e
move SharedKeyTests to test_descr
2014-03-17 16:20:12 -05:00
Benjamin Peterson
df813791db
correct the fix for #20637 ; allow slot descriptor inheritance to take place before creating cached keys
2014-03-17 15:57:17 -05:00
Benjamin Peterson
2626fab4c7
look up __getnewargs__ and __getnewargs_ex__ on the object type ( #16251 )
2014-02-16 13:49:16 -05:00
Serhiy Storchaka
f28ba369dd
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:10:55 +02:00
Serhiy Storchaka
5cfc79deae
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:06:39 +02:00
Antoine Pitrou
7cd9fbe087
Fix whitespace
2013-11-23 19:01:36 +01:00
Antoine Pitrou
c9dc4a2a8a
Issue #17810 : Implement PEP 3154, pickle protocol 4.
...
Most of the work is by Alexandre.
2013-11-23 18:59:12 +01:00
Eric Snow
b523f8433a
Implement PEP 451 (ModuleSpec).
2013-11-22 09:05:39 -07:00
Serhiy Storchaka
898e976734
Issue #19603 : Use specific asserts in test_decr.
2013-11-17 23:39:13 +02:00
Serhiy Storchaka
76edd2110d
Issue #19603 : Use specific asserts in test_decr.
2013-11-17 23:38:50 +02:00
Benjamin Peterson
6b4f7803f8
cleanup the construction of __qualname__ ( closes #19301 again)
2013-10-20 17:50:28 -04:00
Benjamin Peterson
3d9e481ece
give explicitly global functions and classes a global __qualname__ ( closes #19301 )
2013-10-19 16:01:13 -04:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Brett Cannon
4c14b5de1c
#17115,17116: Have modules initialize the __package__ and __loader__
...
attributes to None.
The long-term goal is for people to be able to rely on these
attributes existing and checking for None to see if they have been
set. Since import itself sets these attributes when a loader does not
the only instances when the attributes are None are from someone
overloading __import__() and not using a loader or someone creating a
module from scratch.
This patch also unifies module initialization. Before you could have
different attributes with default values depending on how the module
object was created. Now the only way to not get the same default set
of attributes is to circumvent initialization by calling
ModuleType.__new__() directly.
2013-05-04 13:56:58 -04:00
Benjamin Peterson
71557596b2
remove pointless change
2013-04-13 17:20:36 -04:00
Benjamin Peterson
214a7d2674
properly lookup the __round__ special method ( closes #17722 )
2013-04-13 17:19:01 -04:00
Mark Dickinson
64aafeb4de
Issue #16447 : Fix potential segfault when setting __name__ on a class.
2013-04-13 15:26:58 +01:00
Benjamin Peterson
2c05a2e01b
do safety checks on __qualname__ assignment
2012-10-31 00:01:15 -04:00
Benjamin Peterson
8afa7fa510
don't shadow the __qualname__ descriptor with __qualname__ in the class's __dict__ ( closes #16271 )
2012-10-30 23:51:03 -04:00
Benjamin Peterson
8fbd295458
merge 3.2 ( #14699 )
2012-05-01 09:51:46 -04:00
Benjamin Peterson
7295c6a871
fix calling the classmethod descriptor directly ( closes #14699 )
2012-05-01 09:51:09 -04:00
Benjamin Peterson
42f58818d6
merge 3.2 ( #14658 )
2012-04-24 11:09:20 -04:00
Benjamin Peterson
7b1668735a
don't use a slot wrapper from a different special method ( closes #14658 )
...
This also alters the fix to #11603 . Specifically, setting __repr__ to
object.__str__ now raises a recursion RuntimeError when str() or repr() is
called instead of silently bypassing the recursion. I believe this behavior is
more correct.
2012-04-24 11:06:25 -04:00
Victor Stinner
0db176f8f6
Issue #14386 : Expose the dict_proxy internal type as types.MappingProxyType
2012-04-16 00:16:30 +02:00
Benjamin Peterson
1b1a8e7cb5
correctly lookup __trunc__ in int() constructor
2012-03-20 23:48:11 -04:00
Benjamin Peterson
96384b93aa
make extra arguments to object.__init__/__new__ to errors in most cases (finishes #1683368 )
2012-03-17 00:05:44 -05:00
Benjamin Peterson
de394543b4
merge 3.2 ( #14334 )
2012-03-16 09:35:38 -05:00
Benjamin Peterson
16d84ac355
check to make sure the attribute is a string ( #14334 )
2012-03-16 09:32:59 -05:00
Victor Stinner
d74782b0ac
Close #14199 : _PyType_Lookup() and super_getattro() keep a strong reference to
...
the type MRO to avoid a crash if the MRO is changed during the lookup.
2012-03-09 00:39:08 +01:00
Benjamin Peterson
9a6338651e
merge 3.2 (#3787e896dbe9)
2012-03-07 18:52:52 -06:00
Benjamin Peterson
52c424343d
allow cycles throught the __dict__ slot to be cleared ( closes #1469629 )
...
Patch from Armin, test from me.
2012-03-07 18:41:11 -06:00
Victor Stinner
6f73874edd
Close #14095 : type.__new__() doesn't remove __qualname__ key from the class
...
dict anymore if the key is present. Reject also non-string qualified names.
And fix reference leaks in type.__new__().
2012-02-25 01:22:36 +01:00
Georg Brandl
c425a94899
Fix use of deprecated assert_ method.
2012-02-20 21:37:22 +01:00
Georg Brandl
09a7c72cad
Merge from 3.1: Issue #13703 : add a way to randomize the hash values of basic types (str, bytes, datetime)
...
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.
The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 21:31:46 +01:00
Georg Brandl
2daf6ae249
Issue #13703 : add a way to randomize the hash values of basic types (str, bytes, datetime)
...
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.
The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 19:54:16 +01:00
Benjamin Peterson
b900d6a78c
initialize __dict__ if needed
2012-02-19 10:17:30 -05:00
Benjamin Peterson
01d7eba316
allow arbitrary attributes on classmethod and staticmethod ( closes #14051 )
2012-02-19 01:10:25 -05:00
Antoine Pitrou
9d57481f04
Issue #13577 : various kinds of descriptors now have a __qualname__ attribute.
...
Patch by sbt.
2011-12-12 13:47:25 +01:00
Antoine Pitrou
86a36b500a
PEP 3155 / issue #13448 : Qualified name for classes and functions.
2011-11-25 18:56:07 +01:00
Nick Coghlan
9715d26305
Merge issue 1294232 patch from 3.2
2011-10-23 22:36:42 +10:00
Nick Coghlan
de31b191e5
Issue 1294232: Fix errors in metaclass calculation affecting some cases of metaclass inheritance. Patch by Daniel Urban.
2011-10-23 22:04:16 +10:00
Benjamin Peterson
01fc6cd056
make __doc__ mutable on heaptypes ( closes #12773 )
2011-08-17 12:03:47 -05:00
Benjamin Peterson
af3dcd2f98
improve test name
2011-08-17 11:48:23 -05:00
Benjamin Peterson
c4085c8470
complain when a class variable shadows a name in __slots__ ( closes #12766 )
2011-08-16 18:53:26 -05:00
Raymond Hettinger
66d2be8986
Issue 12647: Add __bool__() method to the None object.
2011-07-28 09:55:13 -07:00
Antoine Pitrou
9b43b6e14e
Issue #11603 : Fix a crash when __str__ is rebound as __repr__.
...
Patch by Andreas Stührk.
2011-07-15 21:18:18 +02:00
Antoine Pitrou
ff35050493
Issue #11603 : Fix a crash when __str__ is rebound as __repr__.
...
Patch by Andreas Stührk.
2011-07-15 21:17:14 +02:00
Antoine Pitrou
8cdc40e3b0
Issue #11603 : Fix a crash when __str__ is rebound as __repr__.
...
Patch by Andreas Stührk.
2011-07-15 21:15:07 +02:00
Benjamin Peterson
b45c7087aa
excellent place for assertRaises
2011-05-24 19:31:01 -05:00
Benjamin Peterson
5cc10b0009
merge 3.2
2011-05-23 16:27:36 -05:00
Benjamin Peterson
f5fcd33be9
merge 3.1
2011-05-23 16:22:42 -05:00
Benjamin Peterson
7963a35b41
correctly lookup __dir__
2011-05-23 16:11:05 -05:00
Victor Stinner
6a534e7e7b
(Merge 3.2) Issue #9756 : When calling a method descriptor or a slot wrapper
...
descriptor, the check of the object type doesn't read the __class__ attribute
anymore. Fix a crash if a class override its __class__ attribute (e.g. a proxy
of the str type).
2011-05-01 23:33:06 +02:00
Victor Stinner
d9561318d8
(Merge 3.1) Issue #9756 : When calling a method descriptor or a slot wrapper
...
descriptor, the check of the object type doesn't read the __class__ attribute
anymore. Fix a crash if a class override its __class__ attribute (e.g. a proxy
of the str type).
2011-05-01 23:31:36 +02:00
Victor Stinner
3249dec024
Issue #9756 : When calling a method descriptor or a slot wrapper descriptor, the
...
check of the object type doesn't read the __class__ attribute anymore. Fix a
crash if a class override its __class__ attribute (e.g. a proxy of the str
type).
2011-05-01 23:19:15 +02:00
Ezio Melotti
3b3499ba69
#11565 : Merge with 3.1.
2011-03-16 11:35:38 +02:00