Recorded merge of revisions 78024 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78024 | georg.brandl | 2010-02-06 19:44:44 +0100 (Sa, 06 Feb 2010) | 1 line

  #5341: fix "builtin" where used as an adjective ("built-in" is correct).
........
This commit is contained in:
Georg Brandl 2010-02-06 18:46:57 +00:00
parent 3102bd9afe
commit c4a55fccab
14 changed files with 46 additions and 43 deletions

View file

@ -354,7 +354,7 @@ optionally followed by an import of the module::
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
/* Add a builtin module, before Py_Initialize */ /* Add a built-in module, before Py_Initialize */
PyImport_AppendInittab("spam", PyInit_spam); PyImport_AppendInittab("spam", PyInit_spam);
/* Pass argv[0] to the Python interpreter */ /* Pass argv[0] to the Python interpreter */

View file

@ -649,9 +649,10 @@ order to remind you of that fact, it does not return the sorted list. This way,
you won't be fooled into accidentally overwriting a list when you need a sorted you won't be fooled into accidentally overwriting a list when you need a sorted
copy but also need to keep the unsorted version around. copy but also need to keep the unsorted version around.
In Python 2.4 a new builtin -- :func:`sorted` -- has been added. This function In Python 2.4 a new built-in function -- :func:`sorted` -- has been added.
creates a new list from a provided iterable, sorts it and returns it. For This function creates a new list from a provided iterable, sorts it and returns
example, here's how to iterate over the keys of a dictionary in sorted order:: it. For example, here's how to iterate over the keys of a dictionary in sorted
order::
for key in sorted(mydict): for key in sorted(mydict):
... # do whatever with mydict[key]... ... # do whatever with mydict[key]...

View file

@ -441,7 +441,7 @@ extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``).
Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)? Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)?
---------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------
In Python 2.2, you can inherit from builtin classes such as :class:`int`, In Python 2.2, you can inherit from built-in classes such as :class:`int`,
:class:`list`, :class:`dict`, etc. :class:`list`, :class:`dict`, etc.
The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index.html) The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index.html)

View file

