Author: Maciej Fijalkowski <fij...@gmail.com> Branch: kill-someobject Changeset: r57983:34bc0615b806 Date: 2012-10-10 19:28 +0200 http://bitbucket.org/pypy/pypy/changeset/34bc0615b806/
Log: kill NoneNotWrapped diff --git a/pypy/doc/discussion/improve-rpython.rst b/pypy/doc/discussion/improve-rpython.rst --- a/pypy/doc/discussion/improve-rpython.rst +++ b/pypy/doc/discussion/improve-rpython.rst @@ -9,7 +9,7 @@ `import` statements:: from pypy.interpreter.baseobjspace import Wrappable - from pypy.interpreter.gateway import ObjSpace, W_Root, NoneNotWrapped + from pypy.interpreter.gateway import ObjSpace, W_Root from pypy.interpreter.argument import Arguments from pypy.interpreter.typedef import TypeDef, GetSetProperty from pypy.interpreter.typedef import interp_attrproperty, interp_attrproperty_w diff --git a/pypy/interpreter/function.py b/pypy/interpreter/function.py --- a/pypy/interpreter/function.py +++ b/pypy/interpreter/function.py @@ -343,7 +343,7 @@ def fget_func_defaults(self, space): values_w = self.defs_w # the `None in values_w` check here is to ensure that interp-level - # functions with a default of NoneNotWrapped do not get their defaults + # functions with a default of None do not get their defaults # exposed at applevel if not values_w or None in values_w: return space.w_None diff --git a/pypy/interpreter/test/test_function.py b/pypy/interpreter/test/test_function.py --- a/pypy/interpreter/test/test_function.py +++ b/pypy/interpreter/test/test_function.py @@ -760,7 +760,7 @@ def test_func_defaults(self): from pypy.interpreter import gateway - def g(w_a=gateway.NoneNotWrapped): + def g(w_a=None): pass app_g = gateway.interp2app_temp(g) space = self.space diff --git a/pypy/module/__builtin__/functional.py b/pypy/module/__builtin__/functional.py --- a/pypy/module/__builtin__/functional.py +++ b/pypy/module/__builtin__/functional.py @@ -5,7 +5,7 @@ from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import NoneNotWrapped, interp2app, unwrap_spec +from pypy.interpreter.gateway import interp2app, unwrap_spec, W_Root from pypy.interpreter.typedef import TypeDef from pypy.rlib import jit from pypy.rlib.objectmodel import specialize @@ -47,7 +47,8 @@ n = 0 return n -def range_int(space, w_x, w_y=None, w_step=1): +@unwrap_spec(w_step = (W_Root, 'space.wrap(1)')) +def range_int(space, w_x, w_y=None, w_step=None): """Return a list of integers in arithmetic position from start (defaults to zero) to stop - 1 by step (defaults to 1). Use a negative step to get a list in decending order.""" diff --git a/pypy/module/_codecs/interp_codecs.py b/pypy/module/_codecs/interp_codecs.py --- a/pypy/module/_codecs/interp_codecs.py +++ b/pypy/module/_codecs/interp_codecs.py @@ -388,8 +388,9 @@ def make_decoder_wrapper(name): rname = "str_decode_%s" % (name.replace("_decode", ""), ) assert hasattr(runicode, rname) - @unwrap_spec(string='bufferstr', errors='str_or_None') - def wrap_decoder(space, string, errors="strict", w_final=False): + @unwrap_spec(string='bufferstr', errors='str_or_None', + w_final=(W_Root, 'space.w_False')) + def wrap_decoder(space, string, errors="strict", w_final=None): if errors is None: errors = 'strict' final = space.is_true(w_final) @@ -447,8 +448,9 @@ allow_surrogates=True) return space.newtuple([space.wrap(result), space.wrap(len(uni))]) -@unwrap_spec(string='bufferstr', errors='str_or_None') -def utf_8_decode(space, string, errors="strict", w_final=False): +@unwrap_spec(string='bufferstr', errors='str_or_None', + w_final = (W_Root, 'space.w_False')) +def utf_8_decode(space, string, errors="strict", w_final=None): if errors is None: errors = 'strict' final = space.is_true(w_final) @@ -459,8 +461,9 @@ allow_surrogates=True) return space.newtuple([space.wrap(result), space.wrap(consumed)]) -@unwrap_spec(data=str, errors='str_or_None', byteorder=int) -def utf_16_ex_decode(space, data, errors='strict', byteorder=0, w_final=False): +@unwrap_spec(data=str, errors='str_or_None', byteorder=int, + w_final=(W_Root, 'space.w_False')) +def utf_16_ex_decode(space, data, errors='strict', byteorder=0, w_final=None): if errors is None: errors = 'strict' final = space.is_true(w_final) @@ -479,8 +482,9 @@ return space.newtuple([space.wrap(res), space.wrap(consumed), space.wrap(byteorder)]) -@unwrap_spec(data=str, errors='str_or_None', byteorder=int) -def utf_32_ex_decode(space, data, errors='strict', byteorder=0, w_final=False): +@unwrap_spec(data=str, errors='str_or_None', byteorder=int, + w_final=(W_Root, 'space.w_False')) +def utf_32_ex_decode(space, data, errors='strict', byteorder=0, w_final=None): final = space.is_true(w_final) state = space.fromcache(CodecState) if byteorder == 0: @@ -660,13 +664,13 @@ return -1 return space.int_w(w_code) -@unwrap_spec(string='bufferstr', errors='str_or_None') -def unicode_escape_decode(space, string, errors="strict", w_final=False): +@unwrap_spec(string='bufferstr', errors='str_or_None', + w_final=(W_Root, 'space.w_False')) +def unicode_escape_decode(space, string, errors="strict", w_final=None): if errors is None: errors = 'strict' final = space.is_true(w_final) state = space.fromcache(CodecState) - errorhandler=state.decode_error_handler unicode_name_handler = state.get_unicodedata_handler(space) diff --git a/pypy/module/_collections/interp_deque.py b/pypy/module/_collections/interp_deque.py --- a/pypy/module/_collections/interp_deque.py +++ b/pypy/module/_collections/interp_deque.py @@ -3,7 +3,7 @@ from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.typedef import TypeDef, make_weakref_descr from pypy.interpreter.typedef import GetSetProperty -from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.interpreter.error import OperationError from pypy.rlib.debug import check_nonneg @@ -80,7 +80,7 @@ self.space.w_RuntimeError, self.space.wrap("deque mutated during iteration")) - def init(self, w_iterable=NoneNotWrapped, w_maxlen=None): + def init(self, w_iterable=None, w_maxlen=None): space = self.space if space.is_w(w_maxlen, space.w_None): maxlen = sys.maxint diff --git a/pypy/module/_csv/interp_csv.py b/pypy/module/_csv/interp_csv.py --- a/pypy/module/_csv/interp_csv.py +++ b/pypy/module/_csv/interp_csv.py @@ -2,7 +2,7 @@ from pypy.interpreter.error import OperationError, operationerrfmt from pypy.interpreter.typedef import TypeDef, interp_attrproperty from pypy.interpreter.typedef import GetSetProperty -from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import interp2app QUOTE_MINIMAL, QUOTE_ALL, QUOTE_NONNUMERIC, QUOTE_NONE = range(4) @@ -116,15 +116,15 @@ dialect.quoting = tmp_quoting return dialect -def W_Dialect___new__(space, w_subtype, w_dialect = NoneNotWrapped, - w_delimiter = NoneNotWrapped, - w_doublequote = NoneNotWrapped, - w_escapechar = NoneNotWrapped, - w_lineterminator = NoneNotWrapped, - w_quotechar = NoneNotWrapped, - w_quoting = NoneNotWrapped, - w_skipinitialspace = NoneNotWrapped, - w_strict = NoneNotWrapped, +def W_Dialect___new__(space, w_subtype, w_dialect = None, + w_delimiter = None, + w_doublequote = None, + w_escapechar = None, + w_lineterminator = None, + w_quotechar = None, + w_quoting = None, + w_skipinitialspace = None, + w_strict = None, ): dialect = _build_dialect(space, w_dialect, w_delimiter, w_doublequote, w_escapechar, w_lineterminator, w_quotechar, diff --git a/pypy/module/_csv/interp_reader.py b/pypy/module/_csv/interp_reader.py --- a/pypy/module/_csv/interp_reader.py +++ b/pypy/module/_csv/interp_reader.py @@ -1,7 +1,7 @@ from pypy.rlib.rstring import StringBuilder from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import NoneNotWrapped, unwrap_spec +from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.typedef import TypeDef, interp2app from pypy.interpreter.typedef import interp_attrproperty_w, interp_attrproperty from pypy.module._csv.interp_csv import _build_dialect @@ -213,15 +213,15 @@ return w_result -def csv_reader(space, w_iterator, w_dialect=NoneNotWrapped, - w_delimiter = NoneNotWrapped, - w_doublequote = NoneNotWrapped, - w_escapechar = NoneNotWrapped, - w_lineterminator = NoneNotWrapped, - w_quotechar = NoneNotWrapped, - w_quoting = NoneNotWrapped, - w_skipinitialspace = NoneNotWrapped, - w_strict = NoneNotWrapped, +def csv_reader(space, w_iterator, w_dialect=None, + w_delimiter = None, + w_doublequote = None, + w_escapechar = None, + w_lineterminator = None, + w_quotechar = None, + w_quoting = None, + w_skipinitialspace = None, + w_strict = None, ): """ csv_reader = reader(iterable [, dialect='excel'] diff --git a/pypy/module/_csv/interp_writer.py b/pypy/module/_csv/interp_writer.py --- a/pypy/module/_csv/interp_writer.py +++ b/pypy/module/_csv/interp_writer.py @@ -1,7 +1,6 @@ from pypy.rlib.rstring import StringBuilder from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import NoneNotWrapped from pypy.interpreter.typedef import TypeDef, interp2app from pypy.interpreter.typedef import interp_attrproperty_w from pypy.module._csv.interp_csv import _build_dialect @@ -131,15 +130,15 @@ self.writerow(w_seq) -def csv_writer(space, w_fileobj, w_dialect=NoneNotWrapped, - w_delimiter = NoneNotWrapped, - w_doublequote = NoneNotWrapped, - w_escapechar = NoneNotWrapped, - w_lineterminator = NoneNotWrapped, - w_quotechar = NoneNotWrapped, - w_quoting = NoneNotWrapped, - w_skipinitialspace = NoneNotWrapped, - w_strict = NoneNotWrapped, +def csv_writer(space, w_fileobj, w_dialect=None, + w_delimiter = None, + w_doublequote = None, + w_escapechar = None, + w_lineterminator = None, + w_quotechar = None, + w_quoting = None, + w_skipinitialspace = None, + w_strict = None, ): """ csv_writer = csv.writer(fileobj [, dialect='excel'] diff --git a/pypy/module/_lsprof/interp_lsprof.py b/pypy/module/_lsprof/interp_lsprof.py --- a/pypy/module/_lsprof/interp_lsprof.py +++ b/pypy/module/_lsprof/interp_lsprof.py @@ -3,7 +3,7 @@ from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.error import OperationError from pypy.interpreter.function import Method, Function -from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.interpreter.typedef import (TypeDef, GetSetProperty, interp_attrproperty) from pypy.rlib import jit @@ -266,8 +266,8 @@ return timer_size_int(0) return read_timestamp() - def enable(self, space, w_subcalls=NoneNotWrapped, - w_builtins=NoneNotWrapped): + def enable(self, space, w_subcalls=None, + w_builtins=None): if self.is_enabled: return # ignored if w_subcalls is not None: @@ -378,7 +378,7 @@ factor) @unwrap_spec(time_unit=float, subcalls=bool, builtins=bool) -def descr_new_profile(space, w_type, w_callable=NoneNotWrapped, time_unit=0.0, +def descr_new_profile(space, w_type, w_callable=None, time_unit=0.0, subcalls=True, builtins=True): p = space.allocate_instance(W_Profiler, w_type) p.__init__(space, w_callable, time_unit, subcalls, builtins) diff --git a/pypy/module/_random/interp_random.py b/pypy/module/_random/interp_random.py --- a/pypy/module/_random/interp_random.py +++ b/pypy/module/_random/interp_random.py @@ -1,6 +1,6 @@ from pypy.interpreter.error import OperationError from pypy.interpreter.typedef import TypeDef -from pypy.interpreter.gateway import NoneNotWrapped, interp2app, unwrap_spec +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.interpreter.baseobjspace import Wrappable from pypy.rlib.rarithmetic import r_uint, intmask from pypy.rlib import rrandom @@ -22,7 +22,7 @@ def random(self, space): return space.newfloat(self._rnd.random()) - def seed(self, space, w_n=NoneNotWrapped): + def seed(self, space, w_n=None): if w_n is None: w_n = space.newint(int(time.time())) else: 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 @@ -1,7 +1,7 @@ from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.typedef import TypeDef, make_weakref_descr,\ interp_attrproperty -from pypy.interpreter.gateway import NoneNotWrapped, interp2app, unwrap_spec +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.rlib.rarithmetic import intmask from pypy.rlib import rsocket from pypy.rlib.rsocket import RSocket, AF_INET, SOCK_STREAM @@ -121,7 +121,7 @@ raise converted_error(space, e) @unwrap_spec(level=int, optname=int) - def getsockopt_w(self, space, level, optname, w_buflen=NoneNotWrapped): + def getsockopt_w(self, space, level, optname, w_buflen=None): """getsockopt(level, option[, buffersize]) -> value Get a socket option. See the Unix manual for level and option. @@ -228,7 +228,7 @@ raise converted_error(space, e) @unwrap_spec(data='bufferstr') - def sendto_w(self, space, data, w_param2, w_param3=NoneNotWrapped): + def sendto_w(self, space, data, w_param2, w_param3=None): """sendto(data[, flags], address) -> count Like send(data, flags) but allows specifying the destination address. diff --git a/pypy/module/_sre/interp_sre.py b/pypy/module/_sre/interp_sre.py --- a/pypy/module/_sre/interp_sre.py +++ b/pypy/module/_sre/interp_sre.py @@ -3,7 +3,7 @@ from pypy.interpreter.typedef import GetSetProperty, TypeDef from pypy.interpreter.typedef import interp_attrproperty, interp_attrproperty_w from pypy.interpreter.typedef import make_weakref_descr -from pypy.interpreter.gateway import interp2app, unwrap_spec +from pypy.interpreter.gateway import interp2app, unwrap_spec, W_Root from pypy.interpreter.error import OperationError from pypy.rlib.rarithmetic import intmask from pypy.tool.pairtype import extendabletype @@ -387,13 +387,16 @@ return space.call_method(w_re, '_expand', space.wrap(self.srepat), space.wrap(self), w_template) - def start_w(self, w_groupnum=0): + @unwrap_spec(w_groupnum = (W_Root, 'space.wrap(0)')) + def start_w(self, w_groupnum): return self.space.wrap(self.do_span(w_groupnum)[0]) - def end_w(self, w_groupnum=0): + @unwrap_spec(w_groupnum = (W_Root, 'space.wrap(0)')) + def end_w(self, w_groupnum): return self.space.wrap(self.do_span(w_groupnum)[1]) - def span_w(self, w_groupnum=0): + @unwrap_spec(w_groupnum = (W_Root, 'space.wrap(0)')) + def span_w(self, w_groupnum): start, end = self.do_span(w_groupnum) return self.space.newtuple([self.space.wrap(start), self.space.wrap(end)]) diff --git a/pypy/module/_warnings/interp_warnings.py b/pypy/module/_warnings/interp_warnings.py --- a/pypy/module/_warnings/interp_warnings.py +++ b/pypy/module/_warnings/interp_warnings.py @@ -1,4 +1,4 @@ -from pypy.interpreter.gateway import unwrap_spec +from pypy.interpreter.gateway import unwrap_spec, W_Root from pypy.interpreter.error import OperationError def create_filter(space, w_category, action): @@ -343,7 +343,9 @@ w_source_line = space.getitem(w_source_list, space.wrap(lineno - 1)) return w_source_line -@unwrap_spec(lineno=int) +@unwrap_spec(lineno=int, w_module = (W_Root, 'space.w_None'), + w_registry = (W_Root, 'space.w_None'), + w_module_globals = (W_Root, 'space.w_None')) def warn_explicit(space, w_message, w_category, w_filename, lineno, w_module=None, w_registry=None, w_module_globals=None): diff --git a/pypy/module/cmath/interp_cmath.py b/pypy/module/cmath/interp_cmath.py --- a/pypy/module/cmath/interp_cmath.py +++ b/pypy/module/cmath/interp_cmath.py @@ -2,7 +2,6 @@ from pypy.rlib.objectmodel import specialize from pypy.tool.sourcetools import func_with_new_name from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import NoneNotWrapped from pypy.module.cmath import names_and_docstrings from pypy.rlib import rcomplex @@ -75,7 +74,7 @@ _inner_wrapped_log = wrapped_log -def wrapped_log(space, w_z, w_base=NoneNotWrapped): +def wrapped_log(space, w_z, w_base=None): w_logz = _inner_wrapped_log(space, w_z) if w_base is not None: w_logbase = _inner_wrapped_log(space, w_base) diff --git a/pypy/module/marshal/interp_marshal.py b/pypy/module/marshal/interp_marshal.py --- a/pypy/module/marshal/interp_marshal.py +++ b/pypy/module/marshal/interp_marshal.py @@ -1,4 +1,5 @@ from pypy.interpreter.error import OperationError +from pypy.interpreter.gateway import W_Root, unwrap_spec from pypy.rlib.rarithmetic import intmask from pypy.rlib import rstackovf from pypy.module._file.interp_file import W_File @@ -6,7 +7,8 @@ Py_MARSHAL_VERSION = 2 -def dump(space, w_data, w_f, w_version=Py_MARSHAL_VERSION): +@unwrap_spec(w_version = (W_Root, 'space.wrap(%d)' % Py_MARSHAL_VERSION)) +def dump(space, w_data, w_f, w_version): """Write the 'data' object into the open file 'f'.""" # special case real files for performance file = space.interpclass_w(w_f) @@ -23,7 +25,8 @@ finally: writer.finished() -def dumps(space, w_data, w_version=Py_MARSHAL_VERSION): +@unwrap_spec(w_version = (W_Root, 'space.wrap(%d)' % Py_MARSHAL_VERSION)) +def dumps(space, w_data, w_version): """Return the string that would have been written to a file by dump(data, file).""" m = StringMarshaller(space, space.int_w(w_version)) diff --git a/pypy/module/math/interp_math.py b/pypy/module/math/interp_math.py --- a/pypy/module/math/interp_math.py +++ b/pypy/module/math/interp_math.py @@ -3,7 +3,6 @@ from pypy.rlib import rfloat, unroll from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import NoneNotWrapped class State: def __init__(self, space): @@ -204,7 +203,7 @@ space.wrap('math domain error')) return space.wrap(result) -def log(space, w_x, w_base=NoneNotWrapped): +def log(space, w_x, w_base=None): """log(x[, base]) -> the logarithm of x to the given base. If the base not specified, returns the natural logarithm (base e) of x. """ 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 @@ -1,7 +1,7 @@ from pypy.interpreter.error import OperationError, wrap_oserror from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.typedef import TypeDef -from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.rlib import rmmap, rarithmetic from pypy.rlib.rmmap import RValueError, RTypeError @@ -35,7 +35,7 @@ return self.space.wrap(self.mmap.read(num)) @unwrap_spec(tofind='bufferstr') - def find(self, tofind, w_start=NoneNotWrapped, w_end=NoneNotWrapped): + def find(self, tofind, w_start=None, w_end=None): space = self.space if w_start is None: start = self.mmap.pos @@ -48,7 +48,7 @@ return space.wrap(self.mmap.find(tofind, start, end)) @unwrap_spec(tofind='bufferstr') - def rfind(self, tofind, w_start=NoneNotWrapped, w_end=NoneNotWrapped): + def rfind(self, tofind, w_start=None, w_end=None): space = self.space if w_start is None: start = self.mmap.pos diff --git a/pypy/module/oracle/interp_connect.py b/pypy/module/oracle/interp_connect.py --- a/pypy/module/oracle/interp_connect.py +++ b/pypy/module/oracle/interp_connect.py @@ -1,13 +1,11 @@ from pypy.interpreter.baseobjspace import Wrappable -from pypy.interpreter.gateway import unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import unwrap_spec from pypy.interpreter.typedef import (TypeDef, interp_attrproperty_w, GetSetProperty) from pypy.interpreter.gateway import interp2app from pypy.interpreter.error import OperationError from pypy.rpython.lltypesystem import rffi, lltype -Null = NoneNotWrapped - from pypy.module.oracle import roci, interp_error from pypy.module.oracle.config import string_w, StringBuffer, MAX_STRING_CHARS from pypy.module.oracle.interp_environ import Environment @@ -35,18 +33,18 @@ threaded=bool, twophase=bool, events=bool, purity=bool) def descr_new(space, w_subtype, - w_user=NoneNotWrapped, - w_password=NoneNotWrapped, - w_dsn=NoneNotWrapped, + w_user=None, + w_password=None, + w_dsn=None, mode=roci.OCI_DEFAULT, handle=0, # XXX should be a ptr type - w_pool=Null, + w_pool=None, threaded=False, twophase=False, events=False, - w_cclass=Null, + w_cclass=None, purity=0, - w_newpassword=Null): + w_newpassword=None): self = space.allocate_instance(W_Connection, w_subtype) W_Connection.__init__(self) diff --git a/pypy/module/oracle/interp_pool.py b/pypy/module/oracle/interp_pool.py --- a/pypy/module/oracle/interp_pool.py +++ b/pypy/module/oracle/interp_pool.py @@ -1,14 +1,11 @@ from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.argument import Arguments, Signature -from pypy.interpreter.gateway import NoneNotWrapped from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.interpreter.typedef import TypeDef, GetSetProperty from pypy.interpreter.typedef import interp_attrproperty, interp_attrproperty_w from pypy.interpreter.error import OperationError from pypy.rpython.lltypesystem import rffi, lltype -Null = NoneNotWrapped - from pypy.module.oracle import roci, config from pypy.module.oracle import interp_error, interp_environ from pypy.module.oracle.interp_error import get @@ -22,7 +19,7 @@ def descr_new(space, w_subtype, w_user, w_password, w_dsn, min, max, increment, - w_connectiontype=Null, + w_connectiontype=None, threaded=False, getmode=roci.OCI_SPOOL_ATTRVAL_NOWAIT, events=False, 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 @@ -5,7 +5,7 @@ from pypy.interpreter import gateway from pypy.interpreter.error import OperationError -from pypy.interpreter.gateway import unwrap_spec +from pypy.interpreter.gateway import unwrap_spec, W_Root from pypy.rlib import jit from pypy.rlib.runicode import MAXUNICODE @@ -20,7 +20,8 @@ "trying to change the builtin-in module %r" % (name,)) space.setitem(w_modules, space.wrap(name), w_module) -def _getframe(space, w_depth=0): +@unwrap_spec(w_depth = (W_Root, 'space.wrap(0)')) +def _getframe(space, w_depth): """Return a frame object from the call stack. If optional integer depth is given, return the frame object that many calls below the top of the stack. If that is deeper than the call stack, ValueError is raised. The default diff --git a/pypy/module/thread/os_thread.py b/pypy/module/thread/os_thread.py --- a/pypy/module/thread/os_thread.py +++ b/pypy/module/thread/os_thread.py @@ -5,7 +5,7 @@ from pypy.module.thread import ll_thread as thread from pypy.module.thread.error import wrap_thread_error from pypy.interpreter.error import OperationError, operationerrfmt -from pypy.interpreter.gateway import unwrap_spec, NoneNotWrapped, Arguments +from pypy.interpreter.gateway import unwrap_spec, Arguments # Here are the steps performed to start a new thread: # @@ -152,7 +152,7 @@ space.call_method(w_threading, "_after_fork") -def start_new_thread(space, w_callable, w_args, w_kwargs=NoneNotWrapped): +def start_new_thread(space, w_callable, w_args, w_kwargs=None): """Start a new thread and return its identifier. The thread will call the function with positional arguments from the tuple args and keyword arguments taken from the optional dictionary kwargs. The thread exits when the diff --git a/pypy/module/unicodedata/interp_ucd.py b/pypy/module/unicodedata/interp_ucd.py --- a/pypy/module/unicodedata/interp_ucd.py +++ b/pypy/module/unicodedata/interp_ucd.py @@ -1,7 +1,7 @@ """ Implementation of the interpreter-level functions in the module unicodedata. """ -from pypy.interpreter.gateway import interp2app, unwrap_spec, NoneNotWrapped +from pypy.interpreter.gateway import interp2app, unwrap_spec from pypy.interpreter.baseobjspace import Wrappable from pypy.interpreter.error import OperationError from pypy.interpreter.typedef import TypeDef, interp_attrproperty @@ -139,7 +139,7 @@ raise OperationError(space.w_KeyError, msg) return space.wrap(code_to_unichr(code)) - def name(self, space, w_unichr, w_default=NoneNotWrapped): + def name(self, space, w_unichr, w_default=None): code = unichr_to_code_w(space, w_unichr) try: name = self._name(code) @@ -150,7 +150,7 @@ return space.wrap(name) - def decimal(self, space, w_unichr, w_default=NoneNotWrapped): + def decimal(self, space, w_unichr, w_default=None): code = unichr_to_code_w(space, w_unichr) try: return space.wrap(self._decimal(code)) @@ -160,7 +160,7 @@ return w_default raise OperationError(space.w_ValueError, space.wrap('not a decimal')) - def digit(self, space, w_unichr, w_default=NoneNotWrapped): + def digit(self, space, w_unichr, w_default=None): code = unichr_to_code_w(space, w_unichr) try: return space.wrap(self._digit(code)) @@ -170,7 +170,7 @@ return w_default raise OperationError(space.w_ValueError, space.wrap('not a digit')) - def numeric(self, space, w_unichr, w_default=NoneNotWrapped): + def numeric(self, space, w_unichr, w_default=None): code = unichr_to_code_w(space, w_unichr) try: return space.wrap(self._numeric(code)) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit