Serhiy Storchaka
31a655411a
Issue #17576 : Deprecation warning emitted now when __int__() or __index__()
...
return not int instance. Introduced _PyLong_FromNbInt() and refactored
PyLong_As*() functions.
2013-12-11 21:07:54 +02:00
Victor Stinner
b077c0552f
(Merge 3.3) Issue #19932 : Fix typo in import.h, missing whitespaces in function prototypes.
2013-12-10 01:20:39 +01:00
Victor Stinner
d860d5cf6d
Issue #19932 : Fix typo in import.h, missing whitespaces in function prototypes.
2013-12-10 01:19:58 +01:00
Alexandre Vassalotti
2ccf8e969c
Issue #6477 : Merge with 3.3.
2013-11-30 17:58:53 -08:00
Alexandre Vassalotti
65846c6c51
Issue #6477 : Keep PyNotImplemented_Type and PyNone_Type private.
2013-11-30 17:55:48 -08:00
Alexandre Vassalotti
3c23e7a5dc
Issue #6477 : Merge with 3.3.
2013-11-30 16:21:20 -08:00
Alexandre Vassalotti
19b6fa6ebb
Issue #6477 : Added support for pickling the types of built-in singletons.
2013-11-30 16:06:39 -08:00
Larry Hastings
7e611dab4a
Bump version number to 3.4.0b1.
2013-11-24 06:59:35 -08:00
Larry Hastings
ebdcb50b8a
Issue #19730 : Argument Clinic now supports all the existing PyArg
...
"format units" as legacy converters, as well as two new features:
"self converters" and the "version" directive.
2013-11-23 14:54:00 -08:00
Larry Hastings
3a9079742f
Issue #19722 : Added opcode.stack_effect(), which accurately
...
computes the stack effect of bytecode instructions.
2013-11-23 14:49:22 -08:00
Nick Coghlan
c72e4e6dcc
Issue #19619 : Blacklist non-text codecs in method API
...
str.encode, bytes.decode and bytearray.decode now use an
internal API to throw LookupError for known non-text encodings,
rather than attempting the encoding or decoding operation and
then throwing a TypeError for an unexpected output type.
The latter mechanism remains in place for third party non-text
encodings.
2013-11-22 22:39:36 +10:00
Christian Heimes
985ecdcfc2
ssue #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.
...
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Victor Stinner
a726192181
oops, remove _PyObject_ReprWriter() definition (unwanted change)
2013-11-19 13:18:45 +01:00
Victor Stinner
4a58707a34
Add _PyUnicodeWriter_WriteASCIIString() function
2013-11-19 12:54:53 +01:00
Georg Brandl
1d2436a581
Post-release bump.
2013-11-17 09:17:40 +01:00
Georg Brandl
9e2043a561
Bump to 3.3.3 final.
2013-11-17 07:58:22 +01:00
Georg Brandl
4cf9b2047d
Bump to 3.3.3rc2.
2013-11-11 06:13:54 +01:00
Victor Stinner
042cb465f6
Fix compiler warning on Windows 64-bit: asdl_seq_SET() stores the index parameter
...
into a Py_ssize_t, instead of an int
2013-11-16 00:16:58 +01:00
Nick Coghlan
8b097b4ed7
Close #17828 : better handling of codec errors
...
- 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
2013-11-13 23:49:21 +10:00
Victor Stinner
8ea86509ab
Issue #19512 , #19526 : Exclude the new _PyDict_DelItemId() function from the
...
stable ABI
2013-11-08 14:07:11 +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
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
090543736f
Issue #19512 : add some common identifiers to only create common strings once,
...
instead of creating temporary Unicode string objects
Add also more identifiers in pythonrun.c to avoid temporary Unicode string
objets for the interactive interpreter.
2013-11-06 22:41:44 +01:00
Victor Stinner
d67bd45537
Issue #19512 : Add _PySys_GetObjectId() and _PySys_SetObjectId() functions
2013-11-06 22:36:40 +01:00
Victor Stinner
5fd2e5ae8a
Issue #19512 : Add a new _PyDict_DelItemId() function, similar to
...
PyDict_DelItemString() but using an identifier for the key
2013-11-06 18:58:22 +01:00
Victor Stinner
95701bdf40
Issue #19512 : Add PyRun_InteractiveOneObject() function
...
Only decode the filename once. PyRun_InteractiveOneObject() uses an identifier
for "<string>" string, so the byte string is only decoded once.
2013-11-06 18:41:07 +01:00
Victor Stinner
41bb43a71e
Issue #18408 : Add a new PyFrame_FastToLocalsWithError() function to handle
...
exceptions when merging fast locals into f_locals of a frame.
PyEval_GetLocals() now raises an exception and return NULL on failure.
2013-10-29 01:19:37 +01:00
Georg Brandl
2d34f41bee
Bump to 3.3.3rc1.
2013-10-27 09:22:59 +01:00
Larry Hastings
e0d9a1c8bc
Post-release updates for 3.4.0a4.
2013-10-22 10:44:35 -07:00
Larry Hastings
bd61c3ae1f
Version bump for 3.4.0a4.
2013-10-20 02:01:29 -07:00
Serhiy Storchaka
aa2b22abf3
Restore prototypes for the 'openpty' and 'forkpty' on BSDI (broken in issue #1772673 ).
2013-10-19 21:39:31 +03:00
Serhiy Storchaka
c679227e31
Issue #1772673 : The type of `char*` arguments now changed to `const char*`.
2013-10-19 21:03:34 +03:00
Nick Coghlan
1805a62f1f
Issue #16129 : Py_SetStandardStreamEncoding cleanups
...
- don't call PyErr_NoMemory with interpreter is not initialised
- note that it's OK to call _PyMem_RawStrDup here
- don't include this in the limited API
- capitalise "IO"
- be explicit that a non-zero return indicates an error
- include versionadded marker in docs
2013-10-18 23:11:47 +10:00
Nick Coghlan
a0f074f398
Issue #16129 : Move Py_SetStandardStreamEncoding declaration
2013-10-17 23:27:17 +10:00
Nick Coghlan
7d270ee05d
Issue #16129 : Add `Py_SetStandardStreamEncoding`
...
This new pre-initialization API allows embedding
applications like Blender to force a particular
encoding and error handler for the standard IO streams.
Also refactors Modules/_testembed.c to let us start
testing multiple embedding scenarios.
(Initial patch by Bastien Montagne)
2013-10-17 22:35:35 +10:00
Antoine Pitrou
d01d396e7f
Issue #4555 : All exported C symbols are now prefixed with either "Py" or "_Py".
...
("make smelly" now clean)
2013-10-12 22:52:43 +02:00
Antoine Pitrou
1164dfcb86
Issue #19219 : Speed up marshal.loads(), and make pyc files slightly (5% to 10%) smaller.
2013-10-12 22:25:39 +02:00
Victor Stinner
8d19767403
Close #19199 : Remove ``PyThreadState.tick_counter`` field
2013-10-09 14:53:01 +02:00
Georg Brandl
3328871cac
merge heads
2013-10-08 20:29:47 +02:00
Georg Brandl
b296d09624
Closes #13867 : remove untrue comment about PyWeakref_Check().
2013-10-08 19:50:26 +02:00
Georg Brandl
fe9e3b8e21
Closes #13867 : remove untrue comment about PyWeakref_Check().
2013-10-08 19:50:26 +02:00
Antoine Pitrou
1cfa0ba883
Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at least one place so as to avoid regressions.
2013-10-07 20:40:59 +02:00
Antoine Pitrou
59c900d3bf
Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at least one place so as to avoid regressions.
2013-10-07 20:38:51 +02:00
Benjamin Peterson
9185a5ae7e
fix comment
2013-10-05 16:28:04 -04:00
Antoine Pitrou
5df8a8a1fd
Issue #19087 : Improve bytearray allocation in order to allow cheap popping of data at the front (slice deletion).
2013-10-05 21:12:18 +02: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
Larry Hastings
e9cbd181a2
Post-version release cleanup.
2013-09-30 01:09:55 +01:00
Larry Hastings
44719a7717
Version bump to 3.4.0a3.
2013-09-28 23:51:00 +01:00
Larry Hastings
8568f66daf
Merge.
2013-09-09 21:12:21 +09:00
Larry Hastings
60560b18d2
Post-3.4.0a2-release fixups.
2013-09-09 21:08:52 +09:00
Raymond Hettinger
8f8839e10a
Remove the freelist scheme for setobjects.
...
The setobject freelist was consuming memory but not providing much value.
Even when a freelisted setobject was available, most of the setobject
fields still needed to be initialized and the small table still required
a memset(). This meant that the custom freelisting scheme for sets was
providing almost no incremental benefit over the default Python freelist
scheme used by _PyObject_Malloc() in Objects/obmalloc.c.
2013-09-07 20:26:50 -07:00
Antoine Pitrou
7b4769937f
Issue #18808 : Thread.join() now waits for the underlying thread state to be destroyed before returning.
...
This prevents unpredictable aborts in Py_EndInterpreter() when some non-daemon threads are still running.
2013-09-07 23:38:37 +02:00
Larry Hastings
3a2d18b7d7
Version number bump for Python 3.4.0a2.
2013-09-07 23:42:07 +12:00
Raymond Hettinger
69492dab07
Factor-out the common code for setting a KeyError.
2013-09-02 15:59:26 -07:00
Antoine Pitrou
4879a963d4
Issue #18756 : os.urandom() now uses a lazily-opened persistent file descriptor, so as to avoid using many file descriptors when run in parallel from multiple threads.
2013-08-31 00:26:02 +02:00
Victor Stinner
daf455554b
Issue #18571 : Implementation of the PEP 446: file descriptors and file handles
...
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Serhiy Storchaka
46e1ce214b
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 20:17:03 +03:00
Serhiy Storchaka
9594942716
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 19:40:23 +03:00
Victor Stinner
14e461d5b9
Close #11619 : The parser and the import machinery do not encode Unicode
...
filenames anymore on Windows.
2013-08-26 22:28:21 +02:00
Antoine Pitrou
9d95254bb7
Issue #18772 : fix the gdb plugin after the set implementation changes
2013-08-24 21:07:07 +02:00
Raymond Hettinger
3c0a4f5def
Issue18771: Reduce the cost of hash collisions for set objects.
2013-08-19 07:36:04 -07:00
Ezio Melotti
a7e7497d88
#18466 : merge with 3.3.
2013-08-17 16:58:13 +03:00
Ezio Melotti
85a8629d21
#18466 : fix more typos. Patch by Févry Thibault.
2013-08-17 16:57:41 +03:00
Antoine Pitrou
9ed5f27266
Issue #18722 : Remove uses of the "register" keyword in C code.
2013-08-13 20:18:52 +02:00
Antoine Pitrou
40322e6ad5
Issue #10241 : Clear extension module dict copies at interpreter shutdown.
...
Patch by Neil Schemenauer, minimally modified.
(re-apply after fix for tkinter-related crash)
2013-08-11 00:30:09 +02:00
Christian Heimes
ad73a9cf97
Issue #16400 : Add command line option for isolated mode.
...
-I
Run Python in isolated mode. This also implies -E and -s. In isolated mode
sys.path contains neither the script’s directory nor the user’s
site-packages directory. All PYTHON* environment variables are ignored,
too. Further restrictions may be imposed to prevent the user from
injecting malicious code.
2013-08-10 16:36:18 +02:00
Antoine Pitrou
236a547b3e
Issue #18665 : fix typos. Patch by Vajrasky Kok.
2013-08-06 23:06:59 +02:00
Raymond Hettinger
536f9fdcf3
Put the most important and most frequency accessed struct member first.
2013-08-05 22:43:22 -07:00
Antoine Pitrou
58720d6145
Issue #17934 : Add a clear() method to frame objects, to help clean up expensive details (local variables) and break reference cycles.
2013-08-05 23:26:40 +02:00
Larry Hastings
a3c6a1fb6f
Cycled Misc/NEWS for alpha 2, touched patchlevel.
2013-08-03 23:29:24 -07:00
Larry Hastings
436151e2ca
Merge from v3.4.0a1 head.
2013-08-03 13:01:39 -07:00
Larry Hastings
1f08c772f5
Bumped version to 3.4.0a1.
2013-08-03 12:58:12 -07:00
Serhiy Storchaka
579ddc2fd4
Issue #16741 : Fix an error reporting in int().
2013-08-03 21:14:05 +03:00
Serhiy Storchaka
f6d0aeeadc
Issue #16741 : Fix an error reporting in int().
2013-08-03 20:55:06 +03:00
Antoine Pitrou
95db2e7b8a
Backout 62658d9d8926 (issue #10241 ): it causes a crash at shutdown when deallocating a Tkapp object.
2013-08-02 20:39:46 +02:00
Antoine Pitrou
84f31a5676
Issue #10241 : Clear extension module dict copies at interpreter shutdown.
...
Patch by Neil Schemenauer, minimally modified.
2013-08-01 22:07:06 +02:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Victor Stinner
ee4b59c0f8
(Merge 3.3) According to the PEP 7, C code must "use 4-space indents"
...
Replace 8 spaces with 4.
2013-07-27 00:01:35 +02:00
Victor Stinner
ce72e1ce6c
According to the PEP 7, C code must "use 4-space indents"
...
Replace 8 spaces with 4.
2013-07-27 00:00:36 +02:00
Victor Stinner
1c8f059019
Issue #18520 : Add a new PyStructSequence_InitType2() function, same than
...
PyStructSequence_InitType() except that it has a return value (0 on success,
-1 on error).
* PyStructSequence_InitType2() now raises MemoryError on memory allocation failure
* Fix also some calls to PyDict_SetItemString(): handle error
2013-07-22 22:24:54 +02:00
Victor Stinner
49fc8ece81
Issue #18203 : Add _PyMem_RawStrdup() and _PyMem_Strdup()
...
Replace strdup() with _PyMem_RawStrdup() or _PyMem_Strdup(), depending if the
GIL is held or not.
2013-07-07 23:30:24 +02:00
Victor Stinner
0507bf56f0
Issue #3329 : Implement the PEP 445
...
Add new enum:
* PyMemAllocatorDomain
Add new structures:
* PyMemAllocator
* PyObjectArenaAllocator
Add new functions:
* PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree()
* PyMem_GetAllocator(), PyMem_SetAllocator()
* PyObject_GetArenaAllocator(), PyObject_SetArenaAllocator()
* PyMem_SetupDebugHooks()
Changes:
* PyMem_Malloc()/PyObject_Realloc() now always call malloc()/realloc(), instead
of calling PyObject_Malloc()/PyObject_Realloc() in debug mode.
* PyObject_Malloc()/PyObject_Realloc() now falls back to
PyMem_Malloc()/PyMem_Realloc() for allocations larger than 512 bytes.
* Redesign debug checks on memory block allocators as hooks, instead of using C
macros
2013-07-07 02:05:46 +02:00
Brett Cannon
679ecb565b
Issue #15767 : back out 8a0ed9f63c6e, finishing the removal of
...
ModuleNotFoundError.
2013-07-04 17:51:50 -04:00
Brett Cannon
82da8886cc
Issue #15767 : Revert 3a50025f1900 for ModuleNotFoundError
2013-07-04 17:48:16 -04:00
Victor Stinner
14b9b11098
If MS_WIN64 is defined, MS_WINDOWS is also defined: #ifdef can be simplified.
2013-06-25 00:37:25 +02:00
Christian Heimes
b3cc7eb74a
Fix test for GCC 3.1+ but not strict ANSI C
2013-06-24 15:39:58 +02:00
Christian Heimes
e0a2d12ee5
Fix test for GCC 3.1+ but not strict ANSI C
2013-06-24 15:39:41 +02:00
Christian Heimes
99d6135a15
Define S_IFMT and S_IFLNK in pyport.h so posixmodule.c can use named constants instead
...
of arbitrary looking numbers.
2013-06-23 23:56:05 +02:00
Victor Stinner
c6ebd16a20
Issue #11016 : Try to fix compilaton of the new _stat.c module on Windows
2013-06-23 01:49:42 +02:00
Victor Stinner
36f01ad9ac
Revert changeset 6661a8154eb3: Issue #3329 : Add new APIs to customize memory allocators
...
The new API require more discussion.
2013-06-15 03:37:01 +02:00
Victor Stinner
4d7056258b
Issue #3329 : Add new APIs to customize memory allocators
...
* Add a new PyMemAllocators structure
* New functions:
- PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree(): GIL-free memory
allocator functions
- PyMem_GetRawAllocators(), PyMem_SetRawAllocators()
- PyMem_GetAllocators(), PyMem_SetAllocators()
- PyMem_SetupDebugHooks()
- _PyObject_GetArenaAllocators(), _PyObject_SetArenaAllocators()
* Add unit test for PyMem_Malloc(0) and PyObject_Malloc(0)
* Add unit test for new get/set allocators functions
* PyObject_Malloc() now falls back on PyMem_Malloc() instead of malloc() if
size is bigger than SMALL_REQUEST_THRESHOLD, and PyObject_Realloc() falls
back on PyMem_Realloc() instead of realloc()
* PyMem_Malloc() and PyMem_Realloc() now always call malloc() and realloc(),
instead of calling PyObject_Malloc() and PyObject_Realloc() in debug mode
2013-06-15 00:37:46 +02:00
Brett Cannon
8f5ac5106e
Issue #15767 : Touch up ModuleNotFoundError usage by import.
...
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.
2013-06-12 23:29:18 -04:00
Brett Cannon
b1611e2772
Issue #15767 : Introduce ModuleNotFoundError, a subclass of
...
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.
2013-06-12 16:59:46 -04:00
Richard Oudkerk
ac0ad884d1
Issue #17931 : Resolve confusion on Windows between pids and process handles.
2013-06-05 23:29:30 +01:00
Victor Stinner
7e91e771a9
Close #17931 : Fix PyLong_FromPid() on Windows 64-bit: processes are identified
...
by their HANDLE which is a pointer (and not a long, which is smaller).
2013-06-04 23:56:38 +02:00
Eli Bendersky
6dc32b34dd
Issue #13612 : handle unknown encodings without a buffer overflow.
...
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.
Based on a patch by Serhiy Storchaka.
2013-05-25 05:25:48 -07:00
Serhiy Storchaka
66d53fa9ad
Issue #16986 : ElementTree now correctly parses a string input not only when
...
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:07:51 +03:00
Serhiy Storchaka
1cfebc73e0
Issue #9369 : The types of `char*` arguments of PyObject_CallFunction() and
...
PyObject_CallMethod() now changed to `const char*`.
Based on patches by Jörg Müller and Lars Buitinck.
2013-05-29 18:50:54 +03:00
Benjamin Peterson
da5eb5a31c
don't expand the operand to Py_XINCREF/XDECREF/CLEAR/DECREF multiple times ( closes #17206 )
...
A patch from Illia Polosukhin.
2013-05-27 14:46:14 -07:00
Eli Bendersky
7b3022f24f
Issue #13612 : handle unknown encodings without a buffer overflow.
...
This affects pyexpat and _elementtree. PyExpat_CAPI now exposes a new
function - DefaultUnknownEncodingHandler.
Based on a patch by Serhiy Storchaka.
2013-05-25 05:27:10 -07:00
Serhiy Storchaka
447b6e3c6e
Issue #16986 : ElementTree now correctly parses a string input not only when
...
an internal XML encoding is UTF-8 or US-ASCII.
2013-05-22 17:21:06 +03:00
Antoine Pitrou
fef34e3186
Issue #17937 : Try harder to collect cyclic garbage at shutdown.
2013-05-19 01:11:58 +02:00
Benjamin Peterson
e8e14591eb
rather than passing locals to the class body, just execute the class body in the proper environment
2013-05-16 14:37:25 -05:00
Benjamin Peterson
312595ce3a
hide the __class__ closure from the class body ( #12370 )
2013-05-15 15:26:42 -05:00
Georg Brandl
c032f16d18
post-release update.
2013-05-15 19:42:39 +02:00
Antoine Pitrou
9396356948
Backout c89febab4648 following private feedback by Guido.
...
(Issue #17807 : Generators can now be finalized even when they are part of a reference cycle)
2013-05-14 20:37:52 +02:00
Benjamin Peterson
f6b687fcd4
remove support GCC PyArg_ParseTuple format patch, last seen in 2006
2013-05-12 23:08:28 -05:00
Georg Brandl
88f4dd6451
bump to 3.3.2
2013-05-12 12:51:38 +02:00
Charles-Francois Natali
f28dfdd07b
Issue #17912 : Use a doubly linked-list for thread states.
2013-05-08 21:09:52 +02:00
Antoine Pitrou
04e70d19e7
Issue #17807 : Generators can now be finalized even when they are part of a reference cycle.
2013-05-08 18:12:35 +02:00
Antoine Pitrou
070cb3c9be
Issue #1545463 : At shutdown, defer finalization of codec modules so that stderr remains usable.
...
(should fix Windows buildbot failures on test_gc)
2013-05-08 13:23:25 +02:00
Antoine Pitrou
5f454a07a0
Issue #1545463 : Global variables caught in reference cycles are now garbage-collected at shutdown.
2013-05-06 21:15:57 +02:00
Antoine Pitrou
8408cea0cd
Issue #17094 : Clear stale thread states after fork().
...
Note that this is a potentially disruptive change since it may
release some system resources which would otherwise remain
perpetually alive (e.g. database connections kept in thread-local
storage).
2013-05-05 23:47:09 +02: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
Alexandre Vassalotti
865eaa1b53
Closes #17892 : Fix the name of _PyObject_CallMethodObjIdArgs
2013-05-02 10:44:04 -07:00
Benjamin Peterson
3b0431dc60
check local class namespace before reaching for cells ( closes #17853 )
2013-04-30 09:41:40 -04:00
Victor Stinner
f476405503
fix typo in a comment
2013-04-18 23:21:19 +02:00
Victor Stinner
8f674ccd64
Close #17694 : Add minimum length to _PyUnicodeWriter
...
* Add also min_char attribute to _PyUnicodeWriter structure (currently unused)
* _PyUnicodeWriter_Init() has no more argument (except the writer itself):
min_length and overallocate must be set explicitly
* In error handlers, only enable overallocation if the replacement string
is longer than 1 character
* CJK decoders don't use overallocation anymore
* Set min_length, instead of preallocating memory using
_PyUnicodeWriter_Prepare(), in many decoders
* _PyUnicode_DecodeUnicodeInternal() checks for integer overflow
2013-04-17 23:02:17 +02:00
Victor Stinner
a0dd0213cc
Close #17693 : Rewrite CJK decoders to use the _PyUnicodeWriter API instead of
...
the legacy Py_UNICODE API.
Add also a new _PyUnicodeWriter_WriteChar() function.
2013-04-11 22:09:04 +02:00
Georg Brandl
bf561020a7
Post-release update for 3.3.1
2013-04-06 16:43:06 +02:00
Georg Brandl
9aa23c5671
Bump to 3.3.1.
2013-04-06 09:40:02 +02:00
Victor Stinner
cfc4c13b04
Add _PyUnicodeWriter_WriteSubstring() function
...
Write a function to enable more optimizations:
* If the substring is the whole string and overallocation is disabled, just
keep a reference to the string, don't copy characters
* Avoid a call to the expensive _PyUnicode_FindMaxChar() function when
possible
2013-04-03 01:48:39 +02:00
Georg Brandl
d08d0b1c69
Bump to 3.3.1rc1.
2013-03-23 16:05:12 +01:00
Kristján Valur Jónsson
684cd0e643
Issue #17522 : Add the PyGILState_Check() API.
2013-03-23 03:36:16 -07:00
Kristján Valur Jónsson
d7009c6913
Issue #16475 : Support object instancing, recursion and interned strings
...
in marshal
2013-03-19 18:02:10 -07:00
Benjamin Peterson
cda75be02a
unify some ast.argument's attrs; change Attribute column offset ( closes #16795 )
...
Patch from Sven Brauch.
2013-03-18 10:48:58 -07:00
Benjamin Peterson
7701e6ef93
make some freezing related stuff const
2013-03-13 14:06:39 -05:00
Terry Jan Reedy
8e7586bd44
Issue #17047 : remove doubled words added in 3.4,
...
as reported by Serhiy Storchaka and Matthew Barnett.
2013-03-11 18:38:13 -04:00
Benjamin Peterson
00e9886bd9
Add PyDict_SetDefault. ( closes #17327 )
...
Patch by Stefan Behnel and I.
2013-03-07 22:16:29 -05:00
Serhiy Storchaka
d7be03aafa
Issue #1783 : Remove declarations of nonexistent private variables.
2013-02-01 13:15:17 +02:00
Serhiy Storchaka
89fa86b035
Issue #1783 : Remove declarations of nonexistent private variables.
2013-02-01 13:14:47 +02:00
Serhiy Storchaka
04d86c7c87
Issue #1783 : Remove declarations of nonexistent private variables.
2013-02-01 13:14:20 +02:00
Serhiy Storchaka
441d30fac7
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:26:26 +02:00
Serhiy Storchaka
9101e23ff6
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:41:45 +02:00
Serhiy Storchaka
7898043868
Issue #15989 : Fix several occurrences of integer overflow
...
when result of PyLong_AsLong() narrowed to int without checks.
2013-01-15 01:12:17 +02:00
Christian Heimes
fb4b7b40e4
Issue #16881 : Fix Py_ARRAY_LENGTH macro for GCC < 3.1.
2013-01-06 16:42:20 +01:00
Christian Heimes
61dbb00869
Issue #16881 : Fix Py_ARRAY_LENGTH macro for GCC < 3.1.
2013-01-06 16:41:56 +01:00
Andrew Svetlov
192b10b371
Revert back PyCFunction_New macro. Keep PyCFunction_NewEx usage in python core modules ( #15422 )
2012-12-26 22:52:04 +02:00
Andrew Svetlov
3ba3a3ee56
Issue #15422 : get rid of PyCFunction_New macro
2012-12-25 13:32:35 +02:00
Gregory P. Smith
27dc02e8c5
Fix the internals of our hash functions to used unsigned values during hash
...
computation as the overflow behavior of signed integers is undefined.
NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done. I added the comment that my change in 3.2 added so that the
code would match up. Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.
In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent. We could work to get rid of the -fwrapv requirement
in 3.4 but that requires more planning.
Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).
Cleanup only - no functionality or hash values change.
2012-12-10 19:51:29 -08:00
Gregory P. Smith
c2176e46d7
Fix the internals of our hash functions to used unsigned values during hash
...
computation as the overflow behavior of signed integers is undefined.
NOTE: This change is smaller compared to 3.2 as much of this cleanup had
already been done. I added the comment that my change in 3.2 added so that the
code would match up. Otherwise this just adds or synchronizes appropriate UL
designations on some constants to be pedantic.
In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.
Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).
Cleanup only - no functionality or hash values change.
2012-12-10 18:32:53 -08:00
Gregory P. Smith
27cbcd6241
Fix the internals of our hash functions to used unsigned values during hash
...
computation as the overflow behavior of signed integers is undefined.
In practice we require compiling everything with -fwrapv which forces overflow
to be defined as twos compliment but this keeps the code cleaner for checkers
or in the case where someone has compiled it without -fwrapv or their
compiler's equivalent.
Found by Clang trunk's Undefined Behavior Sanitizer (UBSan).
Cleanup only - no functionality or hash values change.
2012-12-10 18:15:46 -08:00
Gregory P. Smith
e348c8d154
Using 'long double' to force this structure to be worst case aligned is no
...
longer required as of Python 2.5+ when the gc_refs changed from an int (4
bytes) to a Py_ssize_t (8 bytes) as the minimum size is 16 bytes.
The use of a 'long double' triggered a warning by Clang trunk's
Undefined-Behavior Sanitizer as on many platforms a long double requires
16-byte alignment but the Python memory allocator only guarantees 8 byte
alignment.
So our code would allocate and use these structures with technically improper
alignment. Though it didn't matter since the 'dummy' field is never used.
This silences that warning.
Spelunking into code history, the double was added in 2001 to force better
alignment on some platforms and changed to a long double in 2002 to appease
Tru64. That issue should no loner be present since the upgrade from int to
Py_ssize_t where the minimum structure size increased to 16 (unless anyone
knows of a platform where ssize_t is 4 bytes?) or 24 bytes depending on if the
build uses 4 or 8 byte pointers.
We can probably get rid of the double and this union hack all together today.
That is a slightly more invasive change that can be left for later.
A more correct non-hacky alternative if any alignment issues are still found
would be to use a compiler specific alignment declaration on the structure and
determine which value to use at configure time.
2012-12-10 18:05:05 -08:00
Antoine Pitrou
f9d0b1256f
Issue #13390 : New function :func:`sys.getallocatedblocks()` returns the number of memory blocks currently allocated.
...
Also, the ``-R`` option to regrtest uses this function to guard against memory allocation leaks.
2012-12-09 14:28:26 +01:00
Antoine Pitrou
53f604c794
Issue #16602 : When a weakref's target was part of a long deallocation chain, the object could remain reachable through its weakref even though its refcount had dropped to zero.
...
Thanks to Eugene Toder for diagnosing and reporting the issue.
2012-12-08 21:18:50 +01:00
Antoine Pitrou
f93ed3fa67
Issue #16602 : When a weakref's target was part of a long deallocation chain, the object could remain reachable through its weakref even though its refcount had dropped to zero.
...
Thanks to Eugene Toder for diagnosing and reporting the issue.
2012-12-08 21:17:03 +01:00
Antoine Pitrou
62a0d6ea40
Issue #16602 : When a weakref's target was part of a long deallocation chain, the object could remain reachable through its weakref even though its refcount had dropped to zero.
...
Thanks to Eugene Toder for diagnosing and reporting the issue.
2012-12-08 21:15:26 +01:00
Benjamin Peterson
442f20996d
create NameConstant AST class for None, True, and False literals ( closes #16619 )
2012-12-06 17:41:04 -05:00
Andrew Svetlov
746d0434ae
Update comment: SAVE_EXC_STATE and SWAP_EXC_STATE macroses are saave_exc_state and swap_exc_state functions now.
2012-12-05 17:59:29 +02:00
Andrew Svetlov
c37cfd6709
Update comment: SAVE_EXC_STATE and SWAP_EXC_STATE macroses are saave_exc_state and swap_exc_state functions now.
2012-12-05 17:59:10 +02:00
Victor Stinner
d45c7f8d74
Issue #16455 : On FreeBSD and Solaris, if the locale is C, the
...
ASCII/surrogateescape codec is now used, instead of the locale encoding, to
decode the command line arguments. This change fixes inconsistencies with
os.fsencode() and os.fsdecode() because these operating systems announces an
ASCII locale encoding, whereas the ISO-8859-1 encoding is used in practice.
2012-12-04 01:34:47 +01:00
Mark Dickinson
6e61d18891
Issue 10052: merge fix from 3.2.
2012-12-02 13:21:37 +00:00
Mark Dickinson
ce31f66a6d
Issue 10052: fix failed uint32_t / uint64_t / int32_t / int64_t detection on some platforms.
2012-12-02 13:20:22 +00:00
Mark Dickinson
983bc16c15
Issue 10052: fix failed uint32_t / uint64_t / int32_t / int64_t detection on some platforms.
2012-12-02 12:11:38 +00:00
Benjamin Peterson
e5b45cc5e5
remove unused flag ( closes #16505 )
2012-11-18 20:49:39 -06:00
Stefan Krah
36f021621e
Backport 9dd4638de73b.
2012-11-19 00:54:05 +01:00
Stefan Krah
2cbbed6541
Issue #6308 : Try to fix the termios build failure on HP-UX.
2012-11-19 00:07:18 +01:00
Mark Dickinson
ffdb2c21b3
Issue #16451 : Refactor to remove duplication between range and slice in slice index computations.
2012-11-17 19:18:10 +00:00
Stefan Krah
abaca8cb06
Merge 3.3.
2012-11-12 20:24:09 +01:00
Stefan Krah
6df5cae49a
Issue #15835 : Define PATH_MAX on HP-UX.
2012-11-12 20:14:36 +01:00
Nick Coghlan
e69bfc3fb6
Issue #5765 : Merge from 3.3
2012-11-04 23:53:15 +10:00
Nick Coghlan
aab9c2b2ea
Issue #5765 : Apply a hard recursion limit in the compiler
...
Previously, excessive nesting in expressions would blow the
stack and segfault the interpreter. Now, a hard limit based
on the configured recursion limit and a hardcoded scaling
factor is applied.
2012-11-04 23:14:34 +10:00
Benjamin Peterson
d9c8702c0f
point errors related to nonlocals and globals to the statement declaring them ( closes #10189 )
2012-10-31 20:26:20 -04:00
Benjamin Peterson
742b2f8d7a
make PyGrammar_LabelRepr return a const char * ( closes #16369 )
2012-10-31 13:36:13 -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
Victor Stinner
76df43de30
Issue #16330 : Use surrogate-related macros
...
Patch written by Serhiy Storchaka.
2012-10-30 01:42:39 +01:00
Georg Brandl
3962d5e892
Minor typo fix.
2012-10-28 08:48:28 +01:00
Benjamin Peterson
d0845588b8
make _PyParser_TokenNames const
2012-10-24 08:21:52 -07:00
Christian Heimes
743e0cd6b5
Issue #16166 : Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
...
endianess detection and handling.
2012-10-17 23:52:17 +02:00
Armin Ronacher
74b38b190f
Issue #16148 : Small improvements and cleanup. Added version information
...
to docs.
2012-10-07 10:29:32 +02:00
Victor Stinner
e215d960be
Issue #16147 : Rewrite PyUnicode_FromFormatV() to use _PyUnicodeWriter API
...
* Simplify the code: replace 4 steps with one unique step using the
_PyUnicodeWriter API. PyUnicode_Format() has the same design. It avoids to
store intermediate results which require to allocate an array of pointers on
the heap.
* Use the _PyUnicodeWriter API for speed (and its convinient API):
overallocate the buffer to reduce the number of "realloc()"
* Implement "width" and "precision" in Python, don't rely on sprintf(). It
avoids to need of a temporary buffer allocated on the heap: only use a small
buffer allocated in the stack.
* Add _PyUnicodeWriter_WriteCstr() function
* Split PyUnicode_FromFormatV() into two functions: add
unicode_fromformat_arg().
* Inline parse_format_flags(): the format of an argument is now only parsed
once, it's no more needed to have a subfunction.
* Optimize PyUnicode_FromFormatV() for characters between two "%" arguments:
search the next "%" and copy the substring in one chunk, instead of copying
character per character.
2012-10-06 23:03:36 +02:00
Armin Ronacher
aa9a79d279
Issue #16148 : implemented PEP 424
2012-10-06 14:03:24 +02:00
Ezio Melotti
080a2c087e
#16127 : merge with 3.3.
2012-10-05 03:34:02 +03:00
Ezio Melotti
e7f90375b1
#16127 : remove outdated references to narrow builds. Patch by Serhiy Storchaka.
2012-10-05 03:33:31 +03:00
Jesus Cea
b176203dda
#16135 : Removal of OS/2 support (C code and Docs)
2012-10-05 02:27:40 +02:00
Victor Stinner
90db9c47dc
Enable also ptr==ptr optimization in PyUnicode_Compare()
...
It was already implemented in PyUnicode_RichCompare()
2012-10-04 21:53:50 +02:00
Benjamin Peterson
14fb44e1ba
merge mostly from default
2012-09-29 14:14:19 -04:00
Georg Brandl
ac76833033
Post-release update.
2012-09-29 14:21:25 +02:00
Georg Brandl
08a9012352
Bump version to 3.4.0 alpha 0.
2012-09-29 09:34:13 +02:00
Georg Brandl
99a247fd01
Merge with main repo default branch.
2012-09-29 09:27:15 +02:00
Georg Brandl
c7dcd50e4e
Bump version to 3.3.0 final.
2012-09-29 09:04:54 +02:00
Georg Brandl
b5f91d7eb7
Merge with 3.3.0 release clone.
2012-09-24 07:46:35 +02:00
Georg Brandl
f2487177eb
Post-release updates.
2012-09-24 07:42:20 +02:00
Georg Brandl
8506d3591c
Bump to 3.3.0rc3.
2012-09-23 17:15:21 +02:00
Christian Heimes
fd0ddab97b
GCC doesn't support typeof in strict ansi mode (e.g. -ansi or -std=c89)
2012-09-23 16:15:01 +02:00
Christian Heimes
ab816b5c85
GCC doesn't support typeof in strict ansi mode (e.g. -ansi or -std=c89)
2012-09-23 16:15:01 +02:00
Antoine Pitrou
ca8aa4acf6
Issue #15144 : Fix possible integer overflow when handling pointers as integer values, by using Py_uintptr_t instead of size_t.
...
Patch by Serhiy Storchaka.
2012-09-20 20:56:47 +02:00
Georg Brandl
5497295917
Merge in changes from 3.3.0rc2 release clone.
2012-09-09 11:19:17 +02:00
Georg Brandl
05823f7d67
Post-release updates for 3.3.0rc2.
2012-09-09 11:16:41 +02:00
Antoine Pitrou
5b4faae307
Issue #13992 : The trashcan mechanism is now thread-safe. This eliminates
...
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Note that the trashcan functions are part of the stable ABI, therefore
they have to be kept around for binary compatibility of extensions.
2012-09-06 01:17:42 +02:00
Antoine Pitrou
56cd62c04a
Issue #13992 : The trashcan mechanism is now thread-safe. This eliminates
...
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Because of this change, a couple extension modules compiled for 3.2.4
(those which use the trashcan mechanism, despite it being undocumented)
will not be loadable by 3.2.3 and earlier. However, extension modules
compiled for 3.2.3 and earlier will be loadable by 3.2.4.
2012-09-06 00:59:49 +02:00
Georg Brandl
02f66cbe87
Bump to 3.3.0rc2.
2012-09-09 08:56:46 +02:00
Antoine Pitrou
2b0218a259
Issue #13992 : The trashcan mechanism is now thread-safe. This eliminates
...
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.
Because of this change, a couple extension modules compiled for 3.2.4
(those which use the trashcan mechanism, despite it being undocumented)
will not be loadable by 3.2.3 and earlier. However, extension modules
compiled for 3.2.3 and earlier will be loadable by 3.2.4.
2012-09-06 00:59:49 +02:00
Trent Nelson
81378c8296
Merge whitespace fix from 3.2.
2012-08-31 17:14:31 -04:00
Trent Nelson
2a0fb147ec
Remove trailing whitespace in order to silence warnings on HP-UX.
2012-08-31 17:11:39 -04:00
Georg Brandl
3694401ad2
Post-release updates.
2012-08-25 21:33:08 +02:00
Georg Brandl
4ab4ec258c
Bump to 3.3.0rc1.
2012-08-25 12:16:37 +02:00
Georg Brandl
a026db907f
Post-release updates.
2012-08-12 16:58:55 +02:00
Georg Brandl
1b94ab79a9
Bump to 3.3b2.
2012-08-11 08:49:20 +02:00
Brett Cannon
522267e784
Issue #15610 : The PyImport_ImportModuleEx macro now calls
...
PyImport_ImportModuleLevel() with a 'level' of 0 instead of -1 as the
latter is no longer a valid value.
Also added a versionchanged note for PyImport_ImportModuleLevel() just
in case people don't make the connection between changes to
__import__() and this C function.
2012-08-10 18:55:08 -04:00
Benjamin Peterson
1a1367b821
use char instead of int to please T_BOOL ( closes #15597 )
2012-08-08 17:22:50 -07:00
Jesus Cea
88ca04e6a8
MERGE: Closes #15512 : Correct __sizeof__ support for parser
2012-08-03 14:29:26 +02:00
Jesus Cea
e9c5318967
Closes #15512 : Correct __sizeof__ support for parser
2012-08-03 14:28:37 +02:00
Stefan Krah
7d12d9df13
Issue #12834 : Fix PyBuffer_ToContiguous() for non-contiguous arrays.
2012-07-28 12:25:55 +02:00
Georg Brandl
d08cec6d62
Bump version to 3.3.0b1.
2012-06-26 09:43:40 +02:00
Martin v. Löwis
75aeaa9b18
Issue #11626 : Add _SizeT functions to stable ABI.
2012-06-24 00:00:30 +02:00
Martin v. Löwis
9c56409d33
Issue #15146 : Add PyType_FromSpecWithBases. Patch by Robin Schreiber.
2012-06-23 23:20:45 +02:00
David Malcolm
49526f48fc
Issue #14785 : Add sys._debugmallocstats() to help debug low-level memory allocation issues
2012-06-22 14:55:41 -04:00
Martin v. Löwis
7800f75827
Issue #15042 : Add PyState_AddModule and PyState_RemoveModule.
...
Add version guard for Py_LIMITED_API additions.
Issue #15081 : Document PyState_FindModule.
Patch by Robin Schreiber.
2012-06-22 12:20:55 +02:00
Antoine Pitrou
e67f48ce5e
Issue #14928 : Fix importlib bootstrap issues by using a custom executable (Modules/_freeze_importlib) to build Python/importlib.h.
2012-06-19 22:29:35 +02:00
Nick Coghlan
c40bc09942
Issue #13783 : the PEP 380 implementation no longer expands the public C API
2012-06-17 15:15:49 +10:00
Antoine Pitrou
27f6a3b0bf
Issue #15026 : utf-16 encoding is now significantly faster (up to 10x).
...
Patch by Serhiy Storchaka.
2012-06-15 22:15:23 +02:00
Victor Stinner
2b89fdf7eb
PEP 418: Rename adjusted attribute to adjustable in time.get_clock_info() result
...
Fix also its value on Windows and Linux according to its documentation:
"adjustable" indicates if the clock *can be* adjusted, not if it is or was
adjusted.
In most cases, it is not possible to indicate if a clock is or was adjusted.
2012-06-12 22:46:37 +02:00
Victor Stinner
d7b7c7472b
Issue #14993 : Use standard "unsigned char" instead of a unsigned char bitfield
2012-06-04 22:52:12 +02:00
Barry Warsaw
c58c392da7
Trunk merge.
2012-06-04 09:41:48 -04:00
Benjamin Peterson
ca75b00069
__GNUC__ does not imply gcc version is present, so just check for version ( closes #14994 )
2012-06-03 18:15:15 -07:00
Barry Warsaw
409da157d7
Eric Snow's implementation of PEP 421.
...
Issue 14673: Add sys.implementation
2012-06-03 16:18:47 -04:00
Eli Bendersky
0813168e94
Issue #14090 : fix some minor C API problems in default branch (3.3)
2012-06-03 08:07:47 +03:00
Eli Bendersky
2b6b73e7e1
Issue #14007 : implement doctype() method calling in XMLParser of _elementtree.
...
Includes exposing a doctype handler from expat through pyexpat.
2012-06-01 11:32:34 +03:00
Georg Brandl
8e0ed333b9
Post-release update.
2012-05-31 22:41:51 +02:00
Georg Brandl
f0397b9953
Bump version to 3.3.0a4.
2012-05-30 22:04:31 +02:00
Victor Stinner
d3f0882dfb
Issue #14744 : Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)
...
* Formatting string, int, float and complex use the _PyUnicodeWriter API. It
avoids a temporary buffer in most cases.
* Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just
keep a reference to the string if the output is only composed of one string
* Disable overallocation when formatting the last argument of str%args and
str.format(args)
* Overallocation allocates at least 100 characters: add min_length attribute
to the _PyUnicodeWriter structure
* Add new private functions: _PyUnicode_FastCopyCharacters(),
_PyUnicode_FastFill() and _PyUnicode_FromASCII()
The speed up is around 20% in average.
2012-05-29 12:57:52 +02:00
Richard Oudkerk
3e0a1eb889
Issue #14930 : Make memoryview objects weakrefable.
2012-05-28 21:35:09 +01:00
Eli Bendersky
e1f107e981
s/tabs/spaces, and clean trailing whitespace
2012-05-23 07:09:08 +03:00
Martin v. Löwis
cc10a37ef0
Widen ASDL sequences to Py_ssize_t lengths to better match PEP 353.
2012-05-15 14:45:03 +02:00
Benjamin Peterson
d5a1c44455
PEP 415: Implement suppression of __context__ display with an exception attribute
...
This replaces the original PEP 409 implementation. See #14133 .
2012-05-14 22:09:31 -07:00
Georg Brandl
85a2394467
Post-3.3a3 bump.
2012-05-06 11:20:09 +02:00
Larry Hastings
76ad59b7e8
Issue #14127 : Add ns= parameter to utime, futimes, and lutimes.
...
Removed futimens as it is now redundant.
Changed shutil.copystat to use st_atime_ns and st_mtime_ns from os.stat
and ns= parameter to utime--it once again preserves exact metadata on Linux!
2012-05-03 00:30:07 -07:00
Benjamin Peterson
49a69e4d48
strip is_ prefixes on clock_info fields
2012-05-01 09:38:34 -04:00
Georg Brandl
ab0ef20663
Bump to 3.3.0a3.
2012-05-01 09:35:18 +02:00
Brett Cannon
62228dbd6c
Issues #13959 , 14647: Re-implement imp.reload() in Lib/imp.py.
...
Thanks to Eric Snow for the patch.
2012-04-29 14:38:11 -04:00
Mark Dickinson
e383e82e04
Issue #14521 : Make result of float('nan') and float('-nan') more consistent across platforms. Further, don't rely on Py_HUGE_VAL for float('inf').
2012-04-29 15:31:56 +01:00
Victor Stinner
ec89539ccc
Issue #14428 , #14397 : Implement the PEP 418
...
* Rename time.steady() to time.monotonic()
* On Windows, time.monotonic() uses GetTickCount/GetTickCount64() instead of
QueryPerformanceCounter()
* time.monotonic() uses CLOCK_HIGHRES if available
* Add time.get_clock_info(), time.perf_counter() and time.process_time()
functions
2012-04-29 02:41:27 +02:00
Victor Stinner
d0880d57b0
Simplify and optimize formatlong()
...
* Remove _PyBytes_FormatLong(): inline it into formatlong()
* the input type is always a long, so remove the code for bool
* don't duplicate the string if the length does not change
* Use PyUnicode_DATA() instead of _PyUnicode_AsString()
2012-04-27 23:40:13 +02:00
Martin v. Loewis
4f2f3b6217
Account for shared keys in type's __sizeof__ ( #13903 ).
2012-04-24 19:13:57 +02:00
Victor Stinner
ece58deb9f
Close #14648 : Compute correctly maxchar in str.format() for substrin
2012-04-23 23:36:38 +02:00
Benjamin Peterson
7d95e40721
Implement PEP 412: Key-sharing dictionaries ( closes #13903 )
...
Patch from Mark Shannon.
2012-04-23 11:24:50 -04:00
Larry Hastings
6fe20b3aee
Issue #14127 : Add st_{cma}time_ns fields to os.stat() result object.
2012-04-19 15:07:49 -07:00
Martin v. Löwis
aa2efcb0bc
Issue #14098 : New functions PyErr_GetExcInfo and PyErr_SetExcInfo.
...
Patch by Stefan Behnel.
2012-04-19 14:33:43 +02:00
Brian Curtin
09b86d1196
Fix #14600 . Correct reference handling and naming of ImportError convenience function
2012-04-17 16:57:09 -05:00
Mark Dickinson
b0f00476a0
Issue #13889 : Merge fix from 3.2.
2012-04-15 15:12:37 +01:00
Mark Dickinson
18e3d81f96
Issue #13889 : On MSVC builds, set FPU control word at runtime for all string <-> float conversions. Patch by Samuel Iseli and Stefan Krah.
2012-04-15 15:10:56 +01:00
Brett Cannon
fd0741555b
Issue #2377 : Make importlib the implementation of __import__().
...
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
Benjamin Peterson
633b32a7fa
put PyImportErrorObject with its brothers
2012-04-12 21:50:35 -04:00
Brett Cannon
79ec55e980
Issue #1559549 : Add 'name' and 'path' attributes to ImportError.
...
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.
2012-04-12 20:24:54 -04:00
Georg Brandl
a51497ab86
Merge 3.2.3 release clone.
2012-04-11 12:46:24 +02:00
Georg Brandl
507776e787
Post-release update.
2012-04-11 12:45:12 +02:00
Georg Brandl
44036016b9
Bump to 3.2.3 final.
2012-04-10 19:28:09 +02:00
Eli Bendersky
0069bab115
Reformat by replacing tabs with 4-spaces. Makes the code more PEP-7 compliant
...
and gets rid of some gross formatting on tab=4-space-configured editors.
2012-04-05 06:42:48 +03:00
Antoine Pitrou
a701388de1
Rename _PyIter_GetBuiltin to _PyObject_GetBuiltin, and do not include it in the stable ABI.
2012-04-05 00:04:20 +02:00
Kristján Valur Jónsson
31668b8f7a
Issue #14288 : Serialization support for builtin iterators.
2012-04-03 10:49:41 +00:00
Georg Brandl
d3fca8e07f
Post-release update.
2012-04-02 07:51:45 +02:00
Georg Brandl
50af011ca6
Bump to 3.3.0a2.
2012-04-01 13:49:21 +02:00
Victor Stinner
3c1e48176e
Issue #14383 : Add _PyDict_GetItemId() and _PyDict_SetItemId() functions
...
These functions simplify the usage of static constant Unicode strings.
Generalize the usage of _Py_Identifier in ceval.c and typeobject.c.
2012-03-26 22:10:51 +02:00
Kristján Valur Jónsson
192195a4fc
Merge with 3.2 (Issue #14387 )
2012-03-22 23:13:48 +00:00
Kristján Valur Jónsson
aa589b3ca7
Issue #14387 : undefine 'small' so that it doesn't clash with Windows headers.
2012-03-22 23:10:37 +00:00
Kristján Valur Jónsson
b81e5388b6
Issue #14387 : undefine 'small' so that it doesn't clash with Windows headers.
2012-03-22 23:10:37 +00:00
Antoine Pitrou
d0acb411ef
Issue #14387 : Do not include accu.h from Python.h.
2012-03-22 14:42:18 +01:00
Antoine Pitrou
0197ff97d0
Issue #14387 : Do not include accu.h from Python.h.
2012-03-22 14:38:16 +01:00
Benjamin Peterson
b7f1da5a3c
make _PyNumber_ConvertIntegralToInt static, since it's only used in abstract.c
2012-03-21 14:44:43 -04:00
Stefan Krah
1919b7e72b
Issue #7652 : Integrate the decimal floating point libmpdec library to speed
...
up the decimal module. Performance gains of the new C implementation are
between 12x and 80x, depending on the application.
2012-03-21 18:25:23 +01:00
Georg Brandl
3187749646
Merge 3.2.3rc2 from release clone.
2012-03-18 20:37:43 +01:00
Georg Brandl
1eb0f9de99
Post-release updates for 3.2.3rc2.
2012-03-18 08:36:53 +01:00
Georg Brandl
226af70a59
Bump to 3.2.3rc2.
2012-03-18 07:34:49 +01:00
Benjamin Peterson
2afe6aeae8
perform yield from delegation by repeating YIELD_FROM opcode ( closes #14230 )
...
This allows generators that are using yield from to be seen by debuggers. It
also kills the f_yieldfrom field on frame objects.
Patch mostly from Mark Shannon with a few tweaks by me.
2012-03-15 15:37:39 -05:00
Matthias Klose
5ce31cc4fc
merge 3.2
2012-03-14 23:17:31 +01:00
Matthias Klose
d83be23689
merge 3.1
2012-03-14 23:14:35 +01:00
Matthias Klose
0f4c16e29c
- rename configure.in to configure.ac
...
- change references from configure.in to configure.ac
2012-03-14 23:10:15 +01:00
Victor Stinner
5d272cc6a2
Close #14180 : Factorize code to convert a number of seconds to time_t, timeval or timespec
...
time.ctime(), gmtime(), time.localtime(), datetime.date.fromtimestamp(),
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
raises an OverflowError, instead of a ValueError, if the timestamp does not fit
in time_t.
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now
round microseconds towards zero instead of rounding to nearest with ties going
away from zero.
2012-03-13 13:35:55 +01:00
Antoine Pitrou
b4a92376f8
Fix regression after c8d1df9ac987
...
(PPC buildbot)
2012-03-10 23:43:12 +01:00
Larry Hastings
064474134c
Fix a comment: PySequence_Fast() creates a list, not a tuple.
2012-03-05 22:59:13 -08:00
Georg Brandl
ab8f392ff0
3.3.0a1 is done.
2012-03-05 08:54:46 +01:00
Georg Brandl
6c8850d94d
Bump to 3.3.0a1.
2012-03-04 16:23:53 +01:00
Victor Stinner
c9590ad745
Close #14085 : remove assertions from PyUnicode_WRITE macro
...
Add checks in PyUnicode_WriteChar() and convert PyUnicode_New() assertion to a
test raising a Python exception.
2012-03-04 01:34:37 +01:00
Victor Stinner
643cd68ea4
Issue #13964 : signal.sigtimedwait() timeout is now a float instead of a tuple
...
Add a private API to convert an int or float to a C timespec structure.
2012-03-02 22:54:03 +01:00
Brett Cannon
efb00c0cc1
Issue #14153 Create _Py_device_encoding() to prevent _io from having to import
...
the os module.
2012-02-29 18:31:31 -05:00
Benjamin Peterson
9bd126a1c4
the days of pre-standard C compilers are gone
2012-02-26 15:54:47 -05:00
Nick Coghlan
ab7bf2143e
Close issue #6210 : Implement PEP 409
2012-02-26 17:49:52 +10:00
Georg Brandl
48605a65b5
3.2.3rc1 done
2012-02-25 18:30:26 +01:00
Stefan Krah
9a2d99e28a
- Issue #10181 : New memoryview implementation fixes multiple ownership
...
and lifetime issues of dynamically allocated Py_buffer members (#9990 )
as well as crashes (#8305 , #7433 ). Many new features have been added
(See whatsnew/3.3), and the documentation has been updated extensively.
The ndarray test object from _testbuffer.c implements all aspects of
PEP-3118, so further development towards the complete implementation
of the PEP can proceed in a test-driven manner.
Thanks to Nick Coghlan, Antoine Pitrou and Pauli Virtanen for review
and many ideas.
- Issue #12834 : Fix incorrect results of memoryview.tobytes() for
non-contiguous arrays.
- Issue #5231 : Introduce memoryview.cast() method that allows changing
format and shape without making a copy of the underlying memory.
2012-02-25 12:24:21 +01:00
Victor Stinner
41a863cb81
Issue #13706 : Fix format(int, "n") for locale with non-ASCII thousands separator
...
* Decode thousands separator and decimal point using PyUnicode_DecodeLocale()
(from the locale encoding), instead of decoding them implicitly from latin1
* Remove _PyUnicode_InsertThousandsGroupingLocale(), it was not used
* Change _PyUnicode_InsertThousandsGrouping() API to return the maximum
character if unicode is NULL
* Replace MIN/MAX macros by Py_MIN/Py_MAX
* stringlib/undef.h undefines STRINGLIB_IS_UNICODE
* stringlib/localeutil.h only supports Unicode
2012-02-24 00:37:51 +01:00
Georg Brandl
afe05bd494
Bump version to 3.2.3rc1.
2012-02-23 21:14:12 +01:00
Benjamin Peterson
36a6558891
version now 3.1.5rc1
2012-02-23 10:45:48 -05:00
Antoine Pitrou
528b54b263
Fix test failure in test_cmd_line by initializing the hash secret at the earliest point.
2012-02-21 19:08:26 +01:00
Antoine Pitrou
86838b02f0
Fix test failure in test_cmd_line by initializing the hash secret at the earliest point.
2012-02-21 19:03:47 +01:00
Benjamin Peterson
d9a3591ed1
merge 3.2
2012-02-21 11:12:14 -05:00
Benjamin Peterson
e249dcab7a
merge 3.2
2012-02-21 11:09:13 -05:00
Benjamin Peterson
69e9727657
ensure no one tries to hash things before the random seed is found
2012-02-21 11:08:50 -05:00
Georg Brandl
2fb477c0f0
Merge 3.2: Issue #13703 plus some related test suite fixes.
2012-02-21 00:33:36 +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
8eb1269c34
add generic implementation of a __dict__ descriptor for C types
2012-02-19 19:59:10 -05:00
Victor Stinner
4195b5caea
Backout f8409b3d6449: the PEP 410 is not accepted yet
2012-02-08 23:03:19 +01:00
Victor Stinner
ccd5715a14
PEP 410
2012-02-08 14:31:50 +01:00
Victor Stinner
ed27785b32
Issue #13706 : Add assertions to detect bugs earlier
2012-02-01 00:22:23 +01:00
Antoine Pitrou
7ab4af0427
Issue #13848 : open() and the FileIO constructor now check for NUL characters in the file name.
...
Patch by Hynek Schlawack.
2012-01-29 18:43:36 +01:00
Antoine Pitrou
1334884ff2
Issue #13848 : open() and the FileIO constructor now check for NUL characters in the file name.
...
Patch by Hynek Schlawack.
2012-01-29 18:36:34 +01:00
Benjamin Peterson
ce79852077
use the static identifier api for looking up special methods
...
I had to move the static identifier code from unicodeobject.h to object.h in
order for this to work.
2012-01-22 11:24:29 -05:00
Meador Inge
fa21bf015d
Issue #12705 : Raise SyntaxError when compiling multiple statements as single interactive statement
2012-01-19 01:08:41 -06:00
Amaury Forgeot d'Arc
5e8260b09c
Issue #13727 : Add 3 macros to access PyDateTime_Delta members:
...
PyDateTime_DELTA_GET_DAYS, PyDateTime_DELTA_GET_SECONDS,
PyDateTime_DELTA_GET_MICROSECONDS.
Please use them instead of directly accessing PyDateTime_Delta struct members.
2012-01-17 21:31:50 +01:00
Benjamin Peterson
c0beabc2a5
move LINENO define to where it actually belongs
2012-01-16 17:29:05 -05:00
Meador Inge
da05f454e3
Issue #13629 : Renumber the tokens in token.h to match the _PyParser_TokenNames indexes.
2012-01-15 19:31:57 -06:00
Meador Inge
3388060127
Issue #13629 : Renumber the tokens in token.h to match the _PyParser_TokenNames indexes.
2012-01-15 19:15:36 -06:00
Gregory P. Smith
f5b62a9b31
Consolidate the occurrances of the prime used as the multiplier when hashing.
2012-01-14 15:45:13 -08:00
Gregory P. Smith
63e6c3222f
Consolidate the occurrances of the prime used as the multiplier when hashing
...
to a single #define instead of having several copies in several files.
This excludes the Modules/ tree (datetime and expat both have a copy
for their own purposes with no need for it to be the same).
2012-01-14 15:31:34 -08:00
Benjamin Peterson
d5890c8db5
add str.casefold() ( closes #13752 )
2012-01-14 13:23:30 -05:00
Benjamin Peterson
527c622926
make YieldFrom its own distinct from Yield ( closes #13780 )
2012-01-14 08:58:23 -05:00
Nick Coghlan
76e1bb0ef9
Fix indenting
2012-01-14 16:08:08 +10:00
Amaury Forgeot d'Arc
77b1ecf0ad
Silence compilation warnings on Windows
2012-01-13 22:12:37 +01:00
Nick Coghlan
1f7ce62bd6
Implement PEP 380 - 'yield from' ( closes #11682 )
2012-01-13 21:43:40 +10:00
Benjamin Peterson
b2bf01d824
use full unicode mappings for upper/lower/title case ( #12736 )
...
Also broaden the category of characters that count as lowercase/uppercase.
2012-01-11 18:17:06 -05:00
Victor Stinner
3fe553160c
Add a new PyUnicode_Fill() function
...
It is faster than the unicode_fill() function which was implemented in
formatter_unicode.c.
2012-01-04 00:33:50 +01:00
Antoine Pitrou
5b62942074
Issue #13577 : Built-in methods and functions now have a __qualname__.
...
Patch by sbt.
2011-12-23 12:40:16 +01:00
Victor Stinner
80bc72d5a2
fix PyCompactUnicodeObject doc (test)
2011-12-22 03:23:10 +01:00
Victor Stinner
52e2cc8604
backout 7876cd49300d: Move PyUnicode_WCHAR_KIND outside PyUnicode_Kind enum
2011-12-19 22:14:45 +01:00
Victor Stinner
0ba5af20c0
Move PyUnicode_WCHAR_KIND outside PyUnicode_Kind enum
2011-12-17 22:18:27 +01:00
Victor Stinner
1b57967b96
Issue #13560 : Locale codec functions use the classic "errors" parameter,
...
instead of surrogateescape
So it would be possible to support more error handlers later.
2011-12-17 05:47:23 +01:00
Victor Stinner
f2ea71fcc8
Issue #13560 : Add PyUnicode_EncodeLocale()
...
* Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not
available
* Document my last changes in Misc/NEWS
2011-12-17 04:13:41 +01:00
Victor Stinner
af02e1c85a
Add PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale()
...
* PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale() decode a string
from the current locale encoding
* _Py_char2wchar() writes an "error code" in the size argument to indicate
if the function failed because of memory allocation failure or because of a
decoding error. The function doesn't write the error message directly to
stderr.
* Fix time.strftime() (if wcsftime() is missing): decode strftime() result
from the current locale encoding, not from the filesystem encoding.
2011-12-16 23:56:01 +01:00
Antoine Pitrou
093ce9cd8c
Issue #6695 : Full garbage collection runs now clear the freelist of set objects.
...
Initial patch by Matthias Troffaes.
2011-12-16 11:24:27 +01:00
Benjamin Peterson
bfebb7b54a
improve abstract property support ( closes #11610 )
...
Thanks to Darren Dale for patch.
2011-12-15 15:34:02 -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
Victor Stinner
16e6a80923
PyUnicode_Resize(): warn about canonical representation
...
Call also directly unicode_resize() in unicodeobject.c
2011-12-12 13:24:15 +01:00
Victor Stinner
b0a82a6a7f
Fix PyUnicode_Resize() for compact string: leave the string unchanged on error
...
Fix also PyUnicode_Resize() doc
2011-12-12 13:08:33 +01:00
Victor Stinner
bf6e560d0c
Make PyUnicode_Copy() private => _PyUnicode_Copy()
...
Undocument the function.
Make also decode_utf8_errors() as private (static).
2011-12-12 01:53:47 +01:00
Victor Stinner
7a9105a380
resize_copy() now supports legacy ready strings
2011-12-12 00:13:42 +01:00
Victor Stinner
24c74be9a3
PyUnicode_IS_ASCII() macro ensures that the string is ready
...
It has no sense to check if a not ready string is ASCII or not.
2011-12-12 01:24:20 +01:00
Barry Warsaw
04f6974d84
- Issue #11147 : Fix an unused argument in _Py_ANNOTATE_MEMORY_ORDER. (Fix
...
given by Campbell Barton).
2011-12-05 16:50:41 -05:00
Barry Warsaw
9f57135465
- Issue #11147 : Fix an unused argument in _Py_ANNOTATE_MEMORY_ORDER. (Fix
...
given by Campbell Barton).
2011-12-05 16:45:02 -05:00
Victor Stinner
551ac95733
Py_UNICODE_HIGH_SURROGATE() and Py_UNICODE_LOW_SURROGATE() macros
...
And use surrogates macros everywhere in unicodeobject.c
2011-11-29 22:58:13 +01:00
Jesus Cea
66f412e4dc
MERGE: Closes issue #13488 : Some old preprocessors have problem with #define not in the first column
2011-11-27 05:17:14 +01:00
Jesus Cea
6d47db31f0
Closes issue #13488 : Some old preprocessors have problem with #define not in the first column
2011-11-27 05:16:22 +01:00
Victor Stinner
0fdfceb782
Issue #12567 : The curses module uses Unicode functions for Unicode arguments
...
when it is linked to the ncurses library. It encodes also Unicode strings to
the locale encoding instead of UTF-8.
2011-11-25 22:10:02 +01:00
Antoine Pitrou
86a36b500a
PEP 3155 / issue #13448 : Qualified name for classes and functions.
2011-11-25 18:56:07 +01:00
Antoine Pitrou
6dd381eb62
Issue #12328 : Under Windows, refactor handling of Ctrl-C events and
...
make _multiprocessing.win32.WaitForMultipleObjects interruptible when
the wait_flag parameter is false. Patch by sbt.
2011-11-21 21:26:56 +01:00
Antoine Pitrou
ce4a9da705
Issue #13411 : memoryview objects are now hashable when the underlying object is hashable.
2011-11-21 20:46:33 +01:00
Victor Stinner
f3ae6208c7
PyUnicode_GET_SIZE() checks that PyUnicode_AsUnicode() succeed
...
using an assertion
2011-11-21 02:24:49 +01:00
Victor Stinner
244e12088d
Use Py_uintptr_t for atomic pointers
...
Issue #26161 : Use Py_uintptr_t instead of void* for atomic pointers in
pyatomic.h. Use atomic_uintptr_t when <stdatomic.h> is used.
Using void* causes compilation warnings depending on which implementation of
atomic types is used.
2016-01-22 14:09:55 +01:00
Victor Stinner
77faf69ca1
_PyUnicode_CheckConsistency() also checks maxchar maximum value,
...
not only its minimum value
2011-11-20 18:56:05 +01:00
Victor Stinner
9343999597
Fix PyUnicode_CopyCharacters() doc
2011-11-20 18:29:14 +01:00
Victor Stinner
7c8bbbbb0c
Ensure that Py_UCS4 is 32 bits and Py_UCS2 is 16 bits
2011-11-20 18:28:29 +01:00
Petri Lehtinen
aadc519ceb
Merge branch 3.2 ( closes #13338 )
2011-11-19 22:04:33 +02:00
Petri Lehtinen
8d40f16a60
Issue #13338 : Handle all enumerations in _Py_ANNOTATE_MEMORY_ORDER
...
This allows compiling extension modules with -Wswitch-enum on gcc.
Initial patch by Floris Bruynooghe.
2011-11-19 22:03:10 +02:00
Antoine Pitrou
f34a0cdc6c
Issue #10227 : Add an allocation cache for a single slice object.
...
Patch by Stefan Behnel.
2011-11-18 20:14:34 +01:00
Victor Stinner
6f9568bb1f
Fix misused of "PyUnicodeObject" structure name in unicodeobject.h
2011-11-17 00:12:44 +01:00
Antoine Pitrou
9a812cbc89
Issue #13389 : Full garbage collection passes now clear the freelists for
...
list and dict objects. They already cleared other freelists in the
interpreter.
2011-11-15 00:00:12 +01:00
Martin v. Löwis
1db7c13be1
Port encoders from Py_UNICODE API to unicode object API.
2011-11-10 18:24:32 +01:00
Martin v. Löwis
d10759f6ed
Make _PyUnicode_FromId return borrowed references.
...
http://mail.python.org/pipermail/python-dev/2011-November/114347.html
2011-11-07 13:00:05 +01:00
Victor Stinner
e30c0a1014
Fix gdb/libpython.py for not ready Unicode strings
...
_PyUnicode_CheckConsistency() checks also hash and length value for not ready
Unicode strings.
2011-11-04 20:54:05 +01:00
Victor Stinner
7931d9a951
Replace PyUnicodeObject type by PyObject
...
* _PyUnicode_CheckConsistency() now takes a PyObject* instead of void*
* Remove now useless casts to PyObject*
2011-11-04 00:22:48 +01:00
Martin v. Löwis
23e275b3ad
Port UCS1 and charmap codecs to new API.
2011-11-02 18:02:51 +01: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
Martin v. Löwis
0d3072e98d
Drop Py_UCS4_ functions. Closes #13246 .
2011-10-31 08:40:56 +01:00
Victor Stinner
9db1a8b69f
Replace PyUnicodeObject* by PyObject* where it was irrevelant
...
A Unicode string can now be a PyASCIIObject, PyCompactUnicodeObject or
PyUnicodeObject. Aliasing a PyASCIIObject* or PyCompactUnicodeObject* to
PyUnicodeObject* is wrong
2011-10-23 20:04:37 +02:00
Nick Coghlan
9715d26305
Merge issue 1294232 patch from 3.2
2011-10-23 22:36:42 +10:00
Ezio Melotti
931b8aac80
#12753 : Add support for Unicode name aliases and named sequences.
2011-10-21 21:57:36 +03:00
Victor Stinner
55c7e00fc0
Simplify _PyUnicode_COMPACT_DATA() macro
2011-10-18 23:32:53 +02:00
Victor Stinner
3a50e7056e
Issue #12281 : Rewrite the MBCS codec to handle correctly replace and ignore
...
error handlers on all Windows versions. The MBCS codec is now supporting all
error handlers, instead of only replace to encode and ignore to decode.
2011-10-18 21:21:00 +02:00
Antoine Pitrou
e60698317d
Fix build under Windows
2011-10-15 16:38:20 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Victor Stinner
f5cff56a1b
Issue #13088 : Add shared Py_hexdigits constant to format a number into base 16
2011-10-14 02:13:11 +02:00
Victor Stinner
8813104e53
Simplify PyUnicode_MAX_CHAR_VALUE
...
Use PyUnicode_IS_ASCII instead of PyUnicode_IS_COMPACT_ASCII, so the following
test can be removed:
PyUnicode_DATA(op) == (((PyCompactUnicodeObject *)(op))->utf8)
2011-10-13 01:12:01 +02:00
Antoine Pitrou
6b4883dec0
PEP 3151 / issue #12555 : reworking the OS and IO exception hierarchy.
2011-10-12 02:54:14 +02:00
Victor Stinner
794d567b17
any_find_slice() doesn't use callbacks anymore
...
* Call directly the right find/rfind method: allow inlining functions
* Remove Py_LOCAL_CALLBACK (added for any_find_slice)
2011-10-10 03:21:36 +02:00
Martin v. Löwis
87da872c69
Drop extra semicolon.
2011-10-09 11:54:42 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Martin v. Löwis
c47adb04b3
Change PyUnicode_KIND to 1,2,4. Drop _KIND_SIZE and _CHARACTER_SIZE.
2011-10-07 20:55:35 +02:00
Georg Brandl
db6c7f5c33
Update C API docs for PEP 393.
2011-10-07 11:19:11 +02:00
Antoine Pitrou
c61c8d7a5e
Issue #12911 : Fix memory consumption when calculating the repr() of huge tuples or lists.
...
This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.
2011-10-06 19:04:12 +02:00
Antoine Pitrou
eeb7eea1f9
Issue #12911 : Fix memory consumption when calculating the repr() of huge tuples or lists.
...
This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.
2011-10-06 18:57:27 +02:00
Victor Stinner
b066cc6aba
Fix PyUnicode_CHARACTER_SIZE and PyUnicode_KIND_SIZE
2011-10-06 15:54:53 +02:00
Antoine Pitrou
dbf697ae5c
Fix compilation warnings under 64-bit Windows
2011-10-06 15:34:41 +02:00
Éric Araujo
0f4ee93b06
Branch merge
2011-10-06 13:22:21 +02:00
Victor Stinner
1d4b35f4e5
rephrase PyUnicode_1BYTE_KIND documentation
2011-10-06 01:51:19 +02:00
Victor Stinner
fb9ea8c57e
Don't check for the maximum character when copying from unicodeobject.c
...
* Create copy_characters() function which doesn't check for the maximum
character in release mode
* _PyUnicode_CheckConsistency() is no more static to be able to use it
in _PyUnicode_FormatAdvanced() (in formatter_unicode.c)
* _PyUnicode_CheckConsistency() checks the string hash
2011-10-06 01:45:57 +02:00
Éric Araujo
80a348c0a0
Fix typo
2011-10-05 01:11:12 +02:00
Antoine Pitrou
310638ea81
Try to fix linking failures under Windows
2011-10-04 14:44:35 +02:00
Antoine Pitrou
36225c6a99
Try to fix linking failures under Windows
2011-10-04 14:43:47 +02:00
Victor Stinner
30134f53fc
Complete documentation of compact ASCII strings
2011-10-04 01:32:45 +02:00
Victor Stinner
a41463c203
Document utf8_length and wstr_length states
...
Ensure these states with assertions in _PyUnicode_CheckConsistency().
2011-10-04 01:05:08 +02:00
Victor Stinner
7f11ad4594
Unicode: document when the wstr pointer is shared with data
...
Add also related assertions to _PyUnicode_CheckConsistency().
2011-10-04 00:00:20 +02:00
Victor Stinner
8cfcbed4e3
Improve string forms and PyUnicode_Resize() documentation
...
Remove also the FIXME for resize_copy(): as discussed with Martin, copy the
string on resize if the string is not resizable is just fine.
2011-10-03 23:19:21 +02:00
Victor Stinner
c3cec7868b
Add asciilib: similar to ucs1, ucs2 and ucs4 library, but specialized to ASCII
...
ucs1, ucs2 and ucs4 libraries have to scan created substring to find the
maximum character, whereas it is not need to ASCII strings. Because ASCII
strings are common, it is useful to optimize ASCII.
2011-10-05 21:24:08 +02:00
Victor Stinner
4d0d54bcba
Document requierements of Unicode kinds
2011-10-05 01:31:05 +02:00
Georg Brandl
07de325672
More fixes.
2011-10-05 16:47:38 +02:00
Georg Brandl
c6bc4c6897
Fix a few typos in the unicode header.
2011-10-05 16:23:09 +02:00
Georg Brandl
4975a9b44d
Fix grammar.
2011-10-05 16:12:21 +02:00
Victor Stinner
b9275c104e
Speedup str[a:b] and PyUnicode_FromKindAndData
...
* str[a:b] doesn't scan the string for the maximum character if the string
is ascii only
* PyUnicode_FromKindAndData() stops if we are sure that we cannot use a
shorter character type. For example, _PyUnicode_FromUCS1() stops if we
have at least one character in range U+0080-U+00FF
2011-10-05 14:01:42 +02:00
Victor Stinner
85041a54bd
_PyUnicode_CheckConsistency() checks utf8 field consistency
2011-10-03 14:42:39 +02:00
Victor Stinner
a3b334da6d
PyUnicode_Ready() now sets ascii=1 if maxchar < 128
...
ascii=1 is no more reserved to PyASCIIObject. Use
PyUnicode_IS_COMPACT_ASCII(obj) to check if obj is a PyASCIIObject (as before).
2011-10-03 13:53:37 +02:00
Victor Stinner
910337b42e
Add _PyUnicode_CheckConsistency() macro to help debugging
...
* Document Unicode string states
* Use _PyUnicode_CheckConsistency() to ensure that objects are always
consistent.
2011-10-03 03:20:16 +02:00
Victor Stinner
37943769ef
PyUnicode_READ_CHAR() ensures that the string is ready
2011-10-02 20:33:18 +02:00
Victor Stinner
7a48ff7e06
Use Py_UCS1 instead of unsigned char in unicodeobject.h
2011-10-02 00:55:25 +02:00
Victor Stinner
cd9950fd09
PyUnicode_WriteChar() raises IndexError on invalid index
...
PyUnicode_WriteChar() raises also a ValueError if the string has more than 1
reference.
2011-10-02 00:34:53 +02:00
Victor Stinner
9f789e7f63
_PyUnicode_AsKind() is *not* part of the stable ABI
2011-10-01 03:57:28 +02:00
Victor Stinner
4584a5ba1a
PyUnicode_CHARACTER_SIZE(): add a reference to PyUnicode_KIND_SIZE()
2011-10-01 02:39:37 +02:00
Victor Stinner
034f6cf10c
Add PyUnicode_Copy() function, include it to the public API
2011-09-30 02:26:44 +02:00
Victor Stinner
d8f6510acc
_PyUnicode_Ready() cannot be used on ready strings anymore
...
* Change its prototype: PyObject* instead of PyUnicodeoObject*.
* Remove an old assertion, the result of PyUnicode_READY (_PyUnicode_Ready)
must be checked instead
2011-09-29 19:43:17 +02:00
Victor Stinner
bc8b81bc4e
Move _PyUnicode_UTF8() and _PyUnicode_UTF8_LENGTH() outside unicodeobject.h
...
Move these macros to unicodeobject.c
2011-09-29 19:31:34 +02:00
Victor Stinner
a0702ab1fe
Add a note in PyUnicode_CopyCharacters() doc: it doesn't write null character
...
Cleanup also the code (avoid the goto).
2011-09-29 14:14:38 +02:00
Victor Stinner
f0ddadcf2e
Rename Py_BUILD_ASSERT to Py_BUILD_ASSERT_EXPR
...
To make it clearer that Py_BUILD_ASSERT_EXPR(cond) cannot be used as
assert(cond).
2011-09-29 12:43:18 +02:00
Victor Stinner
573696a9ca
pymacro.h: Inline _Py_ARRAY_LENGTH_CHECK() and add http://ccodearchive.net/
2011-09-29 12:12:39 +02:00
Victor Stinner
dfb866d127
Enhance Py_ARRAY_LENGTH(): fail at build time if the argument is not an array
...
Move other various macros to pymcacro.h
Thanks Rusty Russell for having written these amazing C macros!
2011-09-29 01:12:24 +02:00
Victor Stinner
2bdc7f591b
Move code related to compile from Python.h to compile.h
2011-09-29 01:04:08 +02:00
Victor Stinner
f5ca1a21a5
PyUnicode_CopyCharacters() fails if 'to' has more than 1 reference
2011-09-28 23:54:59 +02:00
Ezio Melotti
2aa2b3b4d5
Clean up a few tabs that went in with PEP393.
2011-09-29 00:58:57 +03:00
Victor Stinner
17222160e7
Mark _PyUnicode_FindMaxCharAndNumSurrogatePairs() as private
2011-09-28 22:15:37 +02:00
Victor Stinner
157f83fcfc
Strip trailing spaces in unicodeobject.[ch]
2011-09-28 21:41:31 +02:00
Victor Stinner
be78eaf2de
PyUnicode_CopyCharacters() checks for buffer and character overflow
...
It now returns the number of written characters on success.
2011-09-28 21:37:03 +02:00
Victor Stinner
fb5f5f2420
Mark PyUnicode_CONVERT_BYTES as private
2011-09-28 21:39:49 +02:00
Georg Brandl
4cb0de246c
Rename new macros to conform to naming rules (function macros have "Py" prefix, not "PY").
2011-09-28 21:49:49 +02:00
Victor Stinner
5ce1b0dbc0
Set Py_UNICODE_REPLACEMENT_CHARACTER type to Py_UCS4, instead of Py_UNICODE
2011-09-28 20:29:27 +02:00
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Mark Dickinson
0390151100
Fix typo in comment: _PyHash_Double -> _Py_HashDouble.
2011-09-24 16:24:56 +01:00
Victor Stinner
f955eb210f
Merge 3.2: Fix PyUnicode_AsWideCharString() doc
...
- Fix PyUnicode_AsWideCharString() doc: size doesn't contain the null
character
- Fix spelling of the null character
2011-09-06 02:01:29 +02:00
Victor Stinner
d88d9836c5
Fix PyUnicode_AsWideCharString() doc: size doesn't contain the null character
...
Fix also spelling of the null character.
2011-09-06 02:00:05 +02:00
Georg Brandl
06ee020961
Post-release version bump.
2011-09-04 08:36:22 +02:00
Georg Brandl
3484a8771c
Merge with release clone.
2011-09-04 08:35:54 +02:00
Benjamin Peterson
e35dc5110f
merge 3.2
2011-09-01 16:33:56 -04:00
Benjamin Peterson
eff61f6927
make sure to initialize the method wrapper type
2011-09-01 16:32:31 -04:00
Charles-François Natali
ac7e9e058d
Issue #12287 : Fix a stack corruption in ossaudiodev module when the FD is
...
greater than FD_SETSIZE.
2011-08-28 18:10:27 +02:00
Charles-François Natali
aa26b27503
Issue #12287 : Fix a stack corruption in ossaudiodev module when the FD is
...
greater than FD_SETSIZE.
2011-08-28 17:51:43 +02:00
Georg Brandl
b0993bc78d
Bump to 3.2.2.
2011-09-03 11:17:55 +02:00
Ezio Melotti
8c9375bb59
#10542 : Add 4 macros to work with surrogates: Py_UNICODE_IS_SURROGATE, Py_UNICODE_IS_HIGH_SURROGATE, Py_UNICODE_IS_LOW_SURROGATE, Py_UNICODE_JOIN_SURROGATES.
2011-08-22 20:03:25 +03:00
Georg Brandl
666ed0b84d
Post-release steps.
2011-08-13 20:19:09 +02:00
Georg Brandl
b3f0ce4d1e
Bump version to 3.2.2rc1.
2011-08-13 11:34:58 +02:00
Brian Curtin
7d2f9e1342
Add Py_RETURN_NOTIMPLEMENTED macro. Fixes #12724 .
2011-08-10 20:05:21 -05:00
Benjamin Peterson
832bfe2ebd
add a AST validator ( closes #12575 )
2011-08-09 16:15:04 -05:00
Benjamin Peterson
450bb594c8
forgotten in f578ca44193d
2011-08-09 16:14:45 -05:00
Benjamin Peterson
e249841903
add a asdl bytes type, so Bytes.s be properly typechecked
2011-08-09 16:08:39 -05:00
Sandro Tosi
1e8d8fd01d
#10741 : merge with 3.2
2011-08-08 00:17:43 +02:00
Sandro Tosi
61baee0ee7
#10741 : add documentation for PyGILState_GetThisThreadState()
2011-08-08 00:16:54 +02:00
Benjamin Peterson
76f7f4d979
excise the remains of STOP_CODE, which hasn't done anything useful for years
2011-07-17 22:49:50 -05:00
Georg Brandl
bb9c7d0b91
Post-release steps for 3.2.1.
2011-07-09 10:56:06 +02:00
Georg Brandl
cd0dc16fdc
Bump version to 3.2.1.
2011-07-09 08:56:21 +02:00
Antoine Pitrou
370092071b
Issue #11863 : Remove support for legacy systems deprecated in Python 3.2
...
(following PEP 11). These systems are systems using Mach C Threads,
SunOS lightweight processes, GNU pth threads and IRIX threads.
2011-07-08 23:47:50 +02:00
Benjamin Peterson
ae10c0653e
add patchlevel to version string
2011-07-08 13:39:35 -05:00
Victor Stinner
99b9538636
Issue #9642 : Uniformize the tests on the availability of the mbcs codec
...
Add a new HAVE_MBCS define.
2011-07-04 14:23:54 +02:00
Georg Brandl
7d10a2d88a
Post-release steps.
2011-07-04 08:20:48 +02:00
Georg Brandl
d4fa7ed8db
Bump to 3.2.1rc2.
2011-07-03 09:41:27 +02:00
Benjamin Peterson
9003760991
map cells to arg slots at code creation time ( closes #12399 )
...
This removes nested loops in PyEval_EvalCodeEx.
2011-06-25 22:54:45 -05:00
Benjamin Peterson
acde6a0a40
onto 3.1.5
2011-06-11 11:33:01 -05:00
Benjamin Peterson
d858df20d0
bump to 3.1.4
2011-06-11 09:58:58 -05:00
Benjamin Peterson
9a63745273
bump to 3.1.4rc1
2011-05-29 16:06:00 -05:00
Benjamin Peterson
43af12b0b4
unify TryExcept and TryFinally ( closes #12199 )
2011-05-29 11:43:10 -05:00
Benjamin Peterson
bf1bbc1452
reflect with statements with multiple items in the AST ( closes #12106 )
2011-05-27 13:58:08 -05:00
Benjamin Peterson
04778a8150
make PyImport_ImportModuleLevel's first arg const like similiar functions ( closes #12173 )
2011-05-25 09:29:00 -05:00
Georg Brandl
d079367044
Set up branch to be rc2 next.
2011-05-21 17:36:20 +02:00