Issue #4051: Prevent conflict of UNICODE macros in cPickle.
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 18baee1..7f836c3 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -18,6 +18,14 @@
 #define HIGHEST_PROTOCOL 2
 
 /*
+ * Note: The UNICODE macro controls the TCHAR meaning of the win32 API. Since
+ * all headers have already been included here, we can safely redefine it.
+ */
+#ifdef UNICODE
+#  undef UNICODE
+#endif
+
+/*
  * Pickle opcodes.  These must be kept in synch with pickle.py.  Extensive
  * docs are in pickletools.py.
  */