Correctly handle compile-time strings appearing in Python context.
authorNikita Nemkin <nikita@nemkin.ru>
Tue, 19 Mar 2013 12:57:57 +0000 (18:57 +0600)
committerNikita Nemkin <nikita@nemkin.ru>
Tue, 19 Mar 2013 12:57:57 +0000 (18:57 +0600)
Cython/Compiler/Parsing.py

index 0f44050..ea1731b 100644 (file)
@@ -708,9 +708,9 @@ def wrap_compile_time_constant(pos, value):
     elif isinstance(value, float):
         return ExprNodes.FloatNode(pos, value=rep)
     elif isinstance(value, _unicode):
-        return ExprNodes.UnicodeNode(pos, value=value)
+        return ExprNodes.UnicodeNode(pos, value=EncodedString(value))
     elif isinstance(value, _bytes):
-        return ExprNodes.BytesNode(pos, value=value)
+        return ExprNodes.BytesNode(pos, value=BytesLiteral(value))
     elif isinstance(value, tuple):
         args = [wrap_compile_time_constant(pos, arg)
                 for arg in value]