Serhiy Storchaka
58cf607d13
Issue #12892 : The utf-16* and utf-32* codecs now reject (lone) surrogates.
...
The utf-16* and utf-32* encoders no longer allow surrogate code points
(U+D800-U+DFFF) to be encoded.
The utf-32* decoders no longer decode byte sequences that correspond to
surrogate code points.
The surrogatepass error handler now works with the utf-16* and utf-32* codecs.
Based on patches by Victor Stinner and Kang-Hao (Kenny) Lu.
2013-11-19 11:32:41 +02:00
Victor Stinner
b8fb197aa0
Issue #19513 : Simplify list_repr()
2013-11-18 22:15:44 +01:00
Victor Stinner
5c733473f2
Issue #19513 : repr(list) now uses the PyUnicodeWriter API, it is faster than
...
the PyAccu API
2013-11-18 21:11:57 +01:00
Victor Stinner
6989ba0174
Issue #19581 : Change the overallocation factor of _PyUnicodeWriter on Windows
...
On Windows, a factor of 50% gives best performances.
2013-11-18 21:08:39 +01:00
Larry Hastings
ed4a1c5703
Argument Clinic: rename "self" to "module" for module-level functions.
2013-11-18 09:32:13 -08:00
Ezio Melotti
745d54d2fa
#17806 : Added keyword-argument support for "tabsize" to str/bytes.expandtabs().
2013-11-16 19:10:57 +02:00
Nick Coghlan
4b9b936429
Don't decref exc too soon
2013-11-16 00:34:13 +10:00
Victor Stinner
46ef31953e
Issue #19429 , #19437 : fix error handling in the OSError constructor
2013-11-14 22:31:41 +01:00
Benjamin Peterson
e109ee8205
fix refleaks
2013-11-13 23:49:49 -05:00
Benjamin Peterson
079c998872
adjust style
2013-11-13 23:25:01 -05:00
Christian Heimes
6a3db25c70
Issue #17828 : _PyObject_GetDictPtr() may return NULL instead of a PyObject**
...
CID 1128792: Dereference null return value (NULL_RETURNS)
2013-11-14 01:47:14 +01:00
Christian Heimes
507eabdf11
Issue #17828 : va_start() must be accompanied by va_end()
...
CID 1128793: Missing varargs init or cleanup (VARARGS)
2013-11-14 01:39:35 +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
59799a8399
Don't use deprecated function PyUnicode_GET_SIZE()
...
Replace it with PyUnicode_GET_LENGTH() or PyUnicode_AsUnicodeAndSize()
2013-11-13 14:17:30 +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
66b3270975
_Py_normalize_encoding(): explain how the value 6 was computed
2013-11-07 23:12:23 +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
07e9e380f9
frameobject.c: Use an identifer instead of creating explicitly an interned
...
string for "__builtins__" literal string
2013-11-07 22:22:39 +01:00
Victor Stinner
df23e30bea
Fix _Py_normalize_encoding(): ensure that buffer is big enough to store "utf-8"
...
if the input string is NULL
2013-11-07 13:33:36 +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
Ezio Melotti
a5b9599538
#17080 : improve error message of float/complex when the wrong type is passed.
2013-11-07 19:18:34 +02:00
Victor Stinner
53e9ec48e5
Issue #19512 : Use the new _PyId_builtins identifier
2013-11-07 00:43:05 +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
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
7a07e451a4
Issue #19512 : Py_ReprEnter() and Py_ReprLeave() now use an identifier for the
...
"Py_Repr" dictionary key
2013-11-06 18:57:29 +01:00
Victor Stinner
21ea21ef6d
Issue #19424 : PyUnicode_CompareWithASCIIString() normalizes memcmp() result
...
to -1, 0, 1
2013-11-04 11:28:26 +01:00
Victor Stinner
f0c7b2af05
Issue #16286 : remove duplicated identity check from unicode_compare()
...
Move the test to PyUnicode_Compare()
2013-11-04 11:27:14 +01:00
Victor Stinner
fd9e44db37
Issue #16286 : optimize PyUnicode_RichCompare() for identical strings (same
...
pointer) for any operator, not only Py_EQ and Py_NE.
Code of bytes_richcompare() and PyUnicode_RichCompare() is now closer.
2013-11-04 11:23:05 +01:00
Victor Stinner
c8bc5377ac
Issue #16286 : write a new subfunction bytes_compare_eq()
...
* cleanup bytes_richcompare()
* PyUnicode_RichCompare(): replace a test with a XOR
2013-11-04 11:08:10 +01:00
Victor Stinner
e1b1592fd4
Issue #19424 : Fix a compiler warning on comparing signed/unsigned size_t
...
Patch written by Zachary Ware.
2013-11-03 13:53:12 +01:00
Victor Stinner
a6b9b071a3
Issue #19424 : Fix a compiler warning
...
memcmp() just takes raw pointers
2013-10-30 18:27:13 +01:00
Victor Stinner
602f7cf0b9
Issue #19424 : Optimize PyUnicode_CompareWithASCIIString()
...
Use fast memcmp() instead of a loop using the slow PyUnicode_READ() macro.
strlen() is still necessary to check Unicode string containing null bytes.
2013-10-29 23:31:50 +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
68b674c9d4
Issue #19437 : Fix _PyUnicode_New() (constructor of legacy string), set all
...
attributes before checking for error. The destructor expects all attributes to
be set. It is now safe to call Py_DECREF(unicode) in the constructor.
2013-10-29 19:31:43 +01:00
Victor Stinner
0b0c867178
Issue #19437 : Fix PyObject_CallFunction(), handle Py_VaBuildValue() and
...
PyTuple_New() failure
2013-10-29 19:29:52 +01:00
Victor Stinner
fa3ba4c3bc
Issue #18609 : Add a fast-path for "iso8859-1" encoding
...
On AIX, the locale encoding may be "iso8859-1", which was not a known syntax of
the legacy ISO 8859-1 encoding.
Using a C codec instead of a Python codec is faster but also avoids tricky
issues during Python startup or complex code.
2013-10-29 11:34:05 +01:00
Victor Stinner
bebba5059c
fix indent
2013-10-29 10:56:34 +01:00
Victor Stinner
cc64eb5b9f
Issue #18408 : Fix bytearrayiter.partition()/rpartition(), handle
...
PyByteArray_FromStringAndSize() failure (ex: on memory allocation failure)
2013-10-29 03:15:37 +01:00
Victor Stinner
986e224d5a
Issue #18408 : Fix error handling in PyBytes_FromObject()
...
_PyBytes_Resize(&new) sets new to NULL on error, don't call Py_DECREF() with NULL.
2013-10-29 03:14:22 +01:00
Victor Stinner
a5afb58986
Issue #18408 : Fix PyUnicode_AsUTF8AndSize(), raise MemoryError exception on
...
memory allocation failure
2013-10-29 01:28:23 +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
Serhiy Storchaka
f740d467bf
Issue #19369 : Optimized the usage of __length_hint__().
2013-10-24 23:19:51 +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
Serhiy Storchaka
55e092f545
Issue #19279 : UTF-7 decoder no more produces illegal strings.
2013-10-19 20:39:28 +03:00
Serhiy Storchaka
35804e4c63
Issue #19279 : UTF-7 decoder no more produces illegal strings.
2013-10-19 20:38:19 +03:00
Larry Hastings
3182680210
Issue #16612 : Add "Argument Clinic", a compile-time preprocessor
...
for C files to generate argument parsing code. (See PEP 436.)
2013-10-19 00:09:25 -07:00
Benjamin Peterson
94d08d908b
upgrade unicode db to 6.3.0 ( closes #19221 )
2013-10-10 17:24:45 -04:00
Victor Stinner
6cf185dc06
Issue #18874 : _PyObject_Malloc/Realloc/Free() now falls back on
...
_PyMem_RawMalloc/Realloc/Free, instead of _PyMem_Malloc/Realloc/Free. So it
becomes possible to use the fast pymalloc allocator for the PYMEM_DOMAIN_MEM
domain (PyMem_Malloc/Realloc/Free functions).
2013-10-10 15:58:42 +02:00
Victor Stinner
7c74de4d00
Issue #18874 : PyCode_New() now ensures that the filename is a ready Unicode
...
string. This change does nothing is most cases, but it is useful on Windows in
some cases.
2013-10-10 15:55:14 +02:00