[pypy-commit] pypy kill-someobject: kill NoneNotWrapped

fijal noreply at buildbot.pypy.org
Wed Oct 10 19:28:21 CEST 2012


Author: Maciej Fijalkowski <fijall at 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):
+ at 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))])
 
- at unwrap_spec(string='bufferstr', errors='str_or_None')
-def utf_8_decode(space, string, errors="strict", w_final=False):
+ at 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)])
 
- at unwrap_spec(data=str, errors='str_or_None', byteorder=int)
-def utf_16_ex_decode(space, data, errors='strict', byteorder=0, w_final=False):
+ at 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)])
 
- at unwrap_spec(data=str, errors='str_or_None', byteorder=int)
-def utf_32_ex_decode(space, data, errors='strict', byteorder=0, w_final=False):
+ at 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)
 
- at unwrap_spec(string='bufferstr', errors='str_or_None')
-def unicode_escape_decode(space, string, errors="strict", w_final=False):
+ at 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
 
- at unwrap_spec(lineno=int)
+ at 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):
+ at 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):
+ at 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):
+ at 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))


More information about the pypy-commit mailing list