embed positions fix
authorRobert Bradshaw <robertwb@math.washington.edu>
Wed, 13 Aug 2008 08:13:29 +0000 (01:13 -0700)
committerRobert Bradshaw <robertwb@math.washington.edu>
Wed, 13 Aug 2008 08:13:29 +0000 (01:13 -0700)
Cython/Compiler/ModuleNode.py

index 03dfe382b9a2f5dda92905b96cc6ca985a8b2c88..5e95423166cba1eb74579a387e186b87cf40fd25 100644 (file)
@@ -23,7 +23,7 @@ import Version
 
 from Errors import error, warning
 from PyrexTypes import py_object_type
-from Cython.Utils import open_new_file, replace_suffix, escape_byte_string
+from Cython.Utils import open_new_file, replace_suffix, escape_byte_string, EncodedString
 
 
 def check_c_classes(module_node):
@@ -45,9 +45,10 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
     
     def analyse_declarations(self, env):
         if Options.embed_pos_in_docstring:
-            env.doc = 'File: %s (starting at line %s)'%Nodes.relative_position(self.pos)
+            env.doc = EncodedString(u'File: %s (starting at line %s)' % Nodes.relative_position(self.pos))
             if not self.doc is None:
-                env.doc = env.doc + '\\n' + self.doc
+                env.doc = EncodedString(env.doc + u'\\n' + self.doc)
+                env.doc.encoding = self.doc.encoding
         else:
             env.doc = self.doc
         self.body.analyse_declarations(env)