summaryrefslogtreecommitdiffstats
path: root/Include/unicodeobject.h
Commit message (Collapse)AuthorAgeFilesLines
* Issue #28295: Fixed the documentation and added tests for PyUnicode_AsUCS4().Serhiy Storchaka2016-10-021-1/+1
|\ | | | | | | Original patch by Xiang Zhang.
| * Issue #28295: Fixed the documentation and added tests for PyUnicode_AsUCS4().Serhiy Storchaka2016-10-021-1/+1
| | | | | | | | Original patch by Xiang Zhang.
* | Issue #28139: Merge indentation fixes from 3.5 into 3.6Martin Panter2016-09-171-1/+1
|\ \ | |/
| * Issue #28139: Fix messed up indentationMartin Panter2016-09-171-1/+1
| | | | | | | | | | Also update the classmethod and staticmethod doc strings and comments to match the RST documentation.
* | Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly ↵Christian Heimes2016-09-131-1/+1
| | | | | | | | optimize memcpy().
* | Issue #26900: Excluded underscored names and other private API from limited API.Serhiy Storchaka2016-09-111-0/+2
| |
* | simplify Py_UCSN definitions with stdint typesBenjamin Peterson2016-09-081-15/+3
| |
* | Issue #27781: Change file system encoding on Windows to UTF-8 (PEP 529)Steve Dower2016-09-081-6/+2
| |
* | Issue #27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec ↵Steve Dower2016-09-071-1/+1
| | | | | | | | lookup
* | Issue #27078: Added BUILD_STRING opcode. Optimized f-strings evaluation.Serhiy Storchaka2016-09-061-0/+8
| |
* | Merge spelling and grammar fixes from 3.5Martin Panter2016-08-051-1/+1
|\ \ | |/
| * Fix spelling and grammar in documentation and code commentsMartin Panter2016-08-041-1/+1
| |
* | Issue #26778: Fixed "a/an/and" typos in code comment, documentation and errorSerhiy Storchaka2016-04-171-1/+1
|\ \ | |/ | | | | messages.
| * Issue #26778: Fixed "a/an/and" typos in code comment and documentation.Serhiy Storchaka2016-04-171-1/+1
| |
* | Issue #15984: Merge PyUnicode doc from 3.5Martin Panter2016-04-151-18/+10
|\ \ | |/
| * Issue #15984: Correct PyUnicode_FromObject() and _FromEncodedObject() docsMartin Panter2016-04-151-16/+8
| |
| * Correct “an” → “a” with “Unicode”, “user”, “UTF”, etcMartin Panter2016-04-151-4/+4
| | | | | | | | This affects documentation, code comments, and a debugging messages.
* | Merge typo fixes from 3.5Martin Panter2016-04-051-1/+1
|\ \ | |/
| * Fix typos in documentation and commentsMartin Panter2016-04-051-1/+1
| |
* | Issue #25523: Merge a-to-an corrections from 3.5.Serhiy Storchaka2015-11-021-2/+2
|\ \ | |/
| * Issue #25523: Merge a-to-an corrections from 3.4.Serhiy Storchaka2015-11-021-2/+2
| |\
| | * Issue #25523: Further a-to-an corrections.Serhiy Storchaka2015-11-021-2/+2
| | |
* | | Issue #25318: Add _PyBytesWriter APIVictor Stinner2015-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new private API to optimize Unicode encoders. It uses a small buffer allocated on the stack and supports overallocation. Use _PyBytesWriter API for UCS1 (ASCII and Latin1) and UTF-8 encoders. Enable overallocation for the UTF-8 encoder with error handlers. unicode_encode_ucs1(): initialize collend to collstart+1 to not check the current character twice, we already know that it is not ASCII.
* | | Issue #24870: Add _PyUnicodeWriter_PrepareKind() macroVictor Stinner2015-09-211-0/+17
| | | | | | | | | | | | Add a macro which ensures that the writer has at least the requested kind.
* | | Make the unicode equality test an external function rather than in-lining it.Raymond Hettinger2015-07-041-0/+4
|/ / | | | | | | | | | | | | | | The real benefit of the unicode specialized function comes from bypassing the overhead of PyObject_RichCompareBool() and not from being in-lined (especially since there was almost no shared data between the caller and callee). Also, the in-lining was having a negative effect on code generation for the callee.
* | Issue #23908: os functions now reject paths with embedded null characterSerhiy Storchaka2015-04-201-6/+0
|\ \ | |/ | | | | | | | | on Windows instead of silently truncate them. Removed no longer used _PyUnicode_HasNULChars().
* | Merge 3.4 (typo)Victor Stinner2015-02-111-1/+1
|\ \ | |/
| * Fix typo: PyMem_Alloc => PyMem_MallocVictor Stinner2015-02-111-1/+1
| |
* | Issue20284: Implement PEP461Ethan Furman2015-01-241-0/+2
|/
* fix instances of consecutive articles (closes #23221)Benjamin Peterson2015-01-131-1/+1
| | | | Patch by Karan Goel.
* Issue #22581: Use more "bytes-like object" throughout the docs and comments.Serhiy Storchaka2014-12-051-1/+1
|
* Issue #19537: Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas ↵Antoine Pitrou2014-03-231-0/+3
| | | | Schwab.
* Issue #19526: Exclude all new API from the stable ABI.Martin v. Löwis2014-01-031-0/+2
|
* oops, remove _PyObject_ReprWriter() definition (unwanted change)Victor Stinner2013-11-191-3/+0
|
* Add _PyUnicodeWriter_WriteASCIIString() functionVictor Stinner2013-11-191-3/+14
|
* Issue #19512: add _PyUnicode_CompareWithId() functionVictor Stinner2013-11-061-0/+5
| | | | | | | _PyUnicode_CompareWithId() is faster than PyUnicode_CompareWithASCIIString() when both strings are equal and interned. Add also _PyId_builtins identifier for "builtins" common string.
* Issue #18722: Remove uses of the "register" keyword in C code.Antoine Pitrou2013-08-131-4/+4
|
* fix typo in a commentVictor Stinner2013-04-181-1/+1
|
* Close #17694: Add minimum length to _PyUnicodeWriterVictor Stinner2013-04-171-7/+13
| | | | | | | | | | | | * 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
* Close #17693: Rewrite CJK decoders to use the _PyUnicodeWriter API instead ofVictor Stinner2013-04-111-0/+7
| | | | | | the legacy Py_UNICODE API. Add also a new _PyUnicodeWriter_WriteChar() function.
* Add _PyUnicodeWriter_WriteSubstring() functionVictor Stinner2013-04-021-0/+9
| | | | | | | | | 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
* Issue #16455: On FreeBSD and Solaris, if the locale is C, theVictor Stinner2012-12-041-1/+1
| | | | | | | 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.
* Issue #16330: Use surrogate-related macrosVictor Stinner2012-10-301-3/+3
| | | | Patch written by Serhiy Storchaka.
* Issue #16147: Rewrite PyUnicode_FromFormatV() to use _PyUnicodeWriter APIVictor Stinner2012-10-061-1/+17
| | | | | | | | | | | | | | | | | | | | * 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.
* #16127: merge with 3.3.Ezio Melotti2012-10-051-2/+1
|\
| * #16127: remove outdated references to narrow builds. Patch by Serhiy Storchaka.Ezio Melotti2012-10-051-2/+1
| |
* | Enable also ptr==ptr optimization in PyUnicode_Compare()Victor Stinner2012-10-041-1/+2
|/ | | | It was already implemented in PyUnicode_RichCompare()
* Issue #15026: utf-16 encoding is now significantly faster (up to 10x).Antoine Pitrou2012-06-151-2/+2
| | | | Patch by Serhiy Storchaka.
* Issue #14993: Use standard "unsigned char" instead of a unsigned char bitfieldVictor Stinner2012-06-041-6/+4
|
* Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args ↵Victor Stinner2012-05-291-6/+89
| | | | | | | | | | | | | | | | | 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.