[pypy-commit] pypy space-newtext: cpyext
cfbolz
pypy.commits at gmail.com
Thu Nov 10 10:03:27 EST 2016
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: space-newtext
Changeset: r88293:111d8e1779ff
Date: 2016-11-09 17:59 +0100
http://bitbucket.org/pypy/pypy/changeset/111d8e1779ff/
Log: cpyext
diff --git a/pypy/module/cpyext/bytearrayobject.py b/pypy/module/cpyext/bytearrayobject.py
--- a/pypy/module/cpyext/bytearrayobject.py
+++ b/pypy/module/cpyext/bytearrayobject.py
@@ -83,7 +83,7 @@
space.call_method(w_obj, 'extend', space.newbytes('\x00' * (newlen - oldlen)))
elif oldlen > newlen:
assert newlen >= 0
- space.delslice(w_obj, space.wrap(newlen), space.wrap(oldlen))
+ space.delslice(w_obj, space.newint(newlen), space.newint(oldlen))
return 0
else:
raise oefmt(space.w_TypeError,
diff --git a/pypy/module/cpyext/bytesobject.py b/pypy/module/cpyext/bytesobject.py
--- a/pypy/module/cpyext/bytesobject.py
+++ b/pypy/module/cpyext/bytesobject.py
@@ -118,14 +118,14 @@
def PyString_FromStringAndSize(space, char_p, length):
if char_p:
s = rffi.charpsize2str(char_p, length)
- return make_ref(space, space.wrap(s))
+ return make_ref(space, space.newtext(s))
else:
return rffi.cast(PyObject, new_empty_str(space, length))
@cpython_api([CONST_STRING], PyObject)
def PyString_FromString(space, char_p):
s = rffi.charp2str(char_p)
- return space.wrap(s)
+ return space.newtext(s)
@cpython_api([PyObject], rffi.CCHARP, error=0)
def PyString_AsString(space, ref):
diff --git a/pypy/module/cpyext/mapping.py b/pypy/module/cpyext/mapping.py
--- a/pypy/module/cpyext/mapping.py
+++ b/pypy/module/cpyext/mapping.py
@@ -41,14 +41,14 @@
def PyMapping_GetItemString(space, w_obj, key):
"""Return element of o corresponding to the object key or NULL on failure.
This is the equivalent of the Python expression o[key]."""
- w_key = space.wrap(rffi.charp2str(key))
+ w_key = space.newtext(rffi.charp2str(key))
return space.getitem(w_obj, w_key)
@cpython_api([PyObject, CONST_STRING, PyObject], rffi.INT_real, error=-1)
def PyMapping_SetItemString(space, w_obj, key, w_value):
"""Map the object key to the value v in object o. Returns -1 on failure.
This is the equivalent of the Python statement o[key] = v."""
- w_key = space.wrap(rffi.charp2str(key))
+ w_key = space.newtext(rffi.charp2str(key))
space.setitem(w_obj, w_key, w_value)
return 0
@@ -69,7 +69,7 @@
This is equivalent to o[key], returning True on success and False
on an exception. This function always succeeds."""
try:
- w_key = space.wrap(rffi.charp2str(key))
+ w_key = space.newtext(rffi.charp2str(key))
space.getitem(w_obj, w_key)
return 1
except:
diff --git a/pypy/module/cpyext/modsupport.py b/pypy/module/cpyext/modsupport.py
--- a/pypy/module/cpyext/modsupport.py
+++ b/pypy/module/cpyext/modsupport.py
@@ -60,7 +60,7 @@
state.package_context = None, None
if f_path is not None:
- dict_w = {'__file__': space.wrap(f_path)}
+ dict_w = {'__file__': space.newtext(f_path)}
else:
dict_w = {}
convert_method_defs(space, dict_w, methods, None, w_self, modname)
diff --git a/pypy/module/cpyext/pyerrors.py b/pypy/module/cpyext/pyerrors.py
--- a/pypy/module/cpyext/pyerrors.py
+++ b/pypy/module/cpyext/pyerrors.py
@@ -151,7 +151,7 @@
# XXX Doesn't actually do anything with PyErr_CheckSignals.
if llfilename:
filename = rffi.charp2str(llfilename)
- w_filename = space.wrap(filename)
+ w_filename = space.newbytes(filename)
else:
w_filename = space.w_None
diff --git a/pypy/module/cpyext/pyfile.py b/pypy/module/cpyext/pyfile.py
--- a/pypy/module/cpyext/pyfile.py
+++ b/pypy/module/cpyext/pyfile.py
@@ -43,7 +43,7 @@
filename, with a file mode given by mode, where mode has the same
semantics as the standard C routine fopen(). On failure, return NULL."""
w_filename = space.newbytes(rffi.charp2str(filename))
- w_mode = space.wrap(rffi.charp2str(mode))
+ w_mode = space.newtext(rffi.charp2str(mode))
return space.call_method(space.builtin, 'file', w_filename, w_mode)
@cpython_api([PyObject], FILEP, error=lltype.nullptr(FILEP.TO))
@@ -81,7 +81,7 @@
raise oefmt(space.w_NotImplementedError,
'PyFromFile(..., close) with close function not implemented')
w_ret = space.allocate_instance(W_File, space.gettypefor(W_File))
- w_ret.w_name = space.wrap(rffi.charp2str(name))
+ w_ret.w_name = space.newtext(rffi.charp2str(name))
w_ret.check_mode_ok(rffi.charp2str(mode))
w_ret.fp = fp
return w_ret
@@ -96,7 +96,7 @@
def PyFile_WriteString(space, s, w_p):
"""Write string s to file object p. Return 0 on success or -1 on
failure; the appropriate exception will be set."""
- w_str = space.wrap(rffi.charp2str(s))
+ w_str = space.newtext(rffi.charp2str(s))
space.call_method(w_p, "write", w_str)
return 0
diff --git a/pypy/module/cpyext/pytraceback.py b/pypy/module/cpyext/pytraceback.py
--- a/pypy/module/cpyext/pytraceback.py
+++ b/pypy/module/cpyext/pytraceback.py
@@ -34,9 +34,9 @@
if traceback.next is None:
w_next_traceback = None
else:
- w_next_traceback = space.wrap(traceback.next)
+ w_next_traceback = traceback.next
py_traceback.c_tb_next = rffi.cast(PyTracebackObject, make_ref(space, w_next_traceback))
- py_traceback.c_tb_frame = rffi.cast(PyFrameObject, make_ref(space, space.wrap(traceback.frame)))
+ py_traceback.c_tb_frame = rffi.cast(PyFrameObject, make_ref(space, traceback.frame))
rffi.setintfield(py_traceback, 'c_tb_lasti', traceback.lasti)
rffi.setintfield(py_traceback, 'c_tb_lineno',traceback.get_lineno())
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -71,7 +71,7 @@
tag="cpyext_1")
def PyDescr_NewGetSet(space, getset, w_type):
- return space.wrap(W_GetSetPropertyEx(getset, w_type))
+ return W_GetSetPropertyEx(getset, w_type)
class W_MemberDescr(GetSetProperty):
name = 'member_descriptor'
@@ -235,7 +235,7 @@
if not name:
break
name = rffi.charp2str(name)
- w_descr = space.wrap(W_MemberDescr(member, w_type))
+ w_descr = W_MemberDescr(member, w_type)
dict_w[name] = w_descr
i += 1
@@ -326,7 +326,7 @@
continue
w_obj = W_PyCWrapperObject(space, pto, method_name, wrapper_func,
wrapper_func_kwds, doc, func_voidp, offset=offset)
- dict_w[method_name] = space.wrap(w_obj)
+ dict_w[method_name] = w_obj
if pto.c_tp_new:
add_tp_new_wrapper(space, dict_w, pto)
@@ -477,7 +477,7 @@
not (pto.c_tp_as_sequence and pto.c_tp_as_sequence.c_sq_slice)):
self.flag_map_or_seq = 'M'
if pto.c_tp_doc:
- self.w_doc = space.wrap(rffi.charp2str(pto.c_tp_doc))
+ self.w_doc = space.newtext(rffi.charp2str(pto.c_tp_doc))
@bootstrap_function
def init_typeobject(space):
@@ -719,7 +719,7 @@
# point we might get into troubles by doing make_ref() when
# things are not initialized yet. So in this case, simply use
# str2charp() and "leak" the string.
- w_typename = space.getattr(w_type, space.wrap('__name__'))
+ w_typename = space.getattr(w_type, space.newtext('__name__'))
heaptype = rffi.cast(PyHeapTypeObject, pto)
heaptype.c_ht_name = make_ref(space, w_typename)
from pypy.module.cpyext.bytesobject import PyString_AsString
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
@@ -285,7 +285,7 @@
success, -1 in case of an error."""
if not encoding:
PyErr_BadArgument(space)
- w_encoding = space.wrap(rffi.charp2str(encoding))
+ w_encoding = space.newtext(rffi.charp2str(encoding))
setdefaultencoding(space, w_encoding)
default_encoding[0] = '\x00'
return 0
@@ -340,7 +340,7 @@
is NULL."""
if wchar_p:
s = rffi.wcharpsize2unicode(wchar_p, length)
- return make_ref(space, space.wrap(s))
+ return make_ref(space, space.newunicode(s))
else:
return rffi.cast(PyObject, new_empty_unicode(space, length))
@@ -373,7 +373,7 @@
# This tracks CPython 2.7, in CPython 3.4 'utf-8' is hardcoded instead
encoding = PyUnicode_GetDefaultEncoding(space)
w_str = space.newbytes(rffi.charpsize2str(s, size))
- w_encoding = space.wrap(rffi.charp2str(encoding))
+ w_encoding = space.newtext(rffi.charp2str(encoding))
if errors:
w_errors = space.newbytes(rffi.charp2str(errors))
else:
More information about the pypy-commit
mailing list