@ -25,10 +25,10 @@ your topic of interest will usually find something helpful.
Where is the math.py (socket.py, regex.py, etc.) source file? Where is the math.py (socket.py, regex.py, etc.) source file?
------------------------------------------------------------- -------------------------------------------------------------
If you can't find a source file for a module it may be a builtin or dynamically If you can't find a source file for a module it may be a built-in or
loaded module implemented in C, C++ or other compiled language. In this case dynamically loaded module implemented in C, C++ or other compiled language.
you may not have the source file or it may be something like mathmodule.c, In this case you may not have the source file or it may be something like
somewhere in a C source directory (not on the Python Path). mathmodule.c, somewhere in a C source directory (not on the Python Path).
There are (at least) three kinds of modules in Python: There are (at least) three kinds of modules in Python:
@ -361,7 +361,7 @@ therefore atomic from the point of view of a Python program.
In theory, this means an exact accounting requires an exact understanding of the In theory, this means an exact accounting requires an exact understanding of the
PVM bytecode implementation. In practice, it means that operations on shared PVM bytecode implementation. In practice, it means that operations on shared
variables of builtin data types (ints, lists, dicts, etc) that "look atomic" variables of built-in data types (ints, lists, dicts, etc) that "look atomic"
really are. really are.
For example, the following operations are all atomic (L, L1, L2 are lists, D, For example, the following operations are all atomic (L, L1, L2 are lists, D,
@ -504,9 +504,9 @@ I can't seem to use os.read() on a pipe created with os.popen(); why?
:func:`os.read` is a low-level function which takes a file descriptor, a small :func:`os.read` is a low-level function which takes a file descriptor, a small
integer representing the opened file. :func:`os.popen` creates a high-level integer representing the opened file. :func:`os.popen` creates a high-level
file object, the same type returned by the builtin :func:`open` function. Thus, file object, the same type returned by the built-in :func:`open` function.
to read n bytes from a pipe p created with :func:`os.popen`, you need to use Thus, to read n bytes from a pipe p created with :func:`os.popen`, you need to
``p.read(n)``. use ``p.read(n)``.
.. XXX update to use subprocess. See the :ref:`subprocess-replacements` section. .. XXX update to use subprocess. See the :ref:`subprocess-replacements` section.
@ -607,10 +607,11 @@ Python file objects are a high-level layer of abstraction on top of C streams,
which in turn are a medium-level layer of abstraction on top of (among other which in turn are a medium-level layer of abstraction on top of (among other
things) low-level C file descriptors. things) low-level C file descriptors.
For most file objects you create in Python via the builtin ``open`` constructor, For most file objects you create in Python via the built-in ``open``
``f.close()`` marks the Python file object as being closed from Python's point constructor, ``f.close()`` marks the Python file object as being closed from
of view, and also arranges to close the underlying C stream. This also happens Python's point of view, and also arranges to close the underlying C stream.
automatically in f's destructor, when f becomes garbage. This also happens automatically in ``f``'s destructor, when ``f`` becomes
garbage.
But stdin, stdout and stderr are treated specially by Python, because of the But stdin, stdout and stderr are treated specially by Python, because of the
special status also given to them by C. Running ``sys.stdout.close()`` marks special status also given to them by C. Running ``sys.stdout.close()`` marks

View file

@ -178,9 +178,10 @@ it is much shorter and far faster to use ::
L2 = list(L1[:3]) # "list" is redundant if L1 is a list. L2 = list(L1[:3]) # "list" is redundant if L1 is a list.
Note that the functionally-oriented builtins such as :func:`map`, :func:`zip`, Note that the functionally-oriented built-in functions such as :func:`map`,
and friends can be a convenient accelerator for loops that perform a single :func:`zip`, and friends can be a convenient accelerator for loops that
task. For example to pair the elements of two lists together:: perform a single task. For example to pair the elements of two lists
together::
>>> list(zip([1, 2, 3], [4, 5, 6])) >>> list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)] [(1, 4), (2, 5), (3, 6)]
@ -203,7 +204,7 @@ manipulating strings, use the ``replace()`` and the ``format()`` :ref:`methods
on string objects <string-methods>`. Use regular expressions only when you're on string objects <string-methods>`. Use regular expressions only when you're
not dealing with constant string patterns. not dealing with constant string patterns.
Be sure to use the :meth:`list.sort` builtin method to do sorting, and see the Be sure to use the :meth:`list.sort` built-in method to do sorting, and see the
`sorting mini-HOWTO <http://wiki.python.org/moin/HowTo/Sorting>`_ for examples `sorting mini-HOWTO <http://wiki.python.org/moin/HowTo/Sorting>`_ for examples
of moderately advanced usage. :meth:`list.sort` beats other techniques for of moderately advanced usage. :meth:`list.sort` beats other techniques for
sorting in all but the most extreme circumstances. sorting in all but the most extreme circumstances.
@ -361,7 +362,7 @@ Though a bit surprising at first, a moment's consideration explains this. On
one hand, requiring :keyword:`global` for assigned variables provides a bar one hand, requiring :keyword:`global` for assigned variables provides a bar
against unintended side-effects. On the other hand, if ``global`` was required against unintended side-effects. On the other hand, if ``global`` was required
for all global references, you'd be using ``global`` all the time. You'd have for all global references, you'd be using ``global`` all the time. You'd have
to declare as global every reference to a builtin function or to a component of to declare as global every reference to a built-in function or to a component of
an imported module. This clutter would defeat the usefulness of the ``global`` an imported module. This clutter would defeat the usefulness of the ``global``
declaration for identifying side-effects. declaration for identifying side-effects.
@ -1033,7 +1034,7 @@ trailing newline from a string.
How do I iterate over a sequence in reverse order? How do I iterate over a sequence in reverse order?
-------------------------------------------------- --------------------------------------------------
Use the :func:`reversed` builtin function, which is new in Python 2.4:: Use the :func:`reversed` built-in function, which is new in Python 2.4::
for x in reversed(sequence): for x in reversed(sequence):
... # do something with x... ... # do something with x...

View file

@ -315,7 +315,7 @@ Glossary
iterator iterator
An object representing a stream of data. Repeated calls to the iterator's An object representing a stream of data. Repeated calls to the iterator's
:meth:`__next__` (or passing it to the builtin function) :func:`next` :meth:`__next__` (or passing it to the built-in function) :func:`next`
method return successive items in the stream. When no more data are method return successive items in the stream. When no more data are
available a :exc:`StopIteration` exception is raised instead. At this available a :exc:`StopIteration` exception is raised instead. At this
point, the iterator object is exhausted and any further calls to its point, the iterator object is exhausted and any further calls to its

View file

