Merged revisions 66891 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r66891 | amaury.forgeotdarc | 2008-10-14 23:47:22 +0200 (mar., 14 oct. 2008) | 5 lines

  #4122: On Windows, Py_UNICODE_ISSPACE cannot be used in an extension module:
  compilation fails with "undefined reference to _Py_ascii_whitespace"

  Will backport to 2.6.
........
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 057f770..ee9fec1 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -354,7 +354,7 @@
    in most situations is solely ASCII whitespace, we optimize for the common
    case by using a quick look-up table with an inlined check.
  */
-extern const unsigned char _Py_ascii_whitespace[];
+PyAPI_DATA(const unsigned char) _Py_ascii_whitespace[];
 
 #define Py_UNICODE_ISSPACE(ch) \
 	((ch) < 128U ? _Py_ascii_whitespace[(ch)] : _PyUnicode_IsWhitespace(ch))
diff --git a/Misc/NEWS b/Misc/NEWS
index f0bcb70..7cae02d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -37,6 +37,12 @@
 
 - Issue #3758: Add ``patchcheck`` build target to .PHONY.
 
+C-API
+-----
+
+- Issue #4122: On Windows, fix a compilation error when using the
+  Py_UNICODE_ISSPACE macro in an extension module.
+
 
 What's New in Python 2.6 final
 ==============================
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index f3a9f5c..adb04c0 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -484,6 +484,10 @@
 	Py_UNICODE *value;
 	int len;
 
+	/* issue4122: Undefined reference to _Py_ascii_whitespace on Windows */
+	/* Just use the macro and check that it compiles */
+	int x = Py_UNICODE_ISSPACE(25);
+
         tuple = PyTuple_New(1);
         if (tuple == NULL)
         	return NULL;