[pypy-commit] pypy space-newtext: sys module
cfbolz
pypy.commits at gmail.com
Wed Nov 2 09:03:33 EDT 2016
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: space-newtext
Changeset: r88066:9cd4b09a39f8
Date: 2016-11-02 10:38 +0100
http://bitbucket.org/pypy/pypy/changeset/9cd4b09a39f8/
Log: sys module
diff --git a/pypy/module/parser/__init__.py b/pypy/module/parser/__init__.py
--- a/pypy/module/parser/__init__.py
+++ b/pypy/module/parser/__init__.py
@@ -10,8 +10,8 @@
}
interpleveldefs = {
- '__name__' : '(space.wrap("parser"))',
- '__doc__' : '(space.wrap("parser module"))',
+ '__name__' : '(space.newtext("parser"))',
+ '__doc__' : '(space.newtext("parser module"))',
'suite' : 'pyparser.suite',
'expr' : 'pyparser.expr',
'issuite' : 'pyparser.issuite',
diff --git a/pypy/module/sys/__init__.py b/pypy/module/sys/__init__.py
--- a/pypy/module/sys/__init__.py
+++ b/pypy/module/sys/__init__.py
@@ -24,21 +24,21 @@
self.dlopenflags = rdynload._dlopen_default_mode()
interpleveldefs = {
- '__name__' : '(space.wrap("sys"))',
- '__doc__' : '(space.wrap("PyPy sys module"))',
+ '__name__' : '(space.newtext("sys"))',
+ '__doc__' : '(space.newtext("PyPy sys module"))',
- 'platform' : 'space.wrap(sys.platform)',
- 'maxint' : 'space.wrap(sys.maxint)',
- 'maxsize' : 'space.wrap(sys.maxint)',
- 'byteorder' : 'space.wrap(sys.byteorder)',
- 'maxunicode' : 'space.wrap(vm.MAXUNICODE)',
+ 'platform' : 'space.newtext(sys.platform)',
+ 'maxint' : 'space.newint(sys.maxint)',
+ 'maxsize' : 'space.newint(sys.maxint)',
+ 'byteorder' : 'space.newtext(sys.byteorder)',
+ 'maxunicode' : 'space.newint(vm.MAXUNICODE)',
'stdin' : 'state.getio(space).w_stdin',
'__stdin__' : 'state.getio(space).w_stdin',
'stdout' : 'state.getio(space).w_stdout',
'__stdout__' : 'state.getio(space).w_stdout',
'stderr' : 'state.getio(space).w_stderr',
'__stderr__' : 'state.getio(space).w_stderr',
- 'pypy_objspaceclass' : 'space.wrap(repr(space))',
+ 'pypy_objspaceclass' : 'space.newtext(repr(space))',
#'prefix' : # added by pypy_initial_path() when it
#'exec_prefix' : # succeeds, pointing to trunk or /usr
'path' : 'state.get(space).w_path',
@@ -79,10 +79,10 @@
'displayhook' : 'hook.displayhook',
'__displayhook__' : 'hook.__displayhook__',
- 'meta_path' : 'space.wrap([])',
- 'path_hooks' : 'space.wrap([])',
- 'path_importer_cache' : 'space.wrap({})',
- 'dont_write_bytecode' : 'space.wrap(space.config.translation.sandbox)',
+ 'meta_path' : 'space.newlist([])',
+ 'path_hooks' : 'space.newlist([])',
+ 'path_importer_cache' : 'space.newdict()',
+ 'dont_write_bytecode' : 'space.newbool(space.config.translation.sandbox)',
'getdefaultencoding' : 'interp_encoding.getdefaultencoding',
'setdefaultencoding' : 'interp_encoding.setdefaultencoding',
@@ -116,18 +116,18 @@
else:
from pypy.module.sys import version
- space.setitem(self.w_dict, space.wrap("version"),
- space.wrap(version.get_version(space)))
+ space.setitem(self.w_dict, space.newtext("version"),
+ version.get_version(space))
if _WIN:
from pypy.module.sys import vm
w_handle = vm.get_dllhandle(space)
- space.setitem(self.w_dict, space.wrap("dllhandle"), w_handle)
+ space.setitem(self.w_dict, space.newtext("dllhandle"), w_handle)
def getmodule(self, name):
space = self.space
w_modules = self.get('modules')
try:
- return space.getitem(w_modules, space.wrap(name))
+ return space.getitem(w_modules, space.newtext(name))
except OperationError as e:
if not e.match(space, space.w_KeyError):
raise
@@ -135,7 +135,7 @@
def setmodule(self, w_module):
space = self.space
- w_name = self.space.getattr(w_module, space.wrap('__name__'))
+ w_name = self.space.getattr(w_module, space.newtext('__name__'))
w_modules = self.get('modules')
self.space.setitem(w_modules, w_name, w_module)
@@ -161,7 +161,7 @@
if operror is None:
return space.w_None
else:
- return space.wrap(operror.get_traceback())
+ return operror.get_traceback()
return None
def get_w_default_encoder(self):
@@ -176,7 +176,7 @@
def get_flag(self, name):
space = self.space
- return space.int_w(space.getattr(self.get('flags'), space.wrap(name)))
+ return space.int_w(space.getattr(self.get('flags'), space.newtext(name)))
def get_state(self, space):
from pypy.module.sys import state
diff --git a/pypy/module/sys/currentframes.py b/pypy/module/sys/currentframes.py
--- a/pypy/module/sys/currentframes.py
+++ b/pypy/module/sys/currentframes.py
@@ -61,17 +61,17 @@
else:
frames.append(None)
- w_topframe = space.wrap(None)
+ w_topframe = space.w_None
w_prevframe = None
for f in frames:
w_nextframe = space.call_function(w_fake_frame, space.wrap(f))
if w_prevframe is None:
w_topframe = w_nextframe
else:
- space.setattr(w_prevframe, space.wrap('f_back'), w_nextframe)
+ space.setattr(w_prevframe, space.newtext('f_back'), w_nextframe)
w_prevframe = w_nextframe
space.setitem(w_result,
- space.wrap(thread_ident),
+ space.newint(thread_ident),
w_topframe)
return w_result
diff --git a/pypy/module/sys/hook.py b/pypy/module/sys/hook.py
--- a/pypy/module/sys/hook.py
+++ b/pypy/module/sys/hook.py
@@ -3,7 +3,7 @@
def displayhook(space, w_obj):
"""Print an object to sys.stdout and also save it in __builtin__._"""
if not space.is_w(w_obj, space.w_None):
- space.setitem(space.builtin.w_dict, space.wrap('_'), w_obj)
+ space.setitem(space.builtin.w_dict, space.newtext('_'), w_obj)
# NB. this is slightly more complicated in CPython,
# see e.g. the difference with >>> print 5,; 8
print_item_to(space, space.repr(w_obj), sys_stdout(space))
diff --git a/pypy/module/sys/initpath.py b/pypy/module/sys/initpath.py
--- a/pypy/module/sys/initpath.py
+++ b/pypy/module/sys/initpath.py
@@ -117,7 +117,7 @@
if state is not None: # 'None' for testing only
lib_extensions = os.path.join(lib_pypy, '__extensions__')
- state.w_lib_extensions = state.space.wrap(lib_extensions)
+ state.w_lib_extensions = state.space.newtext(lib_extensions)
importlist.append(lib_extensions)
importlist.append(lib_pypy)
@@ -149,12 +149,12 @@
@unwrap_spec(executable='str0')
def pypy_find_executable(space, executable):
- return space.wrap(find_executable(executable))
+ return space.newtext(find_executable(executable))
@unwrap_spec(filename='str0')
def pypy_resolvedirof(space, filename):
- return space.wrap(resolvedirof(filename))
+ return space.newtext(resolvedirof(filename))
@unwrap_spec(executable='str0')
@@ -171,10 +171,10 @@
path, prefix = find_stdlib(get_state(space), dyn_path)
if path is None:
return space.w_None
- w_prefix = space.wrap(prefix)
- space.setitem(space.sys.w_dict, space.wrap('prefix'), w_prefix)
- space.setitem(space.sys.w_dict, space.wrap('exec_prefix'), w_prefix)
- return space.newlist([space.wrap(p) for p in path])
+ w_prefix = space.newtext(prefix)
+ space.setitem(space.sys.w_dict, space.newtext('prefix'), w_prefix)
+ space.setitem(space.sys.w_dict, space.newtext('exec_prefix'), w_prefix)
+ return space.newlist([space.newtext(p) for p in path])
# ____________________________________________________________
diff --git a/pypy/module/sys/interp_encoding.py b/pypy/module/sys/interp_encoding.py
--- a/pypy/module/sys/interp_encoding.py
+++ b/pypy/module/sys/interp_encoding.py
@@ -5,14 +5,14 @@
def getdefaultencoding(space):
"""Return the current default string encoding used by the Unicode
implementation."""
- return space.wrap(space.sys.defaultencoding)
+ return space.newtext(space.sys.defaultencoding)
def setdefaultencoding(space, w_encoding):
"""Set the current default string encoding used by the Unicode
implementation."""
encoding = space.str_w(w_encoding)
mod = space.getbuiltinmodule("_codecs")
- w_lookup = space.getattr(mod, space.wrap("lookup"))
+ w_lookup = space.getattr(mod, space.newtext("lookup"))
# check whether the encoding is there
space.call_function(w_lookup, w_encoding)
space.sys.w_default_encoder = None
@@ -21,11 +21,11 @@
def get_w_default_encoder(space):
assert not (space.config.translating and not we_are_translated()), \
"get_w_default_encoder() should not be called during translation"
- w_encoding = space.wrap(space.sys.defaultencoding)
+ w_encoding = space.newtext(space.sys.defaultencoding)
mod = space.getbuiltinmodule("_codecs")
- w_lookup = space.getattr(mod, space.wrap("lookup"))
+ w_lookup = space.getattr(mod, space.newtext("lookup"))
w_functuple = space.call_function(w_lookup, w_encoding)
- w_encoder = space.getitem(w_functuple, space.wrap(0))
+ w_encoder = space.getitem(w_functuple, space.newint(0))
space.sys.w_default_encoder = w_encoder # cache it
return w_encoder
@@ -51,7 +51,7 @@
if loc_codeset:
codecmod = space.getbuiltinmodule('_codecs')
w_res = space.call_method(codecmod, 'lookup',
- space.wrap(loc_codeset))
+ space.newtext(loc_codeset))
if space.is_true(w_res):
encoding = loc_codeset
finally:
@@ -66,4 +66,4 @@
"""
if space.sys.filesystemencoding is None:
space.sys.filesystemencoding = _getfilesystemencoding(space)
- return space.wrap(space.sys.filesystemencoding)
+ return space.newtext(space.sys.filesystemencoding)
diff --git a/pypy/module/sys/state.py b/pypy/module/sys/state.py
--- a/pypy/module/sys/state.py
+++ b/pypy/module/sys/state.py
@@ -22,7 +22,7 @@
# Initialize the default path
srcdir = os.path.dirname(pypydir)
path = compute_stdlib_path(self, srcdir)
- self.w_path = space.newlist([space.wrap(p) for p in path])
+ self.w_path = space.newlist([space.newtext(p) for p in path])
def get(space):
return space.fromcache(State)
@@ -33,22 +33,22 @@
from pypy.module._file.interp_file import W_File
self.space = space
- stdin = W_File(space)
- stdin.file_fdopen(0, "r", 1)
- stdin.w_name = space.wrap('<stdin>')
- self.w_stdin = space.wrap(stdin)
+ w_stdin = W_File(space)
+ w_stdin.file_fdopen(0, "r", 1)
+ w_stdin.w_name = space.newtext('<stdin>')
+ self.w_stdin = w_stdin
- stdout = W_File(space)
- stdout.file_fdopen(1, "w", 1)
- stdout.w_name = space.wrap('<stdout>')
- self.w_stdout = space.wrap(stdout)
+ w_stdout = W_File(space)
+ w_stdout.file_fdopen(1, "w", 1)
+ w_stdout.w_name = space.newtext('<stdout>')
+ self.w_stdout = w_stdout
- stderr = W_File(space)
- stderr.file_fdopen(2, "w", 0)
- stderr.w_name = space.wrap('<stderr>')
- self.w_stderr = space.wrap(stderr)
+ w_stderr = W_File(space)
+ w_stderr.file_fdopen(2, "w", 0)
+ w_stderr.w_name = space.newtext('<stderr>')
+ self.w_stderr = w_stderr
- stdin._when_reading_first_flush(stdout)
+ w_stdin._when_reading_first_flush(w_stdout)
def getio(space):
return space.fromcache(IOState)
@@ -58,4 +58,4 @@
"""NOT_RPYTHON
(should be removed from interpleveldefs before translation)"""
from rpython.tool.udir import udir
- return space.wrap(str(udir))
+ return space.newtext(str(udir))
diff --git a/pypy/module/sys/system.py b/pypy/module/sys/system.py
--- a/pypy/module/sys/system.py
+++ b/pypy/module/sys/system.py
@@ -31,17 +31,17 @@
def get_float_info(space):
info_w = [
- space.wrap(rfloat.DBL_MAX),
- space.wrap(rfloat.DBL_MAX_EXP),
- space.wrap(rfloat.DBL_MAX_10_EXP),
- space.wrap(rfloat.DBL_MIN),
- space.wrap(rfloat.DBL_MIN_EXP),
- space.wrap(rfloat.DBL_MIN_10_EXP),
- space.wrap(rfloat.DBL_DIG),
- space.wrap(rfloat.DBL_MANT_DIG),
- space.wrap(rfloat.DBL_EPSILON),
- space.wrap(rfloat.FLT_RADIX),
- space.wrap(rfloat.FLT_ROUNDS),
+ space.newfloat(rfloat.DBL_MAX),
+ space.newint(rfloat.DBL_MAX_EXP),
+ space.newint(rfloat.DBL_MAX_10_EXP),
+ space.newfloat(rfloat.DBL_MIN),
+ space.newint(rfloat.DBL_MIN_EXP),
+ space.newint(rfloat.DBL_MIN_10_EXP),
+ space.newint(rfloat.DBL_DIG),
+ space.newint(rfloat.DBL_MANT_DIG),
+ space.newfloat(rfloat.DBL_EPSILON),
+ space.newint(rfloat.FLT_RADIX),
+ space.newint(rfloat.FLT_ROUNDS),
]
w_float_info = app.wget(space, "float_info")
return space.call_function(w_float_info, space.newtuple(info_w))
@@ -50,17 +50,17 @@
bits_per_digit = rbigint.SHIFT
sizeof_digit = rffi.sizeof(rbigint.STORE_TYPE)
info_w = [
- space.wrap(bits_per_digit),
- space.wrap(sizeof_digit),
+ space.newint(bits_per_digit),
+ space.newint(sizeof_digit),
]
w_long_info = app.wget(space, "long_info")
return space.call_function(w_long_info, space.newtuple(info_w))
def get_float_repr_style(space):
- return space.wrap("short")
+ return space.newtext("short")
def getdlopenflags(space):
- return space.wrap(space.sys.dlopenflags)
+ return space.newint(space.sys.dlopenflags)
def setdlopenflags(space, w_flags):
space.sys.dlopenflags = space.int_w(w_flags)
diff --git a/pypy/module/sys/version.py b/pypy/module/sys/version.py
--- a/pypy/module/sys/version.py
+++ b/pypy/module/sys/version.py
@@ -42,10 +42,11 @@
''')
def get_api_version(space):
- return space.wrap(CPYTHON_API_VERSION)
+ return space.newint(CPYTHON_API_VERSION)
def get_version_info(space):
w_version_info = app.wget(space, "version_info")
+ # run at translation time
return space.call_function(w_version_info, space.wrap(CPYTHON_VERSION))
def _make_version_template(PYPY_VERSION=PYPY_VERSION):
@@ -65,31 +66,33 @@
_VERSION_TEMPLATE = _make_version_template()
def get_version(space):
- return space.wrap(_VERSION_TEMPLATE % compilerinfo.get_compiler_info())
+ return space.newtext(_VERSION_TEMPLATE % compilerinfo.get_compiler_info())
def get_winver(space):
- return space.wrap("%d.%d" % (
+ return space.newtext("%d.%d" % (
CPYTHON_VERSION[0],
CPYTHON_VERSION[1]))
def get_hexversion(space):
- return space.wrap(tuple2hex(CPYTHON_VERSION))
+ return space.newint(tuple2hex(CPYTHON_VERSION))
def get_pypy_version_info(space):
ver = PYPY_VERSION
w_version_info = app.wget(space, "version_info")
+ # run at translation time
return space.call_function(w_version_info, space.wrap(ver))
def get_subversion_info(space):
+ # run at translation time
return space.wrap(('PyPy', '', ''))
def get_repo_info(space):
info = get_repo_version_info(root=pypyroot)
if info:
repo_tag, repo_version = info
- return space.newtuple([space.wrap('PyPy'),
- space.wrap(repo_tag),
- space.wrap(repo_version)])
+ return space.newtuple([space.newtext('PyPy'),
+ space.newtext(repo_tag),
+ space.newtext(repo_version)])
else:
return space.w_None
diff --git a/pypy/module/sys/vm.py b/pypy/module/sys/vm.py
--- a/pypy/module/sys/vm.py
+++ b/pypy/module/sys/vm.py
@@ -36,7 +36,7 @@
raise oefmt(space.w_ValueError, "call stack is not deep enough")
if depth == 0:
f.mark_as_escaped()
- return space.wrap(f)
+ return f
depth -= 1
f = ec.getnextframe_nohidden(f)
@@ -59,14 +59,14 @@
def getrecursionlimit(space):
"""Return the last value set by setrecursionlimit().
"""
- return space.wrap(space.sys.recursionlimit)
+ return space.newint(space.sys.recursionlimit)
@unwrap_spec(flag=bool)
def set_track_resources(space, flag):
space.sys.track_resources = flag
def get_track_resources(space):
- return space.wrap(space.sys.track_resources)
+ return space.newbool(space.sys.track_resources)
@unwrap_spec(interval=int)
def setcheckinterval(space, interval):
@@ -84,7 +84,7 @@
result = space.actionflag.getcheckinterval()
if result <= 1:
result = 0
- return space.wrap(result)
+ return space.newint(result)
def exc_info(space):
"""Return the (type, value, traceback) of the most recent exception
@@ -98,7 +98,7 @@
return space.newtuple([space.w_None, space.w_None, space.w_None])
else:
return space.newtuple([operror.w_type, operror.get_w_value(space),
- space.wrap(operror.get_traceback())])
+ operror.get_traceback()])
def exc_info_without_tb(space, frame):
operror = frame.last_exception
@@ -235,7 +235,7 @@
@jit.dont_look_inside
def get_dllhandle(space):
if not space.config.objspace.usemodules.cpyext:
- return space.wrap(0)
+ return space.newint(0)
return _get_dllhandle(space)
@@ -248,10 +248,10 @@
# from pypy.module._rawffi.interp_rawffi import W_CDLL
# from rpython.rlib.clibffi import RawCDLL
# cdll = RawCDLL(handle)
- # return space.wrap(W_CDLL(space, "python api", cdll))
+ # return W_CDLL(space, "python api", cdll)
# Provide a cpython-compatible int
from rpython.rtyper.lltypesystem import lltype, rffi
- return space.wrap(rffi.cast(lltype.Signed, handle))
+ return space.newint(rffi.cast(lltype.Signed, handle))
getsizeof_missing = """sys.getsizeof() is not implemented on PyPy.
More information about the pypy-commit
mailing list