@ -52,10 +52,10 @@ One of the most awful question asked on the newsgroup is why this code::
f.read() f.read()
does not work. Of course, it works just fine (assuming you have a file called does not work. Of course, it works just fine (assuming you have a file called
"www".) But it does not work if somewhere in the module, the statement ``from os "www".) But it does not work if somewhere in the module, the statement ``from
import *`` is present. The :mod:`os` module has a function called :func:`open` os import *`` is present. The :mod:`os` module has a function called
which returns an integer. While it is very useful, shadowing builtins is one of :func:`open` which returns an integer. While it is very useful, shadowing a
its least useful properties. builtin is one of its least useful properties.
Remember, you can never know for sure what names a module exports, so either Remember, you can never know for sure what names a module exports, so either
take what you need --- ``from module import name1, name2``, or keep them in the take what you need --- ``from module import name1, name2``, or keep them in the

View file

@ -241,8 +241,8 @@ The following exceptions are the exceptions that are usually raised.
.. exception:: StopIteration .. exception:: StopIteration
Raised by builtin :func:`next` and an :term:`iterator`\'s :meth:`__next__` Raised by built-in function :func:`next` and an :term:`iterator`\'s
method to signal that there are no further values. :meth:`__next__` method to signal that there are no further values.
.. exception:: SyntaxError .. exception:: SyntaxError

View file

@ -43,7 +43,7 @@ The :mod:`gc` module provides the following functions:
:exc:`ValueError` is raised if the generation number is invalid. The number of :exc:`ValueError` is raised if the generation number is invalid. The number of
unreachable objects found is returned. unreachable objects found is returned.
The free lists maintained for a number of builtin types are cleared The free lists maintained for a number of built-in types are cleared
whenever a full collection or collection of the highest generation (2) whenever a full collection or collection of the highest generation (2)
is run. Not all items in some free lists may be freed due to the is run. Not all items in some free lists may be freed due to the
particular implementation, in particular :class:`float`. particular implementation, in particular :class:`float`.

View file

@ -87,7 +87,7 @@ attributes:
| frame | f_back | next outer frame object | | frame | f_back | next outer frame object |
| | | (this frame's caller) | | | | (this frame's caller) |
+-----------+-----------------+---------------------------+ +-----------+-----------------+---------------------------+
| | f_builtins | built-in namespace seen | | | f_builtins | builtins namespace seen |
| | | by this frame | | | | by this frame |
+-----------+-----------------+---------------------------+ +-----------+-----------------+---------------------------+
| | f_code | code object being | | | f_code | code object being |

View file

@ -953,7 +953,7 @@ definition, function definition, or :keyword:`import` statement.
**Programmer's note:** the :keyword:`global` is a directive to the parser. It **Programmer's note:** the :keyword:`global` is a directive to the parser. It
applies only to code parsed at the same time as the :keyword:`global` statement. applies only to code parsed at the same time as the :keyword:`global` statement.
In particular, a :keyword:`global` statement contained in a string or code In particular, a :keyword:`global` statement contained in a string or code
object supplied to the builtin :func:`exec` function does not affect the code object supplied to the built-in :func:`exec` function does not affect the code
block *containing* the function call, and code contained in such a string is block *containing* the function call, and code contained in such a string is
unaffected by :keyword:`global` statements in the code containing the function unaffected by :keyword:`global` statements in the code containing the function
call. The same applies to the :func:`eval` and :func:`compile` functions. call. The same applies to the :func:`eval` and :func:`compile` functions.

View file

@ -717,7 +717,7 @@ object that defines the method :meth:`__next__` which accesses elements in the
container one at a time. When there are no more elements, :meth:`__next__` container one at a time. When there are no more elements, :meth:`__next__`
raises a :exc:`StopIteration` exception which tells the :keyword:`for` loop to raises a :exc:`StopIteration` exception which tells the :keyword:`for` loop to
terminate. You can call the :meth:`__next__` method using the :func:`next` terminate. You can call the :meth:`__next__` method using the :func:`next`
builtin; this example shows how it all works:: built-in function; this example shows how it all works::
>>> s = 'abc' >>> s = 'abc'
>>> it = iter(s) >>> it = iter(s)

View file

