Author: Matti Picus <matti.pi...@gmail.com> Branch: unicode-utf8 Changeset: r95552:e79b16b3943d Date: 2019-01-01 12:31 +0200 http://bitbucket.org/pypy/pypy/changeset/e79b16b3943d/
Log: rework this to be more compliant - UnicodeError trumps TypeError diff --git a/pypy/module/__builtin__/operation.py b/pypy/module/__builtin__/operation.py --- a/pypy/module/__builtin__/operation.py +++ b/pypy/module/__builtin__/operation.py @@ -45,11 +45,12 @@ if not space.isinstance_w(w_name, space.w_text): try: name = space.text_w(w_name) # typecheck - except Exception as e: + except OperationError as e: + if e.match(space, space.w_UnicodeError): + raise e raise oefmt(space.w_TypeError, "%s(): attribute name must be string", msg) - if space.isinstance_w(w_name, space.w_unicode): - w_name = space.call_method(w_name, 'encode', space.newtext('ascii')) + w_name = space.newtext(w_name) return w_name def delattr(space, w_object, w_name): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit