[pypy-commit] pypy default: Workaround to make test_repr_16bits pass, from test_unicodeobject.py, on
arigo
noreply at buildbot.pypy.org
Tue Jul 31 18:15:05 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r56514:921f8d1d3ffa
Date: 2012-07-31 18:14 +0200
http://bitbucket.org/pypy/pypy/changeset/921f8d1d3ffa/
Log: Workaround to make test_repr_16bits pass, from
test_unicodeobject.py, on top of a 16-bit hosting CPython. Running
py.py or py.test on top of a 16-bit-wide hosting CPython is still
not perfect and will probably never be.
diff --git a/pypy/rlib/runicode.py b/pypy/rlib/runicode.py
--- a/pypy/rlib/runicode.py
+++ b/pypy/rlib/runicode.py
@@ -1235,7 +1235,11 @@
pos += 1
continue
- if MAXUNICODE < 65536 and 0xD800 <= oc < 0xDC00 and pos + 1 < size:
+ # The following logic is enabled only if MAXUNICODE == 0xffff, or
+ # for testing on top of a host CPython where sys.maxunicode == 0xffff
+ if ((MAXUNICODE < 65536 or
+ (not we_are_translated() and sys.maxunicode < 65536))
+ and 0xD800 <= oc < 0xDC00 and pos + 1 < size):
# Map UTF-16 surrogate pairs to Unicode \UXXXXXXXX escapes
pos += 1
oc2 = ord(s[pos])
More information about the pypy-commit
mailing list