@ -270,7 +270,7 @@ changed.
single "euro" character. (Of course, this change only affects raw single "euro" character. (Of course, this change only affects raw
string literals; the euro character is ``'\u20ac'`` in Python 3.0.) string literals; the euro character is ``'\u20ac'`` in Python 3.0.)
* The builtin :class:`basestring` abstract type was removed. Use * The built-in :class:`basestring` abstract type was removed. Use
:class:`str` instead. The :class:`str` and :class:`bytes` types :class:`str` instead. The :class:`str` and :class:`bytes` types
don't have functionality enough in common to warrant a shared base don't have functionality enough in common to warrant a shared base
class. The ``2to3`` tool (see below) replaces every occurrence of class. The ``2to3`` tool (see below) replaces every occurrence of
@ -383,10 +383,10 @@ New Syntax
literals (``0720``) are gone. literals (``0720``) are gone.
* New binary literals, e.g. ``0b1010`` (already in 2.6), and * New binary literals, e.g. ``0b1010`` (already in 2.6), and
there is a new corresponding builtin function, :func:`bin`. there is a new corresponding built-in function, :func:`bin`.
* Bytes literals are introduced with a leading ``b`` or ``B``, and * Bytes literals are introduced with a leading ``b`` or ``B``, and
there is a new corresponding builtin function, :func:`bytes`. there is a new corresponding built-in function, :func:`bytes`.
Changed Syntax Changed Syntax
-------------- --------------
@ -506,7 +506,7 @@ consulted for longer descriptions.
* :ref:`pep-3116`. The :mod:`io` module is now the standard way of * :ref:`pep-3116`. The :mod:`io` module is now the standard way of
doing file I/O, and the initial values of :data:`sys.stdin`, doing file I/O, and the initial values of :data:`sys.stdin`,
:data:`sys.stdout` and :data:`sys.stderr` are now instances of :data:`sys.stdout` and :data:`sys.stderr` are now instances of
:class:`io.TextIOBase`. The builtin :func:`open` function is now an :class:`io.TextIOBase`. The built-in :func:`open` function is now an
alias for :func:`io.open` and has additional keyword arguments alias for :func:`io.open` and has additional keyword arguments
*encoding*, *errors*, *newline* and *closefd*. Also note that an *encoding*, *errors*, *newline* and *closefd*. Also note that an
invalid *mode* argument now raises :exc:`ValueError`, not invalid *mode* argument now raises :exc:`ValueError`, not
@ -521,7 +521,7 @@ consulted for longer descriptions.
* :ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the * :ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the
:mod:`collections` module plays a somewhat more prominent role in :mod:`collections` module plays a somewhat more prominent role in
the language now, and builtin collection types like :class:`dict` the language now, and built-in collection types like :class:`dict`
and :class:`list` conform to the :class:`collections.MutableMapping` and :class:`list` conform to the :class:`collections.MutableMapping`
and :class:`collections.MutableSequence` ABCs, respectively. and :class:`collections.MutableSequence` ABCs, respectively.
@ -615,7 +615,7 @@ review:
Some other changes to standard library modules, not covered by Some other changes to standard library modules, not covered by
:pep:`3108`: :pep:`3108`:
* Killed :mod:`sets`. Use the builtin :func:`set` function. * Killed :mod:`sets`. Use the built-in :func:`set` class.
* Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, * Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`,
:func:`sys.exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :func:`sys.exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`,
@ -795,8 +795,8 @@ Builtins
It raises :exc:`EOFError` if the input is terminated prematurely. It raises :exc:`EOFError` if the input is terminated prematurely.
To get the old behavior of :func:`input`, use ``eval(input())``. To get the old behavior of :func:`input`, use ``eval(input())``.
* A new builtin :func:`next` was added to call the :meth:`__next__` * A new built-in function :func:`next` was added to call the
method on an object. :meth:`__next__` method on an object.
* Moved :func:`intern` to :func:`sys.intern`. * Moved :func:`intern` to :func:`sys.intern`.

View file

@ -85,7 +85,7 @@ Support was also added for third-party tools like `PyYAML <http://pyyaml.org/>`_
PEP 378: Format Specifier for Thousands Separator PEP 378: Format Specifier for Thousands Separator
================================================= =================================================
The builtin :func:`format` function and the :meth:`str.format` method use The built-in :func:`format` function and the :meth:`str.format` method use
a mini-language that now includes a simple, non-locale aware way to format a mini-language that now includes a simple, non-locale aware way to format
a number with a thousands separator. That provides a way to humanize a a number with a thousands separator. That provides a way to humanize a
program's output, improving its professional appearance and readability:: program's output, improving its professional appearance and readability::