Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r60645:0dacceb8afd5
Date: 2013-01-28 17:07 -0800
http://bitbucket.org/pypy/pypy/changeset/0dacceb8afd5/

Log:    cpython issue3574: fix latin1 decoding, it's no longer special cased

diff --git a/pypy/interpreter/astcompiler/test/test_astbuilder.py 
b/pypy/interpreter/astcompiler/test/test_astbuilder.py
--- a/pypy/interpreter/astcompiler/test/test_astbuilder.py
+++ b/pypy/interpreter/astcompiler/test/test_astbuilder.py
@@ -1134,6 +1134,16 @@
         s = ast_from_node(space, tree, info).body[0].value
         assert isinstance(s, ast.Str)
         assert space.eq_w(s.s, space.wrap(japan))
+
+    def test_issue3574(self):
+        space = self.space
+        source = u'# coding: Latin-1\nu = "&#199;"\n'
+        info = pyparse.CompileInfo("<test>", "exec")
+        tree = self.parser.parse_source(source.encode("Latin-1"), info)
+        assert info.encoding == "iso-8859-1"
+        s = ast_from_node(space, tree, info).body[0].value
+        assert isinstance(s, ast.Str)
+        assert space.eq_w(s.s, space.wrap(u'&#199;'))
  
     def test_string_bug(self):
         py.test.py3k_skip('fixme')
diff --git a/pypy/interpreter/pyparser/parsestring.py 
b/pypy/interpreter/pyparser/parsestring.py
--- a/pypy/interpreter/pyparser/parsestring.py
+++ b/pypy/interpreter/pyparser/parsestring.py
@@ -5,7 +5,6 @@
 def parsestr(space, encoding, s):
     """Parses a string or unicode literal, and return a wrapped value.
 
-    If encoding=iso8859-1, the source string is also in this encoding.
     If encoding=None, the source string is ascii only.
     In other cases, the source string is in utf-8 encoding.
 
@@ -49,8 +48,7 @@
         q -= 2
 
     if unicode_literal and not rawmode: # XXX Py_UnicodeFlag is ignored for now
-        if encoding is None or encoding == "iso-8859-1":
-            # 'unicode_escape' expects latin-1 bytes, string is ready.
+        if encoding is None:
             buf = s
             bufp = ps
             bufq = q
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to