Backport of PEP 3101, Advanced String Formatting, from py3k.
Highlights:
- Adding PyObject_Format.
- Adding string.Format class.
- Adding __format__ for str, unicode, int, long, float, datetime.
- Adding builtin format.
- Adding ''.format and u''.format.
- str/unicode fixups for formatters.
The files in Objects/stringlib that implement PEP 3101 (stringdefs.h,
unicodedefs.h, formatter.h, string_format.h) are identical in trunk
and py3k. Any changes from here on should be made to trunk, and
changes will propogate to py3k).
diff --git a/Makefile.pre.in b/Makefile.pre.in
index ec7c0d8..3c42409 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -281,6 +281,8 @@
Python/getopt.o \
Python/pystrcmp.o \
Python/pystrtod.o \
+ Python/formatter_unicode.o \
+ Python/formatter_string.o \
Python/$(DYNLOADFILE) \
$(LIBOBJS) \
$(MACHDEP_OBJS) \
@@ -515,6 +517,20 @@
Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
$(srcdir)/Objects/unicodetype_db.h
+Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
+ $(srcdir)/Objects/stringlib/string_format.h \
+ $(srcdir)/Objects/stringlib/unicodedefs.h \
+ $(srcdir)/Objects/stringlib/fastsearch.h \
+ $(srcdir)/Objects/stringlib/count.h \
+ $(srcdir)/Objects/stringlib/find.h \
+ $(srcdir)/Objects/stringlib/partition.h
+
+Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
+ $(srcdir)/Objects/stringlib/formatter.h
+
+Python/formatter_string.o: $(srcdir)/Python/formatter_string.c \
+ $(srcdir)/Objects/stringlib/formatter.h
+
############################################################################
# Header files