Refactor and clean up str.format() code (and helpers) in advance of optimizations.
diff --git a/Python/formatter_string.c b/Python/formatter_string.c
index 1041852..f33ad70 100644
--- a/Python/formatter_string.c
+++ b/Python/formatter_string.c
@@ -4,12 +4,11 @@
    of int.__float__, etc., that take and return string objects */
 
 #include "Python.h"
-#include "formatter_string.h"
-
 #include "../Objects/stringlib/stringdefs.h"
 
-#define FORMAT_STRING string__format__
-#define FORMAT_LONG   string_long__format__
-#define FORMAT_INT    string_int__format__
-#define FORMAT_FLOAT  string_float__format__
+#define FORMAT_STRING _PyBytes_FormatAdvanced
+#define FORMAT_LONG   _PyLong_FormatAdvanced
+#define FORMAT_INT    _PyInt_FormatAdvanced
+#define FORMAT_FLOAT  _PyFloat_FormatAdvanced
+
 #include "../Objects/stringlib/formatter.h"
diff --git a/Python/formatter_unicode.c b/Python/formatter_unicode.c
index 17c6944..4f2e53f 100644
--- a/Python/formatter_unicode.c
+++ b/Python/formatter_unicode.c
@@ -2,12 +2,12 @@
    built-in formatter for unicode.  That is, unicode.__format__(). */
 
 #include "Python.h"
-#include "formatter_unicode.h"
-
 #include "../Objects/stringlib/unicodedefs.h"
 
-#define FORMAT_STRING unicode__format__
+#define FORMAT_STRING _PyUnicode_FormatAdvanced
+
 /* don't define FORMAT_LONG and FORMAT_FLOAT, since we can live
    with only the string versions of those.  The builtin format()
    will convert them to unicode. */
+
 #include "../Objects/stringlib/formatter.h"