always convert byte-docstrings into unicode strings
authorStefan Behnel <scoder@users.berlios.de>
Fri, 18 Jul 2008 06:40:20 +0000 (08:40 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Fri, 18 Jul 2008 06:40:20 +0000 (08:40 +0200)
Cython/Compiler/Parsing.py

index cda156d1f000834eb4a6391d6689f85a62904803..3ed1dea2467a4bf8566eacba88c9c88f87b99db4 100644 (file)
@@ -8,7 +8,7 @@ from Scanning import PyrexScanner, FileSourceDescriptor
 import Nodes
 import ExprNodes
 from ModuleNode import ModuleNode
-from Errors import error, InternalError
+from Errors import error, warning, InternalError
 from Cython import Utils
 import Future
 
@@ -2151,9 +2151,14 @@ def p_property_decl(s):
 
 def p_doc_string(s):
     if s.sy == 'BEGIN_STRING':
-        _, result = p_cat_string_literal(s)
+        pos = s.position()
+        kind, result = p_cat_string_literal(s)
         if s.sy != 'EOF':
             s.expect_newline("Syntax error in doc string")
+        if kind != 'u':
+            # warning(pos, "Python 3 requires docstrings to be unicode strings")
+            if kind == 'b':
+                result.encoding = None # force a unicode string
         return result
     else:
         return None