summaryrefslogtreecommitdiffstats
path: root/Objects/stringlib
Commit message (Collapse)AuthorAgeFilesLines
* s/stringobject/bytesobject/ (closes #22036)Benjamin Peterson2014-07-241-1/+1
| | | | Patch by Martin Matusiak.
* merge 3.3Benjamin Peterson2014-03-301-19/+19
|\
| * merge 3.2Benjamin Peterson2014-03-301-19/+19
| |\
| | * fix expandtabs overflow detection to be consistent and not rely on signed ↵Benjamin Peterson2014-03-301-19/+19
| | | | | | | | | | | | overflow
| | * Issue #17173: Remove uses of locale-dependent C functions (isalpha() etc.) ↵Antoine Pitrou2013-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | in the interpreter. I've left a couple of them in: zlib (third-party lib), getaddrinfo.c (doesn't include Python.h, and probably obsolete), _sre.c (legitimate use for the re.LOCALE flag).
| | * Issue #14700: Fix buggy overflow checks for large precision and width in ↵Mark Dickinson2012-10-282-18/+13
| | | | | | | | | | | | new-style and old-style formatting.
| * | fix format spec recursive expansion (closes #19729)Benjamin Peterson2013-11-271-2/+4
| | |
* | | Reverted changeset b72c5573c5e7 (issue #15027).Serhiy Storchaka2014-01-041-87/+0
| | |
* | | Issue #15027: Rewrite the UTF-32 encoder. It is now 1.6x to 3.5x faster.Serhiy Storchaka2014-01-041-0/+87
| | |
* | | Remove dead code committed in issue #12892.Serhiy Storchaka2013-11-191-104/+0
| | |
* | | Issue #12892: The utf-16* and utf-32* codecs now reject (lone) surrogates.Serhiy Storchaka2013-11-191-16/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | #17806: Added keyword-argument support for "tabsize" to str/bytes.expandtabs().Ezio Melotti2013-11-161-3/+5
| | |
* | | Issue #18408: Fix bytearrayiter.partition()/rpartition(), handleVictor Stinner2013-10-291-0/+10
| | | | | | | | | | | | PyByteArray_FromStringAndSize() failure (ex: on memory allocation failure)
* | | Issue #18701: Remove support of old CPython versions (<3.0) from C code.Serhiy Storchaka2013-08-161-5/+0
| | |
* | | mergeRaymond Hettinger2013-08-141-9/+0
|\ \ \ | |/ /
| * | Issue 18719: Remove a false optimizationRaymond Hettinger2013-08-141-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove an unused early-out test from the critical path for dict and set lookups. When the strings already have matching lengths, kinds, and hashes, there is no additional information gained by checking the first characters (the probability of a mismatch is already known to be less than 1 in 2**64).
* | | Issue #18722: Remove uses of the "register" keyword in C code.Antoine Pitrou2013-08-134-9/+9
| | |
* | | rewrite the parsing of field names to be more consistent wrt recursive expansionBenjamin Peterson2013-05-171-62/+53
| | |
* | | merge 3.3Benjamin Peterson2013-05-171-2/+8
|\ \ \ | |/ /
| * | only recursively expand in the format spec (closes #17644)Benjamin Peterson2013-05-171-2/+8
| | |
* | | Merge removal of trailing whitespace from 3.3.Ezio Melotti2013-04-211-7/+7
|\ \ \ | |/ /
| * | Remove trailing whitespace.Ezio Melotti2013-04-211-7/+7
| | |
* | | Close #17694: Add minimum length to _PyUnicodeWriterVictor Stinner2013-04-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | | stringlib: remove unused STRINGLIB_RESIZE macroVictor Stinner2013-04-147-7/+0
| | |
* | | Issue #16061: Speed up str.replace() for replacing 1-character strings.Serhiy Storchaka2013-04-131-0/+53
| | |
* | | Close #13126: "Simplify" FASTSEARCH() code to help the compiler to emit moreVictor Stinner2013-04-071-3/+5
| | | | | | | | | | | | | | | | | | | | | efficient machine code. Patch written by Antoine Pitrou. Without this change, str.find() was 10% slower than str.rfind() in the worst case.
* | | Add _PyUnicodeWriter_WriteSubstring() functionVictor Stinner2013-04-021-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Remove unused defines.Serhiy Storchaka2013-02-231-6/+0
|\ \ \ | |/ /
| * | Remove unused defines.Serhiy Storchaka2013-02-231-6/+0
| | |
* | | Check for NULL before the pointer aligning in fastsearch_memchr_1char.Serhiy Storchaka2013-01-151-15/+10
|\ \ \ | |/ / | | | | | | There is no guarantee that NULL is aligned.
| * | Check for NULL before the pointer aligning in fastsearch_memchr_1char.Serhiy Storchaka2013-01-151-15/+10
| | | | | | | | | | | | There is no guarantee that NULL is aligned.
* | | Issue #16592: stringlib_bytes_join doesn't raise MemoryError on allocation ↵Christian Heimes2012-12-021-0/+1
| | | | | | | | | | | | failure
* | | (Merge 3.3) Issue #8271: Fix compilation on WindowsVictor Stinner2012-11-041-1/+1
|\ \ \ | |/ /
| * | Issue #8271: Fix compilation on WindowsVictor Stinner2012-11-041-1/+1
| | |
* | | #8271: merge with 3.3.Ezio Melotti2012-11-041-30/+62
|\ \ \ | |/ /
| * | #8271: the utf-8 decoder now outputs the correct number of U+FFFD ↵Ezio Melotti2012-11-041-30/+62
| | | | | | | | | | | | characters when used with the "replace" error handler on invalid utf-8 sequences. Patch by Serhiy Storchaka, tests by Ezio Melotti.
* | | Issue #12805: Make bytes.join and bytearray.join faster when the separator ↵Antoine Pitrou2012-10-201-0/+10
| | | | | | | | | | | | | | | | | | is empty. Patch by Serhiy Storchaka.
* | | Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unifiedChristian Heimes2012-10-171-3/+3
| | | | | | | | | | | | endianess detection and handling.
* | | Issue #15958: bytes.join and bytearray.join now accept arbitrary buffer objects.Antoine Pitrou2012-10-161-0/+122
|/ /
* | Issue #15144: Fix possible integer overflow when handling pointers as ↵Antoine Pitrou2012-09-203-18/+10
| | | | | | | | | | | | integer values, by using Py_uintptr_t instead of size_t. Patch by Serhiy Storchaka.
* | Close #15534: Fix a typo in the fast search function of the string library ↵Victor Stinner2012-08-021-5/+5
| | | | | | | | | | | | (_s => s) Replace _s with ptr to avoid future confusion. Add also non regression tests.
* | Use correct types for ASCII_CHAR_MASK integer constants.Mark Dickinson2012-07-072-4/+4
| |
* | Issue #14923: Optimize continuation-byte check in UTF-8 decoding. Patch by ↵Mark Dickinson2012-06-231-6/+10
| | | | | | | | Serhiy Storchaka.
* | Make private function static (from `make smelly`)Antoine Pitrou2012-06-211-1/+1
| |
* | Issue #15026: utf-16 encoding is now significantly faster (up to 10x).Antoine Pitrou2012-06-151-0/+64
| | | | | | | | Patch by Serhiy Storchaka.
* | Issue #14993: Use standard "unsigned char" instead of a unsigned char bitfieldVictor Stinner2012-06-041-1/+1
| |
* | Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args ↵Victor Stinner2012-05-292-26/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Issue #14624: UTF-16 decoding is now 3x to 4x faster on various inputs.Antoine Pitrou2012-05-151-1/+148
| | | | | | | | Patch by Serhiy Storchaka.
* | Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy ↵Antoine Pitrou2012-05-106-78/+148
| | | | | | | | Storchaka.
* | Rename unicode_write_t structure and its methods to "_PyUnicodeWriter"Victor Stinner2012-05-091-9/+9
| |