Backport rev. 51971:

Fix %zd string formatting on Mac OS X so it prints negative numbers.

In addition to testing positive numbers, verify negative numbers work in configure.
In order to avoid compiler warnings on OS X 10.4, also change the order of the check
for the format character to use (PY_FORMAT_SIZE_T) in the sprintf format
for Py_ssize_t.  This patch changes PY_FORMAT_SIZE_T from "" to "l" if it wasn't
defined at configure time.  Need to verify the buildbot results.
diff --git a/Misc/NEWS b/Misc/NEWS
index 685daf6..42b366d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -16,6 +16,8 @@
   not being recognized as a keyword after, e.g., this statement:
   from __future__ import division, with_statement
 
+- Fix %zd string formatting on Mac OS X so it prints negative numbers.
+
 - Allow exception instances to be directly sliced again.