Author: Armin Rigo <ar...@tunes.org> Branch: py3.5 Changeset: r93470:20fdafb25341 Date: 2017-12-18 13:41 +0100 http://bitbucket.org/pypy/pypy/changeset/20fdafb25341/
Log: Fixes for unicode error messages diff --git a/pypy/interpreter/unicodehelper.py b/pypy/interpreter/unicodehelper.py --- a/pypy/interpreter/unicodehelper.py +++ b/pypy/interpreter/unicodehelper.py @@ -21,6 +21,7 @@ # Fast version of the "strict" errors handler. def raise_unicode_exception_decode(errors, encoding, msg, s, startingpos, endingpos): + import pdb;pdb.set_trace() raise OperationError(space.w_UnicodeDecodeError, space.newtuple([space.newtext(encoding), space.newbytes(s), diff --git a/pypy/module/_socket/interp_socket.py b/pypy/module/_socket/interp_socket.py --- a/pypy/module/_socket/interp_socket.py +++ b/pypy/module/_socket/interp_socket.py @@ -855,7 +855,7 @@ @specialize.arg(2) def converted_error(space, e, eintr_retry=False): - message = e.get_msg() + message = e.get_msg_unicode() w_exception_class = get_error(space, e.applevelerrcls) if isinstance(e, SocketErrorWithErrno): if e.errno == errno.EINTR: @@ -863,9 +863,9 @@ if eintr_retry: return # only return None if eintr_retry==True w_exception = space.call_function(w_exception_class, space.newint(e.errno), - space.newtext(message)) + space.newunicode(message)) else: - w_exception = space.call_function(w_exception_class, space.newtext(message)) + w_exception = space.call_function(w_exception_class, space.newunicode(message)) raise OperationError(w_exception_class, w_exception) def explicit_socket_error(space, msg): diff --git a/pypy/module/select/interp_select.py b/pypy/module/select/interp_select.py --- a/pypy/module/select/interp_select.py +++ b/pypy/module/select/interp_select.py @@ -80,10 +80,10 @@ if timeout < 0: timeout = 0 continue - message = e.get_msg() + message = e.get_msg_unicode() raise OperationError(space.w_OSError, space.newtuple([space.newint(e.errno), - space.newtext(message)])) + space.newunicode(message)])) finally: self.running = False break @@ -152,9 +152,9 @@ break # normal path err = _c.geterrno() if err != errno.EINTR: - msg = _c.socket_strerror_str(err) + msg = _c.socket_strerror_unicode(err) raise OperationError(space.w_OSError, space.newtuple([ - space.newint(err), space.newtext(msg)])) + space.newint(err), space.newunicode(msg)])) # got EINTR, automatic retry space.getexecutioncontext().checksignals() if timeout > 0.0: diff --git a/pypy/module/time/interp_time.py b/pypy/module/time/interp_time.py --- a/pypy/module/time/interp_time.py +++ b/pypy/module/time/interp_time.py @@ -441,7 +441,8 @@ _set_module_object(space, "timezone", space.newint(timezone)) _set_module_object(space, 'daylight', space.newint(daylight)) - tzname_w = [space.newtext(tzname[0]), space.newtext(tzname[1])] + tzname_w = [space.newunicode(tzname[0].decode('latin-1')), + space.newunicode(tzname[1].decode('latin-1'))] _set_module_object(space, 'tzname', space.newtuple(tzname_w)) _set_module_object(space, 'altzone', space.newint(altzone)) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit