Commit graph

2319 commits

Author SHA1 Message Date
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