summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* Issue #13575: there is only one class type.Florent Xicluna2011-12-121-19/+12
|
* Issue #13577: various kinds of descriptors now have a __qualname__ attribute.Antoine Pitrou2011-12-121-0/+51
| | | | Patch by sbt.
* PyUnicode_Resize(): warn about canonical representationVictor Stinner2011-12-121-12/+13
| | | | Call also directly unicode_resize() in unicodeobject.c
* Fix PyUnicode_Resize() for compact string: leave the string unchanged on errorVictor Stinner2011-12-121-20/+9
| | | | Fix also PyUnicode_Resize() doc
* Make PyUnicode_Copy() private => _PyUnicode_Copy()Victor Stinner2011-12-122-7/+7
| | | | | | Undocument the function. Make also decode_utf8_errors() as private (static).
* resize_copy() now supports legacy ready stringsVictor Stinner2011-12-111-13/+15
|
* Rewrite PyUnicode_Append(); unicode_modifiable() is more strictVictor Stinner2011-12-111-79/+84
| | | | | | | | | | | | | * Rename unicode_resizable() to unicode_modifiable() * Rename _PyUnicode_Dirty() to unicode_check_modifiable() to make it clear that the function is private * Inline PyUnicode_Concat() and unicode_append_inplace() in PyUnicode_Append() to simplify the code * unicode_modifiable() return 0 if the hash has been computed or if the string is not an exact unicode string * Remove _PyUnicode_DIRTY(): no need to reset the hash anymore, because if the hash has already been computed, you cannot modify a string inplace anymore * PyUnicode_Concat() checks for integer overflow
* Create unicode_result_unchanged() subfunctionVictor Stinner2011-12-111-69/+48
|
* Fix fixup() for unchanged unicode subtypeVictor Stinner2011-12-111-33/+33
| | | | If maxchar_new == 0 and self is a unicode subtype, return u instead of duplicating u.
* unicode_fromascii() doesn't check string content twice in debug modeVictor Stinner2011-12-111-6/+3
| | | | _PyUnicode_CheckConsistency() also checks string content.
* Call directly PyUnicode_DecodeUTF8Stateful() instead of PyUnicode_DecodeUTF8()Victor Stinner2011-12-111-33/+14
| | | | | | | | * Remove micro-optimization from PyUnicode_FromStringAndSize(): PyUnicode_DecodeUTF8Stateful() has already these optimizations (for size=0 and one ascii char). * Rename utf8_max_char_size_and_char_count() to utf8_scanner(), and remove an useless variable
* Use directly unicode_empty instead of PyUnicode_New(0, 0)Victor Stinner2011-12-111-6/+12
|
* Move the slowest UTF-8 decoder to its own subfunctionVictor Stinner2011-12-111-128/+98
| | | | | | | * Create decode_utf8_errors() * Reuse unicode_fromascii() * decode_utf8_errors() doesn't refit at the beginning * Remove refit_partial_string(), use unicode_adjust_maxchar() instead
* Fix error handling in resize_compact()Victor Stinner2011-12-111-5/+9
|
* PyUnicode_FromWideChar() and PyUnicode_FromUnicode() raise a ValueError if aVictor Stinner2011-12-081-33/+34
| | | | character in not in range [U+0000; U+10ffff].
* Issue #13503: Use a more efficient reduction format for bytearrays withAntoine Pitrou2011-12-051-10/+42
| | | | | | | pickle protocol >= 3. The old reduction format is kept with older protocols in order to allow unpickling under Python 2. Patch by Irmen de Jong.
* Fix PyObject_Repr(): don't call PyUnicode_READY() if res is NULLVictor Stinner2011-12-011-1/+3
|
* Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0)Victor Stinner2011-12-011-1/+1
| | | | Create an empty string with the new Unicode API.
* PyObject_Repr() ensures that the result is a ready Unicode stringVictor Stinner2011-12-011-0/+8
| | | | | And PyObject_Str() and PyObject_Repr() don't make strings ready in debug mode to ensure that the caller makes the string ready before using it.
* Py_UNICODE_HIGH_SURROGATE() and Py_UNICODE_LOW_SURROGATE() macrosVictor Stinner2011-11-291-26/+19
| | | | And use surrogates macros everywhere in unicodeobject.c
* Merge headsAntoine Pitrou2011-11-263-118/+113
|\
| * Close #13093: PyUnicode_EncodeDecimal() doesn't support error handlersVictor Stinner2011-11-251-113/+18
| | | | | | | | | | different than "strict" anymore. The caller was unable to compute the size of the output buffer: it depends on the error handler.
| * PEP 3155 / issue #13448: Qualified name for classes and functions.Antoine Pitrou2011-11-252-5/+95
| |
* | Better resolution for issue #11849: Ensure that free()d memory arenas are ↵Antoine Pitrou2011-11-261-15/+22
|/ | | | | | really released on POSIX systems supporting anonymous memory mappings. Patch by Charles-François Natali.
* and back to the "magic" formula (with a comment) it isBenjamin Peterson2011-11-231-15/+3
|
* cave to those who like readable codeBenjamin Peterson2011-11-231-1/+15
|
* fix compiler warning by implementing this more cleverlyBenjamin Peterson2011-11-221-6/+1
|
* find_maxchar_surrogates() reuses surrogate macrosVictor Stinner2011-11-221-4/+4
|
* Issue #13441: Disable temporary the check on the maximum character untilVictor Stinner2011-11-221-20/+12
| | | | | | | | | | the Solaris issue is solved. But add assertion on the maximum character in various encoders: UTF-7, UTF-8, wide character (wchar_t*, Py_UNICODE*), unicode-escape, raw-unicode-escape. Fix also unicode_encode_ucs1() for backslashreplace error handler: Python is now always "wide".
* Fix compiler warningsVictor Stinner2011-11-221-1/+2
|
* Use the new Unicode APIVictor Stinner2011-11-221-1/+1
| | | | | | | | * Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0) * Replce PyUnicode_FromUnicode(str, len) by PyUnicode_FromWideChar(str, len) * Replace Py_UNICODE by wchar_t * posix_putenv() uses PyUnicode_FromFormat() to create the string, instead of PyUnicode_FromUnicode() + _snwprintf()
* (Merge 3.2) Issue #13093: Fix error handling on PyUnicode_EncodeDecimal()Victor Stinner2011-11-221-4/+8
|
* PyUnicode_FromKindAndData() fails with a ValueError if size < 0Victor Stinner2011-11-221-1/+4
|
* UTF-8 decoder: set consumed value in the latin1 fast-pathVictor Stinner2011-11-221-0/+3
|
* Replace _PyUnicode_READY_REPLACE() and _PyUnicode_ReadyReplace() with ↵Victor Stinner2011-11-221-143/+150
| | | | | | | | | | unicode_ready() * unicode_ready() has a simpler API * try to reuse unicode_empty and latin1_char singleton everywhere * Fix a reference leak in _PyUnicode_TranslateCharmap() * PyUnicode_InternInPlace() doesn't try to get a singleton anymore, to avoid having to handle a failure
* Rewrite PyUnicode_TransformDecimalToASCII() to use the new Unicode APIVictor Stinner2011-11-211-17/+26
|
* Remove an unused variable from PyUnicode_Copy()Victor Stinner2011-11-211-2/+0
|
* Simplify PyUnicode_Copy()Victor Stinner2011-11-211-26/+7
| | | | USe PyUnicode_Copy() in fixup()
* Fix a compiler warning in _PyUnicode_CheckConsistency()Victor Stinner2011-11-211-1/+1
|
* Rewrite PyUnicode_EncodeDecimal() to use the new Unicode APIVictor Stinner2011-11-211-44/+53
| | | | | Add tests for PyUnicode_EncodeDecimal() and PyUnicode_TransformDecimalToASCII().
* Issue #13411: memoryview objects are now hashable when the underlying object ↵Antoine Pitrou2011-11-213-17/+53
| | | | is hashable.
* Issue #13417: speed up utf-8 decoding by around 2x for the non-fully-ASCII case.Antoine Pitrou2011-11-212-107/+277
| | | | | This almost catches up with pre-PEP 393 performance, when decoding needed only one pass.
* Issue #13441: _PyUnicode_CheckConsistency() dumps the string if the maximumVictor Stinner2011-11-211-0/+13
| | | | | | | character is bigger than U+10FFFF and locale.localeconv() dumps the string before decoding it. Temporary hack to debug the issue #13441.
* Fix misuse of PyUnicode_GET_SIZE() => PyUnicode_GET_LENGTH()Victor Stinner2011-11-213-5/+5
| | | | And PyUnicode_GetSize() => PyUnicode_GetLength()
* UnicodeTranslateError uses the new Unicode APIVictor Stinner2011-11-211-3/+3
| | | | The index is a character index, not a index in a Py_UNICODE* string.
* UnicodeEncodeError uses the new Unicode APIVictor Stinner2011-11-201-3/+3
| | | | The index is a character index, not a index in a Py_UNICODE* string.
* PyObject_Str() ensures that the result string is readyVictor Stinner2011-11-202-2/+5
| | | | | | | and check the string consistency. _PyUnicode_CheckConsistency() doesn't check the hash anymore. It should be possible to call this function even if hash(str) was already called.
* stringlib: remove unused STRINGLIB_FILLVictor Stinner2011-11-206-6/+0
|
* PyUnicode_AsUTF32String() calls directly _PyUnicode_EncodeUTF32(),Victor Stinner2011-11-201-6/+1
| | | | instead of calling the deprecated PyUnicode_EncodeUTF32() function
* _PyUnicode_CheckConsistency() also checks maxchar maximum value,Victor Stinner2011-11-201-3/+9
| | | | not only its minimum value