diff options
author | Walter Dörwald <walter@livinglogic.de> | 2007-05-18 17:15:44 (GMT) |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2007-05-18 17:15:44 (GMT) |
commit | 1ab833082738ced53318aca05901e596d5ede683 (patch) | |
tree | 0ff2b4c1fcbab3233e012f04bce801cadfd6d7f9 /Include | |
parent | 14176a56d3fe36388115688d0b5acae0c759c044 (diff) | |
download | cpython-1ab833082738ced53318aca05901e596d5ede683.zip cpython-1ab833082738ced53318aca05901e596d5ede683.tar.gz cpython-1ab833082738ced53318aca05901e596d5ede683.tar.bz2 |
Add functions PyUnicode_Append() and PyUnicode_AppendAndDel() that mirror
PyString_Concat() and PyString_ConcatAndDel() (the name PyUnicode_Concat()
was already taken).
Change PyObject_Repr() to always return a unicode object.
Update all repr implementations to return unicode objects.
Add a function PyObject_ReprStr8() that calls PyObject_Repr() and converts
the result to an 8bit string.
Use PyObject_ReprStr8() where using PyObject_Repr() can't be done
straightforward.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/object.h | 3 | ||||
-rw-r--r-- | Include/unicodeobject.h | 20 |
2 files changed, 22 insertions, 1 deletions
diff --git a/Include/object.h b/Include/object.h index f50ffe6..fbeb915 100644 --- a/Include/object.h +++ b/Include/object.h @@ -372,6 +372,7 @@ PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); PyAPI_FUNC(void) _Py_BreakPoint(void); PyAPI_FUNC(void) _PyObject_Dump(PyObject *); PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *); +PyAPI_FUNC(PyObject *) PyObject_ReprStr8(PyObject *); PyAPI_FUNC(PyObject *) _PyObject_Str(PyObject *); PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *); PyAPI_FUNC(PyObject *) PyObject_Unicode(PyObject *); @@ -418,7 +419,7 @@ PyAPI_FUNC(long) _Py_HashDouble(double); PyAPI_FUNC(long) _Py_HashPointer(void*); /* Helper for passing objects to printf and the like */ -#define PyObject_REPR(obj) PyString_AS_STRING(PyObject_Repr(obj)) +#define PyObject_REPR(obj) PyString_AS_STRING(PyObject_ReprStr8(obj)) /* Flag bits for printing: */ #define Py_PRINT_RAW 1 /* No string quotes etc. */ diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index 9b498ee..131278d 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -145,6 +145,8 @@ typedef PY_UNICODE_TYPE Py_UNICODE; # define PyUnicode_AsWideChar PyUnicodeUCS2_AsWideChar # define PyUnicode_Compare PyUnicodeUCS2_Compare # define PyUnicode_Concat PyUnicodeUCS2_Concat +# define PyUnicode_Append PyUnicodeUCS2_Append +# define PyUnicode_AppendAndDel PyUnicodeUCS2_AppendAndDel # define PyUnicode_Contains PyUnicodeUCS2_Contains # define PyUnicode_Count PyUnicodeUCS2_Count # define PyUnicode_Decode PyUnicodeUCS2_Decode @@ -227,6 +229,8 @@ typedef PY_UNICODE_TYPE Py_UNICODE; # define PyUnicode_AsWideChar PyUnicodeUCS4_AsWideChar # define PyUnicode_Compare PyUnicodeUCS4_Compare # define PyUnicode_Concat PyUnicodeUCS4_Concat +# define PyUnicode_Append PyUnicodeUCS4_Append +# define PyUnicode_AppendAndDel PyUnicodeUCS4_AppendAndDel # define PyUnicode_Contains PyUnicodeUCS4_Contains # define PyUnicode_Count PyUnicodeUCS4_Count # define PyUnicode_Decode PyUnicodeUCS4_Decode @@ -1020,6 +1024,22 @@ PyAPI_FUNC(PyObject*) PyUnicode_Concat( PyObject *right /* Right string */ ); +/* Concat two strings and put the result in *pleft + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_Append( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + +/* Concat two strings, put the result in *pleft and drop the right object + (sets *pleft to NULL on error) */ + +PyAPI_FUNC(void) PyUnicode_AppendAndDel( + PyObject **pleft, /* Pointer to left string */ + PyObject *right /* Right string */ + ); + /* Split a string giving a list of Unicode strings. If sep is NULL, splitting will be done at all whitespace |