cpython/Objects/stringlib
Eric Smith aca19e6a74 Backport of some of the work in r71665 to trunk. This reworks much of
int, long, and float __format__(), and it keeps their implementation
in sync with py3k.

Also added PyOS_double_to_string. This is the "fallback" version
that's also available in trunk, and should be kept in sync with that
code. I'll add an issue to document PyOS_double_to_string in the C
API.

There are many internal cleanups. Externally visible changes include:

- Implement PEP 378, Format Specifier for Thousands Separator, for
  floats, ints, and longs.

- Issue #5515: 'n' formatting for ints, longs, and floats handles
  leading zero formatting poorly.

- Issue #5772: For float.__format__, don't add a trailing ".0" if
  we're using no type code and we have an exponent.
2009-04-22 13:29:05 +00:00
..
README.txt needforspeed: more stringlib refactoring 2006-05-27 10:05:10 +00:00
count.h #3967: Correct a crash in count() and find() methods of string-like objects. 2008-09-26 22:34:08 +00:00
ctype.h Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from 2008-03-26 12:49:49 +00:00
fastsearch.h fix url 2009-01-20 18:58:27 +00:00
find.h #3967: Correct a crash in count() and find() methods of string-like objects. 2008-09-26 22:34:08 +00:00
formatter.h Backport of some of the work in r71665 to trunk. This reworks much of 2009-04-22 13:29:05 +00:00
localeutil.h Backport of some of the work in r71665 to trunk. This reworks much of 2009-04-22 13:29:05 +00:00
partition.h Fix endcase for str.rpartition() 2006-09-04 15:32:48 +00:00
string_format.h Issue 5237, Allow auto-numbered replacement fields in str.format() strings. 2009-03-14 11:57:26 +00:00
stringdefs.h Backport of some of the work in r71665 to trunk. This reworks much of 2009-04-22 13:29:05 +00:00
transmogrify.h Issue #4935: The overflow checking code in the expandtabs() method common 2009-01-13 23:13:52 +00:00
unicodedefs.h Addresses issue 2802: 'n' formatting for integers. 2008-05-11 19:52:48 +00:00

README.txt

bits shared by the stringobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).

the stuff in here is included into relevant places; see the individual
source files for details.

--------------------------------------------------------------------
the following defines used by the different modules:

STRINGLIB_CHAR

    the type used to hold a character (char or Py_UNICODE)

STRINGLIB_EMPTY

    a PyObject representing the empty string

int STRINGLIB_CMP(STRINGLIB_CHAR*, STRINGLIB_CHAR*, Py_ssize_t)

    compares two strings. returns 0 if they match, and non-zero if not.

Py_ssize_t STRINGLIB_LEN(PyObject*)

    returns the length of the given string object (which must be of the
    right type)

PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)

    creates a new string object

STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)

    returns the pointer to the character data for the given string
    object (which must be of the right type)