summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-11-28 08:28:28 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-11-28 08:28:28 (GMT)
commitc9543e42330e5f339d6419eba6a8c5a61a39aeca (patch)
treeee3c677e808d015b6c142e1cca28337e08839818
parentceee0773d262bfe876e40da927b03279ed9f8419 (diff)
downloadcpython-c9543e42330e5f339d6419eba6a8c5a61a39aeca.zip
cpython-c9543e42330e5f339d6419eba6a8c5a61a39aeca.tar.gz
cpython-c9543e42330e5f339d6419eba6a8c5a61a39aeca.tar.bz2
Removed the new module
Removed a lot of types from the 'types' module that are available through builtins.
-rw-r--r--Doc/library/datatypes.rst1
-rw-r--r--Doc/library/new.rst55
-rw-r--r--Doc/library/types.rst101
-rw-r--r--Lib/new.py14
-rw-r--r--Lib/test/test_inspect.py2
-rw-r--r--Lib/types.py23
-rw-r--r--Lib/xml/dom/domreg.py2
-rw-r--r--Lib/xml/dom/expatbuilder.py4
-rw-r--r--Lib/xml/dom/minidom.py10
-rw-r--r--Misc/NEWS4
10 files changed, 18 insertions, 198 deletions
diff --git a/Doc/library/datatypes.rst b/Doc/library/datatypes.rst
index 4cd042d..858af96 100644
--- a/Doc/library/datatypes.rst
+++ b/Doc/library/datatypes.rst
@@ -31,7 +31,6 @@ The following modules are documented in this chapter:
weakref.rst
userdict.rst
types.rst
- new.rst
copy.rst
pprint.rst
repr.rst
diff --git a/Doc/library/new.rst b/Doc/library/new.rst
deleted file mode 100644
index 832dca6..0000000
--- a/Doc/library/new.rst
+++ /dev/null
@@ -1,55 +0,0 @@
-
-:mod:`new` --- Creation of runtime internal objects
-===================================================
-
-.. module:: new
- :synopsis: Interface to the creation of runtime implementation objects.
-.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
-
-
-The :mod:`new` module allows an interface to the interpreter object creation
-functions. This is for use primarily in marshal-type functions, when a new
-object needs to be created "magically" and not by using the regular creation
-functions. This module provides a low-level interface to the interpreter, so
-care must be exercised when using this module. It is possible to supply
-non-sensical arguments which crash the interpreter when the object is used.
-
-The :mod:`new` module defines the following functions:
-
-
-.. function:: instancemethod(function, instance)
-
- This function will return a method object, bound to *instance*.
- *function* must be callable.
-
- .. XXX no unbound methods anymore
-
-
-.. function:: function(code, globals[, name[, argdefs[, closure]]])
-
- Returns a (Python) function with the given code and globals. If *name* is given,
- it must be a string or ``None``. If it is a string, the function will have the
- given name, otherwise the function name will be taken from ``code.co_name``. If
- *argdefs* is given, it must be a tuple and will be used to determine the default
- values of parameters. If *closure* is given, it must be ``None`` or a tuple of
- cell objects containing objects to bind to the names in ``code.co_freevars``.
-
-
-.. function:: code(argcount, nlocals, stacksize, flags, codestring, constants, names, varnames, filename, name, firstlineno, lnotab)
-
- This function is an interface to the :cfunc:`PyCode_New` C function.
-
- .. XXX This is still undocumented!!!
-
-
-.. function:: module(name[, doc])
-
- This function returns a new module object with name *name*. *name* must be a
- string. The optional *doc* argument can have any type.
-
-
-.. function:: classobj(name, baseclasses, dict)
-
- This function returns a new class object, with name *name*, derived from
- *baseclasses* (which should be a tuple of classes) and with namespace *dict*.
- Alias for the built-in :class:`type`.
diff --git a/Doc/library/types.rst b/Doc/library/types.rst
index d291fd0..4894067 100644
--- a/Doc/library/types.rst
+++ b/Doc/library/types.rst
@@ -33,77 +33,10 @@ Accordingly, the example above should be written as follows::
else:
mylist.remove(item)
-The module defines the following names:
-
-
-.. data:: NoneType
-
- The type of ``None``.
-
-
-.. data:: TypeType
- ClassType
-
- .. index:: builtin: type
-
- The type of type objects (such as returned by :func:`type`) and user-defined
- classes without metaclass; alias of the built-in :class:`type`.
-
-
-.. data:: ObjectType
-
- Alias of the built-in :func:`object`.
-
-
-.. data:: BooleanType
-
- The type of the :class:`bool` values ``True`` and ``False``; alias of the
- built-in :class:`bool`.
-
-
-.. data:: IntType
- LongType
-
- The type of integers (e.g. ``1``); alias of the built-in :class:`int`.
-
-
-.. data:: FloatType
-
- The type of floating point numbers (e.g. ``1.0``); alias of the built-in
- :class:`float`.
-
-
-.. data:: ComplexType
-
- The type of complex numbers (e.g. ``1.0j``); alias of the built-in
- :class:`complex`. This is not defined if Python was built without complex
- number support.
-
-
-.. data:: StringType
-
- The type of character strings (e.g. ``'Spam'``); alias of the built-in
- :class:`str`.
-
-
-.. data:: TupleType
-
- The type of tuples (e.g. ``(1, 2, 3, 'Spam')``); alias of the built-in
- :class:`tuple`.
-
-
-.. data:: ListType
-
- The type of lists (e.g. ``[0, 1, 2, 3]``); alias of the built-in
- :class:`list`.
-
-
-.. data:: DictType
- DictionaryType
-
- The type of dictionaries (e.g. ``{'Bacon': 1, 'Ham': 0}``); alias of the
- built-in :class:`dict`.
+Starting in Python 3.0 all types that are also available as builtins are no
+longer exposed through the types module.
+The module defines the following names:
.. data:: FunctionType
LambdaType
@@ -141,19 +74,6 @@ The module defines the following names:
The type of modules.
-.. data:: SliceType
-
- .. index:: builtin: slice
-
- The type of objects returned by :func:`slice`; alias of the built-in
- :class:`slice`.
-
-
-.. data:: EllipsisType
-
- The type of ``Ellipsis``.
-
-
.. data:: TracebackType
The type of traceback objects such as found in ``sys.exc_info()[2]``.
@@ -165,22 +85,9 @@ The module defines the following names:
traceback object.
-.. XXX!
-.. data:: BufferType
-
- .. index:: builtin: buffer
-
- The type of buffer objects created by the :func:`buffer` function.
-
-
.. data:: DictProxyType
- The type of dict proxies, such as ``TypeType.__dict__``.
-
-
-.. data:: NotImplementedType
-
- The type of ``NotImplemented``
+ The type of dict proxies, such as ``type.__dict__``.
.. data:: GetSetDescriptorType
diff --git a/Lib/new.py b/Lib/new.py
deleted file mode 100644
index 6ce9a55..0000000
--- a/Lib/new.py
+++ /dev/null
@@ -1,14 +0,0 @@
-"""Create new objects of various types. Deprecated.
-
-This module is no longer required except for backward compatibility.
-Objects of most types can now be created by calling the type object.
-"""
-from warnings import warn as _warn
-_warn("The 'new' module is not supported in 3.x, use the 'types' module "
- "instead.", DeprecationWarning, 2)
-
-classobj = type
-from types import FunctionType as function
-from types import MethodType as instancemethod
-from types import ModuleType as module
-from types import CodeType as code
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index 4b78708..60a7ad1 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -364,7 +364,7 @@ class TestClassesAndFunctions(unittest.TestCase):
formatted='(*arg1, arg2=1)')
self.assertFullArgSpecEquals(mod2.annotated, ['arg1'],
- ann_e={'arg1':types.ListType},
+ ann_e={'arg1' : list},
formatted='(arg1: list)')
def test_getargspec_method(self):
diff --git a/Lib/types.py b/Lib/types.py
index 402fa18..72454a1 100644
--- a/Lib/types.py
+++ b/Lib/types.py
@@ -9,23 +9,6 @@ import sys
# iterator. Don't check the type! Use hasattr to check for both
# "__iter__" and "__next__" attributes instead.
-NoneType = type(None)
-TypeType = type
-ObjectType = object
-
-IntType = int
-LongType = int
-FloatType = float
-BooleanType = bool
-try:
- ComplexType = complex
-except NameError:
- pass
-
-TupleType = tuple
-ListType = list
-DictType = DictionaryType = dict
-
def _f(): pass
FunctionType = type(_f)
LambdaType = type(lambda: None) # Same as FunctionType
@@ -53,11 +36,7 @@ except TypeError:
FrameType = type(tb.tb_frame)
tb = None; del tb
-SliceType = slice
-EllipsisType = type(Ellipsis)
-
-DictProxyType = type(TypeType.__dict__)
-NotImplementedType = type(NotImplemented)
+DictProxyType = type(type.__dict__)
# Extension types defined in a C helper module. XXX There may be no
# equivalent in implementations other than CPython, so it seems better to
diff --git a/Lib/xml/dom/domreg.py b/Lib/xml/dom/domreg.py
index f653563..67e0104 100644
--- a/Lib/xml/dom/domreg.py
+++ b/Lib/xml/dom/domreg.py
@@ -62,7 +62,7 @@ def getDOMImplementation(name = None, features = ()):
# User did not specify a name, try implementations in arbitrary
# order, returning the one that has the required features
- if isinstance(features, StringTypes):
+ if isinstance(features, str):
features = _parse_feature_string(features)
for creator in registered.values():
dom = creator()
diff --git a/Lib/xml/dom/expatbuilder.py b/Lib/xml/dom/expatbuilder.py
index fdb5598..a5354b9 100644
--- a/Lib/xml/dom/expatbuilder.py
+++ b/Lib/xml/dom/expatbuilder.py
@@ -918,7 +918,7 @@ def parse(file, namespaces=True):
else:
builder = ExpatBuilder()
- if isinstance(file, StringTypes):
+ if isinstance(file, str):
fp = open(file, 'rb')
try:
result = builder.parseFile(fp)
@@ -952,7 +952,7 @@ def parseFragment(file, context, namespaces=True):
else:
builder = FragmentBuilder(context)
- if isinstance(file, StringTypes):
+ if isinstance(file, str):
fp = open(file, 'rb')
try:
result = builder.parseFile(fp)
diff --git a/Lib/xml/dom/minidom.py b/Lib/xml/dom/minidom.py
index 1b857a2..3087a5c 100644
--- a/Lib/xml/dom/minidom.py
+++ b/Lib/xml/dom/minidom.py
@@ -498,7 +498,7 @@ class NamedNodeMap(object):
return L
def __contains__(self, key):
- if isinstance(key, StringTypes):
+ if isinstance(key, str):
return key in self._attrs
else:
return key in self._attrsNS
@@ -531,7 +531,7 @@ class NamedNodeMap(object):
# same as set
def __setitem__(self, attname, value):
- if isinstance(value, StringTypes):
+ if isinstance(value, str):
try:
node = self._attrs[attname]
except KeyError:
@@ -1606,7 +1606,7 @@ class Document(Node, DocumentLS):
return e
def createTextNode(self, data):
- if not isinstance(data, StringTypes):
+ if not isinstance(data, str):
raise TypeError("node contents must be a string")
t = Text()
t.data = data
@@ -1614,7 +1614,7 @@ class Document(Node, DocumentLS):
return t
def createCDATASection(self, data):
- if not isinstance(data, StringTypes):
+ if not isinstance(data, str):
raise TypeError("node contents must be a string")
c = CDATASection()
c.data = data
@@ -1927,7 +1927,7 @@ def parseString(string, parser=None):
def getDOMImplementation(features=None):
if features:
- if isinstance(features, StringTypes):
+ if isinstance(features, str):
features = domreg._parse_feature_string(features)
for f, v in features:
if not Document.implementation.hasFeature(f, v):
diff --git a/Misc/NEWS b/Misc/NEWS
index 83ce320..0fb28ad 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -67,6 +67,10 @@ Library
- The methods `os.tmpnam()`, `os.tempnam()` and `os.tmpfile()` have been
removed in favor of the tempfile module.
+- Removed the 'new' module.
+
+- Removed all types from the 'types' module that are easily accessable through
+ builtins.
What's New in Python 3.0a1?
==========================