Author: Matti Picus <[email protected]>
Branch: unicode-utf8-py3
Changeset: r94947:73ecf23722a4
Date: 2018-08-05 06:34 -0700
http://bitbucket.org/pypy/pypy/changeset/73ecf23722a4/
Log: translation fixes, space.newtext() should not accept unicode
diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -83,7 +83,7 @@
return space.utf8_w(space.getattr(self, space.newtext('__name__')))
except OperationError as e:
if e.match(space, space.w_TypeError) or e.match(space,
space.w_AttributeError):
- return u'?'
+ return '?'
raise
def getaddrstring(self, space):
diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -520,7 +520,7 @@
if isinstance(value, unicode):
result = value.encode('utf8')
else:
- result = value.decode('utf8', errors='replace')
+ result = value.decode('utf8', 'replace')
else:
if isinstance(value, unicode):
result = value
diff --git a/pypy/interpreter/generator.py b/pypy/interpreter/generator.py
--- a/pypy/interpreter/generator.py
+++ b/pypy/interpreter/generator.py
@@ -215,7 +215,7 @@
e2.record_context(space, space.getexecutioncontext())
raise e2
else:
- space.warn(space.newtext(u"generator '%s' raised StopIteration"
+ space.warn(space.newtext("generator '%s' raised StopIteration"
% self.get_qualname()),
space.w_PendingDeprecationWarning)
diff --git a/pypy/interpreter/unicodehelper.py
b/pypy/interpreter/unicodehelper.py
--- a/pypy/interpreter/unicodehelper.py
+++ b/pypy/interpreter/unicodehelper.py
@@ -1587,7 +1587,7 @@
errorhandler=errorhandler)
size = len(s)
if size == 0:
- return '', 0
+ return '', 0, 0
pos = 0
result = StringBuilder(size)
diff --git a/pypy/module/__builtin__/descriptor.py
b/pypy/module/__builtin__/descriptor.py
--- a/pypy/module/__builtin__/descriptor.py
+++ b/pypy/module/__builtin__/descriptor.py
@@ -30,14 +30,14 @@
def descr_repr(self, space):
if self.w_objtype is not None:
- objtype_name = u"<%s object>" % self.w_objtype.getname(space)
+ objtype_name = "<%s object>" % self.w_objtype.getname(space)
else:
- objtype_name = u'NULL'
+ objtype_name = 'NULL'
if self.w_starttype is not None:
starttype_name = self.w_starttype.getname(space)
else:
- starttype_name = u'NULL'
- return space.newtext(u"<super: <class '%s'>, %s>" % (
+ starttype_name = 'NULL'
+ return space.newtext("<super: <class '%s'>, %s>" % (
starttype_name, objtype_name))
def get(self, space, w_obj, w_type=None):
diff --git a/pypy/module/_codecs/locale.py b/pypy/module/_codecs/locale.py
--- a/pypy/module/_codecs/locale.py
+++ b/pypy/module/_codecs/locale.py
@@ -57,7 +57,7 @@
if errorpos == -1:
raise MemoryError
errmsg = _errmsg("pypy_wchar2char")
- errorhandler('strict', 'filesystemencoding', errmsg, u,
+ errorhandler('strict', 'filesystemencoding', errmsg,
u.encode('utf8'),
errorpos, errorpos + 1)
return rffi.charp2str(sbuf)
finally:
diff --git a/pypy/module/cpyext/unicodeobject.py
b/pypy/module/cpyext/unicodeobject.py
--- a/pypy/module/cpyext/unicodeobject.py
+++ b/pypy/module/cpyext/unicodeobject.py
@@ -85,7 +85,7 @@
s = rffi.wcharpsize2unicode(get_wbuffer(py_obj), get_wsize(py_obj))
w_type = from_ref(space, rffi.cast(PyObject, py_obj.c_ob_type))
w_obj = space.allocate_instance(unicodeobject.W_UnicodeObject, w_type)
- w_obj.__init__(s)
+ w_obj.__init__(s, len(s))
track_reference(space, py_obj, w_obj)
return w_obj
diff --git a/pypy/objspace/std/objspace.py b/pypy/objspace/std/objspace.py
--- a/pypy/objspace/std/objspace.py
+++ b/pypy/objspace/std/objspace.py
@@ -381,8 +381,9 @@
@specialize.argtype(1)
def newtext(self, s):
- if isinstance(s, unicode):
- s, lgt = s.encode('utf8'), len(s)
+ assert not isinstance(s, unicode)
+ #if isinstance(s, unicode):
+ #s, lgt = s.encode('utf8'), len(s)
elif isinstance(s, str):
s, lgt, codepoints = decode_utf8sp(self, s)
elif isinstance(s, tuple):
@@ -391,6 +392,7 @@
else:
# XXX what is s ?
lgt = rutf8.check_utf8(s, True)
+ assert isinstance(s, str)
return W_UnicodeObject(s, lgt)
def newtext_or_none(self, s):
@@ -399,6 +401,7 @@
return self.newtext(s)
def newutf8(self, utf8s, length):
+ assert length >= 0
assert isinstance(utf8s, str)
return W_UnicodeObject(utf8s, length)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit