[pypy-svn] pypy default: Translation fix.
arigo
commits-noreply at bitbucket.org
Mon Jan 31 14:58:33 CET 2011
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r41497:b30a64cd7561
Date: 2011-01-31 14:58 +0100
http://bitbucket.org/pypy/pypy/changeset/b30a64cd7561/
Log: Translation fix.
diff --git a/pypy/interpreter/test/test_error.py b/pypy/interpreter/test/test_error.py
--- a/pypy/interpreter/test/test_error.py
+++ b/pypy/interpreter/test/test_error.py
@@ -68,7 +68,7 @@
#
e = wrap_oserror(space, OSError(errno.EBADF, "foobar"),
filename = "test.py",
- exception_name = [SystemError])
+ w_exception_class = [SystemError])
assert isinstance(e, OperationError)
assert e.w_type == [SystemError]
assert e.get_w_value(space) == ([SystemError], [errno.EBADF],
diff --git a/pypy/module/mmap/interp_mmap.py b/pypy/module/mmap/interp_mmap.py
--- a/pypy/module/mmap/interp_mmap.py
+++ b/pypy/module/mmap/interp_mmap.py
@@ -246,4 +246,4 @@
def mmap_error(space, e):
w_module = space.getbuiltinmodule('mmap')
w_error = space.getattr(w_module, space.wrap('error'))
- return wrap_oserror(space, e, exception_name=w_error)
+ return wrap_oserror(space, e, w_exception_class=w_error)
diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -360,7 +360,8 @@
space.wrap(msg))
return OperationError(exc, w_error)
-def wrap_oserror2(space, e, w_filename=None, exception_name='w_OSError'):
+def wrap_oserror2(space, e, w_filename=None, exception_name='w_OSError',
+ w_exception_class=None):
assert isinstance(e, OSError)
if _WINDOWS and isinstance(e, WindowsError):
@@ -375,10 +376,10 @@
msg = os.strerror(errno)
except ValueError:
msg = 'error %d' % errno
- if isinstance(exception_name, str):
+ if w_exception_class is None:
exc = getattr(space, exception_name)
else:
- exc = exception_name
+ exc = w_exception_class
if w_filename is not None:
w_error = space.call_function(exc, space.wrap(errno),
space.wrap(msg), w_filename)
@@ -388,12 +389,15 @@
return OperationError(exc, w_error)
wrap_oserror2._annspecialcase_ = 'specialize:arg(3)'
-def wrap_oserror(space, e, filename=None, exception_name='w_OSError'):
+def wrap_oserror(space, e, filename=None, exception_name='w_OSError',
+ w_exception_class=None):
if filename is not None:
return wrap_oserror2(space, e, space.wrap(filename),
- exception_name=exception_name)
+ exception_name=exception_name,
+ w_exception_class=w_exception_class)
else:
return wrap_oserror2(space, e, None,
- exception_name=exception_name)
+ exception_name=exception_name,
+ w_exception_class=w_exception_class)
wrap_oserror._annspecialcase_ = 'specialize:arg(3)'
More information about the Pypy-commit
mailing list