mirror of https://github.com/python/cpython
#1535: rename __builtin__ module to builtins.
This commit is contained in:
parent
87f9c53937
commit
1a3284ed69
|
@ -64,9 +64,9 @@ class oldrange:
|
|||
|
||||
|
||||
def test():
|
||||
import time, __builtin__
|
||||
import time, builtins
|
||||
#Just a quick sanity check
|
||||
correct_result = __builtin__.range(5, 100, 3)
|
||||
correct_result = builtins.range(5, 100, 3)
|
||||
oldrange_result = list(oldrange(5, 100, 3))
|
||||
genrange_result = list(genrange(5, 100, 3))
|
||||
if genrange_result != correct_result or oldrange_result != correct_result:
|
||||
|
@ -81,7 +81,7 @@ def test():
|
|||
for i in genrange(1000):
|
||||
pass
|
||||
t3 = time.time()
|
||||
for i in __builtin__.range(1000):
|
||||
for i in builtins.range(1000):
|
||||
pass
|
||||
t4 = time.time()
|
||||
print(t2-t1, 'sec (old-style class)')
|
||||
|
|
|
@ -7,7 +7,7 @@ This code is intended to be read, not executed. However, it does work
|
|||
|
||||
"""
|
||||
|
||||
import sys, imp, __builtin__
|
||||
import sys, imp, builtins
|
||||
|
||||
|
||||
# Replacement for __import__()
|
||||
|
@ -117,7 +117,7 @@ def reload(module):
|
|||
|
||||
|
||||
# Save the original hooks
|
||||
original_import = __builtin__.__import__
|
||||
original_import = builtins.__import__
|
||||
|
||||
# Now install our hooks
|
||||
__builtin__.__import__ = import_hook
|
||||
builtins.__import__ = import_hook
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import sys
|
||||
import socket
|
||||
import pickle
|
||||
import __builtin__
|
||||
import builtins
|
||||
import os
|
||||
|
||||
|
||||
|
@ -90,8 +90,8 @@ class Client:
|
|||
if exception is None:
|
||||
return value
|
||||
x = exception
|
||||
if hasattr(__builtin__, exception):
|
||||
x = getattr(__builtin__, exception)
|
||||
if hasattr(builtins, exception):
|
||||
x = getattr(builtins, exception)
|
||||
elif exception in ('posix.error', 'mac.error'):
|
||||
x = os.error
|
||||
if x == exception:
|
||||
|
|
|
@ -17,7 +17,7 @@ Initialization, Finalization, and Threads
|
|||
single: PyEval_AcquireLock()
|
||||
single: modules (in module sys)
|
||||
single: path (in module sys)
|
||||
module: __builtin__
|
||||
module: builtins
|
||||
module: __main__
|
||||
module: sys
|
||||
triple: module; search; path
|
||||
|
@ -29,7 +29,7 @@ Initialization, Finalization, and Threads
|
|||
exception of :cfunc:`Py_SetProgramName`, :cfunc:`PyEval_InitThreads`,
|
||||
:cfunc:`PyEval_ReleaseLock`, and :cfunc:`PyEval_AcquireLock`. This initializes
|
||||
the table of loaded modules (``sys.modules``), and creates the fundamental
|
||||
modules :mod:`__builtin__`, :mod:`__main__` and :mod:`sys`. It also initializes
|
||||
modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It also initializes
|
||||
the module search path (``sys.path``). It does not set ``sys.argv``; use
|
||||
:cfunc:`PySys_SetArgv` for that. This is a no-op when called for a second time
|
||||
(without calling :cfunc:`Py_Finalize` first). There is no return value; it is a
|
||||
|
@ -83,7 +83,7 @@ Initialization, Finalization, and Threads
|
|||
.. cfunction:: PyThreadState* Py_NewInterpreter()
|
||||
|
||||
.. index::
|
||||
module: __builtin__
|
||||
module: builtins
|
||||
module: __main__
|
||||
module: sys
|
||||
single: stdout (in module sys)
|
||||
|
@ -93,7 +93,7 @@ Initialization, Finalization, and Threads
|
|||
Create a new sub-interpreter. This is an (almost) totally separate environment
|
||||
for the execution of Python code. In particular, the new interpreter has
|
||||
separate, independent versions of all imported modules, including the
|
||||
fundamental modules :mod:`__builtin__`, :mod:`__main__` and :mod:`sys`. The
|
||||
fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. The
|
||||
table of loaded modules (``sys.modules``) and the module search path
|
||||
(``sys.path``) are also separate. The new environment has no ``sys.argv``
|
||||
variable. It has new standard I/O stream file objects ``sys.stdin``,
|
||||
|
|
|
@ -507,7 +507,7 @@ interpreter can only be used after the interpreter has been initialized.
|
|||
|
||||
.. index::
|
||||
single: Py_Initialize()
|
||||
module: __builtin__
|
||||
module: builtins
|
||||
module: __main__
|
||||
module: sys
|
||||
module: exceptions
|
||||
|
@ -516,7 +516,7 @@ interpreter can only be used after the interpreter has been initialized.
|
|||
|
||||
The basic initialization function is :cfunc:`Py_Initialize`. This initializes
|
||||
the table of loaded modules, and creates the fundamental modules
|
||||
:mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
||||
:mod:`builtins`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
||||
initializes the module search path (``sys.path``).
|
||||
|
||||
.. index:: single: PySys_SetArgv()
|
||||
|
|
|
@ -268,7 +268,7 @@ Glossary
|
|||
dictionaries. There are the local, global and builtin namespaces as well
|
||||
as nested namespaces in objects (in methods). Namespaces support
|
||||
modularity by preventing naming conflicts. For instance, the functions
|
||||
:func:`__builtin__.open` and :func:`os.open` are distinguished by their
|
||||
:func:`builtins.open` and :func:`os.open` are distinguished by their
|
||||
namespaces. Namespaces also aid readability and maintainability by making
|
||||
it clear which module implements a function. For instance, writing
|
||||
:func:`random.seed` or :func:`itertools.izip` makes it clear that those
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
:mod:`__builtin__` --- Built-in objects
|
||||
=======================================
|
||||
:mod:`builtins` --- Built-in objects
|
||||
====================================
|
||||
|
||||
.. module:: __builtin__
|
||||
.. module:: builtins
|
||||
:synopsis: The module that provides the built-in namespace.
|
||||
|
||||
|
||||
This module provides direct access to all 'built-in' identifiers of Python; for
|
||||
example, ``__builtin__.open`` is the full name for the built-in function
|
||||
example, ``builtins.open`` is the full name for the built-in function
|
||||
:func:`open`. See chapter :ref:`builtin`.
|
||||
|
||||
This module is not normally accessed explicitly by most applications, but can be
|
||||
|
@ -16,10 +16,10 @@ but in which the built-in of that name is also needed. For example, in a module
|
|||
that wants to implement an :func:`open` function that wraps the built-in
|
||||
:func:`open`, this module can be used directly::
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
def open(path):
|
||||
f = __builtin__.open(path, 'r')
|
||||
f = builtins.open(path, 'r')
|
||||
return UpperCaser(f)
|
||||
|
||||
class UpperCaser:
|
|
@ -356,7 +356,7 @@ available. They are listed here in alphabetical order.
|
|||
dictionaries as global and local namespace. If the *globals* dictionary is
|
||||
present and lacks '__builtins__', the current globals are copied into *globals*
|
||||
before *expression* is parsed. This means that *expression* normally has full
|
||||
access to the standard :mod:`__builtin__` module and restricted environments are
|
||||
access to the standard :mod:`builtins` module and restricted environments are
|
||||
propagated. If the *locals* dictionary is omitted it defaults to the *globals*
|
||||
dictionary. If both dictionaries are omitted, the expression is executed in the
|
||||
environment where :keyword:`eval` is called. The return value is the result of
|
||||
|
@ -398,7 +398,7 @@ available. They are listed here in alphabetical order.
|
|||
|
||||
If the *globals* dictionary does not contain a value for the key
|
||||
``__builtins__``, a reference to the dictionary of the built-in module
|
||||
:mod:`__builtin__` is inserted under that key. That way you can control what
|
||||
:mod:`builtins` is inserted under that key. That way you can control what
|
||||
builtins are available to the executed code by inserting your own
|
||||
``__builtins__`` dictionary into *globals* before passing it to :func:`exec`.
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ This code is intended to be read, not executed. However, it does work
|
|||
|
||||
::
|
||||
|
||||
import sys, imp, __builtin__
|
||||
import sys, imp, builtins
|
||||
|
||||
# Replacement for __import__()
|
||||
def import_hook(name, globals=None, locals=None, fromlist=None):
|
||||
|
@ -218,12 +218,12 @@ This code is intended to be read, not executed. However, it does work
|
|||
|
||||
|
||||
# Save the original hooks
|
||||
original_import = __builtin__.__import__
|
||||
original_reload = __builtin__.reload
|
||||
original_import = builtins.__import__
|
||||
original_reload = builtins.reload
|
||||
|
||||
# Now install our hooks
|
||||
__builtin__.__import__ = import_hook
|
||||
__builtin__.reload = reload_hook
|
||||
builtins.__import__ = import_hook
|
||||
builtins.reload = reload_hook
|
||||
|
||||
.. index::
|
||||
module: knee
|
||||
|
|
|
@ -13,7 +13,7 @@ overview:
|
|||
.. toctree::
|
||||
|
||||
sys.rst
|
||||
__builtin__.rst
|
||||
builtins.rst
|
||||
__main__.rst
|
||||
warnings.rst
|
||||
contextlib.rst
|
||||
|
|
|
@ -55,7 +55,7 @@ Completer objects have the following method:
|
|||
Return the *state*th completion for *text*.
|
||||
|
||||
If called for *text* that doesn't include a period character (``'.'``), it will
|
||||
complete from names currently defined in :mod:`__main__`, :mod:`__builtin__` and
|
||||
complete from names currently defined in :mod:`__main__`, :mod:`builtins` and
|
||||
keywords (as defined by the :mod:`keyword` module).
|
||||
|
||||
If called for a dotted name, it will try to evaluate anything without obvious
|
||||
|
|
|
@ -46,7 +46,7 @@ The :mod:`runpy` module provides a single function:
|
|||
does not make filename information available, this variable is set to ``None``.
|
||||
|
||||
``__builtins__`` is automatically initialised with a reference to the top level
|
||||
namespace of the :mod:`__builtin__` module.
|
||||
namespace of the :mod:`builtins` module.
|
||||
|
||||
If the argument *alter_sys* is supplied and evaluates to ``True``, then
|
||||
``sys.argv[0]`` is updated with the value of ``__file__`` and
|
||||
|
|
|
@ -78,7 +78,7 @@ always available.
|
|||
.. function:: displayhook(value)
|
||||
|
||||
If *value* is not ``None``, this function prints it to ``sys.stdout``, and saves
|
||||
it in ``__builtin__._``.
|
||||
it in ``builtins._``.
|
||||
|
||||
``sys.displayhook`` is called on the result of evaluating an expression entered
|
||||
in an interactive Python session. The display of these values can be customized
|
||||
|
|
|
@ -105,7 +105,7 @@ If the :keyword:`global` statement occurs within a block, all uses of the name
|
|||
specified in the statement refer to the binding of that name in the top-level
|
||||
namespace. Names are resolved in the top-level namespace by searching the
|
||||
global namespace, i.e. the namespace of the module containing the code block,
|
||||
and the builtin namespace, the namespace of the module :mod:`__builtin__`. The
|
||||
and the builtin namespace, the namespace of the module :mod:`builtins`. The
|
||||
global namespace is searched first. If the name is not found there, the builtin
|
||||
namespace is searched. The global statement must precede all uses of the name.
|
||||
|
||||
|
@ -117,8 +117,8 @@ The built-in namespace associated with the execution of a code block is actually
|
|||
found by looking up the name ``__builtins__`` in its global namespace; this
|
||||
should be a dictionary or a module (in the latter case the module's dictionary
|
||||
is used). By default, when in the :mod:`__main__` module, ``__builtins__`` is
|
||||
the built-in module :mod:`__builtin__` (note: no 's'); when in any other module,
|
||||
``__builtins__`` is an alias for the dictionary of the :mod:`__builtin__` module
|
||||
the built-in module :mod:`builtins`; when in any other module,
|
||||
``__builtins__`` is an alias for the dictionary of the :mod:`builtins` module
|
||||
itself. ``__builtins__`` can be set to a user-created dictionary to create a
|
||||
weak form of restricted execution.
|
||||
|
||||
|
@ -126,7 +126,7 @@ weak form of restricted execution.
|
|||
|
||||
Users should not touch ``__builtins__``; it is strictly an implementation
|
||||
detail. Users wanting to override values in the built-in namespace should
|
||||
:keyword:`import` the :mod:`__builtin__` (no 's') module and modify its
|
||||
:keyword:`import` the :mod:`builtins` module and modify its
|
||||
attributes appropriately.
|
||||
|
||||
.. index:: module: __main__
|
||||
|
|
|
@ -344,7 +344,7 @@ characters:
|
|||
``_*``
|
||||
Not imported by ``from module import *``. The special identifier ``_`` is used
|
||||
in the interactive interpreter to store the result of the last evaluation; it is
|
||||
stored in the :mod:`__builtin__` module. When not in interactive mode, ``_``
|
||||
stored in the :mod:`builtins` module. When not in interactive mode, ``_``
|
||||
has no special meaning and is not defined. See section :ref:`import`.
|
||||
|
||||
.. note::
|
||||
|
|
|
@ -23,13 +23,13 @@ Complete Python programs
|
|||
.. index::
|
||||
module: sys
|
||||
module: __main__
|
||||
module: __builtin__
|
||||
module: builtins
|
||||
|
||||
While a language specification need not prescribe how the language interpreter
|
||||
is invoked, it is useful to have a notion of a complete Python program. A
|
||||
complete Python program is executed in a minimally initialized environment: all
|
||||
built-in and standard modules are available, but none have been initialized,
|
||||
except for :mod:`sys` (various system services), :mod:`__builtin__` (built-in
|
||||
except for :mod:`sys` (various system services), :mod:`builtins` (built-in
|
||||
functions, exceptions and ``None``) and :mod:`__main__`. The latter is used to
|
||||
provide the local and global namespace for execution of the complete program.
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ until the interpreter quits. The statements executed by the top-level
|
|||
invocation of the interpreter, either read from a script file or interactively,
|
||||
are considered part of a module called :mod:`__main__`, so they have their own
|
||||
global namespace. (The built-in names actually also live in a module; this is
|
||||
called :mod:`__builtin__`.)
|
||||
called :mod:`builtins`.)
|
||||
|
||||
The local namespace for a function is created when the function is called, and
|
||||
deleted when the function returns or raises an exception that is not handled
|
||||
|
|
|
@ -308,14 +308,14 @@ Without arguments, :func:`dir` lists the names you have defined currently::
|
|||
|
||||
Note that it lists all types of names: variables, modules, functions, etc.
|
||||
|
||||
.. index:: module: __builtin__
|
||||
.. index:: module: builtins
|
||||
|
||||
:func:`dir` does not list the names of built-in functions and variables. If you
|
||||
want a list of those, they are defined in the standard module
|
||||
:mod:`__builtin__`::
|
||||
:mod:`builtins`::
|
||||
|
||||
>>> import __builtin__
|
||||
>>> dir(__builtin__)
|
||||
>>> import builtins
|
||||
>>> dir(builtins)
|
||||
|
||||
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'Buffer
|
||||
Error', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Excep
|
||||
|
|
|
@ -458,8 +458,8 @@ PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *);
|
|||
extern int _PyObject_SlotCompare(PyObject *, PyObject *);
|
||||
|
||||
|
||||
/* PyObject_Dir(obj) acts like Python __builtin__.dir(obj), returning a
|
||||
list of strings. PyObject_Dir(NULL) is like __builtin__.dir(),
|
||||
/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a
|
||||
list of strings. PyObject_Dir(NULL) is like builtins.dir(),
|
||||
returning the names of the current locals. In this case, if there are
|
||||
no current locals, NULL is returned, and PyErr_Occurred() is false.
|
||||
*/
|
||||
|
|
|
@ -135,7 +135,7 @@ writeframesraw.
|
|||
"""
|
||||
|
||||
import struct
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
__all__ = ["Error","open","openfp"]
|
||||
|
||||
|
@ -336,7 +336,7 @@ class Aifc_read:
|
|||
|
||||
def __init__(self, f):
|
||||
if type(f) == type(''):
|
||||
f = __builtin__.open(f, 'rb')
|
||||
f = builtins.open(f, 'rb')
|
||||
# else, assume it is an open file object already
|
||||
self.initfp(f)
|
||||
|
||||
|
@ -557,7 +557,7 @@ class Aifc_write:
|
|||
def __init__(self, f):
|
||||
if type(f) == type(''):
|
||||
filename = f
|
||||
f = __builtin__.open(f, 'wb')
|
||||
f = builtins.open(f, 'wb')
|
||||
else:
|
||||
# else, assume it is an open file object already
|
||||
filename = '???'
|
||||
|
|
|
@ -7,7 +7,7 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
|
|||
|
||||
"""#"
|
||||
|
||||
import __builtin__, sys
|
||||
import builtins, sys
|
||||
|
||||
### Registry and builtin stateless codec functions
|
||||
|
||||
|
@ -858,7 +858,7 @@ def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
|
|||
'b' not in mode:
|
||||
# Force opening of the file in binary mode
|
||||
mode = mode + 'b'
|
||||
file = __builtin__.open(filename, mode, buffering)
|
||||
file = builtins.open(filename, mode, buffering)
|
||||
if encoding is None:
|
||||
return file
|
||||
info = lookup(encoding)
|
||||
|
|
|
@ -23,7 +23,6 @@ is read when the database is opened, and some updates rewrite the whole index)
|
|||
|
||||
import io as _io
|
||||
import os as _os
|
||||
import __builtin__
|
||||
import UserDict
|
||||
|
||||
_BLOCKSIZE = 512
|
||||
|
|
|
@ -236,18 +236,18 @@ class NullTranslations:
|
|||
self._output_charset = charset
|
||||
|
||||
def install(self, str=False, names=None):
|
||||
import __builtin__
|
||||
__builtin__.__dict__['_'] = str and self.ugettext or self.gettext
|
||||
import builtins
|
||||
builtins.__dict__['_'] = str and self.ugettext or self.gettext
|
||||
if hasattr(names, "__contains__"):
|
||||
if "gettext" in names:
|
||||
__builtin__.__dict__['gettext'] = __builtin__.__dict__['_']
|
||||
builtins.__dict__['gettext'] = builtins.__dict__['_']
|
||||
if "ngettext" in names:
|
||||
__builtin__.__dict__['ngettext'] = (str and self.ungettext
|
||||
builtins.__dict__['ngettext'] = (str and self.ungettext
|
||||
or self.ngettext)
|
||||
if "lgettext" in names:
|
||||
__builtin__.__dict__['lgettext'] = self.lgettext
|
||||
builtins.__dict__['lgettext'] = self.lgettext
|
||||
if "lngettext" in names:
|
||||
__builtin__.__dict__['lngettext'] = self.lngettext
|
||||
builtins.__dict__['lngettext'] = self.lngettext
|
||||
|
||||
|
||||
class GNUTranslations(NullTranslations):
|
||||
|
|
|
@ -7,7 +7,7 @@ but random access is not allowed."""
|
|||
|
||||
import struct, sys, time
|
||||
import zlib
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
__all__ = ["GzipFile","open"]
|
||||
|
||||
|
@ -92,7 +92,7 @@ class GzipFile:
|
|||
if mode and 'b' not in mode:
|
||||
mode += 'b'
|
||||
if fileobj is None:
|
||||
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
|
||||
fileobj = self.myfileobj = builtins.open(filename, mode or 'rb')
|
||||
if filename is None:
|
||||
if hasattr(fileobj, 'name'): filename = fileobj.name
|
||||
else: filename = ''
|
||||
|
@ -487,13 +487,13 @@ def _test():
|
|||
print("filename doesn't end in .gz:", repr(arg))
|
||||
continue
|
||||
f = open(arg, "rb")
|
||||
g = __builtin__.open(arg[:-3], "wb")
|
||||
g = builtins.open(arg[:-3], "wb")
|
||||
else:
|
||||
if arg == "-":
|
||||
f = sys.stdin
|
||||
g = GzipFile(filename="", mode="wb", fileobj=sys.stdout)
|
||||
else:
|
||||
f = __builtin__.open(arg, "rb")
|
||||
f = builtins.open(arg, "rb")
|
||||
g = open(arg + ".gz", "wb")
|
||||
while True:
|
||||
chunk = f.read(1024)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import time
|
||||
import re
|
||||
import keyword
|
||||
import __builtin__
|
||||
import builtins
|
||||
from Tkinter import *
|
||||
from idlelib.Delegator import Delegator
|
||||
from idlelib.configHandler import idleConf
|
||||
|
@ -14,7 +14,7 @@ def any(name, alternates):
|
|||
|
||||
def make_pat():
|
||||
kw = r"\b" + any("KEYWORD", keyword.kwlist) + r"\b"
|
||||
builtinlist = [str(name) for name in dir(__builtin__)
|
||||
builtinlist = [str(name) for name in dir(builtins)
|
||||
if not name.startswith('_')]
|
||||
# self.file = open("file") :
|
||||
# 1st 'file' colorized normal, 2nd as builtin, 3rd as string
|
||||
|
|
|
@ -172,7 +172,7 @@ class IdbAdapter:
|
|||
def dict_item(self, did, key):
|
||||
dict = dicttable[did]
|
||||
value = dict[key]
|
||||
value = repr(value) ### can't pickle module '__builtin__'
|
||||
value = repr(value) ### can't pickle module 'builtins'
|
||||
return value
|
||||
|
||||
#----------end class IdbAdapter----------
|
||||
|
|
|
@ -49,7 +49,7 @@ by the way the __import__ hook is used by the Python interpreter.)
|
|||
"""
|
||||
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
import imp
|
||||
import os
|
||||
import sys
|
||||
|
@ -375,18 +375,18 @@ class BasicModuleImporter(_Verbose):
|
|||
# XXX Should this try to clear the module's namespace?
|
||||
|
||||
def install(self):
|
||||
self.save_import_module = __builtin__.__import__
|
||||
if not hasattr(__builtin__, 'unload'):
|
||||
__builtin__.unload = None
|
||||
self.save_unload = __builtin__.unload
|
||||
__builtin__.__import__ = self.import_module
|
||||
__builtin__.unload = self.unload
|
||||
self.save_import_module = builtins.__import__
|
||||
if not hasattr(builtins, 'unload'):
|
||||
builtins.unload = None
|
||||
self.save_unload = builtins.unload
|
||||
builtins.__import__ = self.import_module
|
||||
builtins.unload = self.unload
|
||||
|
||||
def uninstall(self):
|
||||
__builtin__.__import__ = self.save_import_module
|
||||
__builtin__.unload = self.save_unload
|
||||
if not __builtin__.unload:
|
||||
del __builtin__.unload
|
||||
builtins.__import__ = self.save_import_module
|
||||
builtins.unload = self.save_unload
|
||||
if not builtins.unload:
|
||||
del builtins.unload
|
||||
|
||||
|
||||
class ModuleImporter(BasicModuleImporter):
|
||||
|
|
|
@ -13,7 +13,7 @@ Exported classes:
|
|||
# note: avoid importing non-builtin modules
|
||||
import imp ### not available in JPython?
|
||||
import sys
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
# for the DirectoryImporter
|
||||
import struct
|
||||
|
@ -26,7 +26,7 @@ _ModuleType = type(sys) ### doesn't work in JPython...
|
|||
class ImportManager:
|
||||
"Manage the import process."
|
||||
|
||||
def install(self, namespace=vars(__builtin__)):
|
||||
def install(self, namespace=vars(builtins)):
|
||||
"Install this ImportManager into the specified namespace."
|
||||
|
||||
if isinstance(namespace, _ModuleType):
|
||||
|
@ -404,7 +404,7 @@ def _compile(pathname, timestamp):
|
|||
codestring = open(pathname, 'rU').read()
|
||||
if codestring and codestring[-1] != '\n':
|
||||
codestring = codestring + '\n'
|
||||
code = __builtin__.compile(codestring, pathname, 'exec')
|
||||
code = builtins.compile(codestring, pathname, 'exec')
|
||||
|
||||
# try to cache the compiled code
|
||||
try:
|
||||
|
|
|
@ -444,7 +444,7 @@ def getmodule(object, _filename=None):
|
|||
if mainobject is object:
|
||||
return main
|
||||
# Check builtins
|
||||
builtin = sys.modules['__builtin__']
|
||||
builtin = sys.modules['builtins']
|
||||
if hasattr(builtin, object.__name__):
|
||||
builtinobject = getattr(builtin, object.__name__)
|
||||
if builtinobject is object:
|
||||
|
@ -775,7 +775,7 @@ def strseq(object, convert, join=joinseq):
|
|||
|
||||
def formatannotation(annotation, base_module=None):
|
||||
if isinstance(annotation, type):
|
||||
if annotation.__module__ in ('__builtin__', base_module):
|
||||
if annotation.__module__ in ('builtins', base_module):
|
||||
return annotation.__name__
|
||||
return annotation.__module__+'.'+annotation.__name__
|
||||
return repr(annotation)
|
||||
|
|
|
@ -184,7 +184,7 @@ def open(file, mode="r", buffering=None, encoding=None, newline=None,
|
|||
|
||||
|
||||
class OpenWrapper:
|
||||
"""Wrapper for __builtin__.open
|
||||
"""Wrapper for builtins.open
|
||||
|
||||
Trick so that open won't become a bound method when stored
|
||||
as a class variable (as dumbdbm does).
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"""
|
||||
|
||||
import sys, encodings, encodings.aliases
|
||||
from __builtin__ import str as _builtin_str
|
||||
from builtins import str as _builtin_str
|
||||
|
||||
# Try importing the _locale module.
|
||||
#
|
||||
|
|
|
@ -636,13 +636,13 @@ class Option:
|
|||
else:
|
||||
# Allow type objects or builtin type conversion functions
|
||||
# (int, str, etc.) as an alternative to their names. (The
|
||||
# complicated check of __builtin__ is only necessary for
|
||||
# complicated check of builtins is only necessary for
|
||||
# Python 2.1 and earlier, and is short-circuited by the
|
||||
# first check on modern Pythons.)
|
||||
import __builtin__
|
||||
import builtins
|
||||
if ( isinstance(self.type, type) or
|
||||
(hasattr(self.type, "__name__") and
|
||||
getattr(__builtin__, self.type.__name__, None) is self.type) ):
|
||||
getattr(builtins, self.type.__name__, None) is self.type) ):
|
||||
self.type = self.type.__name__
|
||||
|
||||
if self.type == "str":
|
||||
|
|
|
@ -2054,25 +2054,25 @@ highest protocol among opcodes = 0
|
|||
33: ( MARK
|
||||
34: c GLOBAL 'pickletools _Example'
|
||||
56: p PUT 2
|
||||
59: c GLOBAL '__builtin__ object'
|
||||
79: p PUT 3
|
||||
82: N NONE
|
||||
83: t TUPLE (MARK at 33)
|
||||
84: p PUT 4
|
||||
87: R REDUCE
|
||||
88: p PUT 5
|
||||
91: ( MARK
|
||||
92: d DICT (MARK at 91)
|
||||
93: p PUT 6
|
||||
96: V UNICODE 'value'
|
||||
103: p PUT 7
|
||||
106: L LONG 42
|
||||
110: s SETITEM
|
||||
111: b BUILD
|
||||
112: a APPEND
|
||||
113: g GET 5
|
||||
116: a APPEND
|
||||
117: . STOP
|
||||
59: c GLOBAL 'builtins object'
|
||||
76: p PUT 3
|
||||
79: N NONE
|
||||
80: t TUPLE (MARK at 33)
|
||||
81: p PUT 4
|
||||
84: R REDUCE
|
||||
85: p PUT 5
|
||||
88: ( MARK
|
||||
89: d DICT (MARK at 88)
|
||||
90: p PUT 6
|
||||
93: V UNICODE 'value'
|
||||
100: p PUT 7
|
||||
103: L LONG 42
|
||||
107: s SETITEM
|
||||
108: b BUILD
|
||||
109: a APPEND
|
||||
110: g GET 5
|
||||
113: a APPEND
|
||||
114: . STOP
|
||||
highest protocol among opcodes = 0
|
||||
|
||||
>>> dis(pickle.dumps(x, 1))
|
||||
|
@ -2084,23 +2084,23 @@ highest protocol among opcodes = 0
|
|||
31: ( MARK
|
||||
32: c GLOBAL 'pickletools _Example'
|
||||
54: q BINPUT 2
|
||||
56: c GLOBAL '__builtin__ object'
|
||||
76: q BINPUT 3
|
||||
78: N NONE
|
||||
79: t TUPLE (MARK at 31)
|
||||
80: q BINPUT 4
|
||||
82: R REDUCE
|
||||
83: q BINPUT 5
|
||||
85: } EMPTY_DICT
|
||||
86: q BINPUT 6
|
||||
88: X BINUNICODE 'value'
|
||||
98: q BINPUT 7
|
||||
100: K BININT1 42
|
||||
102: s SETITEM
|
||||
103: b BUILD
|
||||
104: h BINGET 5
|
||||
106: e APPENDS (MARK at 3)
|
||||
107: . STOP
|
||||
56: c GLOBAL 'builtins object'
|
||||
73: q BINPUT 3
|
||||
75: N NONE
|
||||
76: t TUPLE (MARK at 31)
|
||||
77: q BINPUT 4
|
||||
79: R REDUCE
|
||||
80: q BINPUT 5
|
||||
82: } EMPTY_DICT
|
||||
83: q BINPUT 6
|
||||
85: X BINUNICODE 'value'
|
||||
95: q BINPUT 7
|
||||
97: K BININT1 42
|
||||
99: s SETITEM
|
||||
100: b BUILD
|
||||
101: h BINGET 5
|
||||
103: e APPENDS (MARK at 3)
|
||||
104: . STOP
|
||||
highest protocol among opcodes = 1
|
||||
|
||||
Try "the canonical" recursive-object test.
|
||||
|
|
|
@ -37,9 +37,9 @@ The next time you launch PythonInterpreter or Python IDE, the patch will take
|
|||
effect.
|
||||
"""
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
_builtin_open = globals().get('_builtin_open', __builtin__.open)
|
||||
_builtin_open = globals().get('_builtin_open', builtins.open)
|
||||
|
||||
def _open_with_typer(*args):
|
||||
file = _builtin_open(*args)
|
||||
|
@ -55,7 +55,7 @@ def _open_with_typer(*args):
|
|||
pass
|
||||
return file
|
||||
|
||||
__builtin__.open = _open_with_typer
|
||||
builtins.open = _open_with_typer
|
||||
|
||||
"""
|
||||
open('test.py')
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
This module has intimate knowledge of the format of .pyc files.
|
||||
"""
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
import imp
|
||||
import marshal
|
||||
import os
|
||||
|
@ -139,7 +139,7 @@ def compile(file, cfile=None, dfile=None, doraise=False):
|
|||
if codestring and codestring[-1] != '\n':
|
||||
codestring = codestring + '\n'
|
||||
try:
|
||||
codeobject = __builtin__.compile(codestring, dfile or file,'exec')
|
||||
codeobject = builtins.compile(codestring, dfile or file,'exec')
|
||||
except Exception as err:
|
||||
py_exc = PyCompileError(err.__class__, err, dfile or file)
|
||||
if doraise:
|
||||
|
|
10
Lib/pydoc.py
10
Lib/pydoc.py
|
@ -52,7 +52,7 @@ Richard Chamberlain, for the first implementation of textdoc.
|
|||
# the current directory is changed with os.chdir(), an incorrect
|
||||
# path will be displayed.
|
||||
|
||||
import sys, imp, os, re, inspect, __builtin__, pkgutil
|
||||
import sys, imp, os, re, inspect, builtins, pkgutil
|
||||
from repr import Repr
|
||||
try:
|
||||
from collections import deque
|
||||
|
@ -787,7 +787,7 @@ class HTMLDoc(Doc):
|
|||
thisclass = attrs[0][2]
|
||||
attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
|
||||
|
||||
if thisclass is __builtin__.object:
|
||||
if thisclass is builtins.object:
|
||||
attrs = inherited
|
||||
continue
|
||||
elif thisclass is object:
|
||||
|
@ -1184,7 +1184,7 @@ class TextDoc(Doc):
|
|||
thisclass = attrs[0][2]
|
||||
attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
|
||||
|
||||
if thisclass is __builtin__.object:
|
||||
if thisclass is builtins.object:
|
||||
attrs = inherited
|
||||
continue
|
||||
elif thisclass is object:
|
||||
|
@ -1450,8 +1450,8 @@ def locate(path, forceload=0):
|
|||
except AttributeError: return None
|
||||
return object
|
||||
else:
|
||||
if hasattr(__builtin__, path):
|
||||
return getattr(__builtin__, path)
|
||||
if hasattr(builtins, path):
|
||||
return getattr(builtins, path)
|
||||
|
||||
# --------------------------------------- interactive interpreter interface
|
||||
|
||||
|
|
10
Lib/repr.py
10
Lib/repr.py
|
@ -2,7 +2,7 @@
|
|||
|
||||
__all__ = ["Repr","repr"]
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
from itertools import islice
|
||||
|
||||
class Repr:
|
||||
|
@ -84,16 +84,16 @@ class Repr:
|
|||
return '{%s}' % (s,)
|
||||
|
||||
def repr_str(self, x, level):
|
||||
s = __builtin__.repr(x[:self.maxstring])
|
||||
s = builtins.repr(x[:self.maxstring])
|
||||
if len(s) > self.maxstring:
|
||||
i = max(0, (self.maxstring-3)//2)
|
||||
j = max(0, self.maxstring-3-i)
|
||||
s = __builtin__.repr(x[:i] + x[len(x)-j:])
|
||||
s = builtins.repr(x[:i] + x[len(x)-j:])
|
||||
s = s[:i] + '...' + s[len(s)-j:]
|
||||
return s
|
||||
|
||||
def repr_int(self, x, level):
|
||||
s = __builtin__.repr(x) # XXX Hope this isn't too slow...
|
||||
s = builtins.repr(x) # XXX Hope this isn't too slow...
|
||||
if len(s) > self.maxlong:
|
||||
i = max(0, (self.maxlong-3)//2)
|
||||
j = max(0, self.maxlong-3-i)
|
||||
|
@ -102,7 +102,7 @@ class Repr:
|
|||
|
||||
def repr_instance(self, x, level):
|
||||
try:
|
||||
s = __builtin__.repr(x)
|
||||
s = builtins.repr(x)
|
||||
# Bugs in x.__repr__() can cause arbitrary
|
||||
# exceptions -- then make up something
|
||||
except Exception:
|
||||
|
|
|
@ -33,7 +33,7 @@ used, and this module (and the readline module) are silently inactive.
|
|||
|
||||
"""
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
import __main__
|
||||
|
||||
__all__ = ["Completer"]
|
||||
|
@ -97,7 +97,7 @@ class Completer:
|
|||
matches = []
|
||||
n = len(text)
|
||||
for list in [keyword.kwlist,
|
||||
__builtin__.__dict__,
|
||||
builtins.__dict__,
|
||||
self.namespace]:
|
||||
for word in list:
|
||||
if word[:n] == text and word != "__builtins__":
|
||||
|
|
18
Lib/site.py
18
Lib/site.py
|
@ -60,7 +60,7 @@ ImportError exception, it is silently ignored.
|
|||
|
||||
import sys
|
||||
import os
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
|
||||
def makepath(*paths):
|
||||
|
@ -251,8 +251,8 @@ def setquit():
|
|||
except:
|
||||
pass
|
||||
raise SystemExit(code)
|
||||
__builtin__.quit = Quitter('quit')
|
||||
__builtin__.exit = Quitter('exit')
|
||||
builtins.quit = Quitter('quit')
|
||||
builtins.exit = Quitter('exit')
|
||||
|
||||
|
||||
class _Printer(object):
|
||||
|
@ -319,18 +319,18 @@ class _Printer(object):
|
|||
break
|
||||
|
||||
def setcopyright():
|
||||
"""Set 'copyright' and 'credits' in __builtin__"""
|
||||
__builtin__.copyright = _Printer("copyright", sys.copyright)
|
||||
"""Set 'copyright' and 'credits' in builtins"""
|
||||
builtins.copyright = _Printer("copyright", sys.copyright)
|
||||
if sys.platform[:4] == 'java':
|
||||
__builtin__.credits = _Printer(
|
||||
builtins.credits = _Printer(
|
||||
"credits",
|
||||
"Jython is maintained by the Jython developers (www.jython.org).")
|
||||
else:
|
||||
__builtin__.credits = _Printer("credits", """\
|
||||
builtins.credits = _Printer("credits", """\
|
||||
Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
|
||||
for supporting Python development. See www.python.org for more information.""")
|
||||
here = os.path.dirname(os.__file__)
|
||||
__builtin__.license = _Printer(
|
||||
builtins.license = _Printer(
|
||||
"license", "See http://www.python.org/%.3s/license.html" % sys.version,
|
||||
["LICENSE.txt", "LICENSE"],
|
||||
[os.path.join(here, os.pardir), here, os.curdir])
|
||||
|
@ -350,7 +350,7 @@ class _Helper(object):
|
|||
return pydoc.help(*args, **kwds)
|
||||
|
||||
def sethelper():
|
||||
__builtin__.help = _Helper()
|
||||
builtins.help = _Helper()
|
||||
|
||||
def aliasmbcs():
|
||||
"""On Windows, some default encodings are not provided by Python,
|
||||
|
|
|
@ -153,8 +153,8 @@ class Au_read:
|
|||
|
||||
def __init__(self, f):
|
||||
if type(f) == type(''):
|
||||
import __builtin__
|
||||
f = __builtin__.open(f, 'rb')
|
||||
import builtins
|
||||
f = builtins.open(f, 'rb')
|
||||
self.initfp(f)
|
||||
|
||||
def __del__(self):
|
||||
|
@ -282,8 +282,8 @@ class Au_write:
|
|||
|
||||
def __init__(self, f):
|
||||
if type(f) == type(''):
|
||||
import __builtin__
|
||||
f = __builtin__.open(f, 'wb')
|
||||
import builtins
|
||||
f = builtins.open(f, 'wb')
|
||||
self.initfp(f)
|
||||
|
||||
def __del__(self):
|
||||
|
|
|
@ -65,7 +65,7 @@ except ImportError:
|
|||
# from tarfile import *
|
||||
__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"]
|
||||
|
||||
from __builtin__ import open as _open # Since 'open' is TarFile.open
|
||||
from builtins import open as _open # Since 'open' is TarFile.open
|
||||
|
||||
#---------------------------------------------------------
|
||||
# tar constants
|
||||
|
|
|
@ -91,7 +91,7 @@ class use_metaclass(object, metaclass=metaclass):
|
|||
|
||||
DATA0 = (
|
||||
b'(lp0\nL0\naL1\naF2.0\nac'
|
||||
b'__builtin__\ncomplex\n'
|
||||
b'builtins\ncomplex\n'
|
||||
b'p1\n(F3.0\nF0.0\ntp2\nRp'
|
||||
b'3\naL1\naL-1\naL255\naL-'
|
||||
b'255\naL-256\naL65535\na'
|
||||
|
@ -100,8 +100,8 @@ DATA0 = (
|
|||
b'647\naL-2147483648\na('
|
||||
b'Vabc\np4\ng4\nccopy_reg'
|
||||
b'\n_reconstructor\np5\n('
|
||||
b'c__main__\nC\np6\nc__bu'
|
||||
b'iltin__\nobject\np7\nNt'
|
||||
b'c__main__\nC\np6\ncbu'
|
||||
b'iltins\nobject\np7\nNt'
|
||||
b'p8\nRp9\n(dp10\nVfoo\np1'
|
||||
b'1\nL1\nsVbar\np12\nL2\nsb'
|
||||
b'g9\ntp13\nag13\naL5\na.'
|
||||
|
@ -118,7 +118,7 @@ DATA0_DIS = """\
|
|||
12: a APPEND
|
||||
13: F FLOAT 2.0
|
||||
18: a APPEND
|
||||
19: c GLOBAL '__builtin__ complex'
|
||||
19: c GLOBAL 'builtins complex'
|
||||
40: p PUT 1
|
||||
43: ( MARK
|
||||
44: F FLOAT 3.0
|
||||
|
@ -159,7 +159,7 @@ DATA0_DIS = """\
|
|||
199: ( MARK
|
||||
200: c GLOBAL '__main__ C'
|
||||
212: p PUT 6
|
||||
215: c GLOBAL '__builtin__ object'
|
||||
215: c GLOBAL 'builtins object'
|
||||
235: p PUT 7
|
||||
238: N NONE
|
||||
239: t TUPLE (MARK at 199)
|
||||
|
@ -191,15 +191,15 @@ highest protocol among opcodes = 0
|
|||
"""
|
||||
|
||||
DATA1 = (
|
||||
b']q\x00(K\x00K\x01G@\x00\x00\x00\x00\x00\x00\x00c__'
|
||||
b'builtin__\ncomplex\nq\x01'
|
||||
b']q\x00(K\x00K\x01G@\x00\x00\x00\x00\x00\x00\x00c'
|
||||
b'builtins\ncomplex\nq\x01'
|
||||
b'(G@\x08\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00t'
|
||||
b'q\x02Rq\x03K\x01J\xff\xff\xff\xffK\xffJ\x01\xff\xff\xffJ'
|
||||
b'\x00\xff\xff\xffM\xff\xffJ\x01\x00\xff\xffJ\x00\x00\xff\xffJ\xff\xff'
|
||||
b'\xff\x7fJ\x01\x00\x00\x80J\x00\x00\x00\x80(X\x03\x00\x00\x00ab'
|
||||
b'cq\x04h\x04ccopy_reg\n_reco'
|
||||
b'nstructor\nq\x05(c__main'
|
||||
b'__\nC\nq\x06c__builtin__\n'
|
||||
b'__\nC\nq\x06cbuiltins\n'
|
||||
b'object\nq\x07Ntq\x08Rq\t}q\n('
|
||||
b'X\x03\x00\x00\x00fooq\x0bK\x01X\x03\x00\x00\x00bar'
|
||||
b'q\x0cK\x02ubh\ttq\rh\rK\x05e.'
|
||||
|
@ -213,7 +213,7 @@ DATA1_DIS = """\
|
|||
4: K BININT1 0
|
||||
6: K BININT1 1
|
||||
8: G BINFLOAT 2.0
|
||||
17: c GLOBAL '__builtin__ complex'
|
||||
17: c GLOBAL 'builtins complex'
|
||||
38: q BINPUT 1
|
||||
40: ( MARK
|
||||
41: G BINFLOAT 3.0
|
||||
|
@ -242,7 +242,7 @@ DATA1_DIS = """\
|
|||
152: ( MARK
|
||||
153: c GLOBAL '__main__ C'
|
||||
165: q BINPUT 6
|
||||
167: c GLOBAL '__builtin__ object'
|
||||
167: c GLOBAL 'builtins object'
|
||||
187: q BINPUT 7
|
||||
189: N NONE
|
||||
190: t TUPLE (MARK at 152)
|
||||
|
@ -272,7 +272,7 @@ highest protocol among opcodes = 1
|
|||
|
||||
DATA2 = (
|
||||
b'\x80\x02]q\x00(K\x00K\x01G@\x00\x00\x00\x00\x00\x00\x00c'
|
||||
b'__builtin__\ncomplex\n'
|
||||
b'builtins\ncomplex\n'
|
||||
b'q\x01G@\x08\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x00'
|
||||
b'\x86q\x02Rq\x03K\x01J\xff\xff\xff\xffK\xffJ\x01\xff\xff\xff'
|
||||
b'J\x00\xff\xff\xffM\xff\xffJ\x01\x00\xff\xffJ\x00\x00\xff\xffJ\xff'
|
||||
|
@ -292,7 +292,7 @@ DATA2_DIS = """\
|
|||
6: K BININT1 0
|
||||
8: K BININT1 1
|
||||
10: G BINFLOAT 2.0
|
||||
19: c GLOBAL '__builtin__ complex'
|
||||
19: c GLOBAL 'builtins complex'
|
||||
40: q BINPUT 1
|
||||
42: G BINFLOAT 3.0
|
||||
51: G BINFLOAT 0.0
|
||||
|
|
|
@ -7,10 +7,10 @@ class TestSpecifics(unittest.TestCase):
|
|||
def test_debug_assignment(self):
|
||||
# catch assignments to __debug__
|
||||
self.assertRaises(SyntaxError, compile, '__debug__ = 1', '?', 'single')
|
||||
import __builtin__
|
||||
prev = __builtin__.__debug__
|
||||
setattr(__builtin__, '__debug__', 'sure')
|
||||
setattr(__builtin__, '__debug__', prev)
|
||||
import builtins
|
||||
prev = builtins.__debug__
|
||||
setattr(builtins, '__debug__', 'sure')
|
||||
setattr(builtins, '__debug__', prev)
|
||||
|
||||
def test_argument_handling(self):
|
||||
# detect duplicate positional and keyword arguments
|
||||
|
|
|
@ -288,7 +288,7 @@ class ExceptionTests(unittest.TestCase):
|
|||
raise
|
||||
else:
|
||||
# Verify module name
|
||||
self.assertEquals(type(e).__module__, '__builtin__')
|
||||
self.assertEquals(type(e).__module__, 'builtins')
|
||||
# Verify no ref leaks in Exc_str()
|
||||
s = str(e)
|
||||
for checkArgName in expected:
|
||||
|
|
|
@ -146,13 +146,13 @@ trggrkg zrffntr pngnybt yvoenel.''')
|
|||
t.install(str=True)
|
||||
eq(_('mullusk'), 'bacon')
|
||||
# Test installation of other methods
|
||||
import __builtin__
|
||||
import builtins
|
||||
t.install(str=True, names=["gettext", "lgettext"])
|
||||
eq(_, t.ugettext)
|
||||
eq(__builtin__.gettext, t.ugettext)
|
||||
eq(builtins.gettext, t.ugettext)
|
||||
eq(lgettext, t.lgettext)
|
||||
del __builtin__.gettext
|
||||
del __builtin__.lgettext
|
||||
del builtins.gettext
|
||||
del builtins.lgettext
|
||||
|
||||
|
||||
class GettextTestCase2(GettextBaseTest):
|
||||
|
|
|
@ -29,7 +29,7 @@ modfile = normcase(modfile)
|
|||
def revise(filename, *args):
|
||||
return (normcase(filename),) + args
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
try:
|
||||
1/0
|
||||
|
@ -197,7 +197,7 @@ class TestRetrievingSourceCode(GetSourceBase):
|
|||
# Do it again (check the caching isn't broken)
|
||||
self.assertEqual(inspect.getmodule(mod.StupidGit.abuse), mod)
|
||||
# Check a builtin
|
||||
self.assertEqual(inspect.getmodule(str), sys.modules["__builtin__"])
|
||||
self.assertEqual(inspect.getmodule(str), sys.modules["builtins"])
|
||||
# Check filename override
|
||||
self.assertEqual(inspect.getmodule(None, modfile), mod)
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ from test import test_support
|
|||
from itertools import repeat
|
||||
from collections import deque
|
||||
from UserList import UserList
|
||||
from __builtin__ import len as _len
|
||||
from builtins import len as _len
|
||||
|
||||
n = 10
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import unittest
|
||||
import __builtin__
|
||||
import builtins
|
||||
import warnings
|
||||
from test.test_support import run_unittest
|
||||
import os
|
||||
|
@ -23,7 +23,7 @@ class ExceptionClassTests(unittest.TestCase):
|
|||
def test_inheritance(self):
|
||||
# Make sure the inheritance hierarchy matches the documentation
|
||||
exc_set = set()
|
||||
for object_ in __builtin__.__dict__.values():
|
||||
for object_ in builtins.__dict__.values():
|
||||
try:
|
||||
if issubclass(object_, BaseException):
|
||||
exc_set.add(object_.__name__)
|
||||
|
@ -35,7 +35,7 @@ class ExceptionClassTests(unittest.TestCase):
|
|||
try:
|
||||
superclass_name = inheritance_tree.readline().rstrip()
|
||||
try:
|
||||
last_exc = getattr(__builtin__, superclass_name)
|
||||
last_exc = getattr(builtins, superclass_name)
|
||||
except AttributeError:
|
||||
self.fail("base class %s not a built-in" % superclass_name)
|
||||
self.failUnless(superclass_name in exc_set,
|
||||
|
@ -58,7 +58,7 @@ class ExceptionClassTests(unittest.TestCase):
|
|||
left_bracket = exc_name.index('[')
|
||||
exc_name = exc_name[:left_bracket-1] # cover space
|
||||
try:
|
||||
exc = getattr(__builtin__, exc_name)
|
||||
exc = getattr(builtins, exc_name)
|
||||
except AttributeError:
|
||||
self.fail("%s not a built-in exception" % exc_name)
|
||||
if last_depth < depth:
|
||||
|
|
|
@ -6,7 +6,7 @@ executing have not been removed.
|
|||
"""
|
||||
import unittest
|
||||
from test.test_support import TestSkipped, TestFailed, run_unittest, TESTFN
|
||||
import __builtin__
|
||||
import builtins
|
||||
import os
|
||||
import sys
|
||||
import encodings
|
||||
|
@ -162,7 +162,7 @@ class ImportSideEffectTests(unittest.TestCase):
|
|||
# as an absolute path.
|
||||
# Handled by abs__file__()
|
||||
site.abs__file__()
|
||||
for module in (sys, os, __builtin__):
|
||||
for module in (sys, os, builtins):
|
||||
try:
|
||||
self.failUnless(os.path.isabs(module.__file__), repr(module))
|
||||
except AttributeError:
|
||||
|
@ -187,18 +187,18 @@ class ImportSideEffectTests(unittest.TestCase):
|
|||
pass
|
||||
|
||||
def test_setting_quit(self):
|
||||
# 'quit' and 'exit' should be injected into __builtin__
|
||||
self.failUnless(hasattr(__builtin__, "quit"))
|
||||
self.failUnless(hasattr(__builtin__, "exit"))
|
||||
# 'quit' and 'exit' should be injected into builtins
|
||||
self.failUnless(hasattr(builtins, "quit"))
|
||||
self.failUnless(hasattr(builtins, "exit"))
|
||||
|
||||
def test_setting_copyright(self):
|
||||
# 'copyright' and 'credits' should be in __builtin__
|
||||
self.failUnless(hasattr(__builtin__, "copyright"))
|
||||
self.failUnless(hasattr(__builtin__, "credits"))
|
||||
# 'copyright' and 'credits' should be in builtins
|
||||
self.failUnless(hasattr(builtins, "copyright"))
|
||||
self.failUnless(hasattr(builtins, "credits"))
|
||||
|
||||
def test_setting_help(self):
|
||||
# 'help' should be set in __builtin__
|
||||
self.failUnless(hasattr(__builtin__, "help"))
|
||||
# 'help' should be set in builtins
|
||||
self.failUnless(hasattr(builtins, "help"))
|
||||
|
||||
def test_aliasing_mbcs(self):
|
||||
if sys.platform == "win32":
|
||||
|
|
|
@ -15,22 +15,22 @@ class SysModuleTest(unittest.TestCase):
|
|||
sys.displayhook = self.orig_displayhook
|
||||
|
||||
def test_original_displayhook(self):
|
||||
import __builtin__
|
||||
import builtins
|
||||
out = io.StringIO()
|
||||
sys.stdout = out
|
||||
|
||||
dh = sys.__displayhook__
|
||||
|
||||
self.assertRaises(TypeError, dh)
|
||||
if hasattr(__builtin__, "_"):
|
||||
del __builtin__._
|
||||
if hasattr(builtins, "_"):
|
||||
del builtins._
|
||||
|
||||
dh(None)
|
||||
self.assertEqual(out.getvalue(), "")
|
||||
self.assert_(not hasattr(__builtin__, "_"))
|
||||
self.assert_(not hasattr(builtins, "_"))
|
||||
dh(42)
|
||||
self.assertEqual(out.getvalue(), "42\n")
|
||||
self.assertEqual(__builtin__._, 42)
|
||||
self.assertEqual(builtins._, 42)
|
||||
|
||||
del sys.stdout
|
||||
self.assertRaises(RuntimeError, dh, 42)
|
||||
|
|
|
@ -65,7 +65,7 @@ class TracebackCases(unittest.TestCase):
|
|||
err = traceback.format_exception_only(X, X())
|
||||
self.assertEqual(len(err), 1)
|
||||
str_value = '<unprintable %s object>' % X.__name__
|
||||
if X.__module__ in ('__main__', '__builtin__'):
|
||||
if X.__module__ in ('__main__', 'builtins'):
|
||||
str_name = X.__name__
|
||||
else:
|
||||
str_name = '.'.join([X.__module__, X.__name__])
|
||||
|
|
|
@ -168,7 +168,7 @@ def format_exception_only(etype, value):
|
|||
|
||||
stype = etype.__name__
|
||||
smod = etype.__module__
|
||||
if smod not in ("__main__", "__builtin__"):
|
||||
if smod not in ("__main__", "builtins"):
|
||||
stype = smod + '.' + stype
|
||||
|
||||
if not issubclass(etype, SyntaxError):
|
||||
|
|
|
@ -71,7 +71,7 @@ The close() method is called automatically when the class instance
|
|||
is destroyed.
|
||||
"""
|
||||
|
||||
import __builtin__
|
||||
import builtins
|
||||
|
||||
__all__ = ["open", "openfp", "Error"]
|
||||
|
||||
|
@ -156,7 +156,7 @@ class Wave_read:
|
|||
def __init__(self, f):
|
||||
self._i_opened_the_file = None
|
||||
if isinstance(f, str):
|
||||
f = __builtin__.open(f, 'rb')
|
||||
f = builtins.open(f, 'rb')
|
||||
self._i_opened_the_file = f
|
||||
# else, assume it is an open file object already
|
||||
try:
|
||||
|
@ -300,7 +300,7 @@ class Wave_write:
|
|||
def __init__(self, f):
|
||||
self._i_opened_the_file = None
|
||||
if isinstance(f, str):
|
||||
f = __builtin__.open(f, 'wb')
|
||||
f = builtins.open(f, 'wb')
|
||||
self._i_opened_the_file = f
|
||||
try:
|
||||
self.initfp(f)
|
||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import with_statement
|
|||
|
||||
import keyword
|
||||
import exceptions
|
||||
import __builtin__
|
||||
import builtins
|
||||
from string import Template
|
||||
|
||||
comment_header = '''" Auto-generated Vim syntax file for Python.
|
||||
|
@ -39,7 +39,7 @@ exception_names = sorted(exc for exc in dir(exceptions)
|
|||
# nothing that comes with modules (e.g., __name__), so just exclude anything in
|
||||
# the 'exceptions' module since we want to ignore exceptions *and* what any
|
||||
# module would have
|
||||
builtin_names = sorted(builtin for builtin in dir(__builtin__)
|
||||
builtin_names = sorted(builtin for builtin in dir(builtins)
|
||||
if builtin not in dir(exceptions))
|
||||
|
||||
escapes = (r'+\\[abfnrtv\'"\\]+', r'"\\\o\{1,3}"', r'"\\x\x\{2}"',
|
||||
|
|
|
@ -6002,7 +6002,7 @@ PyMODINIT_FUNC init_bsddb(void)
|
|||
* using one base class. */
|
||||
PyDict_SetItemString(d, "KeyError", PyExc_KeyError);
|
||||
{
|
||||
PyObject *builtin_mod = PyImport_ImportModule("__builtin__");
|
||||
PyObject *builtin_mod = PyImport_ImportModule("builtins");
|
||||
PyDict_SetItemString(d, "__builtins__", builtin_mod);
|
||||
}
|
||||
PyRun_String("class DBNotFoundError(DBError, KeyError): pass\n"
|
||||
|
|
|
@ -186,13 +186,13 @@ normalizeUserObj(PyObject *obj)
|
|||
modname = PyModule_GetName(mod);
|
||||
if (modname == NULL) {
|
||||
PyErr_Clear();
|
||||
modname = "__builtin__";
|
||||
modname = "builtins";
|
||||
}
|
||||
}
|
||||
else {
|
||||
modname = "__builtin__";
|
||||
modname = "builtins";
|
||||
}
|
||||
if (strcmp(modname, "__builtin__") != 0)
|
||||
if (strcmp(modname, "builtins") != 0)
|
||||
return PyUnicode_FromFormat("<%s.%s>",
|
||||
modname,
|
||||
fn->m_ml->ml_name);
|
||||
|
|
|
@ -48,7 +48,7 @@ struct _inittab _PyImport_Inittab[] = {
|
|||
|
||||
/* These entries are here for sys.builtin_module_names */
|
||||
{"__main__", NULL},
|
||||
{"__builtin__", NULL},
|
||||
{"builtins", NULL},
|
||||
{"sys", NULL},
|
||||
|
||||
/* This lives in gcmodule.c */
|
||||
|
|
|
@ -1849,7 +1849,7 @@ _PyExc_Init(void)
|
|||
PRE_INIT(UnicodeWarning)
|
||||
PRE_INIT(BytesWarning)
|
||||
|
||||
bltinmod = PyImport_ImportModule("__builtin__");
|
||||
bltinmod = PyImport_ImportModule("builtins");
|
||||
if (bltinmod == NULL)
|
||||
Py_FatalError("exceptions bootstrapping error.");
|
||||
bdict = PyModule_GetDict(bltinmod);
|
||||
|
|
|
@ -1961,7 +1961,7 @@ is_default_cmp(PyObject *cmpfunc)
|
|||
module = PyUnicode_AsString(f->m_module);
|
||||
if (module == NULL)
|
||||
return 0;
|
||||
if (strcmp(module, "__builtin__") != 0)
|
||||
if (strcmp(module, "builtins") != 0)
|
||||
return 0;
|
||||
if (strcmp(f->m_ml->ml_name, "cmp") != 0)
|
||||
return 0;
|
||||
|
|
|
@ -112,7 +112,7 @@ type_module(PyTypeObject *type, void *context)
|
|||
if (s != NULL)
|
||||
return PyUnicode_FromStringAndSize(
|
||||
type->tp_name, (Py_ssize_t)(s - type->tp_name));
|
||||
return PyUnicode_FromString("__builtin__");
|
||||
return PyUnicode_FromString("builtins");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -397,7 +397,7 @@ type_repr(PyTypeObject *type)
|
|||
else
|
||||
kind = "type";
|
||||
|
||||
if (mod != NULL && PyUnicode_CompareWithASCIIString(mod, "__builtin__"))
|
||||
if (mod != NULL && PyUnicode_CompareWithASCIIString(mod, "builtins"))
|
||||
rtn = PyUnicode_FromFormat("<%s '%U.%U'>", kind, mod, name);
|
||||
else
|
||||
rtn = PyUnicode_FromFormat("<%s '%s'>", kind, type->tp_name);
|
||||
|
@ -2455,7 +2455,7 @@ object_repr(PyObject *self)
|
|||
name = type_name(type, NULL);
|
||||
if (name == NULL)
|
||||
return NULL;
|
||||
if (mod != NULL && PyUnicode_CompareWithASCIIString(mod, "__builtin__"))
|
||||
if (mod != NULL && PyUnicode_CompareWithASCIIString(mod, "builtins"))
|
||||
rtn = PyUnicode_FromFormat("<%U.%U object at %p>", mod, name, self);
|
||||
else
|
||||
rtn = PyUnicode_FromFormat("<%s object at %p>",
|
||||
|
|
|
@ -654,7 +654,7 @@ static int prepare_script_environment(HINSTANCE hPython)
|
|||
if (!Py_BuildValue || !PyArg_ParseTuple || !PyErr_Format)
|
||||
return 1;
|
||||
|
||||
mod = PyImport_ImportModule("__builtin__");
|
||||
mod = PyImport_ImportModule("builtins");
|
||||
if (mod) {
|
||||
int i;
|
||||
g_PyExc_ValueError = PyObject_GetAttrString(mod, "ValueError");
|
||||
|
|
|
@ -143,7 +143,7 @@ struct _inittab _PyImport_Inittab[] = {
|
|||
|
||||
/* These entries are here for sys.builtin_module_names */
|
||||
{"__main__", NULL},
|
||||
{"__builtin__", NULL},
|
||||
{"builtins", NULL},
|
||||
{"sys", NULL},
|
||||
|
||||
{"_types", init_types},
|
||||
|
|
|
@ -156,7 +156,7 @@ struct _inittab _PyImport_Inittab[] = {
|
|||
|
||||
/* These entries are here for sys.builtin_module_names */
|
||||
{"__main__", NULL},
|
||||
{"__builtin__", NULL},
|
||||
{"builtins", NULL},
|
||||
{"sys", NULL},
|
||||
|
||||
/* This lives in gcmodule.c */
|
||||
|
|
|
@ -94,7 +94,7 @@ struct _inittab _PyImport_Inittab[] = {
|
|||
|
||||
/* These entries are here for sys.builtin_module_names */
|
||||
{"__main__", NULL},
|
||||
{"__builtin__", NULL},
|
||||
{"builtins", NULL},
|
||||
{"sys", NULL},
|
||||
|
||||
/* Sentinel */
|
||||
|
|
|
@ -1851,7 +1851,7 @@ PyObject *
|
|||
_PyBuiltin_Init(void)
|
||||
{
|
||||
PyObject *mod, *dict, *debug;
|
||||
mod = Py_InitModule4("__builtin__", builtin_methods,
|
||||
mod = Py_InitModule4("builtins", builtin_methods,
|
||||
builtin_doc, (PyObject *)NULL,
|
||||
PYTHON_API_VERSION);
|
||||
if (mod == NULL)
|
||||
|
@ -1859,7 +1859,7 @@ _PyBuiltin_Init(void)
|
|||
dict = PyModule_GetDict(mod);
|
||||
|
||||
#ifdef Py_TRACE_REFS
|
||||
/* __builtin__ exposes a number of statically allocated objects
|
||||
/* "builtins" exposes a number of statically allocated objects
|
||||
* that, before this code was added in 2.3, never showed up in
|
||||
* the list of "all objects" maintained by Py_TRACE_REFS. As a
|
||||
* result, programs leaking references to None and False (etc)
|
||||
|
|
|
@ -645,7 +645,7 @@ PyErr_WriteUnraisable(PyObject *obj)
|
|||
else {
|
||||
char* modstr = PyUnicode_AsString(moduleName);
|
||||
if (modstr &&
|
||||
strcmp(modstr, "__builtin__") != 0)
|
||||
strcmp(modstr, "builtins") != 0)
|
||||
{
|
||||
PyFile_WriteString(modstr, f);
|
||||
PyFile_WriteString(".", f);
|
||||
|
|
|
@ -400,11 +400,11 @@ PyImport_Cleanup(void)
|
|||
deleted *last* of all, they would come too late in the normal
|
||||
destruction order. Sigh. */
|
||||
|
||||
value = PyDict_GetItemString(modules, "__builtin__");
|
||||
value = PyDict_GetItemString(modules, "builtins");
|
||||
if (value != NULL && PyModule_Check(value)) {
|
||||
dict = PyModule_GetDict(value);
|
||||
if (Py_VerboseFlag)
|
||||
PySys_WriteStderr("# clear __builtin__._\n");
|
||||
PySys_WriteStderr("# clear builtins._\n");
|
||||
PyDict_SetItemString(dict, "_", Py_None);
|
||||
}
|
||||
value = PyDict_GetItemString(modules, "sys");
|
||||
|
@ -436,11 +436,11 @@ PyImport_Cleanup(void)
|
|||
PyDict_SetItemString(modules, "__main__", Py_None);
|
||||
}
|
||||
|
||||
/* The special treatment of __builtin__ here is because even
|
||||
/* The special treatment of "builtins" here is because even
|
||||
when it's not referenced as a module, its dictionary is
|
||||
referenced by almost every module's __builtins__. Since
|
||||
deleting a module clears its dictionary (even if there are
|
||||
references left to it), we need to delete the __builtin__
|
||||
references left to it), we need to delete the "builtins"
|
||||
module last. Likewise, we don't delete sys until the very
|
||||
end because it is implicitly referenced (e.g. by print).
|
||||
|
||||
|
@ -451,7 +451,7 @@ PyImport_Cleanup(void)
|
|||
re-imported. */
|
||||
|
||||
/* Next, repeatedly delete modules with a reference count of
|
||||
one (skipping __builtin__ and sys) and delete them */
|
||||
one (skipping builtins and sys) and delete them */
|
||||
do {
|
||||
ndone = 0;
|
||||
pos = 0;
|
||||
|
@ -460,7 +460,7 @@ PyImport_Cleanup(void)
|
|||
continue;
|
||||
if (PyUnicode_Check(key) && PyModule_Check(value)) {
|
||||
name = PyUnicode_AsString(key);
|
||||
if (strcmp(name, "__builtin__") == 0)
|
||||
if (strcmp(name, "builtins") == 0)
|
||||
continue;
|
||||
if (strcmp(name, "sys") == 0)
|
||||
continue;
|
||||
|
@ -474,12 +474,12 @@ PyImport_Cleanup(void)
|
|||
}
|
||||
} while (ndone > 0);
|
||||
|
||||
/* Next, delete all modules (still skipping __builtin__ and sys) */
|
||||
/* Next, delete all modules (still skipping builtins and sys) */
|
||||
pos = 0;
|
||||
while (PyDict_Next(modules, &pos, &key, &value)) {
|
||||
if (PyUnicode_Check(key) && PyModule_Check(value)) {
|
||||
name = PyUnicode_AsString(key);
|
||||
if (strcmp(name, "__builtin__") == 0)
|
||||
if (strcmp(name, "builtins") == 0)
|
||||
continue;
|
||||
if (strcmp(name, "sys") == 0)
|
||||
continue;
|
||||
|
@ -490,7 +490,7 @@ PyImport_Cleanup(void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Next, delete sys and __builtin__ (in that order) */
|
||||
/* Next, delete sys and builtins (in that order) */
|
||||
value = PyDict_GetItemString(modules, "sys");
|
||||
if (value != NULL && PyModule_Check(value)) {
|
||||
if (Py_VerboseFlag)
|
||||
|
@ -498,12 +498,12 @@ PyImport_Cleanup(void)
|
|||
_PyModule_Clear(value);
|
||||
PyDict_SetItemString(modules, "sys", Py_None);
|
||||
}
|
||||
value = PyDict_GetItemString(modules, "__builtin__");
|
||||
value = PyDict_GetItemString(modules, "builtins");
|
||||
if (value != NULL && PyModule_Check(value)) {
|
||||
if (Py_VerboseFlag)
|
||||
PySys_WriteStderr("# cleanup __builtin__\n");
|
||||
PySys_WriteStderr("# cleanup builtins\n");
|
||||
_PyModule_Clear(value);
|
||||
PyDict_SetItemString(modules, "__builtin__", Py_None);
|
||||
PyDict_SetItemString(modules, "builtins", Py_None);
|
||||
}
|
||||
|
||||
/* Finally, clear and delete the modules directory */
|
||||
|
@ -2491,7 +2491,7 @@ PyImport_Import(PyObject *module_name)
|
|||
/* No globals -- use standard builtins, and fake globals */
|
||||
PyErr_Clear();
|
||||
|
||||
builtins = PyImport_ImportModuleLevel("__builtin__",
|
||||
builtins = PyImport_ImportModuleLevel("builtins",
|
||||
NULL, NULL, NULL, 0);
|
||||
if (builtins == NULL)
|
||||
return NULL;
|
||||
|
|
|
@ -211,7 +211,7 @@ Py_InitializeEx(int install_sigs)
|
|||
|
||||
bimod = _PyBuiltin_Init();
|
||||
if (bimod == NULL)
|
||||
Py_FatalError("Py_Initialize: can't initialize __builtin__");
|
||||
Py_FatalError("Py_Initialize: can't initialize builtins modules");
|
||||
interp->builtins = PyModule_GetDict(bimod);
|
||||
if (interp->builtins == NULL)
|
||||
Py_FatalError("Py_Initialize: can't initialize builtins dict");
|
||||
|
@ -243,7 +243,7 @@ Py_InitializeEx(int install_sigs)
|
|||
_PyImport_Init();
|
||||
|
||||
/* phase 2 of builtins */
|
||||
_PyImport_FixupExtension("__builtin__", "__builtin__");
|
||||
_PyImport_FixupExtension("builtins", "builtins");
|
||||
|
||||
_PyImportHooks_Init();
|
||||
|
||||
|
@ -572,7 +572,7 @@ Py_NewInterpreter(void)
|
|||
interp->modules = PyDict_New();
|
||||
interp->modules_reloading = PyDict_New();
|
||||
|
||||
bimod = _PyImport_FindExtension("__builtin__", "__builtin__");
|
||||
bimod = _PyImport_FindExtension("builtins", "builtins");
|
||||
if (bimod != NULL) {
|
||||
interp->builtins = PyModule_GetDict(bimod);
|
||||
if (interp->builtins == NULL)
|
||||
|
@ -682,7 +682,7 @@ initmain(void)
|
|||
Py_FatalError("can't create __main__ module");
|
||||
d = PyModule_GetDict(m);
|
||||
if (PyDict_GetItemString(d, "__builtins__") == NULL) {
|
||||
PyObject *bimod = PyImport_ImportModule("__builtin__");
|
||||
PyObject *bimod = PyImport_ImportModule("builtins");
|
||||
if (bimod == NULL ||
|
||||
PyDict_SetItemString(d, "__builtins__", bimod) != 0)
|
||||
Py_FatalError("can't add __builtins__ to __main__");
|
||||
|
@ -717,7 +717,7 @@ initsite(void)
|
|||
}
|
||||
}
|
||||
|
||||
/* Initialize sys.stdin, stdout, stderr and __builtin__.open */
|
||||
/* Initialize sys.stdin, stdout, stderr and builtins.open */
|
||||
static int
|
||||
initstdio(void)
|
||||
{
|
||||
|
@ -739,7 +739,7 @@ initstdio(void)
|
|||
}
|
||||
Py_DECREF(m);
|
||||
|
||||
if (!(bimod = PyImport_ImportModule("__builtin__"))) {
|
||||
if (!(bimod = PyImport_ImportModule("builtins"))) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -750,7 +750,7 @@ initstdio(void)
|
|||
goto error;
|
||||
}
|
||||
|
||||
/* Set __builtin__.open */
|
||||
/* Set builtins.open */
|
||||
if (PyObject_SetAttrString(bimod, "open", wrapper) == -1) {
|
||||
goto error;
|
||||
}
|
||||
|
@ -1362,7 +1362,7 @@ PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb)
|
|||
}
|
||||
else {
|
||||
char* modstr = PyUnicode_AsString(moduleName);
|
||||
if (modstr && strcmp(modstr, "__builtin__"))
|
||||
if (modstr && strcmp(modstr, "builtins"))
|
||||
{
|
||||
err = PyFile_WriteString(modstr, f);
|
||||
err += PyFile_WriteString(".", f);
|
||||
|
|
|
@ -72,10 +72,10 @@ sys_displayhook(PyObject *self, PyObject *o)
|
|||
PyObject *outf;
|
||||
PyInterpreterState *interp = PyThreadState_GET()->interp;
|
||||
PyObject *modules = interp->modules;
|
||||
PyObject *builtins = PyDict_GetItemString(modules, "__builtin__");
|
||||
PyObject *builtins = PyDict_GetItemString(modules, "builtins");
|
||||
|
||||
if (builtins == NULL) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "lost __builtin__");
|
||||
PyErr_SetString(PyExc_RuntimeError, "lost builtins module");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ sys_displayhook(PyObject *self, PyObject *o)
|
|||
PyDoc_STRVAR(displayhook_doc,
|
||||
"displayhook(object) -> None\n"
|
||||
"\n"
|
||||
"Print an object to sys.stdout and also save it in __builtin__.\n"
|
||||
"Print an object to sys.stdout and also save it in builtins.\n"
|
||||
);
|
||||
|
||||
static PyObject *
|
||||
|
@ -896,7 +896,7 @@ __excepthook__ -- the original excepthook; don't touch!\n\
|
|||
\n\
|
||||
Functions:\n\
|
||||
\n\
|
||||
displayhook() -- print an object to the screen, and save it in __builtin__._\n\
|
||||
displayhook() -- print an object to the screen, and save it in builtins._\n\
|
||||
excepthook() -- print an exception and its traceback to sys.stderr\n\
|
||||
exc_info() -- return thread-safe information about the current exception\n\
|
||||
exit() -- exit the interpreter by raising SystemExit\n\
|
||||
|
|
|
@ -3,7 +3,7 @@ import re
|
|||
|
||||
# Write the config.c file
|
||||
|
||||
never = ['marshal', '__main__', '__builtin__', 'sys', 'exceptions']
|
||||
never = ['marshal', '__main__', 'builtins', 'sys', 'exceptions']
|
||||
|
||||
def makeconfig(infp, outfp, modules, with_ifdef=0):
|
||||
m1 = re.compile('-- ADDMODULE MARKER 1 --')
|
||||
|
|
Loading…
Reference in New Issue