From 5430b81eaf878273c4ec19f292c71cff1ec5dac8 Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Sat, 23 May 2015 21:40:10 +0200
Subject: [PATCH] use correct metaclass when patching Coroutine into
 collections.abc module

---
 Cython/Utility/Coroutine.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/Cython/Utility/Coroutine.c b/Cython/Utility/Coroutine.c
index 455781c8f..bfc8e411b 100644
--- a/Cython/Utility/Coroutine.c
+++ b/Cython/Utility/Coroutine.c
@@ -1215,14 +1215,18 @@ _module.Generator = mk_gen()
 #ifdef __Pyx_Coroutine_USED
                     CSTRING("""\
 def mk_coroutine():
-    from abc import abstractmethod
+    from abc import abstractmethod, ABCMeta
 
 """)
 #if PY_MAJOR_VERSION >= 3
-"    class Coroutine(metaclass=_module.ABCMeta):\n"
+                    CSTRING("""\
+    class Coroutine(metaclass=ABCMeta):
+""")
 #else
-"    class Coroutine(object):\n"
-"       __metaclass__ = _module.ABCMeta\n"
+                    CSTRING("""\
+    class Coroutine(object):
+        __metaclass__ = ABCMeta
+""")
 #endif
                     CSTRING("""\
         __slots__ = ()
@@ -1259,10 +1263,14 @@ def mk_coroutine():
 
 """)
 #if PY_MAJOR_VERSION >= 3
-"    class Awaitable(metaclass=_module.ABCMeta):\n"
+                    CSTRING("""\
+    class Awaitable(metaclass=ABCMeta):
+""")
 #else
-"    class Awaitable(object):\n"
-"       __metaclass__ = _module.ABCMeta\n"
+                    CSTRING("""\
+    class Awaitable(object):
+        __metaclass__ = ABCMeta
+""")
 #endif
                     CSTRING("""\
         __slots__ = ()
-- 
2.30.9