Larry Hastings
581ee3618c
Issue #20326 : Argument Clinic now uses a simple, unique signature to
...
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).
2014-01-28 05:00:08 -08:00
Larry Hastings
5c66189e88
Issue #20189 : Four additional builtin types (PyTypeObject,
...
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.
2014-01-24 06:17:25 -08:00
Christian Heimes
d3afe781b1
Silence expression result unused warnings with clang.
...
The PyObject_INIT() macros returns obj:
../cpython/Objects/methodobject.c:32:23: warning: expression result unused [-Wunused-value]
PyObject_INIT(op, &PyCFunction_Type);
^~
../cpython/Include/objimpl.h:139:69: note: expanded from macro 'PyObject_INIT'
( Py_TYPE(op) = (typeobj), _Py_NewReference((PyObject *)(op)), (op) )
^
1 warning generated.
2013-12-04 09:27:47 +01:00
Alexandre Vassalotti
cc6e87b2cf
Issue #19088 : Merge with 3.3.
2013-11-30 01:05:51 -08:00
Alexandre Vassalotti
1a83070d9e
Issue #19088 : Fix incorrect caching of the copyreg module.
...
This fix does not cause any degradation in performance.
2013-11-30 00:53:09 -08:00
Christian Heimes
2489bd83f5
Issue #17810 : Fixed NULL check in _PyObject_GetItemsIter()
...
CID 1131948: Logically dead code (DEADCODE)
2013-11-23 21:19:43 +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
Victor Stinner
3f36a5736b
Issue #19515 : Remove identifiers duplicated in the same file.
...
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Victor Stinner
bd303c165b
Issue #19512 , #19515 : remove shared identifiers, move identifiers where they
...
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
2013-11-07 23:07:29 +01:00
Martin v. Löwis
e75fc14813
Issue #19514 : Deduplicate some _Py_IDENTIFIER declarations.
...
Patch by Andrei Dorian Duma.
2013-11-07 18:46:53 +01:00
Victor Stinner
ad14ccd047
Issue #19512 : add _PyUnicode_CompareWithId() function
...
_PyUnicode_CompareWithId() is faster than PyUnicode_CompareWithASCIIString()
when both strings are equal and interned.
Add also _PyId_builtins identifier for "builtins" common string.
2013-11-07 00:46:04 +01:00
Victor Stinner
3688aa9a04
Issue #19512 : type_abstractmethods() and type_set_abstractmethods() now use an
...
identifier for the "__abstractmethods__" string
2013-11-06 18:59:18 +01:00
Antoine Pitrou
84745ab464
Issue #17936 : Fix O(n**2) behaviour when adding or removing many subclasses of a given type.
2013-10-29 21:31:25 +01:00
Victor Stinner
bebba5059c
fix indent
2013-10-29 10:56:34 +01:00
Raymond Hettinger
c13516b0a0
merge
2013-10-01 01:00:59 -07:00
Raymond Hettinger
2ff2190b62
Issue #18594 : Fix the fast path for collections.Counter().
...
The path wasn't being taken due to an over-restrictive type check.
2013-10-01 00:55:43 -07:00
Victor Stinner
33824f6fd7
Restore changeset 5bd9db528aed (issue #18408 )
...
"Issue #18408 : PyObject_Str(), PyObject_Repr() and type_call() now fail with an
assertion error if they are called with an exception set (PyErr_Occurred()).
As PyEval_EvalFrameEx(), they may clear the current exception and so the caller
looses its exception."
2013-08-26 14:05:19 +02:00
Antoine Pitrou
91541931f5
Back out 5bd9db528aed (issue #18408 ). It caused unsolved buildbot failures.
2013-08-23 23:18:20 +02:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Christian Heimes
de4d183955
Issue #18327 : Fix argument order in call to compatible_for_assignment(oldto, newto, attr).
...
The fix only affects the error message of __class__ assignment. CID 983564
2013-07-20 14:19:46 +02:00
Victor Stinner
8e47832737
Issue #18408 : PyObject_Str(), PyObject_Repr() and type_call() now fail with an
...
assertion error if they are called with an exception set (PyErr_Occurred()).
As PyEval_EvalFrameEx(), they may clear the current exception and so the caller
looses its exception.
2013-07-18 01:49:30 +02:00
Victor Stinner
5967bf4928
Issue #18408 : Fix PyType_Ready(), handle _PyDict_SetItemId() failure
2013-07-17 22:01:37 +02:00
Victor Stinner
3997cfdb7f
Cleanup type_call() to ease debug
...
It was easy to miss the call to type->tp_init because it was done in a long
conditional expression. Split the long expression in multiple lines to make the
debug step by step easier.
2013-07-16 22:51:21 +02:00
Victor Stinner
53510cda59
Issue #18408 : type_new() and PyType_FromSpecWithBases() now raise MemoryError
...
on memory allocation failure
2013-07-15 19:34:20 +02:00
Victor Stinner
a41f085144
Issue #18408 : pmerge() help of mro_implementation() now raises MemoryError on
...
memory allocation failure
Replace also PyMem_Free() with PyMem_FREE() to be consistent with the rest of
the function.
2013-07-12 00:42:14 +02:00
Victor Stinner
2e8474ddde
Issue #18408 : slot_tp_str() must not fallback on slot_tp_repr() on error
...
type->tp_str must not point to slot_tp_str() if type has no __str__ attribute,
so there is no reason for slot_tp_str() to fallback on slot_tp_str() on lookup
error. Moreover, calling PyErr_Clear() may hide a real bug like MemoryError.
If __str__ attribute is removed, slots must be updated (which is done by
type_setattro()).
2013-07-11 22:46:11 +02:00
Victor Stinner
54e4ca76c9
typeobject.c: remove trailing spaces
2013-07-11 22:42:25 +02:00
Victor Stinner
9812af8e72
Issue #18408 : Fix PyType_Ready() and type.__bases__ setter to handle
...
PyWeakref_NewRef() failure (ex: MemoryError).
2013-07-08 22:25:48 +02:00
Benjamin Peterson
e1b4cbc422
when arguments are cells clear the locals slot (backport of #17927 )
2013-05-14 22:31:26 -05:00
Benjamin Peterson
159ae41da6
when an argument is a cell, set the local copy to NULL (see #17927 )
2013-05-12 18:16:06 -05:00
Guido van Rossum
6832c81d5d
#17927 : Keep frame from referencing cell-ified arguments.
2013-05-10 08:47:42 -07:00
Antoine Pitrou
df6931dbbc
Issue #17408 : Avoid using an obsolete instance of the copyreg module when the interpreter is shutdown and then started again.
2013-05-04 20:46:19 +02:00
Antoine Pitrou
957a23b088
Issue #17408 : Avoid using an obsolete instance of the copyreg module when the interpreter is shutdown and then started again.
2013-05-04 20:45:02 +02:00
Mark Dickinson
548677bb8c
Issue #16447 : Merge fix from 3.3.
2013-04-13 15:30:16 +01: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
d3f41fe121
merge 3.3 ( #17610 )
2013-04-01 17:43:30 -04:00
Benjamin Peterson
6395241471
list slotdefs in offset order rather than sorting them ( closes #17610 )
...
This means we can remove our usage of qsort() than relied on undefined behavior.
2013-04-01 17:41:41 -04:00
R David Murray
aaf16b9cfb
Merge: #7963 : fix error message when 'object' called with arguments.
2013-02-18 21:44:03 -05:00
R David Murray
702a5dc1ed
#7963 : fix error message when 'object' called with arguments.
2013-02-18 21:39:18 -05:00
R David Murray
6b30759022
#7963 : fix error message when 'object' called with arguments.
...
Patch by Alexander Belopolsky.
2013-02-18 21:20:08 -05:00
Andrew Svetlov
3ba3a3ee56
Issue #15422 : get rid of PyCFunction_New macro
2012-12-25 13:32:35 +02:00
Andrew Svetlov
2cd8ce4690
Issue #9856 : Replace deprecation warinigs to raising TypeError in object.__format__
...
Patch by Florent Xicluna.
2012-12-23 14:27:17 +02:00
Benjamin Peterson
3cb90241fc
merge 3.3
2012-10-31 00:04:42 -04: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
Victor Stinner
4ca1cf35fb
Issue #16086 : PyTypeObject.tp_flags and PyType_Spec.flags are now unsigned
...
... (unsigned long and unsigned int) to avoid an undefined behaviour with
Py_TPFLAGS_TYPE_SUBCLASS ((1 << 31). PyType_GetFlags() result type is now
unsigned too (unsigned long, instead of long).
2012-10-30 23:40:45 +01:00
Trent Nelson
da064d0745
Silence compiler warnings on Solaris 10 via explicit (void *) casts.
2012-09-18 22:00:25 -04:00
Trent Nelson
ab02db23b1
Silence compiler warnings on Solaris 10 via explicit (void *) casts.
...
(Compiler: Solaris Studio 12.3)
2012-09-18 21:58:03 -04:00
Christian Heimes
76c082911b
Fixed memory leak in error branch of object_repr which may leak a reference to mod when type_qualname returns NULL. CID 715371
2012-09-10 17:00:30 +02:00
Christian Heimes
e81dc296f2
Fixed memory leak in error branch of object_repr which may leak a reference to mod when type_name returns NULL. CID 715371
2012-09-10 16:57:36 +02:00