summaryrefslogtreecommitdiffstats
path: root/Include/unicodeobject.h
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Close #14648: Compute correctly maxchar in str.format() for substrinVictor Stinner2012-04-231-0/+9
|
* Close #14085: remove assertions from PyUnicode_WRITE macroVictor Stinner2012-03-041-3/+0
| | | | | Add checks in PyUnicode_WriteChar() and convert PyUnicode_New() assertion to a test raising a Python exception.
* Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separatorVictor Stinner2012-02-231-15/+3
| | | | | | | | | | | * Decode thousands separator and decimal point using PyUnicode_DecodeLocale() (from the locale encoding), instead of decoding them implicitly from latin1 * Remove _PyUnicode_InsertThousandsGroupingLocale(), it was not used * Change _PyUnicode_InsertThousandsGrouping() API to return the maximum character if unicode is NULL * Replace MIN/MAX macros by Py_MIN/Py_MAX * stringlib/undef.h undefines STRINGLIB_IS_UNICODE * stringlib/localeutil.h only supports Unicode
* Issue #13706: Add assertions to detect bugs earlierVictor Stinner2012-01-311-0/+3
|
* Issue #13848: open() and the FileIO constructor now check for NUL characters ↵Antoine Pitrou2012-01-291-0/+6
|\ | | | | | | | | | | in the file name. Patch by Hynek Schlawack.
| * Issue #13848: open() and the FileIO constructor now check for NUL characters ↵Antoine Pitrou2012-01-291-0/+6
| | | | | | | | | | | | in the file name. Patch by Hynek Schlawack.
* | use the static identifier api for looking up special methodsBenjamin Peterson2012-01-221-29/+0
| | | | | | | | | | I had to move the static identifier code from unicodeobject.h to object.h in order for this to work.
* | add str.casefold() (closes #13752)Benjamin Peterson2012-01-141-0/+5
| |
* | Silence compilation warnings on WindowsAmaury Forgeot d'Arc2012-01-131-2/+2
| |
* | use full unicode mappings for upper/lower/title case (#12736)Benjamin Peterson2012-01-111-0/+23
| | | | | | | | Also broaden the category of characters that count as lowercase/uppercase.
* | Add a new PyUnicode_Fill() functionVictor Stinner2012-01-031-3/+20
| | | | | | | | | | It is faster than the unicode_fill() function which was implemented in formatter_unicode.c.
* | fix PyCompactUnicodeObject doc (test)Victor Stinner2011-12-221-1/+1
| |
* | backout 7876cd49300d: Move PyUnicode_WCHAR_KIND outside PyUnicode_Kind enumVictor Stinner2011-12-191-4/+3
| |
* | Move PyUnicode_WCHAR_KIND outside PyUnicode_Kind enumVictor Stinner2011-12-171-3/+4
| |
* | Issue #13560: Locale codec functions use the classic "errors" parameter,Victor Stinner2011-12-171-3/+3
| | | | | | | | | | | | instead of surrogateescape So it would be possible to support more error handlers later.
* | Issue #13560: Add PyUnicode_EncodeLocale()Victor Stinner2011-12-171-1/+11
| | | | | | | | | | | | * Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not available * Document my last changes in Misc/NEWS
* | Add PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale()Victor Stinner2011-12-161-0/+22
| | | | | | | | | | | | | | | | | | | | | | * PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale() decode a string from the current locale encoding * _Py_char2wchar() writes an "error code" in the size argument to indicate if the function failed because of memory allocation failure or because of a decoding error. The function doesn't write the error message directly to stderr. * Fix time.strftime() (if wcsftime() is missing): decode strftime() result from the current locale encoding, not from the filesystem encoding.
* | PyUnicode_Resize(): warn about canonical representationVictor Stinner2011-12-121-1/+4
| | | | | | | | Call also directly unicode_resize() in unicodeobject.c
* | Fix PyUnicode_Resize() for compact string: leave the string unchanged on errorVictor Stinner2011-12-121-8/+5
| | | | | | | | Fix also PyUnicode_Resize() doc
* | Make PyUnicode_Copy() private => _PyUnicode_Copy()Victor Stinner2011-12-121-1/+3
| | | | | | | | | | | | Undocument the function. Make also decode_utf8_errors() as private (static).
* | resize_copy() now supports legacy ready stringsVictor Stinner2011-12-111-0/+4
| |
* | PyUnicode_IS_ASCII() macro ensures that the string is readyVictor Stinner2011-12-121-5/+7
| | | | | | | | It has no sense to check if a not ready string is ASCII or not.
* | Py_UNICODE_HIGH_SURROGATE() and Py_UNICODE_LOW_SURROGATE() macrosVictor Stinner2011-11-291-0/+4
| | | | | | | | And use surrogates macros everywhere in unicodeobject.c
* | PyUnicode_GET_SIZE() checks that PyUnicode_AsUnicode() succeedVictor Stinner2011-11-211-6/+7
| | | | | | | | using an assertion
* | _PyUnicode_CheckConsistency() also checks maxchar maximum value,Victor Stinner2011-11-201-5/+8
| | | | | | | | not only its minimum value
* | Fix PyUnicode_CopyCharacters() docVictor Stinner2011-11-201-2/+1
| |
* | Ensure that Py_UCS4 is 32 bits and Py_UCS2 is 16 bitsVictor Stinner2011-11-201-2/+7
| |
* | Fix misused of "PyUnicodeObject" structure name in unicodeobject.hVictor Stinner2011-11-161-2/+2
| |
* | Port encoders from Py_UNICODE API to unicode object API.Martin v. Löwis2011-11-101-0/+16
| |
* | Make _PyUnicode_FromId return borrowed references.Martin v. Löwis2011-11-071-1/+1
| | | | | | | | http://mail.python.org/pipermail/python-dev/2011-November/114347.html
* | Fix gdb/libpython.py for not ready Unicode stringsVictor Stinner2011-11-041-3/+5
| | | | | | | | | | _PyUnicode_CheckConsistency() checks also hash and length value for not ready Unicode strings.
* | Replace PyUnicodeObject type by PyObjectVictor Stinner2011-11-031-2/+1
| | | | | | | | | | * _PyUnicode_CheckConsistency() now takes a PyObject* instead of void* * Remove now useless casts to PyObject*
* | Port UCS1 and charmap codecs to new API.Martin v. Löwis2011-11-021-0/+6
| |
* | Drop Py_UCS4_ functions. Closes #13246.Martin v. Löwis2011-10-311-37/+0
| |
* | Replace PyUnicodeObject* by PyObject* where it was irrevelantVictor Stinner2011-10-231-1/+1
| | | | | | | | | | | | A Unicode string can now be a PyASCIIObject, PyCompactUnicodeObject or PyUnicodeObject. Aliasing a PyASCIIObject* or PyCompactUnicodeObject* to PyUnicodeObject* is wrong
* | Simplify _PyUnicode_COMPACT_DATA() macroVictor Stinner2011-10-181-1/+1
| |
* | Issue #12281: Rewrite the MBCS codec to handle correctly replace and ignoreVictor Stinner2011-10-181-1/+15
| | | | | | | | | | error handlers on all Windows versions. The MBCS codec is now supporting all error handlers, instead of only replace to encode and ignore to decode.
* | Rename _Py_identifier to _Py_IDENTIFIER.Martin v. Löwis2011-10-141-2/+2
| |
* | Simplify PyUnicode_MAX_CHAR_VALUEVictor Stinner2011-10-121-6/+5
| | | | | | | | | | | | | | Use PyUnicode_IS_ASCII instead of PyUnicode_IS_COMPACT_ASCII, so the following test can be removed: PyUnicode_DATA(op) == (((PyCompactUnicodeObject *)(op))->utf8)
* | Drop extra semicolon.Martin v. Löwis2011-10-091-1/+1
| |
* | Add API for static strings, primarily good for identifiers.Martin v. Löwis2011-10-091-0/+34
| | | | | | | | Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
* | Change PyUnicode_KIND to 1,2,4. Drop _KIND_SIZE and _CHARACTER_SIZE.Martin v. Löwis2011-10-071-25/+10
| |
* | Update C API docs for PEP 393.Georg Brandl2011-10-071-1/+1
| |
* | Fix PyUnicode_CHARACTER_SIZE and PyUnicode_KIND_SIZEVictor Stinner2011-10-061-2/+2
| |
* | Fix compilation warnings under 64-bit WindowsAntoine Pitrou2011-10-061-2/+3
| |
* | Branch mergeÉric Araujo2011-10-061-1/+1
|\ \
| * | Fix typoÉric Araujo2011-10-041-1/+1
| | |
* | | rephrase PyUnicode_1BYTE_KIND documentationVictor Stinner2011-10-051-6/+7
| | |
* | | Don't check for the maximum character when copying from unicodeobject.cVictor Stinner2011-10-051-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | * Create copy_characters() function which doesn't check for the maximum character in release mode * _PyUnicode_CheckConsistency() is no more static to be able to use it in _PyUnicode_FormatAdvanced() (in formatter_unicode.c) * _PyUnicode_CheckConsistency() checks the